作者:欧新宇(Xinyu OU)
当前版本:Release v1.0
开发平台:Paddle 2.3.2
运行环境:Intel Core i7-7700K CPU 4.2GHz, nVidia GeForce GTX 1080 Ti
本教案所涉及的数据集仅用于教学和交流使用,请勿用作商用。
最后更新:2022年2月4日
本实验使用 口罩检测(Face)数据集
完成,目的是利用PaddleDetection工具包训练口罩检测模型,判断给定的人物图片是否正确佩戴口罩,该数据集包含with_mask、without_mask、mask_weared_incorrect三个目标类别,共计853张图片。本数据集已经按照7:1:2的比例进行划分, 其中训练验证集样本681个(80%),训练集样本595个(70%), 验证集样本86个(10%), 测试集样本172个(20%), 共计853个。
数据集下载地址:https://aistudio.baidu.com/aistudio/datasetdetail/127209
下面给出几个样图:
上图给出了5个人的检测结果,其中4个人佩戴了口罩(with_mask),1个人未佩戴口罩(without_mask)。
上图给出了5个人的检测结果,其中1个人佩戴了口罩(with_mask),2个人未佩戴口罩(without_mask),2个人佩戴不正确(mask_weared_incorrect)。由于模型并非很完善,因此被认定为佩戴不正确(mask_weared_incorrect)的人,同时也被检测为未佩戴(without_mask)口罩。
所有作业均在AIStudio上进行提交,提交时包含源代码和运行结果
【实验要求】 完成下列三个模型的训练,并完成下面的实验结果统计表(任务一);
序号 | 模型名称 | Backbone主干网络 | 初始学习率 | test mAP | FPS | with_mask | without_mask | mask_weared_incorred |
---|---|---|---|---|---|---|---|---|
A | faster_rcnn_r34_fpn_1x_voc | ResNet34 | ||||||
B | ppyolo_mbv3_small_voc | |||||||
C | yolov3_mobilenet_v3_large_ssld_36e_voc |
【实验要求】 编写python代码,使用【任务一】中训练获得的模型中的一个,实现对下列三幅图片的推理(infer.py),并在本notebook中进行可视化。(图片可直接从本页面另存到本地)
####### 导入依赖库 import os import matplotlib.pyplot as plt import cv2 ####### 设置PaddleDetection工作路径 workspace = 'D:\\Workspace\\MyProjects\\PaddleDetection-release-2.3' os.chdir(workspace) ####### 1. 执行预测Inference # 1.1 设置图片路径 # 1.2 设置模型路径 # 1.3 设置Inference图像的输出和读取路径 # 1.4 执行预测脚本 ####### 2. 可视化Inference结果 plt.figure(figsize=(30,12)) ax1 = plt.subplot(1,3,1) infer_img_path1 = os.path.join(infer_path, img_file[0]) infer_img1 = cv2.imread(infer_img_path1) ax1.set_title('Demo1') plt.imshow(infer_img1) ax2 = plt.subplot(1,3,2) infer_img_path2 = os.path.join(infer_path, img_file[1]) infer_img2 = cv2.imread(infer_img_path2) ax2.set_title('Demo2') plt.imshow(infer_img2) ax3 = plt.subplot(1,3,3) infer_img_path3 = os.path.join(infer_path, img_file[2]) infer_img3 = cv2.imread(infer_img_path3) ax3.set_title('Demo3') plt.imshow(infer_img3)
【实验要求】 提交模型的训练日志,直接将训练日志粘贴到如下 Markdown Cell 中【诚信考查】 注意每次训练结果均不可能完全一样
【模型一】faster_rcnn_r34_fpn_1x_voc
【模型二】ppyolo_mbv3_small_voc
【模型三】yolov3_mobilenet_v3_large_ssld_36e_voc