CN111882861B - 一种基于边云融合的在线交通事件感知系统 - Google Patents

一种基于边云融合的在线交通事件感知系统 Download PDF

Info

Publication number
CN111882861B
CN111882861B CN202010507617.8A CN202010507617A CN111882861B CN 111882861 B CN111882861 B CN 111882861B CN 202010507617 A CN202010507617 A CN 202010507617A CN 111882861 B CN111882861 B CN 111882861B
Authority
CN
China
Prior art keywords
vehicle
lane
image
empty
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010507617.8A
Other languages
English (en)
Other versions
CN111882861A (zh
Inventor
高飞
何伟荣
戴红涛
吴宗林
卢书芳
翁立波
葛一粟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Haoteng Electron Technology Co ltd
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang Haoteng Electron Technology Co ltd
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Haoteng Electron Technology Co ltd, Zhejiang University of Technology ZJUT filed Critical Zhejiang Haoteng Electron Technology Co ltd
Priority to CN202010507617.8A priority Critical patent/CN111882861B/zh
Publication of CN111882861A publication Critical patent/CN111882861A/zh
Application granted granted Critical
Publication of CN111882861B publication Critical patent/CN111882861B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/097Supervising of traffic control systems, e.g. by giving an alarm if two crossing streets have green light simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Traffic Control Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于边云融合的在线交通事件感知系统包括边缘端视频设备、光纤、云端视频存储平台、千兆网线、千兆路由器及云端分析服务器,边缘端视频设备通过光纤与云端视频存储平台连接,云端视频存储平台通过千兆网线与千兆路由器相连,同时边缘端视频设备通过光纤与千兆路由器相连,千兆路由器通过千兆网线与云端分析服务器相连;本发明具有的主要有益效果为:(1)本发明既适用于对接边缘端视频设备,同时也可适用于对接云端视频存储平台,具有扩展性强、可分布式部署等优点;(2)本发明无须在前端增加设备,只需增加分析服务器,可充分利用已经建设好的旧的传统非智能相机,为县乡村级安全防护工程提供了智能分析。

Description

一种基于边云融合的在线交通事件感知系统
技术领域
本发明涉及视频图像处理领域,具体涉及一种基于边云融合的在线交通事件感知系统。
背景技术
智能交通系统(Intelligent Transportation System,ITS)建立在完善的道路检测设备的基础之上,并通过计算机视觉、自动化控制技术、数据编码及传输技术来加强交通运载工具、用户与监管部门之间的联系,提高交通系统整体的可控性与有序性,以实现提升系统运行效率,降低事故发生率,减小环境污染为目标的综合系统。美国智能交通学会(ITSAmerica)最早于上世纪60年代提出ITS的概念,并迅速在世界各国的得到推广。目前美国、欧洲、日本等都有自己的一套完善的ITS系统,其中日本的道路交通情报通信系统(VehicleInformation and Communication System,VICS)[7]已累积创产值600亿美元。
道路交通事件检测系统作为ITS中最为重要的部分,是提高交通系统整体运行效率的前提和保障。道路交通事件的主体为车,对车辆的检测是其中基础环节,目前车辆检测主要可以分为3类方法:1)磁频类车辆检测,在交叉路口地面以下埋设磁感线圈来感应经过的车辆,并结合信号灯状态来触发卡口摄像机抓拍视频或照片;2)波频类车辆检测,该技术的原理为车辆在经过卡口时会改变附近能量波的状态,因此可以在路口上方或侧边安装超声波、微波或红外检测器来探测经过车辆;3)视频类车辆检测,将计算机视觉、模式识别与视频图像处理技术结合的一种新型技术,也代表了未来道路交通事件检测的方向。它用视频相机作为传感器,并设置虚拟检测区域,当车辆进入虚拟检测区域时引发灰度等特征的改变,通过计算机分析这些特征,从而完成对车辆的检测,并结合预先标定的车道,信号灯等信息而对车辆违法行为做出判断。综上所述,磁频检测器大多需要在路面以下铺设线圈,安装和维护都需要破坏路面,成本较大;波频检测器具有多车道检测、车速检测等优点,但易受到铁质隔离带的干扰,受环境温度影响较大,对环境要求较高;视频检测在具有较大的灵活性的同时还具备提供各类重要的交通管理信息的优点。
对于路口车辆行为感知主要可以分为物理设备检测方法以及视频检测方法两大类,其中物理设备检测方法以激光、超声波等辅助设备为主,具有较高的精确度,但也存在设备从成本投入,后期维护等问题;而视频检测除了必要的监控摄像机外,无需额外设备,其精度取决于监控摄像机的所能提高的像素。目前,已经有很多基于视频分析的交通事件感知方法,其中与本发明最接近的方案包括:发明专利(一种大长隧道交通事件实时检测方法及检测系统,申请号:201610926104.4)通过在大长隧道的出入口安装摄像机,然后采集出入口的车牌信息,通过时间比对判断在大长隧道内的交通事件;发明专利(基于视频监控的城市道路交通事件检测系统,申请号:201810827255.3)主要通过实时图像与标准参考图像的灰度差值来判断目标,该方案并不准确,且无法区分行人和车辆,也无法区分车型;发明专利(一种基于视频分析的交通事件检测系统,申请号:20170504134.0)仅实现了跨线、闯红灯、不按导向行驶、车辆数、车速等交通事件及参数的采集;发明专利(道路事件检测系统,申请号:201811637853.0)主要通过背景刷新的方法识别目标,该方案仍然没有提供区分行人和车辆的方法,也无法识别车型;发明专利(交通事件检测方法、装置、设备及存储介质,申请号:201910356424.4)主要为了获取交通流量、速度等交通参数;发明专利(一种大区域多目标交通事件检测系统及方法,申请号:201911017416.3)利用微波实时探测目标位置,然后通过视频检测器获取目标的位置、速度、车型、车道,进一步检测限速,该方案功能比较单一;海康威视发布了““雷视合一”、融合感知的交通检测神器”(中国公共安全,2019,10:1-2)将雷达与视频分析融合至一台装置内,实现了超速事件的实时检测;文献(孟芯宇,魏珍琦,杜瑞,刘涵。基于图像的多条件融合交通事件检测技术研究。交通世界,2019,22:10-11)高速逆行、停车、碰撞等交通事件的检测;文献(郜义浩,高志权,张明月,杨——刘星宇。基于YOLOv3和KCF的高速公路监控视频交通事件检测。中国交通信息化,2019,S1:197-201)采用基于YOLOv3的目标检测和基于KCF的目标跟踪方法实现了高速公路行人、停车和逆行三类事件的检测;文献(朱文兴,刘晓亮,赵成龙。基于跟踪算法和模糊推理的交通事件检测方法。数据采集与处理,2016,31(6):1115-1126)采用背景差分法实现车辆检测,同时采用卡尔漫滤波方法实现车辆跟踪,进而采用模糊推理方法实现交通事件判别,该方法无法判别具体的交通事件。
综上所述,现有交通事件大多数嵌入在边缘端,可检测交通事件的数量较少;少数采用云端方式,但其检测事件类型仍比较单一,扩展性较差,采用的方法通常为背景差分法,准确率较低,或者采用YOLOv3及KCF进行目标检测与跟踪,但其实时性较差。
发明内容
为克服上述不足,本发明提供了一种基于边云融合的在线交通事件感知系统,采用图像分析与检测技术进行各种交通事件的感知。
一种基于边云融合的在线交通事件感知系统包括边缘端视频设备、光纤、云端视频存储平台、千兆网线、千兆路由器及云端分析服务器,边缘端视频设备通过光纤与云端视频存储平台连接,云端视频存储平台通过千兆网线与千兆路由器相连,同时边缘端视频设备通过光纤与千兆路由器相连,千兆路由器通过千兆网线与云端分析服务器相连;云端视频存储平台实时记录边缘端视频设备采集的交通图像;云端分析服务器内置交通事件感知软件,用户可通过感知软件提供的接口选择功能选择从边缘端视频设备或云端视频存储平台获取实时交通图像,交通事件感知软件提供初始化、码流获取线程和分析线程实现包括车辆压线行驶、车辆闯红灯、车辆不按导向行驶事件、车辆在斑马线前未礼让行人、车辆逆向行驶、车辆非法占用公交车道、车辆非法占用非机动车道、车辆违法掉头、信号灯故障、路口溢出、车辆非法越线停车、车辆不按规定与前车保持必要的安全距离、路面异常停车、非机动车占用机动车道、行人上高架或高速、货车上高架和车辆右转或高速下匝时未打右转向灯在内的多种事件感知功能;
所述的一种基于边云融合的在线交通事件感知系统,其特征在于,所述的交通事件感知软件的初始化实现步骤如下:
步骤1:定义集合及变量,具体为:
(A)交通事件集合VTYPE={CROSS,RUN_RED_LIGHT,NO_GUIDANCE,PED,CONVERSE,COVER_BUS_LANE,COVER_NON_VEHICLE_LANE,IILEGAL_TURN,LIGHT,OVERFLOW,OVER_LINE,FOLLOW_CLOSE,ABNORMAL_STOP,NON_VEHICLE_COVER_LANE,PED_ON_ROAD,TRUCK_ON_ELEVATED_ROAD,NO_RIGHT_LIGHT_ON,NONE},CROSS表示车辆压线行驶事件,RUN_RED_LIGHT表示车辆闯红灯事件,NO_GUIDANCE表示车辆不按导向行驶事件,PED表示车辆在斑马线前未礼让行人事件,CONVERSE表示车辆逆向行驶事件,COVER_BUS_LANE表示车辆非法占用公交车道事件,COVER_NON_VEHICLE_LANE表示车辆非法占用非机动车道事件,IILEGAL_TURN表示车辆违法掉头事件,LIGHT表示信号灯故障事件,OVERFLOW表示路口溢出事件,OVER_LINE表示车辆非法越线停车事件,FOLLOW_CLOSE表示车辆不按规定与前车保持必要的安全距离事件,ABNORMAL_STOP表示路面异常停车事件,NON_VEHICLE_COVER_LANE表示非机动车占用机动车道事件,PED_ON_ROAD表示行人上高架或高速事件,TRUCK_ON_ELEVATED_ROAD表示货车上高架事件,NO_RIGHT_LIGHT_ON表示车辆右转或高速下匝时未打右转向灯事件,NONE表示无交通事件;
(B)信号灯状态集合LSTATE={GREEN,YELLOW,RED},GREEN表示信号灯为绿灯,YELLOW表示信号灯为黄灯,RED表示信号灯为红灯;
(C)车道属性集合LPROPERTY={LEFT,LEFT_DIRECT,DIRECT,RIGHT,RIGHT_DIRECT,NONE_LIGHT},LEFT表示左转车道,LEFT_DIRECT表示左转直行车道,DIRECT表示直行车道,RIGHT表示右转车道,RIGHT_DIRECT表示右转直行道,NONE_LIGHT表示不限制车道;
(D)车道类型集合LANETYPE={BUS_LANE,VEHICLE_LANE,NON_VEHICLE_LANE},BUS_LANE表示公交车道,VEHICLE_LANE表示机动车道,NON_VEHICLE_LANE表示非机动车道;
(E)车辆跟踪消失方向集合DISAPPEAR={LEFT_DISA,RIGHT_DISA,DIRECT_DISA,EDGE_DISA,NONE_DISA},LEFT_DISA表示车辆消失在图像左边,RIGHT_DISA表示车辆消失在图像右边,DIRECT_DISA表示车辆消失在直行方向,EDGE_DISA表示车辆消失在图像边界,NONE_DISA表示车辆未消失;
(F)行人行进方向集合PED_DIRECT={NO_DIRECTION,LEFT_RIGHT,RIGHT_LEFT},INIT表示无方向,LEFT_RIGHT表示行人从左向右,RIGHT_LEFT表示行人从右向左;
(G)车型集合VEHICLETYPE={CAR,BUS,TRUCK,MOTOR,BICYCLE,TRICYCLE},CAR表示普通家用汽车,BUS表示大巴车,TRUCK表示货车,MOTOR表示摩托车,BICYCLE表示自行车,TRICYCLE表示三轮车;
(H)行人跟踪集合表示为P={<pj=<pxj,pyj,pwj,phj>,pdj>|j=1,2,…,m},pj表示第j个行人的包络框,(pxj,pyj)表示左上角的坐标,pwj和phj分别表示pj的宽度和高度,pdj表示第j个行人的行进方向,pdj∈PED_DIRECT,m表示集合P中的行人数量;
(I)车辆跟踪集合表示为C={<ci=<cxi,cyi,cwi,chi>,c1i=<c1xi,c1yi,c1wi,c1hi>,c2i=<c2xi,c2yi,c2wi,c2hi>,c3i=<c3xi,c3yi,c3wi,c3hi>,lanei,lpropi,light1i,light2i,light3i,t1i,t2i,t3i,CSi,CI1i,CI2i,CI3i,vti,cti,rti,tni,di>|i=1,2,…,n},n表示集合C中的车辆数量,ci表示第i辆车当前的包络矩形框,(cxi,cyi)表示ci左上角的坐标,cwi和chi分别表示ci的宽和高,c1i表示在t1i时刻获取到的第i辆车的包络矩形框,(c1xi,c1yi)表示c1i左上角的坐标,c1wi和c1hi分别表示c1i的宽和高,light1i表示对应于车道号lanei在t1i时刻的信号灯状态,CI1i表示在t1i时刻的完整图像,c2i表示在t2i时刻获取到的第i车辆的包络矩形框,(c2xi,c2yi)表示c2i左上角的坐标,c2wi和c2hi分别表示c2i的宽和高,light2i表示对应于车道号lanei在t2i时刻的信号灯状态,CI2i表示在t2i时刻的完整图像,c3i表示在t3i时刻获取到的第i车辆的包络矩形框,(c3xi,c3yi)表示c3i左上角的坐标,c3wi和c3hi分别表示c3i的宽和高,light3i表示对应于车道号lanei在t3i时刻的信号灯状态,CI3i表示在t3i时刻的完整图像,lanei表示车道号,lpropi表示车道属性,lpropi∈LPROPERTY,light1i∈LSTATE,light2i∈LSTATE,light3i∈LSTATE,vti表示发生的交通事件,vti∈VTYPE,cti表示车型,cti∈VEHICLETYPE,rti表示右转向灯点亮的次数,tni表示第i辆车在整个视频中存在的帧数,di表示车辆跟踪的消失方向,di∈DISAPPEAR,CSi表示对应于c1i包络框从图像CI1i中截取的放大的车辆图像,CSi与CI1i大小一样;
步骤2:系统初始化,启动分析线程,具体步骤为:
步骤2.1:从标定系统中读取每路相机参数,包括相机编码、相机IP地址、相机登录名、相机登录密码、相机登录端口、通道号;
步骤2.2:从标定系统中读取该路相机对应的信号灯集合L={<li,lri>|i=1,2,…,K},li∈LSTATE,lri=<lxi,lyi,lwi,lhi>表示对应于li在图像中的标定区域,(lxi,lyi)表示信号灯区域lri左上角的坐标,lwi和lhi分别表示信号灯区域lri的宽度和高度,K为该路相机画面中从左至右的信号灯数量;
步骤2.3:构建信号灯状态队列
Figure BDA0002527112880000041
表示第t次采集到的第i个信号灯的状态,
Figure BDA0002527112880000042
步骤2.4:构建路口溢出车辆数量队列CQ={qt|t=1,2,…},qt表示第t次检测到的车辆数;
步骤2.5:构建图像队列IQ={<imr,tmr>|r=1,2,…},imr表示从边缘端视频设备或云端视频存储平台获取的第r幅图像,tmr表示获取imr时的时刻;
步骤2.6:从标定系统中读取该路相机对应的车道集合LANE={<lidk,llsk,llek,lrsk,lrek,lpk,ltk>|k=1,2,…,E},lpk表示车道属性,lpk∈LPROPERTY,lidk∈[1,K],lidk表示第k条车道对应的信号灯的序号,E表示车道数量,k表示车道号,ltk表示车道类型,ltk∈LANETYPE;初始化L中的所有li=GREEN,第k条车道由左边车道线和右边车道线构成,左边车道线用
Figure BDA0002527112880000043
表示,
Figure BDA0002527112880000044
的两个端点分别由llsk和llek表示,右边车道线
Figure BDA0002527112880000045
表示,
Figure BDA0002527112880000046
两个端点分别由lrsk和lrek表示,(llsk.x,llsk.y)表示llsk的坐标,(llek.x,llek.y)表示llek的坐标,(lrsk.x,lrsk.y)表示lrsk的坐标,(lrek.x,lrek.y)表示lrek的坐标;
步骤2.7:初始化C和P为空集合;初始化LQ为空队列;初始化CQ为空队列;初始化IQ为空队列;
步骤2.8:针对每路视频根据连接参数登录边缘端视频设备或云端视频存储平台,启动码流获取线程和分析线程;
所述的一种基于边云融合的在线交通事件感知系统,其特征在于,所述的交通事件感知软件的码流获取线程,具体步骤如下:
步骤3.1:根据用户对接口的选择,从边缘端视频设备或云端视频存储平台获取图像IM,同时将图像获取的时刻记为TM;
步骤3.2:若|IQ|<IQNUM0,则将<IM,TM>添加至IQ队列中;其中,|.|表示获取集合或队列的元素个数;IQNUM0表示IQ允许的最大元素个数;
步骤3.3:转步骤3.1;
所述的一种基于边云融合的在线交通事件感知系统,其特征在于,所述的交通事件感知软件的分析线程,具体步骤如下:
步骤4.1:若|IQ|<2,则等待100毫秒,转步骤4.1;否则,从IQ的队首取出一个元素,并将取出的元素的图像记为I,取出的元素的时刻为记为time,同时将I的宽度记为WIDTH,高度记为HEIGHT;
步骤4.2:若信号灯集合L非空,则检测信号灯状态,并更新集合L,具体为:针对每个信号灯区域lri,令lrgi=<lrgxi,lrgyi,lrgwi,lrghi>表示绿灯兴趣区域,(lrgxi,lrgyi)表示区域lrgi左上角的坐标,lrgwi和lrghi分别表示区域lrgi的宽度和高度,lrri=<lrrxi,lrryi,lrrwi,lrrhi>表示红灯兴趣区域,(lrrxi,lrryi)表示区域lrri左上角的坐标,lrrwi和lrrhi分别表示区域lrri的宽度和高度;若lhi>1.5*lwi,则分别根据式(4-1)和(4-2)计算lrgi和lrri;否则,分别根据式(4-3)和(4-4)计算lrgi和lrri;根据式(4-5)更新li
Figure BDA0002527112880000051
Figure BDA0002527112880000052
Figure BDA0002527112880000053
Figure BDA0002527112880000054
Figure BDA0002527112880000055
其中,bgrR表示对应于区域lrri的子图像的三通道平均灰度值,bgrR.R表示bgrR的红色分量值,bgrG表示对应于区域lrgi的子图像的三通道平均灰度值,bgrG.R、bgrG.G和bgrG.B分别表示bgrG的红色、绿色和蓝色分量值,RED_THRESHOLD表示红灯判断阈值,RED_THRESHOLD∈[100,255],GREEN_THRESHOLD表示绿灯判断阈值,GREEN_THRESHOLD∈[100,255];
步骤4.3:设标定的目标检测区域为CR,CR对应的彩色图像为CI,对CI进行背景建模,并进行形态学操作,然后进行二值化,得到目标检测区域二值图像BI,若BI的平均灰度值为0,则转步骤4.7;
步骤4.4:进行行人检测,具体方法为:搜索BI中的连通区域,对每个连通区域,若其宽高比大于等于行人宽高比阈值WHP0,则采用机器学习方法对该连通区域进行行人检测,若检测到行人,将检测到的行人换算到图像I坐标下的包络框记为np=<npx,npy,npw,nph>,(npx,npy)表示包络框np左上角的坐标,npw表示包络框np的宽度,nph表示包络框np的高度;若np满足式(4-6),则将<np,NO_DIRECTION>添加到集合P中;
Figure BDA0002527112880000061
其中,SP表示np与pj的交集框,∩表示求交集,SP.w表示SP的宽度,SP.h表示SP的高度,AP0表示行人面积比值的阈值,WP0表示行人宽度比值的阈值,HP0表示行人高度比值的阈值;
作为可选的,进行行人检测时,还可以采用如下方法:采用轻量级卷积神经网络模型直接对目标检测区域CR进行行人检测,假设对检测到的每个行人换算到图像I坐标下的包络框仍表示为np=<npx,npy,npw,nph>,若np满足式(4-6),将<np,NO_DIRECTION>添加到集合P中;
步骤4.5:进行车辆检测,具体为:设置临时变量NUM=0;搜索BI中的连通区域,对每个连通区域,若其宽高比大于或等于车辆宽高比阈值WHC0,则采用机器学习方法对该连通区域进行车辆检测,若检测到车辆,则设置NUM=NUM+1,并将检测到的车辆换算到图像I坐标下的包络框记为nc=<ncx,ncy,ncw,nch>,同时将检测到的车辆类型记为type,type∈VEHICLETYPE,(ncx,ncy)表示包络框nc左上角的坐标,ncw表示包络框nc的宽度,nch表示包络框nc的高度;根据nc计算所在的车道号并用变量g表示,g满足式(4-7);根据g从集合LANE中找到第g条车道对应的车道属性lpg;根据g从集合LANE中找到对应的信号灯编号为lidg,再根据lidg从集合L中找到第lidg个信号灯状态
Figure BDA0002527112880000062
若nc满足式(4-8),则将<nc,nc,EMPTY,EMPTY,g,lpg,
Figure BDA0002527112880000063
GREEN,GREEN,time,0,0,cs,I,NULL,NULL,NONE,type,0,0,NONE_DISA>添加到集合C中;
Figure BDA0002527112880000064
Figure BDA0002527112880000065
其中,SC表示nc与ci的交集框,A(.)表示面积计算公式,SC.w表示SC的宽度,SC.h表示SC的高度,AC0表示车辆面积比值的阈值,AC0∈[0.2,0.4],WC0表示车辆宽度比值的阈值,WC0∈[0.3,0.6],HC0表示车辆高度比值的阈值,HC0∈[0.3,0.6],cs表示根据包络框nc从I截取车辆图像并放大到与I一样大小的图像,EMPTY表示<0,0,0,0>,NULL表示空图像;
作为可选的,进行车辆检测时,还可以采用如下方法:采用轻量级卷积神经网络模型直接对目标检测区域CR进行车辆检测,假设对检测到的每辆车换算到图像I坐标下的包络框仍表示为nc=<ncx,ncy,ncw,nch>,同时将检测到的车辆类型记为type,type∈VEHICLETYPE;根据nc计算所在的车道号并用变量g表示,g满足式(4-7);根据g从集合LANE中找到第g条车道对应的车道属性lpg;根据g从集合LANE中找到对应的信号灯编号为lidg,再根据lidg从集合L中找到第lidg个信号灯状态
Figure BDA0002527112880000071
若nc满足式(4-8),则将<nc,nc,EMPTY,EMPTY,g,lpg,
Figure BDA0002527112880000072
GREEN,GREEN,time,0,0,cs,I,NULL,NULL,NONE,type,0,0,NONE_DISA>添加到集合C中;
步骤4.6:若目标检测区域CR为十字路口,若|CQ|≥Q0,则将队列CQ中的队首记录删除;将NUM添加到队列CQ的队尾,其中,|.|表示求元素个数,Q0表示队列CQ允许的最大元素个数;
步骤4.7:对C中的每辆车进行交通事件感知,具体为:
步骤4.7.1:采用跟踪算法对C中第i辆车进行跟踪,i=1,2,…,n,得到新的第i辆车的包络框ci;根据式(4-9)设置vti;设置tni=tni+1;若lpropi=RIGHT,则采用轻量级深度卷积神经网络模型检测第i辆车的右转向灯是否点亮,若检测到点亮的右转向灯,则设置rti=rti+1;
Figure BDA0002527112880000073
其中,CD0表示逆向行驶的最小距离阈值;
步骤4.7.2:采用跟踪算法对P中任意第j个行人进行跟踪,并设跟踪到的第j个行人换算到图像I的坐标下的包络框为p′j=<px′j,py′j,pw′j,ph′j>,并根据式(4-10)设置pdj,然后设置pj=p′j;其中,(px′j,py′j)表示p′j左上角的坐标,pw′j和ph′j分别表示p′j的宽和高;
Figure BDA0002527112880000074
其中,PD0表示行人移动位移的最小阈值;
步骤4.7.3:若c2i=EMPTY且cyi>Y0,定义线段lsi,令lsi的起点和终点坐标分别为(lsbxi,lsbyi)和(lsexi,lseyi),它们根据式(4-11)计算,若存在车道线与lsi相交,则设置c2i=ci,CI2i=I,vti=CROSS,t2i=time;
Figure BDA0002527112880000075
其中,α表示违法压线事件感知调整系数,α∈{1,2,3,4,5},Y0表示红灯停止线的纵坐标;
步骤4.7.4:根据lanei从集合LANE中找到对应的信号灯编号为
Figure BDA0002527112880000076
设置临时变量
Figure BDA0002527112880000077
再根据tmp从集合L中找到第tmp个信号灯的状态ltmp;然后按如下步骤执行:
步骤4.7.4.1:若c2i=EMPTY且(cyi+chi)<Y0,则设置c2i=ci,CI2i=I,light2i=ltmp,t2i=time,若满足式(4-12),则设置vti=PED,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=PED,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
Figure BDA0002527112880000081
其中,
Figure BDA0002527112880000082
表示存在一个整数r;
步骤4.7.4.2:若c2i≠EMPTY且c3i=EMPTY且(cyi+chi)<YD0,则设置c3i=ci,CI3i=I,light3i=ltmp,t3i=time,di=DIRECT_DISA,YD0表示跟踪直行车辆的极限纵坐标,转步骤4.1;
步骤4.7.4.3:若c2i≠EMPTY且c3i=EMPTY且(cxi+cwi)<XL0,则令c3i=ci,CI3i=I,light3i=ltmp,light3i=ltmp,t3i=time,di=LEFT_DISA,XL0表示跟踪左转弯车辆的极限横坐标,转步骤4.1;
步骤4.7.4.4:若c2i≠EMPTY且c3i=EMPTY且cxi>XR0,XR0表示跟踪右转弯车辆的极限横坐标,则设置c3i=ci,CI3i=I,light3i=ltmp,t3i=time,di=RIGHT_DISA,转步骤4.1;
步骤4.7.4.5:若c2i≠EMPTY且c3i=EMPTY且(cxi≤0||cyi≤0||(cxi+cwi)≥WIDTH||(cyi+chi)≥HEIGHT),则设置c3i=ci,CI3i=I,light3i=ltmp,t3i=time,di=EDGE_DISA,转步骤4.1;
步骤4.7.4.6:若c2i=EMPTY且vti=CONVERSE,则设置c2i=ci,CI2i=I,t2i=time,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=CONVERSE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.7:若c2i=EMPTY且从集合LANE中找到第lanei条车道对应的车道类型
Figure BDA0002527112880000085
则设置c2i=ci,CI2i=I,t2i=time,vti=COVER_BUS_LANE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=COVER_BUS_LANE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.8:若c2i=EMPTY且从集合LANE中找到第lanei条车道对应的车道类型
Figure BDA0002527112880000086
则设置c2i=ci,CI2i=I,t2i=time,vti=COVER_NON_VEHICLE_LANE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=COVER_NON_VEHICLE_LANE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.9:若c2i≠EMPTY且c3i=EMPTY且(cyi+chi)>YD0且满足式(4-13),则设置c3i=ci,CI3i=I,t3=time,vti=OVER_LINE,转步骤4.1;
Figure BDA0002527112880000083
其中,OSC0表示越线停车时车辆包络框面积相交的比例阈值,OSC0∈[0.5,1.0],OT0表示越线停车时停留的时间阈值,单位为秒;在本实施例中,OSC0=0.8,OT0=60;
步骤4.7.4.10:若本系统部署在高速上,若c2i=EMPTY且cyi>YD0且满足式(4-14),则设置c2i=ci,CI2i=I,t2i=time,vti=FOLLOW_CLOSE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=FOLLOW_CLOSE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
Figure BDA0002527112880000084
其中,DIST表示高速上标定的跟车距离阈值;
步骤4.7.4.11:若c2i≠EMPTY且c3i=EMPTY且满足式(4-15),则设置c3i=ci,CI3i=I,t3i=time,vti=ABNORMAL_STOP,转步骤4.1;
Figure BDA0002527112880000091
其中,SA0表示路面异常停车时车辆包络框面积相交的比例阈值,SA0∈[0.5,1.0],ST0表示路面异常停车时停留的时间阈值,单位为秒;
步骤4.7.4.12:若c2i=EMPTY且(cti=MOTOR||cti=BICYCLE||cti=TRICYCLE)且从集合LANE中找到第lanei条车道对应的车道类型
Figure BDA0002527112880000092
不等于NON_VEHICLE_LANE,则设置c2i=ci,CI2i=I,t2i=time,vti=NON_VEHICLE_COVER_LANE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=NON_VEHICLE_COVER_LANE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.13:若系统部署于高架的监控场景且c2i=EMPTY且cti=TRUCK,则设置c2i=ci,CI2i=I,t2i=time,vti=TRUCK_ON_ELEVATED_ROAD,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=TRUCK_ON_ELEVATED_ROAD,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.5:针对行人集合P中的每个行人,若其中心点已经超出目标检测区域CR的范围,则将其从集合P中移除;
步骤4.7.6:根据不同情况实现交通事件感知,具体为:
(1)车辆压线行驶事件感知:若c2i≠EMPTY且vti=CROSS,则设置c3i=ci,CI3i=I,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(2)车辆闯红灯事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=NONE且满足式(4-16),设置vti=RUN_RED_LIGHT,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
lpropi≠NONE_LIGHT&&light1i=RED&&light2i=RED&&light3i=RED (4-16)
(3)车辆不按导向行驶事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=NONE且满足式(4-17),设置vti=NO_GUIDANCE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
Figure BDA0002527112880000093
(4)车辆在斑马线前未礼让行人事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=PED,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(5)车辆逆向行驶事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=CONVERSE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(6)车辆非法占用公交车道事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=COVER_BUS_LANE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(7)车辆非法占用非机动车道事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=COVER_NON_VEHICLE_LANE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(8)车辆违法掉头事件感知:若c2i≠EMPTY且c3i≠EMPTY且di=EDGE_DISA且((c1yi>c2yi&&c3yi>c2yi)||(c1yi<c2yi&&c3yi<c2yi)),设置vti=IILEGAL_TURN,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(9)信号灯故障事件感知:若|LQ|≥T0,则将队列LQ中的队首记录删除;将<l1,l2,…,lK>添加到队列LQ的队尾,其中,|.|表示求元素个数,T0表示队列LQ允许的最大元素个数;对信号灯状态进行判断,若第q个信号灯状态满足式(4-18),则说明第q个信号灯存在故障,则保存图像I,并在该图像标记信号灯故障LIGHT;
Figure BDA0002527112880000101
(10)路口溢出事件感知:若目标检测区域CR为十字路口且满足式(4-19),则说明十字路口存在交通溢出事件,保存图像I,并在该图像标记路口溢出事件OVERFLOW;其中,OF表示路口溢出的阈值;
Figure BDA0002527112880000102
(11)车辆非法越线停车事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=OVER_LINE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(12)车辆不按规定与前车保持必要的安全距离事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=FOLLOW_CLOSE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(13)路面异常停车事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=ABNORMAL_STOP,将图像CI1i和CI2i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(14)非机动车占用机动车道事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=NON_VEHICLE_COVER_LANE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(15)行人上高架或高速事件感知:若系统部署于高架、高速路的监控场景,若|P|>0,则将行人上高架或高速PED_ON_ROAD事件类型标记在图像I中并进行保存,清空P,转步骤4.1;
(16)货车上高架事件感知:若系统部署于高架的监控场景,且c2i≠EMPTY且c3i≠EMPTY且vti=TRUCK_ON_ELEVATED_ROAD,则将图像CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
(17)车辆右转或高速下匝道未打转向灯事件感知:若c2i≠EMPTY且c3i≠EMPTY且di=RIGHT_DISA且满足式(4-20),则设置vti=NO_RIGHT_LIGHT_ON,将图像CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤3.1;
Figure BDA0002527112880000111
其中,TN0表示未打转向灯的占比阈值,0≤TN0≤0.5。
与现有技术相比,本发明具有的主要有益效果为:(1)本发明既适用于对接边缘端视频设备,同时也可适用于对接云端视频存储平台,具有扩展性强、可分布式部署等优点;(2)本发明无须在前端增加设备,只需增加分析服务器,可充分利用已经建设好的旧的传统非智能相机,为县乡村级安全防护工程提供了智能分析;(3)本发明在统一的系统框架内同时提供多达17种交通事件检测,不仅包括传统的违法行为感知功能,而且具有信号灯故障、路口溢出等非违法类交通事件实时感知功能,此外,它们可根据实际需要进行选配,具有良好的适配性和扩展性;(4)本发明特有的融合背景建模与传统机器学习方法的车辆或行人检测思路,不仅保证了系统的实时性,而且保证了准确性;(5)本发明还可以用于离线的交通事件感知。
附图说明
图1为系统构成;
图2为红灯停止线、逆向行驶的最小距离标定线、左转跟踪停止线、直行跟踪停止线、右转跟踪停止线示意图;
图3为行人移动位移的最小阈值标定线示意图;
图4为跟车最小距离标定线示意图。
图5为车辆压线行驶事件感知结果示例;
图6为车辆闯红灯事件感知结果示例;
图7为车辆不按导向行驶事件感知结果示例;
图8为车辆在斑马线前未礼让行人事件感知结果示例;
图9为车辆逆向行驶事件感知结果示例;
图10为车辆非法占用公交车道事件感知结果示例;
图11为车辆非法占用非机动车道事件感知结果示例;
图12为车辆违法掉头事件感知结果示例;
图13为信号灯故障事件感知示意图;
图14为车辆不按规定与前车保持必要的安全距离事件感知结果示例;
图15为路面异常停车事件感知结果示例;
图16为行人上高架或高速事件感知结果示例;
图17为货车上高架事件感知结果示例;
图18为车辆右转或高速下匝道未打转向灯事件感知结果示例。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
如图1所示,所述的一种基于边云融合的在线交通事件感知系统由边缘端视频设备、光纤、云端视频存储平台、千兆网线、千兆路由器和云端分析服务器构成,边缘端视频设备通过光纤与云端视频存储平台连接,云端视频存储平台通过千兆网线与千兆路由器相连,同时边缘端视频设备通过光纤与千兆路由器相连,千兆路由器通过千兆网线与云端分析服务器相连;云端视频存储平台实时记录边缘端视频设备采集的交通图像;云端分析服务器内置交通事件感知软件,用户可通过感知软件提供的接口选择功能选择从边缘端视频设备或云端视频存储平台获取实时交通图像,交通事件感知软件提供初始化、码流获取线程和分析线程实现包括车辆压线行驶、车辆闯红灯、车辆不按导向行驶事件、车辆在斑马线前未礼让行人、车辆逆向行驶、车辆非法占用公交车道、车辆非法占用非机动车道、车辆违法掉头、信号灯故障、路口溢出、车辆非法越线停车、车辆不按规定与前车保持必要的安全距离、路面异常停车、非机动车占用机动车道、行人上高架或高速、货车上高架和车辆右转或高速下匝时未打右转向灯在内的多种事件感知功能;
所述的交通事件感知软件的初始化实现步骤如下:
步骤1:定义集合及变量,具体为:
(A)交通事件集合VTYPE={CROSS,RUN_RED_LIGHT,NO_GUIDANCE,PED,CONVERSE,COVER_BUS_LANE,COVER_NON_VEHICLE_LANE,IILEGAL_TURN,LIGHT,OVERFLOW,OVER_LINE,FOLLOW_CLOSE,ABNORMAL_STOP,NON_VEHICLE_COVER_LANE,PED_ON_ROAD,TRUCK_ON_ELEVATED_ROAD,NO_RIGHT_LIGHT_ON,NONE},CROSS表示车辆压线行驶事件,RUN_RED_LIGHT表示车辆闯红灯事件,NO_GUIDANCE表示车辆不按导向行驶事件,PED表示车辆在斑马线前未礼让行人事件,CONVERSE表示车辆逆向行驶事件,COVER_BUS_LANE表示车辆非法占用公交车道事件,COVER_NON_VEHICLE_LANE表示车辆非法占用非机动车道事件,IILEGAL_TURN表示车辆违法掉头事件,LIGHT表示信号灯故障事件,OVERFLOW表示路口溢出事件,OVER_LINE表示车辆非法越线停车事件,FOLLOW_CLOSE表示车辆不按规定与前车保持必要的安全距离事件,ABNORMAL_STOP表示路面异常停车事件,NON_VEHICLE_COVER_LANE表示非机动车占用机动车道事件,PED_ON_ROAD表示行人上高架或高速事件,TRUCK_ON_ELEVATED_ROAD表示货车上高架事件,NO_RIGHT_LIGHT_ON表示车辆右转或高速下匝时未打右转向灯事件,NONE表示无交通事件;
(B)信号灯状态集合LSTATE={GREEN,YELLOW,RED},GREEN表示信号灯为绿灯,YELLOW表示信号灯为黄灯,RED表示信号灯为红灯;
(C)车道属性集合LPROPERTY={LEFT,LEFT_DIRECT,DIRECT,RIGHT,RIGHT_DIRECT,NONE_LIGHT},LEFT表示左转车道,LEFT_DIRECT表示左转直行车道,DIRECT表示直行车道,RIGHT表示右转车道,RIGHT_DIRECT表示右转直行道,NONE_LIGHT表示不限制车道;
(D)车道类型集合LANETYPE={BUS_LANE,VEHICLE_LANE,NON_VEHICLE_LANE},BUS_LANE表示公交车道,VEHICLE_LANE表示机动车道,NON_VEHICLE_LANE表示非机动车道;
(E)车辆跟踪消失方向集合DISAPPEAR={LEFT_DISA,RIGHT_DISA,DIRECT_DISA,EDGE_DISA,NONE_DISA},LEFT_DISA表示车辆消失在图像左边,RIGHT_DISA表示车辆消失在图像右边,DIRECT_DISA表示车辆消失在直行方向,EDGE_DISA表示车辆消失在图像边界,NONE_DISA表示车辆未消失;
(F)行人行进方向集合PED_DIRECT={NO_DIRECTION,LEFT_RIGHT,RIGHT_LEFT},INIT表示无方向,LEFT_RIGHT表示行人从左向右,RIGHT_LEFT表示行人从右向左;
(G)车型集合VEHICLETYPE={CAR,BUS,TRUCK,MOTOR,BICYCLE,TRICYCLE},CAR表示普通家用汽车,BUS表示大巴车,TRUCK表示货车,MOTOR表示摩托车,BICYCLE表示自行车,TRICYCLE表示三轮车;
(H)行人跟踪集合表示为P={<pj=<pxj,pyj,pwj,phj>,pdj>|j=1,2,…,m},pj表示第j个行人的包络框,(pxj,pyj)表示左上角的坐标,pwj和phj分别表示pj的宽度和高度,pdj表示第j个行人的行进方向,pdj∈PED_DIRECT,m表示集合P中的行人数量;
(I)车辆跟踪集合表示为C={<ci=<cxi,cyi,cwi,chi>,c1i=<c1xi,c1yi,c1wi,c1hi>,c2i=<c2xi,c2yi,c2wi,c2hi>,c3i=<c3xi,c3yi,c3wi,c3hi>,lanei,lpropi,light1i,light2i,light3i,t1i,t2i,t3i,CSi,CI1i,CI2i,CI3i,vti,cti,rti,tni,di>|i=1,2,…,n},n表示集合C中的车辆数量,ci表示第i辆车当前的包络矩形框,(cxi,cyi)表示ci左上角的坐标,cwi和chi分别表示ci的宽和高,c1i表示在t1i时刻获取到的第i辆车的包络矩形框,(c1xi,c1yi)表示c1i左上角的坐标,c1wi和c1hi分别表示c1i的宽和高,light1i表示对应于车道号lanei在t1i时刻的信号灯状态,CI1i表示在t1i时刻的完整图像,c2i表示在t2i时刻获取到的第i车辆的包络矩形框,(c2xi,c2yi)表示c2i左上角的坐标,c2wi和c2hi分别表示c2i的宽和高,light2i表示对应于车道号lanei在t2i时刻的信号灯状态,CI2i表示在t2i时刻的完整图像,c3i表示在t3i时刻获取到的第i车辆的包络矩形框,(c3xi,c3yi)表示c3i左上角的坐标,c3wi和c3hi分别表示c3i的宽和高,light3i表示对应于车道号lanei在t3i时刻的信号灯状态,CI3i表示在t3i时刻的完整图像,lanei表示车道号,lpropi表示车道属性,lpropi∈LPROPERTY,light1i∈LSTATE,light2i∈LSTATE,light3i∈LSTATE,vti表示发生的交通事件,vti∈VTYPE,cti表示车型,cti∈VEHICLETYPE,rti表示右转向灯点亮的次数,tni表示第i辆车在整个视频中存在的帧数,di表示车辆跟踪的消失方向,di∈DISAPPEAR,CSi表示对应于c1i包络框从图像CI1i中截取的放大的车辆图像,CSi与CI1i大小一样;
步骤2:系统初始化,启动分析线程,具体步骤为:
步骤2.1:从标定系统中读取每路相机参数,包括相机编码、相机IP地址、相机登录名、相机登录密码、相机登录端口、通道号;
步骤2.2:从标定系统中读取该路相机对应的信号灯集合L={<li,lri>|i=1,2,…,K},li∈LSTATE,lri=<lxi,lyi,lwi,lhi>表示对应于li在图像中的标定区域,(lxi,lyi)表示信号灯区域lri左上角的坐标,lwi和lhi分别表示信号灯区域lri的宽度和高度,K为该路相机画面中从左至右的信号灯数量;
步骤2.3:构建信号灯状态队列
Figure BDA0002527112880000131
表示第t次采集到的第i个信号灯的状态,
Figure BDA0002527112880000141
步骤2.4:构建路口溢出车辆数量队列CQ={qt|t=1,2,…},qt表示第t次检测到的车辆数;
步骤2.5:构建图像队列IQ={<imr,tmr>|r=1,2,…},imr表示从边缘端视频设备或云端视频存储平台获取的第r幅图像,tmr表示获取imr时的时刻;
步骤2.6:从标定系统中读取该路相机对应的车道集合LANE={<lidk,llsk,llek,lrsk,lrek,lpk,ltk>|k=1,2,…,E},lpk表示车道属性,lpk∈LPROPERTY,lidk∈[1,K],lidk表示第k条车道对应的信号灯的序号,E表示车道数量,k表示车道号,ltk表示车道类型,ltk∈LANETYPE;初始化L中的所有li=GREEN,第k条车道由左边车道线和右边车道线构成,左边车道线用
Figure BDA0002527112880000142
表示,
Figure BDA0002527112880000143
的两个端点分别由llsk和llek表示,右边车道线
Figure BDA0002527112880000144
表示,
Figure BDA0002527112880000145
两个端点分别由lrsk和lrek表示,(llsk.x,llsk.y)表示llsk的坐标,(llek.x,llek.y)表示llek的坐标,(lrsk.x,lrsk.y)表示lrsk的坐标,(lrek.x,lrek.y)表示lrek的坐标;
步骤2.7:初始化C和P为空集合;初始化LQ为空队列;初始化CQ为空队列;初始化IQ为空队列;
步骤2.8:针对每路视频根据连接参数登录边缘端视频设备或云端视频存储平台,启动码流获取线程和分析线程;
所述的交通事件感知软件的码流获取线程,具体步骤如下:
步骤3.1:根据用户对接口的选择,从边缘端视频设备或云端视频存储平台获取图像IM,同时将图像获取的时刻记为TM;
步骤3.2:若|IQ|<IQNUM0,则将<IM,TM>添加至IQ队列中;其中,|.|表示获取集合或队列的元素个数;IQNUM0表示IQ允许的最大元素个数;在本实施例中,IQNUM0=50;
步骤3.3:转步骤3.1;
所述的一种基于在线分析的交通视频结构化及事件感知系统,其特征在于,所述的交通事件感知软件的分析线程,具体步骤如下:
步骤4.1:若|IQ|<2,则等待100毫秒,转步骤4.1;否则,从IQ的队首取出一个元素,并将取出的元素的图像记为I,取出的元素的时刻为记为time,同时将I的宽度记为WIDTH,高度记为HEIGHT;
步骤4.2:若信号灯集合L非空,则检测信号灯状态,并更新集合L,具体为:针对每个信号灯区域lri,令lrgi=<lrgxi,lrgyi,lrgwi,lrghi>表示绿灯兴趣区域,(lrgxi,lrgyi)表示区域lrgi左上角的坐标,lrgwi和lrghi分别表示区域lrgi的宽度和高度,lrri=<lrrxi,lrryi,lrrwi,lrrhi>表示红灯兴趣区域,(lrrxi,lrryi)表示区域lrri左上角的坐标,lrrwi和lrrhi分别表示区域lrri的宽度和高度;若lhi>1.5*lwi,则分别根据式(4-1)和(4-2)计算lrgi和lrri;否则,分别根据式(4-3)和(4-4)计算lrgi和lrri;根据式(4-5)更新li
Figure BDA0002527112880000146
Figure BDA0002527112880000151
Figure BDA0002527112880000152
Figure BDA0002527112880000153
Figure BDA0002527112880000154
其中,bgrR表示对应于区域lrri的子图像的三通道平均灰度值,bgrR.R表示bgrR的红色分量值,bgrG表示对应于区域lrgi的子图像的三通道平均灰度值,bgrG.R、bgrG.G和bgrG.B分别表示bgrG的红色、绿色和蓝色分量值,RED_THRESHOLD表示红灯判断阈值,RED_THRESHOLD∈[100,255],GREEN_THRESHOLD表示绿灯判断阈值,GREEN_THRESHOLD∈[100,255];在本实施例中,RED_THRESHOLD=120,GREEN_THRESHOLD=100;RED_THRESHOLD和GREEN_THRESHOLD=100值越大,信号灯状态误检越少,但漏检为增多,可根据实际场景、边缘端视频设备的品质调整到一个合适的值;
步骤4.3:设标定的目标检测区域为CR,CR对应的彩色图像为CI,对CI进行背景建模,并进行形态学操作,然后进行二值化,得到目标检测区域二值图像BI,若BI的平均灰度值为0,则转步骤4.7;
步骤4.4:进行行人检测,具体方法为:搜索BI中的连通区域,对每个连通区域,若其宽高比大于等于行人宽高比阈值WHP0,则采用机器学习方法对该连通区域进行行人检测,若检测到行人,将检测到的行人换算到图像I坐标下的包络框记为np=<npx,npy,npw,nph>,(npx,npy)表示包络框np左上角的坐标,npw表示包络框np的宽度,nph表示包络框np的高度;若np满足式(4-6),则将<np,NO_DIRECTION>添加到集合P中;
Figure BDA0002527112880000155
其中,SP表示np与pj的交集框,∩表示求交集,SP.w表示SP的宽度,SP.h表示SP的高度,AP0表示行人面积比值的阈值,WP0表示行人宽度比值的阈值,HP0表示行人高度比值的阈值;在实施例中,WHP0=0.5,AP0=0.25,WP0=0.5,HP0=0.5;
作为可选的,进行行人检测时,还可以采用如下方法:采用轻量级卷积神经网络模型直接对目标检测区域CR进行行人检测,假设对检测到的每个行人换算到图像I坐标下的包络框仍表示为np=<npx,npy,npw,nph>,若np满足式(4-6),将<np,NO_DIRECTION>添加到集合P中;
步骤4.5:进行车辆检测,具体为:设置临时变量NUM=0;搜索BI中的连通区域,对每个连通区域,若其宽高比大于或等于车辆宽高比阈值WHC0,则采用机器学习方法对该连通区域进行车辆检测,若检测到车辆,则设置NUM=NUM+1,并将检测到的车辆换算到图像I坐标下的包络框记为nc=<ncx,ncy,ncw,nch>,同时将检测到的车辆类型记为type,type∈VEHICLETYPE,(ncx,ncy)表示包络框nc左上角的坐标,ncw表示包络框nc的宽度,nch表示包络框nc的高度;根据nc计算所在的车道号并用变量g表示,g满足式(4-7);根据g从集合LANE中找到第g条车道对应的车道属性lpg;根据g从集合LANE中找到对应的信号灯编号为lidg,再根据lidg从集合L中找到第lidg个信号灯状态
Figure BDA0002527112880000161
若nc满足式(4-8),则将<nc,nc,EMPTY,EMPTY,g,lpg,
Figure BDA0002527112880000162
GREEN,GREEN,time,0,0,cs,I,NULL,NULL,NONE,type,0,0,NONE_DISA>添加到集合C中;
Figure BDA0002527112880000163
Figure BDA0002527112880000164
其中,SC表示nc与ci的交集框,A(.)表示面积计算公式,SC.w表示SC的宽度,SC.h表示SC的高度,AC0表示车辆面积比值的阈值,AC0∈[0.2,0.4],WC0表示车辆宽度比值的阈值,WC0∈[0.3,0.6],HC0表示车辆高度比值的阈值,HC0∈[0.3,0.6],cs表示根据包络框nc从I截取车辆图像并放大到与I一样大小的图像,EMPTY表示<0,0,0,0>,NULL表示空图像;
作为可选的,进行车辆检测时,还可以采用如下方法:采用轻量级卷积神经网络模型直接对目标检测区域CR进行车辆检测,假设对检测到的每辆车换算到图像I坐标下的包络框仍表示为nc=<ncx,ncy,ncw,nch>,同时将检测到的车辆类型记为type,type∈VEHICLETYPE;根据nc计算所在的车道号并用变量g表示,g满足式(4-7);根据g从集合LANE中找到第g条车道对应的车道属性lpg;根据g从集合LANE中找到对应的信号灯编号为lidg,再根据lidg从集合L中找到第lidg个信号灯状态
Figure BDA0002527112880000165
若nc满足式(4-8),则将<nc,nc,EMPTY,EMPTY,g,lpg,
Figure BDA0002527112880000166
GREEN,GREEN,time,0,0,cs,I,NULL,NULL,NONE,type,0,0,NONE_DISA>添加到集合C中;
在本实施例中,AC0=0.25,WC0=0.5,HC0=0.5;
步骤4.6:若目标检测区域CR为十字路口,若|CQ|≥Q0,则将队列CQ中的队首记录删除;将NUM添加到队列CQ的队尾,其中,|.|表示求元素个数,Q0表示队列CQ允许的最大元素个数;在本实施例中,考虑到通常的视频帧率为25FPS,信号灯按60秒计算,设置Q0=25*60=150;
步骤4.7:对C中的每辆车进行交通事件感知,具体为:
步骤4.7.1:采用跟踪算法对C中第i辆车进行跟踪,i=1,2,…,n,得到新的第i辆车的包络框ci;根据式(4-9)设置vti;设置tni=tni+1;若lpropi=RIGHT,则采用轻量级深度卷积神经网络模型检测第i辆车的右转向灯是否点亮,若检测到点亮的右转向灯,则设置rti=rti+1;
Figure BDA0002527112880000171
其中,CD0表示逆向行驶的最小距离阈值;在本实施例中,CD0通过标定进行设置,如图?所示的逆向行驶的最小距离标定线的长度即为CD0的值;
步骤4.7.2:采用跟踪算法对P中任意第j个行人进行跟踪,并设跟踪到的第j个行人换算到图像I的坐标下的包络框为p′j=<px′j,py′j,pw′j,ph′j>,并根据式(4-10)设置pdj,然后设置pj=p′j;其中,(px′j,py′j)表示p′j左上角的坐标,pw′j和ph′j分别表示p′j的宽和高;
Figure BDA0002527112880000172
其中,PD0表示行人移动位移的最小阈值;在本实施例中,PD0通过标定进行设置,如图3所示的行人移动位移的最小阈值标定线的长度即为PD0的值;
步骤4.7.3:若c2i=EMPTY且cyi>Y0,定义线段lsi,令lsi的起点和终点坐标分别为(lsbxi,lsbyi)和(lsexi,lseyi),它们根据式(4-11)计算,若存在车道线与lsi相交,则设置c2i=ci,CI2i=I,vti=CROSS,t2i=time;
Figure BDA0002527112880000173
其中,α表示违法压线事件感知调整系数,α∈{1,2,3,4,5},Y0表示红灯停止线的纵坐标;在本实施例中,α表示=3,Y0根据标定进行设置,如图2所示的红灯停止线的平均纵坐标即为Y0的值;
步骤4.7.4:根据lanei从集合LANE中找到对应的信号灯编号为
Figure BDA0002527112880000176
设置临时变量
Figure BDA0002527112880000177
再根据tmp从集合L中找到第tmp个信号灯的状态ltmp;然后按如下步骤执行:
步骤4.7.4.1:若c2i=EMPTY且(cyi+chi)<Y0,则设置c2i=ci,CI2i=I,light2i=ltmp,t2i=time,若满足式(4-12),则设置vti=PED,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=PED,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
Figure BDA0002527112880000174
其中,
Figure BDA0002527112880000175
表示存在一个整数r;
步骤4.7.4.2:若c2i≠EMPTY且c3i=EMPTY且(cyi+chi)<YD0,则设置c3i=ci,CI3i=I,light3i=ltmp,t3i=time,di=DIRECT_DISA,YD0表示跟踪直行车辆的极限纵坐标,转步骤4.1;在本实施例中,YD0通过标定进行设置,如图2所示的直行跟踪停止线两个端点纵坐标平均值即为YD0
步骤4.7.4.3:若c2i≠EMPTY且c3i=EMPTY且(cxi+cwi)<XL0,则令c3i=ci,CI3i=I,light3i=ltmp,light3i=ltmp,t3i=time,di=LEFT_DISA,XL0表示跟踪左转弯车辆的极限横坐标,转步骤4.1;在本实施例中,XL0通过标定进行设置,如图2所示的左转跟踪停止线两个端点横坐标平均值即为XL0
步骤4.7.4.4:若c2i≠EMPTY且c3i=EMPTY且cxi>XR0,XR0表示跟踪右转弯车辆的极限横坐标,则设置c3i=ci,CI3i=I,light3i=ltmp,t3i=time,di=RIGHT_DISA,转步骤4.1;在本实施例中,XR0通过标定进行设置,如图2所示的右转跟踪停止线两个端点横坐标平均值即为XR0
步骤4.7.4.5:若c2i≠EMPTY且c3i=EMPTY且(cxi≤0||cyi≤0||(cxi+cwi)≥WIDTH||(cyi+chi)≥HEIGHT),则设置c3i=ci,CI3i=I,light3i=ltmp,t3i=time,di=EDGE_DISA,转步骤4.1;
步骤4.7.4.6:若c2i=EMPTY且vti=CONVERSE,则设置c2i=ci,CI2i=I,t2i=time,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=CONVERSE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.7:若c2i=EMPTY且从集合LANE中找到第lanei条车道对应的车道类型
Figure BDA0002527112880000183
则设置c2i=ci,CI2i=I,t2i=time,vti=COVER_BUS_LANE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=COVER_BUS_LANE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.8:若c2i=EMPTY且从集合LANE中找到第lanei条车道对应的车道类型
Figure BDA0002527112880000184
则设置c2i=ci,CI2i=I,t2i=time,vti=COVER_NON_VEHICLE_LANE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=COVER_NON_VEHICLE_LANE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.9:若c2i≠EMPTY且c3i=EMPTY且(cyi+chi)>YD0且满足式(4-13),则设置c3i=ci,CI3i=I,t3=time,vti=OVER_LINE,转步骤4.1;
Figure BDA0002527112880000181
其中,OSC0表示越线停车时车辆包络框面积相交的比例阈值,OSC0∈[0.5,1.0],OT0表示越线停车时停留的时间阈值,单位为秒;在本实施例中,OSC0=0.8,OT0=60;
步骤4.7.4.10:若本系统部署在高速上,若c2i=EMPTY且cyi>YD0且满足式(4-14),则设置c2i=ci,CI2i=I,t2i=time,vti=FOLLOW_CLOSE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=FOLLOW_CLOSE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
Figure BDA0002527112880000182
其中,DIST表示高速上标定的跟车距离阈值;在本实施例中,DIST根据标定进行设置,如图4所示的跟车最小距离标定线的长度即为DIST值;
步骤4.7.4.11:若c2i≠EMPTY且c3i=EMPTY且满足式(4-15),则设置c3i=ci,CI3i=I,t3i=time,vti=ABNORMAL_STOP,转步骤4.1;
Figure BDA0002527112880000191
其中,SA0表示路面异常停车时车辆包络框面积相交的比例阈值,SA0∈[0.5,1.0],ST0表示路面异常停车时停留的时间阈值,单位为秒;在本实施例中,SA0=0.8,ST0=300;
步骤4.7.4.12:若c2i=EMPTY且(cti=MOTOR||cti=BICYCLE||cti=TRICYCLE)且从集合LANE中找到第lanei条车道对应的车道类型
Figure BDA0002527112880000193
不等于NON_VEHICLE_LANE,则设置c2i=ci,CI2i=I,t2i=time,vti=NON_VEHICLE_COVER_LANE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=NON_VEHICLE_COVER_LANE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.13:若系统部署于高架的监控场景且c2i=EMPTY且cti=TRUCK,则设置c2i=ci,CI2i=I,t2i=time,vti=TRUCK_ON_ELEVATED_ROAD,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=TRUCK_ON_ELEVATED_ROAD,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.5:针对行人集合P中的每个行人,若其中心点已经超出目标检测区域CR的范围,则将其从集合P中移除;
步骤4.7.6:根据不同情况实现交通事件感知,具体为:
1)车辆压线行驶事件感知:若c2i≠EMPTY且vti=CROSS,则设置c3i=ci,CI3i=I,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图5为车辆压线行驶事件感知结果示例;
2)车辆闯红灯事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=NONE且满足式(4-16),设置vti=RUN_RED_LIGHT,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图6为车辆闯红灯事件感知结果示例;
lpropi≠NONE_LIGHT&&light1i=RED&&light2i=RED&&light3i=RED (4-16)
3)车辆不按导向行驶事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=NONE且满足式(4-17),设置vti=NO_GUIDANCE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图7为车辆不按导向行驶事件感知结果示例;
Figure BDA0002527112880000192
4)车辆在斑马线前未礼让行人事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=PED,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图8为车辆在斑马线前未礼让行人事件感知结果示例;
5)车辆逆向行驶事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=CONVERSE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图9为车辆逆向行驶事件感知结果示例;
6)车辆非法占用公交车道事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=COVER_BUS_LANE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图10为车辆非法占用公交车道事件感知结果示例;
7)车辆非法占用非机动车道事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=COVER_NON_VEHICLE_LANE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图11为车辆非法占用非机动车道事件感知结果示例;
8)车辆违法掉头事件感知:若c2i≠EMPTY且c3i≠EMPTY且di=EDGE_DISA且((c1yi>c2yi&&c3yi>c2yi)||(c1yi<c2yi&&c3yi<c2yi)),设置vti=IILEGAL_TURN,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图12为车辆违法掉头事件感知结果示例;9)信号灯故障事件感知:若|LQ|≥T0,则将队列LQ中的队首记录删除;将<l1,l2,…,lK>添加到队列LQ的队尾,其中,|.|表示求元素个数,T0表示队列LQ允许的最大元素个数;对信号灯状态进行判断,若第q个信号灯状态满足式(4-18),则说明第q个信号灯存在故障,则保存图像I,并在该图像标记信号灯故障LIGHT;在本实施例中,视频帧率为25FPS,信号灯切换时间按120秒计算,T0=25*120=300,图13为信号灯故障事件感知示意图;
Figure BDA0002527112880000202
10)路口溢出事件感知:若目标检测区域CR为十字路口且满足式(4-19),则说明十字路口存在交通溢出事件,保存图像I,并在该图像标记路口溢出事件OVERFLOW;其中,OF表示路口溢出的阈值;在本实施例中,OF=30;
Figure BDA0002527112880000201
11)车辆非法越线停车事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=OVER_LINE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
12)车辆不按规定与前车保持必要的安全距离事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=FOLLOW_CLOSE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图14为车辆不按规定与前车保持必要的安全距离事件感知结果示例;
13)路面异常停车事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=ABNORMAL_STOP,将图像CI1i和CI2i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图15为路面异常停车事件感知结果示例;
14)非机动车占用机动车道事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=NON_VEHICLE_COVER_LANE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
15)行人上高架或高速事件感知:若系统部署于高架、高速路的监控场景,若|P|>0,则将行人上高架或高速PED_ON_ROAD事件类型标记在图像I中并进行保存,清空P,转步骤4.1;在本实施例中,图16为行人上高架或高速事件感知结果示例;16)货车上高架事件感知:若系统部署于高架的监控场景,且c2i≠EMPTY且c3i≠EMPTY且vti=TRUCK_ON_ELEVATED_ROAD,则将图像CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;在本实施例中,图17为货车上高架事件感知结果示例;
17)车辆右转或高速下匝道未打转向灯事件感知:若c2i≠EMPTY且c3i≠EMPTY且di=RIGHT_DISA且满足式(4-20),则设置vti=NO_RIGHT_LIGHT_ON,将图像CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤3.1;
Figure BDA0002527112880000211
其中,TN0表示未打转向灯的占比阈值,0≤TN0≤0.5;在本实施例中,TN0=0.2,图18为车辆右转或高速下匝道未打转向灯事件感知结果示例。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

