本記事では、HybridNetsと呼ばれる機械学習手法を用いて、交通物体検出、運転可能エリアのセグメンテーション、車線検出する方法をご紹介します。
HybridNets
概要
HybridNetsは、交通物体検出、運転可能エリアのセグメンテーション、車線検出などのマルチタスクを同時に実行するEnd
to Endの知覚ネットワークです。
HybridNetsは、重み付けされた双方向機能ネットワークに基づく効率的なセグメンテーションヘッドとボックス/クラス予測ネットワークから構成され、アンカーの自動的なカスタマイズや、効率的なトレーニング戦略により、運転可能エリアのセグメンテーション、車線検出などのマルチタスクをEnd
to Endで実現しながら、従来技術よりも優れた精度を実現しています。
|
出典: HybridNets: End-to-End Perception Network |
詳細はこちらの論文をご参照ください。
本記事では、上記手法を用いて、任意の運転動画から交通物体検出、運転可能エリアのセグメンテーション、車線検出する方法をご紹介します。
デモ(Colaboratory)
それでは、実際に動かしながら交通物体検出などを行っていきます。
ソースコードは本記事にも記載していますが、下記のGitHubでも取得可能です。
GitHub - Colaboratory demo
また、下記から直接Google Colaboratoryで開くこともできます。
なお、このデモはPythonで実装しています。
Pythonの実装に不安がある方、Pythonを使った機械学習について詳しく勉強したい方は、以下の書籍やオンライン講座などがおすすめです。
おすすめの書籍
[初心者向け] Pythonで機械学習を始めるまでに読んだおすすめ書籍一覧
本記事では、現役機械学習エンジニアとして働く筆者が実際に読んだ書籍の中でおすすめの書籍をレベル別に紹介しています。
おすすめのオンライン講座
[初心者向け] 機械学習がゼロから分かるおすすめオンライン講座
本記事では、機械学習エンジニアとして働く筆者が、AI・機械学習をまったく知らない方でも取り組みやすいおすすめのオンライン講座をご紹介しています。
環境セットアップ
それではセットアップしていきます。 Colaboratoryを開いたら下記を設定しGPUを使用するようにしてください。
はじめに、論文発表元のGitHubからソースコードを取得します。
最後に、ライブラリをインストールします。
以上で、環境セットアップは完了です。
学習済みモデルのセットアップ
続いて論文発表元から提供されている学習済みモデルをセットアップしていきます。
以上で学習済みモデルのセットアップは完了です。
検出・セグメンテーション
それでは、交通物体検出、運転可能エリアのセグメンテーション、車線検出していきます。
まず、モデルに入力する動画をGoogle
Colaboratoryにアップロードします。本記事では、こちらのPixabay様の動画を使用させていただきます。
また処理時間短縮のためMoviePyを使用して動画の1秒から7秒までを切り出して使用します。適宜ご利用の動画に合わせてご変更ください。
セットアップした動画を入力して予測を行います。
出力結果をColaboratory上に表示します。
出力結果は以下の通りです。
モデル一つで走行する車や車線が検出され、走行する道路がセグメンテーションされていることが確認できます。
まとめ
本記事では、HybridNetsを用いた交通物体検出、運転可能エリアのセグメンテーション、車線検出を行いました。
これを機に機械学習に興味を持つ方が一人でもいらっしゃいましたら幸いです。
また本記事では、機械学習を動かすことにフォーカスしてご紹介しました。
もう少し学術的に体系立てて学びたいという方には以下の書籍などがお勧めです。ぜひご一読下さい。
また動かせるだけから理解して応用できるエンジニアの足掛かりに下記のUdemyなどもお勧めです。
0 件のコメント :
コメントを投稿