近年來,,隨著人工智能技術的不斷發(fā)展,,相應的AI算法與產品方案也層出不窮,。但是技術門檻高,,產品穩(wěn)定性參差不齊成為了制約行業(yè)發(fā)展的主要瓶頸,。M1808 AI核心板是ZLG布局AI及計算機視覺領域的重要產品,,旨在為用戶提供“嵌入式”+“AI”解決方案平臺,,以AI算法賦能傳統(tǒng)嵌入式硬件,,除了提供穩(wěn)定可靠的硬件平臺之外,,同時免費提供基于各種應用數據集訓練的AI算法,,極大降低了“嵌入式”和“AI”的開發(fā)門檻。
在當前熱門的人臉識別領域,,ZlG將人臉識別算法免費植入M1808 AI核心板中,,為用戶提供“硬件+軟件+算法”系統(tǒng)化解決方案。這一方案既能夠滿足客戶快速開發(fā)的需求,,又能最大程度保證驗證結果的精準度,,可廣泛應用于火車站、安檢卡口,、校園,、小區(qū)、寫字樓等出入管理場景,。
本文將從主控平臺,,配套硬件以及檢測Demo這三個方面對ZLG人臉識別解決方案做具體介紹。
一,、主控平臺
人臉識別的應用領域廣泛,,但解決方案的框架大體類似。ZLG緊跟行業(yè)發(fā)展,,歸納出如下圖所示人臉識別方案的框圖,。
圖1.1
由框圖可知,主控平臺選擇ZLG最新推出的M1808 AI核心板,。作為一款面向人工智能開發(fā)平臺的產品,,M1808在視覺處理方面有著高運算速率、高運算精度以及低功耗的高性能表現,。
圖1.2 M1808核心板產品
如上圖所示,,M1808 AI核心板板載1.6GHz雙核64位Cortex-A35架構的處理器RK1808,,集成NPU峰值算力可達3.0TOPs,,支持INT8/INT16/FP16混合運算,最大程度兼顧性能,、功耗,、運算精度,并支持TensorFlow/MXNet/PyTorch/Caffe等一系列框架的網絡模型轉換,,兼容性強,。其VPU視頻處理單元支持全格式的1080P視頻編解碼,支持攝像頭視頻信號輸入,,并具有內置ISP,。如圖1.3所示為RK1808芯片功能方框圖。
圖1.3 處理器RK1808功能方框圖
核心板整體功能特點一覽:
MPU采用高性能64位的Cortex-A35處理器RK1808,,工作頻率可達1.6GHz,;
集成 32KByte 一級指令緩存;集成 32KByte 一級數據緩存,;
集成NPU(神經網絡處理單元)協(xié)處理器,;
支持最大1920 Int8 MAC operations per cycle;
支持最大64 FP16 MAC operations per cycle,;
支持最大192 Int16 MAC operations per cycle,;
512Kbyte內部緩沖空間;
支持支持全格式的H.264 1080p@60fps解碼和H.264 1080p@30fps編碼,;
集成高品質的JPEG編/解碼器,;
內存:1GByte DDR4 SDRAM;
存儲:4GByte eMMC,;
Linux操作系統(tǒng),。
如圖1.4所示為M1808_EV_Board評估板產品圖片。
圖1.4 M1808_EV_Board評估板產品
二,、配套硬件
圖像數據采集方面,,M1808_EV_Board評估板為開發(fā)用戶提供了1路CSI攝像頭接口和1路可擴展USB接口,。人臉檢測識別方案可以選用USB接口的雙目攝像頭,以支持具有活體檢測功能的人臉識別算法庫,。雙目攝像頭如圖1.5所示。
圖1.5 雙目攝像頭
圖像顯示方面,,M1808評估板為用戶提供MIPI-DSI接口和RGB接口兩種液晶顯示接口,。本文介紹的人臉識別Demo運行顯示是采用一款由ZLG生產的10.1寸LVDS接口的液晶顯示屏LCD-1280800W101TC,如圖1.6所示,。攝像頭采集的人臉將會以實時方框形式在液晶屏上標記顯示。
圖1.6 LCD-1280800W101TC 10.1寸LVDS液晶顯示屏套件
三,、人臉識別檢測Demo
1.開發(fā)環(huán)境搭建
將M1808平臺的交叉編譯工具m1808-sdk-1.0-ga.tar.gz拷貝至開發(fā)主機Ubuntu下,,并執(zhí)行如下命令解壓安裝:
sudo mkdir -p /opt/zlg
sudo tar -xf m1808-sdk-1.0-ga.tar.gz –C /opt/zlg
在用戶配置文件~/.bashrc中添加如下語句,,保存后重新打開終端就可以直接使用該平臺工具鏈,,完成工具鏈環(huán)境搭建:
export PATH=/opt/zlg/m1808-sdk-1.0-ga/host/bin:$PATH
2.Demo程序
Demo采用Qt圖形界面開發(fā)框架。在工程文件中添加OpenCV庫,、Sqlite3庫和由ZLG算法團隊研發(fā)的人臉識別算法庫等相關庫,之后內部程序通過調用相關庫提供的各種接口,,包括數據存儲、模型構建初始化,、人臉檢測、人臉比對等API進行相關人臉檢測識別功能的實現,。
例如有關人臉檢測功能實現,先定義rockx_handle_t類型的句柄,,通過操作該句柄調用如下API完成指定功能模塊的初始化:
rockx_ret_t rockx_create(rockx_handle_t* handle,rockx_module_t m,void* config,size_t config_size);
再調用人臉檢測API實現人臉檢測功能:
rockx_ret_t rockx_face_detect(rockx_handle_t handle,rockx_image_t* in_img,rockx_object_array_t* face_array,rockx_async_callback callback);
Demo整體流程框圖如下圖1.7所示:
圖1.7 Demo程序流程圖
3.Demo效果
實際檢測的人臉以綠色選框標記出來,Demo運行顯示效果展示如圖1.8所示:
圖1.8 Demo展示效果
M1808 AI核心板在不同維度的卓越硬件功能,,使其具備了成為一款高端產品的基本要素,。相信這款產品對于構建智能物聯系統(tǒng),助力創(chuàng)造AIoT無限可能會有很好的推動作用,,ZLG未來也將致力更多此類優(yōu)質產品的研發(fā),。