太田研 公開用Wiki

はじめに

研究背景

近年,店舗や倉庫内など限定された環境下において自律走行ロボットの活躍の幅は日々幅広くなっている.一方,実際の市街地で完全な自律走行を行うには技術的な課題が多く残っており,市街地での自律走行を目的とした研究開発が盛んに行われている.その一例として,2007年から毎年茨城県つくば市内で開催されている「つくばチャレンジ」と呼ばれる技術チャレンジがある.

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

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

course.png
図1:2022年度の課題コースの地図

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

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

研究目的

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

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

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

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

signal.png
図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)の学習を行う.この学習手順は先行研究と同様である.

  1. 学習用画像を入力
    • 図3,図4に示すような画像を入力する
      Positive.png
      図3:ポジティブサンプルの例
      Negative.png
      図4:ネガティブサンプルの例
  2. 画像特徴量を算出
    • 色相特徴,HOG特徴,LBP特徴,HOG特徴+色相特徴,LBP特徴+色相特徴の5種類で算出を行う.
  3. 画像のラベルを入力
    • ポジティブ・ネガティブの2種類のラベルを入力する
  4. サポートベクターマシン(SVM)で学習
    • 2種類のハイパーパラメータを決定し入力する
  5. 学習結果の出力
    • 出力されたものが識別器になる

検出手順

以下の手順で画像中から歩行者用信号機の状態を検出する.

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

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

red01.jpg
図8:赤信号の歩行者用信号機を検出した画像例1
red02.jpg
図9:赤信号の歩行者用信号機を検出した画像例2
green01.jpg
図10:青信号の歩行者用信号機を検出した画像例1
green02.jpg
図11:青信号の歩行者用信号機を検出した画像例2

候補領域の抽出に関する各処理の説明

信号の灯火色の抽出とノイズ除去

信号の灯火色の抽出する処理においてはHSV色空間に変換し,抽出を行っている.

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

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

表1:信号の灯火色の抽出範囲
色相(Hue)彩度(Saturation)明度(Value)
赤信号0~20, 160~17970~255100~255
青信号60~10060~2550~255

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

ラベリング処理と候補領域の抽出

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

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

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

画像特徴量

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

色相特徴

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

HOG特徴

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

hog.png
図12:HOG特徴の算出の手順

LBP特徴

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

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

lbp_calc.png
図13:LBP値の算出の手順

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

lbp.png
図14:LBP特徴の算出の手順

HOG特徴+色相特徴, LBP特徴+色相特徴

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

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

サポートベクターマシン(SVM)

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

parameter_c.png
図15:コストパラメータCを変化させたイメージ

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

parameter_g.png
図16:RBFカーネルのハイパーパラメータγを変化させたイメージ

実験方法

SVMのハイパーパラメータの最適値決定と汎化性能の評価方法

本研究では,グリッドサーチ,ホールドアウト法,層化k分割交差検証を組み合わせ,特徴量ごとにサポートベクターマシン(SVM) の最適なパラメータの決定を行う.

my_cv_method.png
図17:SVMの最適なパラメータの決定と検出・汎化性能の評価方法
  1. 「訓練・テストデータ」と「評価データ」に分割
    • まず,最初にポジティブ画像とネガティブ画像のデータセットそれぞれにおいてハイパーパラメータ調整用の「訓練・テストデータ」と最終的なモデル評価用の「評価データ」に分ける.ここまでの手順が図17中の【1】に当たる部分である.
  2. 「訓練・テストデータ」を用いた層化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):正解画像(歩行者用信号機)に対し,不正解と予測したもの.
    • 上記の分類をもとに正解率は以下の式で表すことができる.
      acc.png
  3. 「評価データ」を用いた最終的なモデル評価
    • 最後に,先の交差検証をもとに算出した正解率の上位25 種のハイパーパラメータで最終的なモデル評価を行った.この最終的なモデル評価では,「訓練・テストデータ」で学習を行い,最初に分割しておいた「評価データ」でテストを行う.ここまでの手順が図17中の【3】に当たる部分である.

データセットとハイパーパラメータの探索範囲

最初の層化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枚である.

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

実行時間の測定

