オープンイノベーション【オープンイノベーション】vol.24:360写真AI処理工程の改善事例を紹介します

【オープンイノベーション】vol.24:360写真AI処理工程の改善事例を紹介します

今回のオープンイノベーション記事は、当社内で技術部門メンバーが定期的に実施している"テクニカルレビュー"の活動から、てんかく忍者のデータ処理方法の改善事例をご紹介します。

内容は、「高精細360写真から物体検出をするデータ加工業務の改善手法として工程※1の見直しとPythonによるアプリケーション統合・自動化」です。

360画像をCubeMapに変換して、汎用的な物体検出AIを活用可能にする手法は、

 "情報処理装置及び方法(特許第6704134号)"を活用した【物体検出】vol.8 :YOLOv3で360パノラマの"全方位物体検出"を実現!(特許第6704134号)で既に報告している内容なので、こちらをご参考にしてください。

当社内で良く使われているものの、説明が必要な項目は、※で補足を入れてあります。

※1 工程:モノの流れを表します。工程には、通常複数の作業が存在しています。

 

 

今回のテーマを通じて、
  • 処理をまとめることで、工程を簡略化できました。
  • 処理待ち(停滞)を無くすことができました。
  • 有償のKRPanoを無償のオープンソースプログラムに置き換え可能であることが示されました。

 

今回のテーマ:課題

「Pythonによるアプリケーション統合と自動化※2」 

※自働化2 (≠自動化):何か異常があったときに装置(プログラム)自体が自ずと止まってくれる機構を組み込んだ仕組みが自働化(エラー処理まで含む思想)。単に人手を介さないで動くようにすることが自動化。今回は自動化

ワンシート※3

※3 ワンシート:活動のテーマ(=ゴール)と内容、課題、結果の順に記載する当社の報告フォーマットです。1枚見渡すだけでその人の今回の発表を概観できる優れものです。

 

slide1.PNG

工程の内容

360映像として取得したデータを、GV-Syncによって静止画に加工した後に、投影変換(Equirectangler形式→CubeMap形式)し、画像検出AIによって注記を入れます。

slide2.PNG

 

物体検出実行までの流れ

現在、当社ではCubeMap変換にKrpano(KrpanoTool)を用い、物体検出にはYOLOを使っています。当然、処理系が異なれば実行環境、コマンド体系、インプットアウトプットのデータフォーマットが異なり、各ツールの利用スキルや、手作業部分に依存します。 

slide3.PNG

現場作業の洗い出しと改善着眼点の見出し

機械処理と人による手作業でどの程度の時間を費やしているのかを"観測※4"から明らかにして、 工程毎に人がどのような作業※5をしているのか洗い出し、それぞれの作業の観測を行い改善着眼点を見つけていきます。その後に工程の見直しや自働化を検討します。

この時に、工程図や観測用紙を用います。

※4 観測:文字通り目視確認しながらストップウォッチで時間を計測します。録画した動画を使う場合が多いです。作業中に発生する無駄な動きや不具合が表れ、そこが改善着眼点になります(主に停滞する工程を見つける目的です)
※5 作業:人の動きを表します。

slide4.PNG

ツールを使った機械処理の間で人による操作が挟まっている様子と、それぞれにどれだけの時間を要しているのかが可視化されます。

(機械処理の部分は点線で表します)

手法の検討と実施

検討内容

人による操作を一か所にまとめることで、その後の機械処理が一気通貫できる仕組みを構築すれば効率化できます

「さぁ、どうやろうか」を次に考えます。

slide5.PNG

案1では、各処理系の実行完了を通知するツールを作っても、人によるオペレーションが残ります。

理想的には案2で処理系を統一することによって(将来的に)一気通貫に対応できる仕組みにしたいところです。

EXIF ToolもYOLOもPythonから動かせます。

 

実施内容

当社では360画像の取り扱いにKRPanoを採用していますが、これは有償ソフトウェアであり、複数台のPCで動作させたい場合にライセンスの購入を伴います。

必要数買えば良いのですが、コスト競争力を確保するためには、出来るだけオープンソースで固めたいところです。

(ちなみに、てんかく忍者のサービスに使っているOSやソフトウェアはKRPano以外すべてオープンソースで組み立てられています)

  • KRPanoに代わって"Equirectabgler形式をCubeMap形式に変換する"ライブラリとして、"pyequilib"を
  • jpegデータ内の属性情報EXIFを付与するEXIFToolをPillowに
  • バイナリとして動作させていたYolov4をPython上で動作するYOLOv8に

それぞれ置き換え、これらをまとめて処理するPythonプログラムを書きました。

slide6.PNG

 

改善効果

Pythonで処理と統合した後で、改めて工程図の書き換えと処理時間の計測を行いました。 

工程が整理され、人による作業を削減できました。

時間計測

slide7.PNG

 

改善前・改善後比較

手作業は当初1分53秒かかっていたところ、23秒に短縮(1/5)

機械処理時間は、当初5分54秒のところ15分13秒と3倍の時間がかかるようになってしまいました。

トータル時間も7分47秒から15分13秒と倍になってしまい、時間短縮にはつながりませんでした。

slide8.PNG

まとめと課題

まとめ

今回のテーマを通じて、

  • 処理をまとめることで、工程を簡略化できました。
  • 処理待ち(停滞)を無くすことができました。
  • 有償のKRPanoを無償のオープンソースプログラムに置き換え可能であることが示されました。

slide10.PNG

 

課題

  • pyequilibでのGPU利用による実行速度の向上
  • マルチスレッド動作による並列処理でスケール対応可否
  • Docker化による統合で、360画像からAI処理を実行するシステムを構築する手法の検討
  • GV-Syncのよる登録処理との組み合わせで360画像のAI物体検出処理を統合する可能性の検討

 

 

 

▼この記事を書いたひと

交通部技術課 松本 基義

AI、GIS、画像処理、RPAなど交通部が提供する技術サービス全般に従事しています。Python、クラウド、仮想化技術を得意としています。

 

お問い合わせ

ご意見・ご質問などお気軽にお問い合わせ下さい。
ナカシャクリエイテブ株式会社

●富士見事務所 TEL : 052-228-8744(交通部営業課) FAX : 052-323-3337(交通部共通)
〒460-0014 愛知県名古屋市中区富士見町13−22 ファミール富士見711  地図

PoCのお問い合わせ:交通部営業課
技術的なお問い合わせ:R&Dセンター

Email:メールでのお問い合わせ