安全帽检测系统

来自iCenter Wiki
2017年11月2日 (四) 05:26Zhenchen讨论 | 贡献的版本

跳转至: 导航搜索

教学团队

教师:陈震,马晓东,章屹松,王蓓蓓,高英

助教:郑文勋,冯杰,宋丹丹,常嘉辉,闫泽禹,陆昕

实验内容

场景:在一个建设场地,为了保障人员的人身安全,需要检测工程人员是否配戴了安全帽。

目标:完成一个安全帽佩戴检测系统。学习使用TensorFlow实现计算机视觉的对象检测技术(Object Detection, OD)。

性质:属于计算机视觉,属于实验单元。

实验时间

校历第六~第七周(10月23日-11月12日)

学生安排

  • 组织:
  1. 每4人一组:
  2. 每个助教指导一组;
  3. 现场拍照:章老师等
  • 要求:
  1. 每组同学建立课程wiki;
  2. 每组同学建立Gitlab_repo;

实验技术

实验步骤分为:

  1. 佩戴安全帽照片(每位同学三张:正面,侧面和后面),也可以邀请同学贡献一下。图片格式:"学号-x.png" or "学号.jpg", x为1,2,3 代表正面、侧面和后面。
  2. 每位同学标注数据,由助教负责汇总,形成训练数据集:60 x 3 =180张照片。标注格式见 说明。
  3. 分组选择模型、训练模型、提交模型。
  4. 助教测试评估模型,给出结果。

支撑技术

TensorFlow Python_TensorFlow_Basics

TensorFlow_Object_Detection

硬件平台

  • PC平台
  • PYNQ
  • Android平板
  • 英伟达TX1

训练数据集

数据采集

安全帽图片集

标注图片

参考文档

label_map

图像获取

以下为Windows 10平台为例。

安装opencv

安装Anaconda

在https://mirrors.tuna.tsinghua.edu.cn

下载安装 opencv

conda install -c conda-forge opencv

python opencv

使用摄像头捕获视频并显示

import cv2  
import numpy
import matplotlib.pyplot as plot
imcap = cv2.VideoCapture(0)
while(1):
   # get a frame
   ret, frame = imcap.read()
   # show a frame
   cv2.imshow("capture", frame)
   if cv2.waitKey(1) & 0xFF == ord('q'):
       break
imcap.release()
cv2.destroyAllWindows()

参考

  1. TensorFlow
  2. W. Liu et al., SSD: Single shot multibox detector. ECCV 2016.
  3. Huang J et al., "Speed/accuracy trade-offs for modern convolutional object detectors." CVPR 2017