(57)【要約】【課題】  未知の物体１つ分の領域を推定する。【解決手段】  上記課題を解決する本発明にかかる情報処理装置は、同じ種類の物体を２つ以上並べた物体群を撮像した入力画像から少なくとも該物体の１つ分を示す領域を特定する情報処理装置であって、前記入力画像に基づいて少なくとも前記物体群と背景との境界を示す第１画像を取得する取得手段と、前記入力画像から抽出された複数の画像特徴群のうち、前記境界と異なる該画像特徴群を示す第２画像を取得する取得手段と、前記第１画像と前記第２画像とに基づいて、前記画像特徴群に対応する部分領域を基準として前記境界の周辺まで領域拡張することによって、前記入力画像における前記物体１つ分の領域を示す物体領域を特定する特定手段とを有することを特徴とする。【選択図】  図１
2020087155.tif 000002
【特許請求の範囲】
【請求項１】
同じ種類の物体を２つ以上並べた物体群を撮像した入力画像から少なくとも該物体の１つ分を示す領域を特定する情報処理装置であって、
前記入力画像に基づいて少なくとも前記物体群と背景との境界を示す第１画像を取得する取得手段と、
前記入力画像から抽出された複数の画像特徴群のうち、前記境界と異なる該画像特徴群を示す第２画像を取得する取得手段と、
前記第１画像と前記第２画像とに基づいて、前記画像特徴群に対応する部分領域を基準として前記境界の周辺まで領域拡張することによって、前記入力画像における前記物体１つ分の領域に対応する部分領域を特定する特定手段とを有することを特徴とする情報処理装置。
【請求項２】
前記決定手段は、複数の前記画像特徴群ごとに前記物体１つ分の領域らしさを表すスコアを付与し、前記スコアが所定の値より大きい画像特徴群を前記第２画像として決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記スコアは、前記画像特徴群が前記第１画像の画像特徴と類似しない場合に大きくすることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記スコアは、前記画像特徴群のうち、画像特徴の集まり同士の形状が類似するほど大きくすることを特徴とする請求項２または３に記載の情報処理装置。
【請求項５】
前記スコアは、前記画像特徴群のうち、互いの画像特徴が類似している場合に大きくすることを特徴とする請求項２乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記スコアは、前記画像特徴群の数が大きいほど大きくすることを特徴とする請求項２乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１画像は、前記境界の内部に前記物体同士の境界をさらに示すことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１画像は、前記物体群に含まれる物体の輪郭を示すことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記第１画像は、前記入力画像の画素ごとに前記物体の輪郭らしさを表す値を保持することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記第１画像は、任意の物体を前景とした画像に対して該物体と背景との境界を真値として与えた教師データによって学習された第１学習済みモデルと前記入力画像とに基づいて取得された画像であることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記第２画像は、画像における物体を検出する畳み込みニューラルネットワークである第２学習済みモデルにおける畳み込み処理層に前記入力画像を与えることによって取得された複数の画像特徴群から決定されることを特徴とする請求項１乃至請求項１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記物体領域は、前記第２画像から得られる画像特徴の集合を、前記第１画像から得られる輪郭の周辺まで拡張することによって前記物体１つ分の領域を表すことを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記物体群から前記物体を１つずつピッキングするロボットを制御する制御手段をさらに有し、
前記制御手段は、前記特定手段によって特定された前記物体領域に基づいて前記物体をピッキングする位置に前記ロボットを制御することを特徴とする請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
それぞれの前記物体までの距離情報を取得する形状情報取得手段と、
前記距離情報から前記画像に写った複数の前記物体が含まれる平面を取得する主平面取得手段と、
前記平面に基づき前記画像に写った複数の前記物体が同じ大きさになるように前記画像を補正する補正手段とをさらに有することを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記補正手段は、前記物体がユーザーによって指定された面に正対するように前記画像を補正することを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記第２画像に基づいて、前記シーンに含まれる前記物体の数を推定する推定手段をさらに有することを特徴とする請求項１乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
コンピュータを請求項１乃至１６のいずれか１項に記載の情報処理装置が有する各部を機能させるプログラム。
【請求項１８】
同じ種類の物体を２つ以上並べた物体群を撮像した入力画像から少なくとも該物体の１つ分を示す領域を特定する情報処理方法であって、
前記入力画像に基づいて少なくとも前記物体群と背景との境界を示す第１画像を取得する取得工程と、
前記入力画像から抽出された複数の画像特徴群のうち、前記境界と異なる該画像特徴群を示す第２画像を取得する取得工程と、
前記第１画像と前記第２画像とに基づいて、前記画像特徴群に対応する部分領域を基準として前記境界の周辺まで領域拡張することによって、前記入力画像における前記物体１つ分の領域を示す物体領域を特定する特定工程とを有することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の画像認識に関する。
【背景技術】
【０００２】
産業分野や物流分野において、工場や店舗における商品の在庫管理や、ロボットが物体のピックアンドプレース等を自動で行うために、複数の物体が撮像された画像中から、物体一つ分の領域を認識する技術が求められている。現在の技術では、多種多様な対象物体を画像認識で扱う場合、すべての対象物体に対するモデルを用意する必要がある。しかし、物体毎にモデルを用意する作業は非常に手間がかかる。
【０００３】
特許文献１では、並べられた物体の画像を取得し、画像から得られた画像特徴の相対位置関係に基づいて画像特徴をクラスタリングすることで、物体一つひとつを識別する技術について開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１１５３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、物体の形状について未知である為、同一種類の物体が隙間なく密に整列している画像からは物体一つひとつを正しい単位で識別出来ない恐れがある。例えば、図１のように、棚に陳列されている商品を画像認識する場合、横に並べられた商品３つ分を１つの物体領域として認識する可能性がある。本発明は上記問題に鑑みてなされたものであり、同一種類の物体が隙間無く密に整列している場合であっても、未知の物体１つ分の領域を推定することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決する本発明にかかる情報処理装置は、同じ種類の物体を２つ以上並べた物体群を撮像した入力画像から少なくとも該物体の１つ分を示す領域を特定する情報処理装置であって、前記入力画像に基づいて少なくとも前記物体群と背景との境界を示す第１画像を取得する取得手段と、前記入力画像から抽出された複数の画像特徴群のうち、前記境界と異なる該画像特徴群を示す第２画像を取得する取得手段と、前記第１画像と前記第２画像とに基づいて、前記画像特徴群に対応する部分領域を基準として前記境界の周辺まで領域拡張することによって、前記入力画像における前記物体１つ分の領域を示す物体領域を特定する特定手段とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、未知の物体１つ分の領域を推定できる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの構成例を示す図
【図２】情報処理装置の機能構成例を示すブロック図
【図３】情報処理装置のハードウェア構成例を示す図
【図４】情報処理システムが実行する処理手順を示すフローチャート
【図５】特徴クラスタマップの例を示す図
【図６】特徴ラベル画像群の例を示す図
【図７】輪郭マップの例を示す図
【図８】物体領域の例を示す図
【図９】情報処理システムの構成例を示す図
【図１０】情報処理システムの機能構成例を示すブロック図
【図１１】情報処理システムが実行する処理手順を示すフローチャート
【図１２】情報処理システムが実行する処理手順を示すフローチャート
【図１３】情報処理システムの機能構成例を示すブロック図
【図１４】情報処理システムが実行する処理手順を示すフローチャート
【発明を実施するための形態】
【０００９】
（第１の実施形態）
本実施形態は、複数の同一物体が整列して配置されているシーンの画像を撮像し、対象物体の輪郭情報と画像中の物体類似領域とに基づいて物体一つひとつの領域を取得し、ロボットによって対象物体をピッキングする例について説明する。物流倉庫で管理されている製品やスーパーマーケット等で陳列されている多様な商品群をロボットでピッキングする場合、対象物体の幾何形状やテクスチャ情報等の物体モデル（具体的にはＣＡＤモデル等）が必要とされる。しかし、物体毎にモデルを用意することは物体の種類が非常に多い為困難である。また、整列した複数の物体を撮像した画像から取得される画像特徴からは、物体１つ分の画像特徴の集合を抽出することが困難である。複数の物体を１単位とした画像特徴の集合が多数取得されるためである。画像特徴の集合の数が多いほど物体１つ分の画像特徴の集合である可能性は高いが、それのみで物体１つ分の領域を推定することは難しい。複数を１つと推定してしまうこともあれば、１つ単位の大きさは正しいが、境目が間違ってしまうこともあるためである。
【００１０】
本実施形態では、物体モデルを用いることなく、同一物体が複数整列して配置されているという知識を示す少なくとも２種類の画像特徴を用いる。ひとつは、輪郭情報である。輪郭情報は、予め画像から物体の輪郭を抽出するよう学習済みのモデルから取得される情報である。これによって、物体１つ分の単位についての知識を得る。もうひとつは、ニューラルネットワークから得られる画像特徴である。輪郭情報には、認識対象である物体以外の、例えば棚の柱や段ボールの輪郭が抽出される可能性がある。また、輪郭が必ずしも正確に得られるとは限らない。物体と背景の境界が曖昧な場合や、物体と物体の境界が曖昧な場合もある。例えば、物体と背景の色やテクスチャが全く異なる場合は簡単に境界を見つけやすいが、物体と背景が同じような色やテクスチャである場合には、境界がわかりづらい。物体と物体が密着して整列している場合にも、境界が見つけにくい。この場合、輪郭がいくつの物体を示しているかについての情報は得られない。したがって、輪郭情報から物体１つ分の領域を推定するには不確かな要素が残る。そのため、２つの画像特徴を補完的に用いることによって、ユーザーが手間をかけずに、物体１つ分の領域を推定する。これらの画像特徴を用いて、物体一つひとつの領域を特定し、その情報をもとに、ロボットが対象物体をピッキングすることができる。また、入力画像をユーザーによって編集する手間をかけずに、物体１つ分の領域をロボットが推定できる。
【００１１】
本発明にかかる実施形態を説明するのに先立ち、用語の定義について説明する。
【００１２】
輪郭とは、物体１つ分の領域を囲む線を指し、画像においては背景と前景にある物体１つ分の領域との境界線である。情報処理によって輪郭を求める場合には、通常、隣接画素間の輝度変化が大きい領域が輪郭の候補となる。物体と背景との色が類似している場合は境界が曖昧になる可能性がある。また、密に隣接する物体同士は境界が曖昧になる可能性がある。
【００１３】
輪郭マップ（第１画像）とは、画像から物体１つ分の輪郭と推定された境界を可視化した画像である。輪郭マップは、少なくとも物体群と背景との境界を示す。入力された画像と同じ解像度で、画像の各画素には輪郭らしさを表す０から１までの値が保持されている。輪郭マップは、画像から物体１つ分の領域を推定するのに用いる。輪郭マップの生成方法は後述する。
【００１４】
画像特徴マップとは、カラー画像からテクスチャやエッジなどの画像特徴を抽出した画像である。マップの各画素に対応して特徴として多次元ベクトルが保持されている。画像特徴マップは、整列された物体群から繰り返し現れるパターンを抽出するのに用いる。画像特徴マップの生成方法は後述する。
【００１５】
特徴クラスタマップとは、図５に示すような、画像特徴マップを特徴の類似度に基づいてクラスタリングした画像である。マップの各画素にはクラスタのＩＤが保持されている。特徴クラスタのＩＤが同じ画素は、類似した特徴が得られていることを示す。またＩＤの数は後述する分割数に等しい。例えば、図１の符号１７のように、棚の上に１列３個ずつ２列分物体が整列された画像からは、各物体を表す特徴クラスタや、隣り合う物体間の隙間を表す特徴クラスタ、２列を隔てる棚を表す特徴画像特徴が得られる。そのため、例えば、図１の符号１７で分割数３の場合を例にすると、３つのクラスタＩＤからなる図５の画像特徴マップが得られる。特徴クラスタマップの生成方法は後述する。
【００１６】
特徴ラベル画像（第２画像の候補）とは、図６に示すような、特徴クラスタマップのクラスタごとに分割された領域をラベリングした画像である。各クラスタについて特徴ラベル画像を生成する。特徴ラベル画像の数はクラスタの数と等しくなる。特徴ラベル画像の生成方法は後述する。
【００１７】
物体領域スコアとは、各特徴ラベル画像（第２画像の候補）について、物体１つ分の領域らしさを表す値である。つまり、特徴ラベル画像から物体の１つ分の領域と対応する画像特徴を有する画像を選ぶために、特徴ラベル画像ごとに所定のルールに基づいて物体領域スコアを付与する。所定のルールとは、例えば、クラスタリングされた画像特徴の集合の数が大きいほど大きくする。この物体領域スコアが最大スコアとなる特徴ラベル画像を第２画像として決定する。スコアの算出方法は、後述する。
【００１８】
物体領域とは、輪郭マップ（第１画像）と決定された特徴ラベル画像（第２画像）とを用いて、物体１つ分の領域を推定した画像である。図８に物体領域を示す。異なる色で分離された領域が物体１つ分の領域であり、図８には６つの物体が確認できる。第２画像から得られる画像特徴の集合を、第１画像から得られる輪郭まで拡張することによって物体１つ分の領域を表す。複数の物体が一つひとつ分離して識別可能になっている。
【００１９】
以下、本発明にかかる実施形態の情報処理装置を詳細に説明する。
【００２０】
図１は、本実施形態に係る情報処理装置１０を備える情報処理システム１の構成例を示す図である。情報処理システム１は撮像装置１１、ロボット１５、情報処理装置１０からなる。撮像装置１１は対象とするシーン１７を撮像して、画像を情報処理装置１０に送る。本実施形態における対象とするシーンとは、複数の同一物体が整列して配置されているシーンである。また、対象とするシーン内の複数の同一物体を対象物体として扱う。情報処理装置１０は対象とするシーン１７から対象物体１８を一つひとつ分離して識別できる処理を行い、ロボット制御部１６４に対象物体を一つひとつに分離した情報を送る。ロボット制御部１６４はロボット１５と接続されており、対象物体１８をロボット１５で把持するための制御を行う。また、撮像装置１１はロボット１５のアームに固定されているものとする。また、撮像装置１１の座標系からロボット１５への座標系への変換行列は、事前にキャリブレーションによって求めておく。なお、撮像装置１１と情報処理装置１０は無線で接続されており、通信によって画像や制御情報を送受信することができる。有線によって接続されていてもよい。また、ロボット１５を経由して接続されていてもよい。
【００２１】
図２は、本実施形態に係る情報処理装置１０を備える情報処理システム１の機能構成例を示す図である。同図に示すように、本実施形態における情報処理装置１０は、撮像装置１１と輪郭抽出モデル記憶部１６２、画像特徴抽出モデル記憶部１６１、位置姿勢決定部１６３、およびロボット制御部１６４と接続されている。さらに、ロボット制御部１６４はロボット１５と接続されている。
【００２２】
撮像装置１１は、複数の対象物体が整列しているシーン１７を２次元カラー画像として撮像する装置である。具体的には、カラーカメラである。
【００２３】
輪郭抽出モデル記憶部１６２は、学習済みの輪郭抽出モデルを記憶しておく装置である。輪郭抽出モデル（第１学習済みモデル）とは、深層学習によって学習されたネットワークで、例えば、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：畳み込みニューラルネットワーク）を用いる。このＣＮＮは、予め人が物体の輪郭部分を真値として入力したカラー画像（輪郭情報）を教師データとして学習済みであるものとする。学習時には、様々な物体を撮像した画像群を入力し、夫々の画像における物体の輪郭情報を出力とし、予め用意した真値と比較することで学習させる。例えば、動物やインテリア等の一般物体を撮像した画像に対しては、一般物体と背景との境界部分である輪郭をユーザーが入力して教師データを用意する。本実施形態で認識させるような、同じ物体が整列して写った画像についても、ユーザーが物体と物体を隔てる影や隙間を輪郭として入力する。このようにユーザーが物体の輪郭を教示することで、人間が物体の輪郭として認識できる境界をニューラルネットワークに教示することができる。物体内部のテクスチャには特に真値を与えないことで、背景と前景物体との境界である輪郭に対して強く反応するようにモデルを生成する。物体１つ分の領域を囲む輪郭を示す画像特徴を学習することによって、物体同士が密に整列されている状況においても、物体２つを１単位として誤認識することなく、物体同士をひとつひとつ分離して認識できる。また、物体以外の情報（例えば、棚や段ボールの大きさに関する情報）が無くても、物体１つ分の領域を学習できる。なお、学習済みモデルとは、入力画像から入力画像に対応する結果を出力するニューラルネットワークに基づくネットワーク構造とそのパラメータである。
【００２４】
画像特徴抽出モデル記憶部１６１は、画像特徴抽出モデルを記憶しておく装置である。画像特徴抽出モデル（第２学習済みモデル）とは、１つ以上の画像特徴を出力するＣＮＮである。ＣＮＮは入力された画像に対して畳み込み処理を繰り返し行うことで画像特徴マップを取得する。また、複数回の畳み込み処理を行うことで、畳み込み処理毎に受容野の異なる画像特徴マップが取得される。取得される画像特徴マップは、ＣＮＮによって、夫々の畳み込み処理で取得される画像特徴マップのいずれでもよい。あらかじめ設計者が決めておいた畳み込み処理層（例えば１０回畳み込み処理後）の画像特徴マップを取得してもよい。取得された複数の画像特徴マップを組み合わせて得られた画像特徴マップでもよい。特徴マップの組み合わせは、複数の画像特徴マップの解像度をある所定の解像度（例えば画像のサイズ）に変換した後、複数の画像特徴マップにおける画素間の（中央値のような）代表値を選択してもよい。夫々の画像特徴マップに渡る統計値（全体の平均や分散）を求めてもよい。夫々の画像の統計値の平均を用いてもよい。取得された画像特徴マップは特徴ラベル画像生成部１６０と決定部１７０へ出力する。画像特徴をニューラルネットワークから取得するメリットとして、物体が球体や円柱である場合、すべての物体が同じ面を向けて整列していなくても物体１つ分の領域を推定できることがある。画像特徴をエッジ検出等のルールベースで取得する場合、球体や円柱の表面のテクスチャ（具体的には柄プリントやラベル等）の向きを揃えて画像特徴を取得する必要がある。球体や円柱の表面のテクスチャから得られる画像特徴は、物体の回転によって位置が異なる可能性が有る為である。本実施形態の手法では、球体や円柱が回転した状態で配置される状況においても、必要な画像特徴を抽出しうる。加えて物体の外形を輪郭情報によって識別できる。ニューラルネットワークから得られる画像特徴は、ニューラルネットワークの学習の段階で一般画像認識に必要な画像特徴を多面的に学習しており、ルールベースで得られる画像特徴よりロバストであるためである。
【００２５】
位置姿勢決定部１６３は、撮像装置１１の撮像時の位置姿勢を決定する。対象シーンに合わせて位置と姿勢を決定する。本実施形態では、整列された物体すべてが同じ大きさかつ同じ向きを向いている状態になるよう撮像位置を決定する。
【００２６】
ロボット制御部１６４はロボット１５に対する制御を行う。ロボット１５はロボット制御部１６４から制御され、動作する。本実施形態では、物体を１つずつピッキングするロボットを説明する。
【００２７】
情報処理装置１０は、以下の構成要素により構成される。画像取得部１１０は、撮像装置１１によって複数の物体を並べたシーンを撮像した入力画像を取得する。入力画像は撮像装置１１から情報処理装置１０に入力される。輪郭抽出モデル取得部１２０は、輪郭抽出モデル記憶部１６２から情報処理装置１０に入力される輪郭抽出モデルを取得する。画像特徴抽出モデル取得部１３０は、画像特徴抽出モデル記憶部１６１から情報処理装置１０に入力される画像特徴抽出モデルを取得する。輪郭取得部１４０は、輪郭抽出モデルに基づいて入力画像から物体の輪郭を示す画像特徴を抽出した輪郭マップ（第１画像）を取得する。取得した輪郭マップは決定部１７０と特定部１８０に送られる。画像特徴抽出部１５０は、画像特徴抽出モデルに基づいて入力画像から多様な画像特徴を抽出した画像特徴マップを抽出する。抽出した画像特徴マップは特徴ラベル画像生成部１６０と決定部１７０に送られる。特徴ラベル画像生成部１６０は、画像特徴マップから画像特徴量の類似性に基づいてクラスタリングを行い、画像特徴ごとの集合を示す特徴クラスタマップを生成する。さらに、特徴クラスタマップごとにクラスタリングしたクラスタごとに領域をラベリングした特徴ラベル画像を生成する。生成した特徴ラベル画像群は決定部１７０に送られる。決定部１７０は、画像特徴マップと輪郭マップに基づいて、特徴ラベル画像ごとに物体１つ分の領域らしさを表すスコアを取得する。そして最大スコアとなる特徴ラベル画像を第２画像として決定する。得られた第２画像は特定部１８０に送られる。特定部１８０は、第２画像と輪郭マップ（第１画像）とに基づいて、境界（輪郭）の周辺まで第２画像の画像特徴群を基準とした部分領域を領域拡張することによって、物体１つ分の領域を示す物体領域を推定する。推定された物体領域はロボット制御部１６４に送られる。
【００２８】
ロボット制御部１６４では、物体領域を受け取り、画像内から把持するべき対象物体１８を特定し、ロボット１５が対象物体１８を把持するために必要な制御パラメータを求める。ロボット制御部１６４は求めた制御パラメータを用いてロボット１５を動作させる。ただし、図２は、機器構成の一例であり、本発明の適用範囲を限定するものではない。
【００２９】
図３は、情報処理装置１０のハードウェア構成を示す図である。Ｈ１１はＣＰＵであり、システムバスＨ１８に接続された各種デバイスの制御を行う。Ｈ１２はＲＯＭであり、ＢＩＯＳのプログラムやブートプログラムを記憶する。Ｈ１３はＲＡＭであり、ＣＰＵであるＨ１１の主記憶装置として使用される。Ｈ１４は外部メモリであり、情報処理装置１０が処理するプログラムを格納する。入力部Ｈ１５はキーボードやマウス、ロボットコントローラーであり、情報等の入力に係る処理を行う。表示部Ｈ１６はＨ１１からの指示に従って情報処理装置１０の演算結果を表示装置に出力する。なお、表示装置は液晶表示装置やプロジェクタ、ＬＥＤインジケーターなど、種類は問わない。Ｈ１７は通信インターフェイスであり、ネットワークを介して情報通信を行うものであり、例えば情報処理装置１０が取得したロボットの制御情報をロボットに出力する。通信インターフェイスはイーサネット（登録商標）でもよく、ＵＳＢやシリアル通信等種類は問わない。
【００３０】
次に、本実施形態における処理手順について説明する。図４は、本実施形態における情報処理装置１０を備える情報処理システム１の処理手順の一例を示すフローチャートである。以下の説明では、各工程（ステップ）について先頭にＳを付けて表記することで、工程（ステップ）の表記を省略する。ただし、情報処理システム１は必ずしもこのフローチャートで説明するすべてのステップを行わなくても良い。以下、フローチャートは、コンピュータである図３のＣＰＵ（Ｈ１１）が外部メモリ（Ｈ１４）で格納されているコンピュータプログラムを実行することにより実現されるものとする。
【００３１】
Ｓ１０１０では、情報処理システム１がシステムの初期化を行う。すなわち、外部メモリＨ１４からプログラムを読み込み、情報処理システム１を動作可能な状態にする。輪郭抽出モデル取得部１２０は輪郭抽出モデル記憶部１６２から輪郭抽出モデルを読み込み、使用可能な状態にする。画像特徴抽出モデル取得部１３０は画像特徴抽出モデル記憶部１６１から画像特徴抽出モデルを読み込み、使用可能な状態にする。さらに、撮像装置１１がシーン１７を撮像するために、撮像装置１１の位置姿勢を位置姿勢決定部１６３により決定し、ロボット制御部１６４に入力する。位置姿勢決定部１６３が決定する位置姿勢は、設計者が予め固定値で決めておけばよい。ただし、撮像位置決定部１６３が決定する位置の決め方はこれに限るものではなく、シーン１７を撮像することができれば、乱数で決定してもよい。あらかじめ設計者が決めた範囲内において乱数で決定してもよい。これら以外の方法で決定してもよい。決定した撮像位置姿勢に基づきロボット制御部１６４が制御情報をロボット１５に入力し、ロボット１５が動作する。
【００３２】
Ｓ１０２０では、ロボット１５が撮像位置姿勢となった後に、撮像装置１１が複数の同一種類の物体が整列されたシーン１７を撮像し、撮像された画像を画像取得部１１０へと出力する。ここで撮像される画像はカラーの２次元画像である。撮像される画像は対象物体１８を複数含むシーン１７である。複数の対象物体１８は同じような見え方で撮像されていることが望ましい。例えば、複数の面からなる物体であれば同じ面が撮像装置１１から見えている等である。つまり、対象物体１８は撮像装置１に同じ方向を向いた状態で並べられている。また、複数の対象物体１８は同じような距離離れた地点から撮像されていることが望ましい。例えば、撮像された画像中で、複数の対象物体１８の撮像された面積の大きさがほぼ等しい等である。
【００３３】
Ｓ１０３０では、画像取得部１１０が、撮像装置１１が撮像した画像を取得する。そして、取得した画像を輪郭画像取得部１４０と画像特徴抽出部１５０へと出力する。
【００３４】
Ｓ１０４０では、輪郭画像取得部１４０が、輪郭抽出モデルに基づいて、入力画像から物体の輪郭を示す画像特徴を抽出した輪郭画像を取得する。輪郭画像は、少なくとも少なくとも物体群と背景との境界を示す。すなわち、輪郭抽出モデル（第１学習済みモデル）は入力画像を入力として、物体１つ分の輪郭を示す画像特徴を出力結果とする。Ｓ１０１０において読み込まれた輪郭抽出モデルに対して画像を入力することで、画像と同サイズの輪郭マップが取得される。輪郭マップにおける各画素は輪郭尤度の値を有する。輪郭尤度の値は、例えば０から１の間の数値で表現され、輪郭である確率が高いほど大きい値で表現される。抽出された輪郭マップは決定部１７０と特定部１８０へと出力する。
【００３５】
Ｓ１０５０では、画像特徴抽出部１５０が、画像特徴抽出モデルに基づいて、入力画像から、物体が整列されて配置されることによって構成される画像特徴を画素ごとに抽出した画像特徴マップを取得する。入力画像を画像特徴抽出モデル（第２学習済みモデル）に入力した出力結果は、物体が整列されて配置されることによって構成される画像特徴を含む。画像特徴マップは各画素に多次元ベクトルで特徴が保持されている。また、画像特徴マップは元の画像の領域と対応付けられている。つまり、画像の左上端を（０．０，０．０）、右上端を（１．０，０．０）、左下端を（０．０，１．０）、右下端を（１．０，１．０）とする。座標を比率で表した場合に、元の画像の（ｘ１，ｙ１）における画像特徴は、画像特徴マップにおける（ｘ１，ｙ１）に保持されている。
【００３６】
Ｓ１０６０では、特徴ラベル画像生成部１６０が、画像特徴マップからクラスタリングと領域ラベリングによって、類似構造を有する画像特徴群を有する特徴ラベル画像を生成する。そして特徴ラベル画像を決定部１７０へ出力する。まず、特徴ラベル画像生成部１６０は画像特徴マップの各画素における多次元ベクトル特徴において、類似した特徴をクラスタリングによってクラスタ化し特徴クラスタマップ（複数の画像特徴群を示す画像）を生成する。すなわち、マップの各画素をクラスタＩＤ１番からＮ番までのＮ種類に分類する。クラスタリングする方法は階層的クラスタリングであるウォード法を用い、類似度合を計算する距離として多次元ベクトル間のコサイン距離を用いる。ただし、クラスタリング方法や距離指標はこれに限るものではない。例えば、最短距離法や群平均法などの階層的手法を用いてもよい。Ｋ−ｍｅａｎｓ法などの非階層的な手法を用いてもよい。距離指標としてユークリッド距離を用いてもよい。クラスタリングにおけるクラスタ分割数は、設計者が予め固定値で定めておいてもよいし、処理の中で自動的に決定されてもよい。例えば、クラスタの分割数を順に増加させながらクラスタリング処理を行い、１つのクラスタ当たりの画素数の代表値（たとえば平均値）が予め決めておいた閾値以下になる分割数を選択してもよい。１クラスタ当たりの画素数の画像に対する比率が閾値以下になる分割数を選択してもよい。図５に特徴クラスタマップの例を示す。図５は解像度が８ｘ８の画像特徴マップをクラスタリングすることによって生成された特徴クラスタマップで、クラスタ数Ｎ＝３の場合である。次に、特徴ラベル画像生成部１６０は、特徴クラスタマップの各クラスタに対して領域ラベリングを行うことで、画像特徴群ごとに特徴ラベル画像をＮ枚生成する。図６に図５の特徴クラスタマップから生成した特徴ラベル画像群の例を示す。３つの特徴ラベル画像Ｌ１０、Ｌ１１、Ｌ１２は夫々特徴クラスタマップのクラスタＩＤ１番、２番、３番に対応する。各特徴ラベル画像において、色が異なる画素はラベルが異なることを示しており、白い画素は背景ラベルであることを示している。例えば、Ｌ１０は６つのラベル領域、Ｌ１１は２つのラベル領域、Ｌ１２は３つのラベル領域が得られている。
【００３７】
Ｓ１０７０では、決定部１７０が、画像特徴マップと輪郭マップ（第１画像）に基づいて、各特徴ラベル画像に対して、物体１つ分の領域らしさを表すスコアを付与し、スコアが所定の値より大きい候補から第２画像を決定する。輪郭と一致する画像特徴群は好ましくないため、輪郭マップに基づいて少なくとも境界と一致しない画像特徴群を第２の画像として決定する。所定の値は、ユーザーが予め経験的に設定した値を用いる。ここでは、最大スコアとなる特徴ラベル画像を第２画像として決定する。ただし、特徴ラベル画像の解像度が画像取得部１１０で取得した画像の解像度と異なる場合には、拡大縮小などの補正を行って画像取得部１１０で取得した画像の解像度に合わせたものを、第２画像とする。推定した第２画像は特定部１８０へ出力する。第２画像は特徴ラベル画像のラベルごとに対象物体の個体を表現している。ただし、第２画像が表す領域は、画像中の対象物体の領域を過不足なく表したものではなく、対象物体領域の一部の領域だけを表しているため、次のＳ１０８０で、物体１つ分の領域を過不足なく表した物体領域を推定する。
【００３８】
特徴ラベル画像に対して物体領域らしさを表すスコア計算方法について説明する。物体領域らしさを表すスコアＳＣは次式で計算する。
【００３９】
ＳＣ＝Ａ×Ｓ１＋Ｂ×Ｓ２＋Ｃ×Ｓ３＋Ｄ×Ｓ４・・・（式１）
【００４０】
ここで、Ａ、Ｂ、Ｃ、ＤはＳ１、Ｓ２、Ｓ３、Ｓ４のスコアの係数である。
【００４１】
Ｓ１は対象物体の形状の類似性を表すスコアである。特徴ラベル画像の各ラベルが表す領域の形状が似ているほど、スコアが高くなるように計算する。例えば、まず、各ラベル領域に対して主成分分析を行って、各ラベル領域の重心と第一主成分方向、第二主成分方向が重なるように各ラベル領域を重ねる。そして、Ｓ１＝（重なったラベル領域のＡＮＤ領域の画素数）÷（重なったラベル領域のＯＲ領域の画素数）としてＳ１を求めればよい。
【００４２】
Ｓ２は対象物体の特徴の類似性を表すスコアである。特徴ラベル画像におけるクラスタリングされた画像特徴同士が類似している場合に大きくする。つまり、特徴ラベル画像における各ラベル領域に対応する画像特徴マップの類似度が高いほど、スコアが高くなるように計算する。例えば、特徴ラベル画像におけるラベル領域ごとに対応する画像特徴マップの平均値を取得して、これらを各ラベル領域の特徴ベクトルとする。さらに、これらの平均値をラベル領域間の平均特徴ベクトルとして、平均特徴ベクトルと各ラベル領域の特徴ベクトルとのコサイン距離の総和を類似度のスコアＳ２として取得する。
【００４３】
Ｓ３は対象物体がなるべく小さな単位であることを期待するスコアである。特徴ラベル画像におけるクラスタリングされた画像特徴の集合の数が大きいほど大きくする。つまり、特徴ラベル画像におけるラベル領域の数が多いほど、スコアが高くなるように計算する。こうすることで、対象物体が整列して配置されている場合等に、複数の個体からなる領域を１つの個体であると誤判定してしまうことを抑制する。例えば、Ｓ３＝ｌｏｇ（ラベル領域の数）としてＳ３を求めればよい。
【００４４】
Ｓ４は輪郭マップとの整合性を表すスコアである。特徴ラベル画像におけるクラスタリングされた画像特徴が輪郭マップ（第１画像）の画像特徴と類似しない場合に大きくする。つまり、特徴ラベル画像における各ラベル領域が、対応する輪郭マップ領域において輪郭尤度が低いほど、スコアが高くなるように計算する。例えば、まず、特徴ラベル画像と輪郭マップとの解像度が異なる場合には、大きい解像度に合わせるように小さい解像度の画像を拡大補正する。そして、特徴ラベル画像の背景ラベル以外の全てのラベル領域に対応する輪郭マップの輪郭尤度の平均値を求め、Ｓ４＝１−（輪郭尤度の平均値）とする。
【００４５】
図７に輪郭マップの例を示す。各画素に保持されている値が輪郭尤度であり、値が無い画素は輪郭尤度が０．０であることを示している。図７の輪郭マップに対して図６のＬ１０、Ｌ１１、Ｌ１２の３つの特徴ラベル画像群夫々のスコアＳ４を計算する場合について、具体的に説明する。輪郭マップはこれらの特徴ラベル画像群と同じ解像度であるため、解像度を合わせる補正は省略する。Ｌ１０における輪郭尤度の平均値は（０．０×３６＋１．０×１）／３７≒０．０２７であるから、Ｌ１０のＳ４＝１．０−０．０２７＝０．９７３である。Ｌ１１における輪郭尤度の平均値は（０．０×１＋０．５×２＋１．０×１４）／１７≒０．８８２であるから、Ｌ１１のＳ４＝１．０−０．８８２＝０．１１８である。Ｌ１２における輪郭尤度の平均値は（０．５×５＋１．０×５）／１０＝０．７５であるから、Ｌ１２のＳ４＝１．０−０．７５＝０．２５である。
【００４６】
以上のように特徴ラベル画像ごとにＳ１、Ｓ２、Ｓ３、Ｓ４を求め、設計者が定めるＡ、Ｂ、Ｃ、Ｄの係数を用いて式１から物体領域らしさを表すスコアＳＣを取得する。例えば設計者は、物体領域の真値が既知のデータセットをいくつか用意して、それらに対してＳ１、Ｓ２、Ｓ３、Ｓ４を求め、既知の真値との差が最も小さくなるようにＡ、Ｂ、Ｃ、Ｄを調整すればよい。そして、ＳＣが最大となる特徴ラベル画像を、元の画像の解像度に合わせて補正したものを第２画像とする。ただし、Ｓ１、Ｓ２、Ｓ３、Ｓ４の計算方法については、例示したに過ぎず、ここで述べた方法に限るものではない。
【００４７】
Ｓ１０８０では、特定部１８０が、第２画像と輪郭マップ（第１画像）に基づいて、画像における物体１つ分の領域を示す物体領域を特定する。つまり、輪郭マップ（第１画像）と第２画像とに基づいて、画像特徴群に対応する部分領域を基準として境界の周辺まで領域拡張することによって、入力画像における物体１つ分の領域を示す物体領域を特定する。この処理によって、輪郭が曖昧である場合や、画像特徴群が上手く分離できていない場合でも、物体１つ分の領域を特定可能になる。まず、第２画像と輪郭マップ夫々が、画像取得部１１０が取得した画像の解像度と異なる場合には、拡大縮小の補正によって、画像の解像度と同じ解像度にする。そして、ラベリング処理を用いて、第２画像の夫々のラベル領域を種子点として輪郭マップに対して領域を拡張することで、物体領域を求める。第２画像によって、対象物体の個数や、対象物体の大まかな分布が分かっているので、輪郭マップに基づいて、夫々の対象物体領域の範囲を推定する。すなわち、第２画像から得られる画像特徴群を、第１画像から得られる輪郭まで拡張することによって物体１つ分の領域を表すようにする。具体的には、第２画像の夫々のラベル領域を種子点として領域拡張を行い、輪郭マップの輪郭尤度が低い画素ほど、領域拡張を行いやすくする。図８に物体領域の例を示す。物体領域は、シーン１７を撮像した画像に対して、対象物体１８の一つひとつが存在する領域をラベルによってマッピングしたものである。図８において異なる色が塗られている領域は異なる物体領域であることを示している。ラベリング処理の方法としては、ｗａｔｅｒｓｈｅｄアルゴリズムを用いる。ただし、ラベリング処理方法はこれに限るものではなく、領域拡張処理でもよいし、グラフカットアルゴリズムを用いてもよい。
【００４８】
Ｓ１０９０では、ロボット制御部１６４が、推定された物体領域に基づいて、ロボット１５が対象物体１８を把持する制御を行う。例えば、物体領域の中から把持する対象物体を一つ選び、その幾何重心位置と輪郭を求めることで、ロボット１５のハンドで物体の輪郭両端を把握する。または、物体の幾何重心位置を吸着することで、対象物体１８を把持するように、ロボット制御部１６４はロボット１５を制御する。この時、撮像装置１１の画像座標系での結果を、ロボット１５の座標系に変換する変換行列を用いて、ロボット座標系で処理を行う。
【００４９】
以上に述べたように、第１の実施形態では、対象物体の輪郭と特徴を抽出し、画像特徴マップをクラスタリング、ラベリング処理を行い、特徴ラベル画像群を生成する。そして、スコア計算によって物体領域画像を推定する。これにより、同一種類の複数の物体が密に整列した環境においても、ＣＡＤモデル等の物体に関する事前情報無しに、物体一つひとつの領域を正しく取得することができる。さらに、物体一つひとつの領域を正しく取得することで、ロボットが対象物体を誤って２個まとめて把持したり、対象物体を把持できない動作を行ったりする失敗を防ぎ、正確かつ効率よく対象物体をピッキングすることができる。
【００５０】
第１の実施形態では、撮像装置１１はロボット１５に固定されている構成について説明したが、これに限るものではない。例えば、撮像装置１１はロボット１５とは別に独立して三脚に固定してシーン１７を撮像するようにしてもよい。その場合は、撮像装置１１で撮像したシーンの座標系をロボット１５の座標系に変換するための変換行列を事前にキャリブレーションによって求めておけばよい。
【００５１】
第１の実施形態では、画像から画像特徴マップを得る際に、画像特徴抽出モデルとしてＣＮＮを用いて取得する例について示した。しかしながら、画像特徴マップを得る方法はＣＮＮによる畳み込み処理に限るものではない。例えば、ＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ  Ｆｅａｔｕｒｅ  Ｔｒａｎｓｆｏｒｍ）やＯＲＢ（Ｏｒｉｅｎｔｅｄ  ＦＡＳＴ  ａｎｄ  Ｒｏｔａｔｅｄ  ＢＲＩＥＦ）、ＡＫＡＺＥ（Ａｃｃｅｌｅｒａｔｅｄ  ＫＡＺＥ）等である。これらの特徴量を用いて画像特徴を抽出する。それらをマップ化することによって画像特徴マップとしてもよい。
【００５２】
第１の実施形態における図１ではロボット１５は地面に固定されて用いられることを前提に説明したが、これに限るものではない。例えば、ＡＧＶ（Ａｕｔｏｍａｔｅｄ  Ｇｕｉｄｅｄ  Ｖｅｈｉｃｌｅ）にロボット１５が接続されており、移動しながらロボット１５が物体をピッキングするような構成としてもよい。その場合、情報処理装置１０を含む情報処理装置１０もＡＧＶに搭載されている。または、情報処理装置１０は別途固定されており、撮像装置１１から画像を無線によって受信し、ロボット１５やＡＧＶを制御する信号を無線によって送信してもよい。
【００５３】
（第２の実施形態）
第１の実施形態では、複数の対象物体が整列しているシーンにおいて、対象物体一つひとつの領域を推定することで、対象物体に関するＣＡＤモデル等の情報無しにロボットが対象物体をピッキングする例について述べた。この時、撮像された画像において、対象物体群が同じような大きさで撮像されるように、適切な位置姿勢に撮像装置を移動させてから撮像を行う必要がある。第２の実施形態では、複数の対象物体が整列しているシーンに対して、撮像装置が斜め方向から撮像する等、対象物体群が異なる大きさで撮像される場合であっても、対象物体一つひとつを分離して識別する例について述べる。
【００５４】
図９は、本実施形態に係る情報処理装置２０を備える情報処理システム２の構成例を示す図である。図９は第１の実施形態における図１と同様の部分が多く存在するため、違いのある部分のみを説明する。情報処理システム２は撮像装置２１、ロボット１５、情報処理装置２０からなる。撮像装置２１は距離画像センサであり、対象とするシーン２７を撮像して、画像と形状情報を情報処理装置２０に送る。本実施形態における対象とするシーンは、複数の同一物体が整列して配置されており、対象物体２８に対して斜めから見たシーンである。また、対象とするシーン内の複数の同一物体を対象物体として扱う。
【００５５】
図１０は、本実施形態に係る情報処理装置２０を備える情報処理システム２の機能構成例を示す図である。図１０は第１の実施形態における図２と同様の部分が多く存在するため、違いのある部分のみを説明する。撮像装置２１は、複数の対象物体が整列している状態を斜めから観測するシーン２７を２次元画像および形状情報として撮像する装置である。形状情報とは、複数の同一物体が整列して配置されているシーンを撮像した２次元の距離画像のことである。距離画像は、画像における各画素に撮像装置からの距離情報が含まれる画像である。ただし、形状情報は距離画像に限るものではなく、３次元点群であってもよい。
【００５６】
情報処理装置２０は、以下の構成要素により構成される。形状情報取得部２１０は、撮像装置２１から情報処理装置２０に入力される画像および距離画像を取得する。主平面取得部２２０は形状情報取得部２１０から画像と形状情報を取得し、シーン２７における主平面を取得する。ここで、主平面とは、整列された物体を複数含む面である。例えば、図９における平面ａａ’ｂｂ’は、ユーザーが設定した主平面であって、画像に写っている物体すべてを含む面になっている。取得した主平面および画像と形状情報は画像補正部２３０に送られる。画像補正部２３０は主平面に関する情報と形状情報に基づいて、画像をシーン２７の主平面に対して正対した視点からの見た画像に補正する処理を行う。正対した視点とは、すべての物体が同じ大きさかつ同じ面を向いた状態で見える点である。補正した画像は輪郭画像取得部１４０および画像特徴抽出部１６０へ送られる。その他の構成要素については、第１の実施形態における図２の説明と同様であるため説明を省略する。
【００５７】
次に、本実施形態における処理手順について説明する。図１１は、本実施形態における情報処理装置２０を備える情報処理システム２の処理手順の一例を示すフローチャートである。図１１は図４と同様の部分が多くあるため、重複する部分についての説明は省略し、違いのある部分のみ説明を行う。
【００５８】
Ｓ２０２０では、ロボット１５が撮像位置姿勢となった後に、撮像装置２１が複数の同一種類の対象物体が整列されたシーン２７を撮像し、撮像された画像と距離画像を形状情報取得部２１０へと出力する。ここで撮像されるのは、２次元画像と距離画像である。撮像される画像は図９のシーン２７に示すように、対象物体２８を斜めから撮像したものであり、画像上では手前の対象物体ほど大きく、奥にある対象物体ほど小さく撮像されている。また、複数の対象物体２８はある面方向から見れば、どの対象物体も等しい距離に存在するように整列されていることが望ましい。
【００５９】
Ｓ２０３０では、形状情報取得部２１０が、撮像装置２１が撮像した画像および距離画像を取得する。そして、画像と距離画像を主平面取得部２２０に出力する。
【００６０】
Ｓ２０４０では、主平面取得部２２０が、距離画像を３次元点群に変換し、３次元点群から複数の対象物体からなる主平面を取得する。距離画像は各画素（ｘ，ｙ）において距離値ｄを保持している。距離画像から３次元点の位置（Ｘ，Ｙ，Ｚ）に変換するには以下の式２を用いる。
【００６１】
Ｘ＝ｄ×ｒ１×（ｘ−ｃｘ）／ｆｘ
Ｙ＝ｄ×ｒ１×（ｙ−ｃｙ）／ｆｙ    （式２）
Ｚ＝ｄ×ｒ１
【００６２】
ここで、（ｃｘ，ｃｙ）は距離画像における画像中心座標、（ｆｘ，ｆｙ）は距離画像の焦点距離、ｒ１は距離値ｄをｍｍの単位に変換する係数である。これらの定数は図示しないパラメータ保持部に撮像装置２１に関する情報として保持されており、Ｓ２０１０の初期化時にパラメータ保持部から主平面取得部２２０が取得しておく。また、距離値ｄに０が保持されている画素は、距離値が得られていないことを示しているため、その画素から３次元点への変換は行わない。ここでは、距離画像を全て３次元点群に変換する例について述べたが、これに限るものではない。例えば、画像を用いて、複数の対象物体以外の領域に対応する距離画像を除外して処理を行ってもよい。例えば、背景は青く、対象物体は青ではない、ということが事前情報としてわかっている場合には、青い画素に対応する距離画像は処理しなくてもよい。
【００６３】
次に、主平面取得部２２０は３次元点群から複数の対象物体からなる主平面を取得する。複数の点群（Ｍ点）からなる３次元点群（Ｘｉ，Ｙｉ，Ｚｉ）（ｉ＝１，２，・・，Ｍ）に対して、以下の平面の式で当てはめを行う。
【００６４】
Ｚ＝ａＸ＋ｂＹ＋ｃ    （式３）
【００６５】
ここで、ａ，ｂ，ｃは平面を表す係数である。３次元点群Ｍ点のうち３点を選んで式３に代入すると、ａ，ｂ，ｃを解くための３つの式を得ることができる。そして、得られたａ，ｂ，ｃを用いて次式を満たす点の数を求める。
【００６６】
｜ａＸ＋ｂＹ＋ｃ−Ｚ｜＜Ｔ    （式４）
【００６７】
ただし、｜ｘ｜はｘの絶対値、Ｔは設計者が設定する閾値である。Ｍ点の中から３点をランダムに選んで式４を満たす点の数を求めることを一定数繰り返し行い、式４を満たす点の数が最大となった時の平面の係数ａ，ｂ，ｃを主平面とする。得られた主平面を画像補正部２３０へ出力する。
【００６８】
Ｓ２０５０では、画像補正部２３０が、主平面に正対した位置から見た画像となるように、画像の補正を行う。補正した画像は輪郭画像取得部１４０および画像特徴抽出部１５０へ出力する。画像を補正する方法について図１２の画像補正処理のフローチャートを用いて説明する。
【００６９】
Ｓ２０５１では、画像補正部２３０が、初期化処理によって、これから計算に用いる中心座標ｃｐと主平面の法線ベクトルｎｐの取得を行う。中心座標ｃｐは主平面上の点であり、ｃｐ＝（０，０，ｃ）で与えられる。主平面の法線ｎｐは単位ベクトルでありｎｐ＝（ａ，ｂ，−１）／｜（ａ，ｂ，−１）｜により得られる。また、補正後の画像が観測される仮想的なカメラの内部パラメータを求める。仮想カメラの内部パラメータには、撮像装置２１の内部パラメータと同じパラメータを用いる。内部パラメータは焦点距離ｆｘ、ｆｙと中心座標ｃｘ、ｃｙからなる。
【００７０】
Ｓ２０５２では、画像補正部２３０が、仮想カメラの位置姿勢を取得する。まず位置については、中心座標ｃｐから法線ベクトルｎｐ方向に進んだ点とする。その距離は元の画像と同じ距離ｃとして、仮想カメラの位置ｖｐ＝ｃｐ＋ｃ×ｎｐにより求める。姿勢行列Ｒｖについては、ｚ成分は−ｎｐとして、残りのｘ成分とｙ成分は任意の単位ベクトルとする。ただし、姿勢行列の拘束としてＲｖＲｖ＾ｔが単位行列となり、Ｒｖ＾ｔ＝Ｒｖ＾−１であるようにｘ成分ｙ成分を決定する。ただし、Ｘ＾ｔとＸ＾−１はそれぞれ行列Ｘの転置行列と逆行列である。
【００７１】
Ｓ２０５３では、画像補正部２３０が、得られた仮想カメラの位置ｖｐと姿勢Ｒｖを用いて、撮像装置２１から仮想カメラへの変換行列Ｐｖを取得する。４ｘ４の単位行列に対して、１行目から３行目かつ１列目から３列目の９つの要素を姿勢行列Ｒｖで置き換える。さらに、４列目の１行目から３行目を位置ベクトルｖｐで置き換える。こうして得られた４ｘ４行列の逆行列がＰｖである。
【００７２】
Ｓ２０５４では、画像補正部２３０が、画像と形状情報の対応付けを行う。つまり、３次元点群の各点に対応する画像を求め、各点に画素値（ＲＧＢの色情報）を付加して、色付きの３次元点群を求める。３次元点群が画像のどこと対応するかについては、撮像装置２１における画像センサと距離画像センサとのキャリブレーション情報を用いる。
【００７３】
Ｓ２０５５では、画像補正部２３０が、色付き３次元点群を仮想カメラ座標へ変換する。３次元点群の座標に対して変換行列Ｐｖを適用することで変換する。
【００７４】
Ｓ２０５６では、画像補正部２３０が、仮想カメラの画像座標系に変換して補正画像を得る。Ｓ２０５５で得られた仮想カメラ座標における色付き３次元点群を、仮想カメラの内部パラメータを用いて画像座標系に変換する。３次元座標（Ｘ，Ｙ，Ｚ）を内部パラメータｆｘ、ｆｙ、ｃｘ、ｃｙを用いて画像座標（ｘ，ｙ）に変換する式は以下の式５である。
【００７５】
ｘ＝ｃｘ＋ｆｘ×Ｘ／Ｚ，ｙ＝ｃｙ＋ｆｙ×Ｙ／Ｚ    （式５）
【００７６】
こうして各点を画像座標に変換して、対応する点の色を画素の値として格納することで、補正画像が得られる。補正画像の画素に対応する点が疎である場合には、バイキュービック補間などの補間法によって画素の穴を埋めて補正画像とする。
【００７７】
以上の処理によってＳ２０５０では画像の補正を行い、得られた補正画像を輪郭画像取得部１４０と画像特徴抽出部１５０へ出力する。
【００７８】
Ｓ２０６０以降の処理については、第１の実施形態における図４のＳ１０４０以降と同様であるため、説明を省略する。
【００７９】
以上述べたように、第２の実施形態では、撮像装置２１が整列している対象物体に正対せず斜めから撮像する。対象物体の見た目の大きさに違いがある場合であっても、形状情報に基づいて画像を自動的に補正することによって、物体一つひとつの領域を正しく取得して、ロボットがピッキングすることができる。
【００８０】
（変形例）
第２の実施形態では撮像装置２１は距離画像センサであるとして説明したが、これに限るものではない。例えば、撮像装置２１は画像センサであり、形状情報を取得する距離撮像装置が図示しない別の装置として構成されてもよい。その場合、距離撮像装置が形状情報を取得するシーンは撮像装置２１が撮像するシーン２７を含む領域であることが望ましい。また、撮像装置２１、距離撮像装置、ロボット１５間はそれぞれキャリブレーションによって座標変換行列を求めておく。
【００８１】
Ｓ２０５０では、画像補正の方法として色付き３次元点群を変換行列によって変換する例について述べたが、補正方法はこれに限るものではない。例えば、形状情報から対象物体のシーンが略平面と見なせる場合には、ホモグラフィ変換によって対象物体に正対する補正画像を生成してもよい。
【００８２】
第２の実施形態では、形状情報から主平面を取得し、主平面から変換行列を求める方法について説明したが、変換行列を求める方法はこれに限るものではない。例えば、情報処理装置２０に接続されたユーザーインタフェース部をさらに備え、ユーザーインタフェース部におけるユーザー入力に基づいて変換行列を生成してもよい。ユーザーインタフェース部が表示する画像に対して、ユーザーは画像補正によって正対するべき面や面の方向を指定し、それを主平面として用いてもよい。また、ユーザーは画像中から少なくとも４点の座標を指定し、補正後の座標で指定した点がどこに移動するべきかをさらに指定することで、ホモグラフィ行列を取得して、ホモグラフィ変換によって補正画像を生成してもよい。
【００８３】
第２の実施形態では、前処理として補正画像を生成し、補正画像を用いて輪郭抽出や画像特徴抽出を行う例について述べたが、これに限るものではない。例えば、斜めから撮像された画像であっても、第１の実施形態の図４と同様に、撮像した画像からそのまま輪郭抽出や画像特徴抽出を行ってもよい。その場合には、物体類似領域推定部においてスコア計算をする際に、形状情報に基づいてスコアを取得すればよい。具体的には、Ｓ１の計算の際には、形状情報を用いて各ラベルが表す画像上の領域に対応する３次元形状の類似度が高いほどスコアが高くなるように計算する。
【００８４】
第２の実施形態では、前処理として形状情報に基づいて、対象物体に正対する位置から撮像した見えの補正画像を生成する例について説明した。その他、撮像装置２１の位置姿勢を実際に移動させることで、対象物体に正対する画像を撮像できる場合には、撮像装置２１を移動させてもよい。その場合には、最初の撮像位置姿勢において取得した形状情報に基づいて、撮像装置２１を移動させるべき位置姿勢を求め、ロボット１５を制御することで、撮像装置２１を移動させて、画像撮像からやり直せばよい。その場合は、以降の処理は第１の実施形態における図４と同様である。
【００８５】
（第３の実施形態）
第１、第２の実施形態では、対象シーンにおける対象物体一つひとつの領域を推定することで、ロボットピッキングする例について説明した。それに対して、第３の実施形態では、対象シーンにおいて対象物体がいくつ存在するか、個数を数える例について説明する。対象シーンにおける対象物体の個数を画像から取得することができれば、倉庫における在庫管理や棚卸作業等の効率を上げることができる。
【００８６】
図１３は、第３の実施形態に係る情報処理装置３０の機能構成例を示す図である。図１３は第１の実施形態における図２と同様の部分が多く存在するため、違いのある物体数取得部３８０について説明する。物体数特定部３８０は第２画像を受け取り、第２画像に基づいてそのラベル数を物体数として特定する。
【００８７】
次に、本実施形態における処理手順について説明する。図１４は、本実施形態における情報処理装置３０の処理手順の一例を示すフローチャートである。図１４の多くの部分は第１の実施形態における図４と同様であるため説明を省略し、違いのあるＳ３０８０について説明する。
【００８８】
Ｓ３０８０では、物体数特定部３８０はＳ１０７０で決定部１７０が出力した第２画像における各物体領域ラベルの数を特定し、その数を物体数としてシステムに出力する。さらに、第１の実施形態における特定部１８０と同様に、第２画像と輪郭マップに基づいて物体領域を生成する。これを表示部に表示することによって、対象物体をどのように数えて物体数を出力しているかをユーザーが確認できるようにする。
【００８９】
以上述べたように、第３の実施形態では、対象シーンにおける対象物体の数をカウントし、その数を確認用の物体領域画像とともに出力する。これにより、対象物体の登録等の手間無しに画像上の対象物体の数を数えることができ、倉庫における在庫管理や棚卸作業等の効率を上げることができる。
【００９０】
（変形例）
第３の実施形態では、決定部１７０が第２画像を出力するものとして説明したが、これに限るものではない。例えば、Ｓ１０７０において、決定部１７０が、スコアが最大となる場合におけるラベル領域の数を出力するようにしてもよい。その場合には、物体数取得部３８０は不要であり、Ｓ３０８０の工程も必要なくなる。ユーザーが確認するための物体領域画像は、決定部１７０が生成する第２画像を表示すればよい。
【００９１】
（その他の実施形態）
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、データ通信用のネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、そのプログラムをコンピュータが読み取り可能な記録媒体に記録して提供してもよい。
【符号の説明】
【００９２】
１  情報処理システム
１０  情報処理装置
１１  撮像装置
１６４  ロボット制御部
１５  ロボット
１４０  輪郭画像取得部
１５０  画像特徴抽出部
１６０  特徴ラベル画像生成部
１７０  決定部
１８０  特定部
【図１】
2020087155.tif 000003
【図２】
2020087155.tif 000004
【図３】
2020087155.tif 000005
【図４】
2020087155.tif 000006
【図５】
2020087155.tif 000007
【図６】
2020087155.tif 000008
【図７】
2020087155.tif 000009
【図８】
2020087155.tif 000010
【図９】
2020087155.tif 000011
【図１０】
2020087155.tif 000012
【図１１】
2020087155.tif 000013
【図１２】
2020087155.tif 000014
【図１３】
2020087155.tif 000015
【図１４】
2020087155.tif 000016