事故检测项目开发总结

一·效果展示

1号——原视频;2号——最终视频;3号——光流法;4号——参数
在这里插入图片描述

二·环境要求

  • keras == 2.1.6
  • pillow == 6.1.0
  • pyQt5 == 5.13.0
  • matplotlib == 3.1.1
  • numpy == 1.16.4
  • opencv-python == 4.1.0.25
  • sklearn == 0.21.2
  • scipy == 1.2.1
  • tensorflow == 1.14.0

三·开发流程

1·判别条件

在这里插入图片描述

  • Curve_catastrophe.py :计算轨迹方向变化值,默认设置大于 25 度为轨迹突变
  • box_overlap.py:计算事故参与双方(车与车,人与车) box 重合度,默认大于0.2为潜在事故发生
  • speed_jump.py:计算目标速度是否发生突变,默认十帧之间速度变化率小于0.5则速度发生突变
  • central_offset.py:计算目标是否长时间保持固定,默认两帧之间中心点误差不超过图像宽度的0.02倍,则认为保持静止。默认为同时保持静止的两物体不会发生事故
  • line_cross.py:将物体轨迹延伸一定绝对距离以便做相交判断,默认延伸距离R=200
  • h_w:计算矩形框高宽比,用于筛选人与车。默认大于1.5的物体为人

2·光流视频

在这里插入图片描述

# 读取视频
cap = cv2.VideoCapture("E:/Project/Accident_Detection20190725/test_video/007.mp4")
ret, frame1 = cap.read()                        
prvs = cv2.cvtColor(frame1,cv2.COLOR_BGR2GRAY)
hsv = np.zeros_like(frame1)
hsv[...,1] = 255

while True:
    ret, frame2 = cap.read()
    next = cv2.cvtColor(frame2,cv2.COLOR_BGR2GRAY)
    # 稠密光流跟踪
    flow = cv2.calcOpticalFlowFarneback(prvs,next, None, 0.5, 3, 15, 3, 5, 1.2, 0)
    mag, ang = cv2.cartToPolar(flow[...,0], flow[...,1])  # 坐标系转换                                  
    hsv[...,0] = ang*180/np.pi/2
    hsv[...,2] = cv2.normalize(mag,None,0,255,cv2.NORM_MINMAX)         
    bgr = cv2.cvtColor(hsv,cv2.COLOR_HSV2BGR)
    cv2.imshow('frame2',bgr)
    k = cv2.waitKey(30) & 0xff
    if k == 27:
        break
    elif k == ord('s'):
        cv2.imwrite('opticalfb.png', frame2)
        cv2.imwrite('opticalhsv.png', bgr)
    prvs = next

cap.release()
cv2.destroyAllWindows()

3·数据输出

  • 疑似事故方数据
    在这里插入图片描述
    其中:速度参数需要先对相机标定,而后得到像素与米的换算关系才可以精准计算。本文采用半自动化得到换算关系,即借助鼠标键盘事件。
  • 图幅内所有对象的数据
    在这里插入图片描述

4·界面制作

在这里插入图片描述

四·总结与展望

1·总结

  • 判别条件是项目开发的重头戏,需要不断测试找到最佳的判别组合条件,同时找到合适的阈值
  • 光流法对于移动目标的检测十分有效,但受限于返回值,其对后续判别帮助有限;同时因为是传统算法,所以外界因素影响下,其准确度一般
  • yolo+deepsort算法是MOT检测与跟踪的不二之选,其速度与精度都很不错
  • 数据输出为csv文件,可以用excel打开,直观明了,方便操作

2·展望

  • 针对部分三轮车或电动车检测有误,后期应补充数据集继续训练网络
  • 针对事故场景多变复杂,后期应对事故类型进行分类,采用合适的判别条件及相应的阈值

五·鸣谢

  • 特别鸣谢事故检测开发组所有成员:* 子遥,* 沐 ,* 泽阳
  • 鸣谢视觉测控与智能导航实验室张老板以及临港六狼团队所有成员
发布了15 篇原创文章 · 获赞 14 · 访问量 1261

猜你喜欢

转载自blog.csdn.net/chiyukunpeng/article/details/98496839