太田研 公開用Wiki

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

はじめに

研究背景

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

tsukuba_map.png
図1:つくばチャレンジ2016のコース
(http://www.tsukubachallenge.jp/tc2016/kadai/ から引用)

研究目的

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

human.png
図2:探索対象

detection_area.png
図3:つくばチャレンジ2016の探索エリア
(http://www.tsukubachallenge.jp/tc2016/kadai/ から引用)

関連研究

 つくばチャレンジにおける人物検出手法の例としては[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 以上離れた位置に停止してしまう可能性がある.

omni.png
図4:双曲面ミラーを用いた全方位カメラ画像

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

ロボットの構成と開発環境

 つくばチャレンジ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] を利用している.
 以上のハードウェア構成で,要求される機能を十分に実現できることを前提に,できる限りシンプルなアルゴリズムを採用した.

robot.png
図5:ロボットの外観(左:外装有り,右:外装無し)

表1:ハードウェア構成
外形寸法W610×L634×H800mm
ホイール径300mm
総重量70.0kg
動力源DCモーター×4
最大速度800mm/s
センサLRF×2
(LMS151,TiM551)
エンコーダ×4
USBカメラ×1
9軸ジャイロセンサ×1
バッテリーLi-ion(7S20Ah)
制御用CPUIntel i7 5650U


表2:看板検出に用いたUSBカメラの仕様
解像度744×480
FPS30fps
シャッター方式グローバルシャッター
視野角約94.2°


表3:看板検出に用いたLRF(LMS151)の仕様
計測範囲270°
分解能0.5°
計測周期50Hz
計測距離50m


lrf_in.png
(a)LRFデータを取得した場所

lrf_out.png
(b)LRFから得られる距離情報をもとにした環境地図
図6:LRFから得られる距離情報をもとにした環境地図の例

看板検出アルゴリズム

カメラ画像からの特定色領域の抽出

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

対象となる色範囲の設定

color_patch.png
図7:パッチ画像の作成例

 実環境で撮影された画像は, 撮影時の場所や天候・時間帯により照明条件が変化する. カメラ画像から特定の色を抽出する色の値を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 をすることでオレンジ色の範囲を一つの多角形で表現できるようにした.


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS