ModelBox端云协同AI开发套件(RK3568)试用记录(三)

举报
黄生 发表于 2022/07/28 16:47:07 2022/07/28
【摘要】 这一部分是:使用yolov3做口罩检测口罩检测不同于车辆检测,车辆检测内置于SDK中,模型文件、相关配置都作为解决方案提供了,创建好工程就在那里了。而口罩检测需要自行下载模型和配置文件,并放置到对应的工程目录,其实也很方便。下载地址,提取码 modbox 选择common.zip(功能单元和配置、任务配置、测试视频 5M) 和rknpu2.zip(推理功能单元和流程配置 14M)下载即可。仍...

这一部分是:使用yolov3做口罩检测


口罩检测不同于车辆检测,车辆检测内置于SDK中,模型文件、相关配置都作为解决方案提供了,创建好工程就在那里了。而口罩检测需要自行下载模型和配置文件,并放置到对应的工程目录,其实也很方便。
下载地址,提取码 modbox 选择common.zip(功能单元和配置、任务配置、测试视频 5M) 和rknpu2.zip(推理功能单元和流程配置 14M)下载即可。

仍然是先用 create.py 创建名为mask_det_yolo3的工程,然后用-t infer选项创建一个名为mask_infer的推理功能单元,会在工程目录的model下生成以下内容

|-- model
|   `-- mask_infer
|       `-- mask_infer.toml

将rknpu2.zip里面的rknn模型文件和2个配置文件放入(覆盖原mask_infer.toml):

workspace/mask_det_yolo3/model/mask_infer/
|-- mask_infer.toml
|-- yolo3_resnet18_mask_det_288x512.toml
`-- yolo3_resnet18_mask_det_288x512_rknpu2.rknn

mask_infer.toml里定义了三个模型的输出,应该是对于head头肩部facemask口罩的信息。

接下来使用参数-t python创建2个功能单元,分别是yolo3_post后处理,和draw_mask_bbox在原图上画框展示,生成内容如下:

workspace/mask_det_yolo3/etc/
`-- flowunit
    |-- cpp
    |-- draw_mask_bbox
    |   |-- draw_mask_bbox.py
    |   `-- draw_mask_bbox.toml
    |-- readme.txt
    `-- yolo3_post
        |-- yolo3_post.py
        `-- yolo3_post.toml

将common.zip里面的功能单元内容复制进去覆盖原文件。

带没带口罩的结果的展示,其逻辑是在画图单元实现:如果face检测框与mask检测框的重合度大于某个阈值,就判为佩戴口罩;否则,就判为没有佩戴口罩;如果没有检测到face检测框,就会显示Unknown。

接下来就是串流程图(graph/mask_det_yolo3.toml),和配置任务的输入输出(bin/mock_task.toml),当然下载里都有已经配置好的文件,拷贝到对应目录。同时把测试视频也拷贝到data目录。

mask_det_yolo3.toml里定义了:
各个功能单元的处理流转流程

data_source_parser > video_demuxer > video_decoder > image_resize > mask_detection > yolo3_post > draw_mask_bbox > video_out

以及 功能单元之间的输出输入之间的接口对接配置,比较细节就不说了。

配置任务的输入输出在hello_world和车辆检测部分说过,也不说了。

准备工作到此结束,下面就是进入工程目录,进行build_project.sh然后bin/main.sh运行应用进行视频文件的戴口罩检测,并输出结果到视频文件。

image.png

下载的里面还有一个camera的配置文件,是可以将输入输出都配置为视频流来使用的,这个晚点再试一下。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。