Claims (1)

1.一种基于边云融合的在线交通事件感知系统,其特征在于,包括边缘端视频设备、光纤、云端视频存储平台、千兆网线、千兆路由器及云端分析服务器;边缘端视频设备通过光纤与云端视频存储平台连接,云端视频存储平台通过千兆网线与千兆路由器相连,同时边缘端视频设备通过光纤与千兆路由器相连,千兆路由器通过千兆网线与云端分析服务器相连;
云端视频存储平台实时记录边缘端视频设备采集的交通图像;
云端分析服务器内置交通事件感知软件,用户通过交通事件感知软件提供的接口选择功能选择从边缘端视频设备或云端视频存储平台获取实时交通图像,交通事件感知软件提供初始化、码流获取线程和分析线程实现包括车辆压线行驶、车辆闯红灯、车辆不按导向行驶事件、车辆在斑马线前未礼让行人、车辆逆向行驶、车辆非法占用公交车道、车辆非法占用非机动车道、车辆违法掉头、信号灯故障、路口溢出、车辆非法越线停车、车辆不按规定与前车保持必要的安全距离、路面异常停车、非机动车占用机动车道、行人上高架或高速、货车上高架和车辆右转或高速下匝时未打右转向灯在内的多种事件感知功能;
所述的交通事件感知软件的初始化实现步骤如下:
步骤1:定义集合及变量,具体为:
(A)交通事件集合VTYPE={CROSS,RUN_RED_LIGHT,NO_GUIDANCE,PED,CONVERSE,COVER_BUS_LANE,COVER_NON_VEHICLE_LANE,IILEGAL_TURN,LIGHT,OVERFLOW,OVER_LINE,FOLLOW_CLOSE,ABNORMAL_STOP,NON_VEHICLE_COVER_LANE,PED_ON_ROAD,TRUCK_ON_ELEVATED_ROAD,NO_RIGHT_LIGHT_ON,NONE},CROSS表示车辆压线行驶事件,RUN_RED_LIGHT表示车辆闯红灯事件,NO_GUIDANCE表示车辆不按导向行驶事件,PED表示车辆在斑马线前未礼让行人事件,CONVERSE表示车辆逆向行驶事件,COVER_BUS_LANE表示车辆非法占用公交车道事件,COVER_NON_VEHICLE_LANE表示车辆非法占用非机动车道事件,IILEGAL_TURN表示车辆违法掉头事件,LIGHT表示信号灯故障事件,OVERFLOW表示路口溢出事件,OVER_LINE表示车辆非法越线停车事件,FOLLOW_CLOSE表示车辆不按规定与前车保持必要的安全距离事件,ABNORMAL_STOP表示路面异常停车事件,NON_VEHICLE_COVER_LANE表示非机动车占用机动车道事件,PED_ON_ROAD表示行人上高架或高速事件,TRUCK_ON_ELEVATED_ROAD表示货车上高架事件,NO_RIGHT_LIGHT_ON表示车辆右转或高速下匝时未打右转向灯事件,NONE表示无交通事件;
(B)信号灯状态集合LSTATE={GREEN,YELLOW,RED},GREEN表示信号灯为绿灯,YELLOW表示信号灯为黄灯,RED表示信号灯为红灯;
(C)车道属性集合LPROPERTY={LEFT,LEFT_DIRECT,DIRECT,RIGHT,RIGHT_DIRECT,NONE_LIGHT},LEFT表示左转车道,LEFT_DIRECT表示左转直行车道,DIRECT表示直行车道,RIGHT表示右转车道,RIGHT_DIRECT表示右转直行道,NONE_LIGHT表示不限制车道;
(D)车道类型集合LANETYPE={BUS_LANE,VEHICLE_LANE,NON_VEHICLE_LANE},BUS_LANE表示公交车道,VEHICLE_LANE表示机动车道,NON_VEHICLE_LANE表示非机动车道;
(E)车辆跟踪消失方向集合DISAPPEAR={LEFT_DISA,RIGHT_DISA,DIRECT_DISA,EDGE_DISA,NONE_DISA},LEFT_DISA表示车辆消失在图像左边,RIGHT_DISA表示车辆消失在图像右边,DIRECT_DISA表示车辆消失在直行方向,EDGE_DISA表示车辆消失在图像边界,NONE_DISA表示车辆未消失;
(F)行人行进方向集合PED_DIRECT={NO_DIRECTION,LEFT_RIGHT,RIGHT_LEFT},NO_DIRECTION表示无方向,LEFT_RIGHT表示行人从左向右,RIGHT_LEFT表示行人从右向左;
(G)车型集合VEHICLETYPE={CAR,BUS,TRUCK,MOTOR,BICYCLE,TRICYCLE},CAR表示普通家用汽车,BUS表示大巴车,TRUCK表示货车,MOTOR表示摩托车,BICYCLE表示自行车,TRICYCLE表示三轮车;
(H)行人跟踪集合表示为P={<pj=<pxj,pyj,pwj,phj>,pdj>|j=1,2,…,m},pj表示第j个行人的包络框,(pxj,pyj)表示左上角的坐标,pwj和phj分别表示pj的宽度和高度,pdj表示第j个行人的行进方向,pdj∈PED_DIRECT,m表示集合P中的行人数量;
(I)车辆跟踪集合表示为C={<ci=<cxi,cyi,cwi,chi>,c1i=<c1xi,c1yi,c1wi,c1hi>,c2i=<c2xi,c2yi,c2wi,c2hi>,c3i=<c3xi,c3yi,c3wi,c3hi>,lanei,lpropi,light1i,light2i,light3i,t1i,t2i,t3i,CSi,CI1i,CI2i,CI3i,vti,cti,rti,tni,di>|i=1,2,…,n},n表示集合C中的车辆数量,ci表示第i辆车当前的包络矩形框,(cxi,cyi)表示ci左上角的坐标,cwi和chi分别表示ci的宽和高,c1i表示在t1i时刻获取到的第i辆车的包络矩形框,(c1xi,c1yi)表示c1i左上角的坐标,c1wi和c1hi分别表示c1i的宽和高,light1i表示对应于车道号lanei在t1i时刻的信号灯状态,CI1i表示在t1i时刻的完整图像,c2i表示在t2i时刻获取到的第i车辆的包络矩形框,(c2xi,c2yi)表示c2i左上角的坐标,c2wi和c2hi分别表示c2i的宽和高,light2i表示对应于车道号lanei在t2i时刻的信号灯状态,CI2i表示在t2i时刻的完整图像,c3i表示在t3i时刻获取到的第i车辆的包络矩形框,(c3xi,c3yi)表示c3i左上角的坐标,c3wi和c3hi分别表示c3i的宽和高,light3i表示对应于车道号lanei在t3i时刻的信号灯状态,CI3i表示在t3i时刻的完整图像,lanei表示车道号,lpropi表示车道属性,lpropi∈LPROPERTY,light1i∈LSTATE,light2i∈LSTATE,light3i∈LSTATE,vti表示发生的交通事件,vti∈VTYPE,cti表示车型,cti∈VEHICLETYPE,rti表示右转向灯点亮的次数,tni表示第i辆车在整个视频中存在的帧数,di表示车辆跟踪的消失方向,di∈DISAPPEAR,CSi表示对应于c1i包络框从图像CI1i中截取的放大的车辆图像,CSi与CI1i大小一样;
步骤2:系统初始化,启动分析线程,具体步骤为:
步骤2.1:从标定系统中读取每路相机参数,包括相机编码、相机IP地址、相机登录名、相机登录密码、相机登录端口、通道号;
步骤2.2:从标定系统中读取该路相机对应的信号灯集合L={<li,lri>|i=1,2,…,K},li∈LSTATE,lri=<lxi,lyi,lwi,lhi>表示对应于li在图像中的标定区域,(lxi,lyi)表示信号灯区域lri左上角的坐标,lwi和lhi分别表示信号灯区域lri的宽度和高度,K为该路相机画面中从左至右的信号灯数量;
步骤2.3:构建信号灯状态队列
Figure FDA0003129114960000031
Figure FDA0003129114960000032
表示第t次采集到的第i个信号灯的状态,
Figure FDA0003129114960000033
步骤2.4:构建路口溢出车辆数量队列CQ={qt|t=1,2,…},qt表示第t次检测到的车辆数;
步骤2.5:构建图像队列IQ={<imr,tmr>|r=1,2,…},imr表示从边缘端视频设备或云端视频存储平台获取的第r幅图像,tmr表示获取imr时的时刻;
步骤2.6:从标定系统中读取该路相机对应的车道集合LANE={<lidk,llsk,llek,lrsk,lrek,lpk,ltk>|k=1,2,…,E},lpk表示车道属性,lpk∈LPROPERTY,lidk∈[1,K],lidk表示第k条车道对应的信号灯的序号,E表示车道数量,k表示车道号,ltk表示车道类型,ltk∈LANETYPE;初始化L中的所有li=GREEN,第k条车道由左边车道线和右边车道线构成,左边车道线用
Figure FDA0003129114960000041
表示,
Figure FDA0003129114960000042
的两个端点分别由llsk和llek表示,右边车道线
Figure FDA0003129114960000043
表示,
Figure FDA0003129114960000044
两个端点分别由lrsk和lrek表示,(llsk.x,llsk.y)表示llsk的坐标,(llek.x,llek.y)表示llek的坐标,(lrsk.x,lrsk.y)表示lrsk的坐标,(lrek.x,lrek.y)表示lrek的坐标;
步骤2.7:初始化C和P为空集合;初始化LQ为空队列;初始化CQ为空队列;初始化IQ为空队列;
步骤2.8:针对每路视频根据连接参数登录边缘端视频设备或云端视频存储平台,启动码流获取线程和分析线程;
所述交通事件感知软件的码流获取线程,具体步骤如下:
步骤3.1:根据用户对接口的选择,从边缘端视频设备或云端视频存储平台获取图像IM,同时将图像获取的时刻记为TM;
步骤3.2:若|IQ|<IQNUM0,则将<IM,TM>添加至IQ队列中;其中,|.|表示获取集合或队列的元素个数;IQNUM0表示IQ允许的最大元素个数;
步骤3.3:转步骤3.1;
所述交通事件感知软件的分析线程,具体步骤如下:
步骤4.1:若|IQ|<2,则等待100毫秒,转步骤4.1;否则,从IQ的队首取出一个元素,并将取出的元素的图像记为I,取出的元素的时刻为记为time,同时将I的宽度记为WIDTH,高度记为HEIGHT;
步骤4.2:若信号灯集合L非空,则检测信号灯状态,并更新集合L,具体为:针对每个信号灯区域lri,令lrgi=<lrgxi,lrgyi,lrgwi,lrghi>表示绿灯兴趣区域,(lrgxi,lrgyi)表示区域lrgi左上角的坐标,lrgwi和lrghi分别表示区域lrgi的宽度和高度,lrri=<lrrxi,lrryi,lrrwi,lrrhi>表示红灯兴趣区域,(lrrxi,lrryi)表示区域lrri左上角的坐标,lrrwi和lrrhi分别表示区域lrri的宽度和高度;若lhi>1.5*lwi,则分别根据式(4-1)和(4-2)计算lrgi和lrri;否则,分别根据式(4-3)和(4-4)计算lrgi和lrri;根据式(4-5)更新li
Figure FDA0003129114960000051
Figure FDA0003129114960000052
Figure FDA0003129114960000053
Figure FDA0003129114960000054
Figure FDA0003129114960000055
其中,bgrR表示对应于区域lrri的子图像的三通道平均灰度值,bgrR.R表示bgrR的红色分量值,bgrG表示对应于区域lrgi的子图像的三通道平均灰度值,bgrG.R、bgrG.G和bgrG.B分别表示bgrG的红色、绿色和蓝色分量值,RED_THRESHOLD表示红灯判断阈值,RED_THRESHOLD∈[100,255],GREEN_THRESHOLD表示绿灯判断阈值,GREEN_THRESHOLD∈[100,255];
步骤4.3:设标定的目标检测区域为CR,CR对应的彩色图像为CI,对CI进行背景建模,并进行形态学操作,然后进行二值化,得到目标检测区域二值图像BI,若BI的平均灰度值为0,则转步骤4.7;
步骤4.4:进行行人检测,具体方法为:搜索BI中的连通区域,对每个连通区域,若其宽高比大于等于行人宽高比阈值WHP0,则采用机器学习方法对该连通区域进行行人检测,若检测到行人,将检测到的行人换算到图像I坐标下的包络框记为np=<npx,npy,npw,nph>,(npx,npy)表示包络框np左上角的坐标,npw表示包络框np的宽度,nph表示包络框np的高度;若np满足式(4-6),则将<np,NO_DIRECTION>添加到集合P中;
Figure FDA0003129114960000061
其中,SP表示np与pj的交集框,∩表示求交集,SP.w表示SP的宽度,SP.h表示SP的高度,AP0表示行人面积比值的阈值,WP0表示行人宽度比值的阈值,HP0表示行人高度比值的阈值;
进行行人检测或采用如下方法:采用轻量级卷积神经网络模型直接对目标检测区域CR进行行人检测,假设对检测到的每个行人换算到图像I坐标下的包络框仍表示为np=<npx,npy,npw,nph>,若np满足式(4-6),将<np,NO_DIRECTION>添加到集合P中;
步骤4.5:进行车辆检测,具体为:设置临时变量NUM=0;搜索BI中的连通区域,对每个连通区域,若其宽高比大于或等于车辆宽高比阈值WHC0,则采用机器学习方法对该连通区域进行车辆检测,若检测到车辆,则设置NUM=NUM+1,并将检测到的车辆换算到图像I坐标下的包络框记为nc=<ncx,ncy,ncw,nch>,同时将检测到的车辆类型记为type,type∈VEHICLETYPE,(ncx,ncy)表示包络框nc左上角的坐标,ncw表示包络框nc的宽度,nch表示包络框nc的高度;根据nc计算所在的车道号并用变量g表示,g满足式(4-7);根据g从集合LANE中找到第g条车道对应的车道属性lpg;根据g从集合LANE中找到对应的信号灯编号为lidg,再根据lidg从集合L中找到第lidg个信号灯状态
Figure FDA0003129114960000062
若nc满足式(4-8),则将<nc,nc,EMPTY,EMPTY,g,lpg,
Figure FDA0003129114960000063
GREEN,GREEN,time,0,0,cs,I,NULL,NULL,NONE,type,0,0,NONE_DISA>添加到集合C中;
Figure FDA0003129114960000064
Figure FDA0003129114960000071
其中,SC表示nc与ci的交集框,A(.)表示面积计算公式,SC.w表示SC的宽度,SC.h表示SC的高度,AC0表示车辆面积比值的阈值,AC0∈[0.2,0.4],WC0表示车辆宽度比值的阈值,WC0∈[0.3,0.6],HC0表示车辆高度比值的阈值,HC0∈[0.3,0.6],cs表示根据包络框nc从I截取车辆图像并放大到与I一样大小的图像,EMPTY表示<0,0,0,0>,NULL表示空图像;
进行车辆检测或采用如下方法:采用轻量级卷积神经网络模型直接对目标检测区域CR进行车辆检测,假设对检测到的每辆车换算到图像I坐标下的包络框仍表示为nc=<ncx,ncy,ncw,nch>,同时将检测到的车辆类型记为type,type∈VEHICLETYPE;根据nc计算所在的车道号并用变量g表示,g满足式(4-7);根据g从集合LANE中找到第g条车道对应的车道属性lpg;根据g从集合LANE中找到对应的信号灯编号为lidg,再根据lidg从集合L中找到第lidg个信号灯状态
Figure FDA0003129114960000072
若nc满足式(4-8),则将<nc,nc,EMPTY,EMPTY,g,lpg,
Figure FDA0003129114960000073
GREEN,GREEN,time,0,0,cs,I,NULL,NULL,NONE,type,0,0,NONE_DISA>添加到集合C中;
步骤4.6:若目标检测区域CR为十字路口,若|CQ|≥Q0,则将队列CQ中的队首记录删除;将NUM添加到队列CQ的队尾,其中,|.|表示求元素个数,Q0表示队列CQ允许的最大元素个数;
步骤4.7:对C中的每辆车进行交通事件感知,具体为:
步骤4.7.1:采用跟踪算法对C中第i辆车进行跟踪,i=1,2,…,n,得到新的第i辆车的包络框ci;根据式(4-9)设置vti;设置tni=tni+1;若lpropi=RIGHT,则采用轻量级深度卷积神经网络模型检测第i辆车的右转向灯是否点亮,若检测到点亮的右转向灯,则设置rti=rti+1;
Figure FDA0003129114960000074
其中,CD0表示逆向行驶的最小距离阈值;
步骤4.7.2:采用跟踪算法对P中任意第j个行人进行跟踪,并设跟踪到的第j个行人换算到图像I的坐标下的包络框为p′j=<px′j,py′j,pw′j,phj′>,并根据式(4-10)设置pdj,然后设置pj=p′j;其中,(px′j,py′j)表示p′j左上角的坐标,pw′j和ph′j分别表示p′j的宽和高;
Figure FDA0003129114960000081
其中,PD0表示行人移动位移的最小阈值;
步骤4.7.3:若c2i=EMPTY且cyi>Y0,定义线段lsi,令lsi的起点和终点坐标分别为(lsbxi,lsbyi)和(lsexi,lseyi),它们根据式(4-11)计算,若存在车道线与lsi相交,则设置c2i=ci,CI2i=I,vti=CROSS,t2i=time;
Figure FDA0003129114960000082
其中,α表示违法压线事件感知调整系数,α∈{1,2,3,4,5},Y0表示红灯停止线的纵坐标;
步骤4.7.4:根据lanei从集合LANE中找到对应的信号灯编号为
Figure FDA0003129114960000085
设置临时变量
Figure FDA0003129114960000086
再根据tmp从集合L中找到第tmp个信号灯的状态ltmp;然后按如下步骤执行:
步骤4.7.4.1:若c2i=EMPTY且(cyi+chi)<Y0,则设置c2i=ci,CI2i=I,light2i=ltmp,t2i=time,若满足式(4-12),则设置vti=PED,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=PED,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
Figure FDA0003129114960000083
其中,
Figure FDA0003129114960000084
表示存在一个整数r;
步骤4.7.4.2:若c2i≠EMPTY且c3i=EMPTY且(cyi+chi)<YD0,则设置c3i=ci,CI3i=I,light3i=ltmp,t3i=time,di=DIRECT_DISA,YD0表示跟踪直行车辆的极限纵坐标,转步骤4.1;
步骤4.7.4.3:若c2i≠EMPTY且c3i=EMPTY且(cxi+cwi)<XL0,则令c3i=ci,CI3i=I,light3i=ltmp,light3i=ltmp,t3i=time,di=LEFT_DISA,XL0表示跟踪左转弯车辆的极限横坐标,转步骤4.1;
步骤4.7.4.4:若c2i≠EMPTY且c3i=EMPTY且cxi>XR0,XR0表示跟踪右转弯车辆的极限横坐标,则设置c3i=ci,CI3i=I,light3i=ltmp,t3i=time,di=RIGHT_DISA,转步骤4.1;
步骤4.7.4.5:若c2i≠EMPTY且c3i=EMPTY且(cxi≤0||cyi≤0||(cxi+cwi)≥WIDTH||(cyi+chi)≥HEIGHT),则设置c3i=ci,CI3i=I,light3i=ltmp,t3i=time,di=EDGE_DISA,转步骤4.1;
步骤4.7.4.6:若c2i=EMPTY且vti=CONVERSE,则设置c2i=ci,CI2i=I,t2i=time,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=CONVERSE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.7:若c2i=EMPTY且从集合LANE中找到第lanei条车道对应的车道类型
Figure FDA0003129114960000091
则设置c2i=ci,CI2i=I,t2i=time,vti=COVER_BUS_LANE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=COVER_BUS_LANE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.8:若c2i=EMPTY且从集合LANE中找到第lanei条车道对应的车道类型
Figure FDA0003129114960000092
则设置c2i=ci,CI2i=I,t2i=time,vti=COVER_NON_VEHICLE_LANE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=COVER_NON_VEHICLE_LANE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.9:若c2i≠EMPTY且c3i=EMPTY且(cyi+chi)>YD0且满足式(4-13),则设置c3i=ci,CI3i=I,t3=time,vti=OVER_LINE,转步骤4.1;
Figure FDA0003129114960000093
其中,OSC0表示越线停车时车辆包络框面积相交的比例阈值,OSC0∈[0.5,1.0],OT0表示越线停车时停留的时间阈值,单位为秒;
步骤4.7.4.10:若本系统部署在高速上,若c2i=EMPTY且cyi>YD0且满足式(4-14),则设置c2i=ci,CI2i=I,t2i=time,vti=FOLLOW_CLOSE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=FOLLOW_CLOSE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
Figure FDA0003129114960000101
其中,DIST表示高速上标定的跟车距离阈值;
步骤4.7.4.11:若c2i≠EMPTY且c3i=EMPTY且满足式(4-15),则设置c3i=ci,CI3i=I,t3i=time,vti=ABNORMAL_STOP,转步骤4.1;
Figure FDA0003129114960000102
其中,SA0表示路面异常停车时车辆包络框面积相交的比例阈值,SA0∈[0.5,1.0],ST0表示路面异常停车时停留的时间阈值,单位为秒;
步骤4.7.4.12:若c2i=EMPTY且(cti=MOTOR||cti=BICYCLE||cti=TRICYCLE)且从集合LANE中找到第lanei条车道对应的车道类型
Figure FDA0003129114960000103
不等于NON_VEHICLE_LANE,则设置c2i=ci,CI2i=I,t2i=time,vti=NON_VEHICLE_COVER_LANE,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=NON_VEHICLE_COVER_LANE,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.4.13:若系统部署于高架的监控场景且c2i=EMPTY且cti=TRUCK,则设置c2i=ci,CI2i=I,t2i=time,vti=TRUCK_ON_ELEVATED_ROAD,转步骤4.1;若c2i≠EMPTY且c3i=EMPTY且vti=TRUCK_ON_ELEVATED_ROAD,则设置c3i=ci,CI3i=I,t3i=time,转步骤4.1;
步骤4.7.5:针对行人集合P中的每个行人,若其中心点已经超出目标检测区域CR的范围,则将其从集合P中移除;
步骤4.7.6:根据不同情况实现交通事件感知,具体为:
1)车辆压线行驶事件感知:若c2i≠EMPTY且vti=CROSS,则设置c3i=ci,CI3i=I,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
2)车辆闯红灯事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=NONE且满足式(4-16),设置vti=RUN_RED_LIGHT,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
lpropi≠NONE_LIGHT&&light1i=RED&&light2i=RED&&light3i=RED
(4-16)
3)车辆不按导向行驶事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=NONE且满足式(4-17),设置vti=NO_GUIDANCE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
Figure FDA0003129114960000111
4)车辆在斑马线前未礼让行人事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=PED,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
5)车辆逆向行驶事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=CONVERSE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
6)车辆非法占用公交车道事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=COVER_BUS_LANE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
7)车辆非法占用非机动车道事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=COVER_NON_VEHICLE_LANE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
8)车辆违法掉头事件感知:若c2i≠EMPTY且c3i≠EMPTY且di=EDGE_DISA 且((c1yi>c2yi&&c3yi>c2yi)||(c1yi<c2yi&&c3yi<c2yi)),设置vti=IILEGAL_TURN,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
9)信号灯故障事件感知:若|LQ|≥T0,则将队列LQ中的队首记录删除;将<l1,l2,…,lK>添加到队列LQ的队尾,其中,|.|表示求元素个数,T0表示队列LQ允许的最大元素个数;对信号灯状态进行判断,若第q个信号灯状态满足式(4-18),则说明第q个信号灯存在故障,则保存图像I,并在该图像标记信号灯故障LIGHT;
Figure FDA0003129114960000121
10)路口溢出事件感知:若目标检测区域CR为十字路口且满足式(4-19),则说明十字路口存在交通溢出事件,保存图像I,并在该图像标记路口溢出事件OVERFLOW;其中,OF表示路口溢出的阈值;
Figure FDA0003129114960000122
11)车辆非法越线停车事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=OVER_LINE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
12)车辆不按规定与前车保持必要的安全距离事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=FOLLOW_CLOSE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
13)路面异常停车事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=ABNORMAL_STOP,将图像CI1i和CI2i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
14)非机动车占用机动车道事件感知:若c2i≠EMPTY且c3i≠EMPTY且vti=NON_VEHICLE_COVER_LANE,将图像CSi,CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
15)行人上高架或高速事件感知:若系统部署于高架、高速路的监控场景,若|P|>0,则将行人上高架或高速PED_ON_ROAD事件类型标记在图像I中并进行保存,清空P,转步骤4.1;
16)货车上高架事件感知:若系统部署于高架的监控场景,且c2i≠EMPTY且c3i≠EMPTY且vti=TRUCK_ON_ELEVATED_ROAD,则将图像CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤4.1;
17)车辆右转或高速下匝道未打转向灯事件感知:若c2i≠EMPTY且c3i≠EMPTY且di=RIGHT_DISA且满足式(4-20),则设置vti=NO_RIGHT_LIGHT_ON,将图像CI1i,CI2i和CI3i拼成一幅图像,同时将vti表示的事件类型标记在该图像中并保存,然后将第i辆车从C中移除,转步骤3.1;
Figure FDA0003129114960000131
其中,TN0表示未打转向灯的占比阈值,0≤TN0≤0.5。
CN202010507617.8A 2020-06-06 2020-06-06 一种基于边云融合的在线交通事件感知系统 Active CN111882861B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010507617.8A CN111882861B (zh) 2020-06-06 2020-06-06 一种基于边云融合的在线交通事件感知系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010507617.8A CN111882861B (zh) 2020-06-06 2020-06-06 一种基于边云融合的在线交通事件感知系统

