基於Synaptics SL1680的機器視覺 AI Hub方案

        隨著人工智慧技術的飛速進步,物聯網(IoT)設備也在AI的推動下不斷升級換代。開源模型層出不窮,推動了設備在AI功能上的大幅提升。當然,這一切都離不開硬體技術的革新。為了提高模型的推理速度和降低能耗,眾多製造商紛紛採用NPU(神經網絡處理單元)來運行模型。在這方面,Synaptics在AIoT領域投入了大量研發資源,推出了今年的重點產品——嵌入式SoC SL1680。該產品內置高達7.9TOPS的NPU性能,並配備了四核A73 ARM CPU、4K視頻編解碼能力,以及多種外圍接口,支持Linux和Android系統,能夠滿足大多數AIoT功能需求。

應用案例包括:

       家庭智能安全網關(或中控)

       工業自動化控制系統

       智能機頂盒

       智能會議系統

       智能廣告顯示屏

       在傳統的安防系統中,許多攝像頭並不具備AI功能,對於追蹤或數據統計等任務,往往需要人工操作。而這些繁瑣且重複的工作正是AI的強項。那麼,如何讓舊有系統和設備擁有這樣的能力呢?AI中樞(AI Hub)是一個理想的解決方案。通過SL1680豐富的外圍接口和連接線,可以從有線或無線網絡中收集攝像頭數據,並依託其強大的NPU運行多功能模型,實現物體識別、檢測、統計乃至實時響應等功能。     


方案實現:

  1. 下載軟體:Synaptics 的SL1680 軟體代碼是開源的,可以直接到官網下載,或者在Releases · synaptics-astra/sdk (github.com) 網站下載預編譯文件

  2. 燒錄軟體:SL1680支持USB燒錄(PC到板子)或U盤燒錄。參考Astra Yocto Linux User Guide — Synaptics Astra SDK User Guide 1.0.0 documentation (synaptics-astra.github.io)
  3. 上電後,接入usb攝像頭,並用cmd使用adb連接開發板


  4. 輸入v4l2-ctl --list-devices 查看usb攝像頭設備號(可插多個攝像頭)


  5. 輸入v4l2-ctl -d /dev/video6 --list-formats-ext –all 查看攝像頭支持參數(後續選擇對應參數設置gstreamer)

 

測試驗證:

  1. Usb連接開發,在cmd中輸入adb shell 進入linux命令行界面
  2. 輸入以下變量以配置圖像顯示參數
export XDG_RUNTIME_DIR=/var/run/user/0
export WESTON_DISABLE_GBM_MODIFIERS=true
export WAYLAND_DISPLAY=wayland-1
export QT_QPA_PLATFORM=wayland
  1. 輸入syna-ai-player --mach=sl1680 可以看到qt的界面,用鼠標選擇想用的功能

 

進階測試:

修改multi-AI的配置文件,讓多個AI模型共同作用在一個輸入源上

  1. 輸入

