基于 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)

场景应用图

sceneryUrl