トップ画像引用「https://www.j-cast.com/2021/02/03404261.html?p=all 」
はじめまして、ディープラーニングラーニングを活用した車の自動運転・先進安全装備分野への転職活動中の赤見 晴(あかみ はる)と申します。以後お見知り置きください。
さて、CDLE個人ブログをアウトプットの場として、フィードバックや人脈形成、自己アピールに役立てようと存じます。
1. プロジェクト設定
道路標識「進入禁止」と「天下一品ラーメン」のロゴを区別する。
簡単な画像認識からブラッシュアップさせる。
その後、できれば動画データやLLMや生成AIを組み込んだ新しいものを作成する。
二輪および四輪大手のH社よりも高い精度を目指す。
・基本となる深層学習フレームワークの選定。
開発環境はGoogleColaboなのでTPUが使え、大規模データの扱いや産業へのデプロイが容易なのでTensorFlow+Kerasとする。
Google子会社の自動運転会社WaymoもTensorFlowを使っているので主流となる可能性がある。GoogleはAndroid Autoもありコネクティッドカー分野でも関わる。
メタ社(旧facebook)のPytorchは研究には向くが、自動運転分野には進出していない。
→車用先進安全装備の想定なので、画像分類では無く物体検出となりました。
これまでTensorFlow+Kerasだったが、高速物体検出のためPytorchとYOLOv9とする。
2. データ収集 2024/06/16 完了
「進入禁止」標識と「天下一品」ロゴの画像を収集します。画像のバリエーション(異なる角度、光条件など)も含める。
同様に似ていると言われている、太陽生命のロゴも収集する。
同様にH社の先進運転支援システムが、誤認識したファミリーレストラン大手ガストとENEOSも収集する。
☑WEBスクレイピングSeleniumでGoogle画像検索結果を取得する。完了
icrawlerというフレームワークを使った。
これはBeautifulSoup4とRequestが使われている。
画像検索エンジンはBing。こちらの方が安定する。
以下、自分で様々な角度から撮影した写真も含まれる。
画像収集→リサイズ→アノテーションツールVOTTでのラベリングを行う。
ガスト 235枚 (内、自分で昼夜撮影80枚)
ENEOS 158枚 (内、自分で昼夜撮影49枚)
進入禁止 246枚 (内、自分で昼夜撮影109枚)
太陽生命 185枚 (内、自分で昼夜撮影26枚)
天下一品 276枚 (内、自分で昼夜撮影105枚)
合計1100枚 もう画像は増やさない。
先生アドバイス
☑「もう一回、天気、雨などの悪条件、夕方と夜間に撮影した方が良いかも。」
☑「Google画像検索結果をWEBスクレイピングで拾う。」
☑「合計300個あると良いかも。」
☑「ひとつ100欲しい。最初は100で作る。」
☑「ガスト、ENEOSのロゴもいれる。」
☑「Googleマップをスクショする。」
3.「リサイズ」2024/06/19完了 学習する入力サイズに合わせてリサイズする。
Pythonでは下記のライブラリを使用してリサイズを行うことが多い。
PillowとOpenCVはどちらかに統一して使用する方が無難。
OpenCV
https://docs.opencv.org/4.x/
※デフォルトはBGRで読み込まれるので注意が必要。
→Pillowが適している
プロジェクトが主にシンプルな画像リサイズやフォーマット変換を必要としている場合。
コードの簡潔さと可読性を重視する場合。
EXIFデータを活用して画像の向きを修正する必要がある場合。
サイズはYOLOシリーズの場合、画像サイズは基本的に640x640pxである。
「パディング」
例えばアスペクト比を16:9のままに維持して正方形の形にリサイズを行いたい場合などがあると思う。
その場合、アスペクト比を維持したままリサイズを行うと正方形にならないので、パディングする必要がある。
縦横をルールなく撮影した場合はパディングをする場所にも注意が必要。
(縦長の場合は右側にパディング。横長の場合は下側にパディングなど)
OpenCV http://labs.eecs.tottori-u.ac.jp/sd/Member/oyamada/OpenCV/html/py_tutorials/py_core/py_basic_ops/py_basic_ops.html
4.データのラベリング: 画像に正しいラベル(カテゴリ)を付ける。
Microsoft社製のVoTTというアノテーションツールにする。出力できるアノテーションファイル形式が複数ある。物体検出分野でよく使われる。
加えて画像と動画に対応してトラッキング機能を有する。
合計1100枚2024-06-24完了。
(続きます)