最近老板在外面吹牛说我们可以做基于工地的监控,检测工人佩戴安全帽的情况。现在国内做图像识别的公司基本都是顶尖的技术公司了,可以参考的案例并不多,咨询了像海康这样的专门做视频的公司,销售人员说没有产品,可以做项目。那费用至少几十万上百万了。可海康官网明明说有检测安全帽功能的(心里暗骂一句,骗子)。找别人开发的成本太高,没办法只能硬着头皮上了。好在有一个图像处理神器opencv。只不过现在大多数的应用都是围绕在脸部,什么人脸检测啊,人脸识别啊。难得找到一个现成的行人检测分类器,经过测试发现效果还可以接受。附效果图一张。
绿框是检测到的行人。
# -*- coding: utf-8 -*-
# 行人检测
import cv2
from imutils.object_detection import non_max_suppression
from imutils import paths
from imutils.video import FileVideoStream
import numpy as np
import os,imutils
cap = FileVideoStream(r'E:\test-3_000130-000849.mp4').start()
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
frame_index =