自律走行ロボットに搭載することを目的としているため,検出においてリアルタイム性を重視している.そこで,歩行者用信号機を検出するのに実際にかかる時間を測定した.

  1. 候補領域1つの判別に要する平均実行時間,最大実行時間,最小実行時間,
  2. 画像1枚の判別に要する平均実行時間,最大実行時間,最小実行時間

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

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

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

表2:実験に用いたPCの諸元
OSUbuntu 18.04.5 LTS 64 ビット
CPUIntel Core™ i3-4170 CPU @ 3.70GHz × 4
GPUIntel HD Graphics 4400 (HSW GT2)
RAM15.6 GB

実験結果

SVMのハイパーパラメータの最適値決定

グリッドサーチと層化k分割交差検証を組み合わせて求めたパラメータごとの正解率の結果を以下に示す.

赤信号の検出

赤信号の検出について5種類の特徴量を用いて検証した.

hh_r.png
図18:色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果
hog_r.png
図19:HOG特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果}
hlbp_r.png
図20:LBP特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果
hogh_r.png
図21:HOG特徴+色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果
hlbph_r.png
図22:LBP特徴+色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果

青信号の検出

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

hh_g.png
図23:色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果
hog_g.png
図24:HOG特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果
hlbp_g.png
図25:LBP特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果
hogh_g.png
図26:HOG特徴+色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果
hlbph_g.png
図27:LBP特徴+色相特徴で層化k分割交差検証とグリッドサーチを行った正解率の平均の結果

最終的なモデル評価

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

赤信号の検出

表3:各特徴量での最良の正解率のパラメータと各評価項目の結果(赤信号)
特徴量CγAccuracyPrecisionRecallFPRSpecificityF-measure
色相特徴10~10^710^20.56080.17490.95650.48140.51850.2958
HOG特徴10^2~10^710.83190.36320.98550.18440.81550.5308
LBP特徴10, 10^4~10^6100.98290.91520.90720.00890.99100.9112
HOG特徴+色相特徴10^2~10^710.87530.43560.99130.13700.86290.6053
LBP特徴+色相特徴10, 10^3~10^6100.99320.97340.95650.00270.99720.9649

青信号の検出

表4:各特徴量での最良の正解率のパラメータと各評価項目の結果(青信号)
特徴量CγAccuracyPrecisionRecallFPRSpecificityF-measure
色相特徴110^20.91800.43520.88360.07950.92040.5832
HOG特徴10^2~10^710.88810.35310.87060.11060.88930.5024
LBP特徴10~10^7100.98710.89400.90940.00740.99250.9017
HOG特徴+色相特徴1010.91500.42530.88360.08280.91710.5742
LBP特徴+色相特徴1~10^7100.99550.98210.94820.00110.99880.9649

実行時間

赤信号の判定

表5:赤信号の候補領域の判定に要する各実行時間[ms]
特徴量平均実行時間最大実行時間最小実行時間
色相特徴0.0790.3600.040
HOG特徴0.0960.2650.058
LBP特徴0.3451.5420.110
HOG特徴+色相特徴0.1230.3720.082
LBP特徴+色相特徴0.3911.7620.156
表6:画像1枚に対して赤信号の検出を行ったときに要する各実行時間[ms]
特徴量平均実行時間最大実行時間最小実行時間
色相特徴25.52058.90119.161
HOG特徴25.72357.05718.087
LBP特徴27.624113.49219.165
HOG特徴+色相特徴26.03162.68618.642
LBP特徴+色相特徴28.077118.36319.276

青信号の判定

表7:青信号の候補領域の判定に要する各実行時間[ms]
特徴量平均実行時間最大実行時間最小実行時間
色相特徴0.0490.1720.028
HOG特徴0.0880.2440.053
LBP特徴0.1580.4760.084
HOG特徴+色相特徴0.1210.4630.071
LBP特徴+色相特徴0.1910.6930.107
表8:画像1枚に対して青信号の検出を行ったときに要する各実行時間[ms]
特徴量平均実行時間最大実行時間最小実行時間
色相特徴25.99665.55818.702
HOG特徴26.64073.06818.435
LBP特徴27.58391.77718.515
HOG特徴+色相特徴27.10279.97618.799
LBP特徴+色相特徴27.985104.52518.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


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