從0到1學(xué)習(xí)使用DepthAI-頭部姿態(tài)檢測(cè)

這篇文章將介紹如何在DepthAI上實(shí)現(xiàn)頭部姿態(tài)檢測(cè)(左右搖頭、上下點(diǎn)頭),可應(yīng)用在活體檢測(cè)、體感游戲等。
一、分析項(xiàng)目
首先想要對(duì)頭部姿態(tài)進(jìn)行檢測(cè),就要先在圖像中找到頭的位置。我們可以使用面部檢測(cè)模型。
找到臉后,我們可以利用面部特征點(diǎn)對(duì)頭部姿態(tài)進(jìn)行檢測(cè)。
二、尋找合適的模型
1.人臉檢測(cè)模型
這個(gè)我們最熟悉了,可以使用openvino open_model_zoo中的face-detection-retail-0004模型。
2.面部特征點(diǎn)檢測(cè)模型
我們可以通過搜索引擎找到一個(gè)叫做PINTO_model_zoo的項(xiàng)目。在這個(gè)項(xiàng)目中可以找到大量模型。
拉取這個(gè)項(xiàng)目:
git clone https://github.com/PINTO0309/PINTO_model_zoo.git
進(jìn)入這個(gè)項(xiàng)目,找到043_face_landmark,這個(gè)就是面部特征點(diǎn)檢測(cè)模型,它可以檢測(cè)出68個(gè)特征點(diǎn)。
然后進(jìn)入05_openvino文件夾,執(zhí)行shell腳本:
./download.sh
這樣我們就可以獲得OpenVINO IR文件了。再將OpenVINO IR編譯為blob文件:
export MYRIAD_COMPILE=$(find /opt/intel/ -iname myriad_compile)
$MYRIAD_COMPILE -m face_landmark_160x160.xml -ip U8 -VPU_MYRIAD_PLATFORM VPU_MYRIAD_2480 -VPU_NUMBER_OF_SHAVES 4 -VPU_NUMBER_OF_CMX_SLICES 4
注:使用模型轉(zhuǎn)換工具需要安裝openvino,安裝時(shí)要注意DepthAI對(duì)OpenVINO版本有要求。 詳情請(qǐng)參照openvino安裝:https://docs.oakchina.cn/en/latest/pages/tutorials/local_convert_openvino/#id2
三、代碼原理說(shuō)明
首先運(yùn)行face-detection-retail-0004模型檢測(cè)圖像中的人臉,并截取面部圖像。

然后運(yùn)行face_landmark_160x160模型從傳入的面部圖像中檢測(cè)出68個(gè)特征點(diǎn)的位置。利用這些特征點(diǎn),我們可以檢測(cè)頭部姿態(tài)。
第一步:2D人臉關(guān)鍵點(diǎn)檢測(cè);
第二步:3D人臉模型匹配;
第三步:求解3D點(diǎn)和對(duì)應(yīng)2D點(diǎn)的轉(zhuǎn)換關(guān)系;
第四步:根據(jù)旋轉(zhuǎn)矩陣求解歐拉角。

國(guó)內(nèi)在哪里能買到DepthAI?
目前國(guó)內(nèi)唯一的購(gòu)買渠道是派馳的淘寶店:
OAK-D -派馳電子 淘寶:https://sourl.cn/9YEFE5
OAK-1 -派馳電子 淘寶:https://sourl.cn/4CpZUZ
參考鏈接:
OAK 中國(guó):https://sourl.cn/6wt8sm
OAK 中文文檔:https://sourl.cn/rawPZD
https://blog.csdn.net/cungudafa/article/details/103499230