Publications (2)

Publication Number Publication Date
CN111882861A CN111882861A (zh) 2020-11-03
CN111882861B true CN111882861B (zh) 2021-08-24

Family

ID=73154046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010507617.8A Active CN111882861B (zh) 2020-06-06 2020-06-06 一种基于边云融合的在线交通事件感知系统

Country Status (1)

Country Link
CN (1) CN111882861B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112712703A (zh) * 2020-12-09 2021-04-27 上海眼控科技股份有限公司 车辆视频的处理方法、装置、计算机设备和存储介质
CN112817755B (zh) * 2021-01-22 2023-12-19 西安交通大学 基于目标追踪加速的边云协同深度学习目标检测方法
CN117037502B (zh) * 2023-10-09 2023-12-22 中关村科学城城市大脑股份有限公司 车辆处理信息生成方法、装置、设备和计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101469985A (zh) * 2007-12-26 2009-07-01 河海大学常州校区 交叉路口车辆排队长度的单帧图像检测装置及其工作方法
CN101751782A (zh) * 2009-12-30 2010-06-23 北京大学深圳研究生院 一种基于多源信息融合的十字路口交通事件自动检测系统
CN108734966A (zh) * 2017-04-17 2018-11-02 杭州天象智能科技有限公司 一种交通视频综合分析云平台系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8750618B2 (en) * 2012-01-31 2014-06-10 Taif University Method for coding images with shape and detail information
CN104574960B (zh) * 2014-12-25 2016-08-24 宁波中国科学院信息技术应用研究院 一种交通灯识别方法
WO2018035848A1 (en) * 2016-08-26 2018-03-01 Nokia Technologies Oy A method, apparatus and computer program product for assisting a user in locating a vehicle
CN107293116B (zh) * 2017-06-27 2020-04-14 浙江浩腾电子科技股份有限公司 一种基于视频分析的交通事件检测系统
CN109584558A (zh) * 2018-12-17 2019-04-05 长安大学 一种面向城市交通信号配时的交通流统计方法
CN110136453A (zh) * 2019-06-14 2019-08-16 内蒙古工业大学 基于lk局部差分光流法的车流量检测方法
CN111182039A (zh) * 2019-12-18 2020-05-19 贵州智诚科技有限公司 一种道路设备物联网边缘计算的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101469985A (zh) * 2007-12-26 2009-07-01 河海大学常州校区 交叉路口车辆排队长度的单帧图像检测装置及其工作方法
CN101751782A (zh) * 2009-12-30 2010-06-23 北京大学深圳研究生院 一种基于多源信息融合的十字路口交通事件自动检测系统
CN108734966A (zh) * 2017-04-17 2018-11-02 杭州天象智能科技有限公司 一种交通视频综合分析云平台系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Depth-aware image vectorization and editing;Shufang Lu;《The Visual Computer 》;20190507;第1027-1038页 *
Robust 3D Hand Pose Estimation in Single Depth Images:;Liuhao Ge;《2016 IEEE Conference on Computer Vision and Pattern Recognition》;20160630;第3594-3601页 *

