I tried image segmentation on an edge AI device.

What is image segmentation?

Segmentation is a method of "labeling" each pixel that makes up an image.
This process allows us to determine "what each pixel in an image represents" and "distinguish between different objects and structures within an image." For example, in a road image, cars, pedestrians, and traffic signs are “separately recognized” and each is identified “where in the image” they are located.
This plays a key role in many applications, such as autonomous driving cars, medical image analysis, and robot vision systems.

 

[This demo]

This page introduces the segmentation AI model “Qualcomm Snapdragon” released for IoT/embedded devices.DeepLabThe DeepLab model uses an algorithm called "semantic segmentation" to "assign a meaningful category label to each pixel in an image." You can also watch the video generated by running the command.

Semantic segmentation with DeepLab

testing environment

Evaluation board withQualcomm QCS6490(C6490 Development Kit) (Jump to product page)

- OS: Ubuntu 20.04 (SDKversion: C6490.LU1.0.CS.r002002)

Windows PC (command prompt)

USB Type-A to Type-Ccable

Environment setup

Prepare theAI model, label file, and video to perform processing.

AImodel:dv3_argmax_int32.tflite(DeepLab model)

・Label file:segmentation.labels

Video before AIprocessing:test.mp4

 

Transferthe above files to the 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

Perform segmentation processing

Prepared using the above steps using this command.mp4Performs segmentation processing on video files. The video after processing is"camera_seg.mp4"Save as.

(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.

Let's play the video generated by executing the command. The video on the left is before AI processing (test.mp4), and the video on the right is after AI processing (camera_seg.mp4).

You can see that in the video, humans and bicycles can be recognized at the pixel level and drawn in different colors.

On this page,we tried running the segmentation model DeepLabon theTurboXC6490 Development Kitequipped withQualcomm QCS6490 SoC.

 

QualcommCompany's “Snapdragon series"teeth,IoT/For embedded devicesSoCWe have a large lineup of image processing, such as the examples introduced on this page.A.I.Application use cases are also increasing. This time I used “QCS6490” is a middle-class product, but we also have a wide range of other products from entry-class to premium-class that can be proposed according to the use case.If you would like more information, please contact us. Please contact us.

Inquiry/Quotation

If you have any questions about the contents of this page or would like detailed product information, please contact us here.

To Qualcomm manufacturer information Top