CN117455948A - 基于深度学习算法的多视角行人轨迹提取分析方法 - Google Patents
基于深度学习算法的多视角行人轨迹提取分析方法 Download PDFInfo
- Publication number
- CN117455948A CN117455948A CN202310997376.3A CN202310997376A CN117455948A CN 117455948 A CN117455948 A CN 117455948A CN 202310997376 A CN202310997376 A CN 202310997376A CN 117455948 A CN117455948 A CN 117455948A
- Authority
- CN
- China
- Prior art keywords
- frame
- pedestrian
- detection
- track
- frames
- 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.)
- Pending
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 21
- 238000004458 analytical method Methods 0.000 title claims abstract description 16
- 238000013135 deep learning Methods 0.000 title claims abstract description 13
- 238000001514 detection method Methods 0.000 claims abstract description 117
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012549 training Methods 0.000 claims abstract description 15
- 238000009499 grossing Methods 0.000 claims abstract description 9
- 230000000694 effects Effects 0.000 claims description 26
- 230000000007 visual effect Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 8
- 239000013598 vector Substances 0.000 claims description 5
- 230000008014 freezing Effects 0.000 claims description 3
- 238000007710 freezing Methods 0.000 claims description 3
- 238000003709 image segmentation Methods 0.000 claims description 3
- 230000002688 persistence Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 7
- 230000001133 acceleration Effects 0.000 abstract description 5
- 238000011160 research Methods 0.000 abstract description 4
- 238000006243 chemical reaction Methods 0.000 abstract 1
- 238000013527 convolutional neural network Methods 0.000 abstract 1
- 230000033001 locomotion Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 4
- 238000007689 inspection Methods 0.000 description 3
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/62—Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10032—Satellite or aerial image; Remote sensing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Remote Sensing (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了基于深度学习算法的多视角行人轨迹提取分析方法与设备。步骤如下:首先使用卷积神经网络算法,添加小目标检测层并使用数据增强方法来对俯视角行人的特征进行提取训练得到权重;采用YOLOV5负责俯视角行人的检测,DeepSORT负责目标法追踪、锚框预测和部分轨迹的平滑,并结合坐标投影转换和像素点标定进行行人轨迹提取;轨迹重构算法对初步轨迹进行拼接、去噪、平滑等一系列处理;最后对轨迹的步频、步速、加速度等行人交通量参数进行提取。该项目在不同环境下权重具有较好的可移植性,且极大地简化了外出携带检测设备的复杂度,能够较为实时地得到反馈检测结果和相关参数,对行人交通流研究具有很大的意义。
Description
技术领域
本发明属于行人交通流和智能交通技术领域,具体涉及基于深度学习算法的多视角行人轨迹提取分析方法。
背景技术
对于公共场所的行人管控工作而言,获取准确、可靠的行人运动数据非常重要。如果没有数据,所有的管控决策都将缺乏依据。由于民用的GPS往往精度不够,手机数据也不易获取,所以视频数据成为这一领域的首选。通过视频,可以清楚地观察到行人的运动过程,也能相对容易地分析和推断行为背后的原因。
随着近年来计算机人工智能领域新技术的不断发展,对行人视频进行实时监测和分析已经成为可能。例如经典的目标检测算法YOLO,轨迹追踪算法DeepSort,已经在这一领域得到了广泛应用和认可。目前国内一部分公共场所已经安装了大量的监控摄像头,包括室内与室外,因此使用人工智能算法对采集到的行人运动视频进行定量分析和研究,是一项非常有意义的工作。
然而不可忽视的是,为了获取行人运动的全貌,这些摄像头往往安装于较高的位置,获取的是俯拍角度的视频。此时若使用YOLO和DeepSort等经典算法进行分析,则效果很差,换言之前人的预训练模型并不能满足工作需要。虽然目前国内存在许多“算法商城”,国外网站上有大量的检测程序源代码可下载,但前期调研结果表明,不论是收费的还是免费的程序,对于俯拍角度下的行人检测,它们的使用效果都无法令人满意。另一方面,某些需要分析的区域并未事先安装摄像头,导致了数据采集的困难,更加无法开展后续工作。这些问题均导致已有的先进技术并不能为有关部门的决策服务,行人管控工作仍然缺乏数据支持。
发明内容
本发明的目的在于:在目标检测和轨迹追踪算法的基础上,针对行人运动的特征进行大幅度的优化改造,提升其使用性能,并搭建便携式的移动检测设备,简化数据采集流程,这一方法能够适用于多种类型的场景,能够为日常的行人管控工作和科学研究服务,具备很强的应用价值和现实意义。
为实现上述目的,本发明提供如下技术方案:基于深度学习算法的多视角行人轨迹提取分析方法,包括如下步骤:
S1、采集多视角下行人场景图片,构建各个视角图像数据集,
S2、在YOLOV5网络中添加小目标检测层,分别以各个视角图像为输入、其对应的视角下行人特征为输出构建并训练俯视角特征提取模型,并相应获得各个视角的检测权重;
S3、将视频导入帧缓冲序列,然后对帧缓冲序列中的每个视频帧逐帧进行画面分割,获得每个视频帧的若干个具有重叠区间的局部帧画面,并记录每幅局部帧画面的左上角坐标(xstart,ystart);
S4、对每个帧的局部帧画面调用对应视角检测权重进行YOLOV5模型前向推理,得到所有局部画面中框出行人的锚框相对于当前局部画面的左上角坐标及其宽高(x,y,w,h);
S5、根据局部帧画面左上角坐标及该局部帧画面内判别行人锚框的相对位置信息,得到该锚框在完整帧画面中的绝对位置信息(xtrue,ytrue,wtrue,htrue)并将其输出标记在原始帧画面上,并记录行人位置信息;
S6、检测完整视频,根据行人位置信息获得行人轨迹,对行人轨迹进行去噪和平滑处理,获得最终行人轨迹数据。
进一步地,前述的步骤S2具体为:针对平视视角行人图像,利用CoCo数据集对YOLOV5网络进行预设参数冻结后的重训练,微调其下层网络对行人特征的识别能力,并将检测类设置为仅行人,得到对应平视视角下的行人检测权重;
针对俯视视角行人图像,利用已知航拍照片数据集,标注行人位置锚框及其标签,然后将其输入YOLOV5网络中进行训练,得到对应俯视视角下的行人检测权重。
进一步地,前述的步骤S3中,所述帧缓冲序列基于Python的迭代器开发,创建视频流迭代器,按预设频率获取当前帧,并对单帧进行检测后进行图像输出。
进一步地,前述的步骤S4具体为:利用迭代器获取当前帧画面进行权重检测,并利用视觉暂留特性进行单帧连续输出,通过bool判别符进行输出检测视频的实时暂停、以及播放;在每帧检测时选择权重,实现实时权重切换。
进一步地,前述的步骤S5中利用NMS算法根据局部帧画面左上角坐标及该局帧画面内判别行人锚框的相对信息,当一个行人对应多个锚框时,按如下方法去重复:针对两个检测框(x1,y1,l1,w1),(x2,y2,l2,w2),若两个检测框同时满足下式(1)、(2):
|x1-x2|<(l1/2+l2/2)/2#(1)
|y1-y2|<(w1/2+w2/2)/2#(2)
则判定这两个检测框为重复框,保留置信度高的一个检测框,对另一个检测框进行剔除;其中,x1为检测框1左上角横坐标;y1为检测框1左上角纵坐标;l1为检测框1长度;w1为检测框1宽度;x2为检测框2左上角横坐标;y2为检测框2左上角纵坐标;l2为检测框2长度;w2为检测框2宽度。
进一步地,前述的步骤S6包括如下子步骤:
S601、计算行人的速度:相邻两帧之间标定的锚框间距除以帧间时间;
S602、利用DeepSORT算法中内嵌的Kalman滤波器实现行人轨迹的去噪和平滑。
进一步地,前述的步骤S602包括如下子步骤:
S602-1、按下式(3)进行帧坐标距离判断:
其中,(xi,yi)代表着i帧时的坐标位置,p是设定的距离上限。
S602-2、按下式(4)进行角度限制:
(xi-xi-1,yi-yi-1)·(xi-2-xi-1,yi-2-yi-1)>cosθp#(4)
其中,θp为两个向量所组成的角的上限阈值;
S602-3、利用式(5)进行相差帧数的判断:
Δf<fmax#(5)
其中,Δf为两个点相差的帧数;
S602-4、利用式(6)对两点距离的判断:
0<Δx<vp*Δf#(6)
其中,Δx代表两点间的距离,v_p为最大许可速度;
S602-5、按下式(7)进行轨迹整体平滑效果的判断:
其中,K为待匹配的两点间曲线的曲率,是被匹配的轨迹之前的曲率,α与β是用于判断的经验系数;
S602-6、判断是否同时满足式(5)、(6)、(7),是则前后的轨迹将会被判断为同一轨迹,将新轨迹连接至旧轨迹上,否则判定前后两条轨迹不是同一轨迹。
本发明另一方面提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实本发明所述方法的步骤。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明所述方法的步骤。
相较于现有技术,本发明的有益效果在于:本发明在前人目标检测和轨迹追踪算法的基础上,针对行人运动的特征进行大幅度的优化改造,提升其使用性能,并搭建便携式的移动检测设备,简化数据采集流程,最终开发算法-软件-硬件一体化的多视角行人轨迹提取和数据分析法方法。这一方法能够适用于多种类型的场景,能够为日常的行人管控工作和科学研究服务,具备很强的应用价值和现实意义。
附图说明
图1为不同权重对某大学教学楼出口处行人运动视频的检测效果对比图;图中,(a)为仅使用原始YOLOV5的行人检测效果图,(b)在(a)基础上加入小目标检测层的效果图,(c)为在(a)基础上对行人全身进行标记训练的效果图,(d)为在(a)基础上对行人头肩进行训练的效果图。
图2为不同权重的相对适用情况图。
图3为对某校园内行人流实验视频的优化前后轨迹追踪效果对比图;图中,(a)为仅使用原始DeepSORT算法实现的轨迹提取效果图,(b)为在(a)基础上剔除不可靠轨迹片段后的提取效果图,(c)为在(b)基础上加入轨迹重构算法后的提取效果图。
图4为对某大学教学楼出口处行人运动视频的检测效果展示图;图中,(a-1)为整体区域的速度分布箱线图,(a-2)为整体区域的速度分布直方图,(b-1)为右上角瓶颈区域速度分布箱线图,(b-2)为右上角瓶颈区域速度分布箱直方图。
图5为部署开发板概览图;
图6为行人检测可视化界面图;
图7为本发明方法以及硬件框图。
具体实施方式
为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。
在本发明中参照附图来描述本发明的各方面,附图中示出了许多说明性实施例。本发明的实施例不局限于附图所述。应当理解,本发明通过上面介绍的多种构思和实施例,以及下面详细描述的构思和实施方式中的任意一种来实现,这是因为本发明所公开的构思和实施例并不限于任何实施方式。另外,本发明公开的一些方面可以单独使用,或者与本发明公开的其他方面的任何适当组合来使用。
本实例基于无人机航拍某大学教学楼下课时出口人流视频。
为获取行人运动全貌,现实中的摄像头往往处于较高的位置。此时拍摄得到的视频如果直接使用目前流行的目标检测算法YOLO检测(简称方法1),则效果非常不理想,甚至有时完全检测不出来,如图1中(a)所示。因此发明在YOLOV5中加入分割检测算法和小目标检测层,并通过训练进一步提升检测精度。分割检测算法的核心思想在于将待检测的图片先进行切割,后加载目标检测模型对切割的每一张图片前向推理,最后通过NMS操作去除多余的框,保存特定类别实现输出。
改进后算法的检测效果有一定的提升,但是仍有大量行人未被检测出来,如图1中(b)所示。在高空俯拍场景下,行人作为小目标难以检测的原因主要包括分辨率低、图像模糊、携带信息少等等,由此导致特征表达能力弱,也就是在提取特征的过程中,能提取的特征非常少。针对这种情况,本发明对YOLO V5算法的预训练模型进行了修改,又专门增加了一个小目标检测层。
在完成对YOLO V5模型的修改后,本实例分别对人的全身和人的头肩部进行标注和训练,并利用代码进行数据增强,再通过服务器进行多次部署训练,最终取得了较为满意的效果,如图1中的(c)和(d)所示。不同算法的对比效果可以在表1中清楚地看到,尤其是针对头肩部训练的模型表现优异,明显强于对全身的训练效果,可以让precision和recall同时达到90%以上,此处简称为方法3。
表1不同模型的检测结果对比
综上所述,针对行人检测的不同场景,共有3种方法可以考虑。此处用两个参数来描述场景属性:摄像头距离检测目标的垂直距离H和水平距离L。基于大量观测结果,得出结论如图2所示,在实际操作中可根据此图决定最合适的检测方法。
如图7所示,基于深度学习算法的多视角行人轨迹提取分析方法,包括如下步骤:
S1、采集多视角下行人场景图片,构建各个视角图像数据集,
S2、在YOLOV5网络中添加小目标检测层,分别以各个视角图像为输入、其对应的视角下行人特征为输出构建并训练俯视角特征提取模型,并相应获得各个视角的检测权重;针对平视视角行人图像,利用CoCo数据集对YOLOV5网络进行预设参数冻结后的重训练,微调其下层网络对行人特征的识别能力,并将检测类设置为仅行人,得到对应平视视角下的行人检测权重;
S3、将视频导入帧缓冲序列,然后对帧缓冲序列中的每个视频帧逐帧进行画面分割,获得每个视频帧的若干个具有重叠区间的局部帧画面,并记录每幅局部帧画面的左上角坐标(xstart,ystart);所述帧缓冲序列基于Python的迭代器开发,创建视频流迭代器,按预设频率获取当前帧,并对单帧进行检测后进行图像输出。
S4、对每个帧的局部帧画面调用对应视角检测权重进行YOLOV5模型前向推理,得到所有局部画面中框出行人的锚框相对于当前局部画面的左上角坐标及其宽高(x,y,w,h);利用迭代器获取当前帧画面进行权重检测,并利用视觉暂留特性进行单帧连续输出,通过bool判别符进行输出检测视频的实时暂停、以及播放;在每帧检测时选择权重,实现实时权重切换。
S5、利用NMS算法根据局部帧画面左上角坐标及该局帧画面内判别行人锚框的相对信息,得到该锚框在完整帧画面中的绝对位置信息并将其输出标记在原始帧画面上,并记录行人位置信息;当一个行人对应多个锚框时,按如下方法去重复:
针对两个检测框(x1,y1,l1,w1),(x2,y2,l2,w2),若两个检测框同时满足以下条件:
|x1-x2|<(l1/2+l2/2)/2#(1)
|y1-y2|<(w1/2+w2/2)/2#(2)
则判定这两个检测框为重复框,保留置信度高的一个检测框,对另一个检测框进行剔除。其中,x1为检测框1左上角横坐标;y1为检测框1左上角纵坐标;l1为检测框1长度;w1为检测框1宽度;x2为检测框2左上角横坐标;y2为检测框2左上角纵坐标;l2为检测框2长度;w2为检测框2宽度。
S6、检测完整视频,根据行人位置信息获得行人轨迹,对行人轨迹进行去噪和平滑处理,获得最终行人轨迹数据。
行人跟踪属于多目标跟踪(MOT)的一部分。本实例选用DeepSORT算法作为本实例的基础追踪算法。DeepSORT作为SORT算法的升级版,加入了外观识别以提升跟踪效果。DeepSORT由Deep和SORT两部分构成,其中Deep主要包含分类器和外观提取器,分类器引入了机器学习算法,通过数据集训练后可以通过生成的权重将检测算法返回的目标进行分类,外观提取器提取目标的外观特征,以便于后续的最大最近匹配,这两者为接下来SORT的跟踪提供了优化的基础。在SORT算法中,每一个检测目标都会由卡尔曼滤波预测出接下来的位置。
Pk=APk-1AT+Q#(b)
Gk=PkHT(HPkHT+R)-1#(c)
Pk=(1-GkH)Pk#(e)
上式(a)-(e)中,式(a)、(b)代表着目标位置的预测过程,式(c)、(d)、(e)代表着相关参数的更新过程。其中,是k个目标的位置向量,Buk是测量噪声的体现,Gk每个维度都介于0-1之间,代表着对测量值的信任程度,Pk为本周期的预测误差。H为缩放系数,Q是协方差。
接下来,由上一帧目标通过卡尔曼滤波预测出的位置将会与当前帧目标通过匈牙利算法进行分配。没有丢失过的轨迹被赋予优先匹配的权利,而丢失最久的轨迹最后匹配。在匹配中,IOU距离是首要考虑因素,不过,当两目标的外观相似度达到设定的阈值时,两者将会被优先匹配。每个目标被跟踪以及丢失跟踪的帧数将会被记录,当丢失跟踪累计达到一定帧数时,跟踪ID将会被注销。
但直接用原始的DeepSORT算法对高空俯拍下的小目标进行跟踪时,识别效果不佳,序号错误配对的情况也很多,如图3中(a)所示。因此在算法本身相对成熟的前提下,本实例从行人运动的特质入手进行优化,通过角度与距离的不断筛选,重新生成轨迹。
此处采用下式(3)(4)进行轨迹可靠性的判断。其中第一个不等式用来进行距离上的判断,(xi,yi)代表着i帧时的坐标位置,p则是设定的距离上限。第二个不等式则是对角度进行了限制,两个向量所组成的角被限制为不大于θp这一上限,而式中向量积的判断可以实现对不合角度条件的轨迹的排除。
(xi-xi-1,yi-yi-1)·(xi-2-xi-1,yi-2-yi-1)>cosθp#(4)
将不可靠的轨迹片段剔除后,追踪效果如图3中的(b)所示,剩下的轨迹片段仍不连续。因此在此基础上,本实例又进行了轨迹重构。此时不需要顾及原轨迹的跟踪ID,而只需要考虑以下(5)-(7)式的条件。(8)式为对相差帧数的判断,Δf为两个点相差的帧数,正如DeepSORT的关联算法一样,不能超过许可的帧数范围。(6)式是对距离的判断,Δx代表两点间的距离,vp为最大许可速度。(7)式则是对轨迹整体平滑效果的判断,K为需匹配的两点间曲线的曲率,则是被匹配的轨迹之前的曲率,α与β是用于判断的经验系数。如果同时满足(5)-(7)式的条件,前后的轨迹将会被判断为同一轨迹,新轨迹将会连接至旧轨迹上,轨迹完整性也会得到提升,此时的追踪效果如图5中的(c)所示。
Δf<fmax#(5)
0<Δx<v_p*Δf#(6)
三种算法的最终对比效果如图3中的(d)所示。可以看到原始算法的结果中存在大量的错误轨迹;优化算法可以消除这些错误,但又会生成大量的断裂轨迹;最终的重构算法则可以修补大多数断裂轨迹,获取较好的追踪结果。
除此之外,为了获得更加符合实际的统计效果,本实例还进行了时空层面上的优化,包含时序替代和空间替代两方面。当部分对象由于遮挡、检测不完善、运动特征超出预测范围等原因失去跟踪,导致轨迹断裂,且上述的轨迹重构都不能将其修复时。则该机制发挥作用,寻找时序上和空间上最为相近的对象,通过插值对其进行替代。采用这样的方法,本实例可以提升检测结果的稳定性,同时在检测环境的自然条件,如光影变化或者人流密度剧烈变化时,使得结果较少受局部区域的影响。
在跟踪算法的优化基础上,对速度的检测作为该算法的应用以及算法优化效果的检验则就此开展,首先本实例通过行人流实验的视频进行初步检验,行人流实验视频密度较小,运动相对规律,适宜用作检验。检测发现,低密度行人流实验下速度服从正态分布。而且在进一步分析中,发现行人出现了较为明显的并排运动现象,在对与圆心距离相近的相邻100人取移动平均的情况下,发现了圆心距离与行人速度的线性关系,具体来说,距离圆心每远1m,行人速度就会增加约0.5km/h,该线性关系的R2=0.9463。
在对实际情景的验证中,本实例对某大学教八教学楼高峰时段的俯拍视频进行了速度检测。结果呈现图4所示特点:如图所示,(a-1)表明总体速度分布在2km/h-5km/h之间且分布较为分散,(a-2)体现出总体速度近似服从正态分布,(b-1)表明瓶颈处速度分布在2km/h-4km/h之间且分布较为紧凑,(a-2)体现出瓶颈处速度也近似服从正态分布。对于总体速度结果,速度大小呈现接近正态分布的特征,同时主峰和副峰也表现了不同区域速度的差异;在此基础上进行分区域的检测,检测结果中,本实例能够发现瓶颈区域的速度分布和非瓶颈区域差异显著。
当没有固定摄像头可用时,服务器等体积庞大的设备不适合便携式检测。若使用RTSP摄像头传输流视频,本地PC接收则会导致信号不稳定等问题。因此本实例选择使用质量较小的边缘检测开发板——Nvidia Jetson Nano进行有移动检测。
在开发板上,为部署开发好的检测算法,需按表2进行环境的配置。
表2环境与版本对应表
注:x为任意数字
其中,CUDA和TensorRT均包含在官方JetPack中,PyTorch和TorchVision均需要在开发板上进行CMake编译。DeepStream需下载后解压安装。YOLO V5需从GitHub上Clone到本地。
参考图5,发板使用的是Ubuntu-Mate系统,ARM架构精简指令集处理器,与传统PC的Win系统和X86架构复杂指令集处理器存在很大区别,直接使用YOLO V5模型的帧数并不理想,需要针对开发板的硬件情况进行相应的加速算法补正。
英伟达官方提供了DeepStream加速算法。该算法借助Jetson Nano中GPU的CUDA核心提高图片张量运算速度,同时使用JetPack中封装的TensorRT推理加速工具,适度降低模型的推理精度从而加速网络推理,优化GPU运算。本实例中,选择将综合检测能力较好的yolov5s.pt权重和自训练的俯视角行人检测权重new.pt进行TensorRT编译,得到支持DeepStream加速的TensorRT权重yolov5s.wts和new.wts。后借助Nvidia提供的C++编译库编译出用户自定义动态库.so和推理引擎.engine。
修改DeepStream的配置文件.config,修改自定义的动态库.so、推理引擎.engine和权重.wts位置。考虑到开发板性能较弱,故放弃使用会占用大量资源的DeepSort跟踪算法。DeepStream5.1支持IOU、KLT与NVDCF三种目标追踪算法,其中IOU的性能最好但精度较低;NVDCF的精确度最高,但性能较差;KLT算法目前在性能与精确度的平衡比较好,因此使用内嵌的KLT跟踪算法。启用轨迹点记录功能,返回为KITTI格式数据集,后使用自定义代码提取需要的轨迹信息。
参考图6,可视化界面及相关操作说明,本实例为检测设备和PC平台开发了一套共用的GUI系统,系统使用PyQt5封装,基于YOLOV5 6.0版本,实现了实时权重切换,界面交互的置信度、交并比和帧率的调整。整合了本地视频检测,USB摄像头实际检测和远程RTSP摄像头及网络视频流检测。同时GUI系统也实现了简易的行人计数功能。
对于本地视频检测,选择“检测方法”一栏中的本地文件图标,在弹出窗口中选择本地待检测的视频,然后选择检测框左下角的开始按钮,即可进行本地视频的检测。
对于摄像头检测,首先需要确保摄像头连接在本地,然后选择摄像头按钮,此时GUI会弹出获取摄像头设备的通知,并在此后摄像头按钮下会弹出设备编号(从0开始),选择摄像头对应的设备号,即可开始摄像头视频的检测。
对于RTSP流检测,首先需要在支持RTSP流输出的设备上获取RTSP流对于的端口号及其登陆密钥,后在GUI的RTSP检测按钮弹出的地址框输入以下格式的RTSP地址,即可开始检测。
虽然本发明已以较佳实施例阐述如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
Claims (9)
1.基于深度学习算法的多视角行人轨迹提取分析方法,其特征在于,包括如下步骤:
S1、采集多视角下行人场景图片,构建各个视角图像数据集,
S2、在YOLOV5网络中添加小目标检测层,分别以各个视角图像为输入、其对应的视角下行人特征为输出构建并训练俯视角特征提取模型,并相应获得各个视角的检测权重;
S3、将视频导入帧缓冲序列,然后对帧缓冲序列中的每个视频帧逐帧进行画面分割,获得每个视频帧的若干个具有重叠区间的局部帧画面,并记录每幅局部帧画面的左上角坐标(xstart,ystart);
S4、对每个帧的局部帧画面调用对应视角检测权重进行YOLOV5模型前向推理,得到所有局部画面中框出行人的锚框相对于当前局部画面的左上角坐标及其宽高(x,y,w,h);
S5、根据局部帧画面左上角坐标及该局部帧画面内判别行人锚框的相对位置信息,得到该锚框在完整帧画面中的绝对位置信息(xtrue,ytrue,wtrue,htrue)并将其输出标记在原始帧画面上,并记录行人位置信息;
S6、检测完整视频,根据行人位置信息获得行人轨迹,对行人轨迹进行去噪和平滑处理,获得最终行人轨迹数据。
2.根据权利要求1所述的基于深度学习算法的多视角行人轨迹提取分析方法,其特征在于,步骤S2具体为:针对平视视角行人图像,利用CoCo数据集对YOLOV5网络进行预设参数冻结后的重训练,微调其下层网络对行人特征的识别能力,并将检测类设置为仅行人,得到对应平视视角下的行人检测权重;
针对俯视视角行人图像,利用已知航拍照片数据集,标注行人位置锚框及其标签,然后将其输入YOLOV5网络中进行训练,得到对应俯视视角下的行人检测权重。
3.根据权利要求1所述的基于深度学习算法的多视角行人轨迹提取分析方法,其特征在于,步骤S3中,所述帧缓冲序列基于Python的迭代器开发,创建视频流迭代器,按预设频率获取当前帧,并对单帧进行检测后进行图像输出。
4.根据权利要求1所述的基于深度学习算法的多视角行人轨迹提取分析方法,其特征在于,步骤S4具体为:利用迭代器获取当前帧画面进行权重检测,并利用视觉暂留特性进行单帧连续输出,通过bool判别符进行输出检测视频的实时暂停、以及播放;在每帧检测时选择权重,实现实时权重切换。
5.根据权利要求1所述的基于深度学习算法的多视角行人轨迹提取分析方法,其特征在于,步骤S5中利用NMS算法根据局部帧画面左上角坐标及该局帧画面内判别行人锚框的相对信息,当一个行人对应多个锚框时,按如下方法去重复:
针对两个检测框(x1,y1,l1,w1),(x2,y2,l2,w2),若两个检测框同时满足下式(1)、(2):
|x1-x2|<(l1/2+l2/2)/2#(1)
|y1-y2|<(w1/2+w2/2)/2#(2)
则判定这两个检测框为重复框,保留置信度高的一个检测框,对另一个检测框进行剔除;其中,x1为检测框1左上角横坐标;y1为检测框1左上角纵坐标;l1为检测框1长度;w1为检测框1宽度;x2为检测框2左上角横坐标;y2为检测框2左上角纵坐标;l2为检测框2长度;w2为检测框2宽度。
6.根据权利要求1所述的基于深度学习算法的多视角行人轨迹提取分析方法,其特征在于,步骤S6包括如下子步骤:
S601、计算行人的速度:相邻两帧之间标定的锚框间距除以帧间时间;
S602、利用DeepSORT算法中内嵌的Kalman滤波器实现行人轨迹的去噪和平滑。
7.根据权利要求6所述的基于深度学习算法的多视角行人轨迹提取分析方法,其特征在于,步骤S602包括如下子步骤:
S602-1、按下式(3)进行帧坐标距离判断:
其中,(xi,yi)代表着i帧时的坐标位置,p是设定的距离上限;
S602-2、按下式(4)进行角度限制:
(xi-xi-1,yi-yi-1)·(xi-2-xi-1,yi-2-yi-1)>cosθp#(4)
其中,θp为两个向量所组成的角的上限阈值;
S602-3、利用式(5)进行相差帧数的判断:
Δf<fmax#(5)
其中,Δf为两个点相差的帧数;
S602-4、利用式(6)对两点距离的判断:
0<Δx<vp*Δf#(6)
其中,Δx代表两点间的距离,v_p为最大许可速度;
S602-5、按下式(7)进行轨迹整体平滑效果的判断:
其中,K为待匹配的两点间曲线的曲率,是被匹配的轨迹之前的曲率,α与β是用于判断的经验系数;
S602-6、判断是否同时满足式(5)、(6)、(7),是则前后的轨迹将会被判断为同一轨迹,将新轨迹连接至旧轨迹上,否则判定前后两条轨迹不是同一轨迹。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310997376.3A CN117455948A (zh) | 2023-08-09 | 2023-08-09 | 基于深度学习算法的多视角行人轨迹提取分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310997376.3A CN117455948A (zh) | 2023-08-09 | 2023-08-09 | 基于深度学习算法的多视角行人轨迹提取分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117455948A true CN117455948A (zh) | 2024-01-26 |
Family
ID=89586252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310997376.3A Pending CN117455948A (zh) | 2023-08-09 | 2023-08-09 | 基于深度学习算法的多视角行人轨迹提取分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117455948A (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751099A (zh) * | 2019-10-22 | 2020-02-04 | 东南大学 | 一种基于深度学习的无人机航拍视频轨迹高精度提取方法 |
CN111666871A (zh) * | 2020-06-03 | 2020-09-15 | 南京航空航天大学 | 一种面向无人机的改进yolo与sift相结合的多小目标检测跟踪方法 |
CN111914664A (zh) * | 2020-07-06 | 2020-11-10 | 同济大学 | 基于重识别的车辆多目标检测和轨迹跟踪方法 |
CN112101433A (zh) * | 2020-09-04 | 2020-12-18 | 东南大学 | 一种基于YOLO V4和DeepSORT的分车道车辆自动计数方法 |
CN112270310A (zh) * | 2020-11-24 | 2021-01-26 | 上海工程技术大学 | 一种基于深度学习的跨摄像头行人多目标跟踪方法和装置 |
CN112288770A (zh) * | 2020-09-25 | 2021-01-29 | 航天科工深圳(集团)有限公司 | 基于深度学习的视频实时多目标检测与跟踪方法和装置 |
CN114820702A (zh) * | 2022-04-14 | 2022-07-29 | 大连理工大学 | 一种基于yolov5的Deepsort无人机视角行人多目标跟踪方法 |
CN114972767A (zh) * | 2022-06-05 | 2022-08-30 | 李晓赫 | 一种基于高空无人机视频的车辆轨迹和航向角提取方法 |
US20220366575A1 (en) * | 2021-05-14 | 2022-11-17 | Fyma OÜ | Method and system for gathering information of an object moving in an area of interest |
CN115424292A (zh) * | 2022-07-29 | 2022-12-02 | 华南农业大学 | 基于改进YOLOX与DeepSORT的鱼群跟踪方法 |
EP4172937A1 (en) * | 2020-06-26 | 2023-05-03 | Mobile Viewpoint B.V. | Method for detecting and/or tracking moving objects within a certain zone and sports video production system in which such a method is implemented |
KR20230060214A (ko) * | 2021-10-27 | 2023-05-04 | 인천대학교 산학협력단 | 인공지능 기반 영상 객체 추적 장치 및 방법 |
CN116188538A (zh) * | 2022-11-22 | 2023-05-30 | 重庆邮电大学 | 一种多摄像头的行为轨迹跟踪方法 |
KR20230102871A (ko) * | 2021-12-30 | 2023-07-07 | 부경대학교 산학협력단 | 다중객체추적 알고리즘을 활용한 드론 항공영상 기반 미시적 교통데이터 추출을 위한 장치 및 방법 |
CN116434159A (zh) * | 2023-04-13 | 2023-07-14 | 西安电子科技大学 | 一种基于改进YOLO V7和Deep-Sort的交通流量统计方法 |
-
2023
- 2023-08-09 CN CN202310997376.3A patent/CN117455948A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751099A (zh) * | 2019-10-22 | 2020-02-04 | 东南大学 | 一种基于深度学习的无人机航拍视频轨迹高精度提取方法 |
CN111666871A (zh) * | 2020-06-03 | 2020-09-15 | 南京航空航天大学 | 一种面向无人机的改进yolo与sift相结合的多小目标检测跟踪方法 |
EP4172937A1 (en) * | 2020-06-26 | 2023-05-03 | Mobile Viewpoint B.V. | Method for detecting and/or tracking moving objects within a certain zone and sports video production system in which such a method is implemented |
CN111914664A (zh) * | 2020-07-06 | 2020-11-10 | 同济大学 | 基于重识别的车辆多目标检测和轨迹跟踪方法 |
CN112101433A (zh) * | 2020-09-04 | 2020-12-18 | 东南大学 | 一种基于YOLO V4和DeepSORT的分车道车辆自动计数方法 |
CN112288770A (zh) * | 2020-09-25 | 2021-01-29 | 航天科工深圳(集团)有限公司 | 基于深度学习的视频实时多目标检测与跟踪方法和装置 |
CN112270310A (zh) * | 2020-11-24 | 2021-01-26 | 上海工程技术大学 | 一种基于深度学习的跨摄像头行人多目标跟踪方法和装置 |
US20220366575A1 (en) * | 2021-05-14 | 2022-11-17 | Fyma OÜ | Method and system for gathering information of an object moving in an area of interest |
KR20230060214A (ko) * | 2021-10-27 | 2023-05-04 | 인천대학교 산학협력단 | 인공지능 기반 영상 객체 추적 장치 및 방법 |
KR20230102871A (ko) * | 2021-12-30 | 2023-07-07 | 부경대학교 산학협력단 | 다중객체추적 알고리즘을 활용한 드론 항공영상 기반 미시적 교통데이터 추출을 위한 장치 및 방법 |
CN114820702A (zh) * | 2022-04-14 | 2022-07-29 | 大连理工大学 | 一种基于yolov5的Deepsort无人机视角行人多目标跟踪方法 |
CN114972767A (zh) * | 2022-06-05 | 2022-08-30 | 李晓赫 | 一种基于高空无人机视频的车辆轨迹和航向角提取方法 |
CN115424292A (zh) * | 2022-07-29 | 2022-12-02 | 华南农业大学 | 基于改进YOLOX与DeepSORT的鱼群跟踪方法 |
CN116188538A (zh) * | 2022-11-22 | 2023-05-30 | 重庆邮电大学 | 一种多摄像头的行为轨迹跟踪方法 |
CN116434159A (zh) * | 2023-04-13 | 2023-07-14 | 西安电子科技大学 | 一种基于改进YOLO V7和Deep-Sort的交通流量统计方法 |
Non-Patent Citations (6)
Title |
---|
ABHIJEET PUJARA: "DeepSORT: Real Time & Multi-Object Detection and Tracking with YOLO and TensorFlow", 2022 INTERNATIONAL CONFERENCE ON AUGMENTED INTELLIGENCE AND SUSTAINABLE SYSTEMS (ICAISS), 16 January 2023 (2023-01-16) * |
仇男豪;曹杰;马俊杰;龚永富;: "一种改进的无人机对地小目标检测方法", 电子设计工程, no. 12, 15 June 2020 (2020-06-15) * |
张静;王文杰;: "基于多信息融合的多目标跟踪方法研究", 计算机测量与控制, no. 09, 25 September 2020 (2020-09-25) * |
徐耀建;: "基于深度学习的视频多目标行人检测与追踪", 现代信息科技, no. 12, 25 June 2020 (2020-06-25) * |
沈茂东;高宏;付新阳;周伟;张俊岭;公凡奎;冯志珍;: "基于改进SSD的电力检修多目标人员追踪方法", 计算机系统应用, no. 08, 15 August 2020 (2020-08-15) * |
赵朵朵;章坚武;傅剑峰;: "基于深度学习的实时人流统计方法研究", 传感技术学报, no. 08, 15 August 2020 (2020-08-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874854B (zh) | 基于嵌入式平台的无人机车辆跟踪方法 | |
CN108596101B (zh) | 一种基于卷积神经网络的遥感图像多目标检测方法 | |
Shi et al. | Orientation-aware vehicle detection in aerial images via an anchor-free object detection approach | |
CN103703758B (zh) | 移动增强现实系统 | |
Zhao et al. | Detection, tracking, and geolocation of moving vehicle from uav using monocular camera | |
Chen et al. | A deep learning approach to drone monitoring | |
CN114202672A (zh) | 一种基于注意力机制的小目标检测方法 | |
US8855369B2 (en) | Self learning face recognition using depth based tracking for database generation and update | |
CN104680559B (zh) | 基于运动行为模式的多视角室内行人跟踪方法 | |
CN107851318A (zh) | 用于对象跟踪的系统和方法 | |
CN108961312A (zh) | 用于嵌入式视觉系统的高性能视觉对象跟踪方法及系统 | |
CN109671103A (zh) | 目标跟踪方法及装置 | |
CN109815844A (zh) | 目标检测方法及装置、电子设备和存储介质 | |
CN107408303A (zh) | 用于对象跟踪的系统和方法 | |
CN101354254B (zh) | 一种飞行器航向跟踪方法 | |
CN107341442A (zh) | 运动控制方法、装置、计算机设备和服务机器人 | |
CN110781964A (zh) | 一种基于视频图像的人体目标检测方法及系统 | |
CN109816692A (zh) | 一种基于Camshift算法的运动目标跟踪方法 | |
Morimitsu et al. | Exploring structure for long-term tracking of multiple objects in sports videos | |
CN109063549A (zh) | 基于深度神经网络的高分辨率航拍视频运动目标检测方法 | |
Lu et al. | A CNN-transformer hybrid model based on CSWin transformer for UAV image object detection | |
CN110520813A (zh) | 利用radon累积分布变换和典型相关分析预测遍布标记队形的多智能体对抗式移动 | |
CN114038193A (zh) | 基于无人机和多目标追踪的智能交通流量数据统计方法及系统 | |
CN109345460A (zh) | 用于矫正图像的方法和装置 | |
Li et al. | Weak moving object detection in optical remote sensing video with motion-drive fusion network |
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 |