Also Published As

Publication number Publication date
CN111882861A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN111882861B (zh) 一种基于边云融合的在线交通事件感知系统
CN101075376B (zh) 基于多视点的智能视频交通监控系统及方法
US7046822B1 (en) Method of detecting objects within a wide range of a road vehicle
CN103778786B (zh) 一种基于显著车辆部件模型的交通违章检测方法
CN104537841B (zh) 无牌车辆违章检测方法及其检测系统
CN103065470B (zh) 基于单目多检测面的机器视觉的车辆闯红灯行为检测装置
CN107240299B (zh) 自主驾驶车辆对移动物体识别以及车辆避障的方法
CN107447699B (zh) 一种高适应性自行车专用车道智能闸机系统
CN106652551A (zh) 一种车位检测方法及设备
CN106327863A (zh) 一种车辆拥堵检测预警方法、装置及系统
CN101964145A (zh) 一种自动车牌识别方法及其系统
US20170330454A1 (en) Method of controlling a traffic surveillance system
CN103824452A (zh) 一种轻量级的基于全景视觉的违章停车检测装置
CN101364347A (zh) 基于视频的交叉口车辆控制延误的检测方法
CN105702048A (zh) 基于行车记录仪的高速公路前车违法占道识别系统及方法
CN101826260A (zh) 一种交通违法行为自动抓拍的方法和系统
KR102067006B1 (ko) 차량 통행정보 관리시스템 및 차량 통행정보 관리방법
CN102556021A (zh) 一种汽车防闯红灯的控制装置
CN104036640A (zh) 一种全景图像采集装置、全景图像采集方法
CN103164958A (zh) 车辆监控方法及系统
CN107274678A (zh) 一种基于Kinect的夜间车流量统计及车型识别方法
CN111081031A (zh) 车辆的抓拍方法及系统
CN114387785A (zh) 一种基于智慧公路的安全管控方法、系统及可存储介质
CN112034449A (zh) 基于物理空间属性实现对车辆行驶轨迹修正的系统及方法
CN113689718B (zh) 智能信号灯与车道匹配系统及匹配方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant