140 likes | 158 Views
物体検出による視覚補助システム. T215085 若松大仁 白井研究室. 研究目的. 目が不自由な 人が安全に歩行移動を行うため の 支援 システム の 作製 検出速度に優れた tinyYOLOv3 を用いることで 歩行時 に 必要 となる 情報を取得し、歩行者に知らせる 身近になったスマートフォンアプリを媒体にすることで 誰でも簡単に使用できるようにする. 研究手順. [1] 歩行者用信号機と点字ブロックなどを学習した YOLO モデルを作成 [2] macOS/iOS で使用できる形式へと変換し、 Xcode でコンパイルを行い iPhone アプリを作成
E N D
物体検出による視覚補助システム T215085 若松大仁 白井研究室
研究目的 • 目が不自由な人が安全に歩行移動を行うための 支援システムの作製 • 検出速度に優れたtinyYOLOv3を用いることで歩行時 に必要となる情報を取得し、歩行者に知らせる • 身近になったスマートフォンアプリを媒体にすることで 誰でも簡単に使用できるようにする
研究手順 [1] 歩行者用信号機と点字ブロックなどを学習したYOLOモデルを作成 [2] macOS/iOSで使用できる形式へと変換し、Xcodeでコンパイルを行いiPhoneアプリを作成 [3] PC上で動画を再生し、その動画を入力とすることで動作確認 [4] 協力者数名にiPhoneをもって歩いてもらい、アンケートにより評価
物体検出システムYOLO • YOLO(YouOnlyLookOnce)はリアルタイムで物体検出可能なアルゴリズム • 従来の方式は、物体候補がある領域を特定(オブジェクト検出)し、 その後にそれぞれの領域に対しクラス分類を行っていた • YOLOでは一度の特徴抽出によってオブジェクト検出とクラス分類を行う https://pjreddie.com/darknet/yolo/
YOLOの仕組み • YOLOv1では、入力画像に対して 7×7個のセルに分割 (v2では13x13) • 各セルごとに2個の小領域を設定(v2では5個)、オブジェクト候補それぞれに対し位置情報を推定 • 分割したセルごとにクラス確率を計算 • この2つの予測から、オブジェクト位置とそのクラスの決定を行う。 https://arxiv.org/pdf/1506.02640.pdf
[1]YOLOモデルの作成 • YOLOモデルを作成するために歩行者用信号機と点字ブロックの画像を名古屋市周辺を歩いて約750枚ほど収集 • 収集した画像に対してアノテーション右図のように対象物をマークし、「青信号」とラベル付けする
[1] YOLOモデルの作成 • アノテーション付きの画像データセットPASCALのVOC2007と➁で作成したデータを合わせた計約5,500枚を学習用データとした • 学内GPUサーバーにおいてYOLO Keras版を用いて学習させる。得られたモデルはHDF5形式で保存 • 学習モデルに対してテストデータにて確認を行う 145枚5クラス分類で精度 86.6%
[2] iPhoneアプリ化 • 学習したモデルHDF5をCoreMLで使用できる形式である.mlmodelへと変換 • Xcodeにてプロジェクトを作成し、変換した.mlmodelをXcodeにドロップすることで自動的にSwift言語用のクラスなどを生成 • XcodeでビルドすることでiPhoneなどで使用できるアプリが作れるネットワークの状態に関わらず使用可能
アプリ化の問題発生 • tinyYOLOv3はオブジェクト検出を行う層とクラス分類を行う層の 統合を行っている。Kerasではこの層の統合にLambda層を用いている。 • Kerasの学習モデルであるHDF5はAppleが提供しているcoremltools というモジュールによって変換を行っている。現在のcoremltoolsはLambdaに対応しておらず変換をすることが不可能 • Appleアプリのプログラミング言語であるSwiftでLambda層の実装を 試みているが、時間がかかり、未完成
代替案 • Lambda層の変換問題が未解決のため、CoreMLで一般的に使われているモデルの採用を考えた 物体検出ではなく物体認識で代用 • 物体検出とは異なり、物体認識では位置情報を取得することはできない しかしクラス情報は取得可能 = 信号機や点字ブロックの認識が可能 モデルとして、一般的に用いられるVGG16を採用しファインチューニングする
VGG16 • VGG16とは、16層からなる畳み込み ニューラルネットワーク • VGG16は1000のクラスを分類することが 可能 • ファインチューニング: VGG16の重みを初期値 出力層は識別したいクラス数に変更 学習用のデータセットを与えて再学習を行う ⇒ 少ないデータと時間で学習可能
car bb person 結果 • 165枚5クラス分類で 精度は90.9% car tl_red person bb tl_blue car
今後の展望 • 音声によって使用者へ情報をアナウンスできるようにする • リアルタイムでの補助システムが目的であるため、SSDなど他の物体検出アルゴリズムでも試す • CoreMLの利点はネットワーク環境に依存しない点であるため、 地下鉄内での点字ブロックによる階段等の誘導などにも反映
以上で発表を終わります。質問、コメントをお願いします以上で発表を終わります。質問、コメントをお願いします