基於 Qualcomm APQ8053 + GPS 之 ADAS 深度學習辨識方案

詮鼎集團整合公司內部資源推出的GPS定位+ADAS深度學習AI辨識方案,是基於Thundercomm TurboX S626(高通APQ8053) 連接Qualcomm CSR SiRFstar IV GPS構成車用級定位與無線(藍牙/Wi-Fi)連接系統。
可應用於行車導航、行駛危險路段的限速提醒(測速照相),有別於市售的GPS行車紀錄器,此方案提供未來極具潛力的邊緣AI(AI at the edge)領域,攝像鏡頭宛如人眼般的辨識能力,可「看見」路上的汽車與行人,降低意外事故和減輕駕駛負擔。

方案實際展示圖
TurboX S626開發板的Camera放置於前方,所以使用筆電播放YouTube影片模擬道路行駛,開發板改用HDMI輸出到螢幕,方便展示辨識到的行人(person 53%)、摩托車(motorcycle 60%)、汽車(car 91%)。


修改Android系統程式碼,成功驅動GPS可正常運作後,至Google Play商店下載GPS導航軟體,下圖展示下載安裝《樂客導航王全3D》,定位於瑞光路上的詮鼎集團。


高通開發板與GPS優勢功能簡介
Thundercomm(創通聯達) TurboX S626是基於Qualcomm APQ8053處理器的高性能嵌入式開發設備,該套件可支持AI應用程式開發,包含機器人、VR、智能相機、電子看板等。換句話說,就是具有目前市售Android手機的強大功能,只是沒有搭載4G LTE Modem模組。
Qualcomm CSR 推出的SiRFstar IV GPS具有低功耗位置感知能力,主動干擾移除技術,能動態偵測、追蹤,且主動阻斷GPS頻段內8個不同的干擾源,消除手機、相機、螢幕等其他消費性電子設備相關的電器噪音。

詮鼎集團 軟/硬體技術支持
詮鼎集團擁有經驗豐富的軟、硬體工程師,可提供客戶豐富的資源開發產品,縮短客戶開發時程。技術支持包含:
1. 硬體電路參考設計、電路布局圖、電路設計指南、電路review等技術支持,提供客戶快速開發。
2. 協助軟體開發環境架設安裝、原廠軟體工具Debug教學。
3. 完整作業系統BSP、驅動程式移植、應用程式範例APP等,提供客戶快速開發驗證。
4. 開發板EVB提供豐富的IO接口,可讓客戶在開發板做各種應用測試與開發。
5. 問題能及時反應回Qualcomm與Thundercomm原廠,直接與原廠窗口對接,提供專業的技術支援和問題答覆。




掛載GPS模組開發步驟
因為Thundercomm的TurboX S626開發板沒有內建GPS,所以使用USB接口外接詮鼎集團代理的CSRG39333,此GPS模組配備USB轉UART的 Prolific(旺玖) PL2303晶片,所以必須重新編譯核心,編譯核心有許多方法,這裡以視窗介面方法增加旺玖Prolific的PL2303 driver。指令make menuconfig可進入如下圖的視窗設定畫面,把USB Prolific 2303 Single Port Serial Driver勾選為<*>。


編譯核心設定完成後,最重要就是PL2303 Driver Source Code(pl2303.c)


從Kernel Space的Log可以確認PL2303 Driver掛載成功。


Driver掛載成功後,接著測試安卓APP可接收NMEA並定位於Latitude: 25.078752,Longitude: 121.570592 (詮鼎集團辦公室)。


轉換深度神經網路模型於高通平台運行之步驟
自2016年AlphaGo擊敗世界圍棋棋王李世乭,世界級科技大廠皆開始研究深度學習領域,並應用於自家商品。
深度學習是機器學習(Machine Learning)的分支,下圖簡易說明傳統方法需透過人力撰寫出演算法,而機器學習主要是從Data裡學習出演算法,高通APQ8053即可運行由Caffe、Caffe2、ONNX、TensorFlow訓練的深度神經網路模型,成為可以普遍使用的新技術。


高通的SNPE(Snapdragon Neural Processing Engine)用於設備端加速深度神經網路推理時間的推理引擎,可執行於Snapdragon CPU、Adreno GPU或Hexagon DSP,為了讓SNPE能載入網路模型,要透過SNPE Tool將網路模型轉換為DLC(Deep Learning Container)格式。