vi /home/root/demos/qmls/panels/MultiAi.qml

  1. 定位到40行的GridItem


    1. 修改type數值為1,這樣運行時就只會執行command1
    2. 刪除command2~command4的內容
    3. 替換command1的內容為
      v4l2src device=/dev/video6 ! video/x-raw,framerate=30/1,format=YUY2,width=640,height=480 ! videoconvert !  \
          tee name=t_data t_data. ! queue ! videoconvert ! videoscale ! video/x-raw,width=640,height=384,format=RGB ! synapinfer model=/usr/share/synap/models/object_detection/coco/model/yolov8s-640x384/model.synap mode=detector frameinterval=3 ! overlay1.inference_sink \
      t_data. ! queue ! videoconvert ! videoscale ! video/x-raw,width=640,height=480,format=RGB ! synapinfer model=/usr/share/synap/models/object_detection/face/model/yolov5s_face_640x480_onnx_mq/model.synap mode=detector frameinterval=3 ! overlay2.inference_sink \
          t_data. ! queue ! videoconvert ! videoscale ! video/x-raw,width=640,height=352,format=RGB  ! synapinfer model=/usr/share/synap/models/object_detection/body_pose/model/yolov8s-pose/model.synap mode=detector frameinterval=3 ! overlay3.inference_sink \
          t_data. ! queue ! synapoverlay name=overlay1 label=/usr/share/synap/models/object_detection/coco/info.json ! videoconvert ! \
          queue ! synapoverlay name=overlay2 ! videoconvert ! \
          queue ! synapoverlay name=overlay3 ! videoconvert ! waylandsink fullscreen=true​
    4. 保存內容,退出

  2. 再次運行syna-ai-player --mach=sl1680,選擇multi-AI功能



  3. 就會看到只有一個顯示界面,裡面有物體識別,人臉識別,體態識別三個模型識別的結果

 

       此外,這種應用並不局限於本地USB攝像頭。實際上,上文提到的命令是基於GStreamer的,GStreamer以其強大的功能而廣受好評,它支持多種輸入和輸出源。因此,通過修改相應的命令,可以實現對不同輸入輸出源的支持,這也是其能夠成為AI HUB的原因之一。


FAQ:

Q1: SL1680支持RTOS操作系統?

A1: 目前還沒有,有計劃支持RTOS。

 

Q2: GStreamer命令在AIoT設備中有什麼作用?

A2: GStreamer命令可以處理多種輸入和輸出源,使AIoT設備能夠靈活地處理來自不同來源的數據,並輸出到所需的目標設備或平台。

 

Q3: AIoT設備在智能家居中有哪些實際應用?

A3: 在智能家居中,AIoT設備可以用於智能照明、溫度控制、安全監控、語音助手等多種功能,提高居家的便利性和安全性。

 

Q4:模型格式有什麼要求,需要轉換嗎?

A3:可以不轉換,能直接運行TensorFlowLite、ONNX和Caffe模型,但是啟動時間和推理時間會長一點點,推薦轉換成synap格式,以獲取更好的性能,轉換工具的使用也很方便。

 

Q5: 模型支持異構推理嗎?

A5:一個模型可以同時支持NPU,GPU,CPU異構推理,還可以指定網絡層精度來實現混合精度

►場景應用圖

通義萬相AI生成圖

►展示板照片

Astra

►方案方塊圖

Astra

►晶片框圖

synaptics

►核心技術優勢

- 強大的7.9TOPS NPU計算能力 - 多模態、低成本的AIoT SoC解決方案 - 4K級硬體編解碼能力 - 豐富的外圍設備接口 - 與Synaptics卓越的連接能力相匹配

►方案規格

 CPU: Quad-core Arm® Cortex®-A73 64-bit processor with security extensions. Up to 2.1 GHz for each CPU, delivering up to 40000 DMIPS  Memory Interface: 64/32-bit LPDDR4/LPDDR4x-3733 DRAM controller, up to 4 GB memory space. x1, x4 or x8-bit eMMC 5.1 Controller  NPU: Support for multiple DNN frameworks and optimized for TensorFlow™ Lite inferencing via the SyNAP™ toolkit. Up to 7.9+ TOPS  GPU: based graphics engine (Imagination™ PowerVR™ Series9XE GE9920) Up to 3840x2160 resolution  Video Decoding: with support for AV1, H.265/264 MVC, VP8, VP9, MPEG-2. Flexible support for PIP (2160p60/2160p60) and Multi-View (1 x 2160p60 and 3 x 1080p60)  Video Encoding: Multi-stream encoding for H.264, VP8 and simultaneous 2160p60 decode and 1080p60 encode  Other: On-chip 32 Kbit OTP System and power management unit Video, audio via MIPI CSI-2, MIPI DSI, HDMI,I2S/TDM Gbit networking, PCIe connectivity SPI, SDIO, UART, USB, GPIO, ADCs