(57)【要約】【課題】物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を調整するための代替の方法及びロボットを提供する。【解決手段】少なくとも１つの物体認識パラメータを調整するための方法であって、画像データを受信することと、画像データに基づいて、少なくとも１つの物体認識パラメータを含む物体認識モジュールによって自動的に物体を認識することと、ポーズ推定エラーが生じたか否かを判断することと、ポーズ推定エラーが生じたときに、少なくとも１つの物体認識パラメータを調整することと、を含む方法による。【選択図】図２
2014116007.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの物体認識パラメータを調整するための方法であって、
画像データを受信することと、
該画像データに基づいて、少なくとも１つの物体認識パラメータを含む物体認識モジュールによって自動的に物体を認識することと、
ポーズ推定エラーが生じたか否かを判断することと、
前記ポーズ推定エラーが生じたときに、少なくとも１つの前記物体認識パラメータを調整することと、を含む方法。
【請求項２】
少なくとも１つの前記物体認識パラメータが、ウィンドウサイズ、ノイズフィルタリングパラメータ、推定光量、推定ノイズレベル、特徴記述子パラメータ、又は、画像記述子パラメータである請求項１に記載の方法。
【請求項３】
少なくとも１つの前記物体認識パラメータが認識チューナーモジュールによって調整され、
前記認識チューナーモジュールが認識チューナーモデルを含み、
前記認識チューナーモデルが前記ポーズ推定エラーに基づいて少なくとも１つの前記物体認識パラメータを調整する請求項１に記載の方法。
【請求項４】
前記認識チューナーモデルが、前記ポーズ推定エラーを、調整された少なくとも１つの前記物体認識パラメータにマッピングする請求項３に記載の方法。
【請求項５】
前記画像データに基づいて、物体検出モジュールによって自動的に候補の物体を検出することを更に含み、
前記物体検出モジュールが、少なくとも１つの物体検出パラメータを含み、
前記物体が、検出された前記候補の物体に基づいて認識される請求項１に記載の方法。
【請求項６】
前記ポーズ推定エラーが生じたときに、少なくとも１つの前記物体検出パラメータを調整することを更に含む請求項５に記載の方法。
【請求項７】
少なくとも１つの前記物体検出パラメータが検出チューナーモジュールによって調整され、
前記検出チューナーモジュールが検出チューナーモデルを含み、
前記検出チューナーモデルが前記ポーズ推定エラーに基づいて少なくとも１つの物体検出パラメータを調整する、請求項６に記載の方法。
【請求項８】
前記検出チューナーモデルが、前記ポーズ推定エラーを、調整された少なくとも１つの前記物体認識パラメータにマッピングする請求項７に記載の方法。
【請求項９】
物体認識エラーが生じたか否かを判断することと、
該物体認識エラーが生じたときに、少なくとも１つの前記物体検出パラメータを調整することと、を更に含む請求項５に記載の方法。
【請求項１０】
受信された前記画像データの候補の領域を識別することと、
識別された該領域から特徴の集合を抽出することと、を更に含み、
前記物体認識モジュールが、
物体認識データベースから物体認識参照モデルの特徴の参照集合にアクセスすることと、
識別された前記領域の抽出された前記特徴の参照集合を、前記物体認識参照モデルの前記特徴の参照集合と比較することと、
によって、前記物体を認識する請求項１に記載の方法。
【請求項１１】
識別子を、認識された前記物体に割り当てることを更に含む請求項１に記載の方法。
【請求項１２】
受信された前記画像データの候補の領域を識別することと、
識別された該領域から特徴の集合を抽出することと、を更に含み、
前記ポーズ推定エラーが生じたか否かが、
割り当てられた前記識別子に基づいて選択されたポーズ推定参照モデルの特徴の参照集合に、ポーズ推定データベースからアクセスすることと、
識別された前記領域の前記抽出された特徴の集合を、前記ポーズ推定参照モデルの前記特徴の参照集合と比較することと、
識別された前記領域の前記抽出された特徴の集合が前記ポーズ推定参照モデルの前記特徴の参照集合に適合しないときに前記ポーズ推定エラーが生じたと決定することと、
によって判断される請求項１に記載の方法。
【請求項１３】
少なくとも１つの物体検出パラメータを調整するための方法であって、
画像データを受信することと、
該画像データに基づいて、少なくとも１つの物体検出パラメータを含む物体検出モジュールによって自動的に候補の物体を検出することと、
検出された該候補の物体に基づいて、少なくとも１つの物体認識パラメータを含む物体認識モジュールによって物体を認識することと、
物体認識エラーが生じたか否かを判断することと、
該物体認識エラーが生じたときに、少なくとも１つの前記物体検出パラメータを調整することと、を含む方法。
【請求項１４】
少なくとも１つの前記物体検出パラメータが検出チューナーモジュールによって調整され、
該検出チューナーモジュールが検出チューナーモデルを含み、
該検出チューナーモデルが前記物体認識エラーに基づいて少なくとも１つの前記物体検出パラメータを調整する請求項１３に記載の方法。
【請求項１５】
ロボットであって、
１以上のプロセッサと、
１以上の該プロセッサと通信可能に接続された１以上の画像取込装置と、
１以上の前記プロセッサと通信可能に接続された非一時的メモリ要素と、
該非一時的メモリ要素に記憶され、少なくとも１つの物体検出パラメータを含む物体検出モジュールと、
前記非一時的メモリ要素に記憶され、少なくとも１つの物体認識パラメータを含む物体認識モジュールと、
前記非一時的メモリ要素に記憶された機械可読命令であって、１以上の前記プロセッサによって実行されたときに、当該ロボットに、少なくとも、
１以上の前記画像取込装置からの画像データの受信と、
該画像データに基づいた、前記物体検出モジュールによる候補の物体の検出と、
検出された該候補の物体に基づいた、前記物体認識モジュールによる物体の認識と、
物体認識エラーが生じたか否かの判断と、
該物体認識エラーが生じたときの少なくとも１つの前記物体検出パラメータの調整と、
を実行させる機械可読命令と、を具備するロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概して、物体検出及び／又は物体認識に関し、特に、物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を調整するための方法及びロボットに関する。
【背景技術】
【０００２】
画像内の候補の物体を検出する物体検出方法が用いられる場合がある。画像内の物体を認識する物体認識方法が用いられる場合がある。物体検出方法は、画像内の候補の物体を検出するために、物体検出パラメータを利用する場合がある。物体認識方法は、画像内の物体を認識するために、物体認識パラメータを利用する場合がある。物体検出方法及び物体認識方法の精度を向上させるために、物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を調整することが望ましい。
【０００３】
画像カテゴリ化システム、マシンビジョンシステムなどの種々の環境、及びロボット用途において、物体検出方法及び／又は物体認識方法を用いる場合がある。例えば、ロボット用途において、ロボットは、空間内で作動して特定の作業を実行する場合がある。とりわけ、ロボットは、工場、家庭、オフィス及び医療施設に配備される場合がある。家事ロボット（servant robots）は、作動空間内で操縦され、物体を配置し、物体を操作する任務を負う。例えば、ロボットは、作動領域の範囲内で物体を見つけ、物体をピックアップして、作動空間内で物体を異なる位置へ移動することを命令される場合がある。ロボットは、作動空間内での物体の操作を容易にするために、視覚ベースの物体検出方法及び／又は物体認識方法を一般に利用する。物体を操作する際にロボットを補助するために、ロボットが、正確な物体検出方法及び／又は物体認識方法を採用することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
したがって、物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を調整するための代替の方法及びロボットのニーズが存在する。
【課題を解決するための手段】
【０００５】
一実施形態において、少なくとも１つの物体認識パラメータを調整する方法には、画像データを受信することと、画像データに基づいて、物体認識モジュールにより物体を自動的に認識することとが含まれる。物体認識モジュールには、少なくとも１つの物体認識パラメータが含まれる。方法には、ポーズ推定エラーが生じたか否かを判断することと、ポーズ推定エラーが生じたときに、少なくとも１つの物体認識パラメータを調整することとが更に含まれる。
【０００６】
別の実施形態において、少なくとも１つの物体検出パラメータを調整する方法には、画像データを受信することと、画像データに基づいて、物体検出モジュールにより候補の物体を自動的に検出することとが含まれる。物体検出モジュールには、少なくとも１つの物体検出パラメータが含まれる。方法には、検出された候補の物体に基づいて、物体認識モジュールにより物体を認識することが更に含まれる。物体認識モジュールには、少なくとも１つの物体認識パラメータが含まれる。方法には、物体認識エラーが生じたか否かを判断することと、物体認識エラーが生じたときに、少なくとも１つの物体検出パラメータを調整することとが更に含まれる。
【０００７】
更に別の実施形態において、ロボットには、１以上のプロセッサと、１以上のプロセッサに通信可能に接続される１以上の画像取込装置と、１以上のプロセッサに通信可能に接続される非一時的メモリ要素と、非一時的メモリ要素に記憶される物体検出モジュールと、非一時的メモリ要素に記憶される物体認識モジュールと、非一時的メモリ要素に記憶される機械可読命令とが含まれる。物体検出モジュールには、少なくとも１つの物体検出パラメータが含まれる。物体認識モジュールには、少なくとも１つの物体認識パラメータが含まれる。１以上のプロセッサにより実行されるとき、非一時的メモリ要素に記憶される機械可読命令によって、ロボットは、１以上の画像取込装置から画像データを受信し、画像データに基づいて、物体検出モジュールにより候補の物体を検出し、検出された候補の物体に基づいて、物体認識モジュールにより物体を認識し、物体認識エラーが生じたか否かを判断し、物体認識エラーが生じたときに、少なくとも１つの物体検出パラメータを調整する。
【０００８】
本明細書に説明する実施形態によって提供される、これらの特徴及び追加の特徴は、図面と共に、以下の詳細な説明を考慮することによって十分に理解される。
【０００９】
図面に示す実施形態は、本来、説明のためのもので、例示的なものであり、請求項に規定する主題を限定しないものとする。具体的な実施形態の次に示す詳細な説明は、以下の図面と共に読み込むことで理解することができ、類似する構造は、類似する参照符号によって示す。
【図面の簡単な説明】
【００１０】
【図１Ａ】本明細書で説明し例示する１以上の実施形態による、作動空間内で作動するロボットを概略的に表す。
【図１Ｂ】本明細書で説明し例示する１以上の実施形態による、図１Ａのロボットの内部の構成要素を概略的に表す。
【図２】本明細書で説明し例示する１以上の実施形態による、物体検出パラメータ及び物体認識パラメータを調整する方法のフローチャートを概略的に表す。
【発明を実施するための形態】
【００１１】
本開示の実施形態は、物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を調整するための方法及びロボットに関する。本明細書に説明する実施形態は、画像データを受信し、画像データに基づいて、物体認識モジュールにより物体を自動的に認識し、ポーズ推定エラーが生じたか否かを判断し、ポーズ推定エラーが生じたときに、少なくとも１つの物体認識パラメータを調整することができる。本明細書に説明する実施形態は、画像データを受信し、画像データに基づいて、物体検出モジュールにより候補の物体を自動的に検出し、検出された候補の物体に基づいて、物体認識モジュールにより物体を認識し、物体認識エラーが生じたか否かを判断し、物体認識エラーが生じたときに、少なくとも１つの物体検出パラメータを調整することができる。本明細書に説明するように、物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を調整することによって、物体検出及び／又は物体認識の精度を向上させることができる。物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を調整するための方法及びロボットの種々の実施形態を、以下に詳細に説明する。
【００１２】
最初に、本開示は、ロボットに連結される物体を、検出するため及び／又は認識するために画像データを処理することができる画像処理システムを図示し及び説明しているが、他の実施形態において、本明細書に説明する画像処理システムは、画像処理システムがモバイル機器（例えば、スマートフォン、ノートパソコンなど）内に組み込まれている、又は、分離して存在する（例えば、画像処理システムの外部供給源から画像データを受信する画像処理システム）実施形態などのように、ロボットに連結されていなくてもよいことに留意すべきである。
【００１３】
ここで、図１Ａを参照すると、作動空間１０１内で作動するロボット１００が示される。図１Ａに概して示すロボット１００は、任意のサイズ及び構成であってもよい。例えば、ロボット１００は、図１Ａに示すロボット１００などの、家庭、職場、学校、又は医療施設で人間を補助するサービスロボットとして構成されていてもよい。別の実施形態において、ロボットは、製造設備内で利用される生産ロボットであってもよい。本明細書に説明する実施形態は、いかなる種類のロボットにも限定されないことを理解する必要がある。
【００１４】
図１Ａに示すロボット１００は、概して、２つの画像取込装置１０２ａ、１０２ｂと、２つのアーム１０６ａ、１０６ｂと、２つの把持アセンブリ１０８ａ、１０８ｂと、２つの移動装置１０４ａ、１０４ｂとを備える。画像取込装置１０２ａ、１０２ｂは、静止画像及び／又はデジタルビデオを取り込むことができるデジタルカメラとして構成されていてもよい。別の実施形態において、ロボット１００は、１つの画像取込装置から、２以上の画像取込装置まで備え得る。図１Ａに表す画像取込装置１０２ａ、１０２ｂにより、ロボット１００は、下記のように、物体を検出し、物体を認識し、作動空間１０１内で遭遇する検出された物体のポーズを推定することができる。
【００１５】
移動装置１０４ａ、１０４ｂは、ロボット１００によって利用され、作動空間１０１内で操作される。図１Ａに表す実施形態において、移動装置１０４ａ、１０４ｂは、無限軌道の移動装置である。ただし、他の実施形態において、ロボット１００には、無限軌道の移動装置以外の１以上の移動装置が含まれ得る。例えば、ロボット１００は、１以上の車輪又は脚を使用して作動空間１０１内で操作されてもよい。一部の実施形態において、ロボット１００には、１つの移動装置のみ、又は、２以上の移動装置が含まれ得る。
【００１６】
アーム１０６ａ、１０６ｂ及び把持アセンブリ１０８ａ、１０８ｂは、一実施形態において、ロボット１００が作動空間内で遭遇する物体を操作するように、サーボ駆動されてもよい。例えば、空気駆動、ハイドロリック駆動、圧電高分子モーター（electro-active polymer motors）などの他の駆動機構が利用されてもよい。ある実施形態において、ロボット１００には、１つのみのアーム及び把持アセンブリ、又は、２以上のアーム及び把持アセンブリが含まれ得る。
【００１７】
ここで、図１Ｂを参照すると、ロボット１００の種々の内部の構成要素が示される。ロボット１００には、１以上のプロセッサ１１０と、データ記憶装置１１２と、非一時的メモリ要素１１４と、任意の入／出力ハードウェア１１６と、２つの画像取込装置１０２ａ、１０２ｂと、任意の通信モジュール１２０と、アクチュエータ駆動ハードウェア１５４とが含まれる。ある実施形態において、１以上のプロセッサ１１０、データ記憶装置１１２、及び、非一時的メモリ要素１１４は、単一の集積回路（例えば、システムオンチップ）において備え得る。ある実施形態において、１以上のプロセッサ１１０、データ記憶装置１１２、及び、非一時的メモリ要素１１４は、別々の集積回路として備え得る。
【００１８】
１以上のプロセッサ１１０はそれぞれ、電気的に接続された構成要素と通信するように構成され、ロボット１００が作動するように設計された特定の用途に適する、任意の、市販された又はカスタマイズされたプロセッサとして構成され得る。１以上のプロセッサ１１０はそれぞれ、機械可読命令を実行することができる、任意の装置であってもよい。したがって、１以上のプロセッサ１１０はそれぞれ、コントローラ、集積回路、マイクロチップ、コンピュータ、又は、他の任意のコンピューティング装置であり得る。１以上のプロセッサ１１０は、ロボット１００の種々のモジュール間で信号の相互接続性を提供する通信経路１３０に連結される。通信経路１３０は、任意の数のプロセッサと相互に通信可能に接続することができ、通信経路１３０に連結されたモジュールは、分散コンピューティング環境で作動することができる。特に、それぞれのモジュールは、データを送信及び／又は受信するノードとして作動することができる。本明細書に使用する「通信可能に接続された」という用語は、例えば、導電性媒体を介する電気信号、空気を介する電磁信号、光導波路を介する光信号などのように、連結された構成要素がデータ信号を相互に交換することが可能であることを意味する。
【００１９】
したがって、通信経路１３０は、例えば、導電性ワイヤ、導電トレース（conductive traces）、光導波路などの、信号を伝達することが可能な任意の媒体から形成され得る。更に、通信経路１３０は、信号を伝達することが可能な媒体の組合せから形成され得る。一実施形態において、通信経路１３０は、プロセッサ、メモリ、センサ、入力装置、出力装置及び通信装置などの構成要素への電気データ信号の伝達を可能にするように協働する、導電トレース、導電性ワイヤ、コネクタ及びバスの組合せを備える。加えて、「信号」という用語が、例えば、媒体を通じて進行可能な、ＤＣ、ＡＣ、正弦波、三角波、矩形波、振動などの波形（例えば、電気、光、磁性、機械又は電磁）を意味することに留意すべきである。
【００２０】
非一時的メモリ要素１１４は、通信経路１３０に連結されていてもよい。非一時的メモリ要素１１４には、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ハードドライブ、又は、機械可読命令が１以上のプロセッサ１１０によってアクセスできるように機械可読命令を記憶することができる任意の媒体のような、揮発性及び／又は不揮発性のコンピュータ可読記憶媒体が含まれ得る。機械可読命令は、例えば、プロセッサによって直接実行される、機械語、又は、機械可読命令にコンパイル又はアセンブルされて、非一時的メモリ要素１１４に記憶される、アセンブリ言語、オブジェクト指向プログラミング（ＯＯＰ）、スクリプト言語、マイクロコードなどの、任意の世代（例えば、１ＧＬ、２ＧＬ、３ＧＬ、４ＧＬ若しくは５ＧＬ）のプログラミング言語で書き込まれた論理又はアルゴリズムを含んでいてもよい。なお、機械可読命令は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）構成若しくは特定用途向け集積回路（ＡＳＩＣ）、又はこれらの同等物によって実行された論理などのハードウェア記述言語（ＨＤＬ）で書き込まれてもよい。したがって、本明細書に説明する方法は、予めプログラムされたハードウェア要素、又は、ハードウェア要素とソフトウェア要素の組合せとして、任意の公知のコンピュータプログラム言語で実行されてもよい。
【００２１】
非一時的メモリ要素１１４は、１以上のプロセッサ１１０により実行されるときに、ロボット１００に、本明細書に説明するモジュールの機能性を実行させる命令の集合をそれぞれが含む、１以上のモジュールを記憶するように、構成され得る。例えば、非一時的メモリ要素１１４は、１以上のプロセッサ１１０により実行されるときに、ロボット１００に一般的なロボット動作を実行させる命令の集合を含むが、これに限定されない、ロボット作動モジュールを記憶するように構成されていてもよい。更に、非一時的メモリ要素１１４は、図２を参照して、機能性を以下に説明する、物体検出モジュール、物体認識モジュール、ポーズ推定モジュール、検出チューナーモジュール、認識チューナーモジュール、及びロボット操作モジュールを記憶するように、構成されていてもよい。ある実施形態において、非一時的メモリ要素１１４は、物体検出モジュール、物体認識モジュール、ポーズ推定モジュール、検出チューナーモジュール、認識チューナーモジュール、及びロボット操作モジュールの一部（subset）のみを記憶するように、構成できることを理解する必要がある。本明細書に説明する機能性の支持を提供するために、他のデータが非一時的メモリ要素１１４に記憶されてもよい。
【００２２】
データ記憶装置１１２はまた、揮発性及び／又は不揮発性のコンピュータ可読記憶媒体としても構成され得る。一実施形態において、データ記憶装置１１２は、非一時的メモリ要素１１４から分離したデータ記憶要素である。別の実施形態において、データ記憶装置１１２及び非一時的メモリ要素１１４は、単一のデータ記憶要素として備えられる（すなわち、データベース及び命令の集合が単一のデータ記憶要素に記憶される）。更に別の実施形態において、データ記憶装置１１２は、ロボット１００から離れていて、任意の通信モジュール１２０を経由して遠隔にアクセスすることができる。
【００２３】
画像取込装置１０２ａ、１０２ｂは、通信経路１３０に連結されていてもよい。画像取込装置１０２ａ、１０２ｂは、１以上のプロセッサ１１０から制御信号を受信して、周囲の作動空間の画像データを取り込み、処理及び／又は記憶のため、１以上のプロセッサ１１０及び／又はデータ記憶装置１１２に、取り込まれた画像データを送信することができる。画像取込装置１０２ａ、１０２ｂは、データ記憶装置１１２に直接接続され得るか、又は、別の実施形態において、検索のために１以上のプロセッサ１１０にアクセス可能である、専用のメモリ装置（例えば、フラッシュメモリ）を含み得る。
【００２４】
画像取込装置１０２ａ、１０２ｂはそれぞれ、任意の適切な解像度を有し、紫外線波長域、近紫外線波長域、可視光波長域、近赤外線波長域、又は、赤外線波長域などの任意の望ましい波長域の放射を検出するように、構成されていてもよい。ある実施形態において、画像取込装置１０２ａ、１０２ｂのうちの少なくとも１つは、標準画質（例えば、６４０画素×４８０画素）のカメラであり得る。一部の実施形態において、画像取込装置１０２ａ、１０２ｂのうちの少なくとも１つは、高画質のカメラ（例えば、１４４０画素×１０２４画素、又は１２８０画素×１０２４画素）であり得る。ある実施形態において、画像取込装置１０２ａ、１０２ｂのうちの少なくとも１つは、６４０画素×４８０画素、１４４０画素×１０２４画素、又は、１２８０画素×１０２４画素以外の解像度を有し得る。画像取込装置１０２ａ、１０２ｂは、デジタルビデオ及び／又は１以上のデジタル写真の形態で画像データを提供してもよい。
【００２５】
任意の通信モジュール１２０は、ロボット１００が外部のシステム及び装置と通信するように、通信経路１３０に接続されてもよく、無線通信回路として構成されていてもよい。任意の通信モジュール１２０は、衛星通信、ＷｉＦｉ、ＷｉＭａｘ、携帯電話（例えば、３Ｇ、４Ｇ、ＬＴＥなど）、及び、専用の無線通信プロトコルなどであって、これらに限定されない、任意の種類の無線通信プロトコルで通信するように、構成されていてもよい。
【００２６】
アクチュエータ駆動ハードウェア１５４は、移動装置１０４ａ、１０４ｂ、アーム１０６ａ、１０６ｂ、把持アセンブリ１０８ａ、１０８ｂ、及び、ロボット１００に含まれ得る他の任意の外部構成要素を制御する、アクチュエータ及び関連する駆動用電子機器を備え得る。したがって、アクチュエータ駆動ハードウェア１５４は、１以上のプロセッサ１１０から制御信号を受信し、これによりロボット１００を作動するように、構成され得る。
【００２７】
再び図１Ａを参照すると、ロボット１００は、作動空間１０１内で作動して種々の物体に遭遇し得る。ロボット１００は、特定の物体を検索する（retrieve）及び／又は操作するように、命令されるか若しくはプログラムされてもよく、又は、作動空間内で自律的に運転され、遭遇する物体を自由に操作するように、プログラムされてもよい。例えば、図１Ａにおいて、ロボット１００は、コーヒーテーブル上に配置されたスプレーボトル１８０に遭遇している。ロボット１００は、スプレーボトル１８０を見つけて、これを何らかの方法で操作するように、プログラムされるか又は命令され得る。例えば、ロボット１００を操作しているユーザは、スプレーボトル１８０を見つけて、これをピックアップして、ユーザに持ってくるように、ロボット１００に命令することができる。このように、スプレーボトル１８０は、ロボット１００の対象物体である。２つの画像取込装置１０２ａ、１０２ｂを用いて、ロボット１００は、図１Ａに示す対象物体画像１９０によって表されるスプレーボトル１８０の対象画像データを得る。対象画像データは、デジタルビデオ及び／又は１以上のデジタル写真の形態であってもよい。ロボット１００は、非一時的メモリ要素１１４に記憶される物体検出モジュールにより、スプレーボトル１８０であり得る候補の物体を検出するようにプログラムされてもよく、且つ／又は、操作の実行を試みる前に、非一時的メモリ要素１１４に記憶される物体認識モジュールにより、スプレーボトル１８０を認識するようにプログラムされてもよい。ロボット１００の検出精度を向上させるために、物体検出モジュールの物体検出パラメータを調整することが望ましい。同様に、ロボット１００の認識精度を向上させるために、物体認識モジュールの物体認識パラメータを調整することが望ましい。
【００２８】
ここで、図２を参照すると、物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を調整する方法２００のフローチャートを概略的に表す。一部の実施形態において、方法２００は、１以上のプロセッサ１１０によって実行されるときに、物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を自動的に調整する機械可読命令の範囲内の論理として実行することができる。方法２００は特定のシーケンスを表しているが、本開示の付加的な実施形態がいかなる特定のシーケンスにも限定されていないことに留意すべきである。
【００２９】
ここで、図１〜２を参照すると、ブロック２１０で、ロボット１００は、作動空間１０１を表す画像データを受信する。上述するように、一部の実施形態において、ロボット１００は、作動空間１０１内で作動し、画像取込装置１０２ａ、１０２ｂから作動空間１０１の画像データを取り込み、記憶及び／又は処理のために、１以上のプロセッサ１１０及び／又はデータ記憶装置１１２に、作動空間１０１の取り込まれた画像データを送信するように、構成される。一部の実施形態において、ロボット１００は、任意の通信モジュール１２０などを経由して、ロボット１００の外部供給源から画像データを受信することができる。
【００３０】
ブロック２１０で受信される画像データは、赤／緑／青（「ＲＧＢ」）データ、奥行き画像データ（depth image data）、三次元（「３Ｄ」）点データなどであるが、これらに限定されない、種々の形式のデータであってもよい。一部の実施形態において、ロボット１００は、画像取込装置１０２ａ、１０２ｂと統合される赤外線センサ又は奥行きセンサなどの、赤外線センサ又は他の奥行きセンサから奥行き画像データを受信することができる。奥行きセンサ（例えば、赤外線センサ）を含む他の実施形態において、奥行きセンサは、画像取込装置１０２ａ、１０２ｂから分離され得る。
【００３１】
更に、図１〜２を参照すると、ブロック２２０で、非一時的メモリ要素１１４に記憶される機械可読命令によって、１以上のプロセッサ１１０により実行されるときに、ロボット１００は、ブロック２１０で受信された画像データに基づいて、物体検出モジュールにより候補の物体を検出する。一部の実施形態において、物体検出モジュールは、高エントロピーを含む画像の領域などの、受信された画像データの候補の領域を識別することによって、候補の物体を検出することができる。例えば、図１Ａに表す実施形態において、物体検出モジュールは、スプレーボトル１８０を含む取り込まれた対象画像データにおいて、高エントロピー領域を検出することができる。一部の実施形態において、物体検出モジュールは、スライディングウィンドウアルゴリズムを利用して、受信された画像データの候補の領域を識別することができる。実施形態において、物体検出モジュールは、スケール不変特徴変換（scale-invariant feature transform）（「ＳＩＦＴ」）、スピードアップロバスト特徴（speeded up robust feature）（「ＳＵＲＦ」）、勾配ヒストグラム（histogram of oriented gradients）（「ＨＯＧ」）、汎用検索ツリー（generalized search tree）（「ＧＩＳＴ」）、高速レティーナキーポイント（fast retina keypoint）（「ＦＲＥＡＫ」）、バイナリロバスト不変性スケーラブルキーポイント（binary robust invariant scalable keypoints）（「ＢＲＩＳＫ」）などの特徴記述子アルゴリズム（feature descriptor algorithm）又は画像記述子アルゴリズム（image descriptor algorithm）を利用することによって、候補の物体を検出することができる。一部の実施形態において、物体検出モジュールは、用途、光景の形状及び／又は過去の情報に基づいて、１以上の空間的に配置された目的の領域の検出にバイアスをかけることができる。
【００３２】
物体検出モジュールには、候補の物体の検出を容易にするための少なくとも１つの物体検出パラメータが含まれる。一部の実施形態において、少なくとも１つの物体検出パラメータは、ウィンドウサイズ、ノイズフィルタリングパラメータ、推定光量、推定ノイズレベル、特徴記述子パラメータ、画像記述子パラメータなどである。
【００３３】
更に、図１〜２を参照すると、ブロック２３０で、非一時的メモリ要素１１４に記憶される機械可読命令によって、１以上のプロセッサ１１０により実行されるとき、ロボット１００は、ブロック２１０で受信される画像データに基づいて、物体認識モジュールにより物体を認識する。一部の実施形態において、物体認識モジュールは、物体検出モジュールによって識別される候補の領域に基づいて、物体を認識することができる。
【００３４】
スケール不変特徴変換（「ＳＩＦＴ」）、スピードアップロバスト特徴（「ＳＵＲＦ」）、勾配ヒストグラム（「ＨＯＧ」）、汎用検索ツリー（「ＧＩＳＴ」）、高速レティーナキーポイント（「ＦＲＥＡＫ」）、バイナリロバスト不変性スケーラブルキーポイント（「ＢＲＩＳＫ」）などの特徴記述子アルゴリズム又は画像記述子アルゴリズムを利用することによって、候補の物体を認識することができる。物体認識モジュールが特徴記述子アルゴリズム又は画像記述子アルゴリズムを利用する一部の実施形態において、物体認識モジュールは、物体検出モジュールによって識別される候補の領域から特徴の集合を抽出することができる。そして、物体認識モジュールは、非一時的メモリ要素１１４又はデータ記憶装置１１２に記憶された物体認識データベースから物体認識参照モデルの特徴の参照集合にアクセスし、抽出された特徴の集合と物体認識参照モデルの特徴の参照集合とを比較することができる。例えば、図１Ａに表す実施形態において、物体認識モジュールは、スプレーボトル１８０を含む取り込まれた対象画像データの高エントロピー領域から特徴の集合を抽出して、抽出された特徴の集合と１以上の参照スプレーボトルモデルの特徴の参照集合とを比較してもよい。抽出された特徴の集合が特徴の参照集合に適合するとき、物体認識モジュールは、物体を認識することができる（例えば、スプレーボトル１８０を含む取り込まれた対象画像データの高エントロピー領域から抽出された特徴の集合が、参照スプレーボトルモデルの特徴の参照集合と適合するときに、スプレーボトルを認識する。）。抽出された特徴の集合が特徴の参照集合に適合しないとき、物体認識エラーが生じる（例えば、物体認識エラーは、物体認識参照モデルが候補の物体と適合しないことを示す。）。物体認識エラーが生じたとき（例えば、図１Ａの例を参照すると、参照スプレーボトルモデルは、非一時的メモリ要素１１４又はデータ記憶装置１１２に存在しない。）、少なくとも１つの物体検出パラメータは、ブロック２２５に関して以下に説明するように、物体検出モジュールの精度を向上させるように調整されてもよい。
【００３５】
一部の実施形態において、物体認識モジュールは、認識された物体に識別子を割り当てることができる。例えば、識別子は、物体カテゴリ識別子（例えば、抽出された特徴の集合が、「スプレーボトルカテゴリ」の特徴の参照集合に適合する場合には「スプレーボトル」とされるか、若しくは、抽出された特徴の集合が、「カップ」物体カテゴリの特徴の参照集合に適合する場合には「カップ」とされる。）であってもよいし、又は、特定の物体インスタンスの識別子（例えば、抽出された特徴の集合が、「私のスプレーボトル」物体インスタンスの特徴の参照集合に適合する場合には「私のスプレーボトル」とされるか、若しくは、抽出された特徴の集合が、特定の「私のカップ」物体インスタンスの特徴の参照集合に適合する場合には「私のカップ」とされる。）であってもよい。識別子は、ブロック２４０に関して以下に説明するように、ポーズ推定モジュールによって用いられてもよい。
【００３６】
物体認識モジュールは、物体の認識を容易にするための少なくとも１つの物体認識パラメータを含む。一部の実施形態において、少なくとも１つの物体認識パラメータは、ウィンドウサイズ、ノイズフィルタリングパラメータ、推定光量、推定ノイズレベル、特徴記述子パラメータ、画像記述子パラメータなどである。
【００３７】
更に、図１〜２を参照すると、ブロック２４０で、非一時的メモリ要素１１４に記憶される機械可読命令によって、１以上のプロセッサ１１０によって実行されるとき、ロボット１００は、ブロック２１０で受信される画像データに基づいて、ポーズ推定モジュールにより認識された物体のポーズを推定する。一部の実施形態において、ポーズ推定モジュールは、物体検出モジュールによって識別される候補の領域、及び、物体認識モジュールによって提供される認識された物体の識別子に基づいて、物体のポーズを推定することができる。
【００３８】
一部の実施形態において、ポーズ推定モジュールは、スケール不変特徴変換（「ＳＩＦＴ」）、スピードアップロバスト特徴（「ＳＵＲＦ」）、勾配ヒストグラム（「ＨＯＧ」）、汎用検索ツリー（「ＧＩＳＴ」）、高速レティーナキーポイント（「ＦＲＥＡＫ」）、バイナリロバスト不変性スケーラブルキーポイント（「ＢＲＩＳＫ」）などの特徴記述子アルゴリズム又は画像記述子アルゴリズムを利用することによって、認識された物体のポーズを推定することができる。ポーズ推定モジュールが特徴記述子アルゴリズム又は画像記述子アルゴリズムを利用する、一部の実施形態において、ポーズ推定モジュールは、物体検出モジュールによって識別される候補の領域から特徴の集合を抽出することができる。そして、ポーズ推定モジュールは、非一時的メモリ要素１１４又はデータ記憶装置１１２に記憶されたポーズ推定データベースからポーズ推定参照モデルの特徴の参照集合にアクセスし、抽出された特徴の集合とポーズ推定参照モデルの特徴の参照集合とを比較することができる。例えば、図１Ａに表す実施形態において、ポーズ推定モジュールは、スプレーボトル１８０を含む取り込まれた対象画像データの高エントロピー領域から特徴の集合を抽出して、複数の位置及び／又は配向で、抽出された特徴の集合と一連の高解像度参照スプレーボトルモデル特徴の参照集合とを比較することができる。抽出された特徴の集合が特徴の参照集合に適合するとき、ポーズ推定モジュールは、物体のポーズ（例えば、位置及び／又は配向）を推定することができる（例えば、図１Ａの例を参照すると、高解像度の参照スプレーボトルモデルが、候補の領域から抽出された特徴の集合に適合するとき、スプレーボトルのポーズは、適合した参照モデルのポーズと推定することができる。）。抽出された特徴の集合が特徴の参照集合に適合しないとき、ポーズ推定モジュールは、ポーズ推定エラーが生じたと決定し、ポーズ推定エラーの程度を算出することができる。ポーズ推定エラーが生じたとき、少なくとも１つの物体認識パラメータ及び／又は少なくとも１つの物体検出パラメータは、ブロック２２５及び２３５に関して以下に説明するように、物体検出モジュール及び／又は物体認識モジュールの精度を向上させるために調整されてもよい。
【００３９】
ポーズ推定モジュールは、特徴記述子又は画像記述子を利用すること以外の多くの方法で、認識された物体のポーズを推定できることを理解する必要がある。例えば、一部の実施形態において、ポーズ推定モジュールは、候補の領域を、三次元のモデル又は複数の二次元のモデルと比較することによって、認識された物体のポーズを推定することができる。一部の実施形態において、候補の領域が比較されるモデルは、物体認識モジュールによって提供される識別子に基づき得る。
【００４０】
更に、図１〜２を参照すると、ブロック２５０で、非一時的メモリ要素１１４に記憶される機械可読命令によって、１以上のプロセッサ１１０により実行されるとき、ロボット１００は、移動装置１０４ａ、１０４ｂ、アーム１０６ａ、１０６ｂ、把持アセンブリ１０８ａ、１０８ｂ、及び、１以上の物体の操作を達成するようにロボット１００に含まれ得る他の任意の外部構成要素を制御するために、アクチュエータ駆動ハードウェア１５４に制御信号を送信する。一部の実施形態において、ブロック２５０のロボット操作は、ポーズ推定モジュールによって提供される６つの自由角度の出力に基づき得る。
【００４１】
上述するように、物体認識エラーが生じたとき、少なくとも１つの物体検出パラメータは、物体検出モジュールの精度を向上させように調整することができる。同様に、ポーズ推定エラーが生じたとき、少なくとも１つの物体認識パラメータ及び／又は少なくとも１つの物体検出パラメータは、以下に説明するように、物体検出モジュール及び／又は物体認識モジュールの精度を向上させるように調整することができる。
【００４２】
更に、図１〜２を参照すると、ブロック２２５で、非一時的メモリ要素１１４に記憶される機械可読命令によって、１以上のプロセッサ１１０により実行される場合、ロボット１００は、ポーズ推定エラーが生じたとき又は物体認識エラーが生じたときに、物体検出モジュールの少なくとも１つの物体検出パラメータを、検出チューナーモジュールによって調整する。非限定例として、一部の実施形態では、検出チューナーモジュールは、ポーズ推定エラーが生じたとき又は物体認識エラーが生じたときに、物体検出モジュールによって利用されるウィンドウサイズを調整することができる。一部の実施形態において、検出チューナーモジュールには検出チューナーモデルが含まれ、検出チューナーモデルは、ポーズ推定エラー、物体認識エラー、又は、ポーズ推定エラーと物体認識エラーの双方に基づいて、少なくとも１つの物体検出パラメータを調整する。一部の実施形態において、検出チューナーモデルは、ポーズ推定エラー、物体認識エラー、又は、ポーズ推定エラーと物体認識エラーの双方を、調整された少なくとも１つの物体検出パラメータにマッピングする。一部の実施形態において、検出チューナーモデルは、サポートベクターマシン（「ＳＶＭ」）モデルなどの学習相関モデルである。
【００４３】
更に、図１〜２を参照すると、ブロック２３５で、非一時的メモリ要素１１４に記憶される機械可読命令によって、１以上のプロセッサ１１０により実行されるとき、ロボット１００は、ポーズ推定エラーが生じたときに、物体認識モジュールの少なくとも１つの物体認識パラメータを、認識チューナーモジュールによって調整する。限定しない例として、一部の実施形態では、認識チューナーモジュールは、ポーズ推定スケールエラーが生じたときに、物体認識モジュールによって利用されるウィンドウサイズを調整することができる。一部の実施形態において、認識チューナーモジュールには認識チューナーモデルが含まれ、認識チューナーモデルは、ポーズ推定エラーに基づいて、少なくとも１つの物体認識パラメータを調整する。一部の実施形態において、認識チューナーモデルは、ポーズ推定エラーを、調整された少なくとも１つの物体認識パラメータにマッピングする。一部の実施形態において、認識チューナーモデルは、サポートベクターマシン（「ＳＶＭ」）モデルなどの学習相関モデルである。
【００４４】
物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を調整することによって、本明細書に説明するように、物体検出及び／又は物体認識の精度を向上させることができることを理解する必要がある。また、物体検出パラメータ、物体認識パラメータ、又は、物体検出パラメータと物体認識パラメータの双方を調整することによって、本明細書に説明するように、経時的な光景変化の視覚的特徴（例えば、照明状態の変化、光景変化に存在する物体の数など）として、物体検出及び／又は物体認識の精度を向上させることができる。更に、物体検出パラメータ及び／又は物体認識パラメータを調整することによって、本明細書に説明するように、エラー検出を改良することができる（例えば、大きいポーズ推定エラーは、物体認識が不適切であることを示している可能性がある。）。更にまた、物体検出パラメータ及び／又は物体認識パラメータを調整することによって、本明細書に説明するように、迅速かつ効率的な物体検出及び／又は物体認識を容易にし、処理及びデータ記憶条件を減少させ、及び／又は、照明、視点などの変化に対する、物体検出及び／又は物体認識のロバスト性を増加させることができる。
【００４５】
本明細書において、特定の実施形態を示し説明してきたが、請求項に記載の主題の趣旨及び範囲から逸脱することなく、種々の他の変更及び改良ができることを理解する必要がある。更に、請求項に記載の主題の種々の態様を本明細書に説明してきたが、かかる態様は、組み合わせて利用される必要はない。したがって、添付の特許請求の範囲は、請求項に記載の主題の範囲内にある、すべてのかかる変更及び改良に及ぶものとする。
【符号の説明】
【００４６】
１００    ロボット
１０１    作動空間
１０２ａ    画像取込装置
１０２ｂ    画像取込装置
１０４ａ    移動装置
１０４ｂ    移動装置
１０６ａ    アーム
１０６ｂ    アーム
１０８ａ    把持アセンブリ
１０８ｂ    把持アセンブリ
１１０    プロセッサ
１１２    データ記憶装置
１１４    非一時的メモリ要素
１１６    入／出力ハードウェア
１２０    任意の通信モジュール
１３０    通信経路
１５４    アクチュエータ駆動ハードウェア
１８０    スプレーボトル
１９０    対象物体画像
２００    方法
２１０    ブロック
２２０    ブロック
２２５    ブロック
２３０    ブロック
２３５    ブロック
２４０    ブロック
２５０    ブロック
【図１Ａ】
2014116007.tif 000003
【図１Ｂ】
2014116007.tif 000004
【図２】
2014116007.tif 000005
【外国語明細書】
2014116007000001.pdf