[[太田研 公開用Wiki]]

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

#contents

*はじめに [#k2f569e3]
**研究背景 [#u2151470]
 近年,ロボットは産業分野のみならず,家庭向けロボットなど多くの分野で働くロボットの研究・開発が行われている.ロボットが人間の生活する環境で働くためには,様々な機能が必要になる.例えば,ロボットが自らの居場所を認識して,自律的に移動するロボットや,特定の人や物を認識する技術は必要不可欠な技術の一つである.~
 実環境上で動く自律走行ロボットの研究・開発の場としてつくば市内で行われている「つくばチャレンジ[1]」がある.つくばチャレンジは,様々な研究者・技術者が参加し, つくば市内の遊歩道等の実環境上で自律走行ロボットの実験を行う公開実験となっている.~
 昨年行われたつくばチャレンジ2016 では, 図1 に示すコースをロボットに自律走行させてスタートからゴールまでを走行させることが主な課題となっている. また, つくばチャレンジでは走行コース内には探索エリアが設けられており, その中に4 名存在する「特定の服装をした人物」を探索するという課題が設定されている. 筆者らはこのつくばチャレンジ2016 に参加し, 課題を達成するためのロボットの開発を行った.~
 本研究では,つくばチャレンジ2016 の課題の一つである「特定の服装をした人物の探索」という課題を達成するための,探索対象検出アルゴリズムを設計・実装した.
CENTER:#ref(tsukuba_map.png,center,50%)
CENTER:&size(14){図1:つくばチャレンジ2016のコース};~
CENTER:&size(12){(http://www.tsukubachallenge.jp/tc2016/kadai/ から引用)};~

**研究目的 [#fe9a84da]
 探索対象を図2 に示す.また,つくばチャレンジ2016 における探索エリアのコースを図3 に示す.図2 のようにつくばチャレンジにおける探索対象は,緑色のジャンパーの上にオレンジまたは青のベストを着用しており,そのすぐ脇には立て看板が設置されている.探索対象は4 名配置されており,図3 の斜線部分が探索エリアとなっている.つくばチャレンジ2016 からは,探索対象の配置は屋外のみならず屋内にも配置されることが予想された.探索対象を発見した際には,その対象の人の1.5m 以内のところに達して,3 秒以上停止する必要がある.ロボットが探索対象以外の人やものを探索対象として認識しても課題達成の判断には反映され
ないが,つくばチャレンジ2016 では探索対象以外を検出して,停止した場合にはその回数を誤認識として記録に残すことになっている.~
 探索対象の色は特徴のある色であるため,カメラを用いた色検出は有効な手段の一つである.しかしながら,実環境上には似たような色が多く存在するため単純な色の識別だけでは誤検出が多くなってしまう.そこで,本手法では探索対象の特定色領域の面積比と重心の位置関係を利用することで誤検出の削減を試みた.また,カメラ画像からの色情報とレーザーレンジファインダ(以下LRF と略) から得られる形状情報を統合することでより安定した探索対象の検出を目指した.~
 つくばチャレンジ本来の趣旨であれば人物を探索すべきであるが,探索対象となっている人物はカメラに写るベストの色情報やLRF で得られる形状情報が大きく変化しやすい.そこで,本手法では処理をできるだけシンプルに構成するという設計趣旨から色情報の変化が小さく,形状情報が安定して得られる立て看板の検出を試みた.本手法では色と形状情報を組み合わせた看板の検出というシンプルな手法による検出精度を向上させることを目的とする.

CENTER:#ref(human.png,center,60%)
CENTER:&size(14){図2:探索対象};~
&br;
CENTER:#ref(detection_area.png,center,40%)
CENTER:&size(14){図3:つくばチャレンジ2016の探索エリア};~
CENTER:&size(12){(http://www.tsukubachallenge.jp/tc2016/kadai/ から引用)};~

*関連研究 [#wa653ce7]
 つくばチャレンジにおける人物検出手法の例としては[2, 3, 4, 5] が挙げられる.[2, 3] の手法では,ディープラーニングを用いて探索対象である人や立て看板の検出を行っている.ディープラーニングによる人や物体の認識は実環境上での検出において一つの手段になり得る.しかしながら,その学習には膨大な量の学習データが必要であり,学習だけでなく,実際の検出時にも計算コストを要するため高性能なGPU が必要となる.つくばチャレンジにおける立て看板のように,ある決まった特定の物体は色や形状がある程度安定して検出できる.これらの情報を用いることで,ディープラーニングのような複雑な処理をともなう方法を用いずとも,実環境上での特定物体を検出することは可能であると考える.~
 一方,[4, 5] の手法では,カメラ画像からの色情報とLRF で得られる形状情報を統合することで探索対象の検出を試みている.[4] の手法では,立て看板と人物それぞれの幅に相当する物体をLRF の距離情報を用いて検出し,その方向に対して全方位カメラ画像から色検出を行い,探索対象が身につけている帽子(オレンジ) とベストの色(オレンジまたは青),看板の色
を検出した場合探索対象が存在すると判断している.しかし,探索対象となっている人物はカメラに写るベストの色情報やLRF で得られる形状情報が大きく変化しやすい.[4] では形状情報で立て看板と人物の形状に相当するペアを検出できなければ色情報による判定も行わないため安定した検出率を確保することが困難であった.~
 [5] の手法では,色情報の変化が小さく形状が一定である立て看板を検出することで安定した検出を目指している.前述の手法とは異なりカメラ画像からの特定色領域の抽出を先に行い,立て看板に該当する色情報を検出した方向に看板の幅に相当する物体をLRF で得られる形状情報で確認した場合に探索対象であると判断している.この手法では,[4] で用いている双曲面ミラーを用いた全方位カメラではなく,USB カメラ3 台を3 方向に向けて設置している.双曲面ミラーを用いた全方位カメラでは,1 つのカメラに双曲面ミラーを取り付けて360◦ の映像を撮影する.ミラーに写った像を1 台のカメラで表現するため,ミラーのサイズやカメラ
の解像度によっては図4 のように解像度の低い画像になってしまい,また, 認識に不要な路面が多く写ってしまうため小領域の色情報の判定が困難である.[5] の手法では,USB カメラを3 台用いてロボットの周囲の画像を取得することで,双曲面ミラーを用いた全方位カメラよりも安定した色情報の抽出を実現している.しかしながら,特定色領域の抽出に用いる色の参照値の選定が不十分であったため,天候の変化等による照明条件の変化に対応できず,探索対象を検出できないケースが見られた.また,つくばチャレンジでは,探索対象を検出した際にはその1.5m手前に停止するという規定がある.しかし,単純にカメラで検出した看板の方向
に移動するため,本来の探索対象である人物から1.5m 以上離れた位置に停止してしまう可能性がある.

CENTER:#ref(omni.png,center,70%)
CENTER:&size(14){図4:双曲面ミラーを用いた全方位カメラ画像};~
&br;

 以上の関連研究を考慮し,本研究では,色情報・形状情報がともに安定して得られる看板の検出を試みた.はじめに,つくばチャレンジの実際の画像をもとにカメラ画像からの特定色領域の抽出で検出するべき色範囲の設定を行った.また,特定色領域の抽出では看板のオレンジ色領域と水色領域の2 種類を抽出し,その2つの面積比と重心の関係を確認することで誤検出の削減を試みた.つくばチャレンジ2016 では,探索対象の誤検出もカウントされるため誤検出を可能な限り削減する工夫が必要であった.探索対象である人物と看板は移動しないため,検出された対象位置が一定であるかを確認し,5 フレーム連続で一定の位置に看板を検出し
た際にアプローチするという手法を採用した.さらに,探索対象へのアプローチの際には立て看板の隣に存在するであろう人物の形状を確認し,人物と看板の中間点から看板と人物の向きに直交する方向に対して目標地点を設定した.これにより,対象にアプローチした際に人物から1.5m 以上離れるような状況を回避した.~
 以上のように,ディープラーニングのような複雑な手法を用いるのではなく,色情報と形状情報を組み合わせたシンプルな手法を用いることにより,計算コストを抑えつつ,連続する数枚の画像を用いての検証をリアルタイムに行うことで,最小限のハードウェア構成での検出精度の向上を可能にしていく.以降で本手法の詳細を述べる.

**ロボットの構成と開発環境 [#w62ba969]
 つくばチャレンジ2016 のために開発したロボットの外観を図5 に,仕様を表1に示す.ベースとして用いたロボットはリバスト社[6] が開発を行っている屋外用移動ロボット「Mercury」シリーズのロボットである.ロボットには複数のセンサが取り付けられているが,-70◦,0◦,70◦ の方向に向けた(ロボットの正面を0◦ とする)3 台のUSB カメラと高さ600mm の位置のLRF とを用いて検出を行っている.看板の検出に使用したUSB カメラの仕様を表2,LRFの仕様を表3 に示す.~
 USB カメラはImagingSource 社製のUSB カメラ「DFK22AUC03」(解像度744× 480)にtamron 社製の広角レンズ「13FM28IR」を装着して使用した.LRF とは,レーザー光を照射して物体に反射させ,その反射光を検出することで,レーザー光を発射してから反射光を検出するまでの時間から物体までの距離を計測するセンサの一つであり,SICK 社製の「LMS151」(最大計測距離50m) を使用している.LRF はロボットを中心とした前方270◦ の範囲を0.5◦ 間隔で計測し,合計541 点の距離情報が得られる.LRF から得られるデータを可視化すると図6bのようになる.本ロボットの自律走行時にはこのような距離情報から得られる環境地図を予め作成しておき, 実際の自律走行時の環境地図と照合することによって自律走行を行っている. 看板の検出には,LRF から得られる距離情報から物体の形状を取得している.~
 ロボットの制御にはVecow社製PC「ECS4000-PoER」を用いた.OSはUbuntu14.04(64bit) を使用し,ソフトウェアはC++で記述した.既存のソフトウェアとしてはモジュール間通信にROS(indigo)[7],画像処理にOpenCV(2.4.11)[8],ファイルの入出力やTCP 通信等にBoost(1.56.0)[9] を利用している.~
 以上のハードウェア構成で,要求される機能を十分に実現できることを前提に,できる限りシンプルなアルゴリズムを採用した.

CENTER:#ref(robot.png,center,50%)
CENTER:&size(14){図5:ロボットの外観(左:外装有り,右:外装無し)};~
&br;

CENTER:&size(14){表1:ハードウェア構成};~
|CENTER:外形寸法|CENTER:W610×L634×H800mm|
|CENTER:ホイール径|CENTER:300mm|
|CENTER:総重量|CENTER:70.0kg|
|CENTER:動力源|CENTER:DCモーター×4|
|CENTER:最大速度|CENTER:800mm/s|
|CENTER:センサ|CENTER:LRF×2 &br; (LMS151,TiM551) &br; エンコーダ×4 &br; USBカメラ×1 &br; 9軸ジャイロセンサ×1|
|CENTER:バッテリー|CENTER:Li-ion(7S20Ah)|
|CENTER:制御用CPU|CENTER:Intel i7 5650U|
~
CENTER:&size(14){表2:看板検出に用いたUSBカメラの仕様};~
|CENTER:解像度|CENTER:744×480|
|CENTER:FPS|CENTER:30fps|
|CENTER:シャッター方式|CENTER:グローバルシャッター|
|CENTER:視野角|CENTER:約94.2°|
~

CENTER:&size(14){表3:看板検出に用いたLRF(LMS151)の仕様};~
|CENTER:計測範囲|CENTER:270°|
|CENTER:分解能|CENTER:0.5°|
|CENTER:計測周期|CENTER:50Hz|
|CENTER:計測距離|CENTER:50m|
~
CENTER:#ref(lrf_in.png,center,60%)
CENTER:&size(12){(a)LRFデータを取得した場所};~
&br;
CENTER:#ref(lrf_out.png,center,40%)
CENTER:&size(12){(b)LRFから得られる距離情報をもとにした環境地図};~
&br;
CENTER:&size(14){図6:LRFから得られる距離情報をもとにした環境地図の例};~

*看板検出アルゴリズム [#g85d5483]
**カメラ画像からの特定色領域の抽出 [#s216d13f]
 カメラ画像から色情報を抽出して立て看板の探索を行う方法について述べる.入力画像は3 方向に向けているカメラから得られる画像を使用した.実環境上には,似たような色が多く存在しており, 看板のオレンジ1 色の抽出では誤検出が多くなってしまう可能性がある. そこで, 本手法では看板のオレンジと看板下部の水色の2 色を抽出し, それぞれの領域の関係を比較することで検出精度の向上を図った.以降でカメラ画像からの特定色領域の抽出方法について述べる.

***対象となる色範囲の設定 [#lc1030ba]
CENTER:#ref(color_patch.png,center,50%)
CENTER:&size(14){図7:パッチ画像の作成例};~
&br;

 実環境で撮影された画像は, 撮影時の場所や天候・時間帯により照明条件が変化する. カメラ画像から特定の色を抽出する色の値を1 点に限定してしまうと, 照明条件の変化によって色抽出に失敗してしまう可能性がある. そこで, 様々な天候や場所・時間帯で撮影されたつくばチャレンジの実験走行会での画像をもとに, 看板のオレンジ色と水色の色分布を解析して, 照明条件の変化に対応した色抽出の範囲を作成した.~
 具体的には, はじめに図7 のようなつくばチャレンジの実験走行中に得たカメラ画像から立て看板のオレンジ領域,水色領域のパッチ画像をそれぞれ数百枚作成し,色の分布を調べた.画像上の色はRGB 表色系からHSV 表色系に変換し,色相(以下H と表記) と彩度(以下S と表記) の関係を調べた.なお,RGB 表色系からHSV 表色系への変換はOpenCV に実装されているcvtColor 関数を用いた.立て看板のオレンジ領域と水色領域の色相と彩度の分布図を図8 に示す.この色分布を元に図9 のような多角形の色領域を設定した.探索時にはこの領域内に含
まれる色のみを抽出する.なお,つくばチャレンジ2016 では,探索対象は屋外だけでなく,屋内にも配置される可能性があるため,屋外用の色領域と屋内用の色領域の2 種類を作成し,走行する場所に応じてこれらを切り替えて探索を行った.~
 図9 に示す色領域画像はそれぞれ横軸がH,縦軸がS を表しており,H は-30~150,S は0~255 の範囲である.看板のオレンジ色の範囲はHが0~10 と170~180 付近の2 パターンに別れるため,H > 150 に対してはH-181 をすることでオレンジ色の範囲を一つの多角形で表現できるようにした.

CENTER:#ref(color_range.png,center,30%)
CENTER:&size(14){図8:立て看板のオレンジ領域と水色領域の色分布};~
&br;
CENTER:#ref(color_mask.png,center,30%)
CENTER:&size(14){図9:立て看板のオレンジ領域と水色領域の色領域画像};~
&br;

***特定色領域の抽出方法 [#h2987a31]
 入力画像の例を図10 に示す.特定色領域の抽出は,3 方向に向けられたUSBカメラから得られる画像それぞれに対して行う.立て看板は地面に置かれるため画像の上部に写ることはほとんど起こり得ない.そこで,ここでは画像の右方向をx,下方向をy,左上の座標を(x; y) = (0; 0) としたときにオレンジ色の抽出をy ≧ 240,水色の抽出をy ≧ 285 と設定することで誤検出の削減および処理の高速化を図った.

CENTER:#ref(input.png,center,80%)
CENTER:&size(14){図10:入力画像の例};~

色情報を用いた特定色領域の抽出の手順は以下のとおりである.
+オレンジ色領域の抽出~
HSV 表色系に変換した入力画像に対しオレンジの色領域内の画素を抽出し二値画像を作成.
+水色領域の抽出~
1. と同様の手順で水色の画素を抽出し二値画像を作成.
+オレンジ領域と水色領域のラベリング~
それぞれの二値画像に対しラベリング処理を行い,矩形領域Roi とRbj およびそれぞれの面積(画素数) Aoi とAbj を取得.
+オレンジ領域と水色領域の面積比を計算~
0.03 ≦ Abj/Aoi ≦ 0.75 である色領域のペアのみ以下の処理を行う.
+オレンジ領域と水色領域のペアの探索~
オレンジ領域Roi と水色領域Rbj の重心(mo,mb) の位置を比較する.
&br;

 はじめに,入力画像をHSV 表色系に変換しオレンジの色領域内と水色の色領域内の画素を抽出し,図11 のような二値画像を作成する.ここで抽出される色の中には白に近い明るい色が含まれるため,入力画像のRGB の3 成分の全てが200 を超えるものは除外するように設定した.また,二値画像を作成する際に膨張収縮処理を施すことで細かいノイズを取り除いている.
 次に,色抽出により生成された二値画像に対してラベリング処理を行う.ラベリングで得られた領域の内オレンジ領域は画素数100 以下,水色領域は画素数30以下のものを除外することで処理の高速化と誤検出の削減を行った.ラベリングされた領域からオレンジ領域と水色領域それぞれの矩形領域と各矩形領域の面積(画素数) を取得し以降の処理を行っていく.
 続いて,オレンジの矩形領域Roi と水色の矩形領域Rbj の面積比を計算する.図10で示したように探索対象の番号を示すボードが看板の前面に貼られる状況がある.このような状況に対応するためにつくばチャレンジの実験走行会から得られた画像をもとにオレンジ領域と水色領域の面積比の閾値を設定した.
 オレンジ領域Roi と水色領域Rbj の重心(mo,mb) の位置関係を図12に示す.実際の水色領域の重心のズレに対応する範囲の設定は実際の画像をもとに実験的に求めたものである.

CENTER:#ref(bin.png,center,60%)
CENTER:&size(14){図11:二値画像の例};~
&br;
CENTER:#ref(board_cog.png,center,70%)
CENTER:&size(14){図12:看板のオレンジ領域と水色領域の重心の関係};~
&br;

 以上の処理を3 方向に向けたカメラから得られるそれぞれの画像に対して適用し看板の探索を行い,看板が存在する場合その方向(ロボットの正面を0◦,反時計回りを正方向とする) を求める.そこで,3 方向に向けたカメラの画像上の座標と実空間上の方向の対応を取るためにキャリブレーションを行った.画像のx 座標に対応する実空間上の角度を解析したものが図13 になる.グラフの横軸は,各カメラから得られる画像の右方向をx,下方向をy,左上の座標を(x,y) = (0,0) としたときのx 座標であり,縦軸はそれに対応する実空間上の方向である.この対応を元にして画像上の看板の中心部のx 座標から看板の存在する方向を求めた.

CENTER:#ref(x_lrf_l.png,center,40%)
CENTER:&size(12){(a)左カメラの画像の対応};~
&br;
CENTER:#ref(x_lrf_c.png,center,40%)
CENTER:&size(12){(b)中央カメラの画像の対応};~
&br;
CENTER:#ref(x_lrf_r.png,center,40%)
CENTER:&size(12){(c)右カメラの画像の対応};~
&br;
CENTER:&size(14){図13:各カメラの画像上のx座標と実空間上の方向の対応関係};~

**LRFを用いた特定形状の検出 [#q5620582]
 本手法を適用してカメラ画像を解析し求められる情報は対象の方向のみであり対象までの距離は得ることができない.そのため,距離の計測にはLRF を用いることにした.~
 本手法は単純に看板を検出した方向に移動してしまうと図14b のように本来の探索対象である人物から1.5m 以上離れた地点に停止してしまう可能性がある.そこで,LRF から得られる点群をクラスタリングし,立て看板の形状に相当するクラスタと人物の形状に相当するクラスタをそれぞれ抽出して図14c のように人物と看板の中間点から看板と人物の向きに直交する方向に対して目標地点を設定した.LRF による特定形状の抽出法は以下の通りである.

+同一平面上に存在する物体のクラスタリング~
点群の距離情報di(0 ≦ i ≦ 540) をi = 0 から走査していきdi≦7000[mm] かつ|di+1 - di|≦ dTH の条件をもとにクラスタリングを行う(ここでdTH =100[mm]).
+立て看板の幅に相当するクラスタの抽出~
クラスタの端点間の距離が280~420[mm] のクラスタを看板のクラスタとして抽出する.
+人物の幅に相当するクラスタの抽出~
クラスタの端点間の距離が250~650[mm] のクラスタを人物のクラスタとして抽出する.
+カメラ画像から得られた看板の方向との比較~
カメラ画像から得られた看板の方向の10◦ の範囲に看板の幅に相当するクラスタが存在した場合のみ以下の処理を行う.
+人物と看板の中間点の取得~
看板クラスタと人物クラスタの距離d が200[mm]< d < 1000[mm] であるものを探索し,両クラスタの中点を対象の存在する地点Pt とする.
+目標地点の設定~
看板クラスタと人物クラスタを通る直線を計算し,この直線に直行しPt を通る直線上のPt から1500mm の位置を目標地点とした.該当する点は2 点存在することになるが,ロボットに近い側の点を目標地点とする.

CENTER:#ref(fig14.png,center,60%)
CENTER:&size(14){図14:目標地点の設定における問題点と対策後の例};~

**探索対象へのアプローチ [#l1fb3b2a]
 探索対象である人物と看板は移動しない.そこで,更に誤検出を抑えるために前述の処理での探索を連続的に行い,検出された対象位置が一定であるかを確認し,5 フレーム連続で一定の位置(ここでは1000[mm] 以内と設定) に看板を検出した際にアプローチするという手法を採用した.なお,1 回の探索処理はカメラ画像の取得も含め約100[ms] である.~
 アプローチする際にはロボットの速度を十分に落とし探索対象である人物に恐
怖感を与えないように注意した.また,同じ地点で対象を2 度検出することがな
いよう,一度アプローチした対象の位置から5000[mm] 以内で検出された結果は除
外するように設定した.

*実験および結果 [#wbcf6c38]
 つくばチャレンジの走行会でロボットを自律走行させながら行った人物検出の実験について述べる.人物検出はつくばチャレンジ2016 の実験走行会において実際の探索エリアを自律走行させながら行っており,一般の通行人等が歩行している実環境の中で実験を行っている.はじめに, つくばチャレンジ2016 の本走行会以前の実験走行会における人物検出の実験について, 続いて本走行会での実験について述べる.~
 まず,つくばチャレンジ2016 の本走行会以前の実験走行会での実験について述べる.つくばチャレンジの本走行以前の実験走行会は計7 回行われた.その内5 日間で人物検出の実験・調整を行った.探索対象は毎回4 名ずつ無作為に配置されており,その配置場所はつくばチャレンジの運営が決定したものである.ここで,全実験走行会を通して屋外には3 名,屋内には1 名が配置されていた.~
 表4 につくばチャレンジ2016 の実験走行会における屋内での探索対象の検出結果,表5 に屋内での検出結果をそれぞれ示す.実験走行会では,効率化を図るために屋外の実験と屋内の実験に2 つに分けて実験を行った.2016 年9 月22 日のみ屋外の探索対象数が1 名となっているのは,実験時の天候が雨ですべての経路を探索できなかったためである.

CENTER:&size(14){表4:つくばチャレンジ2016実験走行会の屋外における実験結果};~
|CENTER:実験日時|CENTER:探索対象数|CENTER:検出数|CENTER:誤検出数|
|CENTER:2016/9/22 15時|CENTER:1|CENTER:1|CENTER:0|
|CENTER:2016/10/15 15時|CENTER:3|CENTER:2|CENTER:0|
|CENTER:2016/10/16 15時(1回目)|CENTER:3|CENTER:3|CENTER:0|
|CENTER:2016/10/16 15時(2回目)|CENTER:3|CENTER:2|CENTER:0|
|CENTER:2016/10/29 13時|CENTER:3|CENTER:3|CENTER:0|
|CENTER:2016/10/29 14時|CENTER:3|CENTER:3|CENTER:0|
|CENTER:2016/11/5 11時|CENTER:3|CENTER:2|CENTER:0|
|CENTER:2016/11/5 15時|CENTER:3|CENTER:3|CENTER:0|
~
CENTER:&size(14){表5:つくばチャレンジ2016実験走行会の屋内における実験結果};~
|CENTER:実験日時|CENTER:探索対象数|CENTER:検出数|CENTER:誤検出数|
|CENTER:2016/10/16 16時|CENTER:1|CENTER:1|CENTER:0|
|CENTER:2016/10/29 13時|CENTER:1|CENTER:1|CENTER:0|
|CENTER:2016/10/29 14時|CENTER:1|CENTER:1|CENTER:0|
|CENTER:2016/11/5 15時|CENTER:1|CENTER:1|CENTER:0|
~
 表8,9 に示すように,屋内外ともに比較的安定した検出結果が得られた.検出に失敗した例としては,2016 年10 月15 日15 時実験では探索対象に直射日光が当たってしまっている場面であり,安定した色の検出が行えなかったことが原因であると考えられる.また,2016 年10 月16 日15 時の2 回目の実験では,日の傾きにより対象の位置が暗くなってしまい色の範囲から外れてしまったためであると考えられる. この問題に関しては, 前節のログデータでの実験でも示した通り色の範囲を再検討することで対応した.2016 年11 月5 日11 時での実験では, 色抽出は成功していたが, 探索対象がロボットの走行経路から離れたところに配置されていたため, LRF からの特定形状抽出の抽出範囲である「ロボットから7m の距離」という条件から外れてしまったため検出できなかった. この問題については, 走行経路を修正することで対応が可能である.~
 次に, つくばチャレンジ2016 の本走行時の実験結果を表6に示す. また, 探索対象を図15 に示す. 本走行における結果としては自律走行での全コースの完走を達成することができたが, 探索対象の検出に関しては4 人中2 人しか見つけることができず課題の完全達成には至らなかった. なお, 本走行時にも誤検出はなく, 一度検出してアプローチした対象に二度アプローチするという失敗もなかった.

CENTER:&size(14){表6:つくばチャレンジ2016本走行の結果};~
|CENTER:走行距離|CENTER:2177m(完走)|
|CENTER:走行時間|CENTER:69分57秒|
|CENTER:人物探索|CENTER:2人/4人|
&br;

CENTER:#ref(target.png,center,90%)
CENTER:&size(14){図15:つくばチャレンジ2016本走行における探索対象};~

*考察 [#ze522acf]
**つくばチャレンジ2016での実験に関する考察 [#t25e304f]
 今回提案した手法を実際につくばチャレンジで走行するロボットに実装し,人物探索の実験を行った.つくばチャレンジ2016 の実験走行会全体としては,検出率83.3%という結果になった.しかしながら,先述したように,つくばチャレンジ2016 の本走行での検出結果は4 人中2 人となり,全ての探索対象を検出することができなかった.~
 本走行終了後,ログデータの解析を行ったところ,図16,17 に示すように特定色領域の抽出と特定形状の抽出ともに成功している場面もあったが,カメラの微妙な明るさの変化に影響され,連続したフレームでの検出が行えていなかった.つくばチャレンジ2016 では,探索時の誤検出もカウントされるため誤検出を0 にしようと4.3 節で述べた「5 フレーム連続で検出」という条件を設けたが,慎重になりすぎてしまった結果,本走行時には良好な検出結果が得られなかった.

CENTER:#ref(fig16.png,center,50%)
CENTER:&size(14){図16:検出に失敗した対象3の特定色領域抽出画像と特定形状抽出画像};~
&br;
CENTER:#ref(fig17.png,center,50%)
CENTER:&size(14){図16:検出に失敗した対象4の特定色領域抽出画像と特定形状抽出画像};~
&br;

 以上までのつくばチャレンジ2016 の結果を踏まえて,人物検出プログラムの再調整を行った.以降でその詳細について述べる.

**人物検出アルゴリズムの改良 [#s3f4ebad]
***アプローチ方法の改良 [#i44fd72a]
つくばチャレンジ2016 での実験では, 結果として4 人の探索対象の内2 人の検出に失敗してしまった. ログデータによる実験では, 特定色領域の抽出および特定形状の検出は比較的良好に行えていたが, 前節でも述べたとおり, 誤検出を0 にしようと設定した「探索対象を5 フレーム連続で一定の位置に検出」という条件によって本走行では思うような結果を出すことができなかった. また, アプローチする際に人物と看板の向きを計算し, その向きに直交する方向に1.5m 手前に停止するように設定したが, 実際にアプローチをするとその向きにズレが生じてしまうケースが見られた. これは, 人物の姿勢が一定でないため, その形状にばらつきが生じるためである. 以上のことから, 人物検出手法のアプローチ部分に改良を施した. 以降で
その方法について述べる.~
&br;

''アプローチするまでの条件に関する改良''~
まず,対象を検出してからアプローチするまでの条件について改良した. 前述するとおり, つくばチャレンジ2016 の本走行で検出できなかった2 名に対してもログデータでの実験では, 特定色領域の抽出と特定形状の抽出が可能な対象であった. しかしながら, アプローチに至らなかった理由は「5 フレーム連続での検出」というところにある. そこで, この条件を「10 フレーム中5 フレーム一定の場所に検出したらアプローチをする」という条件に変更した. 具体的な処理の流れは図18に示すとおりである.
''■アプローチするまでの条件に関する改良■''~
 まず,対象を検出してからアプローチするまでの条件について改良した. 前述するとおり, つくばチャレンジ2016 の本走行で検出できなかった2 名に対してもログデータでの実験では, 特定色領域の抽出と特定形状の抽出が可能な対象であった. しかしながら, アプローチに至らなかった理由は「5 フレーム連続での検出」というところにある. そこで, この条件を「10 フレーム中5 フレーム一定の場所に検出したらアプローチをする」という条件に変更した. 具体的な処理の流れは図18に示すとおりである.

CENTER:#ref(flowchart.png,center,50%)
CENTER:&size(14){図18:対象を検出してからアプローチするまでの流れ};~
&br;

''アプローチする方法に関する改良''~

''■アプローチする方法に関する改良■''~
 アプローチする方向に関する改良方法としては, 人物と看板の中間点をとるのではなく, 看板の形状から看板の傾きを求めて, 看板の中間点から看板の向きに直交する方向に対して1.5m 手前に停止するように変更した. まず,4.2 で得られた看板のクラスタの各点のロボットに対する相対座標(Px;Py) を求める. 次に, 相対座標に変換した点群に対して最小二乗法(式1) を用いてロボットに対する看板の傾きを求めた.~

CENTER:#ref(fig19.png,center,100%)~
&br;

 最終的に, 得られた看板の傾きの90◦ の方向に看板の中間点から1.5m の地点を計算し, ロボットに近い地点を目標地点として設定した.以上の修正を人物検出プログラムに施して,群馬大学理工学部の構内での実験によって評価を行った.

***模擬看板を用いた実験 [#n1ce94cf]
先程の改良を施した看板検出プログラムの精度を確認するために, 群馬大学理工学部の構内で図19 に示すような模擬看板を用いて実験を行った. 実験結果を表7 に示す. また,特定形状抽出時のLRF データを画像に変換したものを図20 に示す.実験は3 日間行い, 延べ60 名の探索を行った. なお,模擬看板はつくばチャレンジで使用されている看板とは色分布が異なるため,特定色領域の抽出には図21 の色領域画像を用いている.

CENTER:#ref(campus_human.png,center,80%)
CENTER:&size(14){図19:模擬看板を使った探索対象例};~
&br;

CENTER:&size(14){表7:模擬看板を用いた実験結果};~
|CENTER:実験日時|CENTER:探索対象数|CENTER:検出数|CENTER:誤検出数|
|CENTER:2016/11/29 13時台|CENTER:10|CENTER:10|CENTER:0|
|CENTER:2016/11/29 14時台|CENTER:12|CENTER:12|CENTER:0|
|CENTER:2016/11/30 11時台|CENTER:21|CENTER:21|CENTER:0|
|CENTER:2016/12/1 11時台|CENTER:4|CENTER:2|CENTER:0|
|CENTER:2016/12/1 12時台|CENTER:6|CENTER:5|CENTER:0|
|CENTER:2016/12/1 14時台|CENTER:4|CENTER:4|CENTER:0|
|CENTER:2016/12/1 15時台|CENTER:3|CENTER:3|CENTER:0|
~
&br;

CENTER:#ref(lrf_input_c.png,center,60%)
CENTER:&size(12){(a)探索対象};~
&br;
CENTER:#ref(lrf_output_c.png,center,50%)
CENTER:&size(12){(b)特定形状画像};~
&br;
CENTER:&size(14){図20:構内実験での特定形状画像};~
&br;

CENTER:#ref(outdoor_mask_c.png,center,50%)
CENTER:&size(14){図21:模擬看板用の色領域画像};~
&br;

 結果に示すように3 日間を通した検出率は95.0%となり,比較的安定した検出を行うことができている. 改良前と比較して, 明暗の激しいような場所でも安定してアプローチをすることが可能になった. また, アプローチする場所も改良前に比べ,しっかりと看板の正面に停止するようになった. しかしながら, 改良を加えた後でも,直射日光が当たってしまい常に看板が白飛びしてしまっているような状態での検出は上手くいかなかった.~
 日の当たり方は,時間経過によって変化するものであり照明条件は刻々と変化する.本手法では,一度検出に失敗してしまった対象がいても次の経路に進んでしまう.そこで, 今後の課題としては[10] の手法を改良することでより安定した色の抽出を目指すとともに,探索対象が目標数検出できなかった場合には,一定の経路を巡回するようなアルゴリズムに改良することで検出率の向上を図りたい.~
 また,現在のアルゴリズムでは一度探索対象と判断された対象に対して盲目的にアプローチする設定になっている.そこで,一度探索対象であると判断された対象に対して接近し,再度探索対象であるかを確認するような段階的な判断を加えることで更なる誤検出の削減を目指していきたい.

*まとめ [#p980db9d]
 本論文では,色情報と形状情報を用いた実環境における特定の物体の検出手法として,つくばチャレンジ2016 における人物検出の課題を達成するための,カメラ画像からの色情報とLRF から得られる形状情報を組み合わせた特定物体の検出手法を提案した.提案手法では,処理をできるだけシンプルに構成するという設計趣旨から色情報の変化が小さく,形状情報が安定して得られる立て看板の形状を試みた.~
 特定色領域の抽出にあたっては,つくばチャレンジで実際に撮影した探索対象の画像から抽出するべき色範囲を矩形ではなく,多角形を用いることで誤検出の削減を実現した.また,看板の色はオレンジと看板下部の水色の2 色を抽出し,それぞれの領域の面積比と重心の位置関係を用いることで誤検出を抑えながらも比較的安定した特定色領域の抽出を実現した.また,LRF により人物と看板の形状を抽出することでロボットが人物と看板の正面に停止するような工夫を施した.誤検出の更なる削減をするために,探索対象である人物と看板が移動しないことを利用して,連続5 フレームで一定の位置に看板を検出した場合に目標に向かうという設定を施した.色情報と形状情報を用いたシンプルな手法を用いることで,計算コストを抑えながらも探索対象の検出精度を向上させることができた.~
 つくばチャレンジ2016 の本走行では,カメラの微妙な明るさの変化に影響されて5 フレーム連続での検出を行うことができなかったため,再度アルゴリズムの改良を施し,10 フレーム中5 フレームで検出した場合にアプローチするという条件に変更した.また,探索対象にアプローチする際に設定する目標地点を人物と看板の中間点ではなく,形状が安定して得られる看板の正面になるように修正した.これにより,群馬大学構内での実験では改良前に明暗の激しい場所でも良好な結果を得ることができた.しかしながら,実験全体を通して,直射日光が当たってしまい看板が白飛びしてしまうような状況では安定した検出結果を得ることができなかった.~
 今後の課題としては,[10] の手法を改良することでより安定した色の抽出を目指すとともに,目標数まで探索対象を検出していない場合には,一定の経路を巡回するようなアルゴリズムを加えることで検出精度の向上を図りたい. また,探索対象であるかの判断を段階的に行うような処理を加えることで更なる誤検出の削減を目指したい.また,今回はつくばチャレンジ内での実験であったが,他の環境でも本手法を用いた特定の物体の検出を検討している.

*参考文献 [#g8de0361]
[1] “つくばチャレンジ”,http://www.tsukubachallenge.jp/,(access Jan 14,2017)~
[2] 阪東茂,中林達彦,川本駿,阪東華子,“つくばチャレンジ2016 における土浦プロジェクトの取り組み”,つくばチャレンジ2016 参加レポート集,pp.2-8,2017~
[3] 満留諒介,鈴木与海,伊達央,大矢晃久,“つくばチャレンジ2016 における筑波大学知能ロボット研究室チームKerberos の取り組み”,つくばチャレンジ2016参加レポート集,pp.119-121~
[4] 鹿貫悠多, 中村弘樹, 清水美咲, 竹野翔太,太田直哉,“つくばチャレンジ2014参加報告書”, つくばチャレンジ2014 参加レポート集,pp.35-42,2015~
[5] 鹿貫悠多, 中村弘樹, 須田雄大,山田竜也,太田直哉,“つくばチャレンジ2015参加報告書”, つくばチャレンジ2015 参加レポート集,pp.89-96,2016~
[6] “株式会社リバスト”,http://revast.co.jp/,(access Jan 14,2017)~
[7] “ROS”,http://www.ros.org/,(access Jan 14,2017)~
[8] Itseez,“OpenCV”,http://opencv.org/,(access Jan 14,2017)~
[9] “Boost”,http://www.boost.org/,(access Jan 14,2017)~
[10] 根岸淳,太田直哉,日吉久礎,“市販デジタルカメラを用いた再現性のある色の特定”, 電子情報通信学会論文誌.D,情報・システムJ91-D(6),pp.1663-1671,2008~

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