CN114565872A - 视频数据处理方法、装置、设备及计算机可读存储介质 - Google Patents
视频数据处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114565872A CN114565872A CN202210177567.0A CN202210177567A CN114565872A CN 114565872 A CN114565872 A CN 114565872A CN 202210177567 A CN202210177567 A CN 202210177567A CN 114565872 A CN114565872 A CN 114565872A
- Authority
- CN
- China
- Prior art keywords
- image frame
- processed
- determining
- frame
- points
- 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
- 238000003672 processing method Methods 0.000 title abstract description 29
- 238000013507 mapping Methods 0.000 claims abstract description 104
- 239000011159 matrix material Substances 0.000 claims abstract description 101
- 238000000034 method Methods 0.000 claims abstract description 78
- 238000012545 processing Methods 0.000 claims description 28
- 230000015654 memory Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 description 24
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 11
- 238000001514 detection method Methods 0.000 description 10
- 238000002513 implantation Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 239000003826 tablet Substances 0.000 description 2
- 238000011426 transformation method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000007943 implant Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种视频数据处理方法、装置、设备及计算机可读存储介质;方法包括:获取待处理视频数据中的待处理图像帧,并确定待处理图像帧对应的参考图像帧;确定参考图像帧中与识别像素点位于同一平面的第一目标像素点,并获取待处理图像帧中与第一目标像素点对应的第一匹配像素点;基于第一目标像素点和第一匹配像素点,确定参考图像帧和待处理图像帧之间的第一映射矩阵;基于第一映射矩阵和第一目标像素点,从第一匹配像素点中确定待处理图像帧中位于同一平面的第二目标像素点;将待处理图像帧的下一个图像帧更新为待处理图像帧,继续确定更新后的待处理图像帧中位于同一平面的第二目标像素点。通过本申请,能够提高连续识别的准确性。
Description
技术领域
本申请涉及识别技术,尤其涉及一种视频数据处理方法、装置、设备及计算机可读存储介质。
背景技术
目标识别是指用计算机实现人的视觉功能,它的研究目标就是使计算机具有从一幅或多幅图像或者是视频中认知周围环境的能力(包括对客观世界三维环境的感知、识别与理解),在视频中进行目标识别是连续性识别。目前的连续性识别技术分为两类,一类是指定类别的连续性识别,一类是非指定类别的连续性识别。非指定类别的连续性识别,第一帧给出一个识别区域,一般是矩形框,通常是人工标注的或是检测算法的结果,然后在后续帧连续识别这个识别区域。当识别区域被完全遮挡或者消失;再或者当识别区域与周围区域相比无明显特征时,非指定类别的连续性识别方法无法进行有效识别。
发明内容
本申请实施例提供一种视频数据处理方法、装置及计算机可读存储介质,能够提高连续性识别的准确性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种视频数据处理方法,包括:
获取待处理视频数据中当前的待处理图像帧,并确定所述待处理图像帧对应的参考图像帧;
确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点,并获取所述待处理图像帧中与所述多个第一目标像素点对应的多个第一匹配像素点;
基于所述多个第一目标像素点和所述多个第一匹配像素点,确定所述参考图像帧和所述待处理图像帧之间的第一映射矩阵;
基于所述第一映射矩阵和所述多个第一目标像素点,从所述多个第一匹配像素点中确定所述待处理图像帧中位于同一平面的多个第二目标像素点;
将所述待处理图像帧的下一个图像帧更新为待处理图像帧,继续确定更新后的所述待处理图像帧中位于同一平面的多个第二目标像素点。
本申请实施例提供一种视频数据处理装置,包括:
第一获取模块,用于获取待处理视频数据中当前的待处理图像帧,并确定所述待处理图像帧对应的参考图像帧;
第一确定模块,用于确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点,并获取所述待处理图像帧中与所述多个第一目标像素点对应的多个第一匹配像素点;
第二确定模块,用于基于所述多个第一目标像素点和所述多个第一匹配像素点,确定所述参考图像帧和所述待处理图像帧之间的第一映射矩阵;
第三确定模块,用于基于所述第一映射矩阵和所述多个第一目标像素点,从所述多个第一匹配像素点中确定所述待处理图像帧中位于同一平面的多个第二目标像素点;
第一更新模块,用于将所述待处理图像帧的下一个图像帧更新为待处理图像帧,继续确定更新后的所述待处理图像帧中位于同一平面的多个第二目标像素点。
在一些实施例中,上述第一获取模块,还用于:
如果所述待处理图像帧的前一个图像帧中包括与所述识别像素点位于同一平面至少一个第一目标像素点,将所述待处理图像帧的前一帧图像确定为所述参考图像帧;或者,
获取至少一个关键帧图像;
确定所述待处理图像帧与前一帧图像之间的第三映射矩阵,并基于所述第三映射矩阵确定所述待处理图像帧中的第三内点数量;
确定所述待处理图像帧与各个关键帧图像之间的第四映射矩阵,并基于各个第四映射矩阵确定所述待处理图像帧中的各个第四内点数量;
基于所述第三内点数量和所述各个第四内点数量,从所述前一帧图像和所述至少一个关键帧图像中确定出参考图像帧。
在一些实施例中,上述第一获取模块,还用于:
如果所述待处理图像帧的前一个图像帧中不包括与所述识别像素点位于同一平面至少一个第一目标像素点,获取至少一个关键帧图像;
确定所述待处理图像帧与各个关键帧图像之间的第四映射矩阵,并基于各个第四映射矩阵确定所述待处理图像帧中的各个第四内点数量;
基于所述各个第四内点数量,从所述至少一个关键帧图像中确定出参考图像帧。
在一些实施例中,该装置还包括:
第四确定模块,用于当所述参考图像帧为关键帧图像时,基于所述多个第二目标像素点确定中心点,将所述中心点确定为识别像素点;
第二获取模块,用于获取所述待处理图像帧的多个第一特征点和所述参考图像帧的多个第二特征点;
第五确定模块,用于基于所述识别像素点从所述多个第一特征点中确定N个第一候选特征点,确定所述N个第一候选特征点对应的N个第二候选特征点,N为正整数;
第六确定模块,用于基于所述N个第一候选特征点和所述N个第二候选特征点,确定第一候选映射矩阵;
第七确定模块,用于基于所述第一候选映射矩阵确定所述待处理图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
在一些实施例中,当所述参考图像帧为待处理视频数据中的初始识别帧时,该第一确定模块,还用于:
获取所述初始识别帧的下一个图像帧,获取所述初始识别帧的多个第三特征点和所述下一个图像帧的多个第四特征点;
获取所述初始识别帧中预设的识别像素点,基于所述识别像素点从所述多个第三特征点中确定N个第三候选特征点,确定所述N个第三候选特征点对应的N个第四候选特征点,N为正整数;
基于所述N个第三候选特征点和所述N个第四候选特征点,确定第二候选映射矩阵;
基于所述第二候选映射矩阵确定所述初始识别帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
在一些实施例中,该第一确定模块,还用于:
基于所述第二候选映射矩阵,从所述多个第三特征点和所述多个第四特征点中确定出满足映射条件的多个第一内点和所述多个第一内点对应的多个第二内点;
基于所述识别像素点,从所述多个第一内点中确定M个第三候选特征点,并从所述多个第二内点中确定与所述M个第三候选特征点对应的M个第四候选特征点,M为大于N的正整数;
基于所述M个第三候选特征点和所述M个第四候选特征点,确定第三候选映射矩阵;
基于所述第三候选映射矩阵确定所述初始识别帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
在一些实施例中,该第一确定模块,还用于:
对所述待处理图像帧进行特征提取,得到多个第一特征点;
计算每一第一特征点与所述多个第一目标像素点之间的相似度,并确定所述每一第一特征点对应的最高相似度;
将大于相似度阈值的最高相似度对应的第一特征点确定为第一匹配像素点。
在一些实施例,该装置还包括:
第八确定模块,用于当不存在大于相似度阈值的最高相似度时,确定所述待处理图像帧中不包括第一匹配像素点,获取预设的第一间隔帧数;
第九确定模块,用于基于所述待处理图像帧和所述第一间隔帧数,确定下一个待处理图像帧;
第十确定模块,用于确定所述下一个待处理图像帧对应的参考图像帧,并确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点;
第十一确定模块,用于确定所述下一个待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,基于所述多个第一目标像素点和所述下一个待处理图像帧,确定所述下一个待处理图像帧中与所述识别像素点位于同一平面的多个第二目标像素点。
在一些实施例中,该装置还包括:
第三获取模块,用于获取所述下一个待处理图像帧的前一个图像帧,并将所述前一个图像帧确定为待处理图像帧;
第十二确定模块,用于确定所述待处理图像帧对应的参考图像帧;
第十三确定模块,用于确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点;
第十四确定模块,用于确定所述待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,基于所述多个第一目标像素点和所述待处理图像帧,确定所述待处理图像帧中与所述识别像素点位于同一平面的多个第二目标像素点;
连续性识别模块,用于将所述待处理图像帧的前一个图像帧更新为待处理图像帧,直至所述待处理图像帧中不包括与第一目标像素点对应的第一匹配像素点。
在一些实施例中,该装置还包括:
第四获取模块,用于获取所述下一个待处理图像帧的后一个图像帧,并将所述后一个图像帧确定为待处理图像帧;
第十五确定模块,用于确定所述待处理图像帧对应的参考图像帧;
第十六确定模块,用于确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点;
第十七确定模块,用于确定所述待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,基于所述多个第一目标像素点和所述待处理图像帧,确定所述待处理图像帧中与所述识别像素点位于同一平面的多个第二目标像素点;
第二更新模块,用于将所述待处理图像帧的后一个图像帧更新为待处理图像帧。
本申请实施例提供一种计算机设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的方法。
本申请实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本申请实施例提供的方法。
本申请实施例具有以下有益效果:
在进行视频数据处理时,首先获取待处理视频数据中的待处理图像帧,并确定待处理图像帧对应的参考图像帧,并确定参考图像帧中与识别像素点位于同一平面的第一目标像素点,并获取待处理图像帧中与第一目标像素点对应的第一匹配像素点;基于第一目标像素点和第一匹配像素点,确定参考图像帧和待处理图像帧之间的第一映射矩阵;基于第一映射矩阵和第一目标像素点,从第一匹配像素点中确定待处理图像帧中位于同一平面的第二目标像素点;将待处理图像帧的下一个图像帧更新为待处理图像帧,继续确定更新后的待处理图像帧中位于同一平面的第二目标像素点;由于在本申请实施例中,只需要预先设置一个识别像素点,可以通过使用计算机视觉方法自动确定,因此能够提高数据处理效率,另外在连续识别的过程中,是对每个待处理图像帧中识别像素点所在整个平面的识别,因此即便识别像素点被遮挡或者识别像素点所在平面的部分区域被遮挡,都可以实现正确识别,从而提高连续识别的准确性。
附图说明
图1是本申请实施例提供的视频数据处理系统100的架构示意图;
图2为本申请实施例提供的服务器400的结构示意图;
图3为本申请实施例提供的视频数据处理方法的一种实现流程示意图;
图4为本申请实施例提供的目标像素点更新方法的实现流程示意图;
图5为本申请实施例提供的视频数据处理方法的另一种实现流程示意图;
图6为本申请实施例提供的视频数据处理方法的再一种实现流程流程示意图;
图7A为本申请实施例提供的初始帧的n个特征点示意图;
图7B为本申请实施例提供的初始帧的n+m个特征点示意图;
图7C为本申请实施例提供的确定初始帧的平面seed集合过程中特征点示意图;
图7D为本申请实施例提供的初始帧的平面seed集合的示意图;
图8为本申请实施例提供的全局优化的示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
为了更好地理解本申请实施例提供的用于进行连续性识别的视频数据处理方法,首先对相关技术中的连续性识别方法及存在的缺点进行说明。
连续性识别技术主要分为两类,一类是指定类别的连续性识别,一类是非指定类别的连续性识别。
指定类别的连续性识别主要包含四个步骤:
第一步、用检测方法对每帧图像进行目标检测,获取检测的目标框。
第二步、提取每个目标框的特征并预测下一帧位置。
第三步、计算两帧检测目标框间的相似度。
第四步、将所有帧的检测目标框串联起来。
指定类别的连续性识别代表的方法为Simple Online And Realtime Tracking(SORT)方法。该方法使用了CNN-based的网络Faster RCNN和传统的行人检测ACF两个检测模型,获得当前帧目标框并使用卡尔曼滤波预测目标框在下一帧位置,再利用匈牙利算法与目标检测模型得到的下一帧的目标框进行匹配;匈牙利匹配中没有使用任何外观特征,仅使用了检测目标框的位置和大小计算相似度。
非指定类别的连续性识别,一般可分为两类,基于目标模型建模和基于搜索的方法。基于目标模型建模的方法是通过对目标外观模型进行建模,然后在之后的帧中找到目标。比如区域匹配、特征点连续识别、基于主动轮廓的连续识别算法、光流法等。最常用的是特征匹配法,首先提取目标特征,然后在后续的帧中找到最相似的特征进行目标定位,常用的特征有:SIFT、SURF、Harris等。基于搜索的方法是人们将预测算法加入到连续性识别中,在预测值附近进行目标搜索,减少了搜索的范围。常见一类的预测算法有卡尔曼滤波、粒子滤波方法。另一种减小搜索范围的方法是内核方法:运用最速下降法的原理,向梯度下降方向对目标模板逐步迭代,直到迭代到最优位置,比如Meanshift、Camshift算法。
传统的非指定类别的连续性识别主要是考虑基于识别区域内的特征,比如区域匹配方法。但当识别区域被完全遮挡或者消失时,这类方法无法获取识别区域内的特征,因此此类方法无法继续进行识别。此外,当识别区域无明显特征时,如识别白色墙壁上的部分区域,因为识别区域与周围区域几乎无差别,此时这类方法无法进行有效识别,造成连续性识别失败。
在本申请实施例提供的用于连续性识别的视频数据处理方法中,考虑的是整个平面的移动情况,因此当识别区域被遮挡或者消失时,只要平面其他位置可以提供识别特征,仍可以对整个平面进行连续性识别,从而提高连续性识别的成功率和准确性。
下面说明本申请实施例提供的计算机设备的示例性应用,本申请实施例提供的设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为服务器时示例性应用。
参见图1,图1是本申请实施例提供的视频数据处理系统100的架构示意图,如图1所示,该视频数据处理系统100包括:终端200、网络300和服务器400,其中,终端200通过网络300连接服务器400,网络300可以是广域网或者局域网,又或者是二者的组合。
终端200中存储有视频数据,该视频数据可以是终端通过自身的图像采集装置录制的,也可以是从视频观看平台下载的,也可以是通过即时通讯程序从其他好友接收到的。当需要对视频数据中的某一区域进行连续性识别时,终端可以通过预设算法确定出识别像素点,也可以是人为设置,之后终端200向服务器400发送处理请求,该处理请求可以是连续性识别请求,也可以是虚拟对象植入请求等等,无论是何种请求,都需要对视频数据中的图像帧进行连续性识别。服务器400在接收到处理请求后获取待处理的视频数据和识别像素点的初始位置信息,然后对视频数据进行解析得到多个视频帧图像,然后基于多个视频帧图像和识别像素点的初始位置信息进行连续性识别,其中在识别过程中,是对每个待处理图像帧中识别像素点所在整个平面进行连续性识别,并对识别出的平面进行标记,那么当平面被部分遮挡时,仍然可以实现正确识别,因此能够提高连续性识别的准确性。当终端200发送的是处理请求为连续性识别请求,那么服务器400对待处理的视频数据完成连续性识别后处理后向终端200返回处理响应;如果终端200发送的是虚拟对象植入请求、AI推荐信息自动生成请求等需要在连续性识别后进行进一步合成处理时,那么每对一个待处理图像帧进行识别后,基于识别出的目标像素点再进行虚拟对象植入处理或者AI推荐信息生成处理,直至处理完待处理图像帧,服务器400向终端返回处理响应。
在一些实施例中,服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端200可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载智能终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2,图2为本申请实施例提供的服务器400的结构示意图,图2所示的服务器400包括:至少一个处理器410、至少一个网络接口420、总线系统430和存储器440。服务器400中的各个组件通过总线系统430耦合在一起。可理解,总线系统430用于实现这些组件之间的连接通信。总线系统430除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统430。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器440可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器440可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器440包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器440旨在包括任意适合类型的存储器。
在一些实施例中,存储器440能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统441,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块442,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2示出了存储在存储器440中的视频数据处理装置443,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4431、第一确定模块4432、第二确定模块4433、第三确定模块4434和第一更新模块4435,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的视频数据处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logi c Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Devi ce)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的视频数据处理方法。
本申请实施例提供一种视频数据处理方法,应用于计算机设备,该计算机设备可以是终端,也可以是服务器,在本申请实施例中个,以计算机设备为服务器为例进行说明。图3为本申请实施例提供的视频数据处理方法的一种实现流程示意图,以下将结合图3对本申请实施例提供的视频数据处理方法的步骤进行说明。
步骤S101,获取待处理视频数据中当前的待处理图像帧,并确定待处理图像帧对应的参考图像帧。
在实现时,服务器接收终端发送的处理请求,该处理请求可以是连续识别请求,也可以是虚拟对象植入请求。处理请求中至少包括待处理视频数据和待处理视频数据中初始识别帧中的识别像素点,初始识别帧一般为待处理视频数据中的第一个视频帧。服务器之后解析该处理请求获取待处理视频以及识别像素点,对待处理视频数据进行解析,得到多个视频帧图像,首先将初始识别帧的后一帧图像确定为待处理图像,并将初始识别帧确定为该待处理图像帧的参考图像帧。然后将多个视频帧图像按照时间信息依次确定为待处理视频帧。在连续识别过程中,待处理图像帧的参考帧可以是待处理图像帧的前一个视频帧,也可以是待处理图像帧之前的某一个关键帧图像。
步骤S102,确定参考图像帧中与初始识别帧中预设的识别像素点位于同一平面的多个第一目标像素点,并获取待处理图像帧中与多个第一目标像素点对应的多个第一匹配像素点。
在本申请实施例中,当参考图像帧为初始识别帧时,那么该步骤在实现时,也即于识别像素确定出初始识别帧中与该识别像素点位于同一平面的多个第一目标像素点。第一目标像素点对应其他实施例中的平面种子(seed)点集合。如果参考图像帧不为初始识别帧时,那么在参考图像帧作为待处理图像帧时,已经在识别过程中确定出与识别像素点位于同一平面的多个第二目标像素点,此时将识别出的多个第二目标像素点确定为第一目标像素点即可。
获取所述待处理图像帧中与所述多个第一目标像素点对应的多个第一匹配像素点在实现时,可以首先获取待处理图像帧的多个第一特征点,然后再确定每一第一目标像素点和第一特征点之间的相似度,基于确定出的相似度确定出各个第一目标像素点对应的各个第一匹配像素点。
步骤S103,基于多个第一目标像素点和多个第一匹配像素点,确定参考图像帧和待处理图像帧之间的第一映射矩阵。
该步骤在实现时,是基于各个第一目标像素点的位置信息和各个第一匹配点的位置信息,确定出参考图像帧和待处理视频帧之间的第一映射矩阵。该第一映射矩阵可以为单应性矩阵,在计算机视觉中,通过单应性矩阵能够实现从一个平面到另外一个平面的投影映射。在本申请实施例中,第一映射矩阵用于将参考图像帧中与识别像素点位于同一平面的第一目标像素点映射到待处理图像帧。
步骤S104,基于第一映射矩阵和多个第一目标像素点,从多个第一匹配像素点中确定待处理图像帧中位于同一平面的多个第二目标像素点。
该步骤在实现时,获取各个第一目标像素点的位置信息,该位置信息可以为第一目标像素点的坐标,然后基于各个第一目标像素点的坐标和第一映射矩阵以及各个第一目标像素点对应的第一匹配像素点的坐标,从多个第一匹配像素点中满足映射条件的像素点,并将满足映射条件的第一匹配像素点确定为第二目标像素点。第二目标像素点对应其他实施例中的内点。在一些实施例中,映射条件可以用下述的公式(1-1)来表示。
在一些实施例中,在确定出待处理图像帧中位于同一平面的多个第二目标像素点,还可以将第二目标像素点进行标记,在对第二目标像素点进行标记时,可以是在第二目标像素点上覆盖预设颜色,也可以是按照第二目标像素点的位置信息和预设的转换函数,确定覆盖颜色。
步骤S105,将待处理图像帧的下一个图像帧更新为待处理图像帧,继续确定更新后的待处理图像帧中位于同一平面的多个第二目标像素点。
在确定出待处理图像帧中的多个第二目标像素点之后,也即对待处理图像帧完成了识别。为了实现连续性识别,将待处理图像帧的下一个图像帧更新为待处理视频帧,其中待处理图像帧的下一个图像帧可以是待处理图像帧之后的第一个图像帧,也可以是待处理图像帧之后的第P个图像帧,也即是每间隔P帧进行一次连续性识别,例如P可以为2,3等。
在一些实施例中,如果将待处理图像帧确定为待处理图像帧的下一个图像帧的参考图像帧,那么待处理图像帧的多个第二目标像素点也即参考图像帧中的第一目标像素点。
在本申请实施例提供的视频数据处理方法中,在进行视频数据处理时,首先获取待处理视频数据中的待处理图像帧,并确定待处理图像帧对应的参考图像帧,并确定参考图像帧中与识别像素点位于同一平面的第一目标像素点,并获取待处理图像帧中与第一目标像素点对应的第一匹配像素点;基于第一目标像素点和第一匹配像素点,确定参考图像帧和待处理图像帧之间的第一映射矩阵;基于第一映射矩阵和第一目标像素点,从第一匹配像素点中确定待处理图像帧中位于同一平面的第二目标像素点;将待处理图像帧的下一个图像帧更新为待处理图像帧,继续确定更新后的待处理图像帧中位于同一平面的第二目标像素点;由于在本申请实施例中,只需要预先设置一个识别像素点,不需要人工参与,而是使用计算机视觉方法自动确定,因此能够提高数据处理效率,另外在连续识别的过程中,是对每个待处理图像帧中识别像素点所在整个平面的识别,因此即便识别像素点被遮挡或者识别像素点所在平面的部分区域被遮挡,都可以实现正确识别,从而提高连续识别的准确性。
在一些实施例中,上述步骤S101中的“确定所述待处理图像帧对应的参考图像帧”,基于待处理图像帧的前一个图像帧中是否包括与所述识别像素点位于同一平面至少一个第一目标像素点有不同的实现方式,其中:
当所述待处理图像帧的前一个图像帧中包括与所述识别像素点位于同一平面至少一个第一目标像素点时,说明待处理图像帧的前一个图像帧中包括识别像素点所在平面的像素点,也即在待处理图像帧的前一个图像帧中平面没有被完全遮挡或消失,此时可以通过以下两种方式中的其中一种实现:
第一种实现方式、将所述待处理图像帧的前一帧图像确定为所述参考图像帧。
第二种实现方式可以通过以下步骤实现:
步骤S1011A,获取至少一个关键帧图像。
在一些实施例中,在对待处理图像帧完成识别后,可以确定待处理图像帧是否满足关键帧条件,如果待处理图像帧满足关键帧条件,则将待处理图像帧加入关键帧队列,其中关键帧条件可以是待处理图像帧和关键帧队列中的最后一个关键帧图像之间达到预设的间隔帧数,也可以是待处理图像帧中第二目标像素点的个数达到预设的个数阈值。
该步骤在实现时,可以是获取关键帧队列中的全部关键帧图像,也可以是待处理图像帧之前的N个关键帧图像。
步骤S1012A,确定所述待处理图像帧与前一帧图像之间的第三映射矩阵,并基于所述第三映射矩阵确定所述待处理图像帧中的第三内点数量。
该步骤在实现时,首先获取前一帧图像中与识别像素点位于同一平面的多个第一目标像素点,然后对待处理图像帧进行特征提取,得到多个第一特征点,确定每个第一目标像素点与各个第一特征点之间的相似度信息,然后确定每个第一目标像素点的最高相似度,如果第一目标像素点的最高相似度高于预设的相似度阈值,则将最高相似度对应的第一特征点确定为该第一目标像素点对应的第三匹配像素点,然后再利用第一目标像素点和第三匹配像素点的位置信息确定第三映射矩阵。
确定第三内点数量在实现时,利用第三映射矩阵确定第一目标像素点对应的参考目标像素点的位置信息,然后与参考像素点同位置的第三匹配像素点确定为第三内点,进而再获取第三内点数量。
步骤S1013A,确定所述待处理图像帧与各个关键帧图像之间的第四映射矩阵,并基于各个第四映射矩阵确定所述待处理图像帧中的各个第四内点数量。
步骤S1013A的实现过程与步骤S1012A的实现过程是类似的,在实际实现时可以参考步骤S1012A的实现过程确定各个关键帧图像对应的各个第四内点数量。
步骤S1014A,基于所述第三内点数量和所述各个第四内点数量,从所述前一帧图像和所述至少一个关键帧图像中确定出参考图像帧。
该步骤在实现,可以是将第三内点数量和各个第四内点数量中最大值对应的图像确定为参考图像帧。
通过上述两种方式均可以确定出待处理图像帧的参考图像帧,其中采用第一种方式,是直接将前一帧图像确定为参考图像帧,如此能够提高计算效率;而采用第二种方式,是将前一帧图像和各个关键帧图像对应的内点数量进行对比,而确定出参考图像帧,能够消除累计误差,提高识别准确率,但是相比于第一种方式计算效率稍显逊色。在实际实现过程中,可以选择上述两种实现方式中的任意一种,可以首先确定待处理图像帧的前一个图像帧中第一目标像素点的个数,如果第一目标像素点的个数大于预设的个数阈值,则采用第一种实现方式,如果第一目标像素点的个数小于或者等于预设的个数阈值,则采用第二种实现方式。
在一些实施例中,当待处理图像帧的前一个图像帧中不包括与所述识别像素点位于同一平面至少一个第一目标像素点时,上述步骤S101中的“确定所述待处理图像帧对应的参考图像帧”可以通过以下步骤实现:
步骤S1011B,获取至少一个关键帧图像。
该步骤的实现过程与步骤S1011A的实现过程是相同的,在实际实现时可以参考步骤S1011A。
步骤S1012B,确定所述待处理图像帧与各个关键帧图像之间的第四映射矩阵,并基于各个第四映射矩阵确定所述待处理图像帧中的各个第四内点数量。
步骤S1013B,基于所述各个第四内点数量,从所述至少一个关键帧图像中确定出参考图像帧。
当待处理图像帧的前一个图像帧中不包括与所述识别像素点位于同一平面至少一个第一目标像素点时,说明前一个图像帧中识别像素点所在平面被完全遮挡或者完全消失,此时不能将前一个图像帧作为参考图像帧,因此需要通过上述步骤S1011B至步骤S1013B从关键帧图像中确定出待处理图像帧的参考图像帧,如此即便在连续识别的过程中,出现整个平面完全被遮挡或消失的情况,在平面再次出现后依然能够确定出参考图像帧,从而保证连续性识别能够成功且准确的执行。
在一些实施例中,当所述参考图像帧为待处理视频数据中的初始识别帧时,上述步骤S102中的“确定所述参考图像帧中与初始识别帧中预设的识别像素点位于同一平面的第一目标像素点”也即确定初始识别帧中与预设的识别像素点位于同一平面的第一目标像素点,此时步骤S102可以通过以下步骤实现:
步骤S1021,获取所述初始识别帧的下一个图像帧,获取所述初始识别帧的多个第三特征点和所述下一个图像帧的多个第四特征点。
该步骤在实现时,与步骤S202类似,通过预设的特征提取算法对初始识别帧和下一个图像帧进行特征提取,对应的到初始识别帧的多个第三特征点和下一个图像帧的多个第四特征点。
步骤S1022,获取所述初始识别帧中预设的识别像素点,基于所述识别像素点从所述多个第三特征点中确定N个第三候选特征点,确定所述N个第三候选特征点对应的N个第四候选特征点。
其中,N为正整数。
步骤S1023,基于所述N个第三候选特征点和所述N个第四候选特征点,确定第二候选映射矩阵。
步骤S1022和步骤S1023的实现过程与步骤S203和步骤S204的实现过程是类似的,在实际应用过程中,可以参考步骤S203和步骤S204的实现过程。
步骤S1024,基于所述第二候选映射矩阵确定所述初始识别帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
在一些实施例中,该步骤可以通过以下步骤实现:
步骤S241,基于所述第二候选映射矩阵,从所述多个第三特征点和所述多个第四特征点中确定出满足映射条件的多个第一内点和所述多个第一内点对应的多个第二内点。
该步骤在实现时,首先确定第三特征点和第四特征点之间的对应关系,也即确定出初始识别帧和下一个图像帧中特征点的对应关系。在实现时,可以确定每个第三特征点和各个第四特征点之间的相似度,然后确定每个第三特征点对应的最大相似度,如果最大相似度大于预设的相似度阈值,将最大相似度对应的第四特征点,确定为该第三特征点对应的第四特征点,最终得到多个特征对,每个特征对包括一个第三特征点和一个第四特征点。
举例来说,有四个第三特征点,分别为{f31,f32,f33,f34},五个第四特征点,分别为{f41,f42,f43,f44,f45},然后计算f31与f41、f42、f43、f44、f45之间的相似度,并得到最大相似度,假设f31与f42的相似度最高,且最高相似度超过相似度阈值,那么f31与f42构成了特征对{f31,f42},那么此时,再计算f32与剩余的四个第四特征点之间的相似度,并确定与f32对应的第四特征点,以此类推,得到各个第三特征点对应的第四特征点。
在确定出各个特征对后,基于第二映射矩阵确定满足映射条件的特征对,并将满足映射条件的特征对中的第三特征点确定为第一内点,将满足映射条件的第四特征点确定为第二内点。
在本申请实施例中,映射条件可以用公式(1-1)表示:
(Hθf3i-f4j)<threshold (1-1);
其中,Hθ为第二候选映射矩阵,f3i为一个第三特征点,f4j为一个第四特征点,并且,f3i与f4j为特征对,threshold为映射阈值。
步骤S242,基于所述识别像素点,从所述多个第一内点中确定M个第三候选特征点,并从所述多个第二内点中确定与所述M个第三候选特征点对应的M个第四候选特征点。
M为大于N的正整数。该步骤在实现时,可以是将确定识别像素点与各个第一内点的距离,然后从多个第一内点中与识别像素点距离最近的M个第一内点确定为第三候选特征点,然后在基于之前确定出的特征对,从多个第二内点中确定与M个第三候选特征点对应的M个第四候选特征点。
步骤S243,基于所述M个第三候选特征点和所述M个第四候选特征点,确定第三候选映射矩阵。
步骤S244,基于所述第三候选映射矩阵确定所述初始识别帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
该步骤在实现时,可以基于所述第三候选映射矩阵,从所述多个第三特征点和所述多个第四特征点中确定出满足映射条件的多个第三内点和所述多个第一内点对应的多个第四内点,然后再基于所述识别像素点,从所述多个第三内点中确定S个第五候选特征点,并从所述多个第四内点中确定与所述S个第五候选特征点对应的S个第六候选特征点,S为大于M的整数,如此重复,直至确定出的候选特征点达到预设个数,或者达到重复次数,将初始识别帧中最终确定出的候选特征点确定为与预设的识别像素点位于同一平面的多个第一目标像素点。
通过上述步骤S1021至步骤S1024即可确定出初始识别帧中与识别像素点位于同一平面的多个第一目标像素点,在一些实施例中,如果参考图像帧不为初始识别帧时,那么参考图像帧在先是作为待处理图像帧进行识别的,此时已经确定出参考图像帧中与识别像素点位于同一平面的多个第二目标像素点,那么当待处理图像帧作为参考图像帧时,第二目标像素点也即参考图像帧的第一目标像素点,此时直接获取即可。
在一些实施例中,上述步骤S102中的“获取所述待处理图像帧中与所述多个第一目标像素点对应的多个第一匹配像素点”,可以通过以下步骤实现:
步骤S1025,对所述待处理图像帧进行特征提取,得到多个第一特征点。
该步骤在实现时,可以通过预设的特征提取算法对待处理图像帧进行特征提取,得到多个第一特征点。
步骤S1026,计算每一第一特征点与所述多个第一目标像素点之间的相似度,并确定所述每一第一特征点对应的最高相似度。
该步骤在实现时,可以确定每个第一特征点和各个第一目标像素点之间的欧氏距离,并利用欧氏距离的倒数来表征第一特征点和第一目标像素点之间的相似度,也即第一特征点和第一目标像素点之间的欧氏距离越小,两者的相似度越高。在确定出每个第一特征点和各个第一目标像素点之间的相似度后,对多个相似度进行排序,即可得到每一第一特征点对应的最高相似度。
在本申请实施例中,以欧氏距离的倒数来表征相似度仅为示例性说明,在实际实现时,可以利用其它方式确定第一特征点和第一目标像素点的相似度。
步骤S1027,将大于相似度阈值的最高相似度对应的第一特征点确定为第一匹配像素点。
在上述步骤S1025至步骤S1027中,是将与第一目标像素点之间的最高相似度大于相似度阈值的第一特征点确定为第一匹配像素点,从而能够保证确定出的第一匹配像素点的准确性。
在一些实施例中,当待处理图像帧的参考图像帧为关键帧图像时,在步骤S105之后,可以基于参考帧图像,对待处理图像帧中的目标像素点集合进行更新,在实现时,可以通过图4所示的各个步骤实现,以下结合图4对各个步骤实现。
步骤S201,基于多个第二目标像素点确定中心点,将中心点确定为识别像素点。
该步骤在实现时,可以是将多个第二目标像素点的x坐标的平均值取整,得到中心x坐标,可以将多个第二目标像素点的y坐标的平均值取整,得到中心y坐标,然后将中心x坐标和中心y坐标对应的像素点确定为中心点,并将该中心点更新为识别像素点。
步骤S202,获取待处理图像帧的多个第一特征点和参考图像帧的多个第二特征点。
该步骤在实现时,可以利用预设的特征提取算法,分别对待处理图像帧和参考图像帧进行特征提取,对应得到待处理图像帧的多个第一特征点和参考图像帧的多个第二特征点。其中特征提取算法可以是尺度不变特征变换算法、快速特征点提取和描述算法等。
步骤S203,基于识别像素点从多个第一特征点中确定N个第一候选特征点,确定N个第一候选特征点对应的N个第二候选特征点。
其中,N为正整数。该步骤在实现时,可以获取各个第一特征点与识别像素点之间的各个距离,然后基于各个距离,将多个第一特征点中与识别像素点距离最近的N个第一特征点确定为N个第一候选特征点。然后再确定每个第一候选特征点与各个第二特征点之间的相似度,将每个第一候选特征点对应的最高相似度对应的第二特征点确定为第二候选特征点。
步骤S204,基于N个第一候选特征点和N个第二候选特征点,确定第一候选映射矩阵。
该步骤在实现时,是基于N个第一候选特征点的位置信息和N个第二候选特征点的位置信息,确定第一候选映射矩阵。
步骤S205,基于第一候选映射矩阵确定待处理图像帧中与识别像素点位于同一平面的多个第一目标像素点。
该步骤在实现时,首先基于所述第一候选映射矩阵,从所述多个第一特征点和所述多个第二特征点中确定出满足映射条件的多个第五内点和所述多个第五内点对应的多个第六内点。
该步骤的实现过程与上述步骤S1024的实现过程是类似的,在实现时可参考步骤S1024的实现步骤。
当待处理图像帧的参考图像帧为关键帧图像时,说明待处理图像帧的前一个帧图像中的内点数量较少,或者说待处理图像帧的前一帧图像中不包括与识别像素点同平面的特征点,也即在待处理图像帧之前识别目标所在的整个平面已经消失或被完全覆盖住,此时可以通过关键帧图像作为参考图像帧确定出待处理图像帧中与识别像素点位于同一平面的第二目标像素点,但是可能关键帧图像与待处理图像帧是间隔了一定数量的视频帧的,因此关键帧图像中识别像素点所在平面与待处理图像帧中识别像素点所在平面之间的重合部分可能比较小,因此得到的第二目标像素点的数量不足,此时可以通过上述步骤S201至步骤S205,利用当前确定出的第二目标像素点更新识别像素点的位置,将待处理图像帧中与识别像素点位于同一平面的其他像素点加入到目标像素点集合中,从而保证后续连续性识别的准确性。
基于前述的实施例,本申请实施例再提供一种视频数据处理方法,应用于图1所示的网络结构,图5为本申请实施例提供的视频数据处理方法的另一种实现流程示意图,如图5所示,该流程包括:
步骤S301,终端获取待处理的视频数据,并获取预设的识别像素点。
待处理的视频数据可以是终端通过自身的图像采集装置录制的,可以是制作出的动画视频,还可以是从网络下载的。识别像素点可以是人为设置的,也可以是通过计算机视觉算法确定出的。识别像素点为一个像素点。
步骤S302,终端向服务器发送连续性识别请求。
该连续性识别请求中携带有待处理的视频数据和识别像素点的位置信息。
步骤S303,服务器解析该连续性识别请求,获取待处理的视频数据和识别像素点。
步骤S304,服务器解析待处理的视频数据,得到多个视频帧图像。
步骤S305,服务器基于识别像素点确定初始识别帧中与识别像素点位于同一平面的第一目标像素点。
该步骤在实现时可以参考步骤S1021至步骤S1024实现。
步骤S306,服务器获取待处理图像帧,并确定待处理图像帧对应的参考图像帧。
步骤S307,服务器确定所述参考图像帧中与初始识别帧中预设的识别像素点位于同一平面的多个第一目标像素点。
步骤S308,服务器确定待处理图像帧中是否存在与多个第一目标像素点对应的第一匹配像素点。
当待处理图像帧中存在与多个第一目标像素点对应的第一匹配像素点时,说明待处理图像帧中包括与识别像素点位于同一平面的至少一个像素点,此时进入步骤S309,当待处理图像帧中不存在与多个第一目标像素点对应的第一匹配像素点时,说明待处理图像帧中不存在与识别像素点位于同一平面的至少一个像素点,此时说明整个平面都被遮挡或者消失了,进入步骤S312。
步骤S309,服务器基于多个第一目标像素点和多个第一匹配像素点,确定参考图像帧和待处理图像帧之间的第一映射矩阵。
步骤S310,服务器基于第一映射矩阵和多个第一目标像素点,从多个第一匹配像素点中确定待处理图像帧中位于同一平面的多个第二目标像素点,并对多个第二目标像素点进行标记。
步骤S311,服务器将待处理图像帧的下一个图像帧更新为待处理图像帧,继续确定更新后的待处理图像帧中位于同一平面的多个第二目标像素点。
上述步骤S309至步骤S311的实现过程与步骤S103至步骤S105的实现过程是类似的,可以参考步骤S103至步骤S105的实现过程。
步骤S312,服务器获取预设的第一间隔帧数。
该第一间隔帧数为正整数,且第一间隔帧数大于2,例如可以是10、20、30、50等。
步骤S313,服务器基于待处理图像帧和第一间隔帧数,确定下一个待处理图像帧。
在该步骤中,可以将待处理图像帧之后的第一间隔帧数对应的图像帧确定为下一个待处理图像帧。
步骤S314,服务器确定下一个待处理图像帧对应的参考图像帧,并确定参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
由于下一个待处理图像帧之前的一个待处理图像帧中不存在与识别像素点位于同一平面的像素点,因此在该步骤中,确定下一个待处理图像帧对应的参考帧时,需要从关键帧图像中确定,在实际实现时,可以参考步骤S1011B至步骤S1014B的实现过程,确定出下一个待处理图像帧对应的参考图像帧,并确定该参考图像帧中预设的识别像素点位于同一平面的多个第一目标像素点。
步骤S315,服务器确定下一个待处理图像帧中是否包括与第一目标像素点对应的第一匹配像素点。
当下一个待处理图像帧中不包括与所述第一目标像素点对应的第一匹配像素点时,说明下一个待处理图像帧中整个平面仍然被遮挡或消失,此时进入步骤S316,当下一个待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,说明下一个待处理图像帧中包括与识别像素点位于同一平面的像素点,此时进入步骤S317。
步骤S316,服务器将下一个待处理图像帧更新为待处理图像帧,并转入步骤S313。
也即如果下一个待处理图像帧中仍然不存在与识别像素点位于同一平面的像素点,那么继续间隔第一间隔帧数进行识别,而无需对每一帧进行识别,从而能够提高识别效率。
步骤S317,服务器基于多个第一目标像素点和下一个待处理图像帧,确定下一个待处理图像帧中与识别像素点位于同一平面的多个第二目标像素点。
步骤S318,服务器获取下一个待处理图像帧的前一个图像帧,并将前一个图像帧确定为待处理图像帧。
由于下一个待处理图像帧是间隔一定数量获取的,因此在确定出下一个待处理图像帧中包括了与识别像素点位于同一平面的像素点之后,需要向前进行连续性识别,因此在步骤S318中,是将下一个待处理图像帧的前一个图像帧更新为待处理图像帧,也即从下一个待处理图像帧开始向前进行连续性识别。
步骤S319,服务器确定待处理图像帧对应的参考图像帧,确定参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
在该步骤中,可以是将待处理图像帧的后一个图像帧确定为参考图像帧,可以是从关键帧图像中确定该待处理图像帧对应的参考图像帧。
步骤S320,服务器确定待处理图像帧中包括与第一目标像素点对应的第一匹配像素点时,从第一匹配像素点中确定待处理图像帧中与识别像素点位于同一平面的多个第二目标像素点。
该步骤在实现时,是基于多个第一目标像素点和待处理图像帧,从第一匹配像素点中确定待处理图像帧中与识别像素点位于同一平面的多个第二目标像素点。
在本申请实施例中,如果服务器确定该待处理图像帧中不包括与第一目标像素点对应的第一匹配像素点,那么说明待处理图像帧中识别像素点所在平面完全被遮挡或者消失,此时也可以确定向前识别结束。
步骤S321,服务器将待处理图像帧的前一个图像帧更新为待处理图像帧,直至待处理图像帧中不包括与第一目标像素点对应的第一匹配像素点。
步骤S322,服务器获取下一个待处理图像帧的后一个图像帧,并将后一个图像帧确定为待处理图像帧。
在步骤S322之后转入步骤S306,也即从下一个待处理图像帧开始向后进行连续性识别。在实现时,首先确定所述待处理图像帧对应的参考图像帧;确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点;确定所述待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,基于所述多个第一目标像素点和所述待处理图像帧,确定所述待处理图像帧中与所述识别像素点位于同一平面的多个第二目标像素点;将所述待处理图像帧的后一个视频帧更新为待处理图像帧。
步骤S323,服务器在确定完成连续性识别后,将处理后的视频数据发送至终端。
在本申请实施例提供的视频数据处理方法中,终端在向服务器发送连续性识别请求,服务器解析该连续性识别请求,获取待处理的视频数据和识别像素点,之后首先确定初始识别帧中与识别像素点位于同一平面的多个第一目标像素点,再获取待处理图像帧,确定待处理图像帧对象的参考图像帧以及参考图像帧中与识别像素点位于同一平面的多个目标像素点,之后服务器会通过确定待处理图像帧中是否存在与多个第一目标像素点对应的第一匹配像素点来确定待处理图像帧中识别像素点所在平面是否完全被遮挡或消失;如果该平面没有完全被遮挡或消失,则基于参考图像帧和多个第一目标像素点确定待处理图像帧中与识别像素点位于同一平面的多个第二目标像素点,并继续对后续的图像帧进行识别;如果该平面完全被遮挡或消失,那么会每间隔一定的间隔帧数获取一次待处理图像帧,以确定待处理图像帧中该平面是否重现,如果没有重现,则继续间隔一定的间隔帧数获取一次待处理图像帧;如果该平面重现则从该待处理视频帧向前进行连续性识别,以确定该平面从哪一帧重现的,直至向前识别结束后,再向后继续进行连续性识别,如此不仅能够提高识别效率,还能够保证识别的准确性;另外通过本申请实施例提供的视频数据处理方法,在识别像素点所在平面完全被遮挡的情况下,同样能够实现连续性识别,而不会造成识别失败,进而能够提高连续性识别的成功率。
在一些实施例中,上述视频数据处理方法可以应用有AI虚拟对象植入的应用场景,此时,在上述步骤S302中终端发送的可以是虚拟对象植入请求,并且该虚拟对象植入请求中除了待处理的视频数据和识别像素点之外,还可以包括识别区域信息和预设的虚拟对象信息。对应地,在步骤S310和步骤S311之前还可以执行以下步骤:
步骤S401,服务器获取基于参考图像帧中第一识别区域的第一区域信息。
第一区域信息可以为第一识别区域的轮廓上的部分或全部的顶点信息。
步骤S402,服务器基于所述第一区域信息和所述虚拟对象信息在所述参考图像帧中进行虚拟对象植入。
步骤S403,服务器基于所述第一映射矩阵和所述第一区域信息确定所述待处理图像帧中的第二识别区域的第二区域信息。
该步骤在实现时,可以基于第一区域信息中所包括的顶点信息和第一映射矩阵,确定出各个顶点信息对应的各个映射顶点信息,并基于各个映射顶点信息确定为第二区域信息。
步骤S404,服务器基于所述第二区域信息和所述虚拟对象信息在所述参考图像帧中进行虚拟对象植入。
例如可以是将虚拟对象信息对应的虚拟对象渲染显示中第二区域信息对应的第二识别区域。
通过上述的步骤S401至步骤S404以及图5所示的视频数据处理方法,能够实现在进行连续性识别的同时,实现虚拟对象信息的植入,从而提高植入效率和植入准确率。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
本申请实施例提供的视频数据处理方法,用于连续性识别,该方法适用于AR物体的植入,AI广告的自动生成等,适用于社交娱乐、视频编辑等多种场景,本申请实施例提供的视频数据处理方法主要是针对平面区域的连续性识别,有了整个平面的识别结果后,可以得到平面上任意的小区域位置,之后可以在指定的区域上进行3D物体的放置或者平面内容的替换。
图6为本申请实施例提供的视频数据处理方法的再一种实现流程流程示意图,如图6所示,该流程包括特征提取、检测关键帧、适应性区域单应匹配、全局优化等步骤,以下结合图6对本申请实施例提供的视频数据处理方法的实现过程进行说明。
步骤S601,根据初始帧指定的识别位置,获取所有和指定位置在同一平面上的特征点,得到平面seed集合。
在本申请实施例中,初始帧指定的识别位置为一个像素点所在位置,该步骤在实现时,可以平面seed集合中的特征点在同一平面但其位置可能出现在图像中的任意位置。
步骤S602,计算平面seed集合的点在下一帧的位置,根据两帧的平面seed集合位置,计算平面seed集合对应平面的单应性矩阵,并更新平面seed集合。
单应性变换用于描述物体在世界坐标系和像素坐标系之间的位置映射关系。对应的变换矩阵称为单应性矩阵。在计算机视觉中,平面的单应性被定义为一个平面到另外一个平面的投影映射。
步骤S603,根据单应性矩阵计算需要的任意子区域位置。
步骤S604,如果当前帧是关键帧,将该帧记录到关键帧序列,否则进行全局优化,计算当前帧与当前帧之前的关键帧之间的单应性矩阵,如果有关键帧计算结果满足条件,使用该关键帧作为当前帧的参考帧,用该关键帧计算单应性矩阵和更新平面seed集合。
以下对上述步骤S602,平面seed集合的生成的实现过程进行说明。
同一图片中存在多个不同平面时,其单应性矩阵不同,无法根据整张图片的移动计算指定区域的单应性矩阵。举例来说,图6所示的图像中,车辆移动,背景不动,对应着两个完全不同的单应性矩阵。如果根据整张图片的移动计算,得到的结果将是占据大多数区域的背景的结果。推导如下:
pb=Rbapa+tba (2-2);
其中,pa、pb为两个空间坐标,为三维空间坐标;qa,qb为其对应的平面坐标,K为相机内参矩阵,R和t分别是旋转矩阵和平移变换矩阵。
若只根据识别区域的特征计算单应性矩阵,会存在遮挡等情况导致预测失败。如果人工选取完整平面区域,由于遮挡等原因,相同的平面区域可能不连续,选取过程繁琐。因此在本申请实施例中需要先生成平面seed集合,seed集合内的点都处于同一平面。同一平面上的点具有相同的单应性矩阵,则存在如下约束:
在确定初始帧的seed集合时,首先根据初始帧指定的位置(对应其他实施例中的识别像素点),获取初始帧中离该位置最近的n个特征点;这n个特征点如图7A所示,然后获取初始帧和第X帧中的对应点集合,根据初始帧中的n个特征点与第X帧中对应的n个特征点确定初始帧和第X帧的单应性矩阵;根据公式(2-5)依次判断初始帧和第X帧中各个对应点是否在同一平面上;将满足公式(2-5)的对应点确定为位于同一平面的候选特征点,然后再从同一平面上的候选特征点中选取离指定的位置最近的n+m个特征点,该n+m个特征点如图7B所示,重复上述步骤,分别得到图7C和图7D所示的特征点;其中图7D为最终选取的特征点,也即为初始帧的平面seed集合。
通过适应性区域单应匹配确定视频中的当前帧的平面seed集合可以通过以下步骤实现:
步骤S701,确定当前帧的特征点。
其中,提取的特征可以是将目标区域的颜色直方图,还可以是轮廓特征、纹理特征等。提取特征的方法可以是尺度不变特征变换法、快速特征点提取和描述算法等。尺度不变特征变换法为一种局部特征描述子,在不同的尺度空间上查找关键点,并计算出关键点的方向。
步骤S702,确定当前帧的特征点与上一帧的平面seed集合的匹配关系。
在实现时,计算当前帧的每一个特征点与上一帧平面seed点集合中各个点的欧氏距离,确定出与各个特征点之前距离最小的seed点,如果最小的距离小于设定阈值,确定该特征点和最小距离对应的seed点匹配成功,可以将该特征点确定为该seed点的匹配点。
步骤S703,根据上一帧的平面seed集合和各个seed点的匹配点计算两帧之间的单应性矩阵。
步骤S704,根据该单应性矩阵,确定上一帧的平面seed集合在当前帧对应的内点,将内点更新为当前帧的平面seed集合。
在上述过程中维护了位于同一平面的seed集合,且是自适应的。平面seed集合的动态更新,主要考虑了以下因素:
第一、seed点集处于同一平面;第二、与指定平面位置的欧式距离足够小;第三、单应性矩阵估计为内点的概率足够高。
基于以上的操作,已经可以进行平面区域的连续性识别了,但仍有部分情况存在问题。
首先,当前帧的平面seed集合是根据前一帧进行计算的,即使每次的误差都很小,但连续多帧后,误差会进行累计,导致实际的误差无法接受。其次,整个平面完全消失或遮挡,又重新出现时,此时可能与消失帧有较大的位置变化,由于前一帧无识别位置,无法继续进行连续性识别。因此在本申请实施例中提出了一个全局优化方案,实现流程如下:
步骤S801,将固定间隔的视频帧添加为关键帧。
步骤S802,固定间隔的帧进行全局优化,也可以每帧都进行。
计算该帧与此前所有的关键帧的单应性矩阵,使用关键帧对应的平面seed集合。
图8为本申请实施例提供的全局优化的示意图,如图8所示,从初始帧,也即帧0开始进行识别,此时可以将初始帧确定为第一个关键帧,也即关键帧0,每间隔一个视频帧确定一个关键帧。然后基于初始帧(帧0)对帧1进行识别,进而基于帧1对帧2进行识别;设定帧2为第二个关键帧,也即关键帧1,再基于关键帧0对关键帧1进行识别,以对关键帧1的平面seed集合进行更新,然后基于关键帧1对帧3进行识别,基于帧3对帧4进行识别,将帧4设定为第三个关键帧,也即关键帧2,在基于关键帧1对关键帧2进行识别,以对关键帧2的平面seed集合进行更新,以此类推。
步骤S803,根据单应性矩阵,得到平面seed集合对应的内点数量。
如果当前帧与关键帧的单应性矩阵计算得出的内点数量,比当前帧与前一帧的单应性矩阵的内点数量大,则说明当前帧与关键帧的单应性矩阵更准确,将当前帧与关键帧之间的单应性矩阵作为最终的单应性矩阵。将当前帧与关键帧之间的单应性矩阵确定出的内点更新为初始的平面seed集合。
步骤S804,基于初始的平面seed集合与匹配的关键帧进行平面seed集合的生成。
在实现时,将初始的平面seed集合的中心更新为指定的平面位置,并将该步骤生成的平面seed集合作为当前帧最终的平面seed集合;这样新出现的平面上的特征点也会被逐渐的加入到平面seed集合里。
物体消失或被遮挡,当识别区域重现时,会与关键帧直接进行计算,如果单应性计算成功,则可继续进行连续性识别。
在本申请实施例提供的视频数据处理方法,能够实现平面区域的连续性识别,与基于指定区域的连续识别方法相比,考虑了整个平面的移动,提高了连续性识别的准确性。此外,在本申请实施例中还使用了全局优化,保证消失重现等情况下的识别效果。
下面继续说明本申请实施例提供的视频数据处理装置443的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器440的视频数据处理装置443中的软件模块可以包括:
第一获取模块,用于获取待处理视频数据中当前的待处理图像帧,并确定所述待处理图像帧对应的参考图像帧;
第一确定模块,用于确定所述参考图像帧中与初始识别帧中预设的识别像素点位于同一平面的多个第一目标像素点,并获取所述待处理图像帧中与所述多个第一目标像素点对应的多个第一匹配像素点;
第二确定模块,用于基于所述多个第一目标像素点和所述多个第一匹配像素点,确定所述参考图像帧和所述待处理图像帧之间的第一映射矩阵;
第三确定模块,用于基于所述第一映射矩阵和所述多个第一目标像素点,从所述多个第一匹配像素点中确定所述待处理图像帧中位于同一平面的多个第二目标像素点;
第一更新模块,用于将所述待处理图像帧的下一个图像帧更新为待处理图像帧,继续确定更新后的所述待处理图像帧中位于同一平面的多个第二目标像素点。
在一些实施例中,上述第一获取模块,还用于:
如果所述待处理图像帧的前一个图像帧中包括与所述识别像素点位于同一平面至少一个第一目标像素点,将所述待处理图像帧的前一帧图像确定为所述参考图像帧;或者,
获取至少一个关键帧图像;
确定所述待处理图像帧与前一帧图像之间的第三映射矩阵,并基于所述第三映射矩阵确定所述待处理图像帧中的第三内点数量;
确定所述待处理图像帧与各个关键帧图像之间的第四映射矩阵,并基于各个第四映射矩阵确定所述待处理图像帧中的各个第四内点数量;
基于所述第三内点数量和所述各个第四内点数量,从所述前一帧图像和所述至少一个关键帧图像中确定出参考图像帧。
在一些实施例中,上述第一获取模块,还用于:
如果所述待处理图像帧的前一个图像帧中不包括与所述识别像素点位于同一平面至少一个第一目标像素点,获取至少一个关键帧图像;
确定所述待处理图像帧与各个关键帧图像之间的第四映射矩阵,并基于各个第四映射矩阵确定所述待处理图像帧中的各个第四内点数量;
基于所述各个第四内点数量,从所述至少一个关键帧图像中确定出参考图像帧。
在一些实施例中,该装置还包括:
第四确定模块,用于当所述参考图像帧为关键帧图像时,基于所述多个第二目标像素点确定中心点,将所述中心点确定为识别像素点;
第二获取模块,用于获取所述待处理图像帧的多个第一特征点和所述参考图像帧的多个第二特征点;
第五确定模块,用于基于所述识别像素点从所述多个第一特征点中确定N个第一候选特征点,确定所述N个第一候选特征点对应的N个第二候选特征点,N为正整数;
第六确定模块,用于基于所述N个第一候选特征点和所述N个第二候选特征点,确定第一候选映射矩阵;
第七确定模块,用于基于所述第一候选映射矩阵确定所述待处理图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
在一些实施例中,当所述参考图像帧为待处理视频数据中的初始识别帧时,该第一确定模块,还用于:
获取所述初始识别帧的下一个图像帧,获取所述初始识别帧的多个第三特征点和所述下一个图像帧的多个第四特征点;
获取所述初始识别帧中预设的识别像素点,基于所述识别像素点从所述多个第三特征点中确定N个第三候选特征点,确定所述N个第三候选特征点对应的N个第四候选特征点,N为正整数;
基于所述N个第三候选特征点和所述N个第四候选特征点,确定第二候选映射矩阵;
基于所述第二候选映射矩阵确定所述初始识别帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
在一些实施例中,该第一确定模块,还用于:
基于所述第二候选映射矩阵,从所述多个第三特征点和所述多个第四特征点中确定出满足映射条件的多个第一内点和所述多个第一内点对应的多个第二内点;
基于所述识别像素点,从所述多个第一内点中确定M个第三候选特征点,并从所述多个第二内点中确定与所述M个第三候选特征点对应的M个第四候选特征点,M为大于N的正整数;
基于所述M个第三候选特征点和所述M个第四候选特征点,确定第三候选映射矩阵;
基于所述第三候选映射矩阵确定所述初始识别帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
在一些实施例中,该第一确定模块,还用于:
对所述待处理图像帧进行特征提取,得到多个第一特征点;
计算每一第一特征点与所述多个第一目标像素点之间的相似度,并确定所述每一第一特征点对应的最高相似度;
将大于相似度阈值的最高相似度对应的第一特征点确定为第一匹配像素点。
在一些实施例,该装置还包括:
第八确定模块,用于当不存在大于相似度阈值的最高相似度时,确定所述待处理图像帧中不包括第一匹配像素点,获取预设的第一间隔帧数;
第九确定模块,用于基于所述待处理图像帧和所述第一间隔帧数,确定下一个待处理图像帧;
第十确定模块,用于确定所述下一个待处理图像帧对应的参考图像帧,并确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点;
第十一确定模块,用于确定所述下一个待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,基于所述多个第一目标像素点和所述下一个待处理图像帧,确定所述下一个待处理图像帧中与所述识别像素点位于同一平面的多个第二目标像素点。
在一些实施例中,该装置还包括:
第三获取模块,用于获取所述下一个待处理图像帧的前一个图像帧,并将所述前一个图像帧确定为待处理图像帧;
第十二确定模块,用于确定所述待处理图像帧对应的参考图像帧;
第十三确定模块,用于确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点;
第十四确定模块,用于确定所述待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,基于所述多个第一目标像素点和所述待处理图像帧,确定所述待处理图像帧中与所述识别像素点位于同一平面的多个第二目标像素点;
连续性识别模块,用于将所述待处理图像帧的前一个图像帧更新为待处理图像帧,直至所述待处理图像帧中不包括与第一目标像素点对应的第一匹配像素点。
在一些实施例中,该装置还包括:
第四获取模块,用于获取所述下一个待处理图像帧的后一个图像帧,并将所述后一个图像帧确定为待处理图像帧;
第十五确定模块,用于确定所述待处理图像帧对应的参考图像帧;
第十六确定模块,用于确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点;
第十七确定模块,用于确定所述待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,基于所述多个第一目标像素点和所述待处理图像帧,确定所述待处理图像帧中与所述识别像素点位于同一平面的多个第二目标像素点;
第二更新模块,用于将所述待处理图像帧的后一个图像帧更新为待处理图像帧。
需要说明的是,本申请实施例针对视频数据处理装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的视频数据处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的视频数据处理方法,例如,如图3、图4和图5示出的视频数据处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种视频数据处理方法,其特征在于,所述方法包括:
获取待处理视频数据中当前的待处理图像帧,并确定所述待处理图像帧对应的参考图像帧;
确定所述参考图像帧中与初始识别帧中预设的识别像素点位于同一平面的多个第一目标像素点,并获取所述待处理图像帧中与所述多个第一目标像素点对应的多个第一匹配像素点;
基于所述多个第一目标像素点和所述多个第一匹配像素点,确定所述参考图像帧和所述待处理图像帧之间的第一映射矩阵;
基于所述第一映射矩阵和所述多个第一目标像素点,从所述多个第一匹配像素点中确定所述待处理图像帧中位于同一平面的多个第二目标像素点;
将所述待处理图像帧的下一个图像帧更新为待处理图像帧,继续确定更新后的所述待处理图像帧中位于同一平面的多个第二目标像素点。
2.根据权利要求1中所述的方法,其特征在于,所述确定所述待处理图像帧对应的参考图像帧,包括:
如果所述待处理图像帧的前一个图像帧中包括与所述识别像素点位于同一平面至少一个第一目标像素点,将所述待处理图像帧的前一帧图像确定为所述参考图像帧;或者,
获取至少一个关键帧图像;
确定所述待处理图像帧与前一帧图像之间的第三映射矩阵,并基于所述第三映射矩阵确定所述待处理图像帧中的第三内点数量;
确定所述待处理图像帧与各个关键帧图像之间的第四映射矩阵,并基于各个第四映射矩阵确定所述待处理图像帧中的各个第四内点数量;
基于所述第三内点数量和所述各个第四内点数量,从所述前一帧图像和所述至少一个关键帧图像中确定出参考图像帧。
3.根据权利要求根据权利要求2中所述的方法,其特征在于,所述确定所述待处理图像帧对应的参考图像帧,包括:
如果所述待处理图像帧的前一个图像帧中不包括与所述识别像素点位于同一平面至少一个第一目标像素点,获取至少一个关键帧图像;
确定所述待处理图像帧与各个关键帧图像之间的第四映射矩阵,并基于各个第四映射矩阵确定所述待处理图像帧中的各个第四内点数量;
基于所述各个第四内点数量,从所述至少一个关键帧图像中确定出参考图像帧。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
当所述参考图像帧为关键帧图像时,基于所述多个第二目标像素点确定中心点,将所述中心点确定为识别像素点;
获取所述待处理图像帧的多个第一特征点和所述参考图像帧的多个第二特征点;
基于所述识别像素点从所述多个第一特征点中确定N个第一候选特征点,确定所述N个第一候选特征点对应的N个第二候选特征点,N为正整数;
基于所述N个第一候选特征点和所述N个第二候选特征点,确定第一候选映射矩阵;
基于所述第一候选映射矩阵确定所述待处理图像帧中与所述识别像素点位于同一平面的多个第一目标像素点。
5.根据权利要求1中所述的方法,其特征在于,当所述参考图像帧为待处理视频数据中的初始识别帧时,所述确定所述参考图像帧中与初始识别帧中预设的识别像素点位于同一平面的多个第一目标像素点,包括:
获取所述初始识别帧的下一个图像帧,获取所述初始识别帧的多个第三特征点和所述下一个图像帧的多个第四特征点;
获取所述初始识别帧中预设的识别像素点,基于所述识别像素点从所述多个第三特征点中确定N个第三候选特征点,确定所述N个第三候选特征点对应的N个第四候选特征点,N为正整数;
基于所述N个第三候选特征点和所述N个第四候选特征点,确定第二候选映射矩阵;
基于所述第二候选映射矩阵确定所述初始识别帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
6.根据权利要求5中所述的方法,其特征在于,所述基于所述第二候选映射矩阵确定所述初始识别帧中与预设的识别像素点位于同一平面的多个第一目标像素点,包括:
基于所述第二候选映射矩阵,从所述多个第三特征点和所述多个第四特征点中确定出满足映射条件的多个第一内点和所述多个第一内点对应的多个第二内点;
基于所述识别像素点,从所述多个第一内点中确定M个第三候选特征点,并从所述多个第二内点中确定与所述M个第三候选特征点对应的M个第四候选特征点,M为大于N的正整数;
基于所述M个第三候选特征点和所述M个第四候选特征点,确定第三候选映射矩阵;
基于所述第三候选映射矩阵确定所述初始识别帧中与预设的识别像素点位于同一平面的多个第一目标像素点。
7.根据权利要求1中所述的方法,其特征在于,获取所述待处理图像帧中与所述多个第一目标像素点对应的多个第一匹配像素点,包括:
对所述待处理图像帧进行特征提取,得到多个第一特征点;
计算每一第一特征点与所述多个第一目标像素点之间的相似度,并确定所述每一第一特征点对应的最高相似度;
将大于相似度阈值的最高相似度对应的第一特征点确定为第一匹配像素点。
8.根据权利要求7中所述的方法,其特征在于,所述方法还包括:
当不存在大于相似度阈值的最高相似度时,确定所述待处理图像帧中不包括第一匹配像素点,获取预设的第一间隔帧数;
基于所述待处理图像帧和所述第一间隔帧数,确定下一个待处理图像帧;
确定所述下一个待处理图像帧对应的参考图像帧,并确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点;
确定所述下一个待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,基于所述多个第一目标像素点和所述下一个待处理图像帧,确定所述下一个待处理图像帧中与所述识别像素点位于同一平面的多个第二目标像素点。
9.根据权利要求8中所述的方法,其特征在于,所述方法还包括:
获取所述下一个待处理图像帧的前一个图像帧,并将所述前一个图像帧确定为待处理图像帧;
确定所述待处理图像帧对应的参考图像帧;
确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点;
确定所述待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,基于所述多个第一目标像素点和所述待处理图像帧,确定所述待处理图像帧中与所述识别像素点位于同一平面的多个第二目标像素点;
将所述待处理图像帧的前一个图像帧更新为待处理图像帧,直至所述待处理图像帧中不包括与第一目标像素点对应的第一匹配像素点。
10.根据权利要求9中所述的方法,其特征在于,所述方法还包括:
获取所述下一个待处理图像帧的后一个图像帧,并将所述后一个图像帧确定为待处理图像帧;
确定所述待处理图像帧对应的参考图像帧;
确定所述参考图像帧中与预设的识别像素点位于同一平面的多个第一目标像素点;
确定所述待处理图像帧中包括与所述第一目标像素点对应的第一匹配像素点时,基于所述多个第一目标像素点和所述待处理图像帧,确定所述待处理图像帧中与所述识别像素点位于同一平面的多个第二目标像素点;
将所述待处理图像帧的后一个图像帧更新为待处理图像帧。
11.一种视频数据处理装置,其特征在于,所述装置包括:
第一获取模块,用于获取待处理视频数据中当前的待处理图像帧,并确定所述待处理图像帧对应的参考图像帧;
第一确定模块,用于确定所述参考图像帧中与初始识别帧中预设的识别像素点位于同一平面的多个第一目标像素点,并获取所述待处理图像帧中与所述多个第一目标像素点对应的多个第一匹配像素点;
第二确定模块,用于基于所述多个第一目标像素点和所述多个第一匹配像素点,确定所述参考图像帧和所述待处理图像帧之间的第一映射矩阵;
第三确定模块,用于基于所述第一映射矩阵和所述多个第一目标像素点,从所述多个第一匹配像素点中确定所述待处理图像帧中位于同一平面的多个第二目标像素点;
第一更新模块,用于将所述待处理图像帧的下一个图像帧更新为待处理图像帧,继续确定更新后的所述待处理图像帧中位于同一平面的多个第二目标像素点。
12.一种计算机设备,其特征在于,所述计算机设备设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至10任一项所述的方法。
13.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至10任一项所述的方法。
14.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210177567.0A CN114565872A (zh) | 2022-02-25 | 2022-02-25 | 视频数据处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210177567.0A CN114565872A (zh) | 2022-02-25 | 2022-02-25 | 视频数据处理方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114565872A true CN114565872A (zh) | 2022-05-31 |
Family
ID=81715588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210177567.0A Pending CN114565872A (zh) | 2022-02-25 | 2022-02-25 | 视频数据处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114565872A (zh) |
-
2022
- 2022-02-25 CN CN202210177567.0A patent/CN114565872A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11755956B2 (en) | Method, storage medium and apparatus for converting 2D picture set to 3D model | |
CN110163235B (zh) | 图像增强模型的训练、图像增强方法、装置和存储介质 | |
US10936911B2 (en) | Logo detection | |
US10410353B2 (en) | Multi-label semantic boundary detection system | |
CN111310731B (zh) | 基于人工智能的视频推荐方法、装置、设备及存储介质 | |
CN109815843B (zh) | 图像处理方法及相关产品 | |
US11983850B2 (en) | Image processing method and apparatus, device, and storage medium | |
JP6798183B2 (ja) | 画像解析装置、画像解析方法およびプログラム | |
CN106803055B (zh) | 人脸识别方法和装置 | |
CN112419170B (zh) | 遮挡检测模型的训练方法及人脸图像的美化处理方法 | |
JP2019087229A (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
CN111192277A (zh) | 一种实例分割的方法及装置 | |
CN112200041B (zh) | 视频动作识别方法、装置、存储介质与电子设备 | |
US8903139B2 (en) | Method of reconstructing three-dimensional facial shape | |
KR20220076398A (ko) | Ar장치를 위한 객체 인식 처리 장치 및 방법 | |
WO2022052782A1 (zh) | 图像的处理方法及相关设备 | |
CN113378897A (zh) | 基于神经网络的遥感图像分类方法、计算设备及存储介质 | |
CN111353325A (zh) | 关键点检测模型训练方法及装置 | |
CN115115552A (zh) | 图像矫正模型训练及图像矫正方法、装置和计算机设备 | |
CN112241736A (zh) | 一种文本检测的方法及装置 | |
CN114266693A (zh) | 图像处理方法、模型生成方法及设备 | |
CN113128278B (zh) | 一种图像识别方法及装置 | |
CN117274992A (zh) | 植物三维分割模型构建方法、装置、设备及存储介质 | |
CN112836682A (zh) | 视频中对象的识别方法、装置、计算机设备和存储介质 | |
CN114565872A (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 |