(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-30
(45)【発行日】2022-12-08
(54)【発明の名称】物品認識システムおよび物品認識方法
(51)【国際特許分類】
G06T 7/00 20170101AFI20221201BHJP
【FI】
G06T7/00 610Z
(21)【出願番号】P 2019082646
(22)【出願日】2019-04-24
【審査請求日】2021-09-30
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001689
【氏名又は名称】青稜弁理士法人
(72)【発明者】
【氏名】知原 信博
(72)【発明者】
【氏名】西垣戸 貴臣
(72)【発明者】
【氏名】木村 宣隆
(72)【発明者】
【氏名】矢野 泰樹
(72)【発明者】
【氏名】紅山 史子
【審査官】伊知地 和之
(56)【参考文献】
【文献】特開2004-326693(JP,A)
【文献】特開2006-293600(JP,A)
【文献】特開2001-229341(JP,A)
【文献】特開2011-205282(JP,A)
【文献】特開2016-039390(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00 - 7/90
CSDB(日本国特許庁)
(57)【特許請求の範囲】
【請求項1】
撮影した画像を入力する入力部と、
ユーザに情報を提示する出力部と、
認識対象の特徴を定義したマスタデータを記憶する記憶部と、
前記画像から抽出した情報と前記マスタデータに基づいて、前記画像の中の認識対象を検出する認識部と、
前記認識部の認識内容を評価し、評価結果に基づいて前記出力部にアラートを提示する認識評価部と、
を備え、
前記認識部は、前記画像の中の認識対象の特徴点を抽出し、
前記認識評価部は、抽出した前記特徴点の数あるいは抽出した前記特徴点の数の前記マスタデータの特徴点の数に対する割合が第1の警告閾値を下回った場合に、前記アラートとして第1の警告情報を提示し、
前記認識評価部は、抽出した前記特徴点の数あるいは抽出した前記特徴点の数の前記マスタデータの特徴点の数に対する割合が前記第1の警告閾値より低い第1の停止閾値を下回った場合に、システムに所定の動作を指示する
、
物品認識システム。
【請求項2】
撮影した画像を入力する入力部と、
ユーザに情報を提示する出力部と、
認識対象の特徴を定義したマスタデータを記憶する記憶部と、
前記画像から抽出した情報と前記マスタデータに基づいて、前記画像の中の認識対象を検出する認識部と、
前記認識部の認識内容を評価し、評価結果に基づいて前記出力部にアラートを提示する認識評価部と、
を備え、
前記認識部は、前記マスタデータの特徴点の特徴量と前記画像の中の認識対象の特徴点の特徴量を照合して対応付け、
前記認識評価部は、前記マスタデータの特徴点と前記画像の中の認識対象の特徴点が対応付けられる数あるいは割合が第2の警告閾値を下回った場合に、前記アラートとして第2の警告情報を提示し、
前記認識評価部は、前記マスタデータの特徴点と前記画像の中の認識対象の特徴点が対応付けられる数あるいは割合が前記第2の警告閾値より低い第2の停止閾値を下回った場合に、システムに所定の動作を指示する
、
物品認識システム。
【請求項3】
撮影した画像を入力する入力部と、
ユーザに情報を提示する出力部と、
認識対象の特徴を定義したマスタデータを記憶する記憶部と、
前記画像から抽出した情報と前記マスタデータに基づいて、前記画像の中の認識対象を検出する認識部と、
前記認識部の認識内容を評価し、評価結果に基づいて前記出力部にアラートを提示する認識評価部と、
を備え、
前記認識部は、前記マスタデータの特徴点の特徴量と前記画像の中の認識対象の特徴点の特徴量を照合して対応付け、
前記認識評価部は、前記マスタデータの特徴点と前記画像の中の認識対象の特徴点が対応付けられる数あるいは割合が第2の警告閾値を下回った場合に、前記アラートとして第2の警告情報を提示し、
前記認識部は、前記画像の中の認識対象の姿勢を推定する処理を行い、対応付けられる前記マスタデータの特徴点と前記画像の中の認識対象の特徴点の位置が所定以上離れた特徴点を排除し、排除後に残った特徴点を一致点とし、
前記認識評価部は、前記一致点の数あるいは前記一致点の前記マスタデータの特徴点の数に対する割合が第3の警告閾値を下回った場合に、前記アラートとして第3の警告情報を提示し、
前記認識評価部は、前記一致点の数あるいは前記一致点の前記マスタデータの特徴点の数に対する割合が前記第3の警告閾値より低い第3の停止閾値を下回った場合に、システムに所定の動作を指示する
、
物品認識システム。
【請求項4】
撮影した画像を入力する入力部と、
ユーザに情報を提示する出力部と、
認識対象の特徴を定義したマスタデータを記憶する記憶部と、
前記画像から抽出した情報と前記マスタデータに基づいて、前記画像の中の認識対象を検出する認識部と、
前記認識部の認識内容を評価し、評価結果に基づいて前記出力部にアラートを提示する認識評価部と、
を備え、さらに、
パラメータ調整部を備え、
前記認識評価部は、前記認識部の認識内容を評価し、評価結果に基づいて前記出力部にアラートを提示するとともに前記パラメータ調整部にパラメータ調整を指示し、
前記パラメータ調整部は、
前記画像の撮影のための撮影パラメータ、撮影した画像を処理する画像処理パラメータ、および前記認識部の処理に用いるパラメータの少なくとも一つを変化させ、
変化させたパラメータを使用して、前記認識部に前記画像の中の認識対象の検出を行わせて、前記認識評価部に前記認識部の認識内容を評価させる試行シーケンスを行い、
前記認識評価部の認識内容の評価結果に基づいて、前記出力部に変更すべきパラメータの候補を提示する
、
物品認識システム。
【請求項5】
前記認識評価部の認識内容の評価結果に基づいて、前記出力部に変更すべきパラメータの候補を提示する際に、前記認識評価部の認識内容の評価結果を提示する、
請求項
4記載の物品認識システム。
【請求項6】
前記認識評価部の認識内容の評価結果に基づいて、前記出力部に変更すべきパラメータの候補を提示する際に、ユーザがパラメータの候補の提示条件あるいは提示方法を変更可能である、
請求項
5記載の物品認識システム。
【請求項7】
機械系制御部を備え、
前記機械系制御部は、前記認識部が前記画像の中の認識対象を検出した後、当該認識対象を機械的に操作する機械系を制御するものであり、
前記試行シーケンスを前記機械系の制御と並行して行う、
請求項
4記載の物品認識システム。
【請求項8】
前記出力部に前記試行シーケンスに必要な時間を提示し、ユーザが前記試行シーケンスで変化させるパラメータの数および内容の少なくとも一つを変更可能である、
請求項
7記載の物品認識システム。
【請求項9】
認識対象の特徴およびその配置をマスタデータとして記憶しておき、画像中の認識対象を検出する物品認識方法であって、
物品を撮影した画像を入力する第1のステップと、
前記画像から特徴を抽出し、前記マスタデータと特徴およびその配置が所定以上の照合度で対応付けられる物品を画像の中から検出する第2のステップと、
前記第2のステップにおいて、前記照合度が停止閾値を下回ったかどうかを判定する第3のステップと、
前記第2のステップにおいて、前記照合度が前記停止閾値より高いアラート閾値を下回ったかを判定する第4のステップと、
前記第4のステップにおいて、アラート閾値を下回ったと判定された場合、前記第2のステップで用いるパラメータを変更して前記第2のステップを試行する第5のステップと、
前記第5のステップによる、前記第2のステップの試行結果の照合度を評価する第6のステップと、
前記第6のステップによる評価の結果をユーザに提示する第7のステップと、
を備える物品認識方法。
【請求項10】
前記第2のステップでは、
前記画像の中の特徴点を抽出し、前記マスタデータの特徴点の特徴量と前記画像の中の認識対象の特徴点の特徴量を照合して対応付け、前記画像の中の認識対象の姿勢を推定する処理を行い、対応付けられる前記マスタデータの特徴点と前記画像の中の認識対象の特徴点の位置が所定以上離れた特徴点を排除し、排除後に残った特徴点に基づいて前記照合度を計算する、
請求項
9記載の物品認識方法。
【請求項11】
前記第3のステップにおいて、停止閾値を下回ったと判定されない限り、前記第1乃至第4のステップが継続して行われ、前記第1乃至第4のステップのバックグラウンドで、前記第5乃至第7のステップが行われる、
請求項
9記載の物品認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像中の物品を認識する技術に係わる。
【背景技術】
【0002】
物品のピッキング作業の自動化を実現するため、撮影した画像中の対象物品を認識する技術が開発されている。このような技術は、例えば物流の現場において、物品のロボットによる仕分けを行なう際に有用であり、認識精度の向上が求められている。
【0003】
撮影した画像中の物品を認識しようとする場合、周囲の環境の変化により、運用中に明るさの条件などが変化することが想定される。周囲環境の変化としては、季節の変化、周囲の設備の配置の変更、照明の変化など種々のものが考えられる。
【0004】
周囲環境の変化により認識パラメータの最適値が変化し、その結果として認識の失敗が発生すると、不適切な作業が行なわれたり作業が停止したりする等の問題が発生する。認識パラメータの調整については、特許文献1や特許文献2が知られている。
【0005】
特許文献1が開示する構成は、早い段階で安定して認識モデルの局所最適状態に到達させるため、モデルの最適なパラメータ調整量を算出する最適パラメータ調整量算出手段と、最適パラメータ調整量算出手段によって算出された最適なパラメータ調整量によりモデルのパラメータを調整する調整手段とを有している。
【0006】
特許文献2が開示する技術では、多くの局所特徴量を安定的に生成するため、パラメータ調整部は、学習画像を変換するための第1~第nのパラメータ値を決定する。画像変換部は、第1~第nのパラメータ値を用いて学習画像を変換することによって、第1~第nの変換画像を生成する。局所特徴量抽出部は、第1~第nの各変換画像における特徴領域を特定し、特徴領域から局所特徴量を抽出する。クラスタ生成部は、局所特徴量をクラスタリングすることにより、認識用データとして利用可能なクラスタを生成する。
【先行技術文献】
【特許文献】
【0007】
【文献】特開2001-272994号公報
【文献】特開2013-238953号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
特許文献1が開示する技術では、認識のパラメータは完全自動で算出している。しかし実際の現場では、周囲環境の変化として無数の要因が考えられる。よって、周囲環境の変化に追従して、完全自動で最適なパラメータを求めることは困難である。
【0009】
特許文献2が開示する技術では、学習段階で画像の変動要因をパラメータとして列挙できないと成立しない。実際には環境変動要因は無数にあり、事前に全て網羅することは困難である。
【0010】
本発明の課題は、画像中の物品を認識する際に、作業環境の変化による適切な認識パラメータの変動に対して、作業現場で対応可能な技術を提供することにある。
【課題を解決するための手段】
【0011】
本発明の好ましい一側面は、撮影した画像を入力する入力部と、ユーザに情報を提示する出力部と、認識対象の特徴を定義したマスタデータを記憶する記憶部と、画像から抽出した情報とマスタデータに基づいて、画像の中の認識対象を検出する認識部と、認識部の認識内容を評価し、評価結果に基づいて出力部にアラートを提示する認識評価部と、を備える物品認識システムである。
【0012】
認識内容の評価対象の例としては、画像の中の抽出された特徴点の数、マスタデータの特徴点と画像の中の特徴点のマッチング数、照合度等がある。照合度は、例えば画像の中の認識対象の姿勢を推定する処理を行い、対応付けられるマスタデータの特徴点と画像の中の特徴点の位置が所定以上離れた特徴点を排除し、排除後に残った特徴点である一致点の数に基づいて計算する。
【0013】
また、より具体的な例として、アラートを提示するかどうかの判断は、評価対象と予め定めた閾値との比較で行うことができる。アラートを提示するかどうかの判断に用いる閾値は、システムを停止するかどうかの判断に用いる閾値よりも高い閾値を用いる。
【0014】
また、他の具体的な例として、パラメータ調整部をさらに備え、認識評価部は、認識部の認識内容を評価し、評価結果に基づいて出力部にアラートを提示するとともにパラメータ調整部にパラメータ調整を指示する。パラメータ調整部は、画像の撮影のための撮影パラメータ、撮影した画像を処理する画像処理パラメータ、および認識部の処理に用いるパラメータの少なくとも一つを変化させ、変化させたパラメータを使用して、認識部に画像の中の認識対象の検出を行わせて、認識評価部に認識部の認識内容を評価させる試行シーケンスを行う。そして、認識評価部の認識内容の評価結果に基づいて、出力部に変更すべきパラメータの候補を提示する。
【0015】
本発明の好ましい他の一側面は、認識対象の特徴およびその配置をマスタデータとして記憶しておき、画像中の認識対象を検出する物品認識方法である。この方法では、物品を撮影した画像を入力する第1のステップと、画像から特徴を抽出し、マスタデータと特徴およびその配置が所定以上の照合度で対応付けられる物品を画像の中から検出する第2のステップと、第2のステップにおいて、照合度が停止閾値を下回ったかどうかを判定する第3のステップと、第2のステップにおいて、照合度が停止閾値より高いアラート閾値を下回ったかを判定する第4のステップと、第4のステップにおいて、アラート閾値を下回ったと判定された場合、第2のステップで用いるパラメータを変更して第2のステップを試行する第5のステップと、第5のステップによる、第2のステップの試行結果の照合度を評価する第6のステップと、第6のステップによる評価の結果をユーザに提示する第7のステップと、を備える。
【0016】
具体的な実施例では、第3のステップにおいて、停止閾値を下回ったと判定されない限り、第1乃至第4のステップが継続して行われ、第1乃至第4のステップのバックグラウンドで、第5乃至第7のステップが行われる。
【発明の効果】
【0017】
画像中の物品を認識する際に、作業環境の変化による適切な認識パラメータ変動に対して、作業現場で対応可能な技術を提供することができる。上記した以外の具体的な課題、構成、及び効果は、以下の実施形態の説明により明らかにされるであろう。
【図面の簡単な説明】
【0018】
【
図1】実施例の物品認識システムの構成例を示すブロック図。
【
図2】実施例の物品認識システムの認識処理を示すフローチャート。
【
図3】パラメータ調整部が実行する、パラメータの調整処理を行うフローチャート。
【
図4】試行シーケンスの具体例を示すフローチャート。
【
図6】端末の表示画面に表示される情報の例を示す模式図。
【
図7】物品認識システムの初期設定における閾値設定画面の例を示す模式図。
【
図8】物品認識システムの初期設定における試行シーケンス設定画面の例を示す模式図。
【発明を実施するための形態】
【0019】
実施の形態について、図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【0020】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【0021】
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
【0022】
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【0023】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
【0024】
本明細書で引用した刊行物、特許および特許出願は、そのまま本明細書の説明の一部を構成する。
【0025】
本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
【0026】
発明者らの検討によると、作業環境の変化により変化する認識パラメータの最適値に対応する場合、運用現場でしか判断できない要素を含むため、運用段階での動的な変更が必要である。そのための具体的な構成としては、ユーザに警告を通知し、ユーザに運用現場でパラメータを選択する機会を与えることが望ましいと考えた。
【0027】
実施例で説明される物品認識技術の一例では、マスタと撮影画像との照合度やマッチング数を計算し、これらが閾値を下回ったときに、ユーザに対してアラートを通知し、認識パラメータの再設定を促す。上記の閾値は、認識が失敗に至らない値で設定することで、システム停止に至る前の調整を可能とする。
【実施例1】
【0028】
<1.システム構成>
図1は、実施例の物品認識システムの構成例を示すブロック図である。物品認識システムは、一般的なサーバ等で構成される情報処理装置100と、物品を撮影するカメラ150およびユーザが操作する端末160を備える。
【0029】
情報処理装置100は、メモリ110、処理装置(CPU)120、記憶装置130、および入出力インタフェース140を備える。情報処理装置100は、一般的なサーバが備える他の構成を備えていてもよい。メモリ110は一般的な半導体メモリで、記憶装置130は磁気ディスク装置等で構成することができる。なお、情報処理装置100の各部分は、図示されないバスによって接続され、情報の送受信が可能である。
【0030】
本実施例では計算や制御等の機能は、メモリ110に格納されたソフトウェアが処理装置120によって実行されることで、定められた処理を他のハードウェアと協働して実現される。情報処理装置100が実行するソフトウェア、その機能、あるいはその機能を実現する手段を、「~部」、「~モジュール」等と呼ぶ場合がある。
【0031】
メモリ110には、物品を認識するソフトウェアである認識部111、認識結果を評価するソフトウェアである認識評価部112、認識に関係するパラメータを調整するソフトウェアであるパラメータ調整部113を含む。
【0032】
認識対象となる物品(図示せず)は、ビデオカメラ等のカメラ150によって撮影され、撮影された画像は入出力インタフェース140を介して、認識部111に入力される。入出力インタフェース140は、入力部および出力部として独立に構成してもよい。
【0033】
認識部111では、認識のためのアルゴリズムに従って、撮影された画像中の物品を認識する。その際に、記憶装置130に記憶されるマスタデータ131が、メモリ110に読みだされて利用される。
【0034】
認識のためのアルゴリズムは、公知の技術が使用可能である。一般には、事前に対象物品の画像から、特徴およびその配置をマスタデータ131として記憶しておく。具体例としては特徴点の配置および特徴点に対応する特徴量である。撮影された画像から特徴点を抽出し、特徴点に対する特徴量を算出し、マスタデータ131の特徴点および特徴量とマッチングを行う。マッチングの結果に基づいて、画像中の物品を認識する。
【0035】
ここで、作業環境が変化すると撮影される画像の状態が変化し、適切な認識処理が困難になる場合がある。そのような場合、認識処理のためのパラメータを適切な値に変更する必要がある。本実施例では最適なバラメータを、作業現場で設定可能な技術を提供する。
【0036】
以上の構成は、単体のサーバで構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置等の任意の部分が、ネットワークで接続された他のサーバで構成されてもよい。
【0037】
本実施例中、ソフトウェアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウェアでも実現できる。そのような態様も本願発明の範囲に含まれる。
【0038】
上記の認識処理で認識された物品は、例えばピッキング処理により機械的な操作を受ける。本システムでは、物品の機械的な操作のために機械系制御部114を備える。機械系制御部は、入出力インタフェース140を介して機械系170の動作を制御する。機械系170の例としては、ロボットアームや各種工作機械等がある。なお、情報処理装置100とカメラ150、端末160、機械系170の間の接続は、有線接続および無線接続のいずれでも可能である。
【0039】
<2.処理フロー>
図2は、実施例の物品認識システムの認識処理を示すフローチャートである。本実施例では、物品の認識を行い、さらに認識した物品を機械的にピッキングする例を示している。
【0040】
まず、カメラ150は、対象の物品の存在が想定される領域の撮影処理S201を行う。撮影された画像は、認識部111に送られる。カメラ150は、例えば固定された所定の範囲を撮影するものでもよいし、ロボットアームの先端に配置されてロボットアームの移動に伴って視野が変化するものでもよい。
【0041】
認識部111では、撮影された画像から特徴点を抽出する検出と、特徴点に対応する領域を表現する記述を行う。これらの処理自体は公知である。特徴点の検出は例えば、微分によりエッジとなる点を抽出する方法、Harris corner Detection等の方法を用いて角を抽出する方法、同一色のエリアを抽出し、そのエリアの中心を特徴点の位置にする方法等があるが、特に限定されるものではない。
【0042】
特徴量を表現する方法についても、SIFT(Scale-Invariant Feature Transform)やHoG(Histograms of Oriented Gradients)等の局所画像特徴量や、SHOT(Signature of Histograms of Orientations)などの三次元特徴量を抽出する技術が知られている。他にも公知の特徴量があり、本実施例では上記に限定するものではない。
【0043】
例えば、SIFTの特徴量抽出では、DoG(Difference of Gaussian)処理により特徴点のスケールと位置を抽出し、スケール内の勾配情報からオリエンテーションを求め、オリエンテーション方向に空間を回転させて特徴量を記述する。そして、あらかじめ記憶しておいた、対象物品の特徴点および特徴量とマッチングを行って、物品の認識を行う。
【0044】
本実施例では、まず認識部111において特徴点を抽出する特徴点抽出処理S202を行い、認識評価部112では画像から十分な特徴点が検出されたかどうかを判定する。
【0045】
特徴点数の判定は2段階となっており、特徴点数の判定処理S203では、特徴点数が閾値S1を下回ったかどうかを判定する。特徴点数が閾値S1を下回った場合には、システムを停止する(S204)。ただし、閾値S1は直ちに認識が不可能になるレベルではなく、所定の余裕をもって定めることが望ましい。
【0046】
特徴点数が閾値S1以上の場合、特徴点数が閾値A1を下回ったかどうかを判定する(S205)。閾値A1は閾値S1より大きく設定されており、現状では適切な認識はできるが、それ以上特徴点数が少なくなると、システムを停止する必要があることを判定する。特徴点数が閾値A1を下回った場合には、パラメータ調整S206を行う。パラメータ調整については、後に詳しく説明する。
【0047】
十分な数の特徴点が抽出された場合、認識部111は各特徴点について特徴量を算出する(S207)。その後、マスタデータ131の特徴量とマッチングS208を行い、マッチする特徴量同士を対応付ける。
【0048】
認識評価部112はマッチングの結果について、十分なマッチングがされたかどうかを判定する。マッチング点数の判定は2段階となっており、マッチング点数の判定処理S209では、マッチング点数が閾値S2を下回ったかどうかを判定する。マッチング点数が閾値S2を下回った場合には、システムを停止する(S204)。ただし、閾値S2は直ちに認識が不可能になるレベルではなく、所定の余裕をもって定めることが望ましい。
【0049】
マッチング点数が閾値S2以上の場合、マッチング点数が閾値A2を下回ったかどうかを判定する(S210)。閾値A2は閾値S2より大きく設定されており、現状では適切な認識はできるが、それ以上マッチング点数が少なくなると、システムを停止する必要があることを判定する。マッチング点数が閾値A2を下回った場合には、パラメータ調整S206を行う。パラメータ調整については、後に詳しく説明する。
【0050】
十分な数のマッチング点が抽出された場合、認識部111は画像中の物品の三次元姿勢を推定する処理を行い、マスタデータ131の特徴点および特徴量とマッチングを行う(S211)。ここでは、画像中の物品とマスタの特徴量同士の位置が一致するように両者の姿勢を合わせる。そして、RANSAC(Random Sample Consensus)アルゴリズム等を用いて、位置が所定以上離れた特徴点と特徴量は排除する。排除後に残った特徴の総数を一致点とする。なお、本明細書では一致点に基づいて算出される数値を照合度と呼ぶことがある。
【0051】
マッチングの結果について、認識評価部112は十分な一致点数が得られたかどうかを判定する。一致点数の判定は2段階となっており、一致点数の判定処理(S212)では、一致点数が閾値S3を下回ったかどうかを判定する。
【0052】
一致点数が閾値S3を下回った場合には、システムを停止する(S204)。ただし、閾値S3は直ちに認識が不可能になるレベルではなく、所定の余裕をもって定めることが望ましい。
【0053】
一致点数が閾値S3以上の場合、一致点数が閾値A3を下回ったかどうかを判定する(S213)。閾値A3は閾値S3より大きく設定されており、それ以上一致点数が少なくなると、システムを停止する必要があることを判定する。一致点数が閾値A3を下回った場合には、パラメータ調整S206を行う。パラメータ調整については、後に詳しく説明する。
【0054】
認識が正常に終了すると、システムの機械系制御部114は、機械系例えばロボットアームに物品のピッキングを指示する(S214)。1回のピッキング動作が終了すると、システムは次の撮影処理S201以下を繰り返し、次のピッキングを行う。
【0055】
以上で説明したフローでは、認識評価部112がチェックする箇所を3か所設けている。(1)抽出された特徴点の数が十分かどうか(S203およびS205)、(2)特徴量のマッチング数が十分かどうか(S209およびS210)、(3)画像の物品とマスタ物品の姿勢を合わせてずれている特徴量を削除した残りの数(照合度)が十分かどうか(S213およびS214)である。ただし、本実施例の変形例として、上記(1)~(3)の1つあるいは2つを省略して実施してもよい。また、閾値としては、絶対数を表す閾値でもよいし、相対的な値、例えば基準となる数に対する割合を表す閾値でもよい。
【0056】
<3.パラメータ調整>
パラメータ調整は、パラメータ調整部113が実行する。
<3-1.調整対象パラメータ>
本実施例で調整可能なパラメータとしては、以下のものが考えられる。もっとも、これらの全てを調整する必要はない。また、これら以外のパラメータを含めることも可能である。後に
図8で説明するように、オペレータが端末160からあらかじめ調整するパラメータを選択できるようにしてもよい。
【0057】
撮影処理S201におけるパラメータとしては、カメラのシャッター速度、露光時間、解像度、フレームレートなどがある。また、撮影処理S201後の画像処理、あるいは特徴点抽出処理S202の前処理としての画像処理のパラメータとして、画像圧縮率、明度補正、色補正、コントラスト補正、さらに、各種フィルタ(エッジ強調、スムージング等)のパラメータがある。
【0058】
特徴点抽出処理S202で用いられるパラメータとしては、特徴点抽出アルゴリズムのパラメータがある。
【0059】
特徴量抽出S207およびマッチングS208に関連するパラメータとして、特徴量計算のパラメータ、マッチング処理のパラメータ、複数特徴量を同時に使用する際の、各特徴量の重みパラメータがある。
【0060】
三次元姿勢推定S211に関連するパラメータとして、位置合わせのアルゴリズムのパラメータ、RANSACアルゴリズムのパラメータ(たとえば、特徴がどれだけずれたら排除するかの許容誤差閾値)がある。
【0061】
<3-2.パラメータ調整フロー>
図3はパラメータ調整部113が実行する、パラメータの調整処理を行うフローを示す図である。
図2の判定S205、S210、S213のいずれかでYESに分岐した場合、パラメータ調整S206が開始される。なお、この分岐を以下「アラート」ということがある。
【0062】
アラートが発生した場合には、リアルタイムで端末160にアラートの表示を行うとともに、オペレータ(作業員)を呼び出す処理を行う。オペレータを呼び出す方法は特に限定しないが、現場における音や画像による警報、オペレータが携帯する携帯端末への通知等の方法がある。呼び出しを受けたオペレータは、確認と処理のため端末160の場所へ向かう。物品認識システムはこれと同時並行して、パラメータ調整S206のフローを実行する。なお、アラートが発生しても、システム停止S204の状態になっていない限り、物品認識システムは通常の処理を継続している。
【0063】
パラメータ調整部113は、アラートを受けるとパラメータを所定のパターンで変更して、物品の撮影や認識を行い、認識の評価結果を記録する試行シーケンスS301を行う。
【0064】
一連の試行シーケンスが終了すると、その評価結果は端末160に提示され、オペレータの応答を待つ(S302)。
【0065】
オペレータは、端末160に提示された評価結果を確認し、端末160を操作して必要に応じてパラメータを変更する(S303)。カメラ150や認識部111のパラメータ変更後、当該パラメータによって、物品認識システムは処理を継続する。
【0066】
<3-3.試行シーケンス>
図4は、試行シーケンスS301の具体例を示すフロー図である。試行シーケンスでは、パラメータを変更して認識を行い、その結果を評価する。認識と認識評価の処理は、基本的に
図2の処理と同様であり、同様の処理については同じ符号を付している。
【0067】
ただし、試行シーケンスS301では、特徴点抽出処理S202後に、抽出した特徴点の数を記録する処理S402を行う。また、マッチングS208後に、マッチングの点数を記録する処理S403を行う。また、三次元姿勢推定S211後に、一致点数記録処理S404を行う。記録したデータは、対応するパラメータとともにメモリ110か記憶装置130に記録され、後に端末160に表示される。
【0068】
試行パラメータ設定S401では、試行する認識処理のために、パラメータをあらかじめ定めた方法により設定する。パラメータが複数ある場合には、それぞれのパラメータを変えて複数の組み合わせを試行する。パラメータの設定方法については、あらかじめオペレータが端末160で設定することができる。後に
図8で説明する。
【0069】
設定したパラメータを全て試行したかどうかを判定し(S405)、すべて実行済みであれば、試行シーケンスS301を終了する。なお、
図4では処理ループは撮影処理S201に戻っているが、撮影処理のパラメータを変更しない場合には、現状の画像を用いて、特徴点抽出処理S202以降を繰り返せばよい。
【0070】
図5は、試行シーケンスS301の概念を説明する模式図である。
図5は横軸に時間を示しており、
図2に対応して、通常の認識処理である撮影処理S201、認識S202、S203、S205、S207~S213、およびピッキングS214が順次実行される。認識の途中で、パラメータ調整S206への分岐(アラート)があった場合には、試行シーケンスS301が開始される。
【0071】
図5に示すように、試行シーケンスS301は、通常の認識処理のバックグラウンドで実行することができる。撮影、認識の処理時間に比べて、機械的操作であるピッキング処理は100~1000倍の時間を要する。そのため、
図5に示すように、ピッキング処理S214の時間を利用して、n通りの試行を行うことが可能である。
【0072】
<3-4.試行結果提示およびパラメータ選択>
図3に戻り、試行シーケンスS301が終わると、試行結果提示処理S302およびパラメータ変更処理S303が行われる。
【0073】
図6は試行結果提示処理S302の結果、端末160の表示画面(モニタ画面)に表示される情報の例を示す図である。パラメータ調整部113は、試行シーケンスS301終了後に、特徴点数記録S402、マッチング点数記録S403、一致点数記録S404で記録されたデータに基づいて、端末160に結果を表示する。
【0074】
図6の領域601には、
図2の3つの判定処理である、抽出された特徴点の数(S205)、特徴量のマッチング数(S210)、ずれている特徴量を削除した残りの数(S214)のいずれでアラートが生じたかが、物品認識アラート情報として表示される。
図6の例では、インジケータ602の表示によって、特徴量のマッチング数(S210)とずれている特徴量を削除した残りの数(S214)で、アラートが生じていることがわかる。また同時に、現状値および基準値(閾値)も表示される。
【0075】
図4で説明した試行シーケンスによって、メモリ110または記憶装置130には、変更したパラメータの条件ごとに、得られた特徴点数、マッチング点数、一致点数のデータが対応付けられている。通常、試行したすべてのパラメータの条件の結果を表示するのは煩雑であるため、パラメータ調整部113は所定のアルゴリズムに従ってそれぞれの試行結果に成績を付し、成績順に表示する等の方法が望ましい。
【0076】
図6の例では、領域603に成績順にパラメータ変更候補が示されている。パラメータ変更候補には、パラメータの種類、現状値、および変更値が表示される。また、図には示していないが、パラメータ変更候補ごとに、特徴点抽出数、特徴点マッチング点数、姿勢推定後特徴一致数を表示できるようにしてもよい。オペレータは、表示された候補からポインティングデバイス等を用いて、例えばボックス604にチェックを入れるなどにより、任意の候補を選択することができる。
【0077】
領域601に表示される、どの判定でアラートが発生したかの情報は熟練したオペレータにパラメータ変更のヒントを与えることがある。よって、オペレータが物品認識アラート情報に基づいて、変更するパラメータを絞り込んで、領域603にパラメータ変更候補として表示させることもできる。
図6の例では変更パラメータ指定領域605では、プルダウンメニューで変更するパラメータを指定できる。
図6の例では、特徴点抽出パラメータを変更しているパラメータ変更候補のみを表示している。
【0078】
パラメータ変更候補を決定した後、物品認識システムのパラメータは当該候補に変更され(S303)、当該パラメータを用いて処理が継続される。
【0079】
<4.初期設定例>
図7は、物品認識システムの稼働前の初期設定において、端末160に示される設定画面の例を示す図である。この画面では、認識動作の評価の適用および評価のための閾値設定を行う。
【0080】
領域701において、
図2の判定処理S203,S209,S212で用いるアラート閾値の設定を行う。また、いずれの分岐を適用するかどうかを、ボックス703で指定することができる。
図7の例では、S212の判定を省略している。
【0081】
領域702において、
図2の判定処理S205,S210,S213で用いるシステム停止閾値の設定を行う。また、いずれの分岐を適用するかどうかを、ボックス703で指定することができる。
【0082】
図8は、物品認識システムの稼働前の初期設定において、端末160に示される設定画面の例を示す図である。この画面では、試行シーケンスで試行するパラメータの設定を行う。
【0083】
試行対象となるパラメータは、領域801でプルダウンメニューにより選択できる。試行する範囲は、領域802で例えば現在値からの変更範囲を指定することで行う。領域803では試行するパラメータの粒度を指定する。
図8の露光時間の例では、現在の露光時間からプラスマイナス1秒の範囲を、100分割して試行する。
【0084】
複数のパラメータがある場合には、試行は各パラメータの組み合わせの回数行われる。例えば、
図8の例では、1000回試行が行われる。領域804には、試行時間の予測値が表示される。ユーザは、システムの用途や状況に合わせて、試行対象となるパラメータの内容を決定することができる。
【0085】
図5に示したように、本実施例では試行シーケンスは通常の認識処理のバックグラウンドで行うことができる。よって、試行シーケンスに必要な時間を、例えば1回のピッキング動作の時間より短く設定すれば、その次のピッキングの前に、変更すべきパラメータの候補をオペレータに提示することが可能である。よって、実質的にシステムを停止せずに、現場において適切なパラメータを選択することができる。
【0086】
なお、
図8の画面で設定した試行対象となるパラメータをデフォルトとして、発生したアラートの組み合わせに応じて、試行対象となるパラメータを絞り込んでもよい。例えば、
図2の画像の物品とマスタ物品の姿勢を合わせてずれている特徴量を削除した残りの数が十分かどうかの判定(S213)のみでアラートが生じている場合、撮影処理S201に関するパラメータの試行を省略し、現状の撮影パラメータを固定して試行シーケンスを行う。この場合、撮影処理S201の試行を省略し、すでに撮影した画像を用いて試行シーケンスを行えばよい。
【実施例2】
【0087】
物品認識が行われる現場では、周囲で人が動くなど、一時的な環境変化で、パラメータ変更が必要ない場合でもアラートが生じる可能性がある。このような場合、頻繁にオペレータが呼び出され、作業効率が低下する可能性がある。
【0088】
このような状況に対応するには、
図2の判定処理S203、S205、S209、S210、S212、S213において、特定の時点の数値のみを評価するのではなく、所定の時間の間のデータを平均化して評価することで、瞬間的な数値の変動の影響を低下することができる。
【0089】
例えば、マスタと計測データの照合度等を撮影した画像の複数フレームに渡って認識を行い、照合度の平均が閾値を下回った時に、アラートを上げる。
【実施例3】
【0090】
照合度等が下がってアラームが上がった場合に、どのようなパラメータにすれば認識できるようになるのかが分からないため、パラメータの変更数はできるだけ多く試行することが理想的ではある。しかし、試行シーケンスのための必要時間が増加することになる。
【0091】
図5の試行シーケンスS301では、撮影と認識を一組として複数回の試行を行っている。しかし、撮影に関するパラメータを固定にすれば、1回の撮影で得た画像に対して、撮影以外の処理にかかわるパラメータを変更した複数の試行を行うことができる。
【0092】
撮影以外の処理にかかわるパラメータとしては、画像処理のパラメータ、特徴点抽出アルゴリズムのパラメータ、特徴量計算のパラメータ、マッチング処理のパラメータ、各特徴量の重みパラメータ、RANSACアルゴリズムの許容誤差閾値等がある。
【0093】
図5の試行シーケンスS301に比べ、撮影が一回で済むため、撮影のパラメータの変更ができない代わり、試行シーケンスが高速に行える。
【実施例4】
【0094】
実施例1の
図6では、複数のパラメータ変更の選択肢が提示される。しかし、全てをオペレータが確認するのが手間となる。また、現場環境の特性や、熟練作業員の経験などから、その現場では大きく変動させたくないパラメータなどがある場合でも、他のパラメータが上位に表示されることがある。
【0095】
機械学習による人工知能を応用すれば、オペレータによる選択結果を収集し、これを教師データとして機械学習を行い、ユーザの選択指向を学習することができる。学習済みの人工知能を利用し、学習結果に応じてパラメータ変更の選択肢にランク付けをして提示することも可能である。
【0096】
以上説明した実施例によれば、カメラなどの撮影部と認識部と認識評価部とを有するシステムにおいて、認識部は、認識パラメータと、マスタデータとして定義された認識対象の特徴に基づいて、撮影部によって撮影された画像から、認識対象を検出する。一方、認識評価部は、検出された認識対象の特徴と、マスタデータに定義された認識対象の特徴の、一致している割合を示す照合度等を算出し、照合度等が所定の閾値を下回った場合は、オペレータに警告する。このような構成によれば、列挙しきれない無数の環境変動要因を動的に変更ならしめるシステムを提供することができる。環境要因の事前定義は限界があるため、現場においてオペレータが対応できる機会を与え、運用で対応可能とする点に大きな効果がある。
【符号の説明】
【0097】
情報処理装置100、メモリ110、処理装置120、記憶装置130、入出力インタフェース140、カメラ150、端末160