AI技術の進歩により、手軽に「2次元画像から深度マップを生成する」ことが可能になりました。そこで「従来の画像処理技術」のみで行ってきた自律飛行制御に「AI技術」を組み合わせた場合の可能性をシミュレーションと通じて検証していきます。

前章では、Googleが開発したAI技術「マネキンチャレンジ」を使った、深度マップの作成方法を紹介いたしました。本章では、実際に弊社が小型ドローンの屋内自律飛行のために使用した<飛行ルート認識用の画像処理プログラム>を使い、これまでの「画像処理のみ」の場合と「深度マップと組み合わせた」場合とで、どのような認識精度の違いが出るのかについて比較していきます。

グレースケール動画との比較

ドローンで撮影したカラー動画を、単純にグレースケール化した動画と深度マップ動画を比較し、違いを見てみました。

2値化を利用した対象物の抽出

深度マップでは、カメラに近い対象物ほど明るく映ります。また、単眼カメラの画像から生成した深度マップでは実際の距離を把握できない欠点がある反面、レイヤーごとの明るさのレベルが一定していました。そこで、目的の対象物が最も手前にあると仮定すれば、「最も明るい部分=対象物」と見なすことが可能となります。単純な2値化の手法を用いて、対象物のみを抽出することが可能か検証しました。

テンプレートマッチングを利用した距離の把握

単眼カメラの画像から生成した深度マップだけでは、対象までの正確な距離を出すことはできません。そこで、予め指定の距離から撮影した画像とのテンプレートマッチングと組み合わせることで、同時に距離の把握が可能かどうかを検証しました。

まとめ

かなり正確に物体の形状と深度レベルが把握できることがわかりました。今回の検証では、ドローンが撮影した画像を一旦ビデオに保存し、それを静止画に書き出した後にAIで処理を行っています。また、AIを利用するためにはGPUを搭載した専用の処理環境が必要となるため、ドローン単体でのリアルタイム処理ではありませんでした。

また、単眼カメラの画像から生成した深度マップからは正確な距離を出すことはできませんので注意が必要です。次のステップとして、「サイズと距離」の指標となるマーカーと組み合わせることで、これらの課題を解決できる手法を探っていきたいと思います。

関連記事