近年,店舗や倉庫内など限定された環境下において自律走行ロボットの活躍の幅は日々幅広くなっている.一方,実際の市街地で完全な自律走行を行うには技術的な課題が多く残っており,市街地での自律走行を目的とした研究開発が盛んに行われている.その一例として,2007年から毎年茨城県つくば市内で開催されている「つくばチャレンジ」と呼ばれる技術チャレンジがある.
つくばチャレンジとは,人々が実際に生活している市街地や公園,駅,などの実環境下における公開実験会である.このつくばチャレンジは実環境下における自律走行技術の進歩を目的としており,大学の研究室や企業など様々な組織の研究者が参加している.また,参加チームそれぞれが開発及び研究を行っており,参加者同士が互いに知識や技術,経験を共有することによって全体の自律走行技術の進歩を目的としている.
以下からはつくばチャレンジ2022のコースや課題内容をもとに本研究の背景を説明する.
つくばチャレンジでは必須課題と選択課題がある.必須課題は参加する全チームが取り組む課題であり,図1に示された課題ルートの約2kmを自律走行するという課題である.選択課題では次の4つの課題が課された[1].
この中でも実環境下での自律走行において,歩行者用信号機の状態の認識は安全面からも重要な要素であると考え,本研究では「信号認識横断」に着目した.
自律走行ロボットで「信号認識横断」のためのソフトウェアを動作させるにあたり,いくつかの留意点がある.まず,自律走行ロボットはバッテリーで駆動するため搭載できる計算資源には限りがあり,限られた計算資源を自律走行に必要な他のソフトウェアと分け合う必要もある.また,信号機の認識は移動中に行うためリアルタイム性も重視しなければならない.
そこで本研究では画像特徴量とサポートベクターマシン(SVM)の組み合わせにより,高精度かつ軽量でリアルタイム性の優れた検出手法の開発を目指した.また,つくばチャレンジでの性能向上,将来的にはつくばチャレンジの環境下以外の歩行者用信号機でも検出を行うことができる性能を目指し,本研究では検出性能のみでなく汎化性能も重視した.
本研究では,複数の画像特徴量や特徴量同士を組み合わせたものなどでの性能をそれぞれ比較した.また,サポートベクターマシン(SVM)はいくつかのハイパーパラメータを設定する必要があるが検出性能と汎化性能に対して最適な値をグリッドサーチ,ホールドアウト法,層化k分割交差検証を組み合わせて求めた.
なお,本研究における検出対象は,図2に示すような白熱電球型の歩行者用信号機に限定する.
先行研究[2]では,画像中から歩行者用信号機の状態を検出するにあたり,HOG特徴量とサポートベクターマシン(SVM)を用いた手法を提案している.この手法では誤検出率が1\%未満であり,GPUを搭載できないようなロボットにおいても有効な手法であると述べている.
また,先行研究[3]では,屋外の看板検出においてHOG特徴やLBP特徴を用いている.
本研究ではこれらの先行研究をもとに,色相特徴,HOG特徴,LBP特徴の3種類を用いて歩行者用信号機の検出を行うこととした.さらに,HOG特徴やLBP特徴は画像中の色情報は使用されないため,信号機の特徴的な色情報が活用されない.そこで,本研究では先に述べた3種類に加え,HOG特徴と色相特徴を組み合わせた特徴量,LBP特徴と色相特徴を組み合わせた特徴量の計5種類で性能の比較を行った.
なお以下からは,HOG特徴と色相特徴を組み合わせた特徴量を「HOG特徴+色相特徴」,LBP特徴と色相特徴を組み合わせた特徴量を「LBP特徴+色相特徴」と呼称する.
また,先行研究や本研究で用いているサポートベクターマシン(SVM)は2つのハイパーパラメータを設定する必要がある. そこで,それぞれの特徴量ごとに検出性能と汎化性能に対して最適な値をグリッドサーチ,ホールドアウト法,層化k分割交差検証を組み合わせて求めた.
以下の手順でサポートベクターマシン(SVM)の学習を行う.この学習手順は先行研究と同様である.
以下の手順で画像中から歩行者用信号機の状態を検出する.
実際に歩行者用信号機を検出すると,画像中の該当部分を青い矩形で囲む処理を行っている.以下に具体例の画像を示す.
信号の灯火色の抽出する処理においてはHSV色空間に変換し,抽出を行っている.
HSV色空間とは,色彩の情報を色相(Hue),彩度(Saturation),明度(Value)によって表現したものである.HSV色空間に変換することにより,いくつかの利点がある.まず,明るさの変化を受けにくくなる.また,特定の色の抽出や,色合いの変更などの画像処理が容易になる.これは,カラー画像の場合,画像内の明度の情報は比較的変化し易いが,色相や彩度の情報は比較的安定する.そのため,HSV色空間に変換後,信号の灯火色の抽出を行う[4].
本研究では以下のしきい値で信号の灯火色を抽出した.なおOpenCVにおいては,色相(Hue)は0~179,彩度(Saturation)と明度(Value)は0~255の範囲で指定を行う.
色相(Hue) | 彩度(Saturation) | 明度(Value) | |
赤信号 | 0~20, 160~179 | 70~255 | 100~255 |
青信号 | 60~100 | 60~255 | 0~255 |
上記の条件で抽出を行った後に,メディアンフィルタを画像全体に適用し,ノイズの除去を行う.また,領域の欠損部分を埋める膨張収縮処理も行う.
ラベリング処理とは,複数のブロブが画像内に存在する場合に,各ブロブに一意の識別子(番号)をつけて識別する処理である.この処理により,それぞれのブロブ(ここでは候補領域になるもの)を個別に抽出して扱うことができる[4].
信号の灯火色(赤または緑)を抽出した後の画像に対して,このラベリング処理を行っていく.処理後に,ラベリング領域のサイズの確認を行う.
歩行者用信号機は基本的に道路を挟んだ場所に設置されているため,画像中に極端に大きく写ることはない.そのため,ラベリング領域のサイズの確認を行い,極端に大きいものや極端に小さいものを排除することで,検出にかかる時間を削減できる.本研究では,ラベリング領域の縦幅・横幅がともに5~40ピクセルの領域のみを候補領域として扱った.
画像特徴量とは,画素に含まれる様々な数値を特定のアルゴリズムを用いて計算を行い,画像の特徴を数値として表現したものである.ここでは色相特徴,HOG特徴,LBP特徴,HOG 特徴+色相特徴,LBP特徴+色相特徴の5種類の特徴量について説明する.
色相値の出現頻度をヒストグラム化した特徴量である.
1つの局所領域内におけるエッジ方向ごとのエッジ強度に注目した特徴量である[5].本研究では,図12のように画像を4つの局所領域に分割する.その後,局所領域内でのエッジ方向のヒストグラムを作成し,4つのヒストグラムを結合したものを特徴量として扱う.
中心画素とその周囲の画素との輝度の差を比較し,相対値をヒストグラム化した特徴量である.まず,LBP(Local Binary Pattern)では,中心画素とその周辺画素との輝度の差を計算し,その符号によって0,1の2値パターンを割り当てる[6].
図13をもとに具体的に説明する.まず中心画素の輝度値を95としたときにその周囲の画素の輝度値が95より大きい場合は1,小さい場合は0とする.これを2進数の位として扱う.左上を最下位ビットとし反時計周りに1周していった値がLBP値となる.図13の例だと,LBP値は01000011となり,16進数で43, 10進数で67となる.
本研究では,図14のように画像を4つの局所領域に分割し,局所領域内でLBP値の計算を行う.その後,計算したLBP値をもとにヒストグラムを作成し,4つのヒストグラムを結合したものを特徴量として扱う.
HOG特徴, LBP特徴それぞれと色相特徴のヒストグラムを結合したものである.HOG特徴とLBP特徴はともに画像中の色情報を使用しない.つまり,候補領域の判定を行う際には信号機の特徴的な色は全く活用されない.
そこで,色相特徴と組み合わせることにより,HOG特徴やLBP特徴でも信号機の特徴的な色を判別に使用できるようになり,それぞれの単体よりも検出性能が向上が期待できると考え,採用した.
サポートベクターマシン(SVM)とは2クラス分類問題の代表的手法であり,未知データに対して高い予測精度を持つ識別器が構築できることで知られている. マージン最大化という基準を用いて,データからできるだけ離れた決定境界を学習する.本研究で用いているSVMでは,誤分類の許容度合いをコストパラメータCとして設定する必要がある.Cを大きくすると誤分類が許容されにくくなり,小さくすると許容されやすくなる[7].図15にコストパラメータCを変化させたときのイメージ図を示す.
また,複雑な決定境界を学習させる場合は,カーネル関数を用いて高次元空間で学習した決定境界を利用する.カーネル関数は様々なものがあるがここではRBFカーネルを使用する.RBFカーネルではパラメータγを設定する必要がある.γを大きくすると複雑な決定境界となり,小さくすると単純な決定境界になる[8].図16にRBFカーネルのハイパーパラメータγを変化させたときのイメージ図を示す.
本研究では,グリッドサーチ,ホールドアウト法,層化k分割交差検証を組み合わせ,特徴量ごとにサポートベクターマシン(SVM) の最適なパラメータの決定を行う.
最初の層化k分割交差検証(図17中の【2】)では,赤信号の識別器においてポジティブサンプルが1989枚,ネガティブサンプルが798枚,青信号の識別においてポジティブサンプルが310枚,ネガティブサンプルが500枚である.また,ハイパーパラメータの探索範囲はCが10^-2から10^7まで10倍間隔で10通り,γが10^-7から10^2まで10倍間隔で10通りの計100通りの組み合わせである.
最終的なモデル評価(図17中の【3】)では,赤信号の識別器においてポジティブサンプルが345枚,ネガティブサンプルが3232枚で,青信号においてポジティブサンプルが232枚,ネガティブサンプルが3345枚である.
なお,ここで使用するすべての画像は候補領域の抽出を行った際に信号機の灯火部分が候補領域として抽出できたものである.
自律走行ロボットに搭載することを目的としているため,検出においてリアルタイム性を重視している.そこで,歩行者用信号機を検出するのに実際にかかる時間を測定した.
上記2種類の実行時間を測定した.(2)では候補領域の抽出にかかる時間も含めた.また(2)では画像1枚中に複数の候補領域がある場合,すべての候補領域の判定が終了するまでにかかる実行時間を測定した.
実行時間の測定に使用したデータセットと識別器は最終的なモデル評価に使用したものと同じである.
以下に実験に用いたPCの諸元を示す.
OS | Ubuntu 18.04.5 LTS 64 ビット |
CPU | Intel Core™ i3-4170 CPU @ 3.70GHz × 4 |
GPU | Intel HD Graphics 4400 (HSW GT2) |
RAM | 15.6 GB |
グリッドサーチと層化k分割交差検証を組み合わせて求めたパラメータごとの正解率の結果を以下に示す.
赤信号の検出について5種類の特徴量を用いて検証した.
青信号の検出について5種類の特徴量を用いて検証した.
上記の交差検証をもとに算出した正解率の上位25種のハイパーパラメータで最終的なモデル評価を行った.最も正解率が高かった条件を特徴量ごとに各表にまとめた.
特徴量 | C | γ | Accuracy | Precision | Recall | FPR | Specificity | F-measure |
色相特徴 | 10~10^7 | 10^2 | 0.5608 | 0.1749 | 0.9565 | 0.4814 | 0.5185 | 0.2958 |
HOG特徴 | 10^2~10^7 | 1 | 0.8319 | 0.3632 | 0.9855 | 0.1844 | 0.8155 | 0.5308 |
LBP特徴 | 10, 10^4~10^6 | 10 | 0.9829 | 0.9152 | 0.9072 | 0.0089 | 0.9910 | 0.9112 |
HOG特徴+色相特徴 | 10^2~10^7 | 1 | 0.8753 | 0.4356 | 0.9913 | 0.1370 | 0.8629 | 0.6053 |
LBP特徴+色相特徴 | 10, 10^3~10^6 | 10 | 0.9932 | 0.9734 | 0.9565 | 0.0027 | 0.9972 | 0.9649 |
特徴量 | C | γ | Accuracy | Precision | Recall | FPR | Specificity | F-measure |
色相特徴 | 1 | 10^2 | 0.9180 | 0.4352 | 0.8836 | 0.0795 | 0.9204 | 0.5832 |
HOG特徴 | 10^2~10^7 | 1 | 0.8881 | 0.3531 | 0.8706 | 0.1106 | 0.8893 | 0.5024 |
LBP特徴 | 10~10^7 | 10 | 0.9871 | 0.8940 | 0.9094 | 0.0074 | 0.9925 | 0.9017 |
HOG特徴+色相特徴 | 10 | 1 | 0.9150 | 0.4253 | 0.8836 | 0.0828 | 0.9171 | 0.5742 |
LBP特徴+色相特徴 | 1~10^7 | 10 | 0.9955 | 0.9821 | 0.9482 | 0.0011 | 0.9988 | 0.9649 |
特徴量 | 平均実行時間 | 最大実行時間 | 最小実行時間 |
色相特徴 | 0.079 | 0.360 | 0.040 |
HOG特徴 | 0.096 | 0.265 | 0.058 |
LBP特徴 | 0.345 | 1.542 | 0.110 |
HOG特徴+色相特徴 | 0.123 | 0.372 | 0.082 |
LBP特徴+色相特徴 | 0.391 | 1.762 | 0.156 |
特徴量 | 平均実行時間 | 最大実行時間 | 最小実行時間 |
色相特徴 | 25.520 | 58.901 | 19.161 |
HOG特徴 | 25.723 | 57.057 | 18.087 |
LBP特徴 | 27.624 | 113.492 | 19.165 |
HOG特徴+色相特徴 | 26.031 | 62.686 | 18.642 |
LBP特徴+色相特徴 | 28.077 | 118.363 | 19.276 |
特徴量 | 平均実行時間 | 最大実行時間 | 最小実行時間 |
色相特徴 | 0.049 | 0.172 | 0.028 |
HOG特徴 | 0.088 | 0.244 | 0.053 |
LBP特徴 | 0.158 | 0.476 | 0.084 |
HOG特徴+色相特徴 | 0.121 | 0.463 | 0.071 |
LBP特徴+色相特徴 | 0.191 | 0.693 | 0.107 |
特徴量 | 平均実行時間 | 最大実行時間 | 最小実行時間 |
色相特徴 | 25.996 | 65.558 | 18.702 |
HOG特徴 | 26.640 | 73.068 | 18.435 |
LBP特徴 | 27.583 | 91.777 | 18.515 |
HOG特徴+色相特徴 | 27.102 | 79.976 | 18.799 |
LBP特徴+色相特徴 | 27.985 | 104.525 | 18.146 |
本研究では,画像特徴量とSVMを用いて,画像中からの歩行者用信号機の状態を検出する実験を行った.結果として,赤信号の検出ではC が10,10^3~10^6,γが10の条件でLBP 特徴+色相特徴,青信号においてはCが1~10^7,γが10の条件でLBP特徴+色相特徴を用いたものが一番正解率が良く,実行時間の面でも大きく劣らないことを示した.今後の展望として,データセットの拡充,ロボットに実装した上での実地試験などが挙げられる.
[1] つくばチャレンジ実行委員会事務局. “つくばチャレンジ2022”. 2022. https://tsukubachallenge.jp/2022/ (参照:2022-11-26)
[2] 矢嶋良祐, つくばチャレンジに向けた色情報とHOG特徴を用いた歩行者用信号認識手法の開発, 修士論文, 群馬大学大学院理工学府理工学専攻, 2021
[3] 有吉優貴, つくばチャレンジにおける経路封鎖看板の特徴量に基づいた識別, 修士論文, 群馬大学大学院理工学府理工学専攻, 2021
[4] 小枝正直・上田悦子・中村恭之, 『OpenCVによる画像処理入門. 改訂第2版』, 講談社, 2017
[5] 藤吉弘亘[ほか], 『コンピュータビジョン最先端ガイド2』, CVIMチュートリアルシリーズ, アドコム・メディア, 2010
[6] 原田達也, 『画像認識』, 機械学習プロフェッショナルシリーズ, 講談社サイエンティフィク, 2017
[7] 竹内一郎・烏山昌幸, 『サポートベクトルマシン』, 講談社, 2015
[8] 秋庭伸也・杉山阿聖・寺田学, 『見て試してわかる機械学習アルゴリズムの仕組み機械学習図鑑』, 翔泳社, 2019
[9] 毛利拓也[ほか], 『scikit-learn データ分析実装ハンドブック: 実データに合わせて最適な予測モデルを作る』, 秀和システム, 2019
[10] 江崎貴裕, 『データ分析のための数理モデル入門: 本質をとらえた分析のために』, ソシム, 2020
[11] アンドレアス・C・ミュラー・サラ・グイド, 『Pythonではじめる機械学習:scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎』, オライリー・ジャパン, 2017