從0到1學(xué)習(xí)使用DepthAI-口罩檢測(cè)

這篇文章將介紹如何在DepthAI上實(shí)現(xiàn)口罩檢測(cè)。
1.查找開(kāi)源項(xiàng)目
通過(guò)搜索引擎我們能夠找到一個(gè)叫做sbd_mask的開(kāi)源項(xiàng)目,它是思百達(dá)開(kāi)源的一款輕量級(jí)實(shí)時(shí)口罩檢測(cè)項(xiàng)目。
2.分析項(xiàng)目
通過(guò)分析sbd_mask項(xiàng)目,我們可以得到以下信息:
?使用的模型及其作用:
centerface.onnx模型:用于檢測(cè)人臉
sbd_mask.onnx模型:用于檢測(cè)是否佩戴口罩
? 應(yīng)用工作流程:
1?? 從相機(jī)獲取圖片
2??運(yùn)行centerface檢測(cè)人臉?
3??將centerface檢測(cè)到的人臉?biāo)腿雜bd_mask檢測(cè)是否佩戴口罩
4??輸出結(jié)果
3.轉(zhuǎn)為 DepthAI項(xiàng)目
1)替換centerface模型
此模型的作用是檢測(cè)人臉,我們使用openvino open_model_zoo中的face-detection-retail-0004模型替換此模型,因此無(wú)需進(jìn)行轉(zhuǎn)換。
2)轉(zhuǎn)換sbd_mask.onnx模型
因?yàn)镈epthAI需要特定的模型格式,所以需要對(duì)sbd_mask.onnx模型進(jìn)行轉(zhuǎn)換。
首先轉(zhuǎn)換為OpenVINO IR:
python mo_onnx.py --input_model sbd_mask.onnx? --model_name sbd_mask --scale 255 --reverse_input_channels
再將OpenVINO IR編譯為blob文件:
export MYRIAD_COMPILE=$(find /opt/intel/ -iname myriad_compile)
$MYRIAD_COMPILE -m sbd_mask.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。
3)剖析模型
利用Netron可以查看模型結(jié)構(gòu)。
模型輸入:

模型輸出:

由上圖可知此模型輸出只有“349”一層包含有兩個(gè)數(shù)據(jù)。
輸入輸出總覽:

4)編寫解析代碼
模型輸出的解析代碼可以參考原始的應(yīng)用。
4.應(yīng)用源代碼
口罩檢測(cè)github鏈接:https://github.com/OAKChina/depthai-examples/blob/master/social-distancing/README.md
國(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