#author("2023-03-03T02:17:01+09:00","default:ail-wiki","ail-wiki")
#author("2023-03-03T02:18:00+09:00","default:ail-wiki","ail-wiki")
[[太田研 公開用Wiki]]
#contents
*はじめに [#p6a0a28d]
**研究背景 [#lf2298d3]
近年,店舗や倉庫内など限定された環境下において自律走行ロボットの活躍の幅は日々幅広くなっている.一方,実際の市街地で完全な自律走行を行うには技術的な課題が多く残っており,市街地での自律走行を目的とした研究開発が盛んに行われている.その一例として,2007年から毎年茨城県つくば市内で開催されている「つくばチャレンジ」と呼ばれる技術チャレンジがある.

つくばチャレンジとは,人々が実際に生活している市街地や公園,駅,などの実環境下における公開実験会である.このつくばチャレンジは実環境下における自律走行技術の進歩を目的としており,大学の研究室や企業など様々な組織の研究者が参加している.また,参加チームそれぞれが開発及び研究を行っており,参加者同士が互いに知識や技術,経験を共有することによって全体の自律走行技術の進歩を目的としている.   

以下からはつくばチャレンジ2022のコースや課題内容をもとに本研究の背景を説明する.

#ref(course.png,center,20%)
CENTER:図1:2022年度の課題コースの地図

つくばチャレンジでは必須課題と選択課題がある.必須課題は参加する全チームが取り組む課題であり,図1に示された課題ルートの約2kmを自律走行するという課題である.選択課題では次の4つの課題が課された[1].

-事前計測なしエリア
--本走行で初めて訪れるエリア(つくば市役所庁舎内)を自律走行する.事前にロボットを走行させたり,センサ等を用いて環境を計測することはできない.
-信号認識横断
--信号あり横断歩道において,歩行者用信号機と交差点内の安全を認識し,自律的に走行開始して横断する.
-チェックポイント通過+経路封鎖迂回
--公園内で,複数のチェックポイントをすべて通過し,かつ通りがかった経路封鎖看板(事前通知なし)を認識して迂回する.
-探索対象発見
--公園内の探索エリアで,探索対象の複数のマネキン人形をすべて発見する.

この中でも実環境下での自律走行において,歩行者用信号機の状態の認識は安全面からも重要な要素であると考え,本研究では「信号認識横断」に着目した.

**研究目的 [#j3878d88]
自律走行ロボットで「信号認識横断」のためのソフトウェアを動作させるにあたり,いくつかの留意点がある.まず,自律走行ロボットはバッテリーで駆動するため搭載できる計算資源には限りがあり,限られた計算資源を自律走行に必要な他のソフトウェアと分け合う必要もある.また,信号機の認識は移動中に行うためリアルタイム性も重視しなければならない.

そこで本研究では画像特徴量とサポートベクターマシン(SVM)の組み合わせにより,高精度かつ軽量でリアルタイム性の優れた検出手法の開発を目指した.また,つくばチャレンジでの性能向上,将来的にはつくばチャレンジの環境下以外の歩行者用信号機でも検出を行うことができる性能を目指し,本研究では検出性能のみでなく汎化性能も重視した.

本研究では,複数の画像特徴量や特徴量同士を組み合わせたものなどでの性能をそれぞれ比較した.また,サポートベクターマシン(SVM)はいくつかのハイパーパラメータを設定する必要があるが検出性能と汎化性能に対して最適な値をグリッドサーチ,ホールドアウト法,層化k分割交差検証を組み合わせて求めた.

なお,本研究における検出対象は,図2に示すような白熱電球型の歩行者用信号機に限定する.

#ref(signal.png,center,20%)
CENTER:図2:検出対象の歩行者用信号機の一例

*歩行者用信号機の検出手法 [#t47cb979]

**先行研究について [#f47d8704]
先行研究[2]では,画像中から歩行者用信号機の状態を検出するにあたり,HOG特徴量とサポートベクターマシン(SVM)を用いた手法を提案している.この手法では誤検出率が1\%未満であり,GPUを搭載できないようなロボットにおいても有効な手法であると述べている.

また,先行研究[3]では,屋外の看板検出においてHOG特徴やLBP特徴を用いている.

本研究ではこれらの先行研究をもとに,色相特徴,HOG特徴,LBP特徴の3種類を用いて歩行者用信号機の検出を行うこととした.さらに,HOG特徴やLBP特徴は画像中の色情報は使用されないため,信号機の特徴的な色情報が活用されない.そこで,本研究では先に述べた3種類に加え,HOG特徴と色相特徴を組み合わせた特徴量,LBP特徴と色相特徴を組み合わせた特徴量の計5種類で性能の比較を行った.

なお以下からは,HOG特徴と色相特徴を組み合わせた特徴量を「HOG特徴+色相特徴」,LBP特徴と色相特徴を組み合わせた特徴量を「LBP特徴+色相特徴」と呼称する.

また,先行研究や本研究で用いているサポートベクターマシン(SVM)は2つのハイパーパラメータを設定する必要がある. そこで,それぞれの特徴量ごとに検出性能と汎化性能に対して最適な値をグリッドサーチ,ホールドアウト法,層化k分割交差検証を組み合わせて求めた.


**検出手法の概要 [#dbeba253]
***学習手順 [#o997f723]
以下の手順でサポートベクターマシン(SVM)の学習を行う.この学習手順は先行研究と同様である.
+学習用画像を入力
--図3,図4に示すような画像を入力する
#ref(Positive.png,center,20%)
CENTER:図3:ポジティブサンプルの例 &br;
CENTER:図3:ポジティブサンプルの例
#ref(Negative.png,center,20%)
CENTER:図4:ネガティブサンプルの例
+画像特徴量を算出
--色相特徴,HOG特徴,LBP特徴,HOG特徴+色相特徴,LBP特徴+色相特徴の5種類で算出を行う.
+画像のラベルを入力
--ポジティブ・ネガティブの2種類のラベルを入力する
+サポートベクターマシン(SVM)で学習
-- 2種類のハイパーパラメータを決定し入力する
+学習結果の出力
--出力されたものが識別器になる

***検出手順 [#mc8cfb97]
以下の手順で画像中から歩行者用信号機の状態を検出する.
+画像を入力
--図5に示すような画像を入力する
#ref(input_image.jpg,center,150%)
CENTER:図5:入力する画像の一例
+信号の灯火色(赤または緑)を抽出
--図5に対して,信号機の緑色付近のみの色を抽出したものが図6である.
#ref(c_e_image.jpg,center,150%)
CENTER:図6:図5に色抽出を行った結果
+ノイズ除去
--色抽出を行った画像に対し,メディアンフィルタや膨張収縮処理を適用することでノイズを除去する.
+ラベリング処理
--ラベリング処理により,候補領域を絞り込む.図6に対し,ノイズ除去とラベリング処理を行い,候補領域として判定されているものが図7中の白い矩形で囲まれている部分である.
#ref(l_image.jpg,center,150%)
CENTER:図7:図6にノイズ除去とラベリング処理を行った結果
+候補領域の画像特徴量を算出
--ラベリング処理によって絞り込んだ候補領域にて色相特徴,HOG特徴,LBP特徴,HOG特徴+色相特徴,LBP特徴+色相特徴の5種類の特徴量を算出する.
+識別結果の出力
--算出した特徴量を識別器に入力することで識別結果が出力される.

実際に歩行者用信号機を検出すると,画像中の該当部分を青い矩形で囲む処理を行っている.以下に具体例の画像を示す.


#ref(red01.jpg,center,40%)
CENTER:図8:赤信号の歩行者用信号機を検出した画像例1

#ref(red02.jpg,center,50%)
CENTER:図9:赤信号の歩行者用信号機を検出した画像例2

#ref(green01.jpg,center,40%)
CENTER:図10:青信号の歩行者用信号機を検出した画像例1

#ref(green02.jpg,center,50%)
CENTER:図11:青信号の歩行者用信号機を検出した画像例2


**候補領域の抽出に関する各処理の説明 [#wdcb2f03]
***信号の灯火色の抽出とノイズ除去 [#i898a8cd]
信号の灯火色の抽出する処理においてはHSV色空間に変換し,抽出を行っている.

HSV色空間とは,色彩の情報を色相(Hue),彩度(Saturation),明度(Value)によって表現したものである.HSV色空間に変換することにより,いくつかの利点がある.まず,明るさの変化を受けにくくなる.また,特定の色の抽出や,色合いの変更などの画像処理が容易になる.これは,カラー画像の場合,画像内の明度の情報は比較的変化し易いが,色相や彩度の情報は比較的安定する.そのため,HSV色空間に変換後,信号の灯火色の抽出を行う[4].

本研究では以下のしきい値で信号の灯火色を抽出した.なおOpenCVにおいては,色相(Hue)は0~179,彩度(Saturation)と明度(Value)は0~255の範囲で指定を行う.

CENTER:表1:信号の灯火色の抽出範囲
|      | 色相(Hue)	| 彩度(Saturation)| 明度(Value)|h
|赤信号| 0~20, 160~179| 70~255	  | 100~255   |
|青信号| 60~100 	| 60~255         | 0~255     |


上記の条件で抽出を行った後に,メディアンフィルタを画像全体に適用し,ノイズの除去を行う.また,領域の欠損部分を埋める膨張収縮処理も行う.

***ラベリング処理と候補領域の抽出 [#g3718cf0]
ラベリング処理とは,複数のブロブが画像内に存在する場合に,各ブロブに一意の識別子(番号)をつけて識別する処理である.この処理により,それぞれのブロブ(ここでは候補領域になるもの)を個別に抽出して扱うことができる[4].

信号の灯火色(赤または緑)を抽出した後の画像に対して,このラベリング処理を行っていく.処理後に,ラベリング領域のサイズの確認を行う.

歩行者用信号機は基本的に道路を挟んだ場所に設置されているため,画像中に極端に大きく写ることはない.そのため,ラベリング領域のサイズの確認を行い,極端に大きいものや極端に小さいものを排除することで,検出にかかる時間を削減できる.本研究では,ラベリング領域の縦幅・横幅がともに5~40ピクセルの領域のみを候補領域として扱った.

**画像特徴量 [#d95b7615]
画像特徴量とは,画素に含まれる様々な数値を特定のアルゴリズムを用いて計算を行い,画像の特徴を数値として表現したものである.ここでは色相特徴,HOG特徴,LBP特徴,HOG 特徴+色相特徴,LBP特徴+色相特徴の5種類の特徴量について説明する.

***色相特徴 [#jcc0ffda]
色相値の出現頻度をヒストグラム化した特徴量である.

***HOG特徴 [#q7938304]
1つの局所領域内におけるエッジ方向ごとのエッジ強度に注目した特徴量である[5].本研究では,図12のように画像を4つの局所領域に分割する.その後,局所領域内でのエッジ方向のヒストグラムを作成し,4つのヒストグラムを結合したものを特徴量として扱う.

#ref(hog.png,center,25%)
CENTER:図12:HOG特徴の算出の手順

***LBP特徴 [#b4b903b0]
中心画素とその周囲の画素との輝度の差を比較し,相対値をヒストグラム化した特徴量である.まず,LBP(Local Binary Pattern)では,中心画素とその周辺画素との輝度の差を計算し,その符号によって0,1の2値パターンを割り当てる[6].

図13をもとに具体的に説明する.まず中心画素の輝度値を95としたときにその周囲の画素の輝度値が95より大きい場合は1,小さい場合は0とする.これを2進数の位として扱う.左上を最下位ビットとし反時計周りに1周していった値がLBP値となる.図13の例だと,LBP値は01000011となり,16進数で43, 10進数で67となる.

#ref(lbp_calc.png,center,25%)
CENTER:図13:LBP値の算出の手順

本研究では,図14のように画像を4つの局所領域に分割し,局所領域内でLBP値の計算を行う.その後,計算したLBP値をもとにヒストグラムを作成し,4つのヒストグラムを結合したものを特徴量として扱う.

#ref(lbp.png,center,25%)
CENTER:図14:LBP特徴の算出の手順

***HOG特徴+色相特徴, LBP特徴+色相特徴 [#h55a1fb5]
HOG特徴, LBP特徴それぞれと色相特徴のヒストグラムを結合したものである.HOG特徴とLBP特徴はともに画像中の色情報を使用しない.つまり,候補領域の判定を行う際には信号機の特徴的な色は全く活用されない.

そこで,色相特徴と組み合わせることにより,HOG特徴やLBP特徴でも信号機の特徴的な色を判別に使用できるようになり,それぞれの単体よりも検出性能が向上が期待できると考え,採用した.

**サポートベクターマシン(SVM) [#xd4ae75c]

サポートベクターマシン(SVM)とは2クラス分類問題の代表的手法であり,未知データに対して高い予測精度を持つ識別器が構築できることで知られている.
マージン最大化という基準を用いて,データからできるだけ離れた決定境界を学習する.本研究で用いているSVMでは,誤分類の許容度合いをコストパラメータCとして設定する必要がある.Cを大きくすると誤分類が許容されにくくなり,小さくすると許容されやすくなる[7].図15にコストパラメータCを変化させたときのイメージ図を示す.

#ref(parameter_c.png,center,25%)
CENTER:図15:コストパラメータCを変化させたイメージ

また,複雑な決定境界を学習させる場合は,カーネル関数を用いて高次元空間で学習した決定境界を利用する.カーネル関数は様々なものがあるがここではRBFカーネルを使用する.RBFカーネルではパラメータγを設定する必要がある.γを大きくすると複雑な決定境界となり,小さくすると単純な決定境界になる[8].図16にRBFカーネルのハイパーパラメータγを変化させたときのイメージ図を示す.

#ref(parameter_g.png,center,25%)
CENTER:図16:RBFカーネルのハイパーパラメータγを変化させたイメージ

*実験方法 [#n96f89d3]
**SVMのハイパーパラメータの最適値決定と汎化性能の評価方法 [#d304e9a7]
本研究では,グリッドサーチ,ホールドアウト法,層化k分割交差検証を組み合わせ,特徴量ごとにサポートベクターマシン(SVM) の最適なパラメータの決定を行う.

#ref(my_cv_method.png,center,25%)
CENTER:図17:SVMの最適なパラメータの決定と検出・汎化性能の評価方法

+「訓練・テストデータ」と「評価データ」に分割
--まず,最初にポジティブ画像とネガティブ画像のデータセットそれぞれにおいてハイパーパラメータ調整用の「訓練・テストデータ」と最終的なモデル評価用の「評価データ」に分ける.ここまでの手順が図17中の【1】に当たる部分である.
+「訓練・テストデータ」を用いた層化k 分割交差検証
--その後,「訓練・テストデータ」を用いて分割数10(k=10)で層化k分割交差検証を行う.グリッドサーチを用いて100 通りのハイパーパラメータでこれを行う.ここまでの手順が図17中の【2】に当たる部分である.
--層化k分割交差検証では分割数分の結果が出力される.本研究では分割数10で検証を行ったため,10個の結果が出力される.そこで,この10 個の正解率(Accuracy)の平均を取ったものを性能評価の指標として用いる.正解率(Accuracy)とは出力した結果がどの程度正解していたのかを表す指標である[9].交差検証時に出力された予測結果を以下の4種類に分類する.
---TP(True Positive):正解画像(歩行者用信号機)に対し,正解と予測したもの.
---TN(True Negative):不正解画像(歩行者用信号機以外)に対し,不正解と予測したもの.
---FP(False Positive):不正解画像(歩行者用信号機以外)に対し,正解と予測したもの.
---FN(False Negative):正解画像(歩行者用信号機)に対し,不正解と予測したもの.
--上記の分類をもとに正解率は以下の式で表すことができる.
#ref(acc.png,center,60%)
+「評価データ」を用いた最終的なモデル評価
--最後に,先の交差検証をもとに算出した正解率の上位25 種のハイパーパラメータで最終的なモデル評価を行った.この最終的なモデル評価では,「訓練・テストデータ」で学習を行い,最初に分割しておいた「評価データ」でテストを行う.ここまでの手順が図17中の【3】に当たる部分である.
--精度(Precision)・再現率(Recall)・偽陽性率(FPR, False Positive Rate)・特異度(Specificity)・F値(F-measure)の説明や算出方法は論文に記載しているためここでは省略する.

**データセットとハイパーパラメータの探索範囲 [#p2ab38a1]
最初の層化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枚である.

なお,ここで使用するすべての画像は候補領域の抽出を行った際に信号機の灯火部分が候補領域として抽出できたものである.

**実行時間の測定 [#fa1ec3f4]
自律走行ロボットに搭載することを目的としているため,検出においてリアルタイム性を重視している.そこで,歩行者用信号機を検出するのに実際にかかる時間を測定した.
+候補領域1つの判別に要する平均実行時間,最大実行時間,最小実行時間,
+画像1枚の判別に要する平均実行時間,最大実行時間,最小実行時間

上記2種類の実行時間を測定した.(2)では候補領域の抽出にかかる時間も含めた.また(2)では画像1枚中に複数の候補領域がある場合,すべての候補領域の判定が終了するまでにかかる実行時間を測定した.

実行時間の測定に使用したデータセットと識別器は最終的なモデル評価に使用したものと同じである.

以下に実験に用いたPCの諸元を示す.

CENTER:表2:実験に用いた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|

*実験結果 [#s10e182e]
**SVMのハイパーパラメータの最適値決定 [#f05684d1]
グリッドサーチと層化k分割交差検証を組み合わせて求めたパラメータごとの正解率の結果を以下に示す.
***赤信号の検出 [#xe140953]
赤信号の検出について5種類の特徴量を用いて検証した.

-色相特徴
--色相特徴で検証を行った結果,Cが1,γが10^2のときに最も良い正解率となり,94.45%となった.図18は各パラメータでの正解率のヒートマップである.このヒートマップ内の白い丸は,最も良い正解率になったパラメータを示している.

#ref(hh_r.png,center,25%)
CENTER:図18:色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果

-HOG特徴
--HOG特徴で検証を行った結果,Cが10^2~10^7,γが1の6種類のパラメータのときに最も良い正解率となり,98.34%となった.図19は各パラメータでの正解率のヒートマップである.

#ref(hog_r.png,center,25%)
CENTER:図19:HOG特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果}

-LBP特徴
--LBP特徴で検証を行った結果,Cが10^5,γが10^-6のときに最も良い正解率となり,98.05%となった.図20は各パラメータでの正解率のヒートマップである.

#ref(hlbp_r.png,center,25%)
CENTER:図20:LBP特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果

-HOG特徴+色相特徴
--HOG特徴と色相特徴を組み合わせた特徴量で検証を行った結果,Cが1,γが1のときに最も良い正解率となり,98.95%となった.図21は各パラメータでの正解率のヒートマップである.

#ref(hogh_r.png,center,25%)
CENTER:図21:HOG特徴+色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果

-LBP特徴+色相特徴}
--LBP特徴と色相特徴を組み合わせた特徴量で検証を行った結果,Cが0.1,γが10のときに最も良い正解率となり,98.85%となった.図22は各パラメータでの正解率のヒートマップである.

#ref(hlbph_r.png,center,25%)
CENTER:図22:LBP特徴+色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果

***青信号の検出 [#vb30d75c]
青信号の検出について5種類の特徴量を用いて検証した.

-色相特徴
--色相特徴で検証を行った結果,Cが1,γが10のときに最も良い正解率となり,92.47%となった.図23は各パラメータでの正解率のヒートマップである.このヒートマップ内の白い丸は,最も良い正解率になったパラメータを示している.

#ref(hh_g.png,center,25%)
CENTER:図23:色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果


-HOG特徴
--HOG特徴で検証を行った結果,Cが1,γが1のときに最も良い正解率となり,97.40%となった.図24は各パラメータでの正解率のヒートマップである.

#ref(hog_g.png,center,25%)
CENTER:図24:HOG特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果


-LBP特徴
--LBP特徴で検証を行った結果,Cが1,γが1のときに最も良い正解率となり,96.67%となった.図25は各パラメータでの正解率のヒートマップである.

#ref(hlbp_g.png,center,25%)
CENTER:図25:LBP特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果

-HOG特徴+色相特徴
--HOG特徴と色相特徴を組み合わせた特徴量で検証を行った結果,Cが1,γが1のときに最も良い正解率となり,97.90%となった.図26は各パラメータでの正解率のヒートマップである.

#ref(hogh_g.png,center,25%)
CENTER:図26:HOG特徴+色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果


-LBP特徴+色相特徴
--LBP特徴と色相特徴を組み合わせた特徴量で検証を行った結果,Cが1,γが10のときに最も良い正解率となり,98.64%となった.図27は各パラメータでの正解率のヒートマップである.

#ref(hlbph_g.png,center,25%)
CENTER:図27:LBP特徴+色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果

**最終的なモデル評価 [#m0f58ac5]
上記の交差検証をもとに算出した正解率の上位25種のハイパーパラメータで最終的なモデル評価を行った.最も正解率が高かった条件を特徴量ごとに各表にまとめた.

***赤信号の検出 [#s4a57480]

CENTER:表3:各特徴量での最良の正解率のパラメータと各評価項目の結果(赤信号)
|特徴量 |C | γ | Accuracy | Precision | Recall | FPR | Specificity | F-measure  |h
|色相特徴   		| 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 |

***青信号の検出 [#y54e0cc6]

CENTER:表4:各特徴量での最良の正解率のパラメータと各評価項目の結果(青信号)
|特徴量 		|C 			| γ 	| Accuracy | Precision | Recall | FPR | Specificity | F-measure  |h
|色相特徴		| 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 |

**実行時間 [#r46f426a]
***赤信号の判定 [#xb8e978c]
-候補領域1つの判定に要する実行時間
--候補領域1つの判別に要する平均実行時間,最大実行時間,最小実行時間をそれぞれ特徴量のごとに求めた.赤信号の判定においては以下のような実行時間となった.なお,この測定では886650個の候補領域を判定した.

CENTER:表5:赤信号の候補領域の判定に要する各実行時間[ms]
|特徴量	        	|平均実行時間	|最大実行時間	|最小実行時間 |h
|色相特徴		| 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	|

-画像1枚の判別に要する実行時間
--画像1枚の判別に要する平均実行時間,最大実行時間,最小実行時間をそれぞれの特徴量ごとに求めた.赤信号の判定においては以下のような実行時間となった.なお,この測定では89425枚の画像を判定した.

CENTER:表6:画像1枚に対して赤信号の検出を行ったときに要する各実行時間[ms]
|特徴量	        	|平均実行時間	|最大実行時間	|最小実行時間 |h
|色相特徴	        | 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   |

***青信号の判定 [#v6ee80d5]
-候補領域1つの判定に要する実行時間
--候補領域1つの判別に要する平均実行時間,最大実行時間,最小実行時間をそれぞれの特徴量ごとに求めた.青信号の判定においては以下のような実行時間となった.なお,この測定では1605025個の候補領域を判定した.

CENTER:表7:青信号の候補領域の判定に要する各実行時間[ms]		 
|特徴量		        |平均実行時間|最大実行時間|最小実行時間 |h
|色相特徴		| 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   |


-画像1枚の判別に要する実行時間
--画像1枚の判別に要する平均実行時間,最大実行時間,最小実行時間をそれぞれの特徴量ごとに求めた.青信号の判定においては以下のような実行時間となった.なお,この測定では89425枚の画像を判定した.

CENTER:表8:画像1枚に対して青信号の検出を行ったときに要する各実行時間[ms]
|特徴量		        |平均実行時間   |最大実行時間   |最小実行時間 |h
|色相特徴		| 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   |

*考察 [#l1d1784d]
**最終的なモデル評価に基づいた考察 [#eb2931c5]
***赤信号の検出 [#w7f66218]
-最も良い結果の特徴量について
--第一に,最も良い結果が出力された特徴量について述べる.表3より,赤信号の検出においてはLBP特徴と色相特徴を組み合わせたものが正解率,F値ともに一番良い結果となった.

-ハイパーパラメータについて
--第二に,最適なハイパーパラメータについて述べる.表3に注目すると,どの特徴量においてもCでは幅があるが,γについては1つと決まっている.このことから,画像特徴量とサポートベクターマシン(SVM)を用いた赤信号の検出においては,RBFカーネルのパラメータであるγの値が比較的重要であると考える.

-色相特徴との組み合わせについて
--第三に,色相特徴と組み合わせによる性能の向上について述べる.色相特徴と組み合わせたものはHOG特徴,LBP特徴単体での検出よりも正解率,F値ともに向上した.特にHOG特徴においては色相特徴と組み合わせることで偽陽性率を5%近く低減,特異度を5%近く向上することができた.これらのことから,輝度情報しか用いられない特徴量と色相特徴を組み合わせることは,赤信号の検出性能の向上に有用であると考える.

-各特徴量での検出における実行時間について
--第四に,表5と表6をもとに実行時間について述べる.まず,候補領域1つの判定に要する平均実行時間に注目する.色相特徴と組み合わせたものを除くとLBP特徴が最も遅い結果であった.最も速い色相特徴と比較すると約4.37倍の時間を要していた.また,HOG特徴,LBP特徴ともに色相特徴と組み合わせたことにより,計算量が増加し,実行時間が増加した.
--次に,画像1枚の判別に要する平均実行時間に注目する.色相特徴と組み合わせたものを除くとLBP特徴が最も遅い結果であったが,最も早い色相特徴と比較しても約1.08倍遅い程度であり,先に述べた候補領域1つの判定時より平均実行時間の差が小さくなった.また,最も良い結果が出力されたLBP 特徴と色相特徴を組み合わせた特徴量についても色相特徴の約1.10倍の平均実行時間であった.そのため,LBP特徴と色相特徴を組み合わせた特徴量での検出は,リアルタイム性と性能を兼ね備えたものと考えられる.
--これらのことから,赤信号の検出においては,LBP特徴と色相特徴を組み合わせた特徴量,Cが10,10^3~10^6,γが10のパラメータを用いることが最適と考えられる.

***青信号の検出 [#l1bd95dd]
-最も良い結果の特徴量について
--第一に,最も良い結果が出力された特徴量について述べる.表4より,青信号の検出においては,赤信号と同様に,LBP特徴と色相特徴を組み合わせたものが正解率,F値ともに一番良い結果となった.

-ハイパーパラメータについて
--第二に,最適なハイパーパラメータについて述べる.表4に注目すると,いくつかの特徴量においてCには幅があるが,γについては1つと決まっている.このことから,画像特徴量とサポートベクターマシン(SVM)を用いた青信号の検出においても,RBFカーネルのパラメータであるγの値が比較的重要であると考える.

-色相特徴との組み合わせについて
--第三に,色相特徴と組み合わせによる性能の向上について述べる.色相特徴と組み合わせたものはHOG特徴,LBP特徴単体での検出よりも正解率,F値ともに向上した.特にHOG 特徴においては色相特徴と組み合わせることで偽陽性率を3%近く低減,特異度を3%近く向上することができた.これらのことから,赤信号ほどではないが,青信号の検出においても,輝度情報しか用いられない特徴量と色相特徴を組み合わせることは,性能の向上に有用であると考える.

-各特徴量での検出における実行時間について
--第四に,表7と表8をもとに実行時間について述べる.まず,候補領域1つの判定に要する平均実行時間に注目する.色相特徴と組み合わせたものを除くと,赤信号の検出時と同様に,LBP特徴が最も遅い結果であった.最も速い色相特徴と比較すると約3.22倍の時間を要していた.また,HOG特徴,LBP特徴ともに色相特徴と組み合わせたことにより,計算量が増加し,実行時間が増加した.
--次に,画像1枚の判別に要する平均実行時間に注目する.色相特徴と組み合わせたものを除くとLBP特徴が最も遅い結果であったが,最も早い色相特徴と比較すると約1.06倍遅い程度であり,赤信号の検出時と同様に,先に述べた候補領域1つの判定時より平均実行時間の差が小さくなった.また,最も良い結果が出力されたLBP特徴と色相特徴を組み合わせた特徴量についても色相特徴の約1.08倍の平均実行時間であった.そのため,LBP特徴と色相特徴を組み合わせた特徴量での検出は,リアルタイム性と性能を兼ね備えたものと考えられる.
--これらのことから,青信号の検出においては,LBP特徴と色相特徴を組み合わせた特徴量,Cが1~10^7,γが10のパラメータを用いることが最適と考えられる.

*まとめ [#qd3ad1d0]
本研究では,画像特徴量とSVMを用いて,画像中からの歩行者用信号機の状態を検出する実験を行った.結果として,赤信号の検出ではC が10,10^3~10^6,γが10の条件でLBP 特徴+色相特徴,青信号においてはCが1~10^7,γが10の条件でLBP特徴+色相特徴を用いたものが一番正解率が良く,実行時間の面でも大きく劣らないことを示した.今後の展望として,データセットの拡充,ロボットに実装した上での実地試験などが挙げられる.

*参考文献 [#c8319ad9]
[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

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