CN117294903B - 一种多路视频流关键帧标记及推流方法 - Google Patents
一种多路视频流关键帧标记及推流方法 Download PDFInfo
- Publication number
- CN117294903B CN117294903B CN202311392368.2A CN202311392368A CN117294903B CN 117294903 B CN117294903 B CN 117294903B CN 202311392368 A CN202311392368 A CN 202311392368A CN 117294903 B CN117294903 B CN 117294903B
- Authority
- CN
- China
- Prior art keywords
- frame
- queue
- key
- video
- video stream
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000012545 processing Methods 0.000 claims abstract description 66
- 238000001514 detection method Methods 0.000 claims abstract description 26
- 238000001914 filtration Methods 0.000 claims abstract description 16
- 101150077194 CAP1 gene Proteins 0.000 claims description 7
- 101100245221 Mus musculus Prss8 gene Proteins 0.000 claims description 7
- 101150014715 CAP2 gene Proteins 0.000 claims description 4
- 101100260872 Mus musculus Tmprss4 gene Proteins 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000000903 blocking effect Effects 0.000 claims description 3
- 230000005764 inhibitory process Effects 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000007689 inspection Methods 0.000 abstract description 27
- 230000005540 biological transmission Effects 0.000 abstract description 4
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000010276 construction Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/6437—Real-time Transport Protocol [RTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明属于无人机巡检及视频处理技术领域,公开了一种多路视频流关键帧标记及推流方法。包括如下步骤:无人机采集视频信号并主动推流到流媒体服务器A;算法平台主动拉取视频流,对视频流进行处理,根据指定的任务ID执行对应检测模型、捕获关键事件、封装新的结果视频帧,然后推流至流媒体服务器B;同时,算法平台对视频流进行处理时捕获关键图像帧及关键事件,并将关键图像帧推送至对象存储服务器保存,关键事件对应的识别过程数据保存至业务库备份;用户根据需求实时拉取流媒体服务器B的检测结果视频。本发明方法能够多线程的拉流、识别与推流,并能有效识别关键事件及过滤干扰事件,显著提高数据传输效率和提升推流实时性。
Description
技术领域
本发明属于无人机巡检及视频处理技术领域,具体涉及一种多路视频流关键帧标记及推流方法。
背景技术
无人机巡检指的是利用无人机技术对指定场景进行巡检、监测,通过图像、视频等传感器获取设备运行状态信息以及周围环境信息的检测方式。与传统的巡检方法相比,无人机巡检具有高效、数据量多、使用便捷、操作灵活等特点,是智慧工地、智慧城管等项目建设的新型建设方式。
无人机巡检技术使用无人机在连续进行视频拍摄后,将视频流实时推送到指定的流媒体服务器分发。服务端主动拉取视频流进行处理,识别图像帧关键事件与类别并传输至消息服务器,同时将关键事件所属图像帧编码后传输至对象存储服务器,二者被关联起来在后端服务器统一处理,并将视频标签结果实时回传到结果流媒体服务器。用户可通过拉取结果流实时查看巡检数据。
无人机巡检系统常被要求具有处理多任务的能力。例如在智慧工地场景中,既要求能够识别各种车辆,也被要求识别是否佩戴安全帽。复杂的业务需求常常被独立设计不同的检测模块,加载于不同的硬件模型中进行单任务并行推理,并最终统一汇总检测结果。这时不同的任务需求、不同的模型所涉及的软硬件资源需求是不一样的,需要动态分配符合当前任务的最佳资源组合。专利CN 111741263 A公开了一种变电站巡检无人机的多目态势感知导航方法,包括以下步骤:采集变电站内监控摄像头与巡检无人机拍摄的视频流;对视频流进行解码,获得变电站内不同区域多源的同步多帧图片,并保存在指定的存储路径中;建立变电站空间坐标系;读取同步多帧图片,采用改进的SSD算法对同步多帧图片进行对象识别分析,得到变电站内的电力设备的分类结果;采用多源SLAM算法并对变电站实时环境进行态势感知,得到巡检无人机在变电站内的运行状态;将所述变电站内的电力设备的分类结果以及巡检无人机在变电站内的运行状态输入调度系统后台,与调度系统后台中的变电站实际环境特征数据进行匹配,当匹配一致时,即完成巡检无人机的多目态势感知导航。该专利主要是通过对采集的视频流进行解码后存储在指定的存储路径中,能够提高监控视频的利用率,便于调用回看及人工查验;采用多源SLAM算法及改进的SSD算法,实现对象识别、地图重建及导航预测等步骤,实现变电站内的巡检无人机的实时态势感知与地图重建,能够有效解决无人机在变电站中导航定位准确率低的问题。其并未对巡检无人机的视频流进行处理和优化,以提高视频处理性能及处理效率。
无人机巡检系统也需要能够支撑多个无人机并行巡检。当无人机系统全部使用1920*1080分辨率彩色高清摄像头,以30fps的速度录像,每秒产生大约24MB的内存占用(假设不指定压缩编码)。在使用多路无人机巡检时,多路视频流推送到不同地址的流媒体服务器,算法端实时拉取流媒体进行场景分析与检测,并将识别到的结果与原始图像帧封装后推送回面向用户的流媒体服务器。这种多路视频流基于RTSP/RTMP实时传输、解码、分析处理、封装编码、推流等一系列序列化操作需要丰富的硬件性能。专利CN 115767192 A公开了一种基于SSRC管理调度多路视频流的方法,其主要通过有效区分视频流来源,避免了传统方法获取多路视频流因MMS开放过多端口存在的网络信息安全风险,同时可以防止串流现象,避免呼叫发起方接收到错误来源的视频流。其同样不涉及对视频流进行处理和优化,以提高视频处理性能及处理效率。
无人机巡检系统算法端对视频流的实时分析与报告,除了需要对实时检测结果封装推流至流媒体服务器,也需要对指定的关键事件进行框截图与标记。受限于复杂的场景、检测器与跟踪器性能,检测时间线上会出现大量的干扰事件,这对于关键事件帧的回传是致命的。另一方面,关键事件分配一个Id后,无论该事件以后是否连续出现,该事件向后端仅需传递一次,否则将严重拖垮网络与服务器IO性能。传递消息簇应该包含该事件的原始帧截图、事件位置坐标、事件类别以及出现的时间等。
总而言之,在无人机巡检任务中,由于整体架构设计模式的限制、多任务的要求以及巨大的数据处理需求,存在很多不足。1)多路视频流拉取推流要求大量的硬件解码能力与网络传输能力。2)算法侧拉流处理与结果推流速度不匹配,导致较大延迟。3)多任务处理实时性差。4)关键事件帧获取不准确。5)异常帧过滤性能不足与关键帧重复定义导致回传数据量过大。
发明内容
针对以上现有技术存在的缺点和不足之处,本发明的首要目的在于提供一种多路视频流关键帧标记及推流方法。能够在无人机巡检系统算法侧进行高性能推拉流,识别关键事件并回传;在算法平台侧,通过多线程异步匹配队列实现视频流拉流、处理与推流速度相适应,较小延迟,提升性能。在关键帧捕获上,通过构建一套关键目标捕获与异常帧过滤算法,避免回传数据量过大影响IO性能,并提升后续处理效率。
本发明目的通过以下技术方案实现:
一种多路视频流关键帧标记及推流方法,包括如下步骤:
(1)无人机通过图像采集卡采集视频信号,并主动将采集的视频信号推流到流媒体服务器A;
(2)算法平台通过流媒体管道A从后端处理平台主动拉取视频流,对视频流进行处理,视频流处理过程包括根据指定的任务ID执行对应检测模型、捕获关键事件、封装新的结果视频帧,然后将检测结果视频帧通过流媒体管道B推流至流媒体服务器B;同时,算法平台对视频流进行处理时捕获关键图像帧以及关键事件,并将关键图像帧推送至对象存储服务器保存,关键事件对应的识别过程数据保存至业务库备份;
(3)用户根据需求实时通过后端处理平台拉取流媒体服务器B的检测结果视频。
进一步地,步骤(1)中所述采集视频信号是指以30fps帧率采集1080p的视频信号。
进一步地,步骤(2)中所述事件对应的识别过程数据包括事件位置、类别、置信度、时间等信息数据。
进一步地,步骤(2)中所述对象存储服务器使用Minio高性能对象存储服务器;所述业务库使用Redis数据库。
进一步地,步骤(2)中所述流媒体服务器A和流媒体服务器B均采用阿里云(Aliyun)流媒体服务器。
进一步地,步骤(1)和(2)中所述推流使用的推流协议为RTSP或RTMP。
进一步地,步骤(2)中所述视频流处理过程包括如下步骤:
I、启动算法平台,算法平台从硬盘加载推理模型到不同的GPU硬件,并为每个推理模型初始化全局排他锁;
II、后端处理平台根据用户请求,传递请求任务序列[0,1,2,…]到算法平台;
III、算法平台处理请求,开始从阿里云流媒体服务器A拉取视频流;
IV、算法平台执行视频流处理单元,循环获取当前待处理图像帧,对获取的帧图像执行识别模块,获得关键事件当前帧截图与识别事件标签进行封装,然后实时推流回阿里云流媒体服务器B;所述识别事件标签包括事件所处图像位置、类别、置信度、时间等。
进一步优选地,步骤IV的具体过程如下:
A、根据外部请求,算法平台主线程执行视频流处理单元,对拉取视频流进行处理与推流;
B、主线程启动四个非阻塞独立子线程:拉流线程、检测跟踪处理线程、关键事件处理线程和推流线程;四个子线程独立运行并共享主线程资源,通过设置主动循环标签,确定子线程结束条件;具体步骤如下:
(a)拉流线程根据平台传递的RTSP地址使用FFmpeg拉取流媒体,并将图像帧存储于视频流队列,并设置自增索引i代表当前视频帧位置;每次添加图像帧后判断当前队列长度是否超过队列容量Cap1,若超过则将队列首帧移除;
(b)检测跟踪处理线程循环监听视频流队列,当视频流队列具有图像帧信息时,不断消费队列执行实例模型进行识别;对当前图像帧识别后的结果进行图像重绘,将关键信息标记于原始帧图像并添加至推流队列;添加结果帧到队列后判断推流队列长度是否超过队列容量Cap2,若超过容量则将队列首帧移除;对识别到的包含图像位置、置信度、类别、时间的关键帧信息封装成簇添加到关键事件队列;由于该关键事件队列包含所有的关键帧信息,关键事件队列容量大小设置为内存大小;
(c)关键事件处理线程循环监听关键事件队列,对原始图像帧进行JPG编码传送至Minio对象存储库,对包含位置、类别、置信度、时间的事件标签回传至Redis库;
(d)推流线程循环监听推流队列,循环获取队列首位元素,基于RTSP推流至阿里云流媒体服务器。
以上所有的队列操作均采用线程安全的队列。
进一步优选地,步骤(b)中所述执行实例模型进行识别的具体过程如下:
1)识别模块对获取的帧图像执行Resize、Letterbox和Normalization预处理操作,最终将图像修正到640*640分辨率大小;
2)识别模块根据请求任务序列等待获取对应识别模型的全局排他锁,确保当前任务可用;
3)调度模块并发调度GPU计算资源与模型资源到具体的执行实例上(即为需要使用的识别模型预先分配内存、GPU显存、CPU核心、操作系统时间片等,这些资源与每一个任务的识别模型对应,并共同作为一个执行实例),获取实例模型(即执行实例封装了具体的模型方法,例如工地检测模型、汽车检测模型等);
4)根据具体请求任务序列执行步骤3)获取到的实例模型,计算识别结果;
5)释放对应执行实例对应的识别模型的全局排他锁;
6)合并汇总多个执行实例的识别结果,并对识别结果进行级联;
7)对识别结果进行非极大抑制,过滤干扰与重复样本;
8)对步骤7)的结果进行目标跟踪,对每个目标分配ID;
9)对步骤8)的结果进行置信度判断,若同一ID目标置信度出现大于置信度Tc阈值的差异,将该目标分配一新的身份ID;
10)对步骤9)获取的事件进行过滤,对连续存在超过帧数阈值Nc的目标标记为关键事件,并对其他事件进行过滤。
与现有技术相比,本发明的有益效果是:
(1)本发明通过算法平台的设计,其主要与后端处理平台进行对接,当外部请求过来时,算法平台根据设计对图像进行识别,通过构建特定的识别算法及一套关键目标捕获与异常帧过滤算法,显著提高数据传输效率,并能有效识别关键事件及过滤干扰事件,避免回传数据量过大影响IO性能。
(2)在处理视频流时,由于多路并发处理时巨大的网络、CPU解码与内存压力,容易导致服务器卡顿,并且由于视频处理的延时,导致推拉流同步较差。本发明方法通过引入专用的视频流处理单元,对视频流异步识别流量并进行削峰,通过设置多线程异步匹配队列,将拉流、推理、推流速度相适应,同时降低服务器性能压力,提升可用性。
(3)本发明提供了一个无人机巡查系统的算法平台设计,它能够多线程的拉流、识别与推流。同时能够对视频流流量削峰,平衡拉流、推理与推流速度,减轻了网络与硬件压力,提升推流实时性。
附图说明
图1为本发明实施例1中无人机巡检系统的整体流程图。
图2为本发明实施例1中算法平台对视频流进行处理的总体流程图。
图3为本发明实施例1中执行视频流处理单元的流程图。
图4为本发明实施例2中一种视频流多线程处理系统的流程图。
图5为本发明实施例2中关键事件识别流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
本实施例的一种基于多路视频流关键帧标记及推流方法的无人机巡检系统,其整体流程图如图1所示,包括如下步骤:
(1)无人机(无人机A、无人机B和无人机C等个多个无人机同时运行,并多机联动)通过图像采集卡以30fps帧率采集1080p的视频信号,并主动将采集的视频信号推流到流媒体服务器A。
(2)算法平台通过流媒体管道A从后端处理平台主动拉取视频流,对视频流进行处理,视频流处理过程包括根据指定的任务ID执行对应检测模型(工地检测、违章检测等)、捕获关键事件、封装新的结果视频帧,然后将结果视频帧通过流媒体管道B推流至流媒体服务器B。同时,算法平台对视频流进行处理时捕获关键图像帧,通过判断关键帧类型是否为指定的事件类型。若为指定事件类型,则触发异常事件回传,将关键图像帧推送至对象存储服务器保存,事件对应的识别过程数据保存至业务库备份。
(3)用户根据需求实时通过后端处理平台拉取流媒体服务器B的检测结果视频。
步骤(2)中算法平台对视频流进行处理的总体流程图如图2所示,包括如下步骤:
I、启动算法平台,算法平台从硬盘加载推理模型到不同的GPU硬件,并为每个推理模型初始化全局排他锁;
II、后端处理平台根据用户请求,传递请求任务序列[0,1,2,…]到算法平台。算法平台根据任务序列与空闲GPU资源、内存资源、CPU、操作系统时间片等构建执行序列任务单元;
III、算法平台处理请求,根据请求地址,开始从阿里云流媒体服务器A拉取视频流;
IV、算法平台执行视频流处理单元,循环获取当前待处理图像帧,对获取的帧图像执行识别模块,获得关键事件当前帧截图与识别事件标签进行封装,然后实时推流回阿里云流媒体服务器B;所述识别事件标签包括事件所处图像位置及其类别等。同时,算法平台对视频流进行处理时捕获关键图像帧,并推送至高性能对象存储服务器Minio保存,事件对应的识别过程数据(事件位置、类别、置信度等)保存至Redis业务库备份。
步骤IV中所述执行视频流处理单元的流程图如图3所示,具体过程如下:
A、根据外部请求,算法平台主线程执行视频流处理单元,对拉取视频流进行处理与推流;
B、主线程启动四个非阻塞独立子线程:拉流线程,检测跟踪处理线程,关键事件处理线程和推流线程;四个子线程独立运行并共享主线程资源,通过设置主动循环标签,确定子线程结束条件;具体步骤如下:
(a)拉流线程根据平台传递的RTSP/RTMP地址使用FFmpeg拉取流媒体,并将图像帧存储于视频流队列,并设置自增索引i代表当前视频帧位置;每次添加图像帧后判断当前队列长度是否超过队列容量Cap1,若超过则将队列首帧移除;
(b)检测跟踪处理线程循环监听视频流队列,进行检测、跟踪、关键事件抽取等,当视频流队列具有图像帧、事件标记信息时,不断消费队列并执行序列任务单元进行识别;对当前图像帧识别后的结果进行图像重绘,将关键信息标记于原始帧图像并添加至推流队列;添加结果帧到队列后判断推流队列长度是否超过队列容量Cap2,若超过容量则将队列首帧移除;对识别到的包含图像位置、置信度、类别的关键帧信息封装成簇添加到关键事件队列;由于该关键事件队列包含所有的关键帧信息,关键事件队列容量大小设置为内存大小;
(c)关键事件处理线程循环监听关键事件队列,进行事件捕获,对原始图像帧进行JPG编码传送至Minio高性能对象存储服务器,对位置、置信度、类别、时间等事件标签回传至Redis库;
(d)推流线程循环监听推流队列,循环获取队列首位元素,基于RTSP/RTMP推流至阿里云流媒体服务器入库。
以上所有的队列操作均采用线程安全的队列。
步骤(b)中所述执行序列任务单元进行识别的具体过程如下:
1)识别模块对获取的帧图像执行Resize、Letterbox和Normalization预处理操作,最终将图像修正到640*640分辨率大小;
2)识别模块根据请求任务序列等待获取对应识别模型的全局排他锁,确保当前任务可用;
3)调度模块并发调度GPU计算资源与模型资源到具体的执行实例上,即为需要使用的识别模型预先分配内存、GPU显存、CPU核心、操作系统时间片等,这些资源与每一个任务的识别模型对应,并共同作为一个执行实例;
4)根据具体请求任务序列执行步骤3)获取到的实例模型(该实例封装了具体的模型方法,例如工地检测模型、汽车检测模型等),计算识别结果;
5)释放对应执行实例上对应的识别模型的全局排他锁;
6)合并汇总多个执行实例的识别结果,并对结果进行级联;
7)对识别结果进行NMS非极大抑制,过滤干扰与重复样本;
8)对步骤7)的结果进行目标跟踪,对每个目标分配ID;
9)对步骤8)的结果进行置信度判断,若同一ID目标置信度出现大于置信度Tc阈值的差异,将该目标分配一新的身份ID;
10)对步骤9)获取的事件进行过滤,对连续存在超过帧数阈值Nc的目标标记为关键事件(关键帧识别),并对其他事件进行过滤(异常事件过滤)。
实施例2
本实施例的一种视频流多线程处理系统,包括算法平台、后端处理平台以及流媒体服务器A和流媒体服务器B。所述视频流多线程处理系统的处理流程图如图4所示,包括如下步骤:
(1)外部请求传入,算法平台启动主线程并解析外部请求参数。
(2)算法平台根据请求参数启动初始化或停止拉流线程,检测跟踪处理线程,关键事件处理线程,推流线程四个子线程。初始化视频流队列(容量设置为Cap1)、推流队列(容量设置为Cap2)、关键事件队列(容量设置为内存大小)三个线程安全队列。
(3)若启动拉流子线程,拉流子线程经过流媒体管道A,从流媒体服务器A循环拉取视频流图像帧。其拉取数据后主要步骤为:
1)判断当前视频流队列长度是否超过Cap1。
2)若已满,则将队首图像帧剔除。若未满,则不进行操作。
3)将当前捕获图像帧加入视频流队列。
(4)若启动检测跟踪处理线程,该线程循环监听视频流队列,当视频流队列具有图像帧信息时,不断消费队列进行识别。其主要步骤如下:
1)判断当前视频流队列是否有数据。
2)若有,则取出队首图像帧,若无则等待数据。
3)将当前图像帧进行目标检测、目标跟踪等操作,获取指定目标位置、类别、置信度、编号并在当前帧副本标记。
4)对当前目标帧识别关键事件进行过滤,并封装成簇(当前图像帧、目标位置、目标编号、置信度、类别)。
5)将当前带标记的图像帧存入推流队列。若推流队列长度超过队列容量Cap2,将队列首帧移除。
6)将当前封装好的关键事件簇存入关键事件队列。
(5)关键事件处理线程循环监听关键事件队列,若队列有数据,则取出队首元素。队首元素包含原始帧图像与位置、类别、目标编号等标签。对原始图像帧进行JPG编码发送至Minio对象存储库,对位置、类别等事件标签回传至Redis库。
(6)推流线程循环监听推流队列,循环获取队列首位图像帧元素,使用FFmpeg基于RTSP协议,通过流媒体管道B将当前图像帧推送至流媒体服务器B。
流媒体服务器A,B均使用阿里云流媒体服务器平台。
步骤4)所述对当前目标帧识别关键事件进行过滤的流程图如图5所示,包括如下步骤:
(a)视频帧序列导出后,根据导出序列化的帧图像,输入到识别模块,识别相关目标信息。
(b)从预测序列开始,由于每一时刻跟踪的目标对象Track会被构成一组连续的轨迹,直到目标消失。
(c)对当前跟踪的所有目标对象进行卡尔曼滤波后,会对当前帧预测一个轨迹与目标框Bbox,并确认是一个目标对象,代表可能存在的位置。
(d)将当前帧检测到的对象框Detection与预测的目标结果Bbox进行数据关联,匹配完成后更新跟踪的目标对象。其中,将Detection的分类结果作为跟踪分类,当Detection类别置信度与跟踪Bbox置信度差值大于设定的阈值Tc(实施中,将Tc设置为0.3)时,将该Detection目标作为一个新的跟踪目标Track,同时更新当前跟踪置信度。
(e)判断目标关键对象的过程被描述为|j-his_tracks[track_id]|≤Nc(实施中,将Nc设置为15)。收集跟踪到的跟踪对象Track与当前帧在序列中的位置i,作为一个元组添加到key为track_id的有序集合his_tracks中,后续帧序列存储时首先从his_tracks中获取当前track_id是否存在已经添加过的序列位置i,如果没有则添加当前跟踪Track和当前序列帧位置到his_tracks中,否则判断当前帧序号j与最新的历史存在的帧i之间的间隔是否大于Nc。若小于Nc,当前Track信息将被取消标记,但仍然添加当前Track和当前序列帧位置到his_tracks中。若大于Nc,则认为当前帧track_id是可信的实体对象,将被标记。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其它的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (5)
1.一种多路视频流关键帧标记及推流方法,其特征在于,包括如下步骤:
(1)无人机通过图像采集卡采集视频信号,并主动将采集的视频信号推流到流媒体服务器A;
(2)算法平台通过流媒体管道A从后端处理平台主动拉取视频流,对视频流进行处理,视频流处理过程包括根据指定的任务ID执行对应检测模型、捕获关键事件、封装新的结果视频帧,然后将检测结果视频帧通过流媒体管道B推流至流媒体服务器B;同时,算法平台对视频流进行处理时捕获关键图像帧以及关键事件,并将关键图像帧推送至对象存储服务器保存,关键事件对应的识别过程数据保存至业务库备份;
(3)用户根据需求实时通过后端处理平台拉取流媒体服务器B的检测结果视频;
步骤(2)中所述视频流处理过程包括如下步骤:
I、启动算法平台,算法平台从硬盘加载推理模型到不同的GPU硬件,并为每个推理模型初始化全局排他锁;
II、后端处理平台根据用户请求,传递请求任务序列[0, 1, 2, …]到算法平台;
III、算法平台处理请求,开始从流媒体服务器A拉取视频流;
IV、算法平台执行视频流处理单元,循环获取当前待处理图像帧,对获取的帧图像执行识别模块,获得关键事件当前帧截图与识别事件标签进行封装,然后实时推流回流媒体服务器B;所述识别事件标签包括事件所处图像位置、类别、置信度和时间;
步骤IV的具体过程如下:
A、根据外部请求,算法平台主线程执行视频流处理单元,对拉取视频流进行处理与推流;
B、主线程启动四个非阻塞独立子线程:拉流线程、检测跟踪处理线程、关键事件处理线程和推流线程;四个子线程独立运行并共享主线程资源,通过设置主动循环标签,确定子线程结束条件;具体步骤如下:
(a)拉流线程根据平台传递的RTSP地址使用FFmpeg拉取流媒体,并将图像帧存储于视频流队列,并设置自增索引i代表当前视频帧位置;每次添加图像帧后判断当前队列长度是否超过队列容量Cap1,若超过则将队列首帧移除;
(b)检测跟踪处理线程循环监听视频流队列,当视频流队列具有图像帧信息时,不断消费队列执行实例模型进行识别;对当前图像帧识别后的结果进行图像重绘,将关键信息标记于原始帧图像并添加至推流队列;添加结果帧到队列后判断推流队列长度是否超过队列容量Cap2,若超过容量则将队列首帧移除;对识别到的包含图像位置、置信度、类别和时间的关键帧信息封装成簇添加到关键事件队列;关键事件队列容量大小设置为内存大小;
(c)关键事件处理线程循环监听关键事件队列,对关键图像帧进行JPG编码传送至Minio对象存储库,对包含位置、类别、置信度和时间的事件标签回传至Redis库;
(d)推流线程循环监听推流队列,循环获取队列首位元素,基于RTSP推流至流媒体服务器B;
步骤(b)中所述执行实例模型进行识别的具体过程如下:
1)识别模块对获取的帧图像执行Resize、Letterbox和Normalization预处理操作,最终将图像修正到640*640分辨率大小;
2)识别模块根据请求任务序列等待获取对应识别模型的全局排他锁,确保当前任务可用;
3)调度模块并发调度GPU计算资源与模型资源到具体的执行实例上,获取实例模型;
4)根据具体请求任务序列执行步骤3)获取到的实例模型,计算识别结果;
5)释放对应执行实例对应的识别模型的全局排他锁;
6)合并汇总多个执行实例的识别结果,并对识别结果进行级联;
7)对识别结果进行非极大抑制,过滤干扰与重复样本;
8)对步骤7)的结果进行目标跟踪,对每个目标分配ID;
9)对步骤8)的结果进行置信度判断,若同一ID目标置信度出现大于置信度Tc阈值的差异,将该目标分配一新的身份ID;
10)对步骤9)获取的事件进行过滤,对连续存在超过帧数阈值Nc的目标标记为关键事件,并对其他事件进行过滤。
2.根据权利要求1所述的一种多路视频流关键帧标记及推流方法,其特征在于,步骤(1)中所述采集视频信号是指以30fps帧率采集1080p的视频信号。
3.根据权利要求1所述的一种多路视频流关键帧标记及推流方法,其特征在于,步骤(2)中所述关键事件对应的识别过程数据包括事件位置、类别、置信度和时间信息数据。
4.根据权利要求1所述的一种多路视频流关键帧标记及推流方法,其特征在于,步骤(2)中所述流媒体服务器A和流媒体服务器B均采用阿里云流媒体服务器。
5.根据权利要求1所述的一种多路视频流关键帧标记及推流方法,其特征在于,步骤(1)中所述推流使用的推流协议为RTSP或RTMP。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311392368.2A CN117294903B (zh) | 2023-10-25 | 2023-10-25 | 一种多路视频流关键帧标记及推流方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311392368.2A CN117294903B (zh) | 2023-10-25 | 2023-10-25 | 一种多路视频流关键帧标记及推流方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117294903A CN117294903A (zh) | 2023-12-26 |
CN117294903B true CN117294903B (zh) | 2024-07-19 |
Family
ID=89239042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311392368.2A Active CN117294903B (zh) | 2023-10-25 | 2023-10-25 | 一种多路视频流关键帧标记及推流方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117294903B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118467457B (zh) * | 2024-07-10 | 2024-10-18 | 深圳天海宸光科技有限公司 | 一种基于rdma的图片传输方法、装置、介质及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112560809A (zh) * | 2021-02-19 | 2021-03-26 | 广东海启星海洋科技有限公司 | 一种实时展示识别效果的方法及装置 |
CN113225537A (zh) * | 2021-05-10 | 2021-08-06 | 合肥中科类脑智能技术有限公司 | 一种视频图像分析系统及方法 |
KR20220088227A (ko) * | 2020-12-18 | 2022-06-27 | 인천대학교 산학협력단 | 멀티채널 비디오 스트림의 실시간 객체 인식 장치 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110213522B (zh) * | 2019-05-27 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 一种视频数据处理方法、装置以及相关设备 |
CN111914664A (zh) * | 2020-07-06 | 2020-11-10 | 同济大学 | 基于重识别的车辆多目标检测和轨迹跟踪方法 |
CN112052804B (zh) * | 2020-09-10 | 2024-05-10 | 公安部第三研究所 | 实现安全管理的视频智能分析及报警系统及其方法 |
CN113286175A (zh) * | 2021-04-27 | 2021-08-20 | 金卯新能源集团有限公司 | 视频流处理方法、装置及存储介质 |
CN115393781A (zh) * | 2021-05-08 | 2022-11-25 | 华为技术有限公司 | 视频监控数据的处理方法及装置 |
US20220385711A1 (en) * | 2021-05-28 | 2022-12-01 | Flir Unmanned Aerial Systems Ulc | Method and system for text search capability of live or recorded video content streamed over a distributed communication network |
CN114926781A (zh) * | 2022-05-27 | 2022-08-19 | 北京邮电大学 | 支持实时监控场景的多人时空域异常行为定位方法及系统 |
CN115761423A (zh) * | 2022-11-17 | 2023-03-07 | 长沙海信智能系统研究院有限公司 | 多异常检测的相同目标融合方法、装置及电子设备 |
CN116248861A (zh) * | 2023-02-27 | 2023-06-09 | 山东浪潮科学研究院有限公司 | 一种智能视频检测方法、系统及装置 |
CN116610834B (zh) * | 2023-05-15 | 2024-04-12 | 三峡科技有限责任公司 | 一种基于ai分析下的监控视频存储及快速查询方法 |
CN116260990B (zh) * | 2023-05-16 | 2023-07-28 | 合肥高斯智能科技有限公司 | 一种多路视频流的ai异步检测并实时渲染方法及系统 |
-
2023
- 2023-10-25 CN CN202311392368.2A patent/CN117294903B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220088227A (ko) * | 2020-12-18 | 2022-06-27 | 인천대학교 산학협력단 | 멀티채널 비디오 스트림의 실시간 객체 인식 장치 |
CN112560809A (zh) * | 2021-02-19 | 2021-03-26 | 广东海启星海洋科技有限公司 | 一种实时展示识别效果的方法及装置 |
CN113225537A (zh) * | 2021-05-10 | 2021-08-06 | 合肥中科类脑智能技术有限公司 | 一种视频图像分析系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN117294903A (zh) | 2023-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102222213B (zh) | 一种基于开放式Web Service架构的分布式视觉计算方法 | |
CA2568049C (en) | Pipeline architecture for analyzing multiple video streams | |
CN113221706B (zh) | 基于多进程的多路视频流的ai分析方法及系统 | |
CN105045820B (zh) | 一种处理海量级数据的视频图像信息的方法及数据库系统 | |
US20200195835A1 (en) | Bandwidth efficient video surveillance system | |
CN102831405B (zh) | 基于分布式和暴力匹配的室外大规模物体识别方法和系统 | |
CN110769257A (zh) | 智能视频结构化分析装置、方法和系统 | |
CN117294903B (zh) | 一种多路视频流关键帧标记及推流方法 | |
CN108965303B (zh) | 一种基于Redis的多型无人机统一数据接入与处理系统 | |
CN102880854A (zh) | 基于分布式和哈希映射的室外海量物体识别方法和系统 | |
US7663661B2 (en) | Feed-customized processing of multiple video streams in a pipeline architecture | |
EP3975133A1 (en) | Processing of images captured by vehicle mounted cameras | |
CN106227583A (zh) | 一种多线程视频数据实时处理方法和装置 | |
CN114004972A (zh) | 一种图像语义分割方法、装置、设备和存储介质 | |
CN106663191A (zh) | 用于对像素进行分类的系统和方法 | |
CN102693292A (zh) | 基于rfid的内河船舶视频处理和快速检索方法 | |
WO2024125281A1 (zh) | 一种车辆图像数据处理方法以及装置 | |
EP4445331A1 (en) | Object detection device, object detection method, and object detection system | |
CN110263704B (zh) | 人脸数据采集方法、装置、服务器、视频采集器及介质 | |
CN113158794B (zh) | 目标检测方法、边缘设备及计算机可读存储介质 | |
CN111210150A (zh) | 一种基于边缘计算的智慧园区系统 | |
US20200380267A1 (en) | Object trajectory augmentation on a newly displayed video stream | |
Gupta et al. | Reconnoitering the Essentials of Image and Video Processing: A Comprehensive Overview | |
US7664183B2 (en) | Correlation processing among multiple analyzers of video streams at stages of a pipeline architecture | |
CN116010652A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20241011 Address after: 361021 Silver River Road, Jimei, Xiamen, Xiamen, Fujian Patentee after: JIMEI University Country or region after: China Address before: 518063, 4th floor, 485, Phase I, Huiheng Building, No. 138 Gaoxin South 7th Road, Gaoxin Community, Yuehai Street, Nanshan District, Shenzhen, Guangdong Province Patentee before: Deep Blue (Shenzhen) Perception Technology Co.,Ltd. Country or region before: China |