(57)【特許請求の範囲】
【請求項１】
対象衣類の状態を入力画像から推定する衣類状態推定方法において、
衣類の大まかな基本形状を表し、かつ、連結可能な複数のノードで構成される平面的なモデルを作成し、
このモデルを用いて、前記複数のノードの内の一点のノードで把持した時に起こり得る形状を、把持ノードを変えて前記複数のノードのすべてについて予測し、
この予測形状と一点で把持された前記対象衣類を撮影した入力画像から得られる対象衣類の観測領域を把持点を基準にして重ねあわせた時の重なりの度合いを表す特徴量を算出し
どの予測形状の特徴量が最も大きいかを算出することにより、対象衣類の状態を推定する衣類状態推定方法。
【請求項２】
前記形状の予測は、与えられた衣類の種別と大まかな寸法に基づいて行う請求項１に記載の衣類状態推定方法。
【請求項３】
前記予測形状の解析は、必要なタスクに応じて、予測形状をクラス分けし、状態推定後の対応規則を算出する請求項１に記載の衣類状態推定方法。
【請求項４】
前記形状の予測は、バネを用いた対象の弾性モデルを床面に広げた状態から、そのうちの1点を掴み持ち上げるシミュレーションを行い、その変形を算出した後，このモデル予測形状の保持点近傍での面の法線方向が視線と一致する条件で、予測見え方形状を算出することにより行う請求項１に記載の衣類状態推定方法。
【請求項５】
前記状態の推定は、前記予測見え方形状をモデルと重ね、前記入力画像に基づき部分的に変形することにより、より観測状態に近い状態となり得るかを調べ、この修正後の見え方形状が最も入力画像に近いものを正しい状態とすることにより行う請求項４に記載の衣類状態推定方法。
【請求項６】
対象衣類の状態を入力画像から推定する衣類状態推定プログラムにおいて、
衣類の大まかな基本形状を表し、かつ、連結可能な複数のノードで構成される平面的なモデルを作成する手順と、
このモデルを用いて、前記複数のノードの内の一点のノードで把持した時に起こり得る形状を、把持ノードを変えて前記複数のノードのすべてについて予測する手順と、
この予測形状と一点で把持された前記対象衣類を撮影した入力画像から得られる対象衣類の観測領域を把持点を基準にして重ねあわせた時の重なりの度合いを表す特徴量を処理する手順と、
どの予測形状の特徴量が最も大きいかを算出することにより、対象衣類の状態を推定する手順と、
をコンピュータに実行させるための衣類状態推定プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、観測画像情報から衣類などのように大きく変形する柔軟物体の状態を算出する方法及びプログラムに関する。ロボットが柔らかい物をハンドリングする際に必須な技術であり、これが実現されると、ロボットをより一般的な状況で活躍させることが可能となる。
【０００２】
【従来の技術】
ロープ操作のための視覚認識など線状形状対象の研究は行われているが、衣類のようにさらに広がりのある対象では、変形の自由度が大きく増し、また、複雑な自己遮蔽も生じるため、さらに問題は難しい。あらかじめ、起こり得るすべての見え方を実際に画像入力して、この見え方をモデルとして利用する方法が提案されているが、対象衣類ごとに多くの労力を必要とする。
【０００３】
【発明が解決しようとする課題】
本発明は、係る問題点を解決して、衣類のように複雑かつ大きく変形する対象に関しても、簡易な対象モデル、簡易な画像入力装置を用いて、その状態を推定する技術を開発することを目的としている。
【０００４】
【課題を解決するための手段】
本発明の衣類状態推定方法及びプログラムは、対象衣類の状態を入力画像から推定する。衣類の大まかな基本形状を表すモデルを作成し、このモデルを用いて、一点で把持した時に起こり得る形状をすべて予測する。この予測形状の解析に応じて、一点で把持された前記対象衣類を撮影した入力画像から得られる特徴量を処理し、どの予測形状に最も近いかを算出することにより、その状態を推定する。
【０００５】
【発明の実施の形態】
以下、例示に基づき、本発明を説明する。図１は、本発明を、トレーナーの形状推定に適用した場合のフロー図を示している。
ステップ1:
衣類の大まかな基本形状を表すモデルを作成する。
【０００６】
図２は対象がトレーナーの場合の一例で、前身頃と後ろ身頃が離れることは想定しない、最大４連結が可能なノードで構成される平面的なモデルで表される。図中、Ｎ1〜Ｎ１３は各ノード点を表し、左右袖部と身頃は異なるパートとして扱われる。ノード間の距離は、身頃幅、着丈、袖丈のような大まかな寸法から算出する。
【０００７】
ステップ2:
モデルを用いて、一点で把持した時に起こり得る形状を予測する。
この予測方法は、必要な予測精度に応じて、種々な方法がとり得るが、衣類のへりに近い一点で空中に把持された時の形状の簡易予測は次のように実現できる。
以後、この予測手法を予測手法Aと呼ぶ。今、あるノードの位置が既にフィックスされているとする。もし、現在のノードが把持による最初の固定ノードである時には、この方向は、鉛直上方向、(0,1)とする。
【０００８】
ノード間の距離は固定とし、まだフィックスされていない隣接ノードの方向は、図3aに示すように、隣接ノードの状態に応じて定めた角度θで決定する。図3ａの(1)〜(6)において、白丸は現在のノード、二重丸は現在のノードの位置を決定する際に既にその位置が決定されていて、親となったノード、黒丸はまだ、位置が決定されておらず、子となるノードを表す。図3ａの(2)〜(6)は、隣接ノードの起こりえる状態を示し、これらの図中の角度 θ1、θ2、θ3は、対象の剛性に応じて変化させる。
【０００９】
図3bは、ノード10が把持された場合に、この規則によって決定した例を示す。重力による影響を次のように考慮する。異なる部分が接合した関節部分は、図2のモデルでは、２つの肩の部分に相当するが、その接続によって支えられる、より下部の部分に関しては、その重心がその関節部分の真下に来るように、関節回りに回転する。図3cは、この操作後の形状を示す。
把持ノードを変えた場合の結果を図4に示す。State１〜13は、図２中の各ノードを保持した場合に対応した予測形状を示す。
【００１０】
ステップ3:
必要なタスクに応じて、予測形状を解析する。
まず、タスク遂行のために必要な識別すべき状態に予測形状をクラス分けする。「両肩で把持する」というタスクが与えられる場合、予測形状の状態は次の3つにクラス分けされる。
状況 A:  既に一つの肩で把持されている。State 1, 3.=>  残りの肩の位置を指示。
状況 B:  肩で把持されていないが、少なくとも一つの肩が(把持しやすい)凸の状態である。State 2, 10, 11, 12, 13.=>  一つめの肩の位置を指示。
状況 C:  それ以外(両肩が凹の状態で把持が難しい状況)。State 4, 6, 7, 8,
9.=>  状況Bとする位置を指示。
【００１１】
この例では、すべての予測形状において、袖の先端が常に最下点に位置し、識別しやすい上、この点を把持すれば、状況BのState 11か 13の状態にもって行ける。したがって、状況Cでは、具体的には、=>最下点を指示、とする。
予測された形状に基づき、検出された衣類領域から比較的容易かつ頑健に抽出が可能な特徴を状態判定に用いる。この例では、
I) 最下点の位置。
II) 身頃部分の中心位置。
である。
【００１２】
ステップ4:
カメラから、へりの一点で把持された対象衣類を撮影した画像を入力する。
ステップ5:
画像から衣類領域を抽出する。
ステップ6:
抽出領域と各予測形状モデルとの比較を次のように行い、状態を推定する。
まず、実際の把持点から最下点までの距離の差が小さい順に候補を選択する。抽出領域のうち、水平にあるしきい値以上の幅を持つ領域を身頃領域候補とする。予測形状モデルの身頃中央（ノード5)の垂直位置がこの領域内に含まれていない場合は候補から削る。
【００１３】
ステップ7:
衣類領域内の各部の位置を次のように求め、次に把持すべき点を指示する。
得られた候補の状態が、状況A、Bの場合には、これらの形状モデルを把持点の位置を基準に画像内に重ね合わせる。衣類領域に含まれていないノードに関しては、領域内に含まれるまで、そのノードを水平方向中央に向かって移動する。この処理により、画像上における各ノードに対応する部位の推定を行い、肩に対応するノード1、3に最も近い領域境界の内側の点を次の把持位置として示す。
第一候補が状況Cの場合には、衣類領域最下点を次の把持位置として指示する。
【００１４】
ステップ8:
算出した指示点を把持した場合の形状を予測し、把持後に実際に観測される状態と一致するかを調べることにより、先の状態推定が正しいかどうかを検証する。
ここで、２点把持の状態では、1点把持の場合にくらべ、領域形状の不確定要素が減るため、予測形状と観測領域の比較は、比較的簡単なテンプレートマッチングで行える。基本的には、モデル上の把持位置を、実際の把持位置にあわせて、その重なりを調べれば良い。
「状態推定に基づき、次の把持点を指示」(ステップ6、7)、「把持」、「検証」(ステップ8)を繰り返すことにより、「両肩で把持する」状況に持っていくことができる。ただし、２度目以降の状態推定においては、その前の予測により状態が限定できることを利用し、処理を高速、頑健にする。
【００１５】
次に、対象衣類を図８に表すようなより複雑なモデルで表すことにより、より精度の良い衣類変形予測を行うことについて説明する。以後この予測手法を予測手法Bと呼ぶ。
対象とするトレーナーに対して、その身幅、身丈、袖丈の3つの大まかなサイズに基づき、図８に示す、前身頃と後ろ身頃が離れることは想定しない平面的な簡易モデルを作成する。２０点の代表点を表すノードからなり、各ノード間は、図中直線で示すようにバネで連結される。バネは次の３種類からなる。
【００１６】
K_1タイプバネは、各ノードとその４近傍ノードの一点とを結ぶ。K_2タイプバネは、各ノードとその８近傍ノードから４近傍ノードを除いたものの一点とを結ぶ。K_3タイプバネは、各ノードと一つ間をおいた隣のノードとを結ぶ。ただし、同じ部分内(身頃、右袖、左袖)だけに導入する。例をあげると、N1-N3, N1-N7, N3-N19ノード間などである。K_1,K_2タイプは衣服の伸縮性を、K_3タイプは、その折れ曲がりやすさを表現する。ここで、４つのノードからなる四角形の要素を考えたときに、その辺で隣接するノードを4近傍、その対角線で隣接するノードを8近傍と呼ぶ。
【００１７】
このモデルを用いて、このトレーナーを1点保持した時に、どのような状態が存在しうるかを、次のようにシミュレーションすることにより、予測する。ここで、Y軸を重力方向に一致させた左手系３次元座標系を基準座標系とする。まず、対象モデルをXZ平面に水平な床面に図９aのように広げる。重力は、すべてのノードに働くとする。保持点と仮定する一つのノードを垂直方向(Y軸負方向)に持ち上げて行き、その変形をシミュレーションする(図９b)。
【００１８】
図９cは、その結果得られた、空中に保持した状態を示す。ただし、1点での保持では、保持点に対してY軸廻りの回転要素が始めにおかれた床面での方向などに応じて大きく変化する。本発明者が想定している現実の保持では、一点ではなく、小面積を保有する平らな2つの板状平行面で対象を保持するグリップでの保持となるので、この回転の不確定要素をこのグリップの面の向きが決定すると考えられる。そこで、画像が、常にこのグリップ面に垂直な方向から撮影される状況を想定し、モデル予測形状の保持点近傍での面の法線方向が視線と一致する条件で、予測見え方形状を算出する。図９dは、この結果を示す。
【００１９】
図１０に、各ノード点で保持した、State1からState２０まですべての予測見え方形状算出の結果を示す。この算出において、衣類モデルのバネ定数は、その結果生じる衣類の張りが実際の状態に近いようにマニュアルで決定し、具体的にK_1、K_2、K_3のそれぞれのバネ係数を20000,2000、そして200に設定した。
段落［0010］に記述した分類において、予測手法Bを用いた場合の状態の対応は、それぞれ、以下のようである。
状況A:  State 1,3
状況B:  State 2,7,9,13,15,17,19
状況C:  State 4,5,6,8,10,11,12,14,16,18,20
【００２０】
予測手法Bを用い、観測衣類領域の予測がより実際に近い状態で行えれば、予測領域と観測領域の重なり具合いを直接予測の確らしさの判定に用いることが可能となり、状態推定過程も下記のような手順となる。
あらかじめ、各状態の予測見え方形状から下記の２点の特徴を抽出しておく。
I) 予測見え方形状の最下点の位置: L_m(L_x,L_y)
保持点の位置に対する相対２次元座標値。
II) 直接保持されずに、ぶら下がった袖の数: N_m
最下点近傍にぶらさがっている袖の数で、State 2,5,8,11では、N=2。
【００２１】
観測画像が入力されたら、把握している保持マニピュレータのグリップの３次元位置に基づき、観測画像上の把持点の位置を検出する。衣類領域は、この保持点をヒントに、その真下にある領域特徴が一定である連続領域として抽出する。この領域内で一番下部にある座標をL_oとする。L_oの上方近傍の領域の画像水平方向の幅の平均値を算出し、この値が一つの袖幅以上であれば、N_o=2、それ以外をN_o=1とする。
【００２２】
まず、観測状態とぶら下がり袖数が等しく、最下点の位置関係が近いモデルだけを選択する。具体的に、State m_i(m_i=1-20)のうち、以下の条件を満たす状態を選択する。
N_{m_i} = N_o
|Ly_o-Ly_{m_i}| < C_1
|L_o-L_{m_i}| < C_2
C_1、C_2は、ノードをどれくらい密に設定したか、すなわちノード間の距離に応じて変動する。この実験では、C_1、C_2を一番長いノード間距離のそれぞれ60%と 100%に設定した。
【００２３】
条件を満たした状態の見え方モデルはこれらの形状モデルを保持点の位置を基準に画像内に重ね合わせる。
実際には、身頃部分の形状が予測の難しい折れにより大きく変動するのに対して、ぶら下がった袖部は幅の狭い分、予測形状からの変動が少ない。このことを考慮し、この部分がより実際の観測位置に一致するように見え方モデルの部分的な修正を下記のように行う。ただし、ここでぶら下がった袖部とは、直接保持されていない袖の部分を指すこととする。また、その外側の輪郭とは、(腋窩側ではなく)肩側の輪郭(例としてN1-N13-N15)をさす。
【００２４】
1) 見え方モデルのぶら下がり袖の外側の輪郭を図１１aの太い灰色の線で示すように、垂直方向に観測画像のL_oと等しい位置まで移動する。
【００２５】
2) 外側輪郭上の最下点を除く2つのノード点から水平方向に最も近い観測エッジ(背景と衣類領域の境界画素)をそれぞれ探索する。図１１aの矢印で示すような、元の位置からその点までの水平方向符合付き距離をda、dbとする。もし、この二点の移動量が予測される誤差範囲内で、線の傾きを大きく変化させなければ、この修正を取り入れる。具体的に、下記の3つの条件がすべて満たされていれば、その袖部に属する６つのノード点すべてを図１１bに示すように(da+db)/2移動する。
|da-db| <  C3
|da| < C2
|db| < C2
ここで、C３は予測と観測状態における袖の傾きの違いを何度まで許容するかに応じて決定する。
【００２６】
3) この状態で、領域重なり率、Rを算出する。領域重なり率、Rとは、 (重なり部分の面積)/（観測領域面積）と(重なり部分の面積)/（予測形状面積）を足したもの(0〜2.0)である。この値が最大となった見え方モデルの値がしきい値C_4を越えれば、これを推定状態とする。この条件が満たされなかった場合には、候補なしと判定する。
【００２７】
選出された状態がクラスAもしくはBであった場合、部分的修正後の最終状態において、肩に対応するノード1もしくは3にもっとも近い観測衣類領域のエッジ点を次の保持点とする。もし、クラスCの状態が選出された場合には、領域の最下点を次の保持点とする。どの状態も選出されなかった場合には、その旨を宣言し、やはり最下点を指示する。先にも述べたように、この指示によって、次の保持により、必ず、State 15 もしくは19の状態になる。
【００２８】
【実施例】
まず、予測手法Aを用いた実施例の結果を図5、6、7に示す。ノード5を除いた12ノードに対応する位置でトレーナーを把持して撮影した、12画像を用いて実施した結果、このうち6枚の画像において、正しい状態が第１候補として選択された。図5はState 10が正しく選択された時の例を示す。
図5aが入力画像であり、図5bは選択された予測形状(State 10)を、原画像を二値化処理した結果に重ねて表示したものであり、図5cは、ステップ７の処理後の変形した予測形状を原画像に重ねて表示したものである。図5c上のクロスが、自動算出された次に把持すべき位置を示す。
【００２９】
図6に、それぞれ、状況A、B、Cにおいて、算出された指示点（図中のクロス)の例を示す。左から、順に(a)、(b)がState 1，(c)、(d)がState 2, (e)、(f)が State 9が選択された例で、(a),(c),(e)が入力画像で、(b),(d),(f)が最終結果を示す。State 9においては、2.2で述べたように、最下点が次の指示点として選ばれている。
【００３０】
図7に、検証過程の例を示す。図7aは図5cで算出された指示点を、実際に把持した後の状況である。この把持により予測される形状が重ねて表示してあるが、多少のずれを除き、よく一致している。
これに対し、第2候補として選択された、図7bの指示点を把持した場合を、図7cに示す。この時の予測形状が重ねて表示されているが、下部にぶら下がる袖の部分の領域が予測形状と大きくはずれており、始めの推定が間違っていたことを知ることができる。
【００３１】
予測手法Bを用いると、より推定正解率が上がる。先と同様な１２画像を用いて処理した結果の１例を図１２に示す。この実施例において、しきい値、C_1、C_2はあらかじめ与えた身丈、身幅、袖丈のサイズから自動決定し、C_3は、袖領域の予測と観測のずれが１５度まで許容するように設定し、C_4は約70%の重なりをもって正解とするために、1.4と設定した。
【００３２】
図１２に結果の一例を示す。画像上の保持点の位置は手動で与え、その点の下にある、固定しきい値で得られる最も大きな明るい連結領域を観測衣類領域として自動抽出した。図１２a、bはそれぞれ原画像と、抽出された衣類領域を示す。図１２c,d,eは、袖の部分を修正する前の領域重なり率が第一、第二、第三番目に大きい順に候補の状態を示す。図１２fは、第一番目の状態が、部分的に修正された後の見え方モデル状態を示している。この状態での Rが1.64で、すべての見え方モデルの中で最大となったため、推定結果と決定され、図中クロスで示される位置を次に保持すべき点として算出した。
【００３３】
図１３にもう一例示す。図１３aは原画像であり、図１３b,c,dは、袖の部分を修正する前の領域重なり率が第一、第二、第三番目に大きい順に候補の状態を示す。この例では、第一、第二番目が部分修正の処理で、成功せずに落ち、図１３eに示す第三番目の修正状態が重なり率最大となり選択された。
総合して、１２例のうち９例で正しい状態が選択され、正しい指示点が示された。図１４に状況A、状況B、状況Cの各成功例を示す。残り３例のうち１例については、どの状態も選択されず、「状態の未決定」の結果となった。正しい状態が、第一候補として選択されたが、予想外の袖の折れのため、最終決定はされなかった。この場合、不確定と判断して、最下点を次の保持点として指示し、状況クラスBの状態を目指す。
【００３４】
１２例のうちの残り２例だけで、間違った状態が推定された。この例を図１５に示す。正しくは State ４だが、State 7が選択された。主な要因は、現在のシミュレーションでは考慮されていない身頃部の大きな折れが起きているためである。
さらに、ノードに対応する位置の中間点を保持し、もっとも予測状態と異なる状態で撮影された16画像を用いて、同様に実験を行った。これに対しても、12例で正しい状態が選択され、正しい指示点が示された。一例で「状態不確定」の判定、残り三例で誤った状態を推定した。このように、かなり粗い代表点で対象を表しているが、予測見え方算出に使ったノード位置と実際の保持点が離れている場合でも、性能が大きく落ちる現象は見られなかった。
【００３５】
検証過程の試行例を図１６に示す。図１６aは、図１２fに示された指示点を保持した場合のシミュレーション過程を示す。図１６bは、実際にその点を保持した状態の入力画像に、シミュレーション結果を重ねて表示してある。予測形状はかなり重なっている。それに対して、図１６dは、図１６cに示すように間違った状態を推定し、クロスのような指示点が出された場合の、観測画像と予測画像を重ねたものである。重ならない部分の割合が非常に大きく、推定を誤ったことの認識が可能である。また、先に述べた簡易予測手法とは異なり、予測手法Bを用いれば、図１６aの中央に示すような、変形途中の状態を検証に用いることも可能である。
【００３６】
【発明の効果】
従来、衣類のように大きく変形する柔軟物の状態推定を簡易に行うことは不可能であった。今回、対象衣類の種別（トレーナーなど)と、身頃幅、着丈、袖丈のような大まかな寸法を与えるだけで、その起こり得る状態を大まかに算出し、これを利用して状態推定を行う手法により、これが可能となった。この技術は、ロボットが自律的に衣類のような柔軟物を取り扱うことの実現に大きく貢献する。
【図面の簡単な説明】
【図１】トレーナーの状態推定に実施した際のフロー図。
【図２】衣類の簡易モデルの一例を示す図。
【図３】前身頃と後ろ身頃が離れることは想定しない、最大４連結が可能なノードで構成される平面的なモデルを示す図。
【図４】トレーナーがへりに近い1点で把持された時の予測形状を示す図。
【図５】実施例 1を示す図。
【図６】状態推定後の「両肩を把持」のための指示実施例を示す図。
【図７】検証処理実施例を示す図。
【図８】より複雑なモデルで表した対象衣類を示す図。
【図９】対象モデルを示す図。
【図１０】各ノード点で保持した予測見え方形状算出の結果を示す図。
【図１１】見え方モデルの部分的な修正を説明するための図。
【図１２】結果の一例を示す図。
【図１３】結果の別の例を示す図。
【図１４】状況Ａ，状況Ｂ，状況Ｃの各成功例を示す図。
【図１５】間違った状態が推定された例を示す図。
【図１６】検証過程の試行例を示す図。
【図１】
0003855050.tif 000002
【図２】
0003855050.tif 000003
【図３】
0003855050.tif 000004
【図４】
0003855050.tif 000005
【図５】
0003855050.tif 000006
【図６】
0003855050.tif 000007
【図７】
0003855050.tif 000008
【図８】
0003855050.tif 000009
【図９】
0003855050.tif 000010
【図１０】
0003855050.tif 000011
【図１１】
0003855050.tif 000012
【図１２】
0003855050.tif 000013
【図１３】
0003855050.tif 000014
【図１４】
0003855050.tif 000015
【図１５】
0003855050.tif 000016
【図１６】
0003855050.tif 000017