CodeZine(コードジン)

特集ページ一覧

交通標識の認識を目的とした赤の抽出とノイズの除去

抽出範囲をHSVダイヤグラムで確認する

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2006/03/27 14:00

目次

プログラムの使い方

 アプレットを起動すると、上方に原画像を選択するための選択ボックスが現れ、その下に、原画像(左上)、赤を抽出した画像(右上)、それを収縮処理した画像(左下)、それをさらに膨張処理した画像(右下)が表示されます。いろいろな原画像を用いて、交通標識を認識した結果を確認してください。

プログラムの実行結果

 下の図は、実行結果の一例を示します。画像選択のための選択ボックスは省略されています。左上は、交通標識に陰影のある原画像で、右上は「赤」の部分を抽出した二値画像、左下は、それを収縮(erosion)した画像、右下は収縮処理した結果をさらに膨張(dilation)した画像です。収縮により小さなノイズが除去され、膨張によって、少しやせ細った交通標識がはっきりしています。ただし、完全にはノイズが除去されていませんので、さらに形状による最終的な認識が必要になります。

図2 プログラムの実行結果の一例
図2 プログラムの実行結果の一例

まとめ

 交通標識の認識は、世界中の自動車メーカーや大学、研究所において鋭意研究中で、Intelligent Vehicle(知能を持った車)の領域として、学会発表が多数あります。これらのすべてを知ることはできませんが、公開されているウエブサイトから、一部を垣間見ることができます。

 赤の抽出とノイズの除去は、昼間の交通標識の場合には、RGB成分の比率を用いる方法が最も良好な結果が得られました。夜間には、照明のスペクトラムにバラツキが大きかったり、反射光が強すぎて彩度の低い(白っぽい)状態になったりして、十分な結果が得られませんでした。

 昼間の抽出結果のノイズを減らすには、抽出するhueの範囲を狭くするのが効果的です。しかし、夜間の交通標識の抽出は一層困難になります。夜間には、交通標識の強い反射のためにノイズが相対的に減少しますので、昼間はhueの範囲を狭く、夜間はhueの範囲を広くするなど、昼間と夜間で抽出条件を切り替える必要があります。

参考資料

 この記事は、筆者のウエブサイト『Visual c++ 6.0を用いた易しい画像処理(14)-原画像から赤色を抽出し、一旦拡張して縮小する-(ただし、現在はVisual C++ 2005 Express Edition版に改定)』を一部変更(交通標識の抽出結果の欠如を重視して、クロージング処理を行なっていたのを、今回は、ノイズ除去に重点を移してオープニング処理にしました)してJava言語に書き直し、分かりやすく加筆したものです。

 ウエブ上には多数の優れた資料があり、赤の抽出については本文中で紹介しました。二値画像の膨張(dilation)、収縮(erosion)などを含む一般的な画像処理については、下記があります。

  1. C言語による画像処理入門』 阿居院猛・長尾智晴 著、昭晃堂、2000年11月
  2. コンピュータ画像処理』 田村秀行 著、オーム社、2002年12月
  3. ディジタル画像処理の基礎と応用-基本概念から顔画像認識まで-』 酒井幸市 著、CQ出版、2003年8月


  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2008/03/16 10:37 参考資料をVisual C++ 2005 Express Edition版に訂正

バックナンバー

連載:Javaで学ぶグラフィックス処理

もっと読む

著者プロフィール

  • 石立 喬(イシダテ タカシ)

    1955年東京工大卒。同年、NECへ入社し、NEC初のコンピュータの開発に参画。磁気メモリ、半導体メモリの開発、LSI設計などを経て、1989年帝京大学理工学部教授。情報、通信、電子関係の教育を担当。2002年定年により退職し現在に至る。2000年より、Webサイト「Visual C++の勉強部屋」...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5