以TensorFlow提供的Object Detection模型中,舉例適合嵌入式平台的SSD MobileNet Model,因為此模型優點為速度快,但缺點就是較低的精準度。把訓練好的TensorFlow模型(frozen_inference_graph.pb),使用snpe-tensorflow-to-dlc轉換器,將frozen_inference_graph.pb轉換為mobilenet_ssd.dlc,指令語法演示如下:

轉換工具語法的更多說明,可參閱SDK文件snpe-\doc\html\tensorflow_models.html。
高通Neural Processing SDK下載網址:
https://developer.qualcomm.com/software/qualcomm-neural-processing-sdk 

成功轉換為DLC文檔後,根據下述範例程式碼,需要使用ADB把mobilenet_ssd.dlc檔案push到TurboX S626開發板。




承上,再依據下表,TurboX S626開發板支援CPU或GPU執行網路模型運行。




聯絡 詮鼎集團 台灣 Thundercomm 產品線人員: thundercomm.tw@aitgroup.com.tw
聯絡 詮鼎集團 中國 Thundercomm 產品線人員: thundercomm.cn@aitgroup.com.tw
聯絡 詮鼎集團 台灣 Qualcomm 產品線人員: qualcomm.tw@aitgroup.com.tw
聯絡 詮鼎集團 中國 Qualcomm 產品線人員: qualcomm.cn@aitgroup.com.tw

<<延伸閱讀>>
基於Qualcomm APQ8053 實現邊緣運算(Edge Computing)

►場景應用圖

►展示板照片

►方案方塊圖

►核心技術優勢

 Thundercomm TurboX S626提供Android 7系統平台,客戶可以自行開發上層軟件的APK。  詮鼎集團具備高通APQ8053的License,擁有完整的軟/硬體Reference Design(SourceCode/電路圖),有能力協助客戶開發產品,譬如此方案說明TurboX S626開發板沒有支援GPS功能,所以外接詮鼎集團代理的GPS,並修改Android Source Code後,啟動GPS定位功能。如果客戶想更換Camera模組,亦可協助客戶Porting Camera Driver。  可於高通createpoint系統,直接發Case詢問高通原廠工程師技術問題Debug。 【Qualcomm APQ8053】  採用14nm製程打造的八核心A53處理器,可將發熱和功耗控制在理想的狀態  高通釋出機器學習軟體開發套件-驍龍神經處理引擎(Snapdragon Neural Processing Engine,SNPE),提供開發者執行AI的運算能力。  模型訓練可於深度學習框架(Deep Learning Framework)進行,SNPE支援Caffe,Caffe2,ONNX,TensorFlow模型  配置雙ISP,相機最高支援到2400萬像素且可錄製4K視頻  數據資料能在邊緣設備進行快速的分類與分析,實現邊緣運算的概念  作業系統除了Android 7外,還增加對Linux(Linux Yocto Jethro 2.0.2)的支持 【CSR GPS CSRG39333】  提供高效能導航與追蹤功能,導航靈敏度可達-157dBm,追蹤靈敏度可達-160dBm  主動干擾移除高達8個干擾源技術,維持GPS效能  支援AGPS降低首次定位時間(TTFF)

►方案規格

【Qualcomm APQ8053】  為64-bit 8核心Arm Cortex-A53 CPU、Adreno 506 GPU與 Hexagon 546 DSP  支援Display有HDMI和LCD/Touch Panel  整合802.11b/g/n/ac、BLE 4.1,支援GPS  支援Video編解碼器可達4K@30FPS HEVC  整合Audio Codec(PM8953)  支援10Base/100Base Ethernet LAN 【CSR GPS CSRG39333】  熱啟動(Open Sky) 1秒  冷啟動(Open Sky) 32秒  追蹤靈敏度 -160dBm  導航靈敏度 -157dBm  冷啟動靈敏度 -145dBm  支援I2C、SPI、UART

相關影片

創通聯達S626+GPS Dongle

Thundercomm(創通聯達) TurboX S626(高通APQ8053)使用USB外接CSRG39333進行GPS定位導航,也可做為車上的多媒體系統。