[[太田研 公開用Wiki]]

*つくばチャレンジのための形状情報と色情報を用いた人物検出手法 [#f2bbf59f]

#contents

*はじめに [#zd1362a5]
 人との共存を目指したロボットの開発技術を育む実験の一つに,つくば市内で行われている「つくばチャレンジ[1]」がある.つくばチャレンジは「人々が暮らしている現実の世界でキチンと働く」ロボットを作るため,研究者・技術者が実際のロボットを試作して実地で実験を行い,いろいろな方法を試してその経験と結果を互いに共有することにより,
ロボット技術のレベルを向上させることを目的としている.~
 昨年行われたつくばチャレンジ2014の課題は,つくば市内の遊歩道を移動ロボットに自律走行させ,各エリア内に存在する特定の服を着た人物を探索するといったものである.この「特定の服を着た人物を探索する」という課題を達成するために画像処理による人物探索を目指し,つくばチャレンジのための人物検出アルゴリズムを設計・実装した.~
 探索対象はベスト(オレンジまたは青),帽子(オレンジ)を着用し,看板(オレンジ)を隣に置いて座っている.探索対象としているベストや帽子・看板の色は一定であるため,カメラを用いた色検出は有効な手段の一つである.しかしながら,実環境上には似たような色が多く存在するため全方位画像全体で色の検出を行うと誤検出が多くなってしまう.
そこで,レーザーレンジファインダー(以下LRFと略)による距離情報と全方位カメラから得られる色情報を統合し,対象の探索を行うアルゴリズムを設計し実装した.本手法では,LRFから得られる距離情報により対象の形状を取得し人物と看板のセットが存在する可能性のある方向を挙げ,その方向に対して全方位画像上で色の探索を行うことで対象が存在しているかを判断する.~


*探索対象とロボットの構成 [#pcbfae3b]
 つくばチャレンジ2014における探索対象を図1に示す.また,つくばチャレンジ2014のコースを図2に示す.図1のように探索対象はベスト(オレンジまたは青),帽子(オレンジ)を着用し,看板(オレンジ)を隣に置いて座っている.つくばチャレンジ2014ではエリアが3つあり,第1探索エリアに1名,第2探索エリアに2名,第3探索エリアに2名と合計5人が配置されている.探索対象の配置場所は走行前には知らされておらず,エリア内のどこにいるか不明であるためロボットが自身で見つけ出す必要がある.~
CENTER:#ref(human.png,center,50%)
CENTER:&size(12){図1:探索対象の例};~
&br;
CENTER:#ref(map.png,center,50%)
CENTER:&size(12){図2:つくばチャレンジ2014のコース};~
&br;
LEFT: また,実験に用いたロボットの外観を図3に,仕様を表1に示す.ベースとして用いたロボットは市販のロボットであるMobileRobots社[4]製移動台車の「Pioneer3-AT」である.ロボットには複数のセンサが取り付けられているが,人物検出で使用するセンサは高さ500mmの位置のLRF(LMS151)と全方位カメラである.LRFとは,赤外線レーザーを発振してそれを目標物に反射させてその反射の度合いで目標物までの距離を計測するセンサである.また全方位カメラとは周囲360°の検出範囲を持つ視覚センサである.ロボットの制御を行うPCはMouseComputer製のノートPC「LB-S230X-SSD-N」を用いた.OSはWindows7(64-bit)でソフトウェアはC++/CLIで記述されているほか,画像処理ライブラリとしてOpenCV(バージョン2.4.8)[5]を利用している.
CENTER:#ref(p3at.png,center,50%)
CENTER:&size(12){図3:ロボットの外観(左:外装有り,右:外装無し)};~
&br;
CENTER:&size(12){表1:ハードウェア構成};~
|CENTER:外形寸法|CENTER:W58×L52×H90|
|CENTER:総重量|CENTER:25.0kg|
|CENTER:動力源|CENTER:DCモーター×4|
|CENTER:センサ|CENTER:LRF×2 &br; (LMS151,TiM551) &br; エンコーダ×2 &br; 全方位カメラ×1|
|CENTER:バッテリー|CENTER:12V9Ah鉛蓄電池×3|
|CENTER:ナビゲーションCPU|CENTER:Intel i7 3632QM|

*人物検出アルゴリズム [#fd9f6d33]
 本手法ではLRF から得られる距離情報により対象の形状を取得し人物と看板のセットが存在する可能性のある方向を挙げ,その方向に対して全方位画像上で色の探索を行うことで対象が存在しているかを判断する.以降でそれぞれの処理の詳細を述べる.

**LRFを用いた探索方向の絞り込み [#wacdf7c5]
 対象の色に似た色は実環境上には多く存在する.そのため全方位画像全体で色の検出を行うと誤検出が多くなってしまう可能性がある.この問題を解決するためにLRF から得た距離情報をクラスタリングし,対象物があると思われる候補の絞り込みを行った.探索候補の絞り込みの手順は以下のとおりである.~
+''LRFデータのクラスタリング''&br;
LRF データのクラスタリングと同様の手順で行う.ここでは,ロボットからの距離が5m 以下でかつ幅が100mm~1000mm のクラスタのみを有効とする.
+''クラスタのグループ分け''&br;
任意のクラスタ間の深さ(奥行方向の距離) と距離が閾値以下のクラスタをグループ分けする.
+''条件に合うクラスタのセットを検出''&br;
グループ内で人と看板の幅に対応するクラスタのペアを検索する.条件の定
義については後述する.

***LRFデータのクラスタリング [#s5be1fd8]
 まず,LRF から得られる点群をクラスタリングする.LRFから得られる点群の距離情報を
di(0≦i≦540) とする.ここで,ロボットの正面方向を0° 反時計回り方向を正とするとd0 は-135 °の方向, d540 は135 °の方向の物体表面までの距離を表している.i = 0 から操作していきdi≦5000[mm]かつdTHmin≦|di+1 􀀀di|≦dTHmax となる点までを1 つのクラスタとして扱う.これは連続する同一平面に存在する点をクラスタリングする処理であり,人物検出におけるクラスタリングではdTHmin = 100[mm],dTHmax = 1000[mm] と設定した.

***クラスタのグループ分け [#if308cef]
 検出対象である人は看板と隣り合っているため,LRF データのクラスタリングにより得られた複数のクラスタを近くに存在するもの同士でグループに分ける.クラスタDi の左端の距離データをd1 とする.また,Di 以外のあるクラスタの右端の距離データをd2 とする.ここで,クラスタ間の深さ(depth) を~
CENTER:#ref(formula1.png,center,80%)
LEFT:また,クラスタ間の距離(dist)を
CENTER:#ref(formula2.png,center,80%)
LEFT:と表す.ここでcはd1とd2の端点距離である.ここではdepth < 800mm かつdist < 500mm であるクラスタ同士を1つのグループとして取り扱う.図4にグループ分けの例を示す.図中の円で囲まれている部分が各クラスタ,楕円で囲まれている部分がグループを表している.
CENTER:#ref(group.jpg,center,50%)
CENTER:&size(12){図4:グループ分けの例};~

***条件に合うクラスタのセットを検出 [#xdba1748]
 次に,人と看板とが隣り合っている可能性のあるクラスタのセットを検索する.人または看板であるかは,クラスタの幅で判断する.使用したロボットに搭載しているLRFは高さが500mm の位置に取り付けられており,人の胴ではなく脚も検出する可能性がある.そこで,以下の様な条件を設定し,グループ分けされたクラスタの中から人と看板が隣り合っている可能性のあるクラスタのセットを抽出する.

+脚の幅に相当するクラスタが連続し,その後に看板の幅に相当するクラスタが続く
+人の胴の幅に相当するクラスタの後に看板の幅に相当するクラスタが続く
+看板の幅に相当するクラスタの後に脚の幅に相当するクラスタが連続する
+看板の幅に相当するクラスタの後に人の胴の幅に相当するクラスタが続く

LEFT:ここで,脚の幅(WHL)・人の胴の幅(WHB)・看板の幅(WB) は以下のような範囲に設定した.ただし単位は[mm] である.
CENTER:#ref(formula3.png,center,80%)
LEFT: 以上の処理によりクラスタのセットを抽出し,それらのクラスタが存在する方向を色検出の探索範囲として扱う.使用したロボットでは全方位カメラを利用しているため図5 に示すように得られた候補の方向の色のみを検出すれば良いため誤検出を抑えた人物検出が可能である.
CENTER:#ref(omni.jpg,center,70%)
CENTER:&size(12){図5:全方位画像における色の抽出範囲};

**画像処理による色検出 [#wca2834a]
 探索対象としているベストや帽子・看板の色は一定であるため,カメラを用いた色検出は有効な手段の一つである.本手法では,LRFによって絞り込まれた探索範囲に対して色検出を行って探索対象が存在しているかを最終的に判断する.以降でその詳細を述べる.

***基準となる色(r,g)の特定 [#ke277a2d]
 はじめに,検出するべき色範囲の選定を行うために実験走行中に得た全方位画像から探索対象のベスト(オレンジ・青),帽子(オレンジ),看板(オレンジ) の4種類のパッチ画像(図6 参照) をそれぞれ数百枚ほど作成し色の分布を調べた.画像上の色はRGB表色系から明るさ成分を取り除いた(r,g) の表現方法(下式) を用いている.なお,用いた画像は様々な天候時のものが含まれており照明条件の変化が大きい画像セットである.
CENTER:#ref(formula4.png,center,80%)
&br;
CENTER:#ref(patches.png,center,80%)
CENTER:&size(12){図6:パッチ画像の例(左からベストのオレンジ,ベストの青・帽子のオレンジ・看板のオレンジ)};
&br;
&br;
LEFT: 探索対象の4種類のパッチ画像の(r,g)の平均値の分布図を図7に示す.本手法では,この分布の平均値を各対象物の基準値として色の検出を行う.各対象の基準値(r,g)を表2に示す.また,後述するマハラノビス距離のために分布から分散共分散行列を算出する.

CENTER:&size(12){表2:各対象における色の基準値};
|CENTER:対象物|CENTER:r|CENTER:g|
|CENTER:ベスト(オレンジ)|CENTER:0.409961|CENTER:0.193961|
|CENTER:ベスト(青)|CENTER:0.95464|CENTER:0.226484|
|CENTER:ベスト(オレンジ)|CENTER:0.709961|CENTER:0.193961|
|CENTER:ベスト(青)|CENTER:0.213753|CENTER:0.226484|
|CENTER:帽子|CENTER:0.709961|CENTER:0.193961|
|CENTER:看板|CENTER:0.595371|CENTER:0.257838|
&br;
CENTER:#ref(graph.png,center,15%)
CENTER:&size(12){図7:パッチ画像の色の分布(左上:ベスト(オレンジ),右上:ベスト(青),左下:帽子,右下:看板)};

***色の検出方法 [#p185e415]
 実際の色情報を用いた検出の手順は以下のとおりである.
+''注目画素の彩度を計算''&br;
極めて暗い色や極めて明るい色を除外するために彩度を用いる.ここでの彩度は,注目画素の(R,G,B) の最大値と最小値の差とする.
+''注目画素と基準値のマハラノビス距離を計算''&br;
注目画素の(r,g) と基準値の(r,g) のマハラノビス距離を計算する.
+''対応している画素数をカウント''&br;
彩度が閾値より大きく,かつマハラノビス距離が閾値以下であれば注目画素の色が対象物の色に対応していると判断する.ここで,彩度とマハラノビス距離の閾値は各対象物ごとに変更している(表3).
+''対象物検出の判定''&br;
探索範囲内に検出された画素数から領域に対する割合を計算し,その値が閾値以上であればそれに対応する対象物があると判定する.この閾値に関しても各対象物ごとに変更している(表4).

 基準色の特定で得た色の分布から,各対象物の分布にはある程度の相関があることが確認できる.そこで,本手法では色検出の判断基準としてデータの相関を考慮した距離であるマハラノビス距離を用いた.ユークリッド距離の場合,図8の左のように円状の範囲になるのに対しマハラノビス距離では相関を考慮するため図8の右のような範囲になるため余分な値を含まず誤検出を削減することができる.

CENTER:&size(12){表3:彩度とマハラノビス距離の閾値};
|CENTER:対象物|CENTER:THsat|CENTER:THmh|
|CENTER:ベスト(オレンジ)|CENTER:90|CENTER:0.15|
|CENTER:ベスト(青)|CENTER:25|CENTER:0.15|
|CENTER:帽子|CENTER:90|CENTER:0.15|
|CENTER:看板|CENTER:40|CENTER:0.2|

CENTER:&size(12){表4:色検出数の閾値};
|CENTER:対象物|CENTER:THcount|
|CENTER:ベスト(オレンジ)|CENTER:0.025|
|CENTER:ベスト(青)|CENTER:0.01|
|CENTER:帽子|CENTER:0.002|
|CENTER:看板|CENTER:0.05|

CENTER:#ref(compare.png,center,20%)
CENTER:&size(12){図8:ユークリッド距離とマハラノビス距離の範囲(左:ユークリッド距離,右:マハラノビス距離)};

*実験と結果 [#db22a668]
 以降では,前述したアルゴリズムを実装し,つくばチャレンジの実験走行会で得た複数の全方位画像およびLRFデータを元に行った人物検出の実験について,また実際のつくばチャレンジでの実験について述べる.

**実験走行会からのデータによる実験 [#l19032b9]
 本節ではつくばチャレンジ2014 で行われた複数回の実験走行会で得た全方位画像群およびLRFデータを元に前章の人物検出アルゴリズムを実装して人物検出を行った実験について述べる.使用した全方位画像の例を図9に示す.

CENTER:#ref(omnis.jpg,center,30%)
CENTER:&size(12){図9:実験に使用した全方位画像の例};

 実際には実験走行会で得られた10696枚の全方位画像を使用して実験を行った.その内探索対象が含まれているものは425枚である.実験の結果は以下の表のとおりである.なお,ここでは色の検出の判断基準としてマハラノビス距離を用いた場合とユークリッド距離を用いた場合の2つを示す.また,マハラノビス距離を用いた場合の検出例を図10に示す.

CENTER:&size(12){表5:ユークリッド距離を用いた検出結果};
|CENTER:Omni画像枚数|CENTER:検出対象数|CENTER:検出数|CENTER:LEFによる検出漏れ数|CENTER:色検出による検出漏れ数|CENTER:誤検出数|
|CENTER:10696|CENTER:425|CENTER:84|CENTER:123|CENTER:218|CENTER:3|

CENTER:&size(12){表6:マハラノビス距離を用いた検出結果};
|CENTER:Omni画像枚数|CENTER:検出対象数|CENTER:検出数|CENTER:LEFによる検出漏れ数|CENTER:色検出による検出漏れ数|CENTER:誤検出数|
|CENTER:10696|CENTER:425|CENTER:170|CENTER:123|CENTER:132|CENTER:4|
&br;
CENTER:#ref(outputs.jpg,center,30%)
CENTER:&size(12){図10:マハラノビス距離を用いた検出の例};

 検出結果から,マハラノビス距離による検出率はユークリッド距離のものよりも高くなっていることがわかる.また,誤検出数も抑えられている.しかしながら,検出対象が425ある中でLRFによって探索範囲の候補として挙げられなかったものが123とLRFによる探索候補の検出漏れが多い結果となってしまった.また,色の検出もユークリッド距離よりは安定しているものの,LRFによって探索候補として挙げられている302枚の全方位画像中で検出数170という結果であるため色の検出率の安定化も必要であると考えられる.なお,実際には図10で表示されている赤線の方向にロボットが移動するようになっている.

**つくばチャレンジでの実験 [#x185a3c9]
 本節では,つくばチャレンジで行われた実験走行会と本走行における実験結果について述べる.実験走行会における実験結果を表7に,本走行における実験結果を表8に示す.

CENTER:&size(12){表7:実験走行会の結果};
|CENTER:実験走行会|CENTER:3|CENTER:4|CENTER:5|CENTER:6|CENTER:8|CENTER:9|
|CENTER:コース完走|CENTER:○|CENTER:✕|CENTER:✕|CENTER:✕|CENTER:○|CENTER:○|
|CENTER:人物検出数|CENTER:0|CENTER:1|CENTER:1|CENTER:1|CENTER:0|CENTER:0|

CENTER:&size(12){表8:本走行の結果};
|CENTER:走行距離|CENTER:462m|
|CENTER:走行時間|CENTER:10分17秒|
|CENTER:人物探索|CENTER:1人/5人|

 本走行では,第1探索エリアを抜けたあたりでロボットが制御不能となりリタイアしてしまったがそのエリアにいた探索対象1 人を見つけることができた.しかしながら,実験走行会の結果を見ても分かるように全体を通してあまり安定した結果が得られなかった.このような結果になった要因については以降で詳細を述べる.

*考察 [#y9566960]
**実験走行会データからの実験における結果について [#s4f1f929]
 マハラノビス距離を用いたことによりユークリッド距離を用いた場合よりも検出数は向上し,またLRFはによって探索範囲を絞り込んだことにより誤検出も抑えることができてる.しかしながら前述したようにLRFによる探索範囲の絞り込みで探索範囲の候補として挙げられなかった数が多いという結果になってしまった.LRFによる探索範囲の絞り込みの失敗例を図11,12 に示す.図11のように人と看板が前後(または左右) に離れすぎてしまっている場合などは検出対象の候補として挙げられないという結果になった.これに関しては,グループ分けの定義について再検討する必要がある.またロボットは教示走行のルートをそのまま走るため,探索対象の位置によっては5m以内に近づけない場合もある(図12).このような場合に対してはクラスタリングの範囲を5mよりも広げることで改善できると考えられる.

CENTER:#ref(dis1.jpg,center,30%)
CENTER:&size(12){図11:LRFによる探索方向の絞り込みの失敗例1};

CENTER:#ref(dis2.jpg,center,30%)
CENTER:&size(12){図12:LRFによる探索方向の絞り込みの失敗例2};

 また,色の検出数もユークリッド距離よりは多くなったものの検出漏れ数は132と多いため色検出の安定化も必要になる.色の検出における失敗例としては,図13のように太陽光によって対象物(ここでは看板) の色が白潰れしてしまうなど照明条件の変化によって対象物の色が変化してしまうことが挙げられる.今回色検出のために用いた全方位カメラは図14のように画像上に暗い領域と明るい領域が混在する場合露光の調整が上手く行われず照明条件の変化に影響されやすい.今後,[2],[3]などの手法を改良して,照明条件に影響されにくい検出手法の構築を検討している.

CENTER:#ref(dis3.jpg,center,30%)
CENTER:&size(12){図13:色検出の失敗例1};

CENTER:#ref(dis4.jpg,center,30%)
CENTER:&size(12){図14:色検出の失敗例2};

 誤検出の例としては図16 のような場合がある. コース上にこのような看板が存在しており,ベストや看板のオレンジとして判断してしまい誤検出となってしまった.今回設計したアルゴリズムにおいて探索対象が存在するかの最終的な判断は,LRFによる色の探索候補の方向にベストと帽子が存在する領域と看板が存在する領域が隣り合っていた場合探索対象が存在するというものである.しかしながらベストのオレンジと帽子のオレンジ,看板のオレンジは色の分布が比較的近いものであり,図15のような場合ではオレンジのベストを着た探索対象と誤検出してしまったと考えられる.このような誤検出を削減するためには,対象物の色だけで
なく人間の顔認識を用いるなどで安定した結果になるのではないかと考えられる.

CENTER:#ref(dis5.jpg,center,30%)
CENTER:&size(12){図15:誤検出の例};

*まとめ [#h6b1303d]
 本研究ではつくばチャレンジ2014 における人物検出を対象とした,LRFからの形状情報と全方位カメラからの色情報を組み合わせた人物検出手法を提案した.提案手法ではLRFからの距離情報を基に物体の形状を取得し,色の探索範囲を抑えることで誤検出の削減を実現した.色の検出に関しては探索対象が身につけているベスト・帽子,隣に建てられている看板の色を検出することで判断した.色の判断基準においては,相関を考慮したマハラノビス距離を用いることで誤検出の削減を目指した.~
 実験としては,つくばチャレンジの実験走行会から得られた複数枚の全方位画像とLRFデータを基にした実験を行いパラメータ等の調整を行い本走行に挑んだ.実験走行会データでの実験では,LRF による探索方向の絞り込みを行ったことで誤検出を削減することができ,マハラノビス距離を用いたことで誤検出を抑えつつ検出数を向上することができた.本走行の結果としては最初のエリアを抜けたところでロボットが制御不能となりリタイアしてしまったが,最初のエリアにいた1 人を検出することができた.その他で行われた実験走行会の結果としては全体を通してあまり安定した結果が得られなかった.~
 今後の課題としては,LRFによる探索方向の絞り込みに関してはグループ分けの際の基準の見直しなどを行うことでより正確に探索対象の方向を取得できるようにしていくことを考えている.また,色の検出に関しては照明条件の変化への対応が必要不可欠であるということが分かったので,[2],[3] などの手法を改良することでより安定した色の検出を目指していきたい. 誤検出の更なる削減に関しては,顔認識や形状認識を行うことでより人間らしい物体を検出するためのアルゴリズムを検討している.

*参考文献 [#t94cddc3]
[1] つくばチャレンジ:http://www.tsukubachallenge.jp/~
[2] 小暮和重,塩谷敏昭, 太田直哉,"最小認識ハードウェアの自律移動ロボット―
つくばチャレンジ参加ロボットMG-11―",計測自動制御学会論文集, Vol.49,No.7, pp.703-712, 2013~
[3] 鹿貫悠多, 小暮和重, 太田直哉, 塩谷敏昭, 岩田知之, "LRF と全方位カメラを用いた人物探索", つくばチャレンジ2013 参加レポート集,pp.32-38,2014~
[4] MobileRobots:http://www.mobilerobots.com/~
[5] OpenCV:http://opencv.org/~

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS