エッジAIデバイスで画像セグメンテーションを試してみた

画像セグメンテーション(Segmentation)とは?

セグメンテーションは、画像を構成するピクセル一つひとつに対して“ラベル付け”を行う手法です。
このプロセスにより「画像内の各ピクセルが何を表しているのか」を特定し、「画像内の異なるオブジェクトや構造を区別」することができます。例えば、道路の画像において、車、歩行者、交通標識を “別々に認識”し、それぞれが “画像のどこに位置しているか” を識別します。
これは、自動運転車、医療画像分析、ロボットの視覚システムなど、多くの応用技術において重要な役割を果たします。

 

【今回のデモ】

本ページでは、IoT/組込み機器向けにリリースされている“Qualcomm Snapdragon”にセグメンテーションのAIモデルである“DeepLab”を組込んだデモンストレーションを実施しています。DeepLabモデルは“セマンティックセグメンテーション”というアルゴリズムによって、「画像内の各ピクセルに意味のあるカテゴリーラベルを割り当てる」ことができます。コマンド実行によって生成された動画もご覧いただけます。

DeepLabによるセマンティックセグメンテーション

テスト環境

・Qualcomm QCS6490搭載評価ボード (C6490 Development Kit) (製品ページへジャンプします)

- OS: Ubuntu 20.04 (SDKバージョン:C6490.LU1.0.CS.r002002)

Windows PC (コマンドプロンプト)

USB Type-A to Type-Cケーブル

環境セットアップ

AIモデル、ラベルファイル、処理を実行する動画を用意します。

AIモデル:dv3_argmax_int32.tflite (DeepLabモデル)

・ラベルファイル:segmentation.labels

AI処理前動画:test.mp4

 

上記のファイルをC6490 Development Kitへ転送します。

(PC) $ adb push dv3_argmax_int32.tflite /data/TFLite 
(PC) $ adb push segmentation.labels /data/TFLite
(PC) $ adb push test.mp4 /data/misc/camera

セグメンテーション処理の実行

こちらのコマンドで上述の手順で用意したmp4動画ファイルに対してセグメンテーション処理をおこないます。処理実行後の動画は"camera_seg.mp4"として保存します。

(C6490) # gst-launch-1.0 -e qtivcomposer name=mixer sink_1::dimensions="<1280,720>" sink_1::alpha=0.5 ! queue ! qtic2venc ! h264parse ! mp4mux ! queue ! filesink location="/data/camera_seg.mp4" filesrc location=/data/misc/camera/test.mp4 ! qtdemux name=demux demux. ! queue ! h264parse ! qtivdec ! video/x-raw\(memory:GBM\) ! queue ! tee name=split ! queue ! mixer. split. ! queue ! qtimlvconverter ! queue ! qtimltflite delegate=nnapi-dsp model=/data/TFLite/dv3_argmax_int32.tflite ! queue ! qtimlvsegmentation module=deeplab-argmax labels=/data/TFLite/segmentation.labels ! video/x-raw,width=256,height=144 ! queue ! mixer.

コマンド実行によって生成された動画を再生してみます。左側がAI処理前(test.mp4)、右側がAI処理後(camera_seg.mp4)の動画です。

動画内で人間と自転車をピクセルレベルで認識し異なる色で描画できていることがわかります。

本ページではQualcomm QCS6490 SoCを搭載したTurboX C6490 Development Kit上で、セグメンテーションモデルのDeepLabを動かしてみました。

 

Qualcomm社の“Snapdragonシリーズ”は、IoT/組込み機器向けにSoCを多数ラインナップしており、本ページでご紹介した事例のように画像処理AIアプリケーションでの使用事例も増えてきています。今回使用した“QCS6490”は、ミドルクラスの製品ですが、他にもエントリークラスからプレミアムクラスまで幅広いレンジで、ユースケースに合わせてご提案可能な製品を取り揃えております。詳細情報をご希望の方はぜひ弊社までお問い合わせください。

お問い合わせ/お見積もり

本ページの内容に関するご質問や製品詳細情報をご希望の方はこちらからお問い合わせください。

クアルコム メーカー情報Topへ