(57)【要約】  計数装置（１）の画像取得部（１１）は、静止した部品を撮影する撮影装置（２）から撮影画像を取得する。二値化部（１２）は、画像取得部（１１）が取得した撮影画像を二値化する。面積算出部（１４）は、二値化部（１２）が二値化した撮影画像のピクセル分布を分類した集団の面積を算出する。部品数算出部（１５）は、面積算出部（１４）が算出した集団の面積から集団ごとの部品の数を算出し、集団ごとの部品の数を合計し、撮影画像に写っている部品の総数を示す部品数情報を生成する。情報出力部（１６）は、部品数算出部（１５）が生成した部品数情報を出力する。
2020183837.tif 000002
【特許請求の範囲】
【請求項１】
静止した物品を撮影する撮影装置、および、前記撮影装置が撮影した物品を計数する計数装置を備える計数システムであって、
前記計数装置は、
前記撮影装置から撮影画像を取得する画像取得部と、
前記画像取得部が取得した前記撮影画像を二値化する二値化部と、
前記二値化部が二値化した前記撮影画像のピクセル分布を分類した集団の面積を算出する面積算出部と、
前記面積算出部が算出した集団の面積から集団ごとの物品の数を算出し、前記集団ごとの物品の数を合計し、前記撮影画像に写っている物品の総数を示す物品数情報を生成する物品数算出部と、
前記物品数算出部が生成した前記物品数情報を出力する情報出力部と、
を有する計数システム。
【請求項２】
前記二値化部は、判別分析法で二値化の閾値を算出する請求項１に記載の計数システム。
【請求項３】
前記計数装置は、前記二値化部が二値化した前記撮影画像を縮小する縮小処理部をさらに有し、
前記面積算出部は、前記縮小処理部が縮小した前記撮影画像のピクセル分布を分類した集団の面積を算出する、
請求項１または２の計数システム。
【請求項４】
ユーザが使用するユーザ端末をさらに備え、
前記物品数算出部は、前記面積算出部が算出した集団の面積から物品の数を算出できない計数不可の集団がある場合には、前記計数不可の集団を示す計数不可情報を生成し、
前記情報出力部は、前記物品数算出部が生成した前記計数不可情報を前記ユーザ端末に送信し、
前記物品数算出部は、前記計数不可の集団の物品の数を示す数値情報を前記ユーザ端末から受信すると、前記数値情報が示す前記計数不可の集団の物品の数を採用して、前記撮影画像に写っている物品の総数を算出する、
請求項１から３のいずれか１項に記載の計数システム。
【請求項５】
前記計数装置は、
集団の画像と当該集団の物品の数とを対応付けた集団画像情報を記憶する集団画像記憶部をさらに有し、
前記物品数算出部は、前記計数不可の集団があって、前記計数不可の集団の画像と集団の画像が類似する前記集団画像情報がある場合には、類似する集団の画像に対応付けられた物品の数を、前記計数不可の集団の物品の数として採用して、前記撮影画像に写っている物品の総数を算出し、前記計数不可の集団の画像と集団の画像が類似する前記集団画像情報がない場合には、前記数値情報が示す前記計数不可の集団の物品の数を採用して、前記撮影画像に写っている物品の総数を算出し、前記計数不可の集団の画像と前記数値情報が示す前記計数不可の集団の物品の数とを対応付けて前記集団画像情報を生成する、
請求項４に記載の計数システム。
【請求項６】
前記静止した物品の重なりを崩して計数可能にする均し動作を行う均し動作装置をさらに備え、
前記計数装置は、
前記面積算出部が算出した集団の面積から物品の数を算出できない計数不可の集団がある場合に、前記均し動作装置に前記均し動作を指示する均し動作指示部をさらに有する、
請求項１から３のいずれか１項に記載の計数システム。
【請求項７】
前記計数装置は、
物品を識別する情報と当該物品の前記撮影画像とを対応付けた撮影実績情報を記憶する撮影実績記憶部と、
出庫する物品を識別する情報を含む出庫情報を取得し、前記出庫する物品を識別する情報と前記物品を識別する情報が一致する前記撮影実績情報がある場合には、前記出庫する物品を識別する情報と一致する前記物品を識別する情報に対応付けられた前記撮影画像と前記画像取得部が取得した前記撮影画像とを比較して、前記出庫する物品と前記撮影画像に写っている物品とが一致するか否かを判定し、一致しない場合に警告を示すエラー情報を生成し、前記出庫する物品を識別する情報と前記物品を識別する情報が一致する前記撮影実績情報がない場合には、前記出庫する物品を識別する情報と前記画像取得部が取得した前記撮影画像とを対応付けて前記撮影実績情報を生成する正否判定部と、
をさらに有し、
前記情報出力部は、前記正否判定部が生成した前記エラー情報を出力する、
請求項１から６のいずれか１項に記載の計数システム。
【請求項８】
前記計数装置は、
前記物品数算出部が算出した物品の総数を、当該物品の在庫数から減算して、物品の在庫数を示す在庫情報を更新する在庫更新部をさらに有する、
請求項１から７のいずれか１項に記載の計数システム。
【請求項９】
前記計数装置は、
計数範囲を規定するマーカを示すマーカ情報を記憶するマーカ記憶部をさらに有し、
前記二値化部は、前記撮影画像から前記マーカ情報が示すマーカを検出して計数範囲を特定し、計数範囲の前記撮影画像を二値化する、
請求項１から８のいずれか１項に記載の計数システム。
【請求項１０】
前記撮影画像および前記物品数情報を含むデータを取得するデータ取得部と、
前記物品数情報が示す前記撮影画像に写っている物品の総数の正否を示す正否情報を取得する正否情報取得部と、
前記撮影画像および前記物品数情報を含むデータ、ならびに、前記正否情報に基づいて生成されるデータセットから、前記計数装置の計数結果または前記計数装置の計数結果の正否を学習する学習部と、
をさらに有する、
請求項１から９のいずれか１項に記載の計数システム。
【請求項１１】
前記計数装置が計数する物品は、基板に実装される部品であって、
前記計数装置が計数した前記部品を部品供給部に収納し、前記部品供給部に収納された前記部品を前記基板に配置する部品配置装置をさらに備え、
前記情報出力部は、前記物品数情報を前記部品配置装置に出力し、
前記部品配置装置は、前記物品数情報が示す前記撮影画像に写っている部品の総数に基づいて、前記部品供給部に一定数の前記部品を収納する、
請求項１から１０のいずれか１項に記載の計数システム。
【請求項１２】
静止した物品を撮影する撮影装置から撮影画像を取得する画像取得部と、
前記画像取得部が取得した前記撮影画像を二値化する二値化部と、
前記二値化部が二値化した前記撮影画像のピクセル分布を分類した集団の面積を算出する面積算出部と、
前記面積算出部が算出した集団の面積から集団ごとの物品の数を算出し、前記集団ごとの物品の数を合計し、前記撮影画像に写っている物品の総数を示す物品数情報を生成する物品数算出部と、
前記物品数算出部が生成した前記物品数情報を出力する情報出力部と、
を備える計数装置。
【請求項１３】
請求項１２に記載の計数装置の計数結果または前記計数装置の計数結果の正否を学習する機械学習装置であって、
前記撮影画像および前記物品数情報を含むデータを取得するデータ取得部と、
前記物品数情報が示す前記撮影画像に写っている物品の総数の正否を示す正否情報を取得する正否情報取得部と、
前記撮影画像および前記物品数情報を含むデータ、ならびに、前記正否情報に基づいて生成されるデータセットから、前記計数装置の計数結果または前記計数装置の計数結果の正否を学習する学習部と、
を備える機械学習装置。
【請求項１４】
撮影装置が実行する、
静止した物品を撮影する撮影ステップと、
計数装置が実行する、
前記撮影装置が撮影した撮影画像を二値化する二値化ステップと、
前記二値化ステップで二値化した前記撮影画像のピクセル分布を分類した集団の面積を算出する面積算出ステップと、
前記面積算出ステップで算出した集団の面積から集団ごとの物品の数を算出し、前記集団ごとの物品の数を合計し、前記撮影画像に写っている物品の総数を示す物品数情報を生成する物品数算出ステップと、
前記物品数算出ステップで生成した物品数情報を出力する情報出力ステップと、
を備える計数方法。
【請求項１５】
撮影装置が実行する、
静止した部品を撮影する撮影ステップと、
計数装置が実行する、
前記撮影装置が撮影した撮影画像を二値化する二値化ステップと、
前記二値化ステップで二値化した前記撮影画像のピクセル分布を分類した集団の面積を算出する面積算出ステップと、
前記面積算出ステップで算出した集団の面積から集団ごとの前記部品の数を算出し、前記集団ごとの前記部品の数を合計し、前記撮影画像に写っている前記部品の総数を算出する部品数算出ステップと、
部品配置装置が実行する、
前記部品数算出ステップで算出された前記撮影画像に写っている前記部品の総数に基づいて、部品供給部に一定数の前記部品を収納する収納ステップと、
前記部品供給部に収納された前記部品を基板に配置する配置ステップと、
を備える部品配置方法。
【請求項１６】
コンピュータを、
静止した物品を撮影した撮影画像を二値化する二値化部、
前記二値化部が二値化した前記撮影画像のピクセル分布を分類した集団の面積を算出する面積算出部、
前記面積算出部が算出した集団の面積から集団ごとの物品の数を算出し、前記集団ごとの物品の数を合計し、前記撮影画像に写っている物品の総数を示す物品数情報を生成する物品数算出部、および、
前記物品数算出部が生成した物品数情報を出力する情報出力部、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、計数システム、計数装置、機械学習装置、計数方法、部品配置方法、および、プログラムに関する。
【背景技術】
【０００２】
物品を計数する技術として、物品を撮影した撮影画像と、物品の基準となる画像とを比較して、撮影画像から物品を検出して計数する技術がある。しかしながら、この技術では、物品の基準となる画像を記憶しておく必要がある。そこで、物品の基準となる画像を記憶しておく必要がない物品の計数装置として、特許文献１には、連続して移送される物品を撮影し、撮影した画像を二値化して物品の面積から物品を計数する計数装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−１２４１４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の計数装置は、コンベアで連続して移送される物品を撮影し、物品の存在していない区切り線と区切り線との間に存在する物品の数を計測する。したがって、コンベア上の物品を区切り線が存在する配置にしなければならない。また、単位時間あたりに移送できる物品の数が制限され、計数に時間がかかる。予め決められた計測範囲の物品を計数する構成にしたとしても、計測範囲の境界を跨いで物品が存在した場合、正確に計数できない問題がある。【０００５】
本開示は、上記のような問題点に鑑みてなされたものであり、撮影画像から物品を計数する計数装置において、物品の基準となる画像を記憶しておく必要がなく、かつ、より短時間で正確な計数を可能にすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本開示に係る計数システムは、静止した物品を撮影する撮影装置、および、撮影装置が撮影した物品を計数する計数装置を備える。計数装置は、画像取得部と、二値化部と、面積算出部と、物品数算出部と、情報出力部とを有する。画像取得部は、撮影装置から撮影画像を取得する。二値化部は、画像取得部が取得した撮影画像を二値化する。面積算出部は、二値化部が二値化した撮影画像のピクセル分布を分類した集団の面積を算出する。物品数算出部は、面積算出部が算出した集団の面積から集団ごとの物品の数を算出し、集団ごとの物品の数を合計し、撮影画像に写っている物品の総数を示す物品数情報を生成する。情報出力部は、物品数算出部が生成した物品数情報を出力する。
【発明の効果】
【０００７】
本開示によれば、撮影画像から物品を計数する計数装置が、静止した物品を撮影した撮影画像を二値化し、二値化した撮影画像のピクセル分布を分類した集団の面積に基づいて物品を計数することで、物品の基準となる画像を記憶しておく必要がなく、かつ、より短時間で正確な計数が可能になる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１に係る計数システムの構成を示す図
【図２】実施の形態１に係る計数装置の機能構成例を示す図
【図３Ａ】実施の形態１に係る計数不可情報の例を示す図
【図３Ｂ】実施の形態１に係る部品数情報の例を示す図
【図４】実施の形態１に係る計数装置が実行する計数処理を示すフローチャート
【図５】実施の形態２に係る計数装置の機能構成例を示す図
【図６】実施の形態１に係る集団画像情報の例を示す図
【図７】実施の形態２に係る計数装置が実行する計数処理を示すフローチャート
【図８】実施の形態３に係る計数システムの構成を示す図
【図９】実施の形態３に係る計数装置の機能構成例を示す図
【図１０】実施の形態３に係る計数装置が実行する計数処理を示すフローチャート
【図１１】実施の形態４に係る計数システムの構成を示す図
【図１２】実施の形態４に係る計数装置の機能構成例を示す図
【図１３】実施の形態４に係る部品数情報の例を示す図
【図１４】実施の形態４に係る計数装置が実行する計数処理を示すフローチャート
【図１５】実施の形態５に係る計数システムの構成を示す図
【図１６】実施の形態５に係る計数装置の機能構成例を示す図
【図１７】実施の形態５に係る計数装置が実行する計数処理を示すフローチャート
【図１８】実施の形態６に係る計数システムの構成を示す図
【図１９】実施の形態６に係る計数装置および機械学習装置の機能構成例を示す図
【図２０】実施の形態６に係る機械学習装置が生成するニューラルネットワークの例を示す図
【図２１】実施の形態６に係る計数システムの構成の他の例を示す図
【図２２】実施の形態７に係る計数システムの構成の他の例を示す図
【図２３】実施の形態７に係る部品配置装置が実行する計数処理を示すフローチャート
【図２４】実施の形態１から７に係る計数装置のハードウェア構成の一例を示す図
【発明を実施するための形態】
【０００９】
以下に、本実施の形態に係る計数システム、計数装置、機械学習装置、計数方法、部品配置方法、および、プログラムについて図面を参照して詳細に説明する。なお、図中同一または相当する部分には同じ符号を付す。本実施の形態は、部品の計数を行う計数システムの例である。
【００１０】
（実施の形態１）
図１に示すように、計数システム１００は、部品Ｐの計数を行う計数装置１と、撮影範囲Ｃを撮影する撮影装置２と、ユーザが使用するユーザ端末３とを備える。計数装置１と、撮影装置２およびユーザ端末３とは、有線または無線で接続している。
【００１１】
ユーザが撮影範囲Ｃに部品Ｐを投入すると、部品Ｐが静止した状態で撮影装置２が撮影範囲Ｃを撮影し、計数装置１に撮影画像を送信する。撮影装置２が撮影するタイミングは、ユーザが撮影装置２に撮影指示を入力したタイミングでもよいし、撮影装置２が撮影範囲Ｃに計数対象の部品Ｐが投入されたことを検知したタイミングでもよい。計数装置１は、撮影装置２から受信した撮影画像を二値化する。計数装置１は、二値化した撮影画像のピクセル分布を集団に分類する。計数装置１は、集団の面積から集団ごとの部品Ｐの数を算出して合計し、撮影画像に写っている部品Ｐの総数を算出する。計数装置１は、算出した部品Ｐの総数を示す部品数情報を生成し、ユーザ端末３に送信する。部品数情報は、物品数情報の例である。
【００１２】
計数装置１は、集団の面積から部品Ｐの数を算出できない計数不可の集団がある場合には、計数不可の集団を示す計数不可情報を生成し、ユーザ端末３に送信する。ユーザ端末３は計数装置１から受信した計数不可情報を表示する。ユーザは、ユーザ端末３に表示された計数不可情報が示す計数不可の集団の部品Ｐの数を目視で数える。ユーザは、計数不可の集団の部品Ｐの数を示す数値情報をユーザ端末３に入力する。ユーザ端末３は、入力された数値情報を計数装置１に送信する。計数装置１は、ユーザ端末３から数値情報を受信すると、数値情報が示す計数不可の集団の部品Ｐの数を採用して、撮影画像に写っている部品Ｐの総数を算出する。なお、部品Ｐの形状が球体である場合のように部品Ｐが重ならない場合は、計数不可の集団は発生しない。計数装置１は、算出した部品Ｐの総数を示す部品数情報を生成し、ユーザ端末３に送信する。ユーザ端末３は計数装置１から受信した部品数情報を画面表示、音声出力などの方法で出力する。これにより、ユーザは投入した部品Ｐの数を把握できる。
【００１３】
ここで、図２を用いて実施の形態１に係る計数装置１の機能構成について説明する。図２に示すように、計数装置１は、機能構成として、撮影装置２から撮影画像を受信する画像取得部１１と、撮影画像を二値化する二値化部１２と、二値化した撮影画像を縮小する縮小処理部１３と、縮小した撮影画像のピクセル分布を分類した集団の面積を算出する面積算出部１４と、集団の面積から部品Ｐの総数を算出する部品数算出部１５と、ユーザ端末３に情報を出力する情報出力部１６とを備える。
【００１４】
画像取得部１１は、撮影装置２から撮影画像を受信する。撮影画像はデジタルデータである。二値化部１２は、画像取得部１１が受信した撮影画像をグレースケールに変換し、ガウシアンフィルタ、移動平均化フィルタなどの平滑化フィルタにより、ノイズを除去する。二値化部１２は、ノイズが除去されたグレースケールの撮影画像に対し、閾値を算出する。二値化の閾値の算出する方法として、２クラスのクラスタリングによって繰り返し計算を行いながら閾値を算出する方法、分離度が最大となる閾値を算出する判別分析法などがある。判別分析法によれば、繰り返し計算を行う必要がないので、高速で二値化の閾値を算出することができる。二値化部１２は、算出した閾値を用いて、ノイズが除去されたグレースケールの撮影画像を二値化する。
【００１５】
縮小処理部１３は、二値化部１２が二値化した撮影画像を縮小する。部品Ｐに、例えば電子部品のリード線部分のような微細な構造がある場合、二値化した撮影画像を縮小することで撮影画像に写っている部品Ｐの微細な構造を除去することができる。これにより、部品Ｐの輪郭の誤検出を抑制できる。なお、部品Ｐに微細な構造がない場合は、計数装置１は縮小処理部１３を備えなくてもよい。
【００１６】
面積算出部１４は、縮小処理部１３が縮小した撮影画像のピクセル分布を集団に分類し、各集団のピクセル数を面積として算出する。集団に分類する方法には、例えば、Ｋ−ｍｅａｎｓ法がある。Ｋ−ｍｅａｎｓ法を用いる場合、面積算出部１４は、二値化した撮影画像中のエッジ数をカウントし、集団数ｋの値として設定する。エッジ数のカウントには、例えばＯｐｅｎＣＶ（Open Source Computer Vision Library）のｆｉｎｄｃｏｎｔｏｕｒｓ関数を使用する。なお、計数装置１が縮小処理部１３を備えない場合は、面積算出部１４は、二値化部１２が二値化した撮影画像のピクセル分布を集団に分類し、各集団のピクセル数を面積として算出する。
【００１７】
部品数算出部１５は、面積算出部１４が算出した各集団の面積のうち、ノイズを除いた最も小さい集団の面積を部品Ｐ１個分の面積と判断し、基準面積とする。ノイズを除く方法として、例えば次の方法がある。計数装置１を用いて予め複数回の実験を行って部品Ｐの集団がとりうる面積の下限および上限を算出しておく。あるいは、部品数算出部１５は、面積算出部１４が算出した各集団の面積の値を昇順または降順に並べる。部品数算出部１５は、各集団の面積の値を中央から小さい方に比較していき、隣り合う値に決められた値以上の差があれば、その大きい方の値を下限とする。部品数算出部１５は、各集団の面積の値を中央から大きい方に比較していき、隣り合う値に決められた値以上の差があれば、その小さい方の値を上限とする。部品数算出部１５は、下限よりも小さい面積の集団および上限よりも大きい面積の集団をノイズとして除去する。
【００１８】
部品数算出部１５は、基準面積の１倍を含む第１の範囲内の面積の集団の部品Ｐの数を１個と算出する。部品数算出部１５は、基準面積の２倍を含む第２の範囲内の面積の集団の部品Ｐの数を２個と算出する。部品数算出部１５は、基準面積の３倍を含む第３の範囲内の面積の集団の部品Ｐの数を３個と算出する。このように、部品数算出部１５は、基準面積のＮ倍を含む第Ｎの範囲内の面積の集団の部品Ｐの数をＮ個と算出し、加算していく。Ｎは正の整数である。第Ｎの範囲は、部品Ｐの形状・向きなどによる誤差を吸収する最小の範囲とする。部品数算出部１５は、面積が第Ｎの範囲外の集団は、部品Ｐが重なっているものと判断し、計数不可とする。部品数算出部１５は、計数不可の集団を示す計数不可情報を生成する。情報出力部１６は、部品数算出部１５が生成した計数不可情報をユーザ端末３に送信する。
【００１９】
部品数算出部１５は、ユーザ端末３から計数不可の集団の部品Ｐの数を示す数値情報を受信する。部品数算出部１５は、数値情報が示す計数不可の集団の部品Ｐの数を採用して、撮影画像に写っている部品Ｐの総数を算出する。部品数算出部１５は、算出した部品Ｐの総数を示す部品数情報を生成する。部品数算出部１５は、物品数算出部の例である。情報出力部１６は、部品数算出部１５が生成した部品数情報をユーザ端末３に送信する。
【００２０】
続いて、計数不可情報および部品数情報について図３を用いて説明する。図３Ａは、計数不可情報の一例を示す。図３Ａの例では、ノイズを除いたすべての集団の画像が表示されている。部品数算出部１５が計数不可とした集団が四角い枠で囲まれて、「計数不可」の文字が表示されている。「部品数」の欄にも「計数不可」の文字が表示されている。計数不可情報は、図３Ａの例に限らず、例えば、部品数算出部１５が計数不可とした集団を他の集団と異なる色で表示してもよいし、点滅させてもよい。「部品数」の欄はなくてもよい。あるいは、計数不可情報は、撮影範囲Ｃ上の計数不可の集団の座標を示す情報であってもよい。
【００２１】
図３Ａに示した計数不可情報がユーザ端末３に表示されると、ユーザは四角い枠で囲まれた集団の部品Ｐの数を目視で計数し、部品Ｐの数「５」を示す数値情報をユーザ端末３に入力する。ユーザ端末３は、入力された数値情報を計数装置１に送信する。計数装置１の部品数算出部１５は、面積から算出した集団ごとの部品Ｐの数を加算した合計「４６」に、数値情報が示す部品Ｐの数「５」を加算して、撮影画像に写っている部品Ｐの総数「５１」を算出する。部品数算出部１５は、図３Ｂに示すような、部品Ｐの総数「５１」を示す部品数情報を生成する。情報出力部１６は、部品数算出部１５が生成した部品数情報をユーザ端末３に送信する。ユーザ端末３は、受信した部品数情報を表示する。これにより、ユーザは、投入した部品Ｐの数が５１個であったことを把握する。
【００２２】
図３Ｂの例では、ノイズを除いたすべての集団の画像が表示されている。部品Ｐの数が１個以外の集団が四角い枠で囲まれて、その数が表示されている。図３Ａで計数不可の集団として表示されていた集団についても、ユーザが入力した数値情報が示す部品Ｐの数「５」が反映されている。「部品数」の欄には部品Ｐの総数である「５１」が表示されている。部品数情報は、図３Ｂの例に限らず、例えば、部品Ｐの総数だけを表示してもよいし、前回の計数結果、決められた期間に計数した部品Ｐの累積数などを表示してもよい。あるいは、部品Ｐの総数を通知する音声データであってもよい。
【００２３】
なお、計数装置１の情報出力部１６は、計数不可情報および部品数情報をユーザ端末３に送信せずに、画面表示、音声出力などの方法で出力してもよい。この場合、計数システム１００は、ユーザ端末３を備えなくてもよい。ユーザは、情報出力部１６が出力した計数不可情報が示す計数不可の集団の部品Ｐの数を目視で数え、計数不可の集団の部品Ｐの数を示す数値情報を部品数算出部１５に入力する。
【００２４】
ここで、計数装置１が実行する計数処理の流れを説明する。図４に示す計数処理は、計数装置１の電源が投入されたときに開始する。計数装置１の画像取得部１１は、撮影装置２から撮影画像を受信しない場合（ステップＳ１１；ＮＯ）、ステップＳ１１を繰り返して、撮影画像の受信を待機する。撮影装置２から撮影画像を受信した場合（ステップＳ１１；ＹＥＳ）、二値化部１２は、画像取得部１１が受信した撮影画像をグレースケールに変換し、平滑化フィルタによりノイズを除去する。二値化部１２は、ノイズが除去されたグレースケールの撮影画像に対し、二値化の閾値を算出する（ステップＳ１２）。このとき、判別分析法を用いれば、高速で二値化の閾値を算出することができる。二値化部１２は、算出した閾値を用いて、ノイズが除去されたグレースケールの撮影画像を二値化する（ステップＳ１３）。
【００２５】
縮小処理部１３は、二値化部１２が二値化した撮影画像を縮小する（ステップＳ１４）。なお、計数装置１が縮小処理部１３を備えない場合は、ステップＳ１３は省略される。面積算出部１４は、縮小処理部１３が縮小した撮影画像のピクセル分布を集団に分類し、各集団の面積を算出する（ステップＳ１５）。ステップＳ１３が省略された場合は、面積算出部１４は、二値化部１２が二値化した撮影画像のピクセル分布を集団に分類し、各集団の面積を算出する。部品数算出部１５は、面積算出部１４が算出した各集団の面積うち、ノイズを除いた最も小さい面積を、部品Ｐ１個分の面積である基準面積として算出する（ステップＳ１６）。このとき、部品数算出部１５は、下限および上限を定めて、下限よりも小さい面積の集団および上限よりも大きい面積の集団をノイズとして除去する。
【００２６】
部品数算出部１５は、面積算出部１４が分類した各集団について、面積が基準面積のＮ倍を含む第Ｎの範囲内であるか否かを判定する（ステップＳ１７）。面積が基準面積のＮ倍を含む第Ｎの範囲内である場合（ステップＳ１７；ＹＥＳ）、当該集団の部品Ｐの数をＮ個として部品Ｐの数に加算する（ステップＳ２０）。面積が基準面積のＮ倍を含む第Ｎの範囲外である場合（ステップＳ１７；ＮＯ）、部品数算出部１５は、部品Ｐが重なっているものと判断し、計数不可とする。部品数算出部１５は、計数不可の集団を示す計数不可情報を生成する。情報出力部１６は、部品数算出部１５が生成した計数不可情報をユーザ端末３に送信する（ステップＳ１８）。計数システム１００がユーザ端末３を備えない場合は、ステップＳ１８で情報出力部１６は、計数不可情報を表示する。
【００２７】
図３Ａの計数不可情報の例では、ノイズを除いたすべての集団の画像が表示されている。ステップＳ１７で、面積が第Ｎの範囲外であると判定された集団、つまり計数不可の集団が四角い枠で囲まれて、「計数不可」の文字が表示されている。「部品数」の欄にも「計数不可」の文字が表示されている。
【００２８】
図４に戻り、部品数算出部１５は、ユーザ端末３から計数不可の集団の部品Ｐの数を示す数値情報を受信しない場合（ステップＳ１９；ＮＯ）、ステップＳ１９を繰り返して、数値情報の受信を待機する。部品数算出部１５は、ユーザ端末３から計数不可の集団の部品Ｐの数を示す数値情報を受信した場合（ステップＳ１９；ＹＥＳ）、数値情報が示す部品Ｐの数を、部品Ｐの数に加算する（ステップＳ２０）。計数システム１００がユーザ端末３を備えない場合は、ステップＳ１９で部品数算出部１５は、数値情報が入力されたか否かを判定する。
【００２９】
次の集団がある場合（ステップＳ２１；ＹＥＳ）、処理はステップＳ１７に戻り、ステップＳ１７〜ステップＳ２１を繰り返す。面積算出部１４が分類したすべての集団について、ステップＳ１７〜ステップＳ２１を繰り返し、次の集団がない場合（ステップＳ２１；ＮＯ）、部品数算出部１５は、すべての集団の部品Ｐの数を合計した部品Ｐの総数を示す部品数情報を生成する。情報出力部１６は、部品数算出部１５が生成した部品数情報をユーザ端末３に送信する（ステップＳ２２）。計数システム１００がユーザ端末３を備えない場合は、ステップＳ２２で、情報出力部１６は部品数情報を表示する。
【００３０】
図３Ｂの部品数情報の例では、ノイズを除いたすべての集団の画像が表示されている。ステップＳ１７で、面積が第２の範囲内であると判定された集団が四角い枠で囲まれて、部品Ｐの数「２」が表示されている。ステップＳ１７で、面積が第３の範囲内であると判定された集団が四角い枠で囲まれて、部品Ｐの数「３」が表示されている。ステップＳ１７で、面積が第Ｎの範囲外であると判定され、ステップＳ１８で図３Ａに示す計数不可情報が送信された集団についても、四角い枠で囲まれて、ステップＳ１９で受信した数値情報が示す部品Ｐの数「５」が表示されている。「部品数」の欄には部品Ｐの総数である「５１」が表示されている。
【００３１】
図４に戻り、計数装置１の電源がＯＦＦになっていない場合（ステップＳ２３；ＮＯ）、処理はステップＳ１１に戻り、ステップＳ１１〜ステップＳ２３を繰り返す。計数装置１の電源がＯＦＦになると（ステップＳ２３；ＹＥＳ）、処理を終了する。なお、部品Ｐの形状が球体である場合のように部品Ｐが重ならない場合は、計数不可の集団は発生しないので、ステップＳ１８およびステップＳ１９は省略してもよい。
【００３２】
実施の形態１に係る計数システム１００によれば、撮影画像から部品Ｐを計数する計数装置１が、静止した部品Ｐを撮影した撮影画像を二値化し、二値化した撮影画像のピクセル分布を分類した集団の面積に基づいて部品Ｐを計数することで、部品Ｐの基準となる画像を記憶しておく必要がなく、かつ、より短時間で正確な計数が可能になる。
【００３３】
（実施の形態２）
実施の形態２では、計数装置１は、集団の画像と当該集団の部品Ｐの数とを対応付けた集団画像情報を記憶しておき、計数不可の集団の画像と類似する集団の画像に対応付けられた部品Ｐの数を、計数不可の集団の部品Ｐの数として採用する。
【００３４】
図５を用いて実施の形態２に係る計数装置１の機能構成について説明する。図５に示すように、計数装置１は、機能構成として、画像取得部１１、二値化部１２、縮小処理部１３、面積算出部１４、部品数算出部１５、および、情報出力部１６に加え、集団画像情報を記憶する集団画像記憶部１７を備える。
【００３５】
部品数算出部１５は、ユーザ端末３から計数不可の集団の部品Ｐの数を示す数値情報を受信すると、計数不可の集団の画像と数値情報が示す部品Ｐの数とを対応付けて集団画像情報を生成する。集団画像記憶部１７は、部品数算出部１５が生成した集団画像情報を記憶する。集団画像情報の例を図６に示す。例えば、１つ目の集団画像情報では、図３Ａの計数不可情報に示された計数不可の集団の画像と、数値情報が示す部品Ｐの数「５」とが対応付けられている。つまり、集団画像情報は、計数不可であった集団の画像と当該集団の部品Ｐの数とを対応付けた情報である。
【００３６】
図５に戻り、部品数算出部１５は、計数不可の集団がある場合、集団画像記憶部１７を参照し、計数不可の集団の画像と集団の画像が類似する集団画像情報があるか否かを判定する。２つの画像が類似するか否かの判定方法は、例えば、２つの画像の特徴点を抽出して類似度を算出し、類似度が閾値よりも高ければ類似すると判定する方法がある。
【００３７】
計数不可の集団の画像と集団の画像が類似する集団画像情報がある場合、部品数算出部１５は、計数不可の集団の画像と類似する集団の画像に対応付けられた部品Ｐの数を、計数不可の集団の部品Ｐの数として採用する。計数不可の集団の画像と集団の画像が類似する集団画像情報がない場合には、実施の形態１と同様に、部品数算出部１５は計数不可情報を生成し、情報出力部１６が計数不可情報をユーザ端末３に送信する。部品数算出部１５は、ユーザ端末３から受信した数値情報が示す計数不可の集団の部品Ｐの数を採用する。部品数算出部１５は、ユーザ端末３から計数不可の集団の部品Ｐの数を示す数値情報を受信するごとに集団画像情報を生成する。集団画像記憶部１７には、集団画像情報が累積記憶されていく。計数装置１のその他の機能は、実施の形態１と同様である。
【００３８】
ここで、計数装置１が実行する計数処理の流れを説明する。図７に示す計数処理は、計数装置１の電源が投入されたときに開始する。ステップＳ３１〜ステップＳ３６は、図４に示すフローチャートのステップＳ１１〜ステップＳ１６と同様であるので説明を省略する。部品数算出部１５は、面積算出部１４が分類した各集団について、面積が基準面積のＮ倍を含む第Ｎの範囲内であるか否かを判定する（ステップＳ３７）。面積が基準面積のＮ倍を含む第Ｎの範囲内である場合（ステップＳ３７；ＹＥＳ）、当該集団の部品Ｐの数をＮ個として部品Ｐの数に加算する（ステップＳ４２）。面積が基準面積のＮ倍を含む第Ｎの範囲外である場合（ステップＳ３７；ＮＯ）、部品数算出部１５は、集団画像記憶部１７を参照し、計数不可の集団の画像と集団の画像が類似する集団画像情報があるか否かを判定する（ステップＳ３８）。
【００３９】
計数不可の集団の画像と集団の画像が類似する集団画像情報がある場合（ステップＳ３８；ＹＥＳ）、部品数算出部１５は、計数不可の集団の画像と類似する集団の画像に対応付けられた部品Ｐの数を、計数不可の集団の部品Ｐの数として採用し、部品Ｐの数に加算する（ステップＳ４２）。
【００４０】
計数不可の集団の画像と集団の画像が類似する集団画像情報がない場合には（ステップＳ３８；ＮＯ）、部品数算出部１５は、計数不可の集団を示す計数不可情報を生成する。情報出力部１６は、部品数算出部１５が生成した計数不可情報をユーザ端末３に送信する（ステップＳ３９）。部品数算出部１５は、ユーザ端末３から計数不可の集団の部品Ｐの数を示す数値情報を受信しない場合（ステップＳ４０；ＮＯ）、ステップＳ４０を繰り返して、数値情報の受信を待機する。部品数算出部１５は、ユーザ端末３から計数不可の集団の部品Ｐの数を示す数値情報を受信した場合（ステップＳ４０；ＹＥＳ）、計数不可の集団の画像と数値情報が示す部品Ｐの数とを対応付けて集団画像情報を生成し、集団画像記憶部１７に集団画像情報を記憶する（ステップＳ４１）。
【００４１】
例えば、図６に示す１つ目の集団画像情報では、図３Ａの計数不可情報に示された計数不可の集団の画像と、数値情報が示す部品Ｐの数「５」とが対応付けられている。
【００４２】
図７に戻り、部品数算出部１５は、受信した数値情報が示す部品Ｐの数を、部品Ｐの数に加算する（ステップＳ４２）。次の集団がある場合（ステップＳ４３；ＹＥＳ）、処理はステップＳ３７に戻り、ステップＳ３７〜ステップＳ４３を繰り返す。面積算出部１４が分類したすべての集団について、ステップＳ３７〜ステップＳ４３を繰り返し、次の集団がない場合（ステップＳ４３；ＮＯ）、部品数算出部１５は、すべての集団の部品Ｐの数を合計した部品Ｐの総数を示す部品数情報を生成する。情報出力部１６は、部品数算出部１５が生成した部品数情報をユーザ端末３に送信する（ステップＳ４４）。計数装置１の電源がＯＦＦになっていない場合（ステップＳ４５；ＮＯ）、処理はステップＳ３１に戻り、ステップＳ３１〜ステップＳ４５を繰り返す。計数装置１の電源がＯＦＦになると（ステップＳ４５；ＹＥＳ）、処理を終了する。
【００４３】
実施の形態２に係る計数システム１００によれば、撮影画像から部品Ｐを計数する計数装置１が、静止した部品Ｐを撮影した撮影画像を二値化し、二値化した撮影画像のピクセル分布を分類した集団の面積に基づいて部品Ｐを計数することで、部品Ｐの基準となる画像を記憶しておく必要がなく、かつ、より短時間で正確な計数が可能になる。また、計数不可の集団の画像と類似する集団の画像に対応付けられた部品Ｐの数を、計数不可の集団の部品Ｐの数として採用することで、ユーザが計数不可の集団の部品Ｐの数を目視で数え、数値情報をユーザ端末３に入力する作業を減らすことができる。
【００４４】
（実施の形態３）
実施の形態３では、ユーザが計数不可の集団の部品Ｐの数を目視で数え、数値情報をユーザ端末３に入力する代わりに、均し動作装置が重なっている部品Ｐを均して計数可能にする均し動作を行う。
【００４５】
図８に示すように、計数システム１００は、計数装置１と、撮影装置２とユーザ端末３とに加え、均し動作を行う均し動作装置４を備える。計数装置１と均し動作装置４とは、有線または無線で接続している。
【００４６】
計数装置１は、集団の面積から部品Ｐの数を算出できない計数不可の集団がある場合には、均し動作を指示する均し動作指示情報を均し動作装置４に送信する。均し動作装置４は、計数装置１から均し動作指示情報を受信すると均し動作を行う。均し動作装置４は、例えば、部品Ｐが投入された台を振動させることで部品Ｐの重なりを崩す。あるいは、均し動作指示情報に、撮影範囲Ｃ上の計数不可の集団の座標を含み、均し動作装置４は、計数不可の集団の座標に対して、空気を射出して部品Ｐの重なりを崩したり、ロボットアームで部品Ｐの重なりを崩したりする装置であってもよい。
【００４７】
撮影装置２は、均し動作装置４が部品Ｐの重なりを崩した後の撮影範囲Ｃを撮影する。撮影装置２が撮影するタイミングは、ユーザが撮影装置２に撮影指示を入力してもよいし、撮影装置２が均し動作装置４の均し動作を検知して撮影してもよい。計数システム１００のその他の構成は、実施の形態１と同様である。
【００４８】
ここで、図９を用いて実施の形態３に係る計数装置１の機能構成について説明する。図９に示すように、計数装置１は、機能構成として、画像取得部１１、二値化部１２、縮小処理部１３、面積算出部１４、部品数算出部１５、および、情報出力部１６に加え、均し動作指示部１８を備える。画像取得部１１、二値化部１２、縮小処理部１３、面積算出部１４は、実施の形態１と同様の処理を行う。
【００４９】
部品数算出部１５は、部品Ｐ１個分の面積とみなす基準面積を算出し、基準面積のＮ倍を含む第Ｎの範囲内の面積の集団の部品Ｐの数をＮ個と算出する。部品数算出部１５は、面積が第Ｎの範囲外の集団は、部品Ｐが重なっているものと判断し、計数不可とする。計数不可の集団がある場合、部品数算出部１５は、均し動作装置４に均し動作を指示する均し動作指示情報を生成する。均し動作指示情報に撮影範囲Ｃ上の計数不可の集団の座標を含む場合には、部品数算出部１５は、撮影範囲Ｃ上のすべての計数不可の集団の座標を含む均し動作指示情報を生成する。情報出力部１６は、部品数算出部１５が生成した均し動作指示情報を均し動作装置４に送信する。
【００５０】
均し動作装置４は、計数装置１から均し動作指示情報を受信すると均し動作を行う。撮影装置２は、均し動作装置４が均し動作で部品Ｐの重なりを崩した後の撮影範囲Ｃを撮影する。画像取得部１１、二値化部１２、縮小処理部１３、および、面積算出部１４は、実施の形態１と同様の処理を行う。部品数算出部１５は、計数不可の集団がなくなると、すべての集団の部品Ｐの数を合計して、撮影画像に写っている部品Ｐの総数を算出する。部品数算出部１５は、算出した部品Ｐの総数を示す部品数情報を生成する。情報出力部１６は、部品数算出部１５が生成した部品数情報をユーザ端末３に送信する。計数装置１のその他の機能は、実施の形態１と同様である。
【００５１】
ここで、計数装置１が実行する計数処理の流れを説明する。図１０に示す計数処理は、計数装置１の電源が投入されたときに開始する。ステップＳ５１〜ステップＳ５６は、図４に示すフローチャートのステップＳ１１〜ステップＳ１６と同様であるので説明を省略する。部品数算出部１５は、面積算出部１４が分類した各集団について、面積が基準面積のＮ倍を含む第Ｎの範囲内であるか否かを判定する（ステップＳ５７）。面積が基準面積のＮ倍を含む第Ｎの範囲外である場合（ステップＳ５７；ＮＯ）、部品数算出部１５は、均し動作装置４に均し動作を指示する均し動作指示情報を生成する。情報出力部１６は、部品数算出部１５が生成した均し動作指示情報を均し動作装置４に送信する（ステップＳ５８）。
【００５２】
均し動作指示情報に撮影範囲Ｃ上の計数不可の集団の座標を含む場合には、部品数算出部１５は、ステップＳ５７ですべての集団について第Ｎの範囲内であるか否かを判定し、第Ｎの範囲外である集団がある場合には、撮影範囲Ｃ上のすべての計数不可の集団の座標を含む均し動作指示情報を生成する。ステップＳ５８で、情報出力部１６は、部品数算出部１５が生成した均し動作指示情報を均し動作装置４に送信する。この場合、ステップＳ５９で、部品数算出部１５は、すべての集団の部品Ｐの数を合計し、撮影画像に写っている部品Ｐの総数を示す部品数情報を生成し、ステップＳ６０は省略する。
【００５３】
均し動作装置４は、計数装置１から均し動作指示情報を受信すると均し動作を行う。撮影装置２は、均し動作装置４が部品Ｐの重なりを崩した後の撮影範囲Ｃを撮影する。処理は、ステップＳ５１に戻り、ステップＳ５１〜ステップＳ５７を繰り返す。面積が基準面積のＮ倍を含む第Ｎの範囲内である場合（ステップＳ５７；ＹＥＳ）、当該集団の部品Ｐの数をＮ個として部品Ｐの数に加算する（ステップＳ５９）。
【００５４】
次の集団がある場合（ステップＳ６０；ＹＥＳ）、処理はステップＳ５７に戻り、ステップＳ５７〜ステップＳ６０を繰り返す。面積算出部１４が分類したすべての集団について、ステップＳ５７〜ステップＳ６０を繰り返し、次の集団がない場合（ステップＳ６０；ＮＯ）、部品数算出部１５は、すべての集団の部品Ｐの数を合計した部品Ｐの総数を示す部品数情報を生成する。情報出力部１６は、部品数算出部１５が生成した部品数情報をユーザ端末３に送信する（ステップＳ６１）。計数装置１の電源がＯＦＦになっていない場合（ステップＳ６２；ＮＯ）、処理はステップＳ５１に戻り、ステップＳ５１〜ステップＳ６２を繰り返す。計数装置１の電源がＯＦＦになると（ステップＳ６２；ＹＥＳ）、処理を終了する。
【００５５】
実施の形態３に係る計数システム１００によれば、撮影画像から部品Ｐを計数する計数装置１が、静止した部品Ｐを撮影した撮影画像を二値化し、二値化した撮影画像のピクセル分布を分類した集団の面積に基づいて部品Ｐを計数することで、部品Ｐの基準となる画像を記憶しておく必要がなく、かつ、より短時間で正確な計数が可能になる。また、計数不可の集団の部品Ｐを自動的に均して計数可能にするので、ユーザが計数不可の集団の部品Ｐの数を目視で数え、数値情報をユーザ端末３に入力する作業が不要となる。
【００５６】
（実施の形態４）
実施の形態４では、計数装置１は出庫する部品の数を計数する。計数装置１は、部品を識別する情報と当該部品の撮影画像とを対応付けた撮影実績情報を記憶しておき、出庫する部品と撮影画像に写っている部品Ｐとが一致するか否かを判定する。また、計数装置１は、出庫する部品Ｐの数を、部品Ｐの在庫数を示す在庫情報に反映する。
【００５７】
図１１に示すように、計数システム１００は、計数装置１と、撮影装置２とユーザ端末３とに加え、部品の出庫を指示する生産管理システム５と、部品の在庫を管理する在庫管理システム６とを備える。計数装置１は、生産管理システム５および在庫管理システム６とネットワークを介して接続する。
【００５８】
生産管理システム５は、出庫する部品を示す出庫情報をユーザ端末３および計数装置１に送信する。ユーザ端末３は、生産管理システム５から受信した出庫情報を画面表示、音声出力などの方法で出力する。ユーザ端末３が出庫情報を出力すると、ユーザは出庫情報が示す部品を撮影範囲Ｃに投入する。以下、出庫情報が示す部品を撮影範囲Ｃに投入する作業を出庫作業という。撮影装置２が撮影範囲Ｃを撮影し、計数装置１に撮影画像を送信する。
【００５９】
計数装置１は、生産管理システム５から出庫情報を受信し、撮影装置２から撮影画像を受信する度に、出庫する物品と物品を識別する情報が一致する撮影実績情報があるか否かを判定する。物品を識別する情報が一致する撮影実績情報があれば、計数装置１はそれを参照して、出庫する部品と撮影画像に写っている部品Ｐとが一致するか否かを判定する。一致しない場合には、計数装置１は、警告を示すエラー情報を出力する。物品を識別する情報が一致する撮影実績情報がなければ、計数装置１は、撮影装置２から受信した撮影画像と、生産管理システム５から受信した出庫情報に含まれる部品を識別する情報とを対応付けて撮影実績情報を生成し、記憶する。なお、計数装置１が撮影実績情報を生成して記憶した場合であって、ユーザが撮影範囲Ｃに投入した部品Ｐが出庫する部品でないと判明した場合には、該当する撮影実績情報を削除する構成にしてもよい。
【００６０】
在庫管理システム６は、部品Ｐの在庫数を示す在庫情報を記憶している。計数装置１は、撮影画像に写っている部品Ｐの総数、つまり１回の出庫作業で出庫する部品Ｐの総数を算出する。在庫管理システム６が記憶している在庫情報の部品Ｐの在庫数から、１回の出庫作業で出庫する部品Ｐの総数を減算して、在庫情報を更新する。計数システム１００のその他の構成は、実施の形態１と同様である。
【００６１】
ここで、図１２を用いて実施の形態４に係る計数装置１の機能構成について説明する。図１２に示すように、計数装置１は、機能構成として、画像取得部１１、二値化部１２、縮小処理部１３、面積算出部１４、部品数算出部１５、および、情報出力部１６に加え、出庫する部品と撮影画像に写っている部品Ｐとが一致するか否かを判定する正否判定部１９、撮影実績情報を記憶する撮影実績記憶部２０、および、在庫情報を更新する在庫更新部２１を備える。
【００６２】
正否判定部１９は、生産管理システム５から出庫情報を受信し、画像取得部１１が撮影装置２から撮影画像を受信すると、撮影実績記憶部２０を参照し、出庫情報に含まれる部品を識別する情報と、部品を識別する情報が一致する撮影実績情報があるか否かを判定する。
【００６３】
部品を識別する情報が一致する撮影実績情報がない場合には、正否判定部１９は、画像取得部１１が撮影装置２から受信した撮影画像と、生産管理システム５から受信した出庫情報に含まれる部品を識別する情報とを対応付けて撮影実績情報を生成し、撮影実績記憶部２０に記憶する。
【００６４】
部品を識別する情報が一致する撮影実績情報がある場合には、正否判定部１９は、撮影実績情報が示す部品の撮影画像と、画像取得部１１が受信した撮影画像とを比較し、同じ部品であるか否かを判定する。同じ部品であるか否かの判定方法は、例えば、２つの撮影画像から特徴点を抽出して類似度を算出し、類似度が閾値よりも高ければ同じ部品であると判定する方法がある。
【００６５】
正否判定部１９は、同じ部品でないと判定した場合、警告を示すエラー情報を生成する。情報出力部１６は、正否判定部１９が生成したエラー情報をユーザ端末３に送信する。ユーザ端末３は計数装置１から受信したエラー情報を表示する。これにより、ユーザは、投入した部品Ｐが間違っていることを知ることができる。正否判定部１９が同じ部品であると判定した場合、二値化部１２、縮小処理部１３、および、面積算出部１４は、実施の形態１と同様の処理を行う。なお、出庫情報を計数装置１に送信するのは、生産管理システム５に限らない。例えば、ユーザが出庫情報を正否判定部１９に入力してよいし、ユーザ端末３にユーザが入力した出庫情報を正否判定部１９がユーザ端末３から取得してもよい。
【００６６】
部品数算出部１５は、撮影画像に写っている部品Ｐの総数を算出すると、図１３に示すような、算出した部品Ｐの総数を示す部品数情報を生成する。情報出力部１６は、部品数算出部１５が生成した部品数情報をユーザ端末３に送信する。ユーザ端末３は、受信した部品数情報を表示する。図１３の例では、図３Ｂに示した部品Ｐの総数「５１」を示す部品数情報に加えて、出庫情報を受信後に計数した部品Ｐの累積数である「累積部品数」１１４と出庫情報が示す部品Ｐの出庫数「出庫指示数」２００とが表示されている。これにより、ユーザは、投入した部品Ｐの数と、部品Ｐを残り８６個出庫する必要があることを把握することができる。
【００６７】
図１２に戻り、部品数算出部１５が撮影画像に写っている部品Ｐの総数、つまり１回の出庫作業で出庫する部品Ｐの総数を算出すると、在庫更新部２１は、在庫管理システム６が記憶している在庫情報の部品Ｐの在庫数から、１回の出庫作業で出庫する部品Ｐの総数を減算して、在庫情報を更新する。なお、在庫情報を記憶するのは、在庫管理システム６に限らない。例えば、計数装置１が在庫情報を記憶していてもよいし、外部の記憶装置が在庫情報を記憶していてもよい。計数装置１のその他の機能は、実施の形態１と同様である。
【００６８】
ここで、計数装置１が実行する計数処理の流れを説明する。図１４に示す計数処理は、計数装置１の電源が投入されたときに開始する。計数装置１の正否判定部１９は、生産管理システム５から出庫情報を受信する（ステップＳ７１）。画像取得部１１は、撮影装置２から撮影画像を受信しない場合（ステップＳ７２；ＮＯ）、ステップＳ７２を繰り返して、撮影画像の受信を待機する。画像取得部１１が撮影装置２から撮影画像を受信した場合（ステップＳ７２；ＹＥＳ）、正否判定部１９は、撮影実績記憶部２０を参照し、出庫情報に含まれる部品を識別する情報と、部品を識別する情報が一致する撮影実績情報があるか否かを判定する（ステップＳ７３）。
【００６９】
一致する撮影実績情報がない場合には（ステップＳ７３；ＮＯ）、正否判定部１９は、画像取得部１１が撮影装置２から受信した撮影画像と、生産管理システム５から受信した出庫情報に含まれる部品を識別する情報とを対応付けて撮影実績情報を生成する。正否判定部１９は、生成した撮影実績情報を撮影実績記憶部２０に記憶し（ステップＳ７６）、処理はステップＳ７７に移行する。
【００７０】
一致する撮影実績情報がある場合には（ステップＳ７３；ＹＥＳ）、正否判定部１９は、撮影実績情報が示す部品の撮影画像と、画像取得部１１が受信した撮影画像とを比較し、同じ部品であるか否かを判定する（ステップＳ７４）。同じ部品でないと判定した場合（ステップＳ７４；ＮＯ）、正否判定部１９は、警告を示すエラー情報を生成する。情報出力部１６は、正否判定部１９が生成したエラー情報をユーザ端末３に送信する（ステップＳ７５）。ユーザ端末３は計数装置１から受信したエラー情報を表示する。処理はステップＳ７２に戻り、ステップＳ７２〜ステップＳ７４を繰り返す。同じ部品であると判定した場合（ステップＳ７４；ＹＥＳ）、処理はステップＳ７７に移行する。ステップＳ７７〜ステップＳ８７は、図４に示すフローチャートのステップＳ１２〜ステップＳ２２と同様であるので説明を省略する。
【００７１】
部品数算出部１５が撮影画像に写っている部品Ｐの総数、つまり１回の出庫作業で出庫する部品Ｐの総数を算出すると、在庫更新部２１は、在庫管理システム６が記憶している在庫情報の部品Ｐの在庫数から、１回の出庫作業で出庫する部品Ｐの総数を減算して、在庫情報を更新する（ステップＳ８８）。計数装置１の電源がＯＦＦになっていない場合（ステップＳ８９；ＮＯ）、処理はステップＳ７１に戻り、ステップＳ７１〜ステップＳ８９を繰り返す。計数装置１の電源がＯＦＦになると（ステップＳ８９；ＹＥＳ）、処理を終了する。
【００７２】
実施の形態４に係る計数システム１００によれば、撮影画像から部品Ｐを計数する計数装置１が、静止した部品Ｐを撮影した撮影画像を二値化し、二値化した撮影画像のピクセル分布を分類した集団の面積に基づいて部品Ｐを計数することで、部品Ｐの基準となる画像を記憶しておく必要がなく、かつ、より短時間で正確な計数が可能になる。また、計数装置１が部品を識別する情報と当該部品の撮影画像とを対応付けた撮影実績情報を記憶しておき、出庫する部品と撮影画像に写っている部品Ｐとが一致するか否かを判定し、一致しない場合はエラー情報を出力することで、誤った部品を出庫することを防止できる。さらに、出庫作業をする度に在庫情報を更新することで、在庫情報が示す部品Ｐの在庫数と実際の部品Ｐの在庫数が一致しない時間を短くすることができる。
【００７３】
（実施の形態５）
実施の形態５では、計数装置１は撮影画像から計数範囲を規定するマーカを検出し、計数範囲の中の部品Ｐの数を計数する。
【００７４】
図１５に示すように、計数システム１００は、計数装置１と、撮影装置２とユーザ端末３とを備える。ユーザが撮影範囲Ｃに部品Ｐを投入すると、撮影装置２が撮影範囲Ｃを撮影し、計数装置１に撮影画像を送信する。撮影範囲ＣにはマーカＭが付与されており、計数装置１は、マーカＭに囲まれた計数範囲Ｒの中の部品Ｐの数を算出する。マーカＭは、予め付与されていてもよいし、ユーザが付与してもよい。計数システム１００のその他の構成は、実施の形態１と同様である。
【００７５】
ここで、図１６を用いて実施の形態５に係る計数装置１の機能構成について説明する。図１６に示すように、計数装置１は、機能構成として、画像取得部１１、二値化部１２、縮小処理部１３、面積算出部１４、部品数算出部１５、および、情報出力部１６に加え、マーカＭを示すマーカ情報を記憶するマーカ記憶部２２を備える。
【００７６】
二値化部１２は、マーカ情報を参照し、画像取得部１１が受信した撮影画像の中のマーカＭを検出する。二値化部１２は、画像取得部１１が受信した撮影画像からマーカＭに囲まれた計数範囲Ｒを特定する。二値化部１２、縮小処理部１３、面積算出部１４、部品数算出部１５、および、情報出力部１６は、計数範囲Ｒの撮影画像に対して、実施の形態１と同様の処理を行う。
【００７７】
ここで、計数装置１が実行する計数処理の流れを説明する。図１７に示す計数処理は、計数装置１の電源が投入されたときに開始する。計数装置１の画像取得部１１は、撮影装置２から撮影画像を受信しない場合（ステップＳ９１；ＮＯ）、ステップＳ９１を繰り返して、撮影画像の受信を待機する。画像取得部１１が撮影装置２から撮影画像を受信した場合（ステップＳ９１；ＹＥＳ）、二値化部１２は、マーカ情報を参照し、画像取得部１１が受信した撮影画像の中のマーカＭを検出する。二値化部１２は、画像取得部１１が受信した撮影画像からマーカＭに囲まれた計数範囲Ｒを特定する（ステップＳ９２）。二値化部１２、縮小処理部１３、面積算出部１４、部品数算出部１５、および、情報出力部１６は、計数範囲Ｒの撮影画像に対して、ステップＳ９３〜ステップＳ１０４の処理を行う。ステップＳ９３〜ステップＳ１０４は、図４に示すフローチャートのステップＳ１２〜ステップＳ２３と同様であるので説明を省略する。
【００７８】
実施の形態５に係る計数システム１００によれば、撮影画像から部品Ｐを計数する計数装置１が、静止した部品Ｐを撮影した撮影画像を二値化し、二値化した撮影画像のピクセル分布を分類した集団の面積に基づいて部品Ｐを計数することで、部品Ｐの基準となる画像を記憶しておく必要がなく、かつ、より短時間で正確な計数が可能になる。また、ユーザが計数範囲を設定できるので、ユーザが意図しない範囲の部品を計数してしまったり、投入した部品Ｐが計数範囲の外に出てしまったりといったことを防止できる。
【００７９】
（実施の形態６）
実施の形態６では、図１８に示すように、計数システム１００は、計数装置１と、撮影装置２とユーザ端末３とに加え、計数装置１の計数結果を学習する機械学習装置７を備える。機械学習装置７は、計数装置１およびユーザ端末３とネットワークを介して接続する。なお、機械学習装置７は、計数装置１に組み込まれてもよいし、クラウドサーバ上に存在してもよい。
【００８０】
ユーザが撮影範囲Ｃに部品Ｐを投入すると、部品Ｐが静止した状態で撮影装置２が撮影範囲Ｃを撮影し、計数装置１に撮影画像を送信する。計数装置１は、撮影装置２から受信した撮影画像に基づいて、撮影画像に写っている部品Ｐの総数を算出する。計数装置１は、算出した部品Ｐの総数を示す部品数情報を生成し、ユーザ端末３に送信する。また、計数装置１は、算出した部品Ｐの総数を示す部品数情報と部品Ｐの総数の算出に用いた撮影画像とを対応付けて機械学習装置７に送信する。ユーザ端末３が部品数情報を出力すると、ユーザは、実際の部品Ｐの総数を数え、計数装置１の計数結果が正しいか否かを示す正否情報をユーザ端末３に入力する。ユーザ端末３は、入力された正否情報を部品数情報に対応付けて機械学習装置７に送信する。
【００８１】
機械学習装置７は、計数装置１から受信した撮影画像および部品数情報と、ユーザ端末３から受信した正否情報とに基づいて生成されたデータセットから計数装置１の計数結果を学習する。機械学習装置７は、計数装置１の計数結果を学習した結果、入力された撮影画像に写っている部品Ｐの総数を出力する学習済モデルを生成する。計数システム１００のその他の構成は、実施の形態１と同様である。
【００８２】
ここで、図１９を用いて計数装置１および機械学習装置７の機能構成について説明する。計数装置１の画像取得部１１は、撮影装置２から受信した撮影画像を情報出力部１６に送る。情報出力部１６は、画像取得部１１から受け取った撮影画像と、部品数算出部１５が生成した部品数情報とを、機械学習装置７に送信する。計数装置１のその他の機能構成は、実施の形態１と同様である。
【００８３】
機械学習装置７は、計数装置１から撮影画像および部品数情報を受信するデータ取得部７１と、ユーザ端末３から正否情報を受信する正否情報取得部７２と、計数装置１の計数結果を学習して学習済モデルを生成する学習部７３と、学習部７３が生成した学習済モデルを記憶する記憶部７４とを備える。データ取得部７１は、計数装置１から受信した撮影画像および部品数情報を学習部７３に送る。正否情報取得部７２は、ユーザ端末３から受信した正否情報を学習部７３に送る。
【００８４】
学習部７３は、データ取得部７１から受け取った撮影画像および部品数情報と、正否情報取得部７２から受け取った正否情報とに基づいて、機械学習用のデータセットを生成する。学習部７３は、生成したデータセットから計数装置１の計数結果を学習する。
【００８５】
学習部７３は、例えば、ニューラルネットワークモデルに従って、教師あり学習により、計数装置１の計数結果を学習する。教師あり学習とは、入力と結果（ラベル）のデータセットを大量に学習装置に与えることで、学習装置がそれらのデータセットにある特徴を学習し、入力から結果を推定するモデルをいう。学習部７３が教師あり学習を行うために生成するデータセットは、正否情報が示す計数装置１の計数結果が正しかった撮影画像を入力データとし、対応する部品数情報が示す部品Ｐの総数をラベルデータとして関連づけたデータセットである。正否情報が示す計数装置１の計数結果が正しかった撮影画像に対応する部品数情報が示す部品Ｐの総数は、正否情報が示す計数装置１の計数結果が正しかった部品Ｐの総数である。以下、正否情報が示す計数装置１の計数結果が正しかった撮影画像を、単に計数結果が正しかった撮影画像という。正否情報が示す計数装置１の計数結果が正しかった部品Ｐの総数を、単に計数結果が正しかった部品Ｐの総数という。
【００８６】
ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層および複数のニューロンからなる出力層で構成される。中間層は、１層でもよいし、２層以上でもよい。例えば、図２０に示すような３層のニューラルネットワークであれば、複数の入力データが入力層であるニューロンＸ１〜Ｘ３に入力されると、その値に重みｗ１１〜ｗ１６を掛けて中間層であるニューロンＹ１〜Ｙ２に入力される。ニューロンＹ１〜Ｙ２から出力される結果にさらに重みｗ２１〜ｗ２６を掛けて出力層であるニューロンＺ１〜Ｚ３から出力される。ニューロンＺ１〜Ｚ３から出力される結果は、重みｗ１１〜ｗ１６および重みｗ２１〜ｗ２６の値によって変わる。
【００８７】
学習部７３が、ニューラルネットワークモデルに従って、計数装置１の計数結果を学習する場合、ニューラルネットワークの入力層に、計数結果が正しかった撮影画像が入力される。ニューラルネットワークは重みを調整して、出力層から出力される結果を、計数結果が正しかった部品Ｐの総数、即ちラベルデータに近づける学習を行う。学習部７３は、学習が完了すると、入力された撮影画像に写っている部品Ｐの総数を出力するニューラルネットワークの学習済モデルを記憶部７４に記憶する。学習の完了は、例えば、試験用のデータセットを入力して出力の正解率が閾値を超えた場合に学習を完了する。
【００８８】
また、学習部７３は、教師あり学習のクラス分類を行って、計数結果を学習してもよい。この場合、学習部７３は、入力データをラベルデータに対応するクラスに分類する。つまり、計数結果が正しかった撮影画像を、計数結果が正しかった部品Ｐの総数に対応するクラスに分類する。学習部７３は、クラスごとに、つまり、計数結果が正しかった部品Ｐの総数ごとに、計数結果が正しかった撮影画像の特徴を学習する。学習部７３は、学習が完了すると、入力された撮影画像をいずれかのクラスに分類し、分類したクラスに対応するラベルである部品Ｐの総数を出力する学習済モデルを記憶部７４に記憶する。
【００８９】
なお、学習部７３は、複数の部品に対して生成されるデータセットに従って、計数結果を学習してもよい。この場合、データ取得部７１は、計数装置１から撮影画像および部品数情報に加え、部品を識別する情報を受信する。学習部７３は、同一の計数装置１から収集される複数の部品の撮影画像、部品数情報および部品を識別する情報と正否情報とに基づいてデータセットを生成してもよいし、複数の計数装置１から収集される複数の部品の撮影画像、部品数情報および部品を識別する情報と正否情報とに基づいてデータセットを生成してもよい。また、データセットを収集する対象の部品を途中で追加したり、削除したりしてもよい。さらに、ある計数装置１のある部品の計数結果を学習した機械学習装置７を、別の計数装置１に取り付け、別の部品の計数結果を再学習させてもよい。
【００９０】
学習部７３に用いられる学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ）を用いることもできる。また、学習部７３は、他の公知の方法、例えば遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
【００９１】
なお、機械学習装置７の正否情報取得部７２は、ユーザ端末３以外から正否情報を取得してもよい。例えば、図２１に示すように、計数システム１００は、計数装置１と、撮影装置２と、ユーザ端末３と、機械学習装置７に加え、撮影範囲Ｃに投入された部品Ｐの総重量を計測する重量計測装置８を備えてもよい。機械学習装置７と重量計測装置８とは、有線または無線で接続している。
【００９２】
この場合、重量計測装置８は、撮影範囲Ｃに投入された部品Ｐの総重量を示す部品総重量情報を機械学習装置７に送信する。正否情報取得部７２は、予め部品Ｐの１個の重量を示す単位重量情報を記憶しておく。正否情報取得部７２は、重量計測装置８から受信した総重量情報が示す部品Ｐの総重量を、部品Ｐの１個の重量で除算して、撮影範囲Ｃに投入された部品Ｐの総数を算出する。正否情報取得部７２は、データ取得部７１が計測装置１から受信した部品数情報が示す部品Ｐの総数と、重量計測装置８から受信した総重量情報に基づいて算出した部品Ｐの総数とが一致する場合、計数装置１の計数結果が正しいことを示す正否情報を生成する。一致しない場合、正否情報取得部７２は、計数装置１の計数結果が正しくないことを示す正否情報を生成する。
【００９３】
実施の形態６に係る計数システム１００によれば、撮影画像から部品Ｐを計数する計数装置１が、静止した部品Ｐを撮影した撮影画像を二値化し、二値化した撮影画像のピクセル分布を分類した集団の面積に基づいて部品Ｐを計数することで、部品Ｐの基準となる画像を記憶しておく必要がなく、かつ、より短時間で正確な計数が可能になる。また、機械学習装置７が生成した学習済モデルを用いれば、計数装置１よりも早く、撮影画像に写っている部品Ｐの総数を算出することができる。また、機械学習装置７が生成した学習済モデルをコンピュータが読み取り可能な記録媒体に格納して配布し、当該学習済モデルを、撮影画像を取得可能なコンピュータにインストールすることにより、計数装置１と同様の装置を簡単に実現することができる。
【００９４】
（実施の形態７）
実施の形態７では、計数装置１が計数した部品Ｐを基板に配置する。図２２に示すように、計数システム１００は、計数装置１と、撮影装置２とユーザ端末３とに加え、部品Ｐを基板に配置する部品配置装置９を備える。部品配置装置９は、計数装置１およびユーザ端末３に接続する。なお、計数装置１は、部品配置装置９に組み込まれてもよい。
【００９５】
部品配置装置９は、図示しない部品供給部に計数装置１が計数した部品Ｐを収納する。計数装置１が計数可能で、かつ、部品配置装置９が基板に配置する部品が複数ある場合には、部品配置装置９は、部品ごとの部品供給部を備える。計数装置１が計数可能で、かつ、部品配置装置９が基板に配置する部品が複数ある場合、例えば、ユーザがユーザ端末３に撮影範囲Ｃに投入した部品を識別する情報を入力する。ユーザ端末３は、入力された部品を識別する情報を計数装置に送信する。計数装置１は、ユーザ端末３から受信した部品を識別する情報を、部品数情報に対応付ける。部品配置装置９は、部品供給部に収納された部品を基板に配置する。その後、部品Ｐが配置された基板がはんだフロー漕に送り込まれることで、部品Ｐがはんだ付けされて基板に実装される。あるいは、はんだ付け装置によって基板に配置された部品Ｐがはんだ付けされて実装される。あるいは、作業者によって基板に配置された部品Ｐが手作業ではんだ付けされて実装される。
【００９６】
計数装置１の情報出力部１６は、ユーザ端末３ではなく、部品配置装置９に部品数情報を送信する。計数装置１のその他の機能構成は、実施の形態１と同様である。部品配置装置９は、計数装置１から部品数情報を受信すると、部品数情報が示す部品Ｐの総数を加算しながら、部品供給部に計数装置１が計数した部品Ｐを収納する。加算した部品Ｐの総数、つまり、部品供給部に収納された部品Ｐの数が一定数に到達すると、部品配置装置９は、ユーザ端末３に部品Ｐの数が一定数に到達したことを示す到達情報を送信する。一定数は、例えば、部品配置装置９が１日の稼働時間中に基板に配置することができる部品Ｐの数、つまり、１日あたりの部品配置装置９の部品Ｐの必要数としてもよいし、部品供給部が収納できる部品Ｐの数の上限に基づいて決められる数としてもよい。
【００９７】
ユーザ端末３は、部品配置装置９から受信した到達情報を画面表示、音声出力などの方法で出力する。ユーザ端末３が到達情報を出力すると、ユーザは撮影範囲Ｃへの部品Ｐの投入をやめる。ユーザは、計数装置１が計数可能で、かつ、部品配置装置９が基板に配置する他の部品がある場合には、次の部品を撮影範囲Ｃに投入する。到達情報に次の部品を識別する情報を含んでもよい。この場合、ユーザは、ユーザ端末３が出力した到達情報に含まれる次の部品を識別する情報に基づいて、次の部品を撮影範囲Ｃに投入する。
【００９８】
続いて、計数装置１が実行する計数処理および部品配置装置９が実行する部品配置処理の流れを説明する。計数処理の流れは、図４に示す実施の形態１の計数処理のフローチャートと同様である。ただし、ステップＳ２２で、情報出力部１６は、部品数情報をユーザ端末３だけでなく部品配置装置９にも送信する。図２３に示す部品配置処理は、部品配置装置９の電源が投入されたときに開始する。部品配置装置９は、計数装置１から部品数情報を受信しない場合（ステップＳ１１１；ＮＯ）、ステップＳ１１１を繰り返して、部品数情報の受信を待機する。
【００９９】
計数装置１から部品数情報を受信した場合（ステップＳ１１１；ＹＥＳ）、部品配置装置９は、部品数情報が示す部品の総数を加算し（ステップＳ１１２）、計数装置１が計数した部品を部品供給部に収納する（ステップＳ１１３）。部品配置装置９は、加算した部品の総数、つまり、部品供給部に収納された部品の数が一定数に到達したか否かを判定する（ステップＳ１１４）。一定数に到達していない場合（ステップＳ１１４；ＮＯ）、処理はステップＳ１１１に戻り、ステップＳ１１１〜ステップＳ１１４を繰り返す。一定数に到達した場合（ステップＳ１１４；ＹＥＳ）、部品配置装置９は、ユーザ端末３に部品の数が一定数に到達したことを示す到達情報を送信する（ステップＳ１１５）。ユーザ端末３は、部品配置装置９から受信した到達情報を出力する。ユーザ端末３が到達情報を出力すると、ユーザは撮影範囲Ｃへの部品の投入をやめる。
【０１００】
計数装置１が計数可能で、かつ、部品配置装置９が基板に配置する他の部品がある場合（ステップＳ１１６；ＹＥＳ）、ユーザは、次の部品を撮影範囲Ｃに投入する。到達情報に次の部品を識別する情報を含んでもよい。この場合、ユーザは、ユーザ端末３が出力した次の部品を識別する情報を見て、その部品を撮影範囲Ｃに投入する。計数装置１は、撮影範囲Ｃに投入された次の部品の総数を算出し、部品数情報を部品配置装置９に送信する。処理は、ステップＳ１１１に戻り、部品配置装置９は計数装置１から部品数情報を受信する（ステップＳ１１１；ＹＥＳ）。部品配置装置９は、ステップＳ１１１〜ステップＳ１１６を繰り返す。計数装置１が計数可能で、かつ、部品配置装置９が基板に配置する他の部品がない場合（ステップＳ１１６；ＮＯ）、部品配置装置９は、部品供給部に収納された部品を基板に配置し（ステップＳ１１７）、処理を終了する。
【０１０１】
実施の形態７に係る計数システム１００によれば、撮影画像から部品Ｐを計数する計数装置１が、静止した部品Ｐを撮影した撮影画像を二値化し、二値化した撮影画像のピクセル分布を分類した集団の面積に基づいて部品Ｐを計数することで、部品Ｐの基準となる画像を記憶しておく必要がなく、かつ、より短時間で正確な計数が可能になる。また、部品配置装置９は、計数装置１が計数した部品Ｐを一定数に到達するまで部品供給部に収納する。これにより、部品供給部に収納された部品が不足することなく、部品配置装置９がスムーズに基板に部品を配置することが可能になる。
【０１０２】
計数装置１のハードウェア構成について図２４を用いて説明する。図２４に示すように、計数装置１は、一時記憶部１０１、記憶部１０２、計算部１０３、操作部１０４、入出力部１０５および表示部１０６を備える。一時記憶部１０１、記憶部１０２、操作部１０４、入出力部１０５および表示部１０６はいずれもＢＵＳを介して計算部１０３に接続されている。
【０１０３】
計算部１０３は、例えばＣＰＵ（Central Processing Unit）である。計算部１０３は、記憶部１０２に記憶されている制御プログラムに従って、計数装置１の二値化部１２、縮小処理部１３、面積算出部１４、部品数算出部１５、均し動作指示部１８、正否判定部１９、および、在庫更新部２１の各処理を実行する。
【０１０４】
一時記憶部１０１は、例えばＲＡＭ（Random-Access Memory）である。一時記憶部１０１は、記憶部１０２に記憶されている制御プログラムをロードし、計算部１０３の作業領域として用いられる。
【０１０５】
記憶部１０２は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Digital Versatile Disc - Random Access Memory)、ＤＶＤ−ＲＷ（Digital Versatile Disc - ReWritable)などの不揮発性メモリである。記憶部１０２は、計数装置１の処理を計算部１０３に行わせるためのプログラムを予め記憶し、また、計算部１０３の指示に従って、このプログラムが記憶するデータを計算部１０３に供給し、計算部１０３から供給されたデータを記憶する。集団画像記憶部１７、撮影実績記憶部２０、および、マーカ記憶部２２は、記憶部１０２に構成される。
【０１０６】
操作部１０４は、キーボード、ポインティングデバイスなどの入力装置と、キーボード、ポインティングデバイスなどの入力装置をＢＵＳに接続するインターフェース装置である。例えば、計数装置１に直接情報を入力する構成の場合、操作部１０４を介して、入力された情報が計算部１０３に供給される。
【０１０７】
入出力部１０５は、ネットワークに接続する網終端装置または無線通信装置、およびそれらと接続するシリアルインターフェースまたはＬＡＮ（Local Area Network）インターフェースである。入出力部１０５は、画像取得部１１、部品数算出部１５、情報出力部１６、均し動作指示部１８、正否判定部１９、および、在庫更新部２１として機能する。
【０１０８】
表示部１０６は、ＣＲＴ（Cathode Ray Tube）、ＬＣＤ（Liquid Crystal Display）などの表示装置である。例えば、計数装置１に直接情報を入力する構成の場合、表示部１０６は、操作画面を表示する。また、情報出力部１６が計数不可情報および部品数情報を表示する場合には、表示部１０６は、情報出力部１６として機能する。
【０１０９】
図２、図５、図９、図１９および図１６に示す計数装置１の画像取得部１１、二値化部１２、縮小処理部１３、面積算出部１４、部品数算出部１５、情報出力部１６、集団画像記憶部１７、均し動作指示部１８、撮影実績記憶部２０、正否判定部１９、在庫更新部２１、および、マーカ記憶部２２の処理は、制御プログラムが、一時記憶部１０１、計算部１０３、記憶部１０２、操作部１０４、入出力部１０５および表示部１０６などを資源として用いて処理することによって実行する。
【０１１０】
その他、前記のハードウェア構成およびフローチャートは一例であり、任意に変更および修正が可能である。
【０１１１】
計算部１０３、一時記憶部１０１、記憶部１０２、操作部１０４、入出力部１０５、表示部１０６などの計数装置１の処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。例えば、前記の動作を実行するためのコンピュータプログラムを、フレキシブルディスク、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory)、ＤＶＤ−ＲＯＭ（Digital Versatile Disc - Read Only Memory)などのコンピュータが読み取り可能な記録媒体に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する計数装置１を構成してもよい。また、インターネットなどの通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロードなどすることで計数装置１を構成してもよい。
【０１１２】
また、計数装置１の機能を、ＯＳ（Operating System）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合などには、アプリケーションプログラム部分のみを記録媒体、記憶装置などに格納してもよい。
【０１１３】
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して提供することも可能である。例えば、通信ネットワーク上の掲示板（BBS, Bulletin Board System）に前記コンピュータプログラムを掲示し、通信ネットワークを介して前記コンピュータプログラムを提供してもよい。そして、このコンピュータプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できる構成にしてもよい。
【０１１４】
上記の実施の形態４では、計数装置１は、機能構成として、画像取得部１１、二値化部１２、縮小処理部１３、面積算出部１４、部品数算出部１５、および、情報出力部１６に加え、正否判定部１９、撮影実績記憶部２０、および、在庫更新部２１を備えるが、これに限らない。計数装置１は、画像取得部１１、二値化部１２、縮小処理部１３、面積算出部１４、部品数算出部１５および、情報出力部１６に加え、正否判定部１９、および、撮影実績記憶部２０を備えるが在庫更新部２１を備えない構成、または、正否判定部１９、撮影実績記憶部２０を備えないが在庫更新部２１を備える構成であってもよい。
【０１１５】
上記の実施の形態４および５の計数装置１は、実施の形態１の計数装置１に機能を追加しているが、これに限らない。実施の形態１の計数装置１に実施の形態４および５の機能の両方の機能を追加してもよいし、実施の形態２または実施の形態３の計数装置１に、実施の形態４および５の機能の一方または両方の機能を追加してもよい。
【０１１６】
上記の実施の形態６の機械学習装置７は、計数装置１の計数結果を学習するが、これに限らず、計数装置１の計数結果の正否を学習してもよい。この場合、学習部７３が教師あり学習を行うために生成するデータセットは、撮影画像および部品数情報が示す部品Ｐの総数を入力データとし、対応する正否情報が示す計数装置１の計数結果の正否をラベルデータとして関連づけたデータセットである。学習部７３は、生成したデータセットから計数装置１の計数結果の正否を学習する。学習部７３は、計数装置１の計数結果の正否を学習した結果、入力された撮影画像および部品Ｐの総数に対して、計数結果の正否を出力する学習済モデルを生成する。例えば、この学習済モデルに、計数装置１の撮影画像および部品数情報を入力し、計数装置１の計数結果が正しくないことが出力された場合は、ユーザが目視で計数するといった他の計数方法を用いることで、部品Ｐの総数の計数結果の正解率を上げることができる。
【０１１７】
上記の実施の形態６および７の計数システム１００は、実施の形態１の計数システム１００に機械学習装置７または部品配置装置９を追加しているが、これに限らない。実施の形態１〜５の計数システム１００に、機械学習装置７または部品配置装置９を追加してもよいし、機械学習装置７と部品配置装置９との両方を追加してもよい。
【０１１８】
上記の実施の形態７の計数装置１は、ユーザ端末３ではなく、部品配置装置９に部品数情報を送信し、部品配置装置９は、ユーザ端末３に部品Ｐの数が一定数に到達したことを示す到達情報を送信する。ユーザ端末３に到達情報が表示されると、ユーザは撮影範囲Ｃへの部品Ｐの投入をやめる。これに限らず、計数装置１は、ユーザ端末３および部品配置装置９に部品数情報を送信し、ユーザ端末３が受信した部品数情報が示す部品Ｐの数を加算して、一定数に到達すると到達情報を表示してもよい。この場合、部品配置装置９は、ユーザ端末３に到達情報を送信しなくてもよい。
【０１１９】
上記の実施の形態では、部品の計数を行う計数システム１００の例を説明したが、これに限らない。計数システム１００は、物品の計数を行う計数システムであればよい。
【０１２０】
なお、本開示は、本開示の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この開示を説明するためのものであり、本開示の範囲を限定するものではない。即ち、本開示の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の開示の意義の範囲内で施される様々な変形が、この開示の範囲内とみなされる。
【０１２１】
本出願は、２０１９年３月８日に出願された、日本国特許出願特願２０１９−０４２４３８号に基づく。本明細書中に日本国特許出願特願２０１９−０４２４３８号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
【符号の説明】
【０１２２】
１  計数装置、２  撮影装置、３  ユーザ端末、４  均し動作装置、５  生産管理システム、６  在庫管理システム、７  機械学習装置、８  重量計測装置、９  部品配置装置、１１  画像取得部、１２  二値化部、１３  縮小処理部、１４  面積算出部、１５  部品数算出部、１６  情報出力部、１７  集団画像記憶部、１８  均し動作指示部、１９ 正否判定部、２０  撮影実績記憶部、２１  在庫更新部、２２  マーカ記憶部、７１  データ取得部、７２  正否情報取得部、７３  学習部、７４  記憶部、１００  計数システム、１０１  一時記憶部、１０２  記憶部、１０３  計算部、１０４  操作部、１０５  入出力部、１０６  表示部、Ｃ  撮影範囲、Ｍ  マーカ、Ｐ  部品、Ｒ  計数範囲。
【図１】
2020183837.tif 000003
【図２】
2020183837.tif 000004
【図３Ａ】
2020183837.tif 000005
【図３Ｂ】
2020183837.tif 000006
【図４】
2020183837.tif 000007
【図５】
2020183837.tif 000008
【図６】
2020183837.tif 000009
【図７】
2020183837.tif 000010
【図８】
2020183837.tif 000011
【図９】
2020183837.tif 000012
【図１０】
2020183837.tif 000013
【図１１】
2020183837.tif 000014
【図１２】
2020183837.tif 000015
【図１３】
2020183837.tif 000016
【図１４】
2020183837.tif 000017
【図１５】
2020183837.tif 000018
【図１６】
2020183837.tif 000019
【図１７】
2020183837.tif 000020
【図１８】
2020183837.tif 000021
【図１９】
2020183837.tif 000022
【図２０】
2020183837.tif 000023
【図２１】
2020183837.tif 000024
【図２２】
2020183837.tif 000025
【図２３】
2020183837.tif 000026
【図２４】
2020183837.tif 000027
【手続補正書】
【提出日】令和3年3月9日(2021.3.9)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
上記目的を達成するため、本開示に係る計数システムは、撮影範囲に投入されて静止した物品を撮影する撮影装置、および、撮影装置が撮影した物品を計数する計数装置を備える。計数装置は、画像取得部と、二値化部と、面積算出部と、物品数算出部と、情報出力部とを有する。画像取得部は、撮影装置から撮影画像を取得する。二値化部は、画像取得部が取得した撮影画像を二値化する。面積算出部は、二値化部が二値化した撮影画像のピクセル分布を分類した集団の面積を算出する。物品数算出部は、面積算出部が算出した集団の面積から集団ごとの物品の数を算出し、集団ごとの物品の数を合計し、撮影画像に写っている物品の総数を示す物品数情報を生成する。情報出力部は、物品数算出部が生成した物品数情報を出力する。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
撮影範囲に投入されて静止した物品を撮影する撮影装置、および、前記撮影装置が撮影した物品を計数する計数装置を備える計数システムであって、
前記計数装置は、
前記撮影装置から撮影画像を取得する画像取得部と、
前記画像取得部が取得した前記撮影画像を二値化する二値化部と、
前記二値化部が二値化した前記撮影画像のピクセル分布を分類した集団の面積を算出する面積算出部と、
前記面積算出部が算出した集団の面積から集団ごとの物品の数を算出し、前記集団ごとの物品の数を合計し、前記撮影画像に写っている物品の総数を示す物品数情報を生成する物品数算出部と、
前記物品数算出部が生成した前記物品数情報を出力する情報出力部と、
を有する計数システム。
【請求項２】
前記二値化部は、判別分析法で二値化の閾値を算出する請求項１に記載の計数システム。
【請求項３】
前記計数装置は、前記二値化部が二値化した前記撮影画像を縮小する縮小処理部をさらに有し、
前記面積算出部は、前記縮小処理部が縮小した前記撮影画像のピクセル分布を分類した集団の面積を算出する、
請求項１または２の計数システム。
【請求項４】
ユーザが使用するユーザ端末をさらに備え、
前記物品数算出部は、前記面積算出部が算出した集団の面積から物品の数を算出できない計数不可の集団がある場合には、前記計数不可の集団を示す計数不可情報を生成し、
前記情報出力部は、前記物品数算出部が生成した前記計数不可情報を前記ユーザ端末に送信し、
前記物品数算出部は、前記計数不可の集団の物品の数を示す数値情報を前記ユーザ端末から受信すると、前記数値情報が示す前記計数不可の集団の物品の数を採用して、前記撮影画像に写っている物品の総数を算出する、
請求項１から３のいずれか１項に記載の計数システム。
【請求項５】
前記計数装置は、
集団の画像と当該集団の物品の数とを対応付けた集団画像情報を記憶する集団画像記憶部をさらに有し、
前記物品数算出部は、前記計数不可の集団があって、前記計数不可の集団の画像と集団の画像が類似する前記集団画像情報がある場合には、類似する集団の画像に対応付けられた物品の数を、前記計数不可の集団の物品の数として採用して、前記撮影画像に写っている物品の総数を算出し、前記計数不可の集団の画像と集団の画像が類似する前記集団画像情報がない場合には、前記数値情報が示す前記計数不可の集団の物品の数を採用して、前記撮影画像に写っている物品の総数を算出し、前記計数不可の集団の画像と前記数値情報が示す前記計数不可の集団の物品の数とを対応付けて前記集団画像情報を生成する、
請求項４に記載の計数システム。
【請求項６】
前記静止した物品の重なりを崩して計数可能にする均し動作を行う均し動作装置をさらに備え、
前記計数装置は、
前記面積算出部が算出した集団の面積から物品の数を算出できない計数不可の集団がある場合に、前記均し動作装置に前記均し動作を指示する均し動作指示部をさらに有する、
請求項１から３のいずれか１項に記載の計数システム。
【請求項７】
前記計数装置は、
物品を識別する情報と当該物品の前記撮影画像とを対応付けた撮影実績情報を記憶する撮影実績記憶部と、
出庫する物品を識別する情報を含む出庫情報を取得し、前記出庫する物品を識別する情報と前記物品を識別する情報が一致する前記撮影実績情報がある場合には、前記出庫する物品を識別する情報と一致する前記物品を識別する情報に対応付けられた前記撮影画像と前記画像取得部が取得した前記撮影画像とを比較して、前記出庫する物品と前記撮影画像に写っている物品とが一致するか否かを判定し、一致しない場合に警告を示すエラー情報を生成し、前記出庫する物品を識別する情報と前記物品を識別する情報が一致する前記撮影実績情報がない場合には、前記出庫する物品を識別する情報と前記画像取得部が取得した前記撮影画像とを対応付けて前記撮影実績情報を生成する正否判定部と、
をさらに有し、
前記情報出力部は、前記正否判定部が生成した前記エラー情報を出力する、
請求項１から６のいずれか１項に記載の計数システム。
【請求項８】
前記計数装置は、
前記物品数算出部が算出した物品の総数を、当該物品の在庫数から減算して、物品の在庫数を示す在庫情報を更新する在庫更新部をさらに有する、
請求項１から７のいずれか１項に記載の計数システム。
【請求項９】
前記計数装置は、
計数範囲を規定するマーカを示すマーカ情報を記憶するマーカ記憶部をさらに有し、
前記二値化部は、前記撮影画像から前記マーカ情報が示すマーカを検出して計数範囲を特定し、計数範囲の前記撮影画像を二値化する、
請求項１から８のいずれか１項に記載の計数システム。
【請求項１０】
前記撮影画像および前記物品数情報を含むデータを取得するデータ取得部と、
前記物品数情報が示す前記撮影画像に写っている物品の総数の正否を示す正否情報を取得する正否情報取得部と、
前記撮影画像および前記物品数情報を含むデータ、ならびに、前記正否情報に基づいて生成されるデータセットから、前記計数装置の計数結果または前記計数装置の計数結果の正否を学習する学習部と、
をさらに有する、
請求項１から９のいずれか１項に記載の計数システム。
【請求項１１】
前記計数装置が計数する物品は、基板に実装される部品であって、
前記計数装置が計数した前記部品を部品供給部に収納し、前記部品供給部に収納された前記部品を前記基板に配置する部品配置装置をさらに備え、
前記情報出力部は、前記物品数情報を前記部品配置装置に出力し、
前記部品配置装置は、前記物品数情報が示す前記撮影画像に写っている部品の総数に基づいて、前記部品供給部に一定数の前記部品を収納する、
請求項１から１０のいずれか１項に記載の計数システム。
【請求項１２】
撮影範囲に投入されて静止した物品を撮影する撮影装置から撮影画像を取得する画像取得部と、
前記画像取得部が取得した前記撮影画像を二値化する二値化部と、
前記二値化部が二値化した前記撮影画像のピクセル分布を分類した集団の面積を算出する面積算出部と、
前記面積算出部が算出した集団の面積から集団ごとの物品の数を算出し、前記集団ごとの物品の数を合計し、前記撮影画像に写っている物品の総数を示す物品数情報を生成する物品数算出部と、
前記物品数算出部が生成した前記物品数情報を出力する情報出力部と、
を備える計数装置。
【請求項１３】
請求項１２に記載の計数装置の計数結果または前記計数装置の計数結果の正否を学習する機械学習装置であって、
前記撮影画像および前記物品数情報を含むデータを取得するデータ取得部と、
前記物品数情報が示す前記撮影画像に写っている物品の総数の正否を示す正否情報を取得する正否情報取得部と、
前記撮影画像および前記物品数情報を含むデータ、ならびに、前記正否情報に基づいて生成されるデータセットから、前記計数装置の計数結果または前記計数装置の計数結果の正否を学習する学習部と、
を備える機械学習装置。
【請求項１４】
撮影装置が実行する、
撮影範囲に投入されて静止した物品を撮影する撮影ステップと、
計数装置が実行する、
前記撮影装置が撮影した撮影画像を二値化する二値化ステップと、
前記二値化ステップで二値化した前記撮影画像のピクセル分布を分類した集団の面積を算出する面積算出ステップと、
前記面積算出ステップで算出した集団の面積から集団ごとの物品の数を算出し、前記集団ごとの物品の数を合計し、前記撮影画像に写っている物品の総数を示す物品数情報を生成する物品数算出ステップと、
前記物品数算出ステップで生成した物品数情報を出力する情報出力ステップと、
を備える計数方法。
【請求項１５】
撮影装置が実行する、
撮影範囲に投入されて静止した部品を撮影する撮影ステップと、
計数装置が実行する、
前記撮影装置が撮影した撮影画像を二値化する二値化ステップと、
前記二値化ステップで二値化した前記撮影画像のピクセル分布を分類した集団の面積を算出する面積算出ステップと、
前記面積算出ステップで算出した集団の面積から集団ごとの前記部品の数を算出し、前記集団ごとの前記部品の数を合計し、前記撮影画像に写っている前記部品の総数を算出する部品数算出ステップと、
部品配置装置が実行する、
前記部品数算出ステップで算出された前記撮影画像に写っている前記部品の総数に基づいて、部品供給部に一定数の前記部品を収納する収納ステップと、
前記部品供給部に収納された前記部品を基板に配置する配置ステップと、
を備える部品配置方法。
【請求項１６】
コンピュータを、
撮影範囲に投入されて静止した物品を撮影した撮影画像を二値化する二値化部、
前記二値化部が二値化した前記撮影画像のピクセル分布を分類した集団の面積を算出する面積算出部、
前記面積算出部が算出した集団の面積から集団ごとの物品の数を算出し、前記集団ごとの物品の数を合計し、前記撮影画像に写っている物品の総数を示す物品数情報を生成する物品数算出部、および、
前記物品数算出部が生成した物品数情報を出力する情報出力部、
として機能させるプログラム。
【国際調査報告】
2020183837.tif 000028
2020183837.tif 000029
2020183837.tif 000030
2020183837.tif 000031
2020183837.tif 000032
2020183837.tif 000033