CN116614631B - 视频处理方法、装置、设备及介质 - Google Patents
视频处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116614631B CN116614631B CN202310560872.2A CN202310560872A CN116614631B CN 116614631 B CN116614631 B CN 116614631B CN 202310560872 A CN202310560872 A CN 202310560872A CN 116614631 B CN116614631 B CN 116614631B
- Authority
- CN
- China
- Prior art keywords
- frame
- region
- interest
- detection
- adjacent
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 238000001514 detection method Methods 0.000 claims abstract description 515
- 230000033001 locomotion Effects 0.000 claims abstract description 305
- 238000004458 analytical method Methods 0.000 claims abstract description 140
- 238000012545 processing Methods 0.000 claims abstract description 23
- 230000004927 fusion Effects 0.000 claims description 54
- 238000000034 method Methods 0.000 claims description 49
- 238000012216 screening Methods 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 17
- 238000003860 storage Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 12
- 238000013139 quantization Methods 0.000 claims description 12
- 238000005516 engineering process Methods 0.000 abstract description 13
- 238000013135 deep learning Methods 0.000 abstract description 3
- 238000004422 calculation algorithm Methods 0.000 description 13
- 239000013598 vector Substances 0.000 description 13
- 238000005457 optimization Methods 0.000 description 9
- 230000002457 bidirectional effect Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 210000000887 face Anatomy 0.000 description 3
- 230000001815 facial effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000001953 sensory effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003924 mental process Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供了一种视频处理方法、装置、设备及介质,涉及媒体数据处理领域,具体涉及互联网技术、深度学习和计算机视觉领域。具体实现方案为:在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧;所述目标视频包括检测帧和中间帧,所述检测帧存在感兴趣区域的检测结果;以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息;根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息;根据所述相邻的检测帧中感兴趣区域的位置和运动信息,检测所述中间帧中的感兴趣区域的位置。本公开实施例可以提高目标检测速度。
Description
技术领域
本公开涉及媒体数据处理领域,具体涉及互联网技术、深度学习和计算机视觉领域,尤其涉及一种视频处理方法、装置、设备及介质。
背景技术
近年来,随着视频行业高速发展,视频已经逐渐替代文字成为人们获取信息和休闲娱乐的主要载体,直播、短视频、电视剧和电影等视频内容已经成为人们生活中不可或缺的部分。
由于视频压缩率直接影响带宽成本,而视频质量又直接影响用户体验,视频编码技术的研究对视频行业至关重要。
发明内容
本公开提供了一种视频处理方法、装置、设备及介质。
根据本公开的一方面,提供了一种视频处理方法,包括:
在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧;所述目标视频包括检测帧和中间帧,所述检测帧存在感兴趣区域的检测结果;
以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息;
根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息;
根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置。
根据本公开的一方面,提供了一种视频处理装置,包括:
视频帧分类模块,用于在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧;所述目标视频包括检测帧和中间帧,所述检测帧存在感兴趣区域的检测结果;
分块运动估计模块,用于以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息;
区域运动检测模块,用于根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息;
感兴趣区域检测模块,用于根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任一实施例所述的视频处理方法或视频处理方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开任一实施例所述的视频处理方法或视频处理方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开任一实施例所述的视频处理方法或视频处理方法。
本公开实施例可以目标检测速度。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例公开的一种视频处理方法的流程图;
图2是根据本公开实施例公开的另一种视频处理方法的流程图;
图3是根据本公开实施例公开的另一种视频处理方法的流程图;
图4是根据本公开实施例公开的一种视频处理方法的场景图;
图5是根据本公开实施例公开的一种视频处理方法的场景图;
图6是根据本公开实施例公开的视频处理装置的结构示意图;
图7是根据本公开实施例公开的视频处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开实施例公开的一种视频处理方法的流程图,本实施例可以适用于预先对视频中检测帧进行目标检测,得到感兴趣区域,根据检测结果对视频的检测帧之外的中间帧进行目标检测的情况。本实施例方法可以由视频处理装置来执行,该装置可采用软件和/或硬件的方式实现,并具体配置于具有一定数据运算能力的电子设备中,该电子设备可以是客户端设备或服务器设备,客户端设备例如手机、平板电脑、车载终端和台式电脑等。
S101、在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧;所述目标视频包括检测帧和中间帧,所述检测帧存在感兴趣区域的检测结果。
目标视频包括多个视频帧。具体的,在视频编码的过程中获取目标视频的视频帧。可以应用于直播、会议或短视频等视频编码速度要求较高的应用场景中。感兴趣区域为包括目标对象的区域。其中,目标对象可以是字幕或运动体等,运动体可以包括人物或动物,可以是整体也可以是局部器官等,运动方式可以是相对视频帧平移或者深度移动等。本公开实施例尤其适合人脸检测,感兴趣区域为人脸框。
可以对目标视频中视频帧按照预设固定的帧数进行抽帧,得到检测帧,针对检测帧,采用精度较高的算法进行目标检测,得到检测帧中的感兴趣区域的检测结果。检测帧的感兴趣区域的检测结果可以视为是准确的目标检测结果。其中,检测结果可以包括感兴趣区域的形状和边界坐标等。示例性的,感兴趣区域为矩形区域,检测结果包括矩形区域的四个顶点的坐标。
中间帧为除了检测帧之外的视频帧。示例性的,中间帧和检测帧组成目标视频的视频帧。每两个相邻的检测帧之间可以存在至少一个中间帧。中间帧相邻的检测帧,可以是指时序上与中间帧最近的检测帧。中间帧可以存在至少一个相邻的检测帧。可选的,中间帧可以存在相邻的时序在先的至少一个检测帧,此外,中间帧还可以存在相邻的时序在后的至少一个检测帧。可选的,可以将离中间帧最近的时序在先的检测帧和最近的时序在后的检测帧(如果存在)确定为中间帧相邻的检测帧。
参考帧和分析帧用于区分作为检测基准的视频帧。以参考帧为参考,对分析帧进行检测。根据相邻的检测帧和中间帧之间的时序先后关系,确定参考帧和分析帧。示例性的,中间帧为参考帧,相邻的检测帧为分析帧,又如,中间帧为分析帧,相邻的检测帧为参考帧。
S102、以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息。
运动估计可以是指检测图像块在不同视频帧中的运动情况。运动信息可以包括图像块的运动加速度、运动速度、运动方向和初始位置等。可以复用视频编码过程中的帧间预测过程中的计算结果,得到运动信息,帧间预测具体是指根据参考图像块的像素,预测当前图像块的像素。以参考帧为参考,对分析帧进行帧间预测,包括对分析帧中的图像块进行运动估计,得到分析帧中的图像块的运动矢量。
S103、根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息。
根据分析帧中图像块的运动信息,以及分析帧与相邻的检测帧之间的关系,检测在相邻的检测帧中,图像块指向的感兴趣区域。图像块指向的感兴趣区域,可以根据图像块运动后的位置是否落到了该感兴趣区域的范围内,检测该图像块是否指向该感兴趣区域。根据共同指向同一个感兴趣区域的至少一个图像块的运动信息,检测该感兴趣区域的运动信息。可以对指向同一个感兴趣区域的图像块的运动矢量求均值,确定该感兴趣区域的运动矢量。
S104、根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置。
中间帧与相邻的检测帧之间的距离,可以视为时长,可以采用帧数表示。根据中间帧与相邻的检测帧之间的距离、相邻的检测帧中感兴趣区域的位置和运动信息,可以确定相邻的检测帧中感兴趣区域从相邻的检测帧中运动到中间帧的位置。
可选的,在检测所述中间帧中的感兴趣区域的位置之后,还包括:根据所述检测帧中感兴趣区域和所述中间帧中感兴趣区域,在所述检测帧和所述中间帧中筛选出感兴趣区域占比满足条件的目标帧;根据所述目标帧中感兴趣区域占比,调整所述目标帧的量化参数;根据调整后的量化参数,对所述目标帧进行编码。
视频感知编码技术就是针对人眼视觉特性,针对性优化视频质量。在人眼感知视频质量不变的情况下,降低视频码率,或者相同视频码率提升人眼感官效果,以取得更低的带宽成本,或达到更优的用户体验。码率优化策略是降低感兴趣区域量化参数(QuantizerParameter,QP),提升码率,或者增加编码预测的模式等,让感兴趣区域编得更清晰。
可以在编码器预分析阶段,在编码器编码之前,对每个视频帧进行目标检测,针对感兴趣区域进行码率优化,可以提高感兴趣区域的视频质量,对视频进行码率分配,提高视频质量。
目标帧可以是指进行码率优化的视频帧。其中,感兴趣区域占比满足条件用于筛选目标帧,具体的,可以针对感兴趣区域占比小的目标帧进行码率优化。感兴趣区域占比满足条件可以是感兴趣区域占比小于等于预设占比阈值,占比阈值例如40%。感兴趣区域占比不满足条件可以是感兴趣区域占比大于预设占比阈值。优化方式可以是调低感兴趣区域的QP,提高感兴趣区域码率,提升目标对象的清晰度。
示例性的,可以统计视频帧(中间帧或检测帧)中感兴趣区域的总面积,并计算感兴趣区域的总面积与该视频帧的图像面积的比值,得到感兴趣区域占比。
在一个具体的例子中,如果感兴趣区域的总面积大于一帧图像面积的40%,即感兴趣区域占比大于40%,不调整QP。感兴趣区域占比小于等于40%,按照如下公式调整:
调整后的QP=(max(感兴趣区域占比,10%)-50%)*10*强度
其中,强度默认1.0。
只针对感兴趣区域占比低于40%的目标帧做QP调整,调整后的QP在[-4,-1]内取值,调整后的QP的取值为线性函数。感兴趣区域的总面积越小,QP越低,码率花费越高。
通过对感兴趣区域进行针对性码率优化,可以在快速准确识别感兴趣区域的基础上,提升编码感兴趣区域码率,提高感兴趣区域清晰度,增强人眼感知到的主观质量,提高视频质量。
现有技术中,根据上一帧检测结果进行目标跟踪算法,以减少目标检测的时间,但一些位置会出现新的目标,导致目标检测准确性低。或者是采用抽帧检测目标,比如每10帧抽1帧检测目标,后续9帧就复用这帧检测到的目标位置,但针对运动的目标难以实现准确定位。
根据本公开的技术方案,通过在预先检测感兴趣区域的检测帧和中间帧中,确定参考帧和分析帧,以参考帧为参考,对分析帧进行分块运动估计,根据图像块的运动信息,确定检测帧中对应的感兴趣区域,以及确定感兴趣区域在检测帧与中间帧之间的运动,从而检测中间帧中感兴趣区域的位置,提高感兴趣区域的检测速度和精度。
图2是根据本公开实施例公开的另一种视频处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。所述在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧之前,优化为:在所述目标视频的编码过程中,获取编码预分析的前看帧数;获取所述目标视频的中间帧和检测帧;根据所述前看帧数和所述检测帧,检测所述中间帧的前看范围内是否包括检测帧;在所述中间帧的前看范围内包括检测帧的情况下,将所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧,确定为确定中间帧相邻的检测帧;在所述中间帧的前看范围内不存在检测帧的情况下,将所述中间帧相邻的时序在先的检测帧,确定为确定中间帧相邻的检测帧。
S201、在所述目标视频的编码过程中,获取编码预分析的前看帧数。
编码器对目标视频进行编码时,会对视频帧进行编码预分析。编码预分析可以获取(看到)一组视频帧,该视频帧的数量为前看帧数。编码预分析对获取的一组视频帧进行预分析,输出整体或者部分视频帧,以进行编码。输出待进行编码的视频帧所形成的的视频集合可以称为miniGOP(mini A Group of Pictures,一组短小的按照编解码和显示顺序排列好的图片)。示例性的,编码预分析可以分析25个视频帧,最后输出8个视频帧,提供给编码单元,编码单元对这8个视频帧进行编码。
S202、获取所述目标视频的中间帧和检测帧。
每个预设帧数取一个视频帧作为检测帧,检测帧之间的视频帧为中间帧。需要说明的是,本公开实施例是逐个中间帧进行感兴趣区域检测。中间帧的数量有多个,可以按照播放顺序依次选择一个中间帧,以当前选择的中间帧进行感兴趣区域的检测。直到目标视频的中间帧都判断完成,结束中间帧的感兴趣区域检测。目标视频可以是实时采集录制的视频,例如直播或会议,也可以是完整的视频,例如短视频。
S203、根据所述前看帧数和所述检测帧,检测所述中间帧的前看范围内是否包括检测帧。
实际上,前看范围内是否包括检测帧,用于判断是否能用后向预测跟踪方式确定感兴趣区域位置。根据前看帧数,确定前看的视频帧的范围,根据前述选择的中间帧在该范围内的位置,确定该中间帧的前看范围。具体是将中间帧与前看的视频帧的范围的末个视频帧之间的范围,确定为前看范围。在前看范围内查询是否存在检测帧。示例性的,前看的视频帧的范围为0-15帧,第7帧为检测帧,第17帧为检测帧。中间帧为第10帧,则前看范围为10-15帧,而10-15帧不存在检测帧,则确定该中间帧的前看范围内不包括检测帧。
S204、在所述中间帧的前看范围内包括检测帧的情况下,将所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧,确定为确定中间帧相邻的检测帧。
实际上,中间帧通常是存在相邻的时序在先的检测帧。可以以时序在先的检测帧为参考,对中间帧进行感兴趣区域检测,这种方式可以称为前向预测跟踪方式。其中,前向预测跟踪方式可以检测出运动后消失的感兴趣区域,提高目标检测准确性。
而在前看帧数较少或者是视频快结束时,中间帧不存在相邻的时序在后的检测帧,如前例。中间帧的前看范围内包括检测帧,表明可以采用以时序在后的检测帧为参考,对中间帧进行感兴趣区域检测,这种方式可以称为后向预测跟踪方式。其中,后向预测跟踪方式可以检测出前面未出现后来出现的感兴趣区域,提高目标检测准确性。
两种预测方式都可以用,则这种方式可以称为双向预测方式。
示例性的,在0-30帧内,第0帧、第7帧、第14帧、第21帧、第28帧为检测帧,其余为中间帧。若中间帧为第15帧,相邻的时序在先的检测帧为第14帧,相邻的时序在后的检测帧为第21帧。
S205、在所述中间帧的前看范围内不存在检测帧的情况下,将所述中间帧相邻的时序在先的检测帧,确定为确定中间帧相邻的检测帧。
通常在前看帧数较少或者是视频快结束时,中间帧的前看范围内不存在检测帧。此时只能采用前向预测跟踪方式。
此外,还有一种情况,中间帧与时序首位的视频帧之间不存在检测帧,将中间帧相邻的时序在后的检测帧,确定为确定中间帧相邻的检测帧。
S206、在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧;所述目标视频包括检测帧和中间帧,所述检测帧存在感兴趣区域的检测结果。
针对中间帧相邻的时序在先的检测帧,可以以该时序在先的检测帧作为参考帧,将中间帧作为分析帧。针对中间帧相邻的时序在后的检测帧,可以以该时序在后的检测帧作为参考帧,将中间帧作为分析帧。
又如,可以单方向为参考。
针对中间帧相邻的时序在先的检测帧,可以以该时序在先的检测帧作为参考帧,将中间帧作为分析帧。针对中间帧相邻的时序在后的检测帧,可以以中间帧作为参考帧,将该时序在后的检测帧作为分析帧。
或者,针对中间帧相邻的时序在先的检测帧,可以以中间帧作为参考帧,将该时序在先的检测帧作为分析帧。针对中间帧相邻的时序在后的检测帧,可以以该时序在后的检测帧作为参考帧,将中间帧作为分析帧。
S207、以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息。
S208、根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息。
可选的,所述根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息,包括:根据所述分析帧中图像块的运动信息,统计指向所述相邻的检测帧中感兴趣区域的图像块的第一有效数量;根据所述第一有效数量,在所述相邻的检测帧中感兴趣区域中筛选有效区域;根据指向所述有效区域的图像块的运动信息,检测所述有效区域的运动信息。
第一有效数量用于判断图像块的数量是否足够有效判断感兴趣区域的运动。可以理解的是,一个感兴趣区域中存在多个明确运动的图像块,表明这些图像块可以代表该感兴趣区域存在的运动。第一有效数量与相邻的检测帧中该感兴趣区域包括的图像块的数量之间的比值大于等于第一比例阈值时,确定该感兴趣区域为有效区域;第一有效数量与相邻的检测帧中该感兴趣区域包括的图像块的数量之间的比值小于第一比例阈值时,确定该感兴趣区域不是有效区域。第一比例阈值可以是10%。
不同的分析帧,第一有效数量不同。针对分析帧为中间帧;第一有效数量是指,中间帧中指向相邻的检测帧中感兴趣区域的有效图像块的数量。针对分析帧为相邻(时序在后)的检测帧,本身包括的该感兴趣区域的有效图像块的数量。其中,有效图像块可以是指运动估计误差较小的图像块,具体筛选方式可以是:根据图像块的运动矢量、所在视频帧(中间帧或检测帧)的帧间预测误差和图像块的帧内预测误差,将帧内预测误差大于帧间预测误差的图像块确定为有效图像块。其中,帧内预测误差可以是指根据图像块周围像素预测该图像块像素的误差。
其中,根据分析帧中图像块的运动信息,分析帧和相邻的检测帧之间的关系,确定图像块指向的感兴趣区域。示例性的,若分析帧是相邻的检测帧,在该相邻的检测帧中,图像块的位置在某个感兴趣区域的范围内,该图像块指向该感兴趣区域;若分析帧与相邻的检测帧不同,分析帧为中间帧,根据图像块的运动信息,检测图像块从分析帧到相邻的检测帧之间的运动情况,从而确定运动后的图像块落在某个感兴趣区域的范围内,该图像块指向该感兴趣区域。需要说明的是,图像块在感兴趣区域范围内或者运动后落在范围内,可以检测图像块的中心坐标(例如矩形区域的对角线交点)是否在范围内,或运动后是否落在范围内。
可以根据指向有效区域的图像块的运动矢量,取均值,确定有效区域的运动矢量。示例性的,如果图像块的运动方向和有效区域的运动方向相同,则将均值确定为有效区域的运动矢量;如果不同,则将均值取反确定为有效区域的运动矢量。
通过根据指向感兴趣区域的图像块的数量,对感兴趣区域进行有效性筛选,优化感兴趣区域的检测结果,提高检测准确性,可以适配目标现在当前的视频帧消失或无法预测的场景中,减少目标检测误差,提高检测精度。
S209、根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置。
若只采用前向预测跟踪方式,可以将前向预测得到的中间帧中的感兴趣区域的位置作为最终的检测结果。
若采用双向预测方式,可以将前向预测结果和后向预测结果进行融合,例如,将前向预测结果中和后向预测结果中重合率高的两个感兴趣区域保留一个,剔除另一个;将重合率低的两个感兴趣区域都保留。
可选的,所述根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置,包括:根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置,得到所述中间帧中的感兴趣区域的初始检测结果;在所述初始检测结果中,获取所述分析帧中感兴趣区域包括的图像块,落在所述参考帧中相应感兴趣区域内的第二有效数量;根据所述第二有效数量,对所述初始检测结果中感兴趣区域进行筛选,得到所述中间帧中的感兴趣区域的目标检测结果,所述目标检测结果包括感兴趣区域的位置。
第二有效数量用于对已经确定的感兴趣区域进行后检查,检测感兴趣区域的有效性。初始检测结果为正向检测感兴趣区域的检测结果。对初始检测结果进行逆推,进一步校验有效性,经过筛选后的检测结果为目标检测结果。可以理解的是,在前述根据表征(指向)同一个感兴趣区域的多个图像块的运动,描述该感兴趣区域的运动,但可能会存在这多个图像块的运动方向各不相同,例如存在上下左右的方向,最后得到的感兴趣区域可能是原地不动的结果,但这种运动结果是错误的,通过第二有效数量可以筛选出稳定朝向一致方向运动的感兴趣区域。也即第二有效数量用于检测感兴趣区域的运动是否和包括的图像块的运动一致。
可选的,获取分析帧中感兴趣区域包括的至少一个图像块,作为校验块;获取校验块所属的感兴趣区域在参考帧中对应的校验区域;根据校验块的运动信息、校验块在分析帧的位置以及参考帧与分析帧之间的距离,检测校验块在参考帧中的位置;根据各校验块在参考帧中的位置,统计位于校验区域中的校验块的数量,作为该校验区域对应的感兴趣区域的第二有效数量。
感兴趣区域的第二有效数量与该感兴趣区域包括的图像块的数量之间的比值大于等于第二比例阈值时,确定该感兴趣区域或对应的校验区域为有效区域;感兴趣区域的第二有效数量与该感兴趣区域包括的图像块的数量之间的比值小于第二比例阈值时,确定该感兴趣区域或对应的校验区域不是有效区域。第二比例阈值可以是10%。其中,针对参考帧为中间帧,检测校验区域为有效区域;针对分析帧为中间帧,检测该感兴趣区域是否为有效区域。
通过检测运动依据的图像块是否与指向的感兴趣区域的运动是否为一致运动,对感兴趣区域进行筛选,提高感兴趣检测精度和有效性。
可选的,所述以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息,包括:获取编码器对所述目标视频的视频帧的运动估计结果,所述运动估计结果包括单一时序方向的运动估计结果;在预先获取的运动估计结果中,获取所述分析帧中图像块的运动信息。
目前编码器通常会对视频进行编码预分析,即对目标视频的视频帧进行帧间预测和帧内预测,帧间预测包括视频帧的图像块的运动估计。单一时序方向的运动估计结果,以前帧为参考预测后帧,或者以后帧为参考预测前帧。示例性的,预先获取的运动估计结果包括:图像块的运动矢量、所在视频帧(中间帧或检测帧)的帧间预测误差和图像块的帧内预测误差。
本公开实施例可以直接复用编码器的帧间预测和帧内预测结果中运动估计结果,减少运动估计的时间和计算成本,提高运动估计效率。
可选的,所述在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧,包括:在目标视频的中间帧以及与所述中间帧相邻的检测帧中,将时序在先的视频帧,确定为参考帧,并将时序在后的视频帧,确定为分析帧。
例如,针对中间帧相邻的时序在先的检测帧,时序在先的视频帧即时序在先的检测帧,确定为参考帧,并将时序在后的视频帧,即中间帧,确定为分析帧。又如,针对中间帧相邻的时序在后的检测帧,时序在先的视频帧即中间帧,确定为参考帧,并将时序在后的视频帧,即中中间帧相邻的时序在后,确定为分析帧。
两个方向参考运动估计的计算量是单方向参考运动估计的计算量的两倍。例如,相对上一帧(时序在先)做一次运动估计,相对下一帧(时序在后)又做一次运动估计。而前向预测和后向预测都相对上一帧为参考进行运动估计,只会针对上一帧做一次,这样为了节省计算量。此时需要用到上一帧的运动矢量只需要把运动矢量进行取反并且改一下计算方式,无需再做一次运动估计。
并且,相对上一帧做运动估计能复用编码器中一些计算逻辑。编码器单向预测就是相对于之前poc(picture order counts,解码帧显示顺序)小的视频帧做运动估计,双向预测就是相对于前某视频帧和后面某视频帧,能复用单向预测调用运动估计的一些函数逻辑,降低运动估计实现成本。
通过复用编码器的运动估计,降低运动估计的成本和计算量,提高运动估计效率,从而提高视频编码效率。
可选的,中间帧相邻的检测帧包括:所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧;所述在预先获取的运动估计结果中,获取所述分析帧中图像块的运动信息,包括:针对所述时序在先的检测帧,在预先获取的运动估计结果中,获取所述中间帧的全部图像块的运动信息,并确定所述分析帧中图像块的运动信息;针对所述时序在后的检测帧,在预先获取的运动估计结果中,获取所述时序在后的检测帧中感兴趣区域包括的图像块的运动信息,并确定所述分析帧中图像块的运动信息。
图像块的尺寸可以设置为8*8。可以将感兴趣区域的尺寸调整成为图像块的尺寸的倍数,如前例,感兴趣区域的尺寸为8*8*n,其中,n可以根据需要设置。
针对时序在先的检测帧,预先获取的运动估计结果包括以时序在线的检测帧为参考,检测得到的中间帧中全部图像块的运动信息。
针对时序在后的检测帧,预先获取的运动估计结果包括以中间帧为参考,检测到的时序在后的检测帧中全部图像块的运动信息。检测帧中存在感兴趣区域,可以只需要获取感兴趣区域包括的图像块的运动信息,感兴趣区域之外的图像块的运动信息可以不用获取。
可以直接将获取的图像块的运动信息确定为分析帧中图像块的运动信息,或者,还可以根据获取的图像块的运动信息,筛选出有效图像块,将有效图像块的运动信息确定为分析帧中图像块的运动信息。其中,有效图像块的筛选可以在本步骤实现,也可以在前述的第一有效数量和第二有效数量时实现,对此不具体限制。
通过在预先获取的运动估计结果直接获取图像块的运动信息,可以在复用单向预测调用运动估计的结果,降低运动估计实现成本,实际上运动跟踪耗时大多来自运动估计,从而复用运动估计结果,可以减少大量的运动估计耗时。
根据本公开的技术方案,通过采用相邻帧之间的运动估计降低感兴趣检测误差,通过双向预测的运动估计可以提高感兴趣检测准确性,同时可以检测到初始不存在后来出现的目标,以及初始存在后来消失的目标,进一步提高目标检测准确性。
图3是根据本公开实施例公开的另一种视频处理方法的流程图,基于上述技术方案进一步优化与扩展,并可以与上述各个可选实施方式进行结合。中间帧相邻的检测帧包括:所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧;所述根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置,具体化为:根据所述时序在先的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述时序在先的相邻检测帧之间的距离,检测所述中间帧中的第一感兴趣区域的第一定位信息;根据所述时序在后的相邻检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述时序在后的相邻检测帧之间的距离,检测所述中间帧中的第二感兴趣区域的第二定位信息;根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域的位置。
S301、在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧;所述目标视频包括检测帧和中间帧,所述检测帧存在感兴趣区域的检测结果;所述中间帧相邻的检测帧包括:所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧。
可以采用双向预测方式。
S302、以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息。
S303、根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息。
S304,根据所述时序在先的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述时序在先的相邻检测帧之间的距离,检测所述中间帧中的第一感兴趣区域的第一定位信息。
第一感兴趣区域为前向预测跟踪方式得到的检测结果。第一定位信息用于描述第一感兴趣区域在中间帧的位置,具体可以包括第一感兴趣区域的形状和关键点坐标,例如矩形区域和四个顶点坐标。
可以根据时序在先的检测帧中感兴趣区域的运动信息,以及中间帧和时序在先的相邻检测帧之间的距离,确定感兴趣区域从时序在先的检测帧到中间帧以何种方式运动,根据感兴趣的位置,确定运动起点,从而根据运动方式和运动起点,确定感兴趣区域运动到中间帧的位置。
S305,根据所述时序在后的相邻检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述时序在后的相邻检测帧之间的距离,检测所述中间帧中的第二感兴趣区域的第二定位信息。
第二感兴趣区域为后向预测跟踪方式得到的检测结果。第二定位信息用于描述第二感兴趣区域在中间帧的位置,具体可以包括第二感兴趣区域的形状和关键点坐标,例如矩形区域和四个顶点坐标。
可以根据时序在后的检测帧中感兴趣区域的运动信息,以及中间帧和时序在先的相邻检测帧之间的距离,确定感兴趣区域从中间帧到时序在后的检测帧以何种方式运动,根据感兴趣的位置,确定运动终点,从而根据运动方式和运动终点,确定感兴趣区域在中间帧的位置;其中,根据时序在后的检测帧中感兴趣区域的运动信息,可以确定感兴趣区域从时序在后的检测帧到中间帧的运动,是从中间帧到时序在后的检测帧的逆运动。根据感兴趣的位置,确定运动起点,根据从时序在后的检测帧到中间帧的运动和运动起点,确定感兴趣区域在中间帧的位置。
S306,根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域的位置。
示例性的,第一感兴趣区域和第二感兴趣区域融合,可以是对同一目标的感兴趣区域进行加权融合,其余感兴趣区域保留。又如,还可以对同一个目标的感兴趣区域进行去重,其余感兴趣区域保留。对此可以不具体限制。
可选的,所述根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域以及位置,包括:根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行匹配,确定重合区域对,所述重合区域对中大尺寸区域和小尺寸区域重合;将重合区域对中大尺寸的感兴趣区域,作为所述中间帧中的感兴趣区域。
各第一感兴趣区域分别与每个第二感兴趣区域进行匹配。重合区域对中包括一个第一感兴趣区域和一个第二感兴趣区域。大尺寸区域和小尺寸区域重合是指,两个区域大部分重叠。第一感兴趣区域绝大部分包含在第二感兴趣区域内,或者第二感兴趣区域绝大部分包含在第一感兴趣区域内,确定这俩感兴趣区域形成一个重合区域对,其中,已经形成重合区域对的感兴趣区域不能在和其他感兴趣区域进行匹配。保留重合区域对中大尺寸的感兴趣区域,并剔除小尺寸的感兴趣区域。
示例性的,若第一感兴趣区域和第二感兴趣区域中,小尺寸的区域与大尺寸区域之间的重叠区域的面积,与该小尺寸区域的面积的比值,大于等于预设重合比值阈值,确定该第一感兴趣区域和该第二感兴趣区域形成一个重合区域对;小尺寸的区域与大尺寸区域之间的重叠区域的面积,与该小尺寸区域的面积的比值,小于预设重合比值阈值,确定该第一感兴趣区域和该第二感兴趣区域不能生成重合区域对,重合比值阈值可以是95%。在确定重合区域对之后,再剩余的感兴趣区域中,选择一个新的第一感兴趣区域和一个新的第二感兴趣区域进行匹配,直至剩余感兴趣区域无法生成重合区域对。已经生成重合区域对的感兴趣区域不参与后续的匹配。
通过感兴趣区域去重,减少冗余感兴趣区域,提高感兴趣区域的检测准确性。
可选的,所述视频处理方法,还包括:在剩余的感兴趣区域中,对第一感兴趣区域和第二感兴趣区域进行匹配,确定融合区域对,所述融合区域对中大尺寸区域和小尺寸区域部分重叠;对所述融合区域对中的第一感兴趣区域和第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域。
剩余的感兴趣区域是指无法生成重合区域对的感兴趣区域。大尺寸区域和小尺寸区域部分重叠是指大尺寸区域和小尺寸区域有重叠,但重叠面积较小。计算匹配的第一感兴趣区域和第二感兴趣区域之间的重合区域,分别与两个感兴趣区域之间的面积比值中的最小值,确定为重叠比值。示例性的,重叠区域与第一感兴趣区域的面积比值为70%,重叠区域与第二感兴趣区域的面积比值为65%,重叠比值为65%。重叠比值大于等于预设重叠比值阈值,确定该第一感兴趣区域和该第二感兴趣区域形成一个融合区域对;重叠比值小于预设重叠比值阈值,确定该第一感兴趣区域和该第二感兴趣区域不能形成融合区域对。重叠比值阈值可以是40%。
可选的,可以在确定融合区域对之后,从此时剩余的感兴趣区域中,选择一个新的第一感兴趣区域和一个新的第二感兴趣区域进行匹配,直至剩余感兴趣区域无法生成融合区域对。已经生成融合区域对的感兴趣区域不参与后续的匹配。
又如,在确定融合区域对之后,可以将融合区域对中的感兴趣区域重新放回,继续匹配,直至全部第一感兴趣区域和各第二感兴趣区域都匹配完成。针对每个融合区域对,按照重叠比值进行顺序排序,优先选择最高的重叠比值的融合区域对进行保留,此时剔除包括该保留的融合区域对中感兴趣区域的其他融合区域对,在剩余的融合区域对中,继续选择最高的重叠比值的融合区域对进行保留,以及剔除包括该保留的融合区域对中感兴趣区域的其他融合区域对,以此类推,直至融合区域对筛选完成。
得到融合区域对,按照中间帧与时序在先的检测帧之间的距离,以及中间帧与时序在后的检测帧之间的距离,确定融合区域对中第一感兴趣区域的权重和第二感兴趣区域的权重,并将两个感兴趣区域的顶点坐标按照权重进行加权求均值,作为融合后的感兴趣区域的顶点坐标。示例性的,中间帧与时序在先的检测帧之间的距离,与中间帧与时序在后的检测帧之间的距离之间的距离比值,和融合区域对中第一感兴趣区域的权重和第二感兴趣区域的权重之间的权重比值,成反比。具体是,计算第一感兴趣区域的坐标与相应权重的乘积,以及第二感兴趣区域的坐标与相应权重的乘积,计算两个乘积之和,除以前后检测帧之间的距离,作为中间帧的感兴趣区域的相应坐标。
示例性的,中间帧为第11帧,第11帧前后检测帧为第10帧和第20帧,距离之比为1:9,权重之比为9:1。融合时,可以是第10帧的感兴趣区域的顶点坐标*9与第20帧的人脸框的相应坐标*1之和,除以10,得到该感兴趣区域的相应坐标的最终数值。
通过筛选融合区域对,并融合得到中间帧的感兴趣区域的检测结果,充分考虑了感兴趣区域在前后的运动信息,可以提高感兴趣区域的检测准确性。
可选的,所述视频处理方法,还包括:根据最大区域数量、所述中间帧与所述相邻的检测帧之间的距离,在剩余的感兴趣区域中,筛选所述中间帧中的感兴趣区域。
此时剩余的感兴趣区域为无法生成重合区域对和融合区域对的剩余的感兴趣区域。将剩余的感兴趣区域直接全部作为中间帧的感兴趣区域。但通常感兴趣区域有最大区域数量限制。一个视频帧的最大区域数量是指该视频帧最多可检测出的感兴趣区域的数量。太多的感兴趣区域冗余,且需要后处理的成本和计算量太多,通常不建议全部保留。剩余的感兴趣区域可以包括第一感兴趣区域和/或第二感兴趣区域。在剩余的感兴趣区域包括第一感兴趣区域和第二感兴趣区域时,可以获取中间帧与相邻的检测帧之间的距离最小的相邻的检测帧,距离最小的检测帧对应的感兴趣区域优先保留。示例性的,中间帧为第11帧,第11帧前后检测帧为第10帧和第20帧,距离最小的相邻的检测帧为第10帧,在剩余的感兴趣区域中,基于第10帧,预测的感兴趣区域优先保留,同一帧的感兴趣区域可以按照面积大优先级高的顺序优先保留。保留的全部感兴趣区域的数量(包括前面的重合区域对保留和融合区域对融合得到的感兴趣区域)大于最大区域数量时,剩余感兴趣区域都删除。此时保留的全部感兴趣区域为中间帧的感兴趣区域。
通过距离优先保留和数量限制保留感兴趣区域,减少冗余数据,提高感兴趣区域的后续处理速度。
根据本公开的技术方案,通过时序在先的检测帧预测中间帧的第一感兴趣区域,可以检测出运动后消失的感兴趣区域,通过时序在后的检测帧预测中间帧的第二感兴趣区域,以检测出前面未出现后来出现的感兴趣区域,对第一感兴趣区域和第二感兴趣区域进行融合,可以降低目标检测累计的误差,从而提高目标检测准确性。
图4和5是根据本公开实施例公开的一种视频处理方法的场景图。具体方法如下:
本公开是在人脸抽帧检测的基础上,结合编码器预分析过程中块运动估计信息,估计人脸的运动过程,再对跟踪预测的人脸ROI(Region Of Interest,感兴趣)区域设计码率优化策略,提升人脸清晰度。主要分为三部分,第一部分是编码预分析阶段的人脸抽帧检测,第二部分是基于编码块运动估计的人脸跟踪策略,第三部分是基于跟踪预测的人脸ROI区域做码率优化策略。这些操作都是在编码器预分析阶段做的,因为编码器预分析阶段能前看一些帧,所以在编码前,可以对前看帧做人脸检测、跟踪和码率优化。
1.编码预分析阶段的人脸抽帧检测。
主要方案是以固定帧数为间隔抽取检测帧进行人脸检测,然后基于检测帧做人脸跟踪。在目标视频的编码过程中,获取编码预分析的前看帧数;获取目标视频的中间帧和检测帧;根据前看帧数和检测帧,检测中间帧的前看范围内是否包括检测帧;在中间帧的前看范围内包括检测帧的情况下,将中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧,确定为确定中间帧相邻的检测帧;在中间帧的前看范围内不存在检测帧的情况下,将中间帧相邻的时序在先的检测帧,确定为确定中间帧相邻的检测帧。
实际上,检测中间帧的前看范围内是否包括检测帧可以荣国一下判断:如果人脸检测抽帧间隔低于编码前看帧数,可以根据前后检测帧做中间帧人脸运动的跟踪;如果人脸检测抽帧间隔高于于编码前看前看帧数,看不到下一个检测帧,就根据上一个检测帧做后续帧人脸运动跟踪。
此外,可替代的一种方案是只在编码预分析判定场景切换或跟踪的人脸消失时,再做人脸检测。未发生场景切换时,就持续相对上一帧做人脸运动跟踪,追踪人脸运动。不过这个策略没法检测到场景中新出现的人脸,只适用于单人直播之类的场景。但优点是调用检测算子次数压到极限,平均每帧检测时间相对平均编码时间可忽略。需要根据应用场景调用该策略。
人脸检测是输出一个视频帧中所有人脸框位置,即检测感兴趣区域的位置,每个人脸框为一个矩形框,通过输出矩形顶点坐标表示人脸框位置。
2.基于编码块运动估计的人脸跟踪算法。
编码预分析阶段会进行块运动估计,其主要是为了编码帧间预测,压缩时域冗余信息。运动估计是针对视频帧某个图像块,在一个确定的参考帧中,搜索一个和它最相似的图像块作为参考块,之后通过参考块对图像块做帧间预测编码。参考块相对图像块位置称为MV(运动矢量,Motion Vector),本公开实施例实际是基于块运动估计,利用MV来跟踪人脸框运动。
本公开的人脸跟踪算法主要分为两种预测方式:如图5所示的双向跟踪预测和如图4所示的前向跟踪预测。双向跟踪预测是在能看到前后一定距离的检测帧时,根据前后检测帧人脸框位置,跟踪预测当前帧人脸框位置。前向跟踪预测是在视频快结尾,或者预分析前看长度不足情况下,看不到下一个检测帧,只根据上一个检测帧结果预测当前帧人脸框位置。双向跟踪预测是基于单向预测,把从上一帧向下一帧的前向跟踪预测,和从下一帧反推上一帧的后向跟踪预测融合,得到双向预测结果。
(1)前向跟踪预测算法:
前向跟踪预测是根据上一个检测帧,预测当前帧人脸框位置的算法。先把检测帧人脸框顶点向四周扩展到8的倍数,使它能表示为8x8块的集合。从检测帧的下一帧开始,逐帧进行跟踪预测,根据上一帧检测或预测结果,预测下一帧人脸框位置。具体操作为:
a.相关特征计算:中间帧为分析帧,以时序在先的检测帧为参考帧,做运动估计,获取中间帧所有图像块的运动矢量MV和帧间预测代价interCost,并且获取每个块的帧内预测代价intraCost。实际上该过程是在编码预分析过程中完成,只需要获取编码预分析的运动估计结果,并获取中间帧的全部图像块的运动信息,并确定为分析帧中图像块的运动信息。
b.运动判别:对中间帧所有图像块,判定interCost<intraCost为有效MV以及有效图像块。且如果根据有效图像块MV运动后块中心落在时序在先的检测帧中某个检测或预测出的人脸框内,记录该有效图像块和MV到对应人脸框中。
c.人脸框位置预测:根据中间帧的图像块的运动信息,统计指向时序在先的检测帧中感兴趣区域的图像块的第一有效数量;根据第一有效数量,在时序在先的检测帧中感兴趣区域中筛选有效区域;根据指向有效区域的图像块的运动信息,检测有效区域的运动信息。具体是遍历时序在先的检测帧的人脸框,检测有效图像块指向该人脸框内的块数目,若低于人脸框自身包括的块数目的第一比例阈值(设为10%),判定预测无效,该人脸现在当前帧消失或无法预测。否则,根据指向该人脸框的图像块的MV均值,取反向,来估计从时序在先的检测帧到中间帧人脸框运动,得到中间帧人脸框位置的检测结果。
d.后检查:根据时序在先的检测帧中感兴趣区域的位置和运动信息,以及中间帧和时序在先的检测帧之间的距离,检测中间帧中的感兴趣区域的位置,得到中间帧中的感兴趣区域的初始检测结果;在初始检测结果中,获取中间帧中感兴趣区域包括的图像块,落在时序在先的检测帧中相应感兴趣区域内的第二有效数量;根据第二有效数量,对初始检测结果中感兴趣区域进行筛选,得到中间帧中的感兴趣区域的目标检测结果,目标检测结果包括感兴趣区域的位置。具体的,统计中间帧预测人脸框中所有图像块,看各图像块运动落在时序在先的检测帧对应人脸框中的第二有效数量。若不超过第二比例阈值(也可设为10%),则判定预测无效,对应人脸框在当前帧消失或无法预测。否则,则将该人脸框的位置作为目标检测结果输出。
(2)后向(反向)跟踪预测算法:
后向跟踪预测是根据下一个检测帧,预测当前人脸框位置的算法。和前向跟踪预测算法近似,只不过人脸框运动的计算稍有差别,会简单些。从下一个检测帧的上一帧开始,反向逐帧进行跟踪预测,根据下一帧检测或预测结果,预测上一帧人脸框位置。具体操作为:
i.相关特征计算:和前向类似,不过是时序在后的检测帧为分析帧,以中间帧为参考帧,做运动估计,获取时序在后的检测帧的所有图像块的MV和interCost,并获取每个块的帧内预测代价intraCost。如果前向预测做过相邻帧运动估计,就不需要再做。
ii.人脸框位置预测:对时序在后的检测帧中感兴趣区域包括的图像块,检测interCost<intraCost为有效MV以及有效图像块,统计有效图像块的第一有效数量;根据第一有效数量,在时序在后的检测帧中感兴趣区域中筛选有效区域;根据指向有效区域的图像块的运动信息,检测有效区域的运动信息。遍历时序在后的检测帧检测或预测出的人脸框,对人脸框中所有图像块,统计interCost<intraCost的有效MV的数目。如果有效图像块比例低于第一比例阈值(同样设为10%),判定运动预测无效,对应人脸框在当前帧消失或无法预测。否则,根据该人脸框的有效图像块的MV均值估计人脸运动,得到中间帧人脸框位置的检测结果。
iii.后检查:根据时序在后的检测帧中感兴趣区域的位置和运动信息,以及中间帧和时序在后的检测帧之间的距离,检测中间帧中的感兴趣区域的位置,得到中间帧中的感兴趣区域的初始检测结果;在初始检测结果中,获取时序在后的检测帧中感兴趣区域包括的图像块,落在中间帧中相应感兴趣区域内的第二有效数量;根据第二有效数量,对初始检测结果中感兴趣区域进行筛选,得到中间帧中的感兴趣区域的目标检测结果,目标检测结果包括感兴趣区域的位置。
统计时序在后的检测帧人脸框中所有有效图像块,检测实际落在中间帧对应预测人脸框中的数目,若不超过第二比例阈值(也可设为10%),则判定预测无效,对应人脸框在当前帧消失或无法预测。否则,则将该人脸框的位置作为目标检测结果输出。
(3)双向跟踪预测算法:
双向跟踪预测是在前向跟踪预测算法和后向跟踪预测都做了以后,对前后向预测结果做融合。具体为:
a.只有单向结果直接返回:如果中间帧前向或后向预测人脸框数目为0,就以另一个方向预测结果为准,返回结果。若两个方向均为0,则直接返回0。
b.前后向包含关系判定去重:
根据时序在先的检测帧中感兴趣区域的位置和运动信息,以及中间帧和时序在先的相邻检测帧之间的距离,检测中间帧中的第一感兴趣区域的第一定位信息;根据时序在后的相邻检测帧中感兴趣区域的位置和运动信息,以及中间帧和时序在后的相邻检测帧之间的距离,检测中间帧中的第二感兴趣区域的第二定位信息;根据第一定位信息和第二定位信息,对第一感兴趣区域和第二感兴趣区域进行匹配,确定重合区域对,重合区域对中大尺寸区域和小尺寸区域重合;将所述重合区域对中大尺寸的感兴趣区域,作为所述中间帧中的感兴趣区域。
具体的,将前向人脸框和后向人脸框两两配对,如果一个框绝大部分区域被包含在另一个框(阈值可设95%),保留两者中大的框,去除小的框。这主要是应对镜头拉近或拉远,人脸大小变化的场景。
c.前后向同一人脸配对加权融合:
在剩余的感兴趣区域中,对第一感兴趣区域和第二感兴趣区域进行匹配,确定融合区域对,所述融合区域对中大尺寸区域和小尺寸区域部分重叠;对所述融合区域对中的第一感兴趣区域和第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域。
i.前向和后向结果两个框重叠比值为两个框重合面积占两个框面积比例最小值。
ii.若重叠比值小于重叠比值阈值(可设为40%),则认为不是同一人脸,排除(或者可能运动太大,无法确认是同一人脸)。
iii.所有可能做融合的人脸对,即融合区域对,按重叠比值从大到小排序,并按顺序对融合区域对进行筛选(一个人脸框只能生成一个融合区域对)。
例如,前向预测有5个人脸框,后向预测有3个人脸框,总共3*5=15个融合区域对,按重叠比值从大到小排序。若保留一个融合区域对,实际就剩(3-1)*(5-1)=8个融合区域对需要筛选。
iv.在保留的融合区域对中,以前向后向检测帧距离作为权重,融合前向后向人脸框,将融合后的人脸框的位置作为目标检测结果输出。
d.补充单向结果:根据最大区域数量、所述中间帧与所述相邻的检测帧之间的距离,在剩余的感兴趣区域中,筛选所述中间帧中的感兴趣区域。剩余未被包含也未配对的单向人脸,可能为中途出现或消失人脸,未同时被前后两个检测帧检测到。作为单独的ROI框,补充输出到最终预测结果中。若当前帧离上一检测帧近,优先取前向预测结果,否则优先取后向预测结果。直到所有人脸结果取完或达到预设最大人脸数。
(4)人脸跟踪算法准确度和复杂度分析:
a.准确度:虽然编码预分析阶段MV计算不会很精确,但是本公开采用相邻帧之间运动估计就是尽量降低误差。而如果中间帧直接相对前后两个检测帧直接做运动估计,MV误差则非常大。当前方案人脸跟踪预测准确度较高,虽然随着逐帧预测过程,误差也可能会逐步累计,但是双向预测加权融合方式也可以补回来。
b.复杂度分析:运动跟踪耗时大部分来源于运动估计计算,每一帧都要相对上一帧做运动估计。但是编码预分析阶段本身就需要做很多帧之间的运动估计。占比一半的小b帧和一些场景切换判定帧,本身就需要相对上一帧做运动估计,所以额外的运动估计计算只有不到一半的数量,对速度影响很小。
3.基于跟踪预测的人脸ROI区域做码率优化策略。
利用人脸检测和跟踪确定了人脸框位置后,针对人脸ROI区域的码率优化策略较为容易实现。主要思路就是调低人脸框区域的QP(Quantizer Parameter,量化参数),提高人脸区域码率,提升人脸清晰度。
策略能配置的是否做QP调整以及QP调整幅度,目前考虑主观影响和码率花费性价比,根据人脸框在一帧中占比,配置QP调整策略。面积占比过大,提升主观质量花费码率过多,相应视频提高的性价比较低。
如果一帧存在人脸框,计算人脸框总面积占比,做如下调整:
(1)如果人脸框总面积大于一个视频帧的图像面积的40%,不调整QP。
(2)否则,QP=(max(面积占比,10%)-50%)*10*强度,强度默认1.0。
只针对人脸面积占比低于40%的帧做QP调整。面积越小,QP调整越低,码率花费越高。
根据本公开的技术方案,可以应用于不限于H.264和H.265等编码标准的编码器中,可以用来快速准确识别人脸,提升编码人脸区域码率,提高人脸清晰度,增强人眼感知到的主观质量。
根据本公开的实施例,图6是本公开实施例中的视频处理装置的结构图,本公开实施例适用于预先对视频中检测帧进行目标检测,得到感兴趣区域,根据检测结果对视频的检测帧之外的中间帧进行目标检测的情况。该装置采用软件和/或硬件实现,并具体配置于具备一定数据运算能力的电子设备中。
如图6所示的一种视频处理装置600,包括:视频帧分类模块601、分块运动估计模块602、区域运动检测模块603和感兴趣区域检测模块604。
其中,
视频帧分类模块601,用于在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧;所述目标视频包括检测帧和中间帧,所述检测帧存在感兴趣区域的检测结果;
分块运动估计模块602,用于以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息;
区域运动检测模块603,用于根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息;
感兴趣区域检测模块604,用于根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置。
根据本公开的技术方案,通过在预先检测感兴趣区域的检测帧和中间帧中,确定参考帧和分析帧,以参考帧为参考,对分析帧进行分块运动估计,根据图像块的运动信息,确定检测帧中对应的感兴趣区域,以及确定感兴趣区域在检测帧与中间帧之间的运动,从而检测中间帧中感兴趣区域的位置,提高感兴趣区域的检测速度和精度。
进一步的,视频处理装置装置,还包括:前看帧数获取单元模块,用于在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧之前在所述目标视频的编码过程中,获取编码预分析的前看帧数;视频帧获取模块,用于获取所述目标视频的中间帧和检测帧;检测帧判断模块,用于根据所述前看帧数和所述检测帧,检测所述中间帧的前看范围内是否包括检测帧;第一相邻帧确定模块,用于在所述中间帧的前看范围内包括检测帧的情况下,将所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧,确定为确定中间帧相邻的检测帧;第二相邻帧确定模块,用于在所述中间帧的前看范围内不存在检测帧的情况下,将所述中间帧相邻的时序在先的检测帧,确定为确定中间帧相邻的检测帧。
进一步的,所述中间帧相邻的检测帧包括:所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧;所述感兴趣区域检测模块604,包括:第一定位信息检测单元,用于根据所述时序在先的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述时序在先的相邻检测帧之间的距离,检测所述中间帧中的第一感兴趣区域的第一定位信息;第二定位信息检测单元,用于根据所述时序在后的相邻检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述时序在后的相邻检测帧之间的距离,检测所述中间帧中的第二感兴趣区域的第二定位信息;定位信息融合单元,用于根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域的位置。
进一步的,所述定位信息融合单元,包括:重合区域对检测子单元,用于根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行匹配,确定重合区域对,所述重合区域对中大尺寸区域和小尺寸区域重合;感兴趣区域去重子单元,用于将所述重合区域对中大尺寸的感兴趣区域,作为所述中间帧中的感兴趣区域。
进一步的,所述定位信息融合单元,还包括:融合区域对检测子单元,用于在剩余的感兴趣区域中,对第一感兴趣区域和第二感兴趣区域进行匹配,确定融合区域对,所述融合区域对中大尺寸区域和小尺寸区域部分重叠;区域对融合子单元,用于对所述融合区域对中的第一感兴趣区域和第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域。
进一步的,所述定位信息融合单元,还包括:剩余区域筛选子单元,用于根据最大区域数量、所述中间帧与所述相邻的检测帧之间的距离,在剩余的感兴趣区域中,筛选所述中间帧中的感兴趣区域。
进一步的,所述区域运动检测模块603,包括:第一有效数量检测单元,用于根据所述分析帧中图像块的运动信息,统计指向所述相邻的检测帧中感兴趣区域的图像块的第一有效数量;有效区域筛选单元,用于根据所述第一有效数量,在所述相邻的检测帧中感兴趣区域中筛选有效区域;有效区域运动检测单元,用于根据指向所述有效区域的图像块的运动信息,检测所述有效区域的运动信息。
进一步的,所述区域运动检测模块603,包括:初始检测单元,用于根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置,得到所述中间帧中的感兴趣区域的初始检测结果;第二有效数量检测单元,用于在所述初始检测结果中,获取所述分析帧中感兴趣区域包括的图像块,落在所述参考帧中相应感兴趣区域内的第二有效数量;检测结果优化单元,用于根据所述第二有效数量,对所述初始检测结果中感兴趣区域进行筛选,得到所述中间帧中的感兴趣区域的目标检测结果,所述目标检测结果包括感兴趣区域的位置。
进一步的,所述分块运动估计模块602,包括:帧间预测单元,用于获取编码器对所述目标视频的视频帧的运动估计结果,所述运动估计结果包括单一时序方向的运动估计结果;运动信息获取单元,用于在预先获取的运动估计结果中,获取所述分析帧中图像块的运动信息。
进一步的,所述视频帧分类模块601,包括:参考帧检测单元,用于在目标视频的中间帧以及与所述中间帧相邻的检测帧中,将时序在先的视频帧,确定为参考帧,并将时序在后的视频帧,确定为分析帧。
进一步的,中间帧相邻的检测帧包括:所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧;所述运动信息获取单元,包括:前向预测子单元,用于针对所述时序在先的检测帧,在预先获取的运动估计结果中,获取所述中间帧的全部图像块的运动信息,并确定所述分析帧中图像块的运动信息;后向预测子单元,用于针对所述时序在后的检测帧,在预先获取的运动估计结果中,获取所述时序在后的检测帧中感兴趣区域包括的图像块的运动信息,并确定所述分析帧中图像块的运动信息。
进一步的,所述视频处理装置,还包括:优化视频帧筛选模块,用于根据所述检测帧中感兴趣区域和所述中间帧中感兴趣区域,在所述检测帧和所述中间帧中筛选出感兴趣区域占比满足条件的目标帧;量化参数调整模块,用于根据所述目标帧中感兴趣区域占比,调整所述目标帧的量化参数;码率控制模块,用于根据调整后的量化参数,对所述目标帧进行编码。
上述视频处理装置可执行本公开任意实施例所提供的视频处理方法,具备执行视频处理方法相应的功能模块和有益效果。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性区域图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如视频处理方法或视频处理方法。例如,在一些实施例中,视频处理方法或视频处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的视频处理方法或视频处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行视频处理方法或视频处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准对象(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或区域图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)区块链网络和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术及机器学习/深度学习技术、大数据处理技术、知识图谱技术等几大方向。
云计算(cloud computing),指的是通过网络接入弹性可扩展的共享物理或虚拟资源池,资源可以包括服务器、操作系统、网络、软件、应用和存储设备等,并可以按需、自服务的方式对资源进行部署和管理的技术体系。通过云计算技术,可以为人工智能、区块链等技术应用、模型训练提供高效强大的数据处理能力。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提供的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (25)
1.一种视频处理方法,包括:
在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧;所述目标视频包括检测帧和中间帧,所述检测帧存在感兴趣区域的检测结果;
以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息;
根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息;
根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置;
其中,若所述中间帧相邻的检测帧包括:所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧;则所述根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置,包括:
根据所述时序在先的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述时序在先的相邻检测帧之间的距离,检测所述中间帧中的第一感兴趣区域的第一定位信息;
根据所述时序在后的相邻检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述时序在后的相邻检测帧之间的距离,检测所述中间帧中的第二感兴趣区域的第二定位信息;
根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域的位置。
2.根据权利要求1所述的方法,在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧之前,还包括:
在所述目标视频的编码过程中,获取编码预分析的前看帧数;
获取所述目标视频的中间帧和检测帧;
根据所述前看帧数和所述检测帧,检测所述中间帧的前看范围内是否包括检测帧;
在所述中间帧的前看范围内包括检测帧的情况下,将所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧,确定为确定中间帧相邻的检测帧;
在所述中间帧的前看范围内不存在检测帧的情况下,将所述中间帧相邻的时序在先的检测帧,确定为确定中间帧相邻的检测帧。
3.根据权利要求2所述的方法,其中,所述根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域以及位置,包括:
根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行匹配,确定重合区域对,所述重合区域对中大尺寸区域和小尺寸区域重合;
将所述重合区域对中大尺寸的感兴趣区域,作为所述中间帧中的感兴趣区域。
4.根据权利要求3所述的方法,还包括:
在剩余的感兴趣区域中,对第一感兴趣区域和第二感兴趣区域进行匹配,确定融合区域对,所述融合区域对中大尺寸区域和小尺寸区域部分重叠;
对所述融合区域对中的第一感兴趣区域和第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域。
5.根据权利要求4所述的方法,还包括:
根据最大区域数量、所述中间帧与所述相邻的检测帧之间的距离,在剩余的感兴趣区域中,筛选所述中间帧中的感兴趣区域。
6.根据权利要求1所述的方法,其中,所述根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息,包括:
根据所述分析帧中图像块的运动信息,统计指向所述相邻的检测帧中感兴趣区域的图像块的第一有效数量;
根据所述第一有效数量,在所述相邻的检测帧中感兴趣区域中筛选有效区域;
根据指向所述有效区域的图像块的运动信息,检测所述有效区域的运动信息。
7.根据权利要求1所述的方法,其中,所述根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置,还包括:
根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置,得到所述中间帧中的感兴趣区域的初始检测结果;
在所述初始检测结果中,获取所述分析帧中感兴趣区域包括的图像块,落在所述参考帧中相应感兴趣区域内的第二有效数量;
根据所述第二有效数量,对所述初始检测结果中感兴趣区域进行筛选,得到所述中间帧中的感兴趣区域的目标检测结果,所述目标检测结果包括感兴趣区域的位置。
8.根据权利要求1所述的方法,其中,所述以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息,包括:
获取编码器对所述目标视频的视频帧的运动估计结果,所述运动估计结果包括单一时序方向的运动估计结果;
在预先获取的运动估计结果中,获取所述分析帧中图像块的运动信息。
9.根据权利要求8所述的方法,其中,所述在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧,包括:
在目标视频的中间帧以及与所述中间帧相邻的检测帧中,将时序在先的视频帧,确定为参考帧,并将时序在后的视频帧,确定为分析帧。
10.根据权利要求9所述的方法,其中,中间帧相邻的检测帧包括:所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧;
所述在预先获取的运动估计结果中,获取所述分析帧中图像块的运动信息,包括:
针对所述时序在先的检测帧,在预先获取的运动估计结果中,获取所述中间帧的全部图像块的运动信息,并确定所述分析帧中图像块的运动信息;
针对所述时序在后的检测帧,在预先获取的运动估计结果中,获取所述时序在后的检测帧中感兴趣区域包括的图像块的运动信息,并确定所述分析帧中图像块的运动信息。
11.根据权利要求1所述的方法,在检测所述中间帧中的感兴趣区域的位置之后,还包括:
根据所述检测帧中感兴趣区域和所述中间帧中感兴趣区域,在所述检测帧和所述中间帧中筛选出感兴趣区域占比满足条件的目标帧;
根据所述目标帧中感兴趣区域占比,调整所述目标帧的量化参数;
根据调整后的量化参数,对所述目标帧进行编码。
12.一种视频处理装置,包括:
视频帧分类模块,用于在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧;所述目标视频包括检测帧和中间帧,所述检测帧存在感兴趣区域的检测结果;
分块运动估计模块,用于以所述参考帧为参考,对所述分析帧进行分块运动估计,得到所述分析帧中图像块的运动信息;
区域运动检测模块,用于根据所述分析帧中图像块的运动信息,检测所述图像块所指向的所述相邻的检测帧中感兴趣区域的运动信息;
感兴趣区域检测模块,用于根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置;
其中,若所述中间帧相邻的检测帧包括:所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧;则所述感兴趣区域检测模块,包括:
第一定位信息检测单元,用于根据所述时序在先的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述时序在先的相邻检测帧之间的距离,检测所述中间帧中的第一感兴趣区域的第一定位信息;
第二定位信息检测单元,用于根据所述时序在后的相邻检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述时序在后的相邻检测帧之间的距离,检测所述中间帧中的第二感兴趣区域的第二定位信息;
定位信息融合单元,用于根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域的位置。
13.根据权利要求12所述的装置,还包括:
前看帧数获取单元模块,用于在目标视频的中间帧以及与所述中间帧相邻的检测帧中,确定参考帧和分析帧之前在所述目标视频的编码过程中,获取编码预分析的前看帧数;
视频帧获取模块,用于获取所述目标视频的中间帧和检测帧;
检测帧判断模块,用于根据所述前看帧数和所述检测帧,检测所述中间帧的前看范围内是否包括检测帧;
第一相邻帧确定模块,用于在所述中间帧的前看范围内包括检测帧的情况下,将所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧,确定为确定中间帧相邻的检测帧;
第二相邻帧确定模块,用于在所述中间帧的前看范围内不存在检测帧的情况下,将所述中间帧相邻的时序在先的检测帧,确定为确定中间帧相邻的检测帧。
14.根据权利要求12所述的装置,其中,所述定位信息融合单元,包括:
重合区域对检测子单元,用于根据所述第一定位信息和所述第二定位信息,对所述第一感兴趣区域和所述第二感兴趣区域进行匹配,确定重合区域对,所述重合区域对中大尺寸区域和小尺寸区域重合;
感兴趣区域去重子单元,用于将所述重合区域对中大尺寸的感兴趣区域,作为所述中间帧中的感兴趣区域。
15.根据权利要求14所述的装置,所述定位信息融合单元,还包括:
融合区域对检测子单元,用于在剩余的感兴趣区域中,对第一感兴趣区域和第二感兴趣区域进行匹配,确定融合区域对,所述融合区域对中大尺寸区域和小尺寸区域部分重叠;
区域对融合子单元,用于对所述融合区域对中的第一感兴趣区域和第二感兴趣区域进行融合,得到所述中间帧中的感兴趣区域。
16.根据权利要求15所述的装置,所述定位信息融合单元,还包括:
剩余区域筛选子单元,用于根据最大区域数量、所述中间帧与所述相邻的检测帧之间的距离,在剩余的感兴趣区域中,筛选所述中间帧中的感兴趣区域。
17.根据权利要求12所述的装置,其中,所述区域运动检测模块,包括:
第一有效数量检测单元,用于根据所述分析帧中图像块的运动信息,统计指向所述相邻的检测帧中感兴趣区域的图像块的第一有效数量;
有效区域筛选单元,用于根据所述第一有效数量,在所述相邻的检测帧中感兴趣区域中筛选有效区域;
有效区域运动检测单元,用于根据指向所述有效区域的图像块的运动信息,检测所述有效区域的运动信息。
18.根据权利要求12所述的装置,其中,所述区域运动检测模块,还包括:
初始检测单元,用于根据所述相邻的检测帧中感兴趣区域的位置和运动信息,以及所述中间帧和所述相邻的检测帧之间的距离,检测所述中间帧中的感兴趣区域的位置,得到所述中间帧中的感兴趣区域的初始检测结果;
第二有效数量检测单元,用于在所述初始检测结果中,获取所述分析帧中感兴趣区域包括的图像块,落在所述参考帧中相应感兴趣区域内的第二有效数量;
检测结果优化单元,用于根据所述第二有效数量,对所述初始检测结果中感兴趣区域进行筛选,得到所述中间帧中的感兴趣区域的目标检测结果,所述目标检测结果包括感兴趣区域的位置。
19.根据权利要求12所述的装置,其中,所述分块运动估计模块,包括:
帧间预测单元,用于获取编码器对所述目标视频的视频帧的运动估计结果,所述运动估计结果包括单一时序方向的运动估计结果;
运动信息获取单元,用于在预先获取的运动估计结果中,获取所述分析帧中图像块的运动信息。
20.根据权利要求19所述的装置,其中,所述视频帧分类模块,包括:
参考帧检测单元,用于在目标视频的中间帧以及与所述中间帧相邻的检测帧中,将时序在先的视频帧,确定为参考帧,并将时序在后的视频帧,确定为分析帧。
21.根据权利要求20所述的装置,其中,中间帧相邻的检测帧包括:所述中间帧相邻的时序在先的检测帧和相邻的时序在后的检测帧;
所述运动信息获取单元,包括:
前向预测子单元,用于针对所述时序在先的检测帧,在预先获取的运动估计结果中,获取所述中间帧的全部图像块的运动信息,并确定所述分析帧中图像块的运动信息;
后向预测子单元,用于针对所述时序在后的检测帧,在预先获取的运动估计结果中,获取所述时序在后的检测帧中感兴趣区域包括的图像块的运动信息,并确定所述分析帧中图像块的运动信息。
22.根据权利要求12所述的装置,还包括:
优化视频帧筛选模块,用于根据所述检测帧中感兴趣区域和所述中间帧中感兴趣区域,在所述检测帧和所述中间帧中筛选出感兴趣区域占比满足条件的目标帧;
量化参数调整模块,用于根据所述目标帧中感兴趣区域占比,调整所述目标帧的量化参数;
码率控制模块,用于根据调整后的量化参数,对所述目标帧进行编码。
23. 一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-11中任一项所述的视频处理方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-11中任一项所述的视频处理方法。
25.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-11中任一项所述的视频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310560872.2A CN116614631B (zh) | 2023-05-17 | 2023-05-17 | 视频处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310560872.2A CN116614631B (zh) | 2023-05-17 | 2023-05-17 | 视频处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116614631A CN116614631A (zh) | 2023-08-18 |
CN116614631B true CN116614631B (zh) | 2024-03-19 |
Family
ID=87682958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310560872.2A Active CN116614631B (zh) | 2023-05-17 | 2023-05-17 | 视频处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116614631B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102656886A (zh) * | 2009-12-14 | 2012-09-05 | 汤姆逊许可证公司 | 知晓对象的视频编码策略 |
CN108073864A (zh) * | 2016-11-15 | 2018-05-25 | 北京市商汤科技开发有限公司 | 目标对象检测方法、装置及系统和神经网络结构 |
CN114943936A (zh) * | 2022-06-17 | 2022-08-26 | 北京百度网讯科技有限公司 | 目标行为识别方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10708600B2 (en) * | 2018-01-19 | 2020-07-07 | Arm Limited | Region of interest determination in video |
-
2023
- 2023-05-17 CN CN202310560872.2A patent/CN116614631B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102656886A (zh) * | 2009-12-14 | 2012-09-05 | 汤姆逊许可证公司 | 知晓对象的视频编码策略 |
CN108073864A (zh) * | 2016-11-15 | 2018-05-25 | 北京市商汤科技开发有限公司 | 目标对象检测方法、装置及系统和神经网络结构 |
CN114943936A (zh) * | 2022-06-17 | 2022-08-26 | 北京百度网讯科技有限公司 | 目标行为识别方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116614631A (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106709932B (zh) | 一种人脸位置跟踪方法、装置和电子设备 | |
WO2014171258A1 (ja) | 情報処理システム、情報処理方法及びプログラム | |
JP5478047B2 (ja) | 映像データ圧縮前処理方法およびこれを用いた映像データ圧縮方法と映像データ圧縮システム | |
US9396757B2 (en) | Video remixing system | |
KR20120114263A (ko) | 객체-인식 비디오 인코딩 전략 | |
CN111462185A (zh) | 跟踪器辅助的图像捕获 | |
CN113691733B (zh) | 视频抖动检测方法、装置、电子设备和存储介质 | |
JP2012239085A (ja) | 画像処理装置、画像処理方法 | |
CN112614159B (zh) | 一种面向仓库场景的跨摄像头多目标跟踪方法 | |
Hung et al. | A fast algorithm of temporal median filter for background subtraction. | |
US20220067417A1 (en) | Bandwidth limited context based adaptive acquisition of video frames and events for user defined tasks | |
Gorur et al. | Skip decision and reference frame selection for low-complexity H. 264/AVC surveillance video coding | |
US20170201754A1 (en) | Low power-consuming encoding method, and apparatus | |
US8509303B2 (en) | Video descriptor generation device | |
JP2010232734A (ja) | 画像符号化装置及び画像符号化方法 | |
JP5950605B2 (ja) | 画像処理システム、及び、画像処理方法 | |
CN106664404A (zh) | 视频编码中的块分割方式处理方法和相关装置 | |
CN103051891A (zh) | 确定数据流内分块预测编码的视频帧的块的显著值的方法和装置 | |
CN110536138B (zh) | 一种有损压缩编码方法、装置和系统级芯片 | |
JP2003061038A (ja) | 映像コンテンツ編集支援装置および映像コンテンツ編集支援方法 | |
CN113792697A (zh) | 目标检测方法、装置、电子设备及可读存储介质 | |
CN116614631B (zh) | 视频处理方法、装置、设备及介质 | |
JP5801614B2 (ja) | 画像処理装置、画像処理方法 | |
Moriyama et al. | Moving object detection in HEVC video by frame sub-sampling | |
CN114727093B (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 |