欢迎光临散文网 会员登陆 & 注册

从0到1学习使用DepthAI-口罩检测

2021-01-29 16:08 作者:OAK中国  | 我要投稿

这篇文章将介绍如何在DepthAI上实现口罩检测。

1.查找开源项目

通过搜索引擎我们能够找到一个叫做sbd_mask的开源项目,它是思百达开源的一款轻量级实时口罩检测项目。

2.分析项目

通过分析sbd_mask项目,我们可以得到以下信息:

◼使用的模型及其作用:

centerface.onnx模型:用于检测人脸

sbd_mask.onnx模型:用于检测是否佩戴口罩

◼ 应用工作流程:

1️⃣ 从相机获取图片

2️⃣运行centerface检测人脸 

3️⃣将centerface检测到的人脸送入sbd_mask检测是否佩戴口罩

4️⃣输出结果

3.转为 DepthAI项目

1)替换centerface模型

此模型的作用是检测人脸,我们使用openvino open_model_zoo中的face-detection-retail-0004模型替换此模型,因此无需进行转换。

2)转换sbd_mask.onnx模型

因为DepthAI需要特定的模型格式,所以需要对sbd_mask.onnx模型进行转换。

首先转换为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

注:使用模型转换工具需要安装openvino,安装时要注意DepthAI对OpenVINO版本有要求。 详情请参照openvino安装:https://docs.oakchina.cn/en/latest/pages/tutorials/local_convert_openvino/#id2

3)剖析模型

利用Netron可以查看模型结构。

模型输入:


模型输出:


由上图可知此模型输出只有“349”一层包含有两个数据。

输入输出总览:


4)编写解析代码

模型输出的解析代码可以参考原始的应用。

4.应用源代码

口罩检测github链接:https://github.com/OAKChina/depthai-examples/blob/master/social-distancing/README.md

国内在哪里能买到DepthAI?

目前国内唯一的购买渠道是派驰的淘宝店:
OAK-D -派驰电子 淘宝:https://sourl.cn/9YEFE5
OAK-1 -派驰电子 淘宝:https://sourl.cn/4CpZUZ

参考链接:
OAK 中国:https://sourl.cn/6wt8sm
OAK 中文文档:https://sourl.cn/rawPZD


从0到1学习使用DepthAI-口罩检测的评论 (共 条)

分享到微博请遵守国家法律