CN115984675B - 一种用于实现多路视频解码及ai智能分析的***及方法 - Google Patents
一种用于实现多路视频解码及ai智能分析的***及方法 Download PDFInfo
- Publication number
- CN115984675B CN115984675B CN202211545880.1A CN202211545880A CN115984675B CN 115984675 B CN115984675 B CN 115984675B CN 202211545880 A CN202211545880 A CN 202211545880A CN 115984675 B CN115984675 B CN 115984675B
- Authority
- CN
- China
- Prior art keywords
- video
- analysis
- path
- operator
- continuous image
- 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
Classifications
-
- 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
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及人工智能技术领域,具体为一种用于实现多路视频解码及AI智能分析的***及方法,包括AI软件平台、视频接入分析模块、若干预处理模块、任务调度模块、若干AI分析模块、数据传输模块;AI软件平台,为在国产飞腾2000+硬件平台的基础上搭建的软件平台,AI软件平台包括AI高性能编解码库、AI自定义高性能算子库、自定义视觉库、高性能通信库、模型轻量化引擎;本申请解决了国产平台多路视频处理效率低且资源占用率高的问题,大幅度提升国产平台多路视频处理能力,满足各类实时性要求高的多路视频智能处理应用需求,避免了国产平台因超负载运行崩溃现象。
Description
技术领域
本发明涉及人工智能技术领域,具体为一种用于实现多路视频解码及AI智能分析的***及方法。
背景技术
国产自主可控计算机性能受限,在多路数据处理和智能分析领域基础技术匮乏;国产计算设备的推广与应用已成为我国基本国策,但随着国产计算机技术的不断突破以及国产人工智能芯片的发展,如何基于国产平台实现智能化平台的构建和应用、提升多路数据计算处理能力、提高国产设备智能化水平,逐渐成为当前需要迫切解决的痛点技术问题。
视频、图像等数据可使用摄像头进行实时采集,在各类实时检测以及智能化分析应用场景中应用广泛;H.264/H.265格式是摄像头的视频压缩编码标准,具有高压缩比、网络适应性好等显著优势;针对H.264、H.265的视频解码技术主要依赖软件实现解码,软件解码会导致CPU资源被严重占用,甚至影响到其它应用的运行性能,而且随着视频路数的增加,视频解码效率以及AI实时分析能力会进一步被削弱。
在国产基础软硬件平台上,需要构建适应于视频、图像等多模态数据编解码引擎,高效的完成视频图像解码、多路数据并发处理、多格式数据解析等功能,并对外提供丰富的二次开发接口,以简化上层应用的调度流程。多路视频分析技术广泛应用于安防、质检、巡检等国家命脉行业,主要实现对多路高清视频进行实时目标检测识别,传统方式主要采用Intel高性能设备并搭载商用GPU或FPGA,利用GPU/FPGA的多进程方式对视频数据进行预处理,并采用神经网络模型进行图像目标检测与识别。上述方式存在非自主可控、硬件资源损耗大且占用率高、过度依赖商用GPU卡、模型复杂且效率低等问题。
发明内容
本发明的目的在于提供一种用于实现多路视频解码及AI智能分析的***及方法,以解决上述背景技术中提出的问题。
为了解决上述技术问题,本发明提供如下技术方案:一种用于实现多路视频解码及AI智能分析的***,***包括AI软件平台、视频接入分析模块、若干预处理模块、任务调度模块、若干AI分析模块、数据传输模块;
AI软件平台,为在国产飞腾2000+硬件平台的基础上搭建的软件平台,AI软件平台包括AI高性能编解码库、AI自定义高性能算子库、自定义视觉库、高性能通信库、模型轻量化引擎;其中,AI高性能编解码库采用硬解码或者编码技术,调用视频解码处理接口对多路h264或h265视频流进行实时编解码,输出YUV或者JPEG格式图片;其中,AI自定义高性能算子库集成了一套适配AI芯片的高性能推理算子,用于支持轻量化模型网络的基础算子,保障目标检测算法和目标识别算法的高效推理;其中,自定义视觉库内包含ffmpeg视觉处理库、openev视觉处理库的基础功能,用于支撑视频拉流、图像标注;其中,高性能通信库,用于完成CPU和AI芯片间的数据传输和协同计算;其中,模型轻量化引擎,提供模型转换和量化处理,支持基于通用框架训练的模型转换为AI软件平台支持的格式,支持通过调用AI自定义高性能算子库快速完成推理分析任务;
本发明中的AI软件平台采用国产飞腾2000+硬件平台,适配银河麒麟服务器版操作***,完成国产AI驱动模块、基础运行环境的适配及优化工作,优化工作主要是结合国产飞腾处理器和国产操作***特点,完成编译参数配置、驱动源码修改、运行环境适配、依赖环境构建、稳定性调优等工作;本发明中搭建的AI软件平台,单设备能够支持32路以上的视频,极大提升了国产平台多路视频实时分析处理能力;
视频接入分析模块,用于根据请求接入的多路视频流的分辨率、视频路数及AI分析任务对平台内的AI资源进行自动分配;
若干预处理模块,用于对请求接入的多路视频流完成视频解码、图像缩放、连续图像帧数据格式转换、像素标准化和图像编码处理;
任务调度模块,用于接收所有预处理模块输出的数据,根据请求接入的每一路视频流的AI分析任务,将每一路视频流分配到对应的AI分析模块中进行实时处理;
若干AI分析模块,分别对若干种目标检测识别推理应用模型进行优化;其中,各目标检测识别推理应用模型的输入为RGB格式、大小为1*416*416*3以及每个通道完成标准化处理后的连续图像帧数据;各目标检测识别推理应用模型的输出为检测到的目标在图中的坐标位置和类别置信度;
数据传输模块,用于接收所有预处理模块和所有AI分析模块中的数据,将AI分析模块的推理结果在对应的连续图像帧中进行结果标注,再将所有结果汇总后转换为二进制流形式传输到客户端;
本申请设计视频接入分析模块,能够根据请求接入视频的分辨率、视频路数及AI分析任务对资源进行自动分配,并对接入的多路视频自动解码和预处理,能够根据分析任务进行模块复用,避免了重复工作,减少了AI资源的额外消耗;
本申请设计预处理模块和AI分析模块,充分调用AI资源并行处理多路视频解码、图像编码、连续图像帧数据处理、AI模型推理等密集型计算任务,让性能不足的国产CPU只负责任务调度和数据传输流程,能够有效提升国产平台多路视频解码和AI模型推理分析的效率和CPU资源占用率高的问题;
本申请并通过对AI模型进行结构及参数优化,减小了模型的大小,提升了AI模型的推理效率,保证了多路视频分析的实时性,同时,每个模块都对外提供丰富的调用接口和二次开发接口,简化了调度流程。
进一步的,预处理模块包括视频解码单元、图像缩放处理单元、格式转换单元、像素标准化处理单元、图像编码单元;
视频解码单元,用于对各路视频流进行解码,得到各路视频流的YUV格式的第一连续图像帧;
图像缩放处理单元,用于将各路视频流的第一连续图像帧缩放至预设大小,得到对应的第二连续图像帧;
格式转换单元,用于将各路视频流的第二连续图像帧转换为RGB格式,得到对应的第三连续图像帧;
像素标准化处理单元,用于对各路视频流的第三连续图像帧进行各通道的像素标准化处理,得到对应的第四连续图像帧
图像编码单元,用于将各路视频流的第四连续图像帧编码为jpeg格式,得到对应的第五连续图像帧。
进一步的,AI分析模块中对目标检测识别推理应用模型进行优化的过程包括:
通过调用模型量化接口对各目标检测识别推理应用模型内的参数进行量化处理,从float32或f]oat16高精度格式转换为int8低比特格式,实现低比特存储;
通过调用模型转换接口对各目标检测识别推理应用模型进行格式转换,对算子调度和内存使用进行优化;其中,优化流程通过采用算子融合方法将模型中能够合并的多个算子融合成一个算子;
对算子调度和内存使用进行优化包括:
构建智能计算基础算子库,用于对CPU平台和AI芯片架构进行优化;
将优化后的基础算子作为基元算子,利用基元算子组合成复合算子,通过动态计算图和静态计算图转换模式,提供统一的API编程和自动微分底层机制,设置基础算子核心库空间阈值1MB,在基础算子核心库大小不超过1MB时,完成优化。
基于上述***还提出了一种用于实现多路视频解码及AI智能分析的方法,方法包括:
步骤S100:在飞腾2000+硬件平台的基础上,搭建人工智能平台;
步骤S200:将格式为H.264或H.265的多路视频流接入人工智能平台,基于请求接入的多路视频的分辨率、路数和AI分析任务的类型,计算将多路视频流解码为YUV格式所需分配的内存,通过内存申请的方式测试现有内存资源大小是否能够支撑后续解码任务;
步骤S300:若内存申请失败,表示现有内存资源大小小于上述所需分配的内存大小,返回请求接入失败,若内存申请成功,表示内存资源大小大于上述所需分配的内存大小,对各路视频流进行AI分析任务查询,基于每一路视频流的AI分析任务进行AI资源的自动分配;
步骤S400:分别对多路视频流进行预处理,得到各路视频流对应的连续图像帧;
步骤S500:对目标检测识别模型进行优化,调用优化后的各目标检测识别模型对解码后的多路连续图像帧进行并发处理。
进一步的,步骤S200中计算将多路视频流解码为YUV格式所需分配的内存的过程包括:
获取请求接入的多路视频的分辨率、路数和AI分析任务的类型;
根据计算公式:H=n*w*h*3/2;其中,H表示内存,n为多路视频的路数,w为图像帧的宽,h为图像帧的高。
进一步的,步骤S300包括:
步骤S301:若查询显示在人工智能平台中存在与多路视频请求的AI分析任务相一致的AI分析类型,返回请求接入成功,对多路视频请求的AI分析任务继续进行分解,转步骤S402;若查询显示在人工智能平台中不存在与多路视频请求的AI分析任务相一致的AI分析类型,返回请求接入失败;
步骤S302:当针对多路视频进行多种类型AT分析任务时,为多路视频的多种类型AI分析任务分配同一个预处理模块和不同AI分析模块;当针对多路视频进行同种类型AI分析任务时,为多路视频的同种类型AI分析任务分配同一个AI分析模块和不同的预处理模块。
进一步的,步骤S400包括:
步骤S401:分别对多路视频流进行解码,对应输出得到各路视频流的YUV格式的第一连续图像帧;将各路视频流的第一连续图像帧缩放至预设大小,得到对应的第二连续图像帧;分别将各路视频流的第二连续图像帧转换为RGB格式,得到对应的第三连续图像帧;
步骤S402:构建像素标准化处理模型,分别将第三连续图像帧各通道内的原始数据输入像素标准化处理模型,得到对应的第四连续图像帧;根据公式:分别得到第三连续图像帧各通道内,经过像素标准化处理后的标准化数据;其中,X表示第三连续图像帧某通道内的原始数据;Xmean表示基于像素标准化处理模型的训练数据集得到的对应某通道的均值;Xstd表示基于像素标准化处理模型的训练数据集得到的对应某通道的的标准差;
步骤S403:分别将各路视频流的第四连续图像帧编码为jpeg格式,得到对应的第五连续图像帧。
进一步的,对目标检测识别模型进行优化的过程包括:
步骤S501:采用算子融合方法将各目标检测识别模型中能够合并的多个算子融合成一个算子,其中,对卷积算子和批处理算子进行融合时,分别提取卷积算子和批处理算子的计算公式,如下:
Yconv=W*Xconv+B
其中,Yconv为卷积算子的输出,Xconv为卷积算子的输入,W为卷积核,B为卷积的偏差;Ybacthnorm为批处理算子的输出,Xbacthnorm为批处理算子的输入,γ为对Xbaahnorm的缩放因子,μB为Xbacthnorm的均值,为Xbacthnorm的方差,β为对Xbacthnorm的平移因子,ε为任意常数;
步骤S502:将卷积算子的输出作为批处理算子的输入,公式如下:
其中,Ynew为融合算子的输出;
因为通常情况下,基于框架训练好的目标检测识别模型所包含的参数量较多,且无法直接调用AI自定义高性能算子库执行推理,在国产平台上进行模型推理耗时较长,无法适应多路视频实时分析的高效需求;
通过上述方式可实现mobilenet、squeezenet、shufflenet等轻量化网络在国产平台上的支持,使用上述轻量化特征提取网络比常用的darknet53、resnet50等深层网络有较大改进,既有效减少模型的参数数量,实现模型结构的简化,模型大小也可得到有效缩减,最终减少了模型推理的计算量,有益于提升模型的推理效率。进一步通过迭代训练进行模型调试,确保网络模型的准确性和稳定性,再对精简的模型评估分析,当模型精度达到要求后,保存原始模型文件。
与现有技术相比,本发明所达到的有益效果是:本发明针对国产平台多路视频实时分析应用需求,设计国产异构AI计算平台,利用硬件编解码技术、连续图像帧处理及智能分析技术对多路视频进行实时高效处理;本申请可完成对多路视频的智能化分析,有效提高了AI资源的利用率,降低了国产硬件资源损耗,解决了国产平台多路视频处理效率低且资源占用率高的问题,大幅度提升国产平台多路视频处理能力,满足各类实时性要求高的多路视频智能处理应用需求,避免了国产平台因超负载运行崩溃现象;本专利在实时性、分辨率要求高的多路视频实时分析智能应用中,能够发挥出极大的性能优势,满足多类视频处理典型场景需要,促进了国产设备的推广应用。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明一种用于实现多路视频解码及AI智能分析的***中AI软件平台的结构示意图;
图2是本发明一种用于实现多路视频解码及AI智能分析的方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-图2,本发明提供技术方案:一种用于实现多路视频解码及AI智能分析的***,***包括AI软件平台、视频接入分析模块、若干预处理模块、任务调度模块、若干AI分析模块、数据传输模块;
AI软件平台,为在国产飞腾2000+硬件平台的基础上搭建的软件平台,AI软件平台包括AI高性能编解码库、AI自定义高性能算子库、自定义视觉库、高性能通信库、模型轻量化引擎;其中,AI高性能编解码库采用硬解码或者编码技术,调用视频解码处理接口对多路h264或h265视频流进行实时编解码,输出YUV或者JPEG格式图片;其中,AI自定义高性能算子库集成了一套适配AI芯片的高性能推理算子,用于支持轻量化模型网络的基础算子,保障目标检测算法和目标识别算法的高效推理;其中,自定义视觉库内包含ffmpeg视觉处理库、opencv视觉处理库的基础功能,用于支撑视频拉流、图像标注;其中,高性能通信库,用于完成CPU和AI芯片间的数据传输和协同计算;其中,模型轻量化引擎,提供模型转换和量化处理,支持基于通用框架训练的模型转换为AI软件平台支持的格式,支持通过调用AI自定义高性能算子库快速完成推理分析任务;
视频接入分析模块,用于根据请求接入的多路视频流的分辨率、视频路数及AI分析任务对平台内的AI资源进行自动分配;
若干预处理模块,用于对请求接入的多路视频流完成视频解码、图像缩放、连续图像帧数据格式转换、像素标准化和图像编码处理;
其中,预处理模块包括视频解码单元、图像缩放处理单元、格式转换单元、像素标准化处理单元、图像编码单元;
视频解码单元,用于对各路视频流进行解码,得到各路视频流的YUV格式的第一连续图像帧;
图像缩放处理单元,用于将各路视频流的第一连续图像帧缩放至预设大小,得到对应的第二连续图像帧;
格式转换单元,用于将各路视频流的第二连续图像帧转换为RGB格式,得到对应的第三连续图像帧;
像素标准化处理单元,用于对各路视频流的第三连续图像帧进行各通道的像素标准化处理,得到对应的第四连续图像帧
图像编码单元,用于将各路视频流的第四连续图像帧编码为jpeg格式,得到对应的第五连续图像帧。
任务调度模块,用于接收所有预处理模块输出的数据,根据请求接入的每一路视频流的AI分析任务,将每一路视频流分配到对应的AI分析模块中进行实时处理;
若干AI分析模块,分别对若干种目标检测识别推理应用模型进行优化;其中,各目标检测识别推理应用模型的输入为RGB格式、大小为1*416*416*3以及每个通道完成标准化处理后的连续图像帧数据;各目标检测识别推理应用模型的输出为检测到的目标在图中的坐标位置和类别置信度;
其中,AI分析模块中对目标检测识别推理应用模型进行优化的过程包括:
通过调用模型量化接口对各目标检测识别推理应用模型内的参数进行量化处理,从float32或float16高精度格式转换为int8低比特格式,实现低比特存储;
通过调用模型转换接口对各目标检测识别推理应用模型进行格式转换,对算子调度和内存使用进行优化;其中,优化流程通过采用算子融合方法将模型中能够合并的多个算子融合成一个算子;
对算子调度和内存使用进行优化包括:
构建智能计算基础算子库,用于对CPU平台和AI芯片架构进行优化;
将优化后的基础算子作为基元算子,利用基元算子组合成复合算子,通过动态计算图和静态计算图转换模式,提供统一的API编程和自动微分底层机制,设置基础算子核心库空间阈值1MB,在基础算子核心库大小不超过1MB时,完成优化;
数据传输模块,用于接收所有预处理模块和所有AI分析模块中的数据,将AI分析模块的推理结果在对应的连续图像帧中进行结果标注,再将所有结果汇总后转换为二进制流形式传输到客户端。
基于上述***还提出了一种用于实现多路视频解码及AI智能分析的方法,方法包括:
步骤S100:在飞腾2000+硬件平台的基础上,搭建人工智能平台;
步骤S200:将格式为H.264或H.265的多路视频流接入人工智能平台,基于请求接入的多路视频的分辨率、路数和AI分析任务的类型,计算将多路视频流解码为YUV格式所需分配的内存,通过内存申请的方式测试现有内存资源大小是否能够支撑后续解码任务;
其中,步骤S200中计算将多路视频流解码为YUV格式所需分配的内存的过程包括:
获取请求接入的多路视频的分辨率、路数和AI分析任务的类型;
根据计算公式:H=n*w*h*3/2;其中,H表示内存,n为多路视频的路数,w为图像帧的宽,h为图像帧的高;
步骤S300:若内存申请失败,返回请求接入失败,若内存申请成功,对各路视频流进行AI分析任务查询,基于每一路视频流的AI分析任务进行AI资源的自动分配;
其中,步骤S300包括:
步骤S301:若查询显示在人工智能平台中存在与多路视频请求的AI分析任务相一致的AI分析类型,返回请求接入成功,对多路视频请求的AI分析任务继续进行分解,转步骤S402;若查询显示在人工智能平台中不存在与多路视频请求的AI分析任务相一致的AI分析类型,返回请求接入失败;
例如,请求接入视频的AI分析任务是人脸目标检测识别任务,若在AI分析模块中查询到不存在该任务,则返回请求接入失败,否则继续进行任务分解;
步骤S302:当针对多路视频进行多种类型AI分析任务时,为多路视频的多种类型AI分析任务分配同一个预处理模块和不同AI分析模块;当针对多路视频进行同种类型AI分析任务时,为多路视频的同种类型AI分析任务分配同一个AI分析模块和不同的预处理模块;
本申请通过视频接入分析模块,实现了根据请求接入视频的分辨率、视频路数及AI分析任务对AI资源的自动分配,避免了因为资源不足问题导致***崩溃,提高了***的稳定性,同时通过对预处理模块、AI分析模块等模块的复用,降低了工作量,减少了AI资源的额外消耗;
步骤S400:分别对多路视频流进行预处理,得到各路视频流对应的连续图像帧;
其中,步骤S400包括:
步骤S401:分别对多路视频流进行解码,对应输出得到各路视频流的YUV格式的第一连续图像帧;将各路视频流的第一连续图像帧缩放至预设大小,得到对应的第二连续图像帧;分别将各路视频流的第二连续图像帧转换为RGB格式,得到对应的第三连续图像帧;
步骤S402:构建像素标准化处理模型,分别将第三连续图像帧各通道内的原始数据输入像素标准化处理模型,得到对应的第四连续图像帧;根据公式:分别得到第三连续图像帧各通道内,经过像素标准化处理后的标准化数据;其中,X表示第三连续图像帧某通道内的原始数据;Xmean表示基于像素标准化处理模型的训练数据集得到的对应某通道的均值;Xstd表示基于像素标准化处理模型的训练数据集得到的对应某通道的的标准差;
步骤S403:为后续传输到客户端进行显示,分别将各路视频流的第四连续图像帧编码为jpeg格式,得到对应的第五连续图像帧;
步骤S500:对目标检测识别模型进行优化,调用优化后的各目标检测识别模型对解码后的多路连续图像帧进行并发处理。
其中,对目标检测识别模型进行优化的过程包括:
步骤S501:采用算子融合方法将各目标检测识别模型中能够合并的多个算子融合成一个算子,其中,对卷积算子和批处理算子进行融合时,分别提取卷积算子和批处理算子的计算公式,如下:
Yconv=W*Xconv+B
其中,Yconv为卷积算子的输出,Xconv为卷积算子的输入,W为卷积核,B为卷积的偏差;Ybacthnorm为批处理算子的输出,Xbacthnorm为批处理算子的输入,γ为对Xbacthnorm的缩放因子,μB为Xbacthnorm的均值,为Xbacthnormm的方差,β为对Xbacthnorm的平移因子,ε为任意常数;
步骤S502:将卷积算子的输出作为批处理算子的输入,公式如下:
其中,Ynew为融合算子的输出。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种用于实现多路视频解码及AI智能分析的***,其特征在于,所述***包括AI软件平台、视频接入分析模块、若干预处理模块、任务调度模块、若干AI分析模块、数据传输模块;
所述AI软件平台包括AI高性能编解码库、AI自定义高性能算子库、自定义视觉库、高性能通信库、模型轻量化引擎;其中,AI高性能编解码库采用硬解码或者编码技术,调用视频解码处理接口对多路h264或h265视频流进行实时编解码,输出YUV或者JPEG格式图片;其中,AI自定义高性能算子库集成了一套适配AI芯片的高性能推理算子,用于支持轻量化模型网络的基础算子,保障目标检测算法和目标识别算法的高效推理;其中,自定义视觉库内包含ffmpeg视觉处理库、opencv视觉处理库的基础功能,用于支撑视频拉流、图像标注;其中,高性能通信库,用于完成CPU和AI芯片间的数据传输和协同计算;其中,模型轻量化引擎,提供模型转换和量化处理,支持基于通用框架训练的模型转换为所述AI软件平台支持的格式,支持通过调用AI自定义高性能算子库快速完成推理AI分析任务的类型;
所述视频接入分析模块,用于根据请求接入的多路视频流的分辨率、视频路数及AI分析任务对平台内的AI资源进行自动分配;
所述若干预处理模块,用于对请求接入的多路视频流完成视频解码、图像缩放、连续图像帧数据格式转换、像素标准化和图像编码处理;
所述任务调度模块,用于接收所有预处理模块输出的数据,根据请求接入的每一路视频流的AI分析任务的类型,将所述每一路视频流分配到对应的AI分析模块中进行实时处理;
所述若干AI分析模块,分别对若干种目标检测识别推理应用模型进行优化;其中,各目标检测识别推理应用模型的输入为RGB格式、大小为1*416*416*3以及每个通道完成标准化处理后的连续图像帧数据;各目标检测识别推理应用模型的输出为检测到的目标在图中的坐标位置和类别置信度;
所述数据传输模块,用于接收所有预处理模块和所有AI分析模块中的数据,将AI分析模块的推理结果在对应的连续图像帧中进行结果标注,再将所有结果汇总后转换为二进制流形式传输到客户端。
2.根据权利要求1所述的一种用于实现多路视频解码及AI智能分析的***,其特征在于,所述预处理模块包括视频解码单元、图像缩放处理单元、格式转换单元、像素标准化处理单元、图像编码单元;
所述视频解码单元,用于对各路视频流进行解码,得到各路视频流的YUV格式的第一连续图像帧;
所述图像缩放处理单元,用于将各路视频流的第一连续图像帧缩放至预设大小,得到对应的第二连续图像帧;
所述格式转换单元,用于将各路视频流的第二连续图像帧转换为RGB格式,得到对应的第三连续图像帧;
所述像素标准化处理单元,用于对各路视频流的第三连续图像帧进行各通道的像素标准化处理,得到对应的第四连续图像帧
所述图像编码单元,用于将各路视频流的第四连续图像帧编码为jpeg格式,得到对应的第五连续图像帧。
3.根据权利要求1所述的一种用于实现多路视频解码及AI智能分析的方法,其特征在于,AI分析模块中对目标检测识别推理应用模型进行优化的过程包括:
通过调用模型量化接口对各目标检测识别推理应用模型内的参数进行量化处理,从float32或float16高精度格式转换为int8低比特格式,实现低比特存储;
通过调用模型转换接口对各目标检测识别推理应用模型进行格式转换,对算子调度和内存使用进行优化;其中,优化流程通过采用算子融合方法将模型中能够合并的多个算子融合成一个算子;
所述对算子调度和内存使用进行优化包括:
针对CPU平台和AI芯片架构特点设计并构建优化的智能计算基础算子库;
将优化后的基础算子作为基元算子,利用基元算子组合成复合算子,通过动态计算图和静态计算图转换模式,提供统一的API编程和自动微分底层机制,设置基础算子核心库空间阈值1MB,在基础算子核心库大小不超过1MB时,完成优化。
4.一种应用权利要求1-3中任意一项所述的用于实现多路视频解码及AI智能分析的***的用于实现多路视频解码及AI智能分析的方法,其特征在于,所述方法包括:
步骤S100:搭建人工智能平台;
步骤S200:将格式为H.264或H.265的多路视频流接入所述人工智能平台,基于请求接入的多路视频的分辨率、路数和AI分析任务的类型,计算将所述多路视频流解码为YUV格式所需分配的内存,通过内存申请的方式测试现有内存资源大小是否能够支撑后续解码任务;
步骤S300:若内存申请失败,返回请求接入失败,若内存申请成功,对各路视频流进行AI分析任务查询,基于每一路视频流的AI分析任务的类型进行AI资源的自动分配;
步骤S400:分别对所述多路视频流进行预处理,得到各路视频流对应的连续图像帧;
步骤S500:对目标检测识别模型进行优化,调用优化后的各目标检测识别模型对解码后的多路连续图像帧进行并发处理。
5.根据权利要求4所述的一种用于实现多路视频解码及AI智能分析的方法,其特征在于,所述步骤S200中计算将多路视频流解码为YUV格式所需分配的内存的过程包括:
获取请求接入的多路视频的分辨率、路数和AI分析任务的类型;
根据公式计算需分配的内存:H=n*w*h*3/2;其中,H表示内存,n为所述多路视频的路数,w为图像帧的宽,h为图像帧的高。
6.根据权利要求4所述的一种用于实现多路视频解码及AI智能分析的方法,其特征在于,所述步骤S300包括:
步骤S301:若查询显示在所述人工智能平台中存在与所述多路视频请求的AI分析任务相一致的AI分析类型,返回请求接入成功,对所述多路视频请求的AI分析任务继续进行分解,转步骤S402;若查询显示在所述人工智能平台中不存在与所述多路视频请求的AI分析任务相一致的AI分析类型,返回请求接入失败;
步骤S302:当针对所述多路视频进行多种类型AI分析任务时,为所述多路视频的多种类型AI分析任务分配同一个预处理模块和不同AI分析模块;当针对所述多路视频进行同种类型AI分析任务时,为所述多路视频的同种类型AI分析任务分配同一个AI分析模块和不同的预处理模块。
7.根据权利要求4所述的一种用于实现多路视频解码及AI智能分析的方法,其特征在于,所述步骤S400包括:
步骤S401:分别对所述多路视频流进行解码,对应输出得到各路视频流的YUV格式的第一连续图像帧;将各路视频流的第一连续图像帧缩放至预设大小,得到对应的第二连续图像帧;分别将各路视频流的第二连续图像帧转换为RGB格式,得到对应的第三连续图像帧;
步骤S402:构建像素标准化处理模型,分别将所述第三连续图像帧各通道内的原始数据输入所述像素标准化处理模型,得到对应的第四连续图像帧;根据公式: 分别得到所述第三连续图像帧各通道内,经过像素标准化处理后的标准化数据;其中,X表示所述第三连续图像帧某通道内的原始数据;Xmean表示基于像素标准化处理模型的训练数据集得到的对应所述某通道的均值;Xstd表示基于像素标准化处理模型的训练数据集得到的对应所述某通道的的标准差;
步骤S403:分别将各路视频流的第四连续图像帧编码为jpeg格式,得到对应的第五连续图像帧。
8.根据权利要求4所述的一种用于实现多路视频解码及AI智能分析的方法,其特征在于,对目标检测识别模型进行优化的过程包括:
步骤S501:采用算子融合方法将各目标检测识别模型中能够合并的多个算子融合成一个算子,其中,对卷积算子和批处理算子进行融合时,分别提取卷积算子和批处理算子的计算公式,如下:
Yconv=W*Xconv+B
其中,Yconv为卷积算子的输出,Xconv为卷积算子的输入,W为卷积核,B为卷积的偏差;Ybacthnorm为批处理算子的输出,Xbacthnorm为批处理算子的输入,γ为对Xbacthnorm的缩放因子,μB为Xbacthnorm的均值,为Xbacthnorm的方差,β为对Xbacthnorm的平移因子,ε为任意常数;
步骤S502:将卷积算子的输出作为批处理算子的输入,公式如下:
其中,Ynew为融合算子的输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211545880.1A CN115984675B (zh) | 2022-12-01 | 2022-12-01 | 一种用于实现多路视频解码及ai智能分析的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211545880.1A CN115984675B (zh) | 2022-12-01 | 2022-12-01 | 一种用于实现多路视频解码及ai智能分析的***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115984675A CN115984675A (zh) | 2023-04-18 |
CN115984675B true CN115984675B (zh) | 2023-10-13 |
Family
ID=85972943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211545880.1A Active CN115984675B (zh) | 2022-12-01 | 2022-12-01 | 一种用于实现多路视频解码及ai智能分析的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115984675B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116260990B (zh) * | 2023-05-16 | 2023-07-28 | 合肥高斯智能科技有限公司 | 一种多路视频流的ai异步检测并实时渲染方法及*** |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742218A (zh) * | 2010-01-19 | 2010-06-16 | 南京邮电大学 | 一种用于网络电视机顶盒之间的可视电话***的实现方法 |
WO2017029400A1 (en) * | 2015-08-20 | 2017-02-23 | Koninklijke Kpn N.V. | Forming one or more tile streams on the basis of one or more video streams |
CN109447048A (zh) * | 2018-12-25 | 2019-03-08 | 苏州闪驰数控***集成有限公司 | 一种人工智能预警*** |
WO2019109771A1 (zh) * | 2017-12-05 | 2019-06-13 | 南京南瑞信息通信科技有限公司 | 基于多核异构并行计算的电力人工智能视觉分析*** |
CN110769257A (zh) * | 2018-07-25 | 2020-02-07 | 北京深鉴智能科技有限公司 | 智能视频结构化分析装置、方法和*** |
JP6644231B1 (ja) * | 2019-04-26 | 2020-02-12 | Awl株式会社 | 画像分析装置、及び画像分析システム |
CN111179163A (zh) * | 2018-11-12 | 2020-05-19 | 三星电子株式会社 | 显示装置及其控制方法 |
CN111541864A (zh) * | 2019-08-28 | 2020-08-14 | 北京大学 | 一种数字视网膜软件定义摄像机方法及*** |
WO2020232613A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳先进技术研究院 | 一种视频处理方法、***、移动终端、服务器及存储介质 |
CN112183222A (zh) * | 2020-09-04 | 2021-01-05 | 方正株式(武汉)科技开发有限公司 | 一种基于分布式人工智能视频分析的设备联动***及方法 |
CN113115241A (zh) * | 2021-04-07 | 2021-07-13 | 青岛容商天下网络有限公司 | 一种基于工业大脑的工业互联网*** |
WO2021139173A1 (zh) * | 2020-01-12 | 2021-07-15 | 苏州浪潮智能科技有限公司 | 一种ai视频处理方法与装置 |
CN113221706A (zh) * | 2021-04-30 | 2021-08-06 | 西安聚全网络科技有限公司 | 基于多进程的多路视频流的ai分析方法及*** |
CN113284084A (zh) * | 2020-12-02 | 2021-08-20 | 红云红河烟草(集团)有限责任公司 | 一种基于智能自控的双视觉设备故障诊断移动平台 |
WO2021180004A1 (zh) * | 2020-03-09 | 2021-09-16 | 华为技术有限公司 | 视频分析方法、视频分析的管理方法及相关设备 |
CN114640854A (zh) * | 2022-03-09 | 2022-06-17 | 广西高重厚泽科技有限公司 | 一种多路视频流实时高速解码方法 |
CN114637886A (zh) * | 2022-03-18 | 2022-06-17 | 岳鹏超 | 一种基于多协议的机器视觉*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160119626A1 (en) * | 2014-10-22 | 2016-04-28 | Genetec Inc. | System to dispatch video decoding to dedicated hardware resources |
US10542233B2 (en) * | 2014-10-22 | 2020-01-21 | Genetec Inc. | System to dispatch video decoding to dedicated hardware resources |
-
2022
- 2022-12-01 CN CN202211545880.1A patent/CN115984675B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742218A (zh) * | 2010-01-19 | 2010-06-16 | 南京邮电大学 | 一种用于网络电视机顶盒之间的可视电话***的实现方法 |
WO2017029400A1 (en) * | 2015-08-20 | 2017-02-23 | Koninklijke Kpn N.V. | Forming one or more tile streams on the basis of one or more video streams |
WO2019109771A1 (zh) * | 2017-12-05 | 2019-06-13 | 南京南瑞信息通信科技有限公司 | 基于多核异构并行计算的电力人工智能视觉分析*** |
CN110769257A (zh) * | 2018-07-25 | 2020-02-07 | 北京深鉴智能科技有限公司 | 智能视频结构化分析装置、方法和*** |
CN111179163A (zh) * | 2018-11-12 | 2020-05-19 | 三星电子株式会社 | 显示装置及其控制方法 |
CN109447048A (zh) * | 2018-12-25 | 2019-03-08 | 苏州闪驰数控***集成有限公司 | 一种人工智能预警*** |
JP6644231B1 (ja) * | 2019-04-26 | 2020-02-12 | Awl株式会社 | 画像分析装置、及び画像分析システム |
WO2020232613A1 (zh) * | 2019-05-20 | 2020-11-26 | 深圳先进技术研究院 | 一种视频处理方法、***、移动终端、服务器及存储介质 |
CN111541864A (zh) * | 2019-08-28 | 2020-08-14 | 北京大学 | 一种数字视网膜软件定义摄像机方法及*** |
WO2021139173A1 (zh) * | 2020-01-12 | 2021-07-15 | 苏州浪潮智能科技有限公司 | 一种ai视频处理方法与装置 |
WO2021180004A1 (zh) * | 2020-03-09 | 2021-09-16 | 华为技术有限公司 | 视频分析方法、视频分析的管理方法及相关设备 |
CN112183222A (zh) * | 2020-09-04 | 2021-01-05 | 方正株式(武汉)科技开发有限公司 | 一种基于分布式人工智能视频分析的设备联动***及方法 |
CN113284084A (zh) * | 2020-12-02 | 2021-08-20 | 红云红河烟草(集团)有限责任公司 | 一种基于智能自控的双视觉设备故障诊断移动平台 |
CN113115241A (zh) * | 2021-04-07 | 2021-07-13 | 青岛容商天下网络有限公司 | 一种基于工业大脑的工业互联网*** |
CN113221706A (zh) * | 2021-04-30 | 2021-08-06 | 西安聚全网络科技有限公司 | 基于多进程的多路视频流的ai分析方法及*** |
CN114640854A (zh) * | 2022-03-09 | 2022-06-17 | 广西高重厚泽科技有限公司 | 一种多路视频流实时高速解码方法 |
CN114637886A (zh) * | 2022-03-18 | 2022-06-17 | 岳鹏超 | 一种基于多协议的机器视觉*** |
Non-Patent Citations (2)
Title |
---|
Artificial Intelligence Based Adaptive GOP Size Selection for Effective Wyner-Ziv Video Coding;Thao Nguyen Thi Huong;《IEEE access》;全文 * |
面向智能电网的视频监控***设计与实现;刘继刚;《中国优秀硕士论文电子期刊网》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115984675A (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Emmons et al. | Cracking open the dnn black-box: Video analytics with dnns across the camera-cloud boundary | |
CN111479048A (zh) | 一种基于边缘计算的智能视频图像处理设备 | |
CN102857565B (zh) | 一种基于云计算的智能试衣*** | |
CN115984675B (zh) | 一种用于实现多路视频解码及ai智能分析的***及方法 | |
US20220377339A1 (en) | Video signal processor for block-based picture processing | |
CN111669595A (zh) | 一种屏幕内容编码方法、装置、设备和介质 | |
WO2020140863A1 (zh) | 视频编解码方法与装置 | |
CN112399177B (zh) | 一种视频编码方法、装置、计算机设备及存储介质 | |
CN114900717B (zh) | 视频数据传输方法、装置、介质和计算设备 | |
CN110879749A (zh) | 一种实时转码任务的调度方法及调度装置 | |
CN106791842A (zh) | 分析辅助编码 | |
US20230018087A1 (en) | Data coding method and apparatus, and computer-readable storage medium | |
CN116016937A (zh) | 视频编码中的样点自适应补偿方法及装置 | |
EP4231644A1 (en) | Video frame compression method and apparatus, and video frame decompression method and apparatus | |
CN117897736A (zh) | 用于机器视频编码(vcm)的编码器和解码器 | |
CN112188235B (zh) | 媒体处理方式的选择方法及媒体处理方法 | |
US10666711B2 (en) | Automated adaption of a codec | |
CN113064891A (zh) | 物联时空数据计算与管理***及方法 | |
US20240137502A1 (en) | Systems and methods for encoding and decoding video with memory-efficient prediction mode selection | |
Zheng et al. | Towards 360$$^{\circ} $$ image compression for machines via modulating pixel significance | |
CN114675922B (zh) | 显示数据处理方法、装置、存储介质与电子设备 | |
CN103918002B (zh) | 用于视频分析和编码的存储器控制器 | |
US20240114185A1 (en) | Video coding for machines (vcm) encoder and decoder for combined lossless and lossy encoding | |
CN117828124A (zh) | 一种基于内存计算的视频流数据动态处理的方法和*** | |
CN117640627A (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 |