(57)【要約】【課題】  物体１つの領域を特定する教師データを生成できる。【解決手段】  上記課題を解決する本発明にかかる情報処理装置は、把持可能である物体１単位分の領域を推定する学習モデルの教師データを生成する情報処理装置であって、複数の物体が重なり合った状態である物体群を撮像した第１の画像と、前記物体群の中から前記物体を把持した後に撮像した第２の画像とに基づいて、前記物体群が変化した領域を表す差分画像を抽出する抽出手段と、物体１単位分の領域を表す第３の画像と前記差分画像とに基づいて、前記物体群が変化した領域は前記物体１単位分の領域であると判定された場合に、前記第１の画像における前記物体群が変化した領域に対応する部分の画像を用いて、前記学習モデルの前記教師データを生成する生成手段を有することを特徴とする。【選択図】  図１
2020021212.tif 000002
【特許請求の範囲】
【請求項１】
把持可能である物体１単位分の領域を推定する学習モデルの教師データを生成する情報処理装置であって、
複数の物体が重なり合った状態である物体群を撮像した第１の画像と、前記物体群の中から前記物体を把持した後に撮像した第２の画像とに基づいて、前記物体群が変化した領域を表す差分画像を抽出する抽出手段と、
物体１単位分の領域を表す第３の画像と前記差分画像とに基づいて、前記物体群が変化した領域は前記物体１単位分の領域であると判定された場合に、前記第１の画像における前記物体群が変化した領域に対応する部分の画像を用いて、前記学習モデルの前記教師データを生成する生成手段を有することを特徴とする情報処理装置。
【請求項２】
前記生成手段は、前記第３の画像と前記差分画像とに基づいて、前記物体群が変化した領域は前記物体１単位分の領域ではないと判定された場合に、前記学習モデルの教師データの生成を抑制することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１の画像と前記第２の画像は、各画素に距離情報を含む距離画像であって、
前記抽出手段は、前記第１の画像と前記第２の画像とに基づいて、前記距離情報の変化がある部分を前記差分画像として抽出することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記物体群が変化した領域が所定の値より小さい場合に、前記物体群が変化した領域は前記物体１単位分の領域であると判定し、前記物体群が変化した領域が所定の値より大きい場合に、前記物体群が変化した領域は前記物体１単位分の領域でないと判定する判定手段をさらに有することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記判定手段は、前記第１の画像と前記第３の画像とから画像特徴に基づいて、前記物体群が変化した領域は前記物体１単位分の領域であるか否かを判定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記判定手段は、前記第１の画像と前記第３の画像とから面積に基づいて、前記物体群が変化した領域は物体１単位分の領域であるか否かを判定することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記第３の画像を保持する保持手段を更に有することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
把持可能な物体１単位分の領域を推定する学習モデルの教師データを生成する情報処理装置であって、
複数の物体が重なり合った状態である物体群から把持された物体を撮像した時系列画像から、前記物体１単位分を撮像した第４の画像に基づいて前記物体の画像特徴を抽出する抽出手段と、
前記第４の画像と前記時系列画像とに基づいて、把持された物体が前記物体群に含まれる物体に一致すると判定された場合に、前記時系列画像のうち該物体が含まれる領域を用いて、前記学習モデルの前記教師データを生成する生成手段を有し、
前記第４の画像は、把持された前記物体を所定の場所に配置した後に撮像した画像であることを特徴とする情報処理装置。
【請求項９】
前記生成手段は、前記第４の画像と前記時系列画像とに基づいて、把持された物体が前記物体群に含まれる物体に一致しないと判定された場合に、前記学習モデルの前記教師データの生成を抑制する請求項８に記載の情報処理装置。
【請求項１０】
前記生成手段によって生成された前記教師データに基づいて、前記学習モデルのパラメータを更新する学習手段を更に有することを特徴とする請求項１乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
前記学習モデルに前記重なり合った物体群を撮像した画像を入力することによって、前記画像に写った物体の領域を推定する推定手段を更に有することを特徴とする請求項１乃至１０の何れか１項に記載の情報処理装置。
【請求項１２】
前記推定手段によって推定された物体を把持する把持装置を制御する制御手段を更に有することを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
コンピュータを請求項１乃至１２の何れか１項に記載の情報処理装置が有する各手段として機能させるためのプログラム。
【請求項１４】
把持可能である物体１単位分の領域を推定する学習モデルの教師データを生成する情報処理方法であって、
複数の物体が重なり合った状態である物体群を撮像した第１の画像と、前記物体群の中から前記物体を把持した後に撮像した第２の画像とに基づいて、前記物体群が変化した領域を表す差分画像を抽出する抽出工程と、
物体１単位分の領域を表す第３の画像と前記差分画像とに基づいて、前記物体群が変化した領域は前記物体１単位分の領域であると判定された場合に、前記第１の画像における前記物体群が変化した領域に対応する部分の画像を用いて、前記学習モデルの前記教師データを生成する生成工程を有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、把持可能である物体１単位分の領域を特定する教師データを生成する技術に関する。
【背景技術】
【０００２】
近年、産業用ロボットが物体を把持する技術において、複数の物体が重なり合った状態である物体群の画像から、物体の位置や姿勢を推定する学習モデルを使った機械学習の活用が提案されている。学習モデルの教師データを生成する方法として、特許文献１では、物体を動かした前後の画像から物体の領域を決定し、物体に関する教師データを得る方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１２８９５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の手法では、複数の物体が同時に動く場合、その複数の物体のすべての領域が動き領域（物体が動いたとき、その物体の領域）として判定される。複数の物体の領域を物体１つ分の領域として学習することになる。すなわち、複数の物体が動いた時には、複数の物体の領域を物体１単位分の領域として学習してしまうことになる可能性がある。
【０００５】
本発明は上記問題に鑑みてなされたものであり、把持可能である物体１単位分の領域を特定する教師データを生成する。
【課題を解決するための手段】
【０００６】
上記課題を解決する本発明にかかる情報処理装置は、把持可能である物体１単位分の領域を推定する学習モデルの教師データを生成する情報処理装置であって、複数の物体が重なり合った状態である物体群を撮像した第１の画像と、前記物体群の中から前記物体を把持した後に撮像した第２の画像とに基づいて、前記物体群が変化した領域を表す差分画像を抽出する抽出手段と、物体１単位分の領域を表す第３の画像と前記差分画像とに基づいて、前記物体群が変化した領域は前記物体１単位分の領域であると判定された場合に、前記第１の画像における前記物体群が変化した領域に対応する部分の画像を用いて、前記学習モデルの前記教師データを生成する生成手段を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、把持可能である物体１単位分の領域を特定する教師データを生成できる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの構成例を示す図。
【図２】情報処理装置のハードウェア構成例を示すブロック図。
【図３】情報処理装置の機能構成例を示すブロック図。
【図４】把持を行う前後に撮像した画像と差分画像の一例。
【図５】把持を行う前後に撮像した画像と差分画像の一例。
【図６】把持を行う前後に撮像した画像と差分画像の一例。
【図７】情報処理装置が実行する処理を説明するフローチャート。
【図８】情報処理装置の機能構成例を示すブロック図。
【図９】情報処理システムが実行する処理を説明するフローチャート。
【図１０】教師データの一例を説明する図。
【図１１】トラッキングについて説明する図。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
第１の実施形態では、複数の物体が重なり合った状態である物体群を撮像した画像から教師データの生成を行う情報処理装置について説明する。教師データとは、機械学習を行う学習モデルのパラメータを最適化するための画像特徴と正解値のペアである。学習モデルとは、入力された画像から、対応する結果を出力するニューラルネットワークに基づくネットワーク構造とそのパラメータである。本実施形態における学習モデルは、山積みされた物体群が撮影された画像から把持に適した物体を推定する処理を行う学習モデルである。本実施形態における教師データとは、複数の物体が重なり合った状態である物体群を撮像した画像に対して、把持可能である物体１単位分の領域を示したラベルを付与した画像データである。本実施形態では、画像解析を使った把持装置の例について述べる。学習モデルの推定精度を向上するため、すなわち把持装置が物体を正確に把持するには、重なり合った物体がとりうる姿勢を、なるべく多様に再現した画像を準備することが望ましい。一方で、重なりあった状態である物体群は様々な姿勢をとりうるため、把持可能である物体１単位だけ撮影した画像を用いて、重なりあった状態である物体群に含まれる把持可能である物体１単位分の領域を特定することは困難である。更に、それぞれの姿勢における物体の見え方を再現した画像を準備する作業は大変手間がかかる。そこで、本実施形態では、把持可能である物体１単位分の領域に関する情報を用いることによって、実際の物体群から把持可能である物体１単位分の領域を抽出する。これによって様々な姿勢をとる把持可能である物体１単位分の領域を示す教師データを生成できる。また、教師データを大量に準備する手間を省くことができる。
【００１０】
本実施形態における情報処理装置は、山積みされた物体群を撮像した画像を、物体を把持する前後で取得し、それらの差分画像から抽出される領域が閾値よりも大きい場合には、教師データを生成しない。具体的には、物体の領域の面積または画像特徴に関する閾値を設定しておくことで、差分画像から抽出した領域が把持可能である物体１単位分の領域であるか否かを判定する。これにより、把持可能である物体１単位分の領域を特定する教師データを生成できる。なお、本実施形態では、把持は、把握（例えば複数のフィンガーで挟持すること）や、保持（例えば真空吸着パッドや電磁力を利用して吸着すること）という概念を含む。また、物体を１つずつ把持する装置を想定した説明を述べるが、把持したい対象の組合せによって特定する領域の範囲を変える。例えば、２つ１組で把持する場合は、２つ分の領域を特定する。すなわち、ここで述べる教師データとは把持可能である物体１単位分の領域を表すデータである。以下の具体例では、把持可能である物体１単位は物体１つであるものとして説明する。
【００１１】
図１は、情報処理システム１の構成例を示す図である。情報処理システム１は、情報処理装置１０、アクチュエータ部１２、把持部１３、撮像装置１１から成る。情報処理装置１０は、山積みされた物体Ｐを容器Ａから容器Ｂに運送するタスクを実行し、同時に把持可能である物体Ｐの領域を学習する。アクチュエータ部１２は、把持部１３の移動制御を行う。把持部１３は、物体Ｐを把持する。把持部１３には、ハンド形状で把持する形態や、把持部を物体に押し当てて吸引する形態がある。本実施形態では、把持部１３は吸着式の形態で、物体Ｐの重心を吸引して把持する。撮像部１１は、物体Ｐを撮像する撮像装置である。ここでは、容器Ａの中に山積みされた物体Ｐを一定の位置で撮像する。物体Ｐは、容器Ａの中で、複数が重なり合った状態であるため、様々な姿勢を取りうる。
【００１２】
図２は、情報処理装置１０のハードウェア構成を示す図である。Ｈ１１はＣＰＵであり、システムバスＨ２１に接続された各種デバイスの制御を行う。Ｈ１２はＲＯＭであり、ＢＩＯＳのプログラムやブートプログラムを記憶する。Ｈ１３はＲＡＭであり、ＣＰＵであるＨ１１の主記憶装置として使用される。Ｈ１４は外部メモリであり、情報処理装置１０が処理するプログラムを格納する。Ｈ１５は入力部で、具体的にはキーボードやマウス、ロボットコントローラーであって、情報等の入力に係る処理を行う。Ｈ１６は表示部で、Ｈ１１からの指示に従って情報処理装置１０の演算結果を表示装置に出力する。なお、表示装置は液晶表示装置やプロジェクタ、ＬＥＤインジケーターなど、種類は問わない。また、情報処理装置１０が備える表示部Ｈ１６が表示装置としての役割であってもよい。Ｈ１７は通信インターフェイスであり、ネットワークを介して情報通信を行うものであり、通信インターフェイスはイーサネット（登録商標）でもよく、ＵＳＢやシリアル通信、無線通信等種類は問わない。Ｈ１８はＩ／Ｏであり、撮像装置Ｈ１９から視覚情報を入力する。なお、撮像装置Ｈ１９とは図１における撮像部１１のことである。Ｈ２０は図１におけるアクチュエータ部１２のことである。
【００１３】
図３に、第１の実施形態における情報処理装置１０の機能構成例を示す。情報処理装置１０は入力装置１１から取得した画像から、推定部１０５が保持する学習モデルを使って画像に映っている物体の領域を出力装置１２へ出力する。学習モデルとは、入力画像から入力画像に対応する物体の領域を出力するニューラルネットワークに基づくネットワーク構造とそのパラメータとする。
【００１４】
情報処理装置１０は、取得部１０１、抽出部１０２、判定部１０３、生成部１０４、学習部１０５、推定部１０６、保持部１０７から構成される。情報処理装置１０の点線枠内は、主に学習時に用いる機能構成である。また、情報処理装置１０は、入力装置１１と出力装置１２と接続されている。入力装置１１は、具体的には撮像装置であり、撮像部１００を有する。出力装置１２は、具体的には把持装置であり、制御部１１０を有する。撮像部１００や、制御部１１０は情報処理装置１０が有していてもよい。入力装置１１は、情報処理装置１０に画像を入力する。ここでは、入力装置１１は距離を計測可能な撮像装置あるとする。具体的には、例えばステレオカメラ、ＲＧＢ−Ｄカメラ等を撮像装置として用いる。撮像装置は、物体を入れた容器が写ったシーンのカラー画像と距離画像を撮像する。距離画像は、画像における各画素に撮像装置からの距離情報が含まれる画像である。なお、入力装置１１は、後述する画像を複数記憶する記憶装置でもよい。出力装置１２は、情報処理装置１０から出力結果に基づいてロボットアーム等を制御する把持装置である。この把持装置は、例えば情報処理装置１０が特定した物体までロボットアームを移動させて物体を把持し、搬送するタスクを行う。吸着パッドを物体に押し当てて吸引する吸着式の装置でもよい。或いは、出力装置１２は出力結果を表示する表示装置である。表示装置に、生成された教師データを表示することによって、ユーザは教師データが正しく生成されているか視認できる。
【００１５】
取得部１０１は、複数の物体が重なり合った状態である物体群を撮像した第１の画像と、物体群の中から物体を把持した後に撮像した第２の画像を取得する。なお、本実施形態では、物体をピックアップする動作を、ユーザあるいはユーザが操作するロボットによって行う。これらの画像は入力装置１１もしくは外部メモリＨ１４から取得する。本実施形態において、第１の画像と第２の画像は、画像の各画素に距離情報が含まれる距離画像である。
【００１６】
抽出部１０２では、複数の物体が重なり合った状態である物体群を撮像した第１の画像と、物体群の中から物体を把持した後に撮像した第２の画像とに基づいて、物体群が変化した第１の領域を示す差分画像を抽出する。すなわち、物体が把持される前の様子の画像と、物体が把持される後の様子の画像との差分画像に基づいて、重なり合った物体群の形状が変化した領域を示す画像を抽出する。具体的には、第１の画像と第２の画像との各画素の距離の差をとった差分画像を２値化処理することによって、差分画像を抽出する。第１の実施形態では、さらに変化した距離が物体の厚さの値より大きいか否かで画像を２値化処理した領域を、第１の領域とする。詳しい処理は後述する。
【００１７】
保持部１０７は、予め撮像された、物体１単位分が写った画像（第３の画像）を保持する。第３の画像は、本実施形態では、予め撮像された画像であって、所定の姿勢と紐づけられた物体１つを物体１単位分として撮像した画像である。第３の画像から、エッジ検出等の画像処理を行うことによって、物体１単位分の面積を特定できる。なお、第３の画像は物体の形状によって必要な量が異なってくる。例えば、物体がほぼ球体であれば第３の画像は１枚で十分であるが、物体が円錐形など上下左右からの見え方が異なる場合は見え方のバリエーションに合わせて第３の画像を準備することが好ましい。
【００１８】
ここで、図４から図６を用いて、取得部１０１で取得する画像や抽出部１０２で抽出する画像について説明する。図４は、重なり合った物体群から山を崩すことなく把持可能である物体１単位分を把持することに成功した状態である。図４（ａ）は、把持を行う前の物体群を撮像した第１の画像である。図４（ｂ）は、物体１単位分を把持した後に撮像した第２の画像である。点線で示した領域は、図４（ａ）の物体Ｐを把持したために物体群の分布が変化した領域である。図４（ｃ）は、図４（ａ）と図４（ｂ）とから距離の差分に基づいて生成された差分画像である。図４（ｃ）のように差分画像における白く見える領域（第１の領域）が物体１単位分（物体Ｐ）の領域とほぼ一致する場合は、図４（ｃ）は教師データに相応しい画像であると考えられる。差分画像における白く見える領域（第１の領域）が物体１単位分の領域とほぼ一致するか否かを判断するために、本実施形態においては、物体１単位分を撮像した画像（第３の画像）を予め用意しておく。この第３の画像から、物体１単位分の領域を取得し、第１の領域と比較することで、第１の領域が物体１単位分の領域であるか否かを特定できる。それに対して、図５の例は、把持した際に山積みされた物体が少しだけ崩れてしまった場合である。図６の例は、把持した際に、山積みされた物体群が大きく崩れた場合である。図５（ａ）と図６（ａ）は把持をする前の重なり合った物体群を撮像した画像である。図５（ｂ）と図６（ｂ）は把持をした後の重なり合った物体群を撮像した画像である。図５（ｃ）は図５（ａ）と図５（ｂ）から得た差分画像であり、同様に図６（ｃ）は図６（ａ）と図６（ｂ）とから得られた差分画像である。図５（ｃ）と図６（ｃ）のように、山積みが崩れた場合、第１の領域は物体１単位分よりも大きい領域になる。このため、物体１単位分を特定する教師データには相応しくない画像が取得される、すなわち、把持を行った際に干渉が少なければ、差分画像における白く見える領域（第１の領域）は、把持可能である物体１単位分の領域に一致する。把持を行った際に干渉が大きい場合、複数の物体が動くなどの理由で、差分画像の白く見える領域（第１の領域）は把持可能である物体１単位分の領域より大きくなる。
【００１９】
判定部１０３では、把持可能である物体１単位分の領域を表す第３の画像と、物体群が変化した領域（第１の領域）を表す差分画像とに基づいて、第１の領域が物体１単位分の領域であるか否かを判定する。本実施形態では、物体１単位分を予め撮像した第３の画像に基づいて、第１の領域と物体１単位分の領域との差が所定の値であるか否かを判定する。例えば、重なり合った物体群が崩れなかった場合は、第１の領域は物体１単位分の領域とほぼ重なる。しかしながら、重なり合った物体群が崩れた場合は、第１の領域は物体１単位分の領域よりも大きくなる。この場合は、物体１単位分の領域を示す教師データとして相応しくない為、後の生成部１０４において教師データの生成を行わない。判定の基準には、例えば物体の面積を用いる。なお、閾値の決め方はこれに限らない。具体的な処理については後述する。
【００２０】
生成部１０４は、第３の画像と差分画像とに基づいて、物体群が変化した領域は物体１単位分の領域であると判定された場合に、第１の画像における物体群が変化した領域に対応する部分の画像を用いて学習モデルの教師データを生成する。部分画像は、差分画像と第１の画像を重ねて、第１の領域（例えば、値に１が入っている領域）に対応する領域を含むように第１の画像を矩形に抽出して生成する。差分画像から得た面積と、第３の画像から得た面積との差が閾値より大きい場合は、部分画像または教師データを生成しない。教師データは後述の推定部１０６が保持する学習モデルのパラメータの更新に用いる。
【００２１】
学習部１０５では、生成部１０４で生成された教師データを用いて、推定部１０６が保持する学習モデルのパラメータの更新を行う。学習モデルについては推定部１０６で述べる。パラメータの更新とは、学習モデルの入力側の層に画像を設定し、出力画像の層に画像に対する正解値を設定し、ニューラルネットワークを経由して算出される出力が設定した正解値に近づくようにニューラルネットワークのパラメータを調整する処理を指す。
【００２２】
推定部１０６では、重なり合った物体群を撮像した画像から、物体１単位分の領域を推定する。推定結果は、出力装置１２へ出力する。
【００２３】
図７のフローチャートを用いての学習時と推定処理実行時における情報処理装置１０が実行する処理の流れを説明する。以下、フローチャートは、コンピュータである図２のＣＰＵ（Ｈ１１）が外部メモリ（Ｈ１４）で格納されているコンピュータプログラムを実行することにより実現されるものとする。以下の説明では、各工程（ステップ）について先頭にＳを付けて表記することで、工程（ステップ）の表記を省略する。図７のフローチャートは、学習実行時に情報処理装置が実行する処理手順を示す。はじめに、準備段階を含む学習を実行するとき、情報処理装置１０が実行する処理手順について図７を参照して説明する。Ｓ１００１、Ｓ１００２、Ｓ１００３、Ｓ１００４、Ｓ１００５は、学習実行時の処理に関するステップである。
【００２４】
Ｓ１００１では、取得部１０１が、複数の物体が重なり合った状態である物体群を撮像した第１の画像と、物体群の中から物体を把持した後に撮像した第２の画像を取得する。まず、撮像部１００によって複数の物体が重なり合った状態である物体群を撮像された画像を取得する。次に、物体群から物体１単位分を取り除く。ここでは、物体を１つだけ取り除けばよい。そして、同じ撮像装置でもう１度複数の物体が重なり合った状態である物体群を撮影し、その画像を第２の画像とする。この第１の画像と第２の画像は、繰り返し撮影することで複数セット取得する。つまり、予めキャリブレーションして固定された撮像装置によって、物体を把持する前の様子を撮像した第１の画像と、物体の把持を行った後の様子を撮像した第２の画像との距離画像のセットを、複数取得する。なお、第１の画像と第２の画像の準備は、ここで説明した方法には限らない。例えば、複数の物体が重なり合った状態である物体群に、物体１単位分を新たに加えていってもよい。このときは、最初に撮る画像を第２の画像、物体を加えた後に撮像した画像を第１の画像として、Ｓ１００２以降の処理を行う。物体を取り除くよりも、物体群を崩さずに撮像できる可能性が高い。また、物体を取り除いた後に、物体を物体群に戻したタイミングで撮像してもよい。例えば、教師データを生成したい物体とは異なる物体を山積みにして、教師データを生成したい物体１単位分を置いたり取ったりする作業を行う。この方法は、物体が１単位分しか準備できないときでも実施できる。
【００２５】
Ｓ１００２では、抽出部１０２が、複数の物体が重なり合った状態である物体群を撮像した第１の画像と、物体群の中から物体を把持した後に撮像した第２の画像とに基づいて、物体群が変化した第１の領域を表す差分画像を抽出する。本実施形態において、第１の画像と第２の画像は、画像の各画素に距離情報が含まれる距離画像である。まず、第１の画像と第２の画像との対応する各画素について、距離の差を抽出する。さらに、この距離の差を２値化処理することによって差分画像を抽出する。差分画像を抽出する方法は、予め閾値与えておき、各画素の距離の差と閾値を比較し、決められた値を入力する。例えば、閾値として物体の厚みの半分を与えておき、距離の差が、物体の厚みの半分より大きいと１、小さいと０というふうに各画素の値を決定していく。このようにして得られた差分画像は、画素の値が１である領域と、把持の前後で物体群が変化した領域とほぼ一致する。つまり、抽出部１０２は、第１の画像と第２の画像において、所定の値より距離の変化があった領域（第１の領域）を抽出する。また、抽出部１０２は、把持可能である物体１単位分の領域における把持位置を抽出する。ここでは、物体１つ分を吸着するため、物体の重心を把持位置として対応させる。なお、２値化処理をした際に、複数の領域が抽出された場合は、最も大きい面積をとる連続した領域を第１の領域とする。
【００２６】
Ｓ１００３では、判定部１０３が、物体１単位分の領域表す第３の画像と、抽出部１０２で抽出された差分画像とに基づいて、第１の領域が物体１単位分の領域であるか否かを判定する。まず、抽出部１０２で抽出した差分画像から求めた領域の面積を取得する。次に、保持部１０７が保持する物体１単位分の画像（第３の画像）から、物体１単位分の領域の面積（物体１単位分の領域に関する情報）を取得する。そして、差分画像から得た面積（第１の領域に関する情報）と、第３の画像から得た面積を比較する。両者を比較する際には、予め設定された閾値を用いる。差分画像から得た面積と、第３の画像から得た面積との差が閾値より大きい場合は、第１の領域は物体１単位分の領域より大きいと判定する。その場合は、第１の画像から、物体１単位分の領域を抽出できない為、生成部１０４において教師データを生成しない。差分画像から得た面積と、第３の画像から得た面積との差が閾値より小さい場合は、第１の領域は物体１単位分の領域とほぼ一致すると判定する。そのため、差分画像は、物体１単位分の領域と対応していると考えられる。この場合は、生成部１０４で教師データを生成する。例えば、ある距離Ｄだけ離れた位置にある撮像装置から物体を撮像した画像について、画像における物体１単位分の領域の面積をＳとする。具体的には、第３の画像における物体１つ分の領域はＳであると仮定する。このとき、第１の領域から得た面積ＸがＳの９０％から１１０％の範囲に含まれるとき、第１の領域は物体１単位分の領域であると判定する。一方で、Ｘ＜０．９ＳまたはＸ＞１．１Ｓである場合は、第１の領域は物体１単位分の領域ではないと判定する。判定方法は、面積の差を用いる以外にも、第１の領域と物体１単位分の領域の比率を用いてもよい。この場合は、例えば、第１の領域に対する物体１単位分の領域の割合が、１より大きい場合は、第１の領域は物体１単位分の領域より大きいと判定する。また、割合が１よりも著しく小さい場合は、教師データを生成しないようにする。
【００２７】
Ｓ１００４では、生成部１０４が、判定部１０３によって物体群が変化した領域が物体１単位分の領域であると判定した場合に、物体群が変化した領域に対応する第１の画像の部分画像を用いて、学習モデルの教師データを生成する。更には、判定部１０３によって差分画像から得た面積と第３の画像から得た面積との差が閾値より大きいと判定された場合に、学習モデルの教師データの生成を抑制する。なお、ここでは教師データの正解値として吸着位置を与える。
【００２８】
Ｓ１００５では、学習部１０５が、生成された教師データに基づいて、推定部１０６が保持する学習モデルのパラメータを更新する。パラメータの更新とは、学習モデルの入力側の層に画像を設定し、出力画像の層に画像に対する正解値を設定し、ニューラルネットワークを経由して算出される出力が設定した正解値に近づくようにニューラルネットワークのパラメータを調整する処理を指す。学習モデルは、入力された画像から、物体１単位分の領域を推定するニューラルネットワークで構成されている。そのため教師データを学習モデルに入力したときの出力結果と、教師データの物体の領域が整合するように最適化する。
【００２９】
情報処理装置１０は、Ｓ１００１からＳ１００４のフローを繰り返し行うことによって、質の良い教師データを生成することができる。以上の処理により、複数の物体が同時に動く状況が存在しても、物体１つ分の形状を示す教師データを生成することができる。
【００３０】
（変形例）
抽出部１０２において、差分画像を抽出する際に、画像特徴を利用する場合について述べる。図７におけるＳ１００２では、抽出部１０２が、複数の物体が重なり合った状態である物体群を撮像した第１の画像と、物体群の中から物体を把持した後に撮像した第２の画像とから画像特徴に基づいて、第１の領域を示す画像特徴を抽出する。画像特徴は、例えば、カラー画像に対するテンプレートマッチングで座標を取得する。座標を複数取得し、その位置関係から領域を抽出する。また、エッジ検出により、エッジの配置に基づいて領域を抽出してもよい。抽出された領域に基づいて、差分画像を生成する。なお、第１の実施形態で説明した、距離情報を組み合わせて差分画像を生成してもよい。Ｓ１００３では、判定部１０３が、基準となる画像特徴と、抽出部１０２で抽出した差分画像に基づいて、教師データを生成するか否かを判定する。基準となる画像特徴は、物体１単位分の領域の形状データを用いる。あるいは、例えば、物体の色の違いによる輝度を用いる。このように抽出部１０２は、物体の画像特徴を抽出できれば何でもよい。例えば、背景差分による画像特徴の抽出でもよい。時系列の画像群に対する３次元形状モデルまたは２次元特徴量の分布のマッチングによる対象の特徴を持つ領域を抽出してもよい。
【００３１】
物体の領域について、把持する単位に合わせて抽出する領域を変えてもよい。例えば、２つで１組として把持する物体であれば、１組の物体の領域を抽出する。物体１単位毎の領域を知ることによって、効率的に教師データが生成できる。
【００３２】
画像は、カラー画像と距離画像のセットで説明したが、物体の移動を行うための情報が十分に得られるものであれば何でもよい。例えば、グレー画像と距離画像のセットでもよい。ステレオ画像を取得して距離を推定してもよい。カラー画像またはグレー画像を取得し、１枚のカラー画像から距離画像を推定するＣＮＮで距離を推定してもよい。差分画像を抽出する前に、入力画像に対して、ひずみ補正やガンマ補正を行ってもよい。撮像装置は、以上のような画像を取得できる装置であればよい。
【００３３】
入力装置１１は、図１のようにロボットに取り付けられた例で説明したが、他の場所に設置されていてよい。例えば、把持装置の上部に固定カメラを取り付けてもよい。カメラ位置が固定されることによって、距離情報がより安定的に取得できる。
【００３４】
推定部１０６が保持する学習モデルの入力データは、推定を行うのに十分な情報量を入力となるように解像度等を調整してもよい。例えば、縦が６４画素であり横が４８画素である画像を入力としてもよい。
【００３５】
制御部１１０は、吸着ハンドを取り付けた産業用ロボットの構成で説明したが、物体の把持が推定部１０６の結果に応じてできれば何でもよい。例えば、把握ハンドを取り付けた産業用ロボットでもよい。
【００３６】
抽出部１０２の領域算出のときの二値化処理は、事前に算出した固定閾値を用いたが、物体の領域を推定できれば何でもよい。例えば、事前に光源環境、または物体の材質、またはカメラのレンズのパラメータなどの装置の設定値を利用して、閾値を計算する式を推定しておき、閾値を動的に算出してもよい。複数回、二値化処理を行い複数の結果を出力してもよい。
【００３７】
抽出部１０２の領域の算出方法は、距離画像の差分を利用する方法のほか、物体の領域を推定できれば何でもよい。例えば、カラー画像の差分を利用してもよい。複数の視点の画像を用いて整合性の高い領域を推定してもよい。
【００３８】
判定部１０３の判定方法は、領域の面積の比較を利用した例を説明したが、算出された領域の確からしさを評価できるものであれば何でもよい。例えば、外接矩形の縦横比を比較してもよい。距離画像の値によって比の閾値を変更してもよい。要求する教師データの正確性によって閾値を変更してもよい。距離画像のノイズの強さや、要求する教師データの正確さに応じて、閾値は第３の画像から得た面積の±２０％や±５％にしてもよい
生成部１０４の教師データの生成は、画像の一部領域を切り抜く方法のほか、物体の検出のための教師データとして十分な情報量を有していれば他の方法であってもよい。教師データのための画像に関しては、例えば、ガウスフィルタやソーベルフィルタなどのフィルタを適用した画像を用いてもよい。明るさの影響を減らすため、画素値の平均や分散が定数値になるような正規化を行ってもよい。また、生成部１０４の教師データの生成は、決められた閾値の範囲を使っているが、物体の把持に必要な情報を推定できるような教師データを生成できれば何でもよい。例えば、教師ラベルは距離画像から部品の大きさを推定し、閾値を決めてもよい。また、画像重心位置からの範囲の閾値を距離画像の値によって動的に設定してもよい。距離画像を利用して概略の３次元位置から中心位置とする座標を決めてもよい。領域の先端などの特徴部位に特徴であることを示すラベルを付与してもよい。
【００３９】
学習部１０５は、推定部１０６の保持する学習モデルのパラメータを更新できる方法であればどのような方法を用いてもよい。例えば、パラメータ更新頻度の逆数に関係する指標で学習係数を決める方法を用いてもよい。特定の状況下で、収束速度が向上するように学習係数を更新する方法を用いてもよい。
【００４０】
（第２の実施形態）
第２の実施形態では、ピックアンドプレースした物体の画像を時系列順にトラッキングすることにより、物体１単位分の領域について教師データを得る情報処理装置について説明する。本実施形態では、予め学習済みの学習モデルを対象とする。把持可能である物体１単位分の領域について予め学習が済んでいても、工場の現場等で実際に使われる場合は、更なる性能向上が求められる。実際の現場の環境は、光源やロボットが学習済みの環境と異なる場合がある。例えば、学習済みの環境よりも複雑な姿勢で物体が積まれていることがあり、物体を把持する制御を行うことが困難である。物体を把持させるためにロボットを動かす際に、物体がどのように見えるのかをロボットに教えるには、プログラミングや特殊な装置を使う技術が必要であった。ところが、工場や物流倉庫等の現場に、プログラミングが出来る人がいるとは限らない。そこで、現場でも簡単に教師データを準備する方法を述べる。ここでは、実際に把持装置に物体を動かすタスクをさせながら教師データを生成する。そのため、効率的に物体１単位分の領域を示す教師データを生成できる。更に、把持の精度を向上させる教師データを生成できる。
【００４１】
図８に第２の実施形態における情報処理システム２の構成例を示す。情報処理システム２は、情報処理装置２０、入力装置１１、出力装置２２から構成される。情報処理装置２０は、取得部２０１、抽出部２０２、判定部２０３、生成部２０４、学習部２０５、推定部２０６、保持部２０７、制御部２１０から構成される。
【００４２】
取得部２０１が、複数の物体が重なり合った状態である物体群を撮像した第１の画像を取得する。なお、本実施形態には、把持のタスクが終了する（物体を目的地に置く）までの動作を動画として取得する。つまり、動画の最初の１フレームを第１の画像として取得する。また、取得部２０１は動画の最後のフレームを第４の画像として取得する。取得された動画は保持部２０７で保持される。タスクの終わり、つまり物体を目的地に配置したタイミングで撮像された画像が第４の画像である。そのため、第４の画像は物体１つが写った画像である。
【００４３】
抽出部２０２は、取得部２０１で取得した各画像から、テンプレートを抽出する。詳しい処理は後述する。判定部２０３は、第４の画像から抽出された物体の画像特徴に基づいて、第１の画像における物体の形状をトラッキングできたか否かを判定する。生成部２０４は、判定部２０３によってトラッキングできたと判定された場合に、物体１単位分の形状に対応する第１の画像の部分画像から学習モデルの教師データを生成する。第２の実施形態における教師データは、部分画像をさらに定数サイズの正方形になるように抽出した複数の画像（縦が１２８画素であり、横が１２８画素の画像など）を用いる。それらの画像に対して、画像の中心位置が物体の画像重心付近であるか否かのラベル（以降、教師ラベルと呼ぶ）を付与したデータが教師データである。詳細な処理は後述する。
【００４４】
学習部２０５では、生成部２０４で生成された教師データを用いて、推定部２０６が保持する学習モデルのパラメータの更新を行う。推定部２０６では、推定処理実行時に、保持している学習モデルを使って、重なり合った物体群を撮像した画像から、把持可能な物体の位置を推定する。推定部２０６では、保持している学習モデルを使って、重なり合った物体群を撮像した画像から、把持可能な物体の領域または位置を推定する。推定結果は、出力装置２２へ出力する。本実施形態の学習モデルにおいては、物体の画像における重心の位置およびその付近が教師データの正解値として設定されており、学習モデルは画像の重心の位置およびその付近を推定結果として出力する。ここでは、学習モデルはニューラルネットワークであり、定数サイズの正方形の画像（縦が１２８画素であり、横が１２８画素の画像など）を入力として受け付ける。入力画像の入力サイズは既知であるものとする。また、学習モデルは、物体が写った画像の中心が重心付近であるかそうでないかをクラス分類するニューラルネットワークで構成する。つまり、この学習モデルは、入力された画像の中心が、物体の画像重心付近か否かを判定する。なお、学習モデルは、入力された画像から、画像における重心の位置に対するオフセットの位置、吸着部を物体に近づける際の姿勢、物体のクラス（種類）を推定するものでもよい。
【００４５】
保持部２０７は、取得部２０１で取得された画像または動画を保持する。制御部２１０は、推定部２０６で推定された位置まで、アクチュエータ部２２０を制御する。入力装置１１は、実施形態１と同様で、具体的には撮像装置であり、撮像部１００を有する。出力装置２２は、情報処理装置２０から出力結果に基づいてアクチュエータ部２２０を制御する把持装置である。なお、本実施形態における学習モデルは、事前にある程度学習済みであるものとする。
【００４６】
図９のフローチャートに基づき第２の実施形態に係る情報処理システム２が実行する処理の流れを説明する。Ｓ２００１では、取得部２０１が、複数の物体が重なり合った状態である物体群を撮像部２００によって撮像された第１の画像を取得する。Ｓ２００２では、推定部２０６が、Ｓ２００１で取得した第１の画像を学習モデルに入力し、把持可能な物体１単位分の領域を推定する。推定部２０６は、予め準備されたパラメータを学習モデルに設定しておく。Ｓ２００３は、制御部２１０が、Ｓ２００２で推定された物体をピックアップするように、アクチュエータ部２２０を制御する。そして、目標とする物体を把持する。あらかじめ、出力装置２２は、入力装置１１との相対位置姿勢をキャリブレーションしておく。また、入力装置１１は、撮像装置である場合、内部パラメータをキャリブレーションしておく。出力装置２２である産業用ロボットのロボットアームを、推定部２０６で推定した位置及び姿勢を利用して把持部を作用させる位置に移動させ、物体を移動させる。本実施形態では、把持した物体を物体の領域と背景が容易に分離可能な場所（背景の色が物体の色と異なる場所など）に移動させる。Ｓ２００２で取得した入力装置の位置及び姿勢から、物体を移動している様子をすべて画像として取得できるように入力装置１１を出力装置２２に取り付けておき、画像を取得する。
【００４７】
Ｓ２００４では、取得部２０１が、把持後の重なり合った物体群を撮像した第２の画像を取得する。以降、把持した物体を設定された位置に配置するまで、撮像部１００は物体の様子を撮像する。取得部２０１は、撮像された画像、すなわち第１の画像や第２の画像を時系列画像として取得する。
【００４８】
Ｓ２００５では、取得部２０１が、把持された物体１単位分を所定の場所に配置した後に撮像した画像である第４の画像を取得する。本実施形態において、第４の画像は、物体を１つ撮像した画像である。なお、物体１単位分は物体１つに限らず、把持可能な量であればどのような組合せでもよい。
【００４９】
Ｓ２００６では、抽出部２０２が、複数の物体が重なり合った状態である物体群から把持された物体を撮像した時系列画像から、第４の画像に基づいて物体１単位分を抽出する。図１１を用いて説明する。まず、第４の画像に対応する時系列画像１００２から、物体の画像特徴を抽出する。画像特徴として、例えば輝度を利用する。画像特徴の変化が大きい部分を結んだ連続した領域をテンプレートとして保持する。このテンプレートは、第４の画像の前のフレームで取得した画像とマッチングしながら更新される。例えば、時系列画像１００２がＴ＝Ｔ１で撮像された画像であるとすると、Ｔ＝Ｔ１−１のタイミングで撮像された画像と比較する。Ｔ＝Ｔ１−１のタイミングで撮像された画像で一致したテンプレートを新たなテンプレートとしてＴ＝Ｔ１−２の画像と比較する。これを繰り返し行うことで、時系列をさかのぼり、最終的にテンプレートを１番初めに撮影した（即ちＴ＝０で撮像した画像）第１の画像とマッチングさせる。この処理をトラッキングと呼ぶ。なお、時系列画像１００１のように、吸着部が画像に写りこむ可能性があるが、ロボットに与えるパラメータから、吸着部やアームの見え方がわかるので、マスク処理などを施すことで、物体を見失うことなくトラッキングできる。テンプレートを対応する直前の時刻（時間軸と逆方向となる）の距離画像に対して、ＩＣＰ法（Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔ）で照合する位置姿勢を推定する。算出した位置姿勢における距離画像上の領域を新たな領域として、距離画像から対応する領域を抜き出したものを新たなテンプレートとする。テンプレートに対して、対応する直前の時刻の距離画像が存在しなくなるまで、この手続きを繰り返す。それぞれの距離画像に対して算出した領域を第２の領域とする。
【００５０】
Ｓ２００７では、判定部２０３が、第４の画像から抽出された物体の画像特徴に基づいて、第１の画像における物体の形状を把持された物体が物体群に含まれる物体に一致するか判定する。ある時刻ｔでの画像Ｉｔにおける物体の領域の形状と、時刻ｔ−１での画像Ｉｔ−１における物体の領域の形状とを比較する。画像から取得した面積の比率ｒが、所定の範囲内（９５パーセント以上で１０５パーセント以下など）であるか判定する。任意の時刻で、ｒが範囲内に含まれる場合は、トラッキングは成功で、対応する最初の時刻の画像を教師データ生成に利用すると判定する。
【００５１】
Ｓ１００４は、生成部２０４が、判定部２０３での判定結果に基づいて、教師データを生成する。つまり、判定手段によってトラッキングが失敗したと判定された場合に、学習モデルの教師データの生成を抑制する。判定手段によってトラッキングが成功したと判定された場合に、第１の画像から学習モデルの教師データを生成する。本実施形態における教師データは、物体１つ分の領域を示す。或いは、物体１つ分の領域のうち把持位置を示すラベルを与える。具体的には、第１の領域のうち中心から所定の範囲より内側の画素に対して、物体の把持位置であることを示すラベルを付与して生成される。また、教師データは第１の画像に対応する第１の領域のうち中心から所定の範囲より外側の画素に対して、物体の把持位置でないことを示すラベルを付与することで生成される。図１０を用いて、教師データの生成の処理について説明する。本実施形態では、吸着式の把持装置であるため、吸着位置を把持位置とする。物体の領域の画像の重心が把持位置になるように教師データのラベルを付与する。吸着式の把持装置では、物体の重心を吸引することによって、物体を把持することが一般的である。図８の画像８００は、図４（ａ）の部分画像である。具体的には、図４（ｃ）を差分画像として、図４（ａ）の対応する領域を抽出する。差分画像によって抽出された領域は、把持された物体があったおおよその領域である。この領域の重心位置である画素８０１を画像重心と呼ぶ。画像８００は、この領域を含むＲ画素×Ｓ画素の領域（Ｒ、Ｓは正の整数）を抽出した部分画像である。さらに、Ｎ画素×Ｎ画素（ＮはＲ以下、かつＳ以下の正の整数）の領域を囲むスライディングウィンドウを、画像８００の各画素を中心として生成する。スライディングウィンドウである画像８００１と、画像重心８０１の距離をｄとする。この距離ｄに応じて、教師データに与えるラベルを決定する。距離ｄ＝０、すなわち画素８０１が画像８００１の中心である場合は、その画像に対して、正解を示すラベル（例えば、数値の１）を与える。距離ｄが所定の値より小さい画像８００１に対しては、画像の重心付近であることを示すラベル（数値の０）を与える。また、距離ｄが所定の値より大きい画像８００１に対しては、画像の重心付近でないことを示すラベル（数値の−１）を与える。このように、画像８００の各画素に対して、吸着位置であるか否かを示す数値を与えた画像をラベルマップと呼ぶ。画像８１０はラベルマップの一例である。重心位置には１、物体の領域には０、それ以外にはー１のラベルを与える。前述のラベルマップの生成手順は一例であって、物体の形状や特性に応じてラベルの与え方を変えてもよい。例えば、円形の物体である場合、物体の中心から半径Ｒ（第１の実施形態では、Ｒは物体の領域の面積の平方根の１０パーセントの値とする）以内のラベルマップの座標に、画像の重心付近であることを示すラベルを与える。このラベルマップと用いて、教師データを複数生成する。把持位置を示すラベルを付与した教師データを生成することによって、学習モデルの推定精度を向上させることができる。Ｓ１００５では、学習部２０５が、生成部２０４で生成された教師データを用いて、推定部２０６が保��する学習モデルのパラメータの更新を行う。
【００５２】
以上の処理によって、効率的に物体１つ分の領域を示す教師データを生成できる。
【００５３】
画像は、カラー画像と距離画像のセットで説明したが、物体の移動を行うための情報が十分に得られるものであれば何でもよい。カラー画像、グレー画像または距離画像の何れか１つ以上の画像があればよい。
【００５４】
判定部２０３の判定方法は、領域の面積の例を説明したが、算出された領域の確からしさを評価できるものであれば何でもよい。例えば、それぞれの距離画像に対応するテンプレートの位置または姿勢の差の大きさで評価してもよい。
【００５５】
推定部２０６が保持する学習モデルの入力データは、物体１単位分の領域または把持位置を推定するに十分な情報量を入力となるように解像度等を調整してもよい。推定部２０６における把持位置を推定する方法は、物体の把持に適した位置を求められる方法であれば何でもよい。例えば、物体の画像重心位置を把持位置として、物体の画像重心位置までの距離と方向をクラス分類結果として得ることで、各座標が指し示す画像重心らしい座標を集計し、指示された回数の大きい座標を用いてもよい。把持可能性を推定する他の学習モデルを用いてもよい。推定部２０６における姿勢検出方法は、濃淡画像または距離画像に初期値を与えたＣＡＤモデルをフィッティング処理して、ＣＡＤと対応する対象物の位置姿勢を推定する方法を用いたが、物体の姿勢を求められる方法であれば何でもよい。推定部２０６における物体１単位分の領域または把持位置を推定する方法は、物体の中心位置を求められる方法であれば何でもよい。例えば、定数の正方形サイズの画像をクラス分類する学習をする方法を用いてもよい。或いは、物体中心であることを表す領域の形状により計算してもよい。物体中心である領域の周囲が物体中心でない領域であることを利用して計算してもよい。クラス分類結果の尤度を反映してもよい。また、把持可能な物体１単位が物体１つではない場合は、物体１単位の形状に合わせて把持位置を決定してよい。推定部２０６が保持する学習モデルは、ニューラルネットワークのほか、教師データを用いて物体１単位分の領域または把持位置を推定が行えるものであれば何でもよい。例えば、サポートベクターマシンによるものでもよい。ランダマイズドフォレストによるものでもよい。入力画像ごとに中心位置とのオフセットを推定する回帰推定を行ってもよい。推定部２０６における輝度を利用してテンプレートを作成する方法は、物体１単位分の情報を抽出する方法であれば何でもよい。例えば、背景となる領域をあらかじめ既知の色にしておいて、背景色を取り除く処理によって、テンプレートを得る。或いは、背景となる領域を平面としておくことで、距離画像の変動の大きい部分からテンプレートを得る。また、テンプレートは距離画像の他に、カラー画像やグレー画像から得る。
【００５６】
制御部２１０は、吸着部を取り付けた産業用ロボットの構成で説明したが、物体の移動が推定部２０６の結果に応じてできれば何でもよい。
【００５７】
（その他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供してもよい。
【図１】
2020021212.tif 000003
【図２】
2020021212.tif 000004
【図３】
2020021212.tif 000005
【図４】
2020021212.tif 000006
【図５】
2020021212.tif 000007
【図６】
2020021212.tif 000008
【図７】
2020021212.tif 000009
【図８】
2020021212.tif 000010
【図９】
2020021212.tif 000011
【図１０】
2020021212.tif 000012
【図１１】
2020021212.tif 000013