CN112258556B - 视频中指定区域的跟踪方法、装置、可读介质和电子设备 - Google Patents
视频中指定区域的跟踪方法、装置、可读介质和电子设备 Download PDFInfo
- Publication number
- CN112258556B CN112258556B CN202011140043.1A CN202011140043A CN112258556B CN 112258556 B CN112258556 B CN 112258556B CN 202011140043 A CN202011140043 A CN 202011140043A CN 112258556 B CN112258556 B CN 112258556B
- Authority
- CN
- China
- Prior art keywords
- image frame
- tracking
- area
- designated area
- color
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000012795 verification Methods 0.000 claims description 61
- 230000003287 optical effect Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 15
- 230000015654 memory Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及一种视频中指定区域的跟踪方法、装置、可读介质和电子设备,涉及图像处理技术领域,该方法包括:按照预设的识别算法,确定第一图像帧中指定区域的位置,第一图像帧为目标视频中的任一图像帧,根据第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,根据第一图像帧中指定区域的位置和跟踪位置,对跟踪位置进行校验,并根据跟踪位置的校验结果,确定第二图像帧中指定区域的位置,将第一图像帧更新为第二图像帧,重复执行根据第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,至将第一图像帧更新为第二图像帧的步骤,直至得到目标视频中的每一图像帧中指定区域的位置。
Description
技术领域
本公开涉及图像处理技术领域,具体地,涉及一种视频中指定区域的跟踪方法、装置、可读介质和电子设备。
背景技术
在图像处理技术领域中,随着智能终端在日常生活中越来越普及,用户可以拍摄视频,并进行分享。针对个人用户来说,在看到感兴趣的视频时,可能想要模仿,改变视频中的某些元素,从而拍出同款。针对企业用户来说,往往会针对一系列产品设计相同的广告,然后只需要拍摄一次广告,并将广告中的产品替换为同系列的其他产品,从而得到一系列产品的广告。因此,需要识别出指定区域在视频中的每一图像帧内的位置,从而实现替换。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种视频中指定区域的跟踪方法,所述方法包括:
按照预设的识别算法,确定第一图像帧中指定区域的位置,所述第一图像帧为目标视频中的任一图像帧;
根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,所述第二图像帧为所述目标视频中,与所述第一图像帧相邻的图像帧;
根据所述第一图像帧中指定区域的位置和所述跟踪位置,对所述跟踪位置进行校验,并根据所述跟踪位置的校验结果,确定所述第二图像帧中指定区域的位置;
将所述第一图像帧更新为所述第二图像帧;
重复执行所述根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,至所述将所述第一图像帧更新为所述第二图像帧的步骤,直至得到所述目标视频中的每一图像帧中指定区域的位置。
第二方面,本公开提供一种视频中指定区域的跟踪装置,所述装置包括:
识别模块,用于按照预设的识别算法,确定第一图像帧中指定区域的位置,所述第一图像帧为目标视频中的任一图像帧;
跟踪模块,用于根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,所述第二图像帧为所述目标视频中,与所述第一图像帧相邻的图像帧;
校验模块,用于根据所述第一图像帧中指定区域的位置和所述跟踪位置,对所述跟踪位置进行校验,并根据所述跟踪位置的校验结果,确定所述第二图像帧中指定区域的位置;
更新模块,用于将所述第一图像帧更新为所述第二图像帧;
重复执行所述根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,至所述将所述第一图像帧更新为所述第二图像帧的步骤,直至得到所述目标视频中的每一图像帧中指定区域的位置。
第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,本公开首先按照预设的识别算法,识别出第一图像帧中指定区域的位置,之后根据第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,再对跟踪位置进行校验,并根据跟踪位置的校验结果,确定第二图像帧中指定区域的位置,然后将第二图像帧作为第一图像帧,重复执行上述步骤,直至得到目标视频中的每一图像帧中指定区域的位置。本公开通过识别算法先识别出指定区域在目标视频中的任一图像帧中的位置,然后根据该位置对目标视频中的其他视频帧进行跟踪,得到指定区域在其他视频帧中的位置,能够快速、准确地识别出指定区域在目标视频中的每一图像帧中的位置。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据一示例性实施例示出的一种视频中指定区域的跟踪方法的流程图;
图2是根据一示例性实施例示出的另一种视频中指定区域的跟踪方法的流程图;
图3是根据一示例性实施例示出的另一种视频中指定区域的跟踪方法的流程图;
图4是根据一示例性实施例示出的另一种视频中指定区域的跟踪方法的流程图;
图5是根据一示例性实施例示出的另一种视频中指定区域的跟踪方法的流程图;
图6是根据一示例性实施例示出的另一种视频中指定区域的跟踪方法的流程图;
图7是根据一示例性实施例示出的目标视频的示意图;
图8是根据一示例性实施例示出的一种视频中指定区域的跟踪装置的框图;
图9是根据一示例性实施例示出的另一种视频中指定区域的跟踪装置的框图;
图10是根据一示例性实施例示出的另一种视频中指定区域的跟踪装置的框图;
图11是根据一示例性实施例示出的另一种视频中指定区域的跟踪装置的框图;
图12是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1是根据一示例性实施例示出的一种视频中指定区域的跟踪方法的流程图,如图1所示,该方法可以包括以下步骤:
步骤101,按照预设的识别算法,确定第一图像帧中指定区域的位置,第一图像帧为目标视频中的任一图像帧。
举例来说,本公开中实施例的执行主体可以是终端设备,也可以是服务器,本公开对此不作具体限定。首先确定目标视频,目标视频可以是用户拍摄的视频,也可以是用户通过浏览多媒体资源库(多媒体资源库可以存储在终端设备中,也可以存储在服务器中),在其中选择的视频。之后,可以将目标视频中的任一图像帧作为第一图像帧,以识别第一图像帧中指定区域的位置。第一图像帧可以是目标视频中,按照时间顺序的第一个图像帧,也可以是最后一个图像帧,还可以是中间的任一个图像帧。
具体的,指定区域可以是目标视频中指定物体所在的区域。例如,在预先拍摄目标视频时,可以将指定物体(例如:电子设备的屏幕、广告板、窗户、门等)设置为指定颜色(例如:绿色、蓝色等),这样,拍摄出的目标视频中该指定物体呈现指定颜色,以便用户可以替换目标视频中的该指定物体。再比如,在预先拍摄目标视频时,可以拍摄指定形状(例如矩形等)的指定物体,这样,拍摄出的目标视频中该指定物体呈现指定形状,以便用户可以替换目标视频中的该指定物体。因此,可以将目标视频理解为一个模板视频。按照预设的识别算法,可以确定第一图像帧中指定区域的位置,其中,第一图像帧中指定区域的位置可以是指定区域在第一图像帧上的坐标范围,例如:横坐标范围:15-217,纵坐标范围:60-190。第一图像帧中指定区域的位置也可以是指定区域在第一图像帧上的顶点坐标,例如:四个顶点的坐标为(15,60),(15,190),(217,60),(217,90)。
识别算法例如可以先对第一帧图像进行轮廓检测,然后对检测得到的轮廓进行多边形拟合,以得到指定区域在第一图像帧中的位置。再比如,识别算法可以先对第一帧图像中的每个像素点的颜色进行筛选,筛选出指定颜色的像素点,作为初始区域,再对初始区域进行边缘提取、多边形拟合处理,从而得到指定区域在第一图像帧中的位置。识别算法还可以先对第一图像帧进行滤波、膨胀处理,然后进行边缘提取,从而得到指定区域在第一图像帧中的位置。本公开对识别算法的具体实现方式不做限定。
步骤102,根据第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,第二图像帧为目标视频中,与第一图像帧相邻的图像帧。
示例的,在得到第一图像帧中指定区域的位置之后,可以以第一图像帧中指定区域的位置为基准,对第二图像帧中指定区域进行跟踪,得到跟踪位置,跟踪位置可以理解为对第二图像帧中指定区域的位置的预测。例如,可以将第一图像帧中指定区域的位置,作为光流跟踪算法的输入,以得到光流跟踪算法输出的跟踪位置。也可以将第一图像帧中指定区域的位置,作为特征点跟踪算法的输入,以得到特征点跟踪算法输出的跟踪位置。还可以将第一图像帧中指定区域的位置,作为预先训练的特征点跟踪模型,以得到特征点跟踪模型输出的跟踪位置,特征点跟踪模型可以是RNN(英文:Recurrent Neural Network,中文:循环神经网络)、CNN(英文:Convolutional Neural Networks,中文:卷积神经网络)、LSTM(英文:Long Short-Term Memory,中文:长短期记忆网络)等神经网络,本公开对此不作具体限定。
其中,第二图像帧为目标视频中,与第一图像帧相邻的图像帧,即第二图像帧与第一图像帧在时间上是连续的。若第一图像帧是目标视频中,按照时间顺序的第一个图像帧,那么第二图像帧可以为目标视频中的第二个图像帧。若第一图像帧是目标视频中,按照时间顺序的最后一个图像帧,那么第二图像帧可以为目标视频中的倒数第二个图像帧。若第一图像帧是目标视频中,按照时间顺序的中间的图像帧,那么第二图像帧可以是第一图像帧的上一个图像帧,或者下一个图像帧,也可以是上一个图像帧和下一个图像帧(即第二图像帧可以为两个)。
步骤103,根据第一图像帧中指定区域的位置和跟踪位置,对跟踪位置进行校验,并根据跟踪位置的校验结果,确定第二图像帧中指定区域的位置。
步骤104,将第一图像帧更新为第二图像帧。
重复执行步骤102至步骤104,直至得到目标视频中的每一图像帧中指定区域的位置。
示例的,可以先对跟踪位置进行校验,以确定跟踪位置的准确度。如果校验结果指示跟踪位置的准确度较高,那么可以直接将跟踪位置作为第二图像帧中指定区域的位置。如果校验结果指示跟踪位置的准确度较低,那么可以对跟踪位置进行修正,并将修正后的跟踪位置作为第二图像帧中指定区域的位置,或者也按照步骤101中的识别算法,识别第二图像帧中指定区域的位置。对跟踪位置进行校验的方式,可以是比较第一图像帧中指定区域的位置,与跟踪位置之间的距离,由于相邻两个图像帧之间的时间差很短,因此,如果第一图像帧中指定区域的位置与跟踪位置之间的距离过大,可以确定跟踪位置的准确度较低。还可以是比较第一图像帧中指定区域的面积,与跟踪位置所指示的指定区域的面积,如果第一图像帧中指定区域的面积与跟踪位置所指示的指定区域的面积差别过大,可以确定跟踪位置的准确度较低。也可以是比较第一图像帧中指定区域的颜色分布,与跟踪位置所指示的指定区域的颜色分布,如果第一图像帧中指定区域的颜色分布与跟踪位置所指示的指定区域的颜色分布差别过大,可以确定跟踪位置的准确度较低。
经过步骤101至步骤103,得到了第一图像帧中指定区域的位置,和第二图像帧中指定区域的位置。之后,可以将第一图像帧更新为第二图像帧,然后重复执行步骤102至步骤104,直至得到目标视频中的每一图像帧中指定区域的位置。若第一图像帧是目标视频中,按照时间顺序的第一个图像帧,那么重复执行步骤102至步骤104,可以理解为以第一个图像帧中指定区域的位置为基准,按照时间顺序跟踪之后的每一个图像帧中指定区域的位置,即向后跟踪。若第一图像帧是目标视频中,按照时间顺序的最后一个图像帧,那么重复执行步骤102至步骤104,可以理解为以最后一个图像帧中指定区域的位置为基准,按照时间顺序跟踪之前的每一个图像帧中指定区域的位置,即向前跟踪。若第一图像帧是目标视频中的中间的图像帧,那么重复执行步骤102至步骤104,可以理解为以中间的图像帧中指定区域的位置为基准,按照时间顺序跟踪之前和之后的每一个图像帧中指定区域的位置,即向两个方向跟踪。
以目标视频中包括了按照时间顺序排列的10个图像帧:图像帧1,图像帧2,…,图像帧10为例来进行具体说明。
若第一图像帧为图像帧1,通过执行步骤101,得到图像帧1中指定区域的位置。在第一次执行步骤102至步骤103时,第二图像帧为图像帧2,得到图像帧2中指定区域的位置。之后通过执行步骤104,将第一图像帧更新为图像帧2,即此时图像帧2作为第一图像帧。再次执行步骤102至步骤103,此时第二图像帧即为图像帧3,得到图像帧3中指定区域的位置。然后通过执行步骤104,将第一图像帧更新为图像帧3。那么再下一次执行步骤102至步骤103时,第二图像帧即为图像帧4,依次类推,直至得到10个图像帧中每个图像帧中指定区域的位置。同理,若第一图像帧为图像帧10,依次向前跟踪图像帧9中指定区域的位置、图像帧8中指定区域的位置等,此处不再赘述。
若第一图像帧为图像帧5,通过执行步骤101,得到图像帧5中指定区域的位置。在第一次执行步骤102至步骤103时,第二图像帧为图像帧4和图像帧6,得到图像帧4中指定区域的位置,和图像帧6中指定区域的位置。之后通过执行步骤104,将第一图像帧更新为图像帧4和图像帧6(此时第一图像帧为两个)。再次执行步骤102至步骤103,此时图像帧4对应的第二图像帧即为图像帧3,图像帧6对应的第二图像帧即为图像帧7,那么可以得到图像帧3中指定区域的位置,和图像帧7中指定区域的位置。然后通过执行步骤104,将第一图像帧更新为图像帧3和图像帧7。依次类推,直至得到10个图像帧中每个图像中指定区域的位置。
在得到目标视频中的每一图像帧中指定区域的位置之后,可以对目标视频中的每一图像帧中指定区域(即指定物体所在的区域)进行替换。这样,可以根据目标视频中的任一图像帧中指定区域的位置,跟踪得到每个视频帧中的位置,而无需对目标视频中的每一图像帧都进行识别,降低了计算量,提高了处理速度和准确度。并且,通过对跟踪位置的校验,进一步保证了识别的准确度,因此能够快速、准确地识别出指定区域在目标视频中的每一图像帧中的位置。相应的,也能够快速、准确地替换目标视频中的每一图像帧中的指定区域。针对个人用户来说,可以选择待替换图像,来替换每一图像帧中的指定物体(即为指定区域),从而拍出同款视频,能够提高图像处理的灵活度,增加参与感。针对企业用户来说,可以只拍摄一次广告,然后将广告中的指定物体(即为指定区域)替换为不同的产品,就可以得到一系列产品的广告,能够降低拍摄成本,提高拍摄效率。
综上所述,本公开首先按照预设的识别算法,识别出第一图像帧中指定区域的位置,之后根据第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,再对跟踪位置进行校验,并根据跟踪位置的校验结果,确定第二图像帧中指定区域的位置,然后将第二图像帧作为第一图像帧,重复执行上述步骤,直至得到目标视频中的每一图像帧中指定区域的位置。本公开通过识别算法先识别出指定区域在目标视频中的任一图像帧中的位置,然后根据该位置对目标视频中的其他视频帧进行跟踪,得到指定区域在其他视频帧中的位置,能够快速、准确地识别出指定区域在目标视频中的每一图像帧中的位置。
在一种应用场景中,第一图像帧中指定区域的位置包括第一图像帧中指定区域的顶点坐标,跟踪位置包括第二图像帧中指定区域的顶点坐标。步骤102的实现方式可以为:
将第一图像帧、第二图像帧和第一图像帧中指定区域的顶点坐标,作为光流跟踪算法的输入,以得到光流跟踪算法输出的第二图像帧中指定区域的顶点坐标。
举例来说,以第一图像帧中指定区域的位置为基准,对第二图像帧中指定区域进行跟踪,可以利用预设的光流(英文:Optical Flow)跟踪算法,将第一图像帧、第二图像帧和第一图像帧中指定区域的顶点坐标输入光流跟踪算法,光流跟踪算法的输出,即为跟踪位置,跟踪位置可以包括第二图像帧中指定区域的顶点坐标。其中,光流跟踪算法例如可以是KLT跟踪算法(英文:Kanade-Lucas-Tomasi Tracking Method),或者LK跟踪算法(英文:Lucas-Kanade Tracking Method)等,本公开对此不作具体限定。
图2是根据一示例性实施例示出的另一种视频中指定区域的跟踪方法的流程图,如图2所示,步骤103可以包括以下步骤:
步骤1031,根据跟踪位置,对第一图像帧中指定区域进行跟踪,以得到校验跟踪位置。
步骤1032,若校验跟踪位置与第一图像帧中指定区域的位置的距离差小于或等于预设阈值,确定校验结果为通过,若校验跟踪位置与第一图像帧中指定区域的位置的距离差大于预设阈值,确定校验结果为未通过。
在一种应用场景中,对跟踪位置进行校验,可以利用跟踪位置,对第一图像帧中指定区域进行跟踪,得到校验跟踪位置。可以理解为,利用跟踪位置,进行反跟踪,校验跟踪位置即为以跟踪位置为基准,对第一图像帧中指定区域的位置的预测。理想情况下,校验跟踪位置应当与第一图像帧中指定区域的位置相同(可以理解为第一图像帧中指定区域的顶点坐标,与校验跟踪位置指示的顶点坐标重合)。因此,可以比较校验跟踪位置与第一图像帧中指定区域的位置,若校验跟踪位置与第一图像帧中指定区域的位置的距离差小于或等于预设阈值(例如:可以是5个像素位置),那么可以确定校验结果为通过,即跟踪位置的准确度较高。若校验跟踪位置与第一图像帧中指定区域的位置的距离差大于预设阈值,那么可以确定校验结果为未通过,即跟踪位置的准确度较低。
图3是根据一示例性实施例示出的另一种视频中指定区域的跟踪方法的流程图,如图3所示,步骤103还可以包括以下步骤:
步骤1033,若校验结果为通过,将跟踪位置作为第二图像帧中指定区域的位置。
步骤1034,若校验结果为未通过,按照识别算法确定第二图像帧中指定区域的位置。
示例的,若校验结果为通过,表示跟踪位置的准确度较高,那么可以直接将跟踪位置作为第二图像帧中指定区域的位置。若校验结果为未通过,表示跟踪位置的准确度较低,那么可以按照上述识别算法确定第二图像帧中指定区域的位置。例如,可以将第二图像帧输入识别算法,以得到识别算法输出的第二图像帧中指定区域的位置。
图4是根据一示例性实施例示出的另一种视频中指定区域的跟踪方法的流程图,如图4所示,步骤101的实现方式可以为:
步骤1011,获取第一图像帧的每个像素点在颜色空间中的颜色坐标。
举例来说,要确定第一图像帧中指定区域的位置,可以先获取第一图像帧中每个像素点在颜色空间中的颜色坐标。其中,本公开实施例中的颜色空间可以是RGB(英文:Red-Green-Blue)颜色空间、LUV颜色空间、LAB颜色空间、CMY(英文:Cyan-Magenta-Yellow)颜色空间、HSV(Hue-Saturation-Value)颜色空间、HSI(Hue-Saturation-Intensity)颜色空间中的一种或者多种,本公开对此不作具体限定。
步骤1012,根据每个像素点的颜色坐标,和预设的颜色范围,确定初始区域,初始区域内的像素点的颜色坐标,属于颜色范围。
示例的,可以依次对第一图像帧像中的每个像素点的颜色坐标进行判断,判断该像素点是否属于预设的颜色范围。颜色范围可以理解为指定颜色在颜色空间中对应的颜色坐标范围。以指定颜色为绿色,颜色空间为RGB颜色空间来举例,那么绿色对应的颜色范围可以为:R(红色)通道小于120,B(蓝色)通道小于120,G(绿色)通道大于150,这样,可以将每个像素点的颜色坐标与颜色范围进行比较,确定该像素点是否为绿色。之后可以将属于颜色范围的像素点进行整合,得到由颜色坐标属于颜色范围的像素点组成的初始区域。也就是说,初始区域内包括的每个像素点的颜色坐标,均属于颜色范围。需要说明的是,初始区域内可能包括了第一图像帧中,每一个颜色坐标属于颜色范围的像素点,也可能包括了第一图像帧中,部分颜色坐标属于颜色范围的像素点。例如,可以将属于颜色范围的像素点进行标记,然后对被标记的像素点进行聚类,聚类得到的最密集的簇中包含的像素点所组成的区域即为初始区域。还可以确定第一图像帧中被标记的像素点组成的一个或多个连通区域(即第一图像帧中,位置相邻的被标记的像素点所组成的区域),然后将面积最大的连通区域作为初始区域。
步骤1013,对初始区域进行边缘提取,以得到初始区域的至少一个初始边缘。
步骤1014,对至少一个初始边缘进行多边形拟合,以得到目标多边形,并根据目标多边形的顶点,确定第一图像帧中指定区域的位置。
示例的,由于在预先拍摄目标视频时,在某些时刻指定物体可能会被其他物体遮挡,导致确定的初始区域的形状往往不规则,或者由于拍摄角度的不同,导致确定的初始区域的形状发生了变形。这样,可能导致无法准确定位指定物体在第一图像帧中的位置,进一步导致无法准确替换第一图像帧中指定物体所在的区域(即指定区域)。因此,在确定了初始区域之后,可以先对初始区域进行边缘提取,从而得到初始区域的至少一个初始边缘。例如,可以将初始区域作为预设的边缘提取算法的输入,边缘提取算法的输出即为至少一个初始边缘。其中,边缘提取算法可以是Canny算法、Sobel算法、Laplacian算法等,本公开对此不作具体限定。进一步的,可以再对边缘提取得到的至少一个初始边缘进行多边形拟合,得到由指定边数(例如:4、5等)个首尾相接的边缘组成的目标多边形,最后将目标多边形作为指定区域(指定区域为一个封闭的区域),从而得到第一图像帧中指定区域所在的位置,即目标多边形的顶点。例如,可以将指定边数和至少一个初始边缘作为预设的多边形拟合算法的输入,多边形拟合算法的输出即为由指定边数个首尾相接的边缘组成的多边形。其中,指定边数用于限制多边形拟合算法拟合出的多边形的边数,例如指定边数为4,那么多边形拟合算法可以拟合出一个四边形。通过上述步骤,可以快速、准确地识别出第一图像帧中指定区域的位置。
需要说明的是,上述实施例中的初始区域可以是一个或多个,对应的,指定区域同样也可以是一个或多个。例如,在预先拍摄目标视频时,拍摄场景中可以包括一个或多个,设置为指定颜色的指定物体,相应的第一图像帧中可能会包括一个或多个指定物体。当第一图像帧中包括一个指定物体时,初始区域和指定区域为一个,当第一图像帧中包括N(N为大于1的正整数)个指定物体时,初始区域和指定区域为N个。
进一步的,步骤1012可以通过以下步骤来实现:
步骤1)将第一颜色坐标属于预设的第一颜色范围内的像素点作为第一像素点。
步骤2)将第二颜色坐标属于预设的第二颜色范围内的第一像素点作为第二像素点。
步骤3)根据第二像素点确定初始区域。
在一种应用场景中,为了能够更准确地提取出第一图像帧中指定颜色的像素点,可以获取第一图像帧中每个像素点在多种颜色空间中的颜色坐标,并根据每种颜色空间对应的颜色范围来确定初始区域。以两种颜色空间来举例,可以获取第一图像帧中每个像素点在第一颜色空间中的第一颜色坐标,和在第二颜色空间中的第二颜色坐标。相应的,预设的颜色范围可以包括指定颜色,在两种颜色空间中对应的颜色坐标范围,即第一颜色空间对应第一颜色范围,第二颜色空间对应第二颜色范围。那么,可以先在第一颜色空间中,依次判断每个像素点的第一颜色坐标是否属于第一颜色范围,并将属于第一颜色范围的像素点标记为第一像素点。然后再在第二颜色空间中,依次判断每个第一像素点的第二颜色坐标是否属于第二颜色范围,将属于第二颜色范围的第一像素点标记为第二像素点。也就是说,第二像素点的第一颜色坐标属于第一颜色范围,且第二像素点的第二颜色坐标属于第二颜色范围,即第二像素点组成的集合为第一像素点组成的集合的子集。最后,根据第二像素点来确定初始区域。以指定颜色为绿色,第一颜色空间为RGB颜色空间,第二颜色空间为HSV颜色空间来举例,第一颜色范围可以为:R(红色)通道小于120,B(蓝色)通道小于120,G(绿色)通道大于150,第二颜色范围可以为:H(色调)通道大于35,且小于77,那么第二像素点,为第一图像帧中,在RGB颜色空间中的第一颜色坐标属于第一颜色范围,且在HSV颜色空间中的第二颜色坐标属于第二颜色范围的像素点。
进一步的,在步骤1034中,按照识别算法确定第二图像帧中指定区域的位置,与上述确定第一图像帧中指定区域的位置的处理方式相同,此处不再赘述。
图5是根据一示例性实施例示出的另一种视频中指定区域的跟踪方法的流程图,如图5所示,该方法还可以包括:
步骤105,获取针对目标视频中第三图像帧的调整指令,调整指令包括用户指示的,第三图像帧中指定区域的位置。
在一种应用场景中,在得到目标视频中的每一图像帧中指定区域的位置之后,或者确定每一图像帧中指定区域的位置的过程中,用户可以对目标视频中的任意图像帧进行调整。以用户需要调整的图像帧为第三图像帧为例,用户可以在终端设备上浏览目标视频,通过拖拽用以显示目标视频播放进度的滚动条,从而选择第三图像帧,然后可以手动标出第三图像帧中指定区域的位置(例如可以标出指定区域的顶点坐标,或者标出指定区域的边缘等),以触发调整指令,调整指令中包括了用户标出的第三图像帧中指定区域的位置。其中,第三图像帧可以是一个图像帧,也可以是多个图像帧。
步骤106,根据第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以更新第四图像帧中指定区域的位置,第四图像帧为目标视频中,与第三图像帧相邻的图像帧。
步骤107,将第三图像帧更新为第四图像帧。
重复执行步骤106至步骤107,直至目标视频中的每一图像帧中指定区域的位置均被更新。
之后,以第三图像帧中指定区域的位置为基准,对第四图像帧中指定区域进行跟踪,从而更新第四图像帧中指定区域的位置,即可以将跟踪得到的结果,作为第四图像帧中指定区域的位置。例如,可以将第三图像帧中指定区域的位置,作为光流跟踪算法的输入,将光流跟踪算法输出的结果作为第四图像帧中指定区域的位置。也可以将第三图像帧中指定区域的位置,作为特征点跟踪算法的输入,将特征点跟踪算法输出的结果作为第四图像帧中指定区域的位置。还可以将第三图像帧中指定区域的位置,作为预先训练的特征点跟踪模型,将特征点跟踪模型输出的结果作为第四图像帧中指定区域的位置,特征点跟踪模型可以是RNN、CNN、LSTM等神经网络,本公开对此不作具体限定。其中,第四图像帧为目标视频中,与第三图像帧相邻的图像帧,即第四图像帧与第三图像帧在时间上是连续的。以第三图像帧为一个来举例,那么第四图像帧可以是第三图像帧的上一个图像帧,也可以是第三图像帧的下一个图像帧,还可以是第三图像帧的上一个图像帧和下一个图像帧(此时第四图像帧为两个)。
进一步的,再将第三图像帧更新为第四图像帧,再重复执行步骤106至步骤107,直至目标视频中的每一图像帧中指定区域的位置均被更新。也就是说,按照用户指示的第三图像帧中指定区域的位置,更新目标视频中的每一图像帧中指定区域的位置。
图6是根据一示例性实施例示出的另一种视频中指定区域的跟踪方法的流程图,如图6所示,第三图像帧为多个,在步骤106之前,该方法还可以包括:
步骤108,根据多个第三图像帧在目标视频中的顺序,确定每个第三图像帧对应的调整帧范围和调整方向。
举例来说,在获取调整指令之后,如果确定第三图像帧为多个,那么可以先根据多个第三图像帧在目标视频中的顺序,确定每个第三图像帧对应的调整帧范围和调整方向。调整帧范围,可以理解为根据该第三图像帧中指定区域的位置,更新目标视频中的哪些图像帧中指定区域的位置。调整方向可以理解为与目标视频中的时间顺序相同,或者与目标视频中的时间顺序相反。
以目标视频中包括了按照时间顺序排列的N个图像帧:图像帧1,图像帧2,…,图像帧m,…,图像帧n,…,图像帧N为例来进行具体说明(m<n)。其中,第三图像帧为图像帧m和图像帧n。那么,图像帧m对应的调整帧范围为:图像帧1至图像帧(m+n)/2,调整方向为从图像帧m至图像帧1(与时间顺序相反),从图像帧m至图像帧(m+n)/2(与时间顺序相同)。图像n对应的调整帧范围为:图像帧[1+(m+n)/2]至图像帧N,调整方向为从图像帧n至图像帧[1+(m+n)/2](与时间顺序相反),从图像帧n至图像帧N(与时间顺序相同)。图像帧m和图像帧n的调整帧范围和调整方向如图7所示。
相应的,步骤106可以包括:
步骤1061,根据调整帧范围和调整方向,确定该第三图像帧对应的第四图像帧,该第三图像帧对应的第四图像帧,属于调整帧范围,且与该第三图像帧在调整方向上相邻。
步骤1062,根据该第三图像帧中指定区域的位置,对该第三图像帧对应的第四图像帧中指定区域进行跟踪,以得到该第三图像帧对应的第四图像帧中指定区域的位置。
示例的,在确定每个第三图像帧对应的调整帧范围和调整方向后,可以根据该第三图像帧对应的调整帧范围和调整方向,确定该第三图像帧对应的第四图像帧。其中,第四图像帧属于该第三图像帧对应的调整帧范围,并且第四图像帧与该第三图像帧在该第三图像帧对应的调整方向上相邻。以第三图像帧为图7中所示的图像帧m来举例,那么第四图像帧为图像帧m-1,和图像帧m+1。之后,再根据该第三图像帧中指定区域的位置,对该第三图像帧对应的第四图像帧中指定区域进行跟踪,以得到该第三图像帧对应的第四图像帧中指定区域的位置。
综上所述,本公开首先按照预设的识别算法,识别出第一图像帧中指定区域的位置,之后根据第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,再对跟踪位置进行校验,并根据跟踪位置的校验结果,确定第二图像帧中指定区域的位置,然后将第二图像帧作为第一图像帧,重复执行上述步骤,直至得到目标视频中的每一图像帧中指定区域的位置。本公开通过识别算法先识别出指定区域在目标视频中的任一图像帧中的位置,然后根据该位置对目标视频中的其他视频帧进行跟踪,得到指定区域在其他视频帧中的位置,能够快速、准确地识别出指定区域在目标视频中的每一图像帧中的位置。
图8是根据一示例性实施例示出的一种视频中指定区域的跟踪装置的框图,如图8所示,该装置200包括:
识别模块201,用于按照预设的识别算法,确定第一图像帧中指定区域的位置,第一图像帧为目标视频中的任一图像帧。
跟踪模块202,用于根据第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,第二图像帧为目标视频中,与第一图像帧相邻的图像帧。
校验模块203,用于根据第一图像帧中指定区域的位置和跟踪位置,对跟踪位置进行校验,并根据跟踪位置的校验结果,确定第二图像帧中指定区域的位置。
更新模块204,用于将第一图像帧更新为第二图像帧。
重复执行根据第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,至将第一图像帧更新为第二图像帧的步骤,直至得到目标视频中的每一图像帧中指定区域的位置。
在一种应用场景中,第一图像帧中指定区域的位置包括第一图像帧中指定区域的顶点坐标,跟踪位置包括第二图像帧中指定区域的顶点坐标。跟踪模块202可以用于:将第一图像帧、第二图像帧和第一图像帧中指定区域的顶点坐标,作为光流跟踪算法的输入,以得到光流跟踪算法输出的第二图像帧中指定区域的顶点坐标。
图9是根据一示例性实施例示出的另一种视频中指定区域的跟踪装置的框图,如图9所示,校验模块203可以包括:
跟踪子模块2031,用于根据跟踪位置,对第一图像帧中指定区域进行跟踪,以得到校验跟踪位置。
校验子模块2032,用于若校验跟踪位置与第一图像帧中指定区域的位置的距离差小于或等于预设阈值,确定校验结果为通过,若校验跟踪位置与第一图像帧中指定区域的位置的距离差大于预设阈值,确定校验结果为未通过。
在一种应用场景中,校验模块203还可以用于:
若校验结果为通过,将跟踪位置作为第二图像帧中指定区域的位置。若校验结果为未通过,按照识别算法确定第二图像帧中指定区域的位置。
图10是根据一示例性实施例示出的另一种视频中指定区域的跟踪装置的框图,如图10所示,识别模块201可以包括:
获取子模块2011,用于获取第一图像帧的每个像素点在颜色空间中的颜色坐标。
确定子模块2012,用于根据每个像素点的颜色坐标,和预设的颜色范围,确定初始区域,初始区域内的像素点的颜色坐标,属于颜色范围。
提取子模块2013,用于对初始区域进行边缘提取,以得到初始区域的至少一个初始边缘。
拟合子模块2014,用于对至少一个初始边缘进行多边形拟合,以得到目标多边形,并根据目标多边形的顶点,确定第一图像帧中指定区域的位置。
图11是根据一示例性实施例示出的另一种视频中指定区域的跟踪装置的框图,如图11所示,该装置200还可以包括:
获取模块205,用于获取针对目标视频中第三图像帧的调整指令,调整指令包括用户指示的,第三图像帧中指定区域的位置。
跟踪模块202,还用于根据第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以更新第四图像帧中指定区域的位置,第四图像帧为目标视频中,与第三图像帧相邻的图像帧。
更新模块204,还用于将第三图像帧更新为第四图像帧。
重复执行根据第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以更新第四图像帧中指定区域的位置,至将第三图像帧更新为第四图像帧的步骤,直至目标视频中的每一图像帧中指定区域的位置均被更新。
在一种应用场景中,第三图像帧为多个,获取模块205还用于:
根据多个第三图像帧在目标视频中的顺序,确定每个第三图像帧对应的调整帧范围和调整方向。
相应的,跟踪模块202可以用于:
根据调整帧范围和调整方向,确定该第三图像帧对应的第四图像帧,该第三图像帧对应的第四图像帧,属于调整帧范围,且与该第三图像帧在调整方向上相邻。
根据该第三图像帧中指定区域的位置,对该第三图像帧对应的第四图像帧中指定区域进行跟踪,以得到该第三图像帧对应的第四图像帧中指定区域的位置。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开首先按照预设的识别算法,识别出第一图像帧中指定区域的位置,之后根据第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,再对跟踪位置进行校验,并根据跟踪位置的校验结果,确定第二图像帧中指定区域的位置,然后将第二图像帧作为第一图像帧,重复执行上述步骤,直至得到目标视频中的每一图像帧中指定区域的位置。本公开通过识别算法先识别出指定区域在目标视频中的任一图像帧中的位置,然后根据该位置对目标视频中的其他视频帧进行跟踪,得到指定区域在其他视频帧中的位置,能够快速、准确地识别出指定区域在目标视频中的每一图像帧中的位置。
下面参考图12,其示出了适于用来实现本公开实施例的电子设备(即上述视频中指定区域的跟踪方法的执行主体)300的结构示意图。本公开实施例中的电子设备可以是服务器,该服务器例如可以是本地服务器或者云服务器。电子设备也可以是终端设备,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图12示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图12示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,终端设备、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:按照预设的识别算法,确定第一图像帧中指定区域的位置,所述第一图像帧为目标视频中的任一图像帧;根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,所述第二图像帧为所述目标视频中,与所述第一图像帧相邻的图像帧;根据所述第一图像帧中指定区域的位置和所述跟踪位置,对所述跟踪位置进行校验,并根据所述跟踪位置的校验结果,确定所述第二图像帧中指定区域的位置;将所述第一图像帧更新为所述第二图像帧;重复执行所述根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,至所述将所述第一图像帧更新为所述第二图像帧的步骤,直至得到所述目标视频中的每一图像帧中指定区域的位置。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,识别模块还可以被描述为“识别第一图像帧中指定区域的位置的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种视频中指定区域的跟踪方法,包括:按照预设的识别算法,确定第一图像帧中指定区域的位置,所述第一图像帧为目标视频中的任一图像帧;根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,所述第二图像帧为所述目标视频中,与所述第一图像帧相邻的图像帧;根据所述第一图像帧中指定区域的位置和所述跟踪位置,对所述跟踪位置进行校验,并根据所述跟踪位置的校验结果,确定所述第二图像帧中指定区域的位置;将所述第一图像帧更新为所述第二图像帧;重复执行所述根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,至所述将所述第一图像帧更新为所述第二图像帧的步骤,直至得到所述目标视频中的每一图像帧中指定区域的位置。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述第一图像帧中指定区域的位置包括所述第一图像帧中指定区域的顶点坐标,所述跟踪位置包括所述第二图像帧中指定区域的顶点坐标;所述根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,包括:将所述第一图像帧、所述第二图像帧和所述第一图像帧中指定区域的位顶点坐标,作为光流跟踪算法的输入,以得到所述光流跟踪算法输出的所述第二图像帧中指定区域的顶点坐标。
根据本公开的一个或多个实施例,示例3提供了示例1的方法,所述根据所述第一图像帧中指定区域的位置和所述跟踪位置,对所述跟踪位置进行校验,包括:根据所述跟踪位置,对所述第一图像帧中指定区域进行跟踪,以得到校验跟踪位置;若所述校验跟踪位置与所述第一图像帧中指定区域的位置的距离差小于或等于预设阈值,确定所述校验结果为通过,若所述校验跟踪位置与所述第一图像帧中指定区域的位置的距离差大于所述预设阈值,确定所述校验结果为未通过。
根据本公开的一个或多个实施例,示例4提供了示例3的方法,所述根据所述跟踪位置的校验结果,确定所述第二图像帧中指定区域的位置,包括:若所述校验结果为通过,将所述跟踪位置作为所述第二图像帧中指定区域的位置;若校验结果为未通过,按照所述识别算法确定所述第二图像帧中指定区域的位置。
根据本公开的一个或多个实施例,示例5提供了示例1至示例4的方法,所述按照预设的识别算法,确定第一图像帧中指定区域的位置,包括:获取所述第一图像帧的每个像素点在颜色空间中的颜色坐标;根据每个所述像素点的颜色坐标,和预设的颜色范围,确定初始区域,所述初始区域内的所述像素点的颜色坐标,属于所述颜色范围;对所述初始区域进行边缘提取,以得到所述初始区域的至少一个初始边缘;对所述至少一个初始边缘进行多边形拟合,以得到目标多边形,并根据所述目标多边形的顶点,确定所述第一图像帧中指定区域的位置。
根据本公开的一个或多个实施例,示例6提供了示例1至示例4的方法,所述方法还包括:获取针对所述目标视频中第三图像帧的调整指令,所述调整指令包括用户指示的,所述第三图像帧中指定区域的位置;根据所述第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以更新所述第四图像帧中指定区域的位置,所述第四图像帧为所述目标视频中,与所述第三图像帧相邻的图像帧;将所述第三图像帧更新为所述第四图像帧;重复执行所述根据所述第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以更新所述第四图像帧中指定区域的位置,至所述将所述第三图像帧更新为所述第四图像帧的步骤,直至所述目标视频中的每一图像帧中指定区域的位置均被更新。
根据本公开的一个或多个实施例,示例7提供了示例6的方法,所述第三图像帧为多个,在所述根据所述第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以更新所述第四图像帧中指定区域的位置之前,所述方法还包括:根据多个所述第三图像帧在所述目标视频中的顺序,确定每个所述第三图像帧对应的调整帧范围和调整方向;所述根据所述第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以得到所述第四图像帧中指定区域的位置,包括:根据所述调整帧范围和所述调整方向,确定该第三图像帧对应的所述第四图像帧,该第三图像帧对应的所述第四图像帧,属于所述调整帧范围,且与该第三图像帧在所述调整方向上相邻;根据该第三图像帧中指定区域的位置,对该第三图像帧对应的所述第四图像帧中指定区域进行跟踪,以得到该第三图像帧对应的所述第四图像帧中指定区域的位置。
根据本公开的一个或多个实施例,示例8提供了一种视频中指定区域的跟踪装置,包括:识别模块,用于按照预设的识别算法,确定第一图像帧中指定区域的位置,所述第一图像帧为目标视频中的任一图像帧;跟踪模块,用于根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,所述第二图像帧为所述目标视频中,与所述第一图像帧相邻的图像帧;校验模块,用于根据所述第一图像帧中指定区域的位置和所述跟踪位置,对所述跟踪位置进行校验,并根据所述跟踪位置的校验结果,确定所述第二图像帧中指定区域的位置;更新模块,用于将所述第一图像帧更新为所述第二图像帧;重复执行所述根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,至所述将所述第一图像帧更新为所述第二图像帧的步骤,直至得到所述目标视频中的每一图像帧中指定区域的位置。
根据本公开的一个或多个实施例,示例9提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1至示例7中所述方法的步骤。
根据本公开的一个或多个实施例,示例10提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1至示例7中所述方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
Claims (9)
1.一种视频中指定区域的跟踪方法,其特征在于,所述方法包括:
按照预设的识别算法,确定第一图像帧中指定区域的位置,所述第一图像帧为目标视频中的任一图像帧,所述指定区域是目标视频中指定物体所在的区域;
根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,所述第二图像帧为所述目标视频中,与所述第一图像帧相邻的图像帧;
根据所述第一图像帧中指定区域的位置和所述跟踪位置,对所述跟踪位置进行校验,并根据所述跟踪位置的校验结果,确定所述第二图像帧中指定区域的位置;
将所述第一图像帧更新为所述第二图像帧;
重复执行所述根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,至所述将所述第一图像帧更新为所述第二图像帧的步骤,直至得到所述目标视频中的每一图像帧中指定区域的位置;
所述按照预设的识别算法,确定第一图像帧中指定区域的位置,包括:
获取所述第一图像帧在颜色空间中的颜色坐标;
根据所述颜色坐标,和预设的颜色范围,确定初始区域,所述颜色范围为指定颜色在颜色空间中对应的颜色坐标范围;
对所述初始区域进行边缘提取,以得到所述初始区域的至少一个初始边缘;
基于所述初始边缘得到的目标多边形确定所述第一图像帧中指定区域的位置;
所述获取所述第一图像帧在颜色空间中的颜色坐标,包括:
获取所述第一图像帧中每个像素点在第一颜色空间中的第一颜色坐标,并获取每个所述像素点在第二颜色空间中的第二颜色坐标;
所述根据所述颜色坐标,和预设的颜色范围,确定初始区域,包括:
将第一颜色坐标属于预设的第一颜色范围内的像素点作为第一像素点;
将第二颜色坐标属于预设的第二颜色范围内的所述第一像素点作为第二像素点;
根据所述第二像素点确定所述初始区域;
所述基于所述初始边缘得到的目标多边形确定所述第一图像帧中指定区域的位置,包括:
对至少一个初始边缘进行多边形拟合,以得到目标多边形,并根据目标多边形的顶点,确定第一图像帧中指定区域的位置。
2.根据权利要求1所述的方法,其特征在于,所述第一图像帧中指定区域的位置包括所述第一图像帧中指定区域的顶点坐标,所述跟踪位置包括所述第二图像帧中指定区域的顶点坐标;所述根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,包括:
将所述第一图像帧、所述第二图像帧和所述第一图像帧中指定区域的位顶点坐标,作为光流跟踪算法的输入,以得到所述光流跟踪算法输出的所述第二图像帧中指定区域的顶点坐标。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一图像帧中指定区域的位置和所述跟踪位置,对所述跟踪位置进行校验,包括:
根据所述跟踪位置,对所述第一图像帧中指定区域进行跟踪,以得到校验跟踪位置;
若所述校验跟踪位置与所述第一图像帧中指定区域的位置的距离差小于或等于预设阈值,确定所述校验结果为通过,若所述校验跟踪位置与所述第一图像帧中指定区域的位置的距离差大于所述预设阈值,确定所述校验结果为未通过。
4.根据权利要求3所述的方法,其特征在于,所述根据所述跟踪位置的校验结果,确定所述第二图像帧中指定区域的位置,包括:
若所述校验结果为通过,将所述跟踪位置作为所述第二图像帧中指定区域的位置;
若校验结果为未通过,按照所述识别算法确定所述第二图像帧中指定区域的位置。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
获取针对所述目标视频中第三图像帧的调整指令,所述调整指令包括用户指示的,所述第三图像帧中指定区域的位置;
根据所述第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以更新所述第四图像帧中指定区域的位置,所述第四图像帧为所述目标视频中,与所述第三图像帧相邻的图像帧;
将所述第三图像帧更新为所述第四图像帧;
重复执行所述根据所述第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以更新所述第四图像帧中指定区域的位置,至所述将所述第三图像帧更新为所述第四图像帧的步骤,直至所述目标视频中的每一图像帧中指定区域的位置均被更新。
6.根据权利要求5所述的方法,其特征在于,所述第三图像帧为多个,在所述根据所述第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以更新所述第四图像帧中指定区域的位置之前,所述方法还包括:
根据多个所述第三图像帧在所述目标视频中的顺序,确定每个所述第三图像帧对应的调整帧范围和调整方向;
所述根据所述第三图像帧中指定区域的位置,对第四图像帧中指定区域进行跟踪,以得到所述第四图像帧中指定区域的位置,包括:
根据所述调整帧范围和所述调整方向,确定该第三图像帧对应的所述第四图像帧,该第三图像帧对应的所述第四图像帧,属于所述调整帧范围,且与该第三图像帧在所述调整方向上相邻;
根据该第三图像帧中指定区域的位置,对该第三图像帧对应的所述第四图像帧中指定区域进行跟踪,以得到该第三图像帧对应的所述第四图像帧中指定区域的位置。
7.一种视频中指定区域的跟踪装置,其特征在于,所述装置包括:
识别模块,用于按照预设的识别算法,确定第一图像帧中指定区域的位置,所述第一图像帧为目标视频中的任一图像帧;
跟踪模块,用于根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,所述第二图像帧为所述目标视频中,与所述第一图像帧相邻的图像帧;
校验模块,用于根据所述第一图像帧中指定区域的位置和所述跟踪位置,对所述跟踪位置进行校验,并根据所述跟踪位置的校验结果,确定所述第二图像帧中指定区域的位置;
更新模块,用于将所述第一图像帧更新为所述第二图像帧;
重复执行所述根据所述第一图像帧中指定区域的位置,对第二图像帧中指定区域进行跟踪,以得到跟踪位置,至所述将所述第一图像帧更新为所述第二图像帧的步骤,直至得到所述目标视频中的每一图像帧中指定区域的位置;
识别模块包括:
获取子模块,用于获取所述第一图像帧在颜色空间中的颜色坐标;
确定子模块,用于根据所述颜色坐标,和预设的颜色范围,确定初始区域,所述颜色范围为指定颜色在颜色空间中对应的颜色坐标范围;
提取子模块,用于对所述初始区域进行边缘提取,以得到所述初始区域的至少一个初始边缘;
拟合子模块,用于基于所述初始边缘得到的目标多边形确定所述第一图像帧中指定区域的位置;
所述获取子模块,用于获取所述第一图像帧中每个像素点在第一颜色空间中的第一颜色坐标,并获取每个所述像素点在第二颜色空间中的第二颜色坐标;
所述确定子模块,用于将第一颜色坐标属于预设的第一颜色范围内的像素点作为第一像素点;将第二颜色坐标属于预设的第二颜色范围内的所述第一像素点作为第二像素点;根据所述第二像素点确定所述初始区域;
所述拟合子模块,用于对至少一个初始边缘进行多边形拟合,以得到目标多边形,并根据目标多边形的顶点,确定第一图像帧中指定区域的位置。
8.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-6中任一项所述方法的步骤。
9.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011140043.1A CN112258556B (zh) | 2020-10-22 | 2020-10-22 | 视频中指定区域的跟踪方法、装置、可读介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011140043.1A CN112258556B (zh) | 2020-10-22 | 2020-10-22 | 视频中指定区域的跟踪方法、装置、可读介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112258556A CN112258556A (zh) | 2021-01-22 |
CN112258556B true CN112258556B (zh) | 2024-11-08 |
Family
ID=74263206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011140043.1A Active CN112258556B (zh) | 2020-10-22 | 2020-10-22 | 视频中指定区域的跟踪方法、装置、可读介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112258556B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115082515A (zh) * | 2021-03-15 | 2022-09-20 | 北京字跳网络技术有限公司 | 一种目标跟踪方法、装置、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107993256A (zh) * | 2017-11-27 | 2018-05-04 | 广东工业大学 | 动态目标跟踪方法、装置及存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030026683A (ko) * | 2001-09-26 | 2003-04-03 | 한국전자통신연구원 | 디지털 영상을 이용한 애니메이션 효과를 내는 영상필터링 장치 및 그 방법 |
US7872637B2 (en) * | 2007-04-25 | 2011-01-18 | Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. | System and method for tracking a laser spot on a projected computer screen image |
CN104463238B (zh) * | 2014-12-19 | 2017-12-01 | 深圳市捷顺科技实业股份有限公司 | 一种车标识别方法和系统 |
CN105631803B (zh) * | 2015-12-17 | 2019-05-28 | 小米科技有限责任公司 | 滤镜处理的方法和装置 |
CN105956212A (zh) * | 2016-07-22 | 2016-09-21 | 黎海纤 | 一种大数据下的图像检索方法 |
CN107403435B (zh) * | 2017-07-28 | 2020-06-26 | 江苏大学 | 一种基于rgb颜色空间的彩色图像边缘提取方法 |
CN109145781B (zh) * | 2018-08-03 | 2021-05-04 | 北京字节跳动网络技术有限公司 | 用于处理图像的方法和装置 |
CN113538517B (zh) * | 2019-06-25 | 2024-04-12 | 北京市商汤科技开发有限公司 | 目标追踪方法及装置、电子设备和存储介质 |
CN110414514B (zh) * | 2019-07-31 | 2021-12-07 | 北京字节跳动网络技术有限公司 | 图像处理方法及装置 |
CN110910422A (zh) * | 2019-11-13 | 2020-03-24 | 北京环境特性研究所 | 目标跟踪方法、装置、电子设备和可读存储介质 |
CN111666811B (zh) * | 2020-04-22 | 2023-08-15 | 北京联合大学 | 一种提取交通场景图像中交通标志牌区域方法及系统 |
CN111754541B (zh) * | 2020-07-29 | 2023-09-19 | 腾讯科技(深圳)有限公司 | 目标跟踪方法、装置、设备及可读存储介质 |
CN112241714B (zh) * | 2020-10-22 | 2024-04-26 | 北京字跳网络技术有限公司 | 图像中指定区域的识别方法、装置、可读介质和电子设备 |
-
2020
- 2020-10-22 CN CN202011140043.1A patent/CN112258556B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107993256A (zh) * | 2017-11-27 | 2018-05-04 | 广东工业大学 | 动态目标跟踪方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112258556A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112241714B (zh) | 图像中指定区域的识别方法、装置、可读介质和电子设备 | |
CN109035304B (zh) | 目标跟踪方法、介质、计算设备和装置 | |
CN110062176B (zh) | 生成视频的方法、装置、电子设备和计算机可读存储介质 | |
CN112954450B (zh) | 视频处理方法、装置、电子设备和存储介质 | |
CN110070551B (zh) | 视频图像的渲染方法、装置和电子设备 | |
CN110070063B (zh) | 目标对象的动作识别方法、装置和电子设备 | |
CN112182299B (zh) | 一种视频中精彩片段的获取方法、装置、设备和介质 | |
CN108337505B (zh) | 信息获取方法和装置 | |
CN110084204B (zh) | 基于目标对象姿态的图像处理方法、装置和电子设备 | |
CN111597953A (zh) | 多路图像处理方法、装置及电子设备 | |
CN110062157B (zh) | 渲染图像的方法、装置、电子设备和计算机可读存储介质 | |
CN110781823A (zh) | 录屏检测方法、装置、可读介质及电子设备 | |
CN111494947B (zh) | 摄像机移动轨迹确定方法、装置、电子设备及存储介质 | |
CN110689478B (zh) | 图像风格化处理方法、装置、电子设备及可读介质 | |
CN112258556B (zh) | 视频中指定区域的跟踪方法、装置、可读介质和电子设备 | |
CN111428740A (zh) | 网络翻拍照片的检测方法、装置、计算机设备及存储介质 | |
CN112257598B (zh) | 图像中四边形的识别方法、装置、可读介质和电子设备 | |
CN110288691B (zh) | 渲染图像的方法、装置、电子设备和计算机可读存储介质 | |
CN110047126B (zh) | 渲染图像的方法、装置、电子设备和计算机可读存储介质 | |
CN113963000B (zh) | 图像分割方法、装置、电子设备及程序产品 | |
CN110084835B (zh) | 用于处理视频的方法和装置 | |
CN114037715A (zh) | 图像分割方法、装置、设备及存储介质 | |
CN112668474B (zh) | 平面生成方法和装置、存储介质和电子设备 | |
CN108335314B (zh) | 用于生成信息的方法和装置 | |
CN117676186A (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 |