CN115239755A - 光流估计方法及装置、电子设备和存储介质 - Google Patents
光流估计方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115239755A CN115239755A CN202210886604.5A CN202210886604A CN115239755A CN 115239755 A CN115239755 A CN 115239755A CN 202210886604 A CN202210886604 A CN 202210886604A CN 115239755 A CN115239755 A CN 115239755A
- Authority
- CN
- China
- Prior art keywords
- frame
- optical flow
- video frame
- target
- frame video
- 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.)
- Withdrawn
Links
- 230000003287 optical effect Effects 0.000 title claims abstract description 714
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000012545 processing Methods 0.000 claims description 58
- 238000012937 correction Methods 0.000 claims description 45
- 238000000280 densification Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 230000010365 information processing Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000007430 reference method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
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
-
- G06T5/80—
-
- 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/20021—Dividing image into blocks, subimages or windows
-
- 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]
Abstract
本公开涉及一种光流估计方法及装置、电子设备和存储介质,所述方法包括:获取视频中的第i帧视频帧到第(i‑1)帧视频帧的目标后向光流,i>1;根据第i帧视频帧到第(i‑1)帧视频帧的目标后向光流,确定第i帧视频帧到第(i+1)帧视频帧的初始前向光流;对第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到第i帧视频帧到第(i+1)帧视频帧的目标前向光流;根据第i帧视频帧到第(i+1)帧视频帧的目标前向光流,确定第(i+1)帧视频帧到第i帧视频帧的目标后向光流。本公开实施例可实现充分利用相邻视频帧之间的相关性,得到准确的目标前向光流与目标后向光流。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种光流估计方法及装置、电子设备和存储介质。
背景技术
光流估计也即估计相邻视频帧之间的光流,估计的光流可以应用于各种处理任务,例如视频插帧、目标检测、图像增强等。目前的光流估计算法都是直接对相邻视频帧进行处理,由于每次是将相邻视频帧作为输入来估计光流,这样不仅浪费算力、光流估计的效率也较低。
发明内容
本公开提出了一种光流估计技术方案。
根据本公开的一方面,提供了一种光流估计方法,包括:获取视频中的第i帧视频帧到第(i-1)帧视频帧的目标后向光流,i>1;根据所述第i帧视频帧到所述第(i-1)帧视频帧的目标后向光流,确定所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流;对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流;根据所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,确定所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流;其中,所述视频中多个相邻视频帧之间的目标前向光流与目标后向光流用于对所述视频执行预设处理任务。通过该方式,能够充分利用相邻视频帧之间的相关性,得到准确的目标前向光流与目标后向光流,还可以节省算力、提高光流估计效率。
在一种可能的实现方式中,在获取视频中的第i帧视频帧到第(i-1)帧视频帧的目标后向光流之前,所述方法还包括:利用光流估计网络对所述视频中的第1帧视频帧以及第2帧视频帧进行处理,得到所述第1帧视频帧到所述第2帧视频帧的初始前向光流;对所述第1帧视频帧到所述第2帧视频帧的初始前向光流进行校正,得到所述第1帧视频帧到所述第2帧视频帧的目标前向光流;根据所述第1帧视频帧到所述第2帧视频帧的目标前向光流,确定所述第2帧视频帧到所述第1帧视频帧的目标后向光流。通过该方式,可以有效得到第1帧视频帧到第2帧视频帧之间准确的目标光流。
在一种可能的实现方式中,所述根据所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,确定所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流,包括:对所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流进行后向映射,得到所述第(i+1)帧视频帧到所述第i帧视频帧的初始后向光流;对所述第(i+1)帧视频帧到所述第i帧视频帧的初始后向光流进行校正,得到所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流。通过该方式,可以有效得到更准确的目标后向光流。
在一种可能的实现方式中,所述根据所述第i帧视频帧到所述第(i-1)帧视频帧的目标后向光流,确定所述视频中的所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,包括:对所述第i帧视频帧到所述第(i-1)帧视频帧的目标后向光流进行取反处理,得到所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流。通过该方式,可以高效利用之前的目标后向光流得到当前的初始前向光流。
在一种可能的实现方式中,所述对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,包括:对所述第i帧视频帧进行插值处理,得到具有不同分辨率的多个第一子图,以及对所述第(i+1)帧视频帧进行插值处理,得到具有不同分辨率的多个第二子图;针对具有同一分辨率的第一子图与第二子图,根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第一子图对应的目标稀疏前向光流;对多个第一子图对应的目标稀疏前向光流进行稠密化处理,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流。通过该方式,能够高效地实现对第i帧视频帧到第i+1帧视频帧的初始前向光流进行校正,得到更精准的第i帧视频帧到第i+1帧视频帧的目标前向光流。
在一种可能的实现方式中,所述根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第一子图对应的目标稀疏前向光流,包括:针对预设移动窗口在所述第一子图上当前指示的第一图块,根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第二子图中与所述第一图块相匹配的第二图块,并确定所述第一图块与所述第二图块之间的第一像素误差;基于所述第一图块与所述第二图块之间的第一像素误差,确定所述第一图块对应的光流信息,其中,所述光流信息包括梯度与图像积分图中的至少一种;根据所述第一图块对应的光流信息,确定所述第一图块对应的稀疏前向光流,所述第一子图对应的目标稀疏前向光流包括多个所述第一图块对应的稀疏前向光流。通过该方式,可以有效得到不同分辨率的第一子图对应的目标稀疏前向光流。
在一种可能的实现方式中,所述基于所述第一图块与所述第二图块之间的第一像素误差,确定所述第一图块对应的光流信息,包括:根据所述第一图块对应的周围图块所对应的稀疏前向光流,确定所述第二子图中与所述第一图块相匹配的第三图块,并确定所述第一图块与所述第三图块之间的第二像素误差,所述周围图块包括所述第一图块周围的已确定出稀疏前向光流的图块;在所述第一像素误差大于所述第二像素误差的情况下,确定所述周围图块对应的光流信息,并将所述周围图块对应的光流信息,确定为所述第一图块对应的光流信息;或,在所述第一像素误差小于或等于所述第二像素误差的情况下,确定所述第一图块自身对应的光流信息。通过该方式,能够基于第一图块周围的已确定出稀疏前向光流的图块与当前第一图块之间的像素误差的大小,将像素误差较小所对应的光流信息确定为第一图块的光流信息,有利于之后利用像素误差更小的光流信息准确地确定第一图块的稀疏前向光流。
在一种可能的实现方式中,所述根据所述第一图块对应的光流信息,确定所述第一图块对应的稀疏前向光流,包括:根据所述第一图块对应的光流信息,确定所述第一图块对应的初始稀疏前向光流;根据所述第一图块对应的初始稀疏前向光流,确定所述第二子图中与所述第一图块相匹配的第四图块,并确定所述第一图块与所述第四图块之间的第三像素误差;在所述第三像素误差大于指定阈值的情况下,基于预设光流信息,确定所述第一图块对应的稀疏前向光流;或,在所述第三像素误差小于或等于所述指定阈值的情况下,将所述第一图块对应的初始稀疏前向光流,确定为所述第一图块对应的稀疏前向光流。通过该方式,能够确定出像素误差较小的第一图块所对应的稀疏前向光流,从而得到更准确的第一子图的目标稀疏前向光流。
在一种可能的实现方式中,所述第一子图对应的目标稀疏前向光流包括所述第一子图中多个第一图块对应的稀疏前向光流,其中,所述对多个第一子图对应的目标稀疏前向光流进行稠密化处理,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,包括:针对所述多个第一子图中的每个第一图块,根据每个第一图块对应的稀疏前向光流,确定多个第二子图中的与所述每个第一图块中每个第一像素点匹配的第二像素点,并确定每个第一像素点与匹配的第二像素点之间的像素差值;根据所述每个第一像素点与匹配的第二像素点之间的像素差值,确定所述每个第一像素点对应的权重;根据所述多个第一子图中每个第一像素点对应的权重以及所述多个第一子图各自对应目标稀疏前向光流,确定所述多个第一子图中每个第一像素点对应的前向光流;其中,所述目标前向光流包括所述多个第一子图中每个第一像素点对应的前向光流。通过该方式,可以利用目标稀疏前向光流得到有效准确的目标前向光流。
在一种可能的实现方式中,所述对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,包括:利用光流校正网络对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流;其中,所述光流校正网络还用于对所述视频中的第1帧视频帧到第2帧视频帧的初始前向光流进行校正,以及对所述视频中的第i帧视频帧到第(i+1)帧视频帧的初始后向光流进行校正。通过该方式,可以有效实现对各相邻视频帧之间初始光流(初始前向光流或初始后向光流)的校正。
根据本公开的一方面,提供了一种光流校正装置,包括:获取模块,用于获取视频中的第i帧视频帧到第(i-1)帧视频帧的目标后向光流,i>1;前向光流确定模块,用于根据所述第i帧视频帧到所述第(i-1)帧视频帧的目标后向光流,确定所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流;校正模块,用于对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流;后向光流确定模块,用于根据所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,确定所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流;其中,所述视频中多个相邻视频帧之间的目标前向光流与目标后向光流用于对所述视频执行预设处理任务。
在一种可能的实现方式中,在获取视频中的第i帧视频帧到第(i-1)帧视频帧的目标后向光流之前,所述装置还包括:网络处理模块,用于利用光流估计网络对所述视频中的第1帧视频帧以及第2帧视频帧进行处理,得到所述第1帧视频帧到所述第2帧视频帧的初始前向光流;光流校正模块,用于对所述第1帧视频帧到所述第2帧视频帧的初始前向光流进行校正,得到所述第1帧视频帧到所述第2帧视频帧的目标前向光流;光流确定模块,用于根据所述第1帧视频帧到所述第2帧视频帧的目标前向光流,确定所述第2帧视频帧到所述第1帧视频帧的目标后向光流。
在一种可能的实现方式中,所述后向光流确定模块,包括:后向映射子模块,用于对所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流进行后向映射,得到所述第(i+1)帧视频帧到所述第i帧视频帧的初始后向光流;后向光流校正子模块,用于对所述第(i+1)帧视频帧到所述第i帧视频帧的初始后向光流进行校正,得到所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流。
在一种可能的实现方式中,所述前向光流确定模块,包括:取反子模块,用于对所述第i帧视频帧到所述第(i-1)帧视频帧的目标后向光流进行取反处理,得到所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流。
在一种可能的实现方式中,所述校正模块,包括:插值子模块,用于对所述第i帧视频帧进行插值处理,得到具有不同分辨率的多个第一子图,以及对所述第(i+1)帧视频帧进行插值处理,得到具有不同分辨率的多个第二子图;稀疏光流确定子模块,用于针对具有同一分辨率的第一子图与第二子图,根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第一子图对应的目标稀疏前向光流;稠密化子模块,用于对多个第一子图对应的目标稀疏前向光流进行稠密化处理,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流。
在一种可能的实现方式中,所述根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第一子图对应的目标稀疏前向光流,包括:针对预设移动窗口在所述第一子图上当前指示的第一图块,根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第二子图中与所述第一图块相匹配的第二图块,并确定所述第一图块与所述第二图块之间的第一像素误差;基于所述第一图块与所述第二图块之间的第一像素误差,确定所述第一图块对应的光流信息,其中,所述光流信息包括梯度与图像积分图中的至少一种;根据所述第一图块对应的光流信息,确定所述第一图块对应的稀疏前向光流,所述第一子图对应的目标稀疏前向光流包括多个所述第一图块对应的稀疏前向光流。
在一种可能的实现方式中,所述基于所述第一图块与所述第二图块之间的第一像素误差,确定所述第一图块对应的光流信息,包括:根据所述第一图块对应的周围图块所对应的稀疏前向光流,确定所述第二子图中与所述第一图块相匹配的第三图块,并确定所述第一图块与所述第三图块之间的第二像素误差,所述周围图块包括所述第一图块周围的已确定出稀疏前向光流的图块;在所述第一像素误差大于所述第二像素误差的情况下,确定所述周围图块对应的光流信息,并将所述周围图块对应的光流信息,确定为所述第一图块对应的光流信息;或,在所述第一像素误差小于或等于所述第二像素误差的情况下,确定所述第一图块自身对应的光流信息。
在一种可能的实现方式中,所述根据所述第一图块对应的光流信息,确定所述第一图块对应的稀疏前向光流,包括:根据所述第一图块对应的光流信息,确定所述第一图块对应的初始稀疏前向光流;根据所述第一图块对应的初始稀疏前向光流,确定所述第二子图中与所述第一图块相匹配的第四图块,并确定所述第一图块与所述第四图块之间的第三像素误差;在所述第三像素误差大于指定阈值的情况下,基于预设光流信息,确定所述第一图块对应的稀疏前向光流;或,在所述第三像素误差小于或等于所述指定阈值的情况下,将所述第一图块对应的初始稀疏前向光流,确定为所述第一图块对应的稀疏前向光流。
在一种可能的实现方式中,所述第一子图对应的目标稀疏前向光流包括所述第一子图中多个第一图块对应的稀疏前向光流,其中,所述对多个第一子图对应的目标稀疏前向光流进行稠密化处理,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,包括:针对所述多个第一子图中的每个第一图块,根据每个第一图块对应的稀疏前向光流,确定多个第二子图中的与所述每个第一图块中每个第一像素点匹配的第二像素点,并确定每个第一像素点与匹配的第二像素点之间的像素差值;根据所述每个第一像素点与匹配的第二像素点之间的像素差值,确定所述每个第一像素点对应的权重;根据所述多个第一子图中每个第一像素点对应的权重以及所述多个第一子图各自对应目标稀疏前向光流,确定所述多个第一子图中每个第一像素点对应的前向光流;其中,所述目标前向光流包括所述多个第一子图中每个第一像素点对应的前向光流。
在一种可能的实现方式中,所述校正模块,包括:网络校正子模块,用于利用光流校正网络对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流;其中,所述光流校正网络还用于对所述视频中的第1帧视频帧到第2帧视频帧的初始前向光流进行校正,以及对所述视频中的第i帧视频帧到第(i+1)帧视频帧的初始后向光流进行校正。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,通过基于之前相邻两帧视频帧之间的目标后向光流确定当前相邻两帧视频帧之间的初始前向光流,这样可以使初始前向光流的方向和起点是正确的,再通过对初始前向光流进行校正,得到目标前向光流,再根据目标前向光流确定目标后向光流,能够充分利用相邻视频帧之间的相关性,得到准确的目标前向光流与目标后向光流,还可以节省算力、提高光流估计效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出根据本公开实施例的光流估计方法的流程图。
图2示出根据本公开实施例的一种第一子图的示意图。
图3示出根据本公开实施例的一种图块匹配的示意图。
图4示出根据本公开实施例的光流校正装置的框图。
图5示出根据本公开实施例的一种电子设备1900的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
应当理解,本公开的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本公开的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
可知晓的是,光流估计是利用视频序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息。光流包括前向光流和后向光流,其中,前向光流是指从较早时刻的视频帧到较晚时刻的视频帧的光流,例如从t1时刻对应的视频帧i1到t2时刻对应的视频帧i2的光流,t1<t2;后向光流是指从较晚时刻的视频帧到较早时刻的视频帧的光流,例如从t2时刻对应的视频帧i1到t1时刻对应的视频帧i2的光流,t2>t1。
相关技术中通常是利用光流估计网络对相邻视频帧进行处理,输出相邻视频帧之间的光流,但这种方式由于每次估计光流是将相邻视频帧作为光流估计网络的输入,这样不仅浪费算力且光流估计效率也较低,也未充分利用视频序列在运动和内容上的相关性,泛化性较差。
根据本公开实施例的光流估计方法,通过基于之前相邻两帧视频帧之间的目标后向光流确定当前相邻两帧视频帧之间的初始前向光流,这样可以使初始前向光流的方向和起点是正确的,再通过对初始前向光流进行校正,得到目标前向光流,再根据目标前向光流确定目标后向光流,能够充分利用相邻视频帧之间的相关性,得到准确的目标前向光流与目标后向光流,还可以节省算力、提高光流估计效率。
根据本公开实施例的光流估计方法,能够挖掘视频序列中隐含的相关性信息,在每次估计光流之前能够根据之前的运算结果(也即目标后向光流)计算初始前向光流,之后再通过对初始光流校正,得到目标光流,而不是每次从输入视频帧开始计算,有利于提高光流估计效率,同时保证光流质量。
图1示出根据本公开实施例的光流估计方法的流程图,所述光流估计方法可以由终端设备或服务器等电子设备执行,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现,或者,可通过服务器执行所述方法。如图1所示,所述光流估计方法包括:
在步骤S11中,获取视频中的第i帧视频帧到第i-1帧视频帧的目标后向光流,i>1;
在步骤S12中,根据第i帧视频帧到第i-1帧视频帧的目标后向光流,确定第i帧视频帧到第i+1帧视频帧的初始前向光流;
在步骤S13中,对第i帧视频帧到第i+1帧视频帧的初始前向光流进行校正,得到第i帧视频帧到第i+1帧视频帧的目标前向光流;
在步骤S14中,根据第i帧视频帧到所述第i+1帧视频帧的目标前向光流,确定第i+1帧视频帧到第i帧视频帧的目标后向光流。
应理解的是,视频中的视频帧是按照采集时序进行排列的,第i帧视频帧排列在第i-1帧视频帧之后,且排列在第i+1帧视频帧之前,i大于1且小于视频帧的总帧数I。其中,当i=1时,第2帧视频帧到第1帧视频帧的目标后向光流,可以是根据第1帧视频帧到第2帧视频帧的目标前向光流确定的,第1帧视频帧到第2帧视频帧的目标前向光流可以是通过光流估计网络对第1帧视频帧以及第2帧视频帧进行处理得到的;从第2帧视频帧之后,可以是循环执行上述步骤S11到步骤S14得到相邻视频帧之间的目标前向光流与目标后向光流。
其中,光流估计网络例如可以是U-net网络、LiteFlownet网络等类型的卷积神经网络,光流估计网络可以用于估计相邻视频帧之间的前向光流和/或后向光流,本公开实施例对于光流估计网络的网络结构、网络类型以及训练方式等不作限制。
在通过上述步骤S11到步骤S14得到视频中多个相邻视频帧之间的目标前向光流与目标后向光流之后,可以利用多个相邻视频帧之间的目标前向光流与目标后向光流对视频执行预设处理任务,也即视频中多个相邻视频帧之间的目标前向光流与目标后向光流用于对视频执行预设处理任务。其中,预设处理任务例如可以包括视频插帧、目标检测和图像增强等,应理解的是,本领域技术人员可以利用本公开实施例计算出的目标光流(包括目标前向光流与目标后向光流)来执行各种利用光流实现的预设处理任务,本公开实施例对于预设处理任务的类型不作限制。
在一种可能的实现方式中,在步骤S12中,根据第i帧视频帧到第i-1帧视频帧的目标后向光流,确定第i帧视频帧到第i+1帧视频帧的初始前向光流,包括:对第i帧视频帧到第i-1帧视频帧的目标后向光流进行取反处理,得到第i帧视频帧到第i+1帧视频帧的初始前向光流。通过该方式,可以高效利用之前的目标后向光流得到当前的初始前向光流。其中,取反处理可以包括将目标后向光流乘以“-1”。
在一种可能的实现方式中,在步骤S13中,对第i帧视频帧到第i+1帧视频帧的初始前向光流进行校正,得到第i帧视频帧到第i+1帧视频帧的目标前向光流,可以包括:利用光流校正网络对第i帧视频帧到第i+1帧视频帧的初始前向光流进行校正,得到第i帧视频帧到第i+1帧视频帧的目标前向光流。
其中,光流校正网络可以用于对初始光流(包括初始前向光流或初始后向光流)进行校正,来得到更准确的目标光流(包括目标前向光流或目标后向光流),本公开实施例对于光流校正网络的网络结构、网络类型以及训练方式等不作限制。例如,光流校正网络可以采用上述LiteFlownet中的NetE部分的具有光流校正作用的光流修正模块。
在一种可能的实现方式中,在步骤S14中,根据第i帧视频帧到第i+1帧视频帧的目标前向光流,确定第i+1帧视频帧到第i帧视频帧的目标后向光流,包括:对第i帧视频帧到第i+1帧视频帧的目标前向光流进行后向映射,得到第i+1帧视频帧到第i帧视频帧的初始后向光流;对第i+1帧视频帧到第i帧视频帧的初始后向光流进行校正,得到第i+1帧视频帧到第i帧视频帧的目标后向光流。通过该方式,可以有效得到更准确的目标后向光流。
其中,本领域技术人员可以采用本领域已知的后向映射(backward warp)算法,来对第i帧视频帧到第i+1帧视频帧的目标前向光流进行后向映射,得到第i+1帧视频帧到第i帧视频帧的初始后向光流;以及可以利用上述光流校正网络对第i+1帧视频帧到第i帧视频帧的初始后向光流进行校正,得到第i+1帧视频帧到第i帧视频帧的目标后向光流。本公开实施例对于后向映射方式与光流校正方式不作限制。
在一种可能的实现方式中,在步骤S11获取视频中的第i帧视频帧到第(i-1)帧视频帧的目标后向光流之前,所述方法还包括:利用光流估计网络对视频中的第1帧视频帧以及第2帧视频帧进行处理,得到第1帧视频帧到第2帧视频帧的初始前向光流F12init;对第1帧视频帧到第2帧视频帧的初始前向光流F12init进行校正,得到第1帧视频帧到第2帧视频帧的目标前向光流F12;根据第1帧视频帧到第2帧视频帧的目标前向光流F12,确定第2帧视频帧到第1帧视频帧的目标后向光流F21。通过该方式,可以有效得到第1帧视频帧到第2帧视频帧之间准确的目标光流。
在一种可能的实现方式中,根据第1帧视频帧到第2帧视频帧的目标前向光流F12,确定第2帧视频帧到第1帧视频帧的目标后向光流F21,可以包括:对第1帧视频帧到第2帧视频帧的目标前向光流F12进行后向映射,得到第2帧视频帧到第1帧视频帧的初始后向光流F21init;对第2帧视频帧到第1帧视频帧的初始后向光流F21init进行校正,得到第2帧视频帧到第1帧视频帧的目标后向光流F21。通过该方式,可得到更准确的第2帧视频帧到第1帧视频帧的目标后向光流。
其中,可以采用已知的后向映射算法对第1帧视频帧到第2帧视频帧的目标前向光流进行后向映射;可以利用上述光流校正网络对第1帧视频帧到第2帧视频帧的初始前向光流进行校正,以及对第2帧视频帧到第1帧视频帧的初始后向光流进行校正,对此本公开实施例不作限制。
在得到第2帧视频帧到第1帧视频帧的目标后向光流F21之后,可以对第2帧视频帧到第1帧视频帧的目标后向光流进行取反处理,得到第2帧视频帧到第3帧视频帧的初始前向光流F23init;再对第2帧视频帧到第3帧视频帧的初始前向光流F23init进行校正,得到第2帧视频帧到第3帧视频帧的目标前向光流F23;然后对第2帧视频帧到第3帧视频帧的目标前向光流F23进行反向映射,得到第3帧视频帧到第2帧视频帧的初始后向光流F32init;再对第3帧视频帧到第2帧视频帧的初始后向光流F32init进行校正,得到第3帧视频帧到第2帧视频帧的目标后向光流F32,依次类推,直至得到第I帧视频帧到第I-1帧视频帧的目标后向光流FI(I-1),I为视频的总帧数,输出视频中多个相邻视频帧之间的目标前向光流与目标后向光流。
在本公开实施例中,通过基于之前相邻两帧视频帧之间的目标后向光流确定当前相邻两帧视频帧之间的初始前向光流,这样可以使初始前向光流的方向和起点是正确的,再通过对初始前向光流进行校正,得到目标前向光流,再根据目标前向光流确定目标后向光流,能够充分利用相邻视频帧之间的相关性,得到准确的目标前向光流与目标后向光流,还可以节省算力、提高光流估计效率。
如上所述,通过本公开实施例的光流估计方法所得到的目标光流(包括目标前向光流与目标后向光流)可以应用于视频插帧任务,在一种可能的实现方式中,基于目标光流的视频插帧方法可以包括:利用已训练的深度神经网络,实现根据目标光流以及相邻视频帧,预测相邻视频帧映射到插帧时刻的掩码图以及中间光流(中间光流包括第j帧视频帧到插帧时刻的前向光流与第j+1帧视频帧到插帧时刻的后向光流,I>j≥1),掩码图用于指示从第j帧视频帧以及前向光流中提取信息,还是从第j+1帧视频帧以及后向光流中提取信息,来生成中间视频帧;再根据该掩码图以及中间光流,计算待生成的中间视频帧上的各个像素点的像素值,得到中间视频帧并插入到相邻视频帧之间。
通过将本公开实施例的光流估计方法应用到视频插帧中,不仅可以实时高效地估计出高质量的目标光流,有利于提升视频插帧的实时性,也即降低光流估计在视频插帧所需的耗时,实现高效率的光流估计与视频插帧。
应理解的是,以上利用本公开实施例的光流估计方法所得到的目标光流进行视频插帧,是本公开实施例提供的一种实现方式。本公开实施例可以采用本领域已知的视频插帧方法实现根据目标光流进行视频插帧,对此本公开实施例不作限制。
本公开实施例还提供一种光流校正方式,用于对初始光流进行校正,也即可以用于对第i帧视频帧到第i+1帧视频帧的初始前向光流进行校正、对第1帧视频帧到第2帧视频帧的初始前向光流进行校正、对第i+1帧视频帧到第i帧视频帧的初始后向光流进行校正、对第2帧视频帧到第1帧视频帧的初始后向光流进行校正。为行文简洁,本公开实施例分别以对第i帧视频帧到第i+1帧视频帧的初始前向光流进行校正以及对第i+1帧视频帧到第i帧视频帧的初始后向光流进行校正为例,陈述该光流校正方式的实现过程,其它相邻视频帧之间的初始光流的校正过程不再赘述。
在一种可能的实现方式中,在步骤S13中,对第i帧视频帧到第i+1帧视频帧的初始前向光流进行校正,得到第i帧视频帧到第i+1帧视频帧的目标前向光流,包括:
步骤S131:对第i帧视频帧进行插值处理,得到具有不同分辨率的多个第一子图,以及对第i+1帧视频帧进行插值处理,得到具有不同分辨率的多个第二子图;
步骤S132:针对具有同一分辨率的第一子图与第二子图,根据第i帧视频帧到第i+1帧视频帧的初始前向光流,确定第一子图对应的目标稀疏前向光流;
步骤S133:对多个第一子图对应的目标稀疏前向光流进行稠密化处理,得到第i帧视频帧到第i+1帧视频帧的目标前向光流。
其中,在步骤S131中,可以采用本领域已知的插值算法,例如线性插值、非线性插值等,分别对第i帧视频帧以及第i+1帧视频帧进行插值处理,得到具有不同分辨率的多个第一子图以及具有不同分辨率的多个第二子图,第一子图与第二子图的数量相同,以便于之后利用分辨率相同的第一子图与第二子图,确定第一子图对应的目标稀疏前向光流,例如可以对1024×1024的视频帧中的每4个像素点进行插值出一个像素点,能够得到512×512的子图,再对512×512的子图中每4个像素点进行插值出一个像素点,能够得到256×256的子图等,以此类推。
其中,在得到多个第一子图以及多个第二子图后,可以分别计算具有同一分辨率的第一子图以及第二子图之间的光流信息,光流信息可以包括梯度与图像积分图中的至少一种,利用光流信息可以确定每个第一图块对应的稀疏前向光流。其中,梯度也即像素点在x轴、y轴与时间轴上的偏导,像素点在x轴与y轴上的偏导可以通过第一子图计算出来,在时间轴上的偏导可以通过第一子图与第二子图之间的差分计算出来,本公开实施例对于梯度的计算方式不作限制;图像积分图可以采用本领域已知的积分图算法得到,本公开实施例对于图像积分图的确定方式不作限制。
在一种可能的实现方式中,在步骤S132中,根据第i帧视频帧到第i+1帧视频帧的初始前向光流,确定第一子图对应的目标稀疏前向光流,包括:
步骤S1321:针对预设移动窗口在第一子图上当前指示的第一图块,根据第i帧视频帧到第i+1帧视频帧的初始前向光流,确定第二子图中与第一图块相匹配的第二图块,并确定第一图块与第二图块之间的第一像素误差;
步骤S1322:基于第一图块与第二图块之间的第一像素误差,确定第一图块对应的光流信息;
步骤S1323:根据第一图块对应的光流信息,确定第一图块对应的稀疏前向光流,第一子图对应的目标稀疏前向光流包括多个第一图块对应的稀疏前向光流。
通过该方式,可以有效得到不同分辨率的第一子图对应的目标稀疏前向光流。
其中,预设移动窗口可以是具有指定尺寸且按照指定方向移动的窗口,该预设移动窗口当前指示的第一图块,也即该预设移动窗口当前框定的多个像素点,其中,指定尺寸例如可是2×2或3×3等,指定方向例如包括从图像的左上角到右下角的“Z”字形移动方向,以及右上角到左上角的“Z”字形移动方向等。在一种可能的实现方式中,可以先按照从图像的左上角到右下角的“Z”字形移动方向,执行步骤S1321至步骤S1323;再按照从右上角到左上角的“Z”字形移动方向,重复执行步骤S1321至步骤S1323,从而能够得到第一子图对应的完整的目标稀疏前向光流。
图2示出根据本公开实施例的一种第一子图的示意图,如图2所示,粗线框可以是当前位置的预设移动窗口,该预设移动窗口当前指示的是第一图块,箭头代表预设移动窗口的移动方向,圆圈代表像素点,粗虚线框指示第一图块周围的已确定出目标稀疏前向光流的周围图块,也就是说,周围图块是第一图块周围的已确定出稀疏前向光流的图块,细虚线框指示其他已确定出目标稀疏前向光流的图块。
图3示出根据本公开实施例的一种图块匹配的示意图,如图3所示,假设I1代表第一子图,I2代表第二子图,I1中实线框可以代表预设移动窗口当前指示的第一图块,I1中实线框与I2中实线框之间的虚线可以代表初始前向光流,那么基于该初始前向光流,I2中实线框指示的图块可以代表与I1中第一图块匹配的第二图块。
应理解的是,光流可以代表像素点分别在x轴与y轴上的移动速度,那么基于初始前向光流可以计算出第i帧视频帧中每个像素点映射到第i+1帧视频帧对应时刻的像素位置,例如,假设第i帧视频帧中某个像素位置为(x,y)的像素点,其对应的初始前向光流为(u,v),则将第i帧视频帧中该像素点映射至第i+1帧视频帧中的像素位置为(x+u,y+v),也就是说第i+1帧视频帧中像素位置为(x+u,y+v)的像素点,是与第i帧视频帧中像素位置为(x,y)的像素点相匹配的像素点,那么与第一图块匹配的第二图块,也即是第二子图中与第一图块内多个第一像素点匹配的多个第二像素点所构成的图块。
应理解的是,第一子图与第二子图是通过分别对第i帧视频帧以及第i+1帧视频帧进行插值处理得到的,因此第i帧视频帧到第i+1帧视频帧的初始前向光流,实际上包括第一子图到第二子图的初始前向光流。
在一种可能的实现方式中,像素误差可以包括两个匹配图块之间像素差值的方差,例如第一图块与第二图块之间像素差值的方差;如上所述,光流信息可以包括预先计算的梯度以及图像积分图中的至少一种。在一种可能的实现方式中,在步骤S1322中,基于第一图块与第二图块之间的第一像素误差,确定第一图块对应的光流信息,包括:
根据第一图块对应的周围图块所对应的稀疏前向光流,确定第二子图中与第一图块相匹配的第三图块,并确定第一图块与第三图块之间的第二像素误差,周围图块包括第一图块周围的已确定出稀疏前向光流的图块;在第一像素误差大于第二像素误差的情况下,确定周围图块对应的光流信息,并将周围图块对应的光流信息,确定为第一图块对应的光流信息;或,在第一像素误差小于或等于第二像素误差的情况下,确定第一图块自身对应的光流信息。通过该方式,能够基于第一图块周围的已确定出稀疏前向光流的图块与当前第一图块之间的像素误差的大小,将像素误差较小所对应的光流信息确定为第一图块的光流信息,有利于之后利用像素误差更小的光流信息准确地确定第一图块的稀疏前向光流。
其中,周围图块可以是第一图块周围已确定出稀疏前向光流的图块,如图2所示,预设移动窗口(也即第一图块)周围的粗虚线框所指示的为该第一图块对应的周围图块。根据第一图块对应的周围图块所对应的稀疏前向光流,确定第二子图中与第一图块相匹配的第三图块,并确定第一图块与第三图块之间的第二像素误差,可以理解为利用周围图块对应的稀疏前向光流,来重新从第二子图块确定出与第一图块匹配的第三图块,然后计算第一图块与第三图块之间像素差值的方差。如图3所示,假设I1中实线框与I2中实线框之间的虚线代表上述周围图块的稀疏前向光流,也就是用周围图块的稀疏前向光流再确定第二子图中与第一图块匹配的图块,那么基于该稀疏前向光流进行匹配,I2中实线框指示的图块可以代表与I1中第一图块匹配的第三图块。应理解的是,第三图块可能与第二图块相同、也可能不同、还可能有部分重叠等。
在得到第一图块与第三图块之间的第二像素误差之后,可以比较第二像素误差与第一像素误差之间的大小,来记录像素误差较小的光流信息,具体的,若第一像素误差大于第二像素误差,可以将已计算出的周围图块对应的光流信息,确定为第一图块对应的光流信息,若第一像素误差小于或等于第二像素误差,则保留第一图块自身对应的光流信息。这样可以使计算第一图块的稀疏前向光流所使用的光流信息是像素误差较小的光流信息,有利于得到较高精度的系数前向光流。如上所述,本公开实施例对于光流信息的计算方式不作限制。
在通过S1322得到第一图块对应的光流信息后,可以基于该光流信息确定第一图块对应的稀疏前向光流,例如可以采用本领域已知的光流估计算法,例如两帧差分的光流估计算法(Lucas-Kanade,L-K)等。在一种可能的实现方式中,在步骤S1323中,根据第一图块对应的光流信息,确定第一图块对应的稀疏前向光流,包括:
根据第一图块对应的光流信息,确定第一图块对应的初始稀疏前向光流;根据第一图块对应的初始稀疏前向光流,确定第二子图中与第一图块相匹配的第四图块,并确定第一图块与第四图块之间的第三像素误差;在第三像素误差大于指定阈值的情况下,基于预设光流信息,确定第一图块对应的稀疏前向光流;或,在第三像素误差小于或等于指定阈值的情况下,将第一图块对应的初始稀疏前向光流,确定为第一图块对应的稀疏前向光流。通过该方式,能够确定出像素误差较小的第一图块所对应的稀疏前向光流,从而得到更准确的第一子图的目标稀疏前向光流。
其中,根据第一图块对应的光流信息,确定第一图块对应的初始稀疏前向光流,可以包括:基于第一图块对应的光流信息,利用L-K算法估计光流校正量;再将该光流校正量与第一图块对应的初始前向光流进行相加,得到第一图块对应的初始稀疏前向光流,也即实现对初始前向光流的校正。如上所述,第i帧视频帧到第i+1帧视频帧的初始前向光流,实际上包括第一子图到第二子图的初始前向光流,那么也即包括第一图块对应的初始前向光流。本公开实施例对于L-K算法的计算过程不作限制。
其中,根据第一图块对应的初始稀疏前向光流,确定第二子图中与第一图块相匹配的第四图块,并确定第一图块与第四图块之间的第三像素误差,可以理解为,利用第一图块对应的光流信息所确定的初始稀疏前向光流,再次从第二子图中确定出与第一图块匹配的第四图块,并计算第一图块与第四图块之间像素差值的方差。如图3所示,假设I1中实线框与I2中实线框之间的虚线代表上述初始稀疏前向光流,那么基于该初始稀疏前向光流进行匹配,也即利用该初始稀疏前向光流再确定出第二子图中与第一图块匹配的图块,I2中实线框所指示的图块可以代表与I1中第一图块匹配的第四图块。应理解的是,第四图块可能与上述第三图块相同、也可能不同、还可能有部分重叠等,这取决于第三像素误差与第一像素误差之间的大小关系。
其中,指定阈值可以根据上述第一像素误差与第二像素误差的大小关系确定,具体的,可以在第一像素误差大于第二像素误差时,将第二像素误差确定为指定阈值;或在第一像素误差小于或等于第二像素误差时,将第一像素误差确定为指定阈值,对此本公开实施例不作限制。
其中,若第三像素误差大于指定阈值,意味通过上述S1322得到第一图块对应的光流信息仍是像素误差较大的,因此可以基于预设光流信息,来确定第一图块对应的稀疏前向光流,该预设光流信息例如可以是梯度为0和/或图像积分图为0的光流信息,本公开实施例对于预设光流信息的具体数值不作限制。若第三像素误差小于或等于指定阈值,意味通过上述S1322得到第一图块对应的光流信息是像素误差较小的,因此可以直接将第一图块对应的初始稀疏前向光流,确定为第一图块对应的稀疏前向光流。
其中,基于预设光流信息,确定第一图块对应的稀疏前向光流,可以包括:基于预设光流信息,利用L-K算法估计光流校正量;再将该光流校正量与第一图块对应的初始前向光流进行相加,得到第一图块对应的稀疏前向光流。
如上所述,通过步骤S132得到的目标稀疏前向光流包括多个第一图块对应的稀疏前向光流,每个第一图块对应的稀疏前向光流是在以第一图块内每个像素点的前向光流是相同的假设上所计算出的前向光流,但实际上每个像素点的前向光流可能是不同的,因此通过对目标稀疏前向光流进行稠密化,来得到每个像素点实际对应的前向光流。
在一种可能的实现方式中,在步骤S133,对多个第一子图对应的目标稀疏前向光流进行稠密化处理,得到第i帧视频帧到第i+1帧视频帧的目标前向光流,包括:针对多个第一子图中的每个第一图块,根据每个第一图块对应的稀疏前向光流,确定多个第二子图中的与每个第一图块中每个第一像素点匹配的第二像素点,并确定每个第一像素点与匹配的第二像素点之间的像素差值;根据每个第一像素点与匹配的第二像素点之间的像素差值,确定每个第一像素点对应的权重;根据多个第一子图中每个第一像素点对应的权重以及多个第一子图各自对应目标稀疏前向光流,确定多个第一子图中每个第一像素点对应的前向光流;其中,目标前向光流包括多个第一子图中每个第一像素点对应的前向光流。通过该方式,可以利用目标稀疏前向光流得到有效准确的目标前向光流。
其中,针对多个第一子图中的每个第一图块,根据每个第一图块对应的稀疏前向光流,确定多个第二子图中的与每个第一图块中每个第一像素点匹配的第二像素点,并确定每个第一像素点与匹配的第二像素点之间的像素差值,可以理解为,利用每个第一图块对应的稀疏前向光流进行图块匹配,得到第二子图中与第一图块匹配的第五图块,也即得到与每个第一图块中每个第一像素点匹配的第二像素点,再计算每个第一像素点与匹配的第二像素点之间的像素差值。如图3所示,假设I1中实线框与I2中实线框之间的虚线可以代表上述每个第一图块对应的稀疏前向光流,那么基于每个第一图块对应的稀疏前向光流,I2中实线框所包含的各个像素点也可以是与每个第一图块中每个第一像素点匹配的第二像素点,也即I2中实线框所指示的可以是基于稀疏前向光流确定的与第一图块匹配的第五图块。
其中,根据每个第一像素点与匹配的第二像素点之间的像素差值,确定每个第一像素点对应的权重,可以包括:将每个第一像素点对应的像素差值的倒数的二次根,确定为该第一像素点对应的权重。当然也可以采用其他权重确定方式,对此本公开实施例不作限制。
其中,根据多个第一子图中每个第一像素点对应的权重以及多个第一子图各自对应目标稀疏前向光流,确定多个第一子图中每个第一像素点对应的前向光流,可以包括:根据每个第一图块中每个第一像素点对应的权重,对每个第一像素点所在的第一图块的稀疏前向光流进行加权,得到每个第一像素点对应的前向光流。还可以对每个第一像素点所在的第一图块的稀疏前向光流进行加权求和,得到目标前向光流。
在本公开实施例中,通过上述步骤S131至步骤S133,能够高效地实现对第i帧视频帧到第i+1帧视频帧的初始前向光流进行校正,得到更精准的第i帧视频帧到第i+1帧视频帧的目标前向光流。
基于上述对第i+1帧视频帧到第i帧视频帧的初始前向光流进行校正的过程,以下简要陈述对第i+1帧视频帧到第i帧视频帧的初始后向光流进行校正的过程,其中各个步骤均可以参照上述对第i+1帧视频帧到第i帧视频帧的初始前向光流进行校正的实现方式。
在一种可能的实现方式中,对第i+1帧视频帧到第i帧视频帧的初始后向光流进行校正,得到第i+1帧视频帧到第i帧视频帧的目标后向光流,包括:
对第i帧视频帧进行插值处理,得到具有不同分辨率的多个第一子图,以及对第i+1帧视频帧进行插值处理,得到具有不同分辨率的多个第二子图;
针对具有同一分辨率的第一子图与第二子图,根据第i+1帧视频帧到第i帧视频帧的初始后向光流,确定第二子图对应的目标稀疏后向光流;
对多个第二子图对应的目标稀疏前向光流进行稠密化处理,得到第i+1帧视频帧到第i帧视频帧的目标后向光流。
其中,根据第i+1帧视频帧到第i帧视频帧的初始后向光流,确定第二子图对应的目标稀疏后向光流,包括:针对预设移动窗口在第二子图上当前指示的第二图块,根据第i+1帧视频帧到第i帧视频帧的初始后向光流,确定第一子图中与第二图块相匹配的第一图块,并确定第二图块与第一图块之间的第一像素误差;基于第二图块与第一图块之间的第一像素误差,确定第二图块对应的光流信息;根据第二图块对应的光流信息,确定第二图块对应的稀疏后向光流,第二子图对应的目标稀疏后向光流包括多个第二图块对应的稀疏后向光流。
其中,基于第二图块与第一图块之间的第一像素误差,确定第二图块对应的光流信息,包括:根据第二图块对应的周围图块所对应的稀疏后向光流,确定第一子图中与第二图块相匹配的第三图块,并确定第二图块与第三图块之间的第二像素误差,周围图块包括第二图块周围的已确定出稀疏后向光流的图块;在第一像素误差大于第二像素误差的情况下,确定周围图块对应的光流信息,并将周围图块对应的光流信息,确定为第二图块对应的光流信息;或,在第一像素误差小于或等于第二像素误差的情况下,确定第二图块自身对应的光流信息。
其中,根据第二图块对应的光流信息,确定第二图块对应的稀疏后向光流,包括:根据第二图块对应的光流信息,确定第二图块对应的初始稀疏后向光流;根据第二图块对应的初始稀疏后向光流,确定第一子图中与第二图块相匹配的第四图块,并确定第二图块与第四图块之间的第三像素误差;在第三像素误差大于指定阈值的情况下,基于预设光流信息,确定第二图块对应的稀疏后向光流;或,在第三像素误差小于或等于指定阈值的情况下,将第二图块对应的初始稀疏前向光流,确定为第二图块对应的稀疏前向光流。
其中,对多个第二子图对应的目标稀疏前向光流进行稠密化处理,得到第i+1帧视频帧到第i帧视频帧的目标后向光流,包括:针对多个第二子图中的每个第二图块,根据每个第二图块对应的稀疏后向光流,确定多个第一子图中的与每个第二图块中每个第二像素点匹配的第一像素点,并确定每个第二像素点与匹配的第一像素点之间的像素差值;根据每个第二像素点与匹配的第一像素点之间的像素差值,确定每个第二像素点对应的权重;根据多个第二子图中每个第二像素点对应的权重以及多个第二子图各自对应目标稀疏后向光流,确定多个第二子图中每个第二像素点对应的后向光流;其中,目标后向光流包括多个第二子图中每个第二像素点对应的后向光流。
在本公开实施例中,能够高效实现对第i+1帧视频帧到第i帧视频帧的初始后向光流进行校正,得到更准确的第i+1帧视频帧到第i帧视频帧的目标后向光流。
可以理解,本公开提及的上述各个方法实施例,在不违背原理逻辑的情况下,均可以彼此相互结合形成结合后的实施例,限于篇幅,本公开不再赘述。本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
此外,本公开还提供了光流校正装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种光流校正方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图4示出根据本公开实施例的光流校正装置的框图,如图4所示,所述装置包括:
获取模块101,用于获取视频中的第i帧视频帧到第(i-1)帧视频帧的目标后向光流,i>1;
前向光流确定模块102,用于根据所述第i帧视频帧到所述第(i-1)帧视频帧的目标后向光流,确定所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流;
校正模块103,用于对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流;
后向光流确定模块104,用于根据所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,确定所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流;
其中,所述视频中多个相邻视频帧之间的目标前向光流与目标后向光流用于对所述视频执行预设处理任务。
在一种可能的实现方式中,在获取视频中的第i帧视频帧到第(i-1)帧视频帧的目标后向光流之前,所述装置还包括:网络处理模块,用于利用光流估计网络对所述视频中的第1帧视频帧以及第2帧视频帧进行处理,得到所述第1帧视频帧到所述第2帧视频帧的初始前向光流;光流校正模块,用于对所述第1帧视频帧到所述第2帧视频帧的初始前向光流进行校正,得到所述第1帧视频帧到所述第2帧视频帧的目标前向光流;光流确定模块,用于根据所述第1帧视频帧到所述第2帧视频帧的目标前向光流,确定所述第2帧视频帧到所述第1帧视频帧的目标后向光流。
在一种可能的实现方式中,所述后向光流确定模块104,包括:后向映射子模块,用于对所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流进行后向映射,得到所述第(i+1)帧视频帧到所述第i帧视频帧的初始后向光流;后向光流校正子模块,用于对所述第(i+1)帧视频帧到所述第i帧视频帧的初始后向光流进行校正,得到所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流。
在一种可能的实现方式中,所述前向光流确定模块103,包括:取反子模块,用于对所述第i帧视频帧到所述第i-1帧视频帧的目标后向光流进行取反处理,得到所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流。
在一种可能的实现方式中,所述校正模块102,包括:插值子模块,用于对所述第i帧视频帧进行插值处理,得到具有不同分辨率的多个第一子图,以及对所述第(i+1)帧视频帧进行插值处理,得到具有不同分辨率的多个第二子图;稀疏光流确定子模块,用于针对具有同一分辨率的第一子图与第二子图,根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第一子图对应的目标稀疏前向光流;稠密化子模块,用于对多个第一子图对应的目标稀疏前向光流进行稠密化处理,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流。
在一种可能的实现方式中,所述根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第一子图对应的目标稀疏前向光流,包括:针对预设移动窗口在所述第一子图上当前指示的第一图块,根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第二子图中与所述第一图块相匹配的第二图块,并确定所述第一图块与所述第二图块之间的第一像素误差;基于所述第一图块与所述第二图块之间的第一像素误差,确定所述第一图块对应的光流信息,其中,所述光流信息包括梯度与图像积分图中的至少一种;根据所述第一图块对应的光流信息,确定所述第一图块对应的稀疏前向光流,所述第一子图对应的目标稀疏前向光流包括多个所述第一图块对应的稀疏前向光流。
在一种可能的实现方式中,所述基于所述第一图块与所述第二图块之间的第一像素误差,确定所述第一图块对应的光流信息,包括:根据所述第一图块对应的周围图块所对应的稀疏前向光流,确定所述第二子图中与所述第一图块相匹配的第三图块,并确定所述第一图块与所述第三图块之间的第二像素误差,所述周围图块包括所述第一图块周围的已确定出稀疏前向光流的图块;在所述第一像素误差大于所述第二像素误差的情况下,确定所述周围图块对应的光流信息,并将所述周围图块对应的光流信息,确定为所述第一图块对应的光流信息;或,在所述第一像素误差小于或等于所述第二像素误差的情况下,确定所述第一图块自身对应的光流信息。
在一种可能的实现方式中,所述根据所述第一图块对应的光流信息,确定所述第一图块对应的稀疏前向光流,包括:根据所述第一图块对应的光流信息,确定所述第一图块对应的初始稀疏前向光流;根据所述第一图块对应的初始稀疏前向光流,确定所述第二子图中与所述第一图块相匹配的第四图块,并确定所述第一图块与所述第四图块之间的第三像素误差;在所述第三像素误差大于指定阈值的情况下,基于预设光流信息,确定所述第一图块对应的稀疏前向光流;或,在所述第三像素误差小于或等于所述指定阈值的情况下,将所述第一图块对应的初始稀疏前向光流,确定为所述第一图块对应的稀疏前向光流。
在一种可能的实现方式中,所述第一子图对应的目标稀疏前向光流包括所述第一子图中多个第一图块对应的稀疏前向光流,其中,所述对多个第一子图对应的目标稀疏前向光流进行稠密化处理,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,包括:针对所述多个第一子图中的每个第一图块,根据每个第一图块对应的稀疏前向光流,确定多个第二子图中的与所述每个第一图块中每个第一像素点匹配的第二像素点,并确定每个第一像素点与匹配的第二像素点之间的像素差值;根据所述每个第一像素点与匹配的第二像素点之间的像素差值,确定所述每个第一像素点对应的权重;根据所述多个第一子图中每个第一像素点对应的权重以及所述多个第一子图各自对应目标稀疏前向光流,确定所述多个第一子图中每个第一像素点对应的前向光流;其中,所述目标前向光流包括所述多个第一子图中每个第一像素点对应的前向光流。
在一种可能的实现方式中,所述校正模块102,包括:网络校正子模块,用于利用光流校正网络对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流;其中,所述光流校正网络还用于对所述视频中的第1帧视频帧到第2帧视频帧的初始前向光流进行校正,以及对所述视频中的第i帧视频帧到第(i+1)帧视频帧的初始后向光流进行校正。
在本公开实施例中,通过基于之前相邻两帧视频帧之间的目标后向光流确定当前相邻两帧视频帧之间的初始前向光流,这样可以使初始前向光流的方向和起点是正确的,再通过对初始前向光流进行校正,得到目标前向光流,再根据目标前向光流确定目标后向光流,能够充分利用相邻视频帧之间的相关性,得到准确的目标前向光流与目标后向光流,还可以节省算力、提高光流估计效率。
该方法与计算机系统的内部结构存在特定技术关联,且能够解决如何提升硬件运算效率或执行效果的技术问题(包括减少数据存储量、减少数据传输量、提高硬件处理速度等),从而获得符合自然规律的计算机系统内部性能改进的技术效果。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图5示出根据本公开实施例的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器或终端设备。参照图5,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如微软服务器操作系统(Windows ServerTM),苹果公司推出的基于图形用户界面操作系统(Mac OSXTM),多用户多进程的计算机操作系统(UnixTM),自由和开放原代码的类Unix操作系统(LinuxTM),开放原代码的类Unix操作系统(FreeBSDTM)或类似。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器1932,上述计算机程序指令可由电子设备1900的处理组件1922执行以完成上述方法。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (13)
1.一种光流估计方法,其特征在于,包括:
获取视频中的第i帧视频帧到第(i-1)帧视频帧的目标后向光流,i>1;
根据所述第i帧视频帧到所述第(i-1)帧视频帧的目标后向光流,确定所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流;
对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流;
根据所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,确定所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流;
其中,所述视频中多个相邻视频帧之间的目标前向光流与目标后向光流用于对所述视频执行预设处理任务。
2.根据权利要求1所述的方法,其特征在于,在获取视频中的第i帧视频帧到第(i-1)帧视频帧的目标后向光流之前,所述方法还包括:
利用光流估计网络对所述视频中的第1帧视频帧以及第2帧视频帧进行处理,得到所述第1帧视频帧到所述第2帧视频帧的初始前向光流;
对所述第1帧视频帧到所述第2帧视频帧的初始前向光流进行校正,得到所述第1帧视频帧到所述第2帧视频帧的目标前向光流;
根据所述第1帧视频帧到所述第2帧视频帧的目标前向光流,确定所述第2帧视频帧到所述第1帧视频帧的目标后向光流。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,确定所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流,包括:
对所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流进行后向映射,得到所述第(i+1)帧视频帧到所述第i帧视频帧的初始后向光流;
对所述第(i+1)帧视频帧到所述第i帧视频帧的初始后向光流进行校正,得到所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述第i帧视频帧到所述第(i-1)帧视频帧的目标后向光流,确定所述视频中的所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,包括:
对所述第i帧视频帧到所述第(i-1)帧视频帧的目标后向光流进行取反处理,得到所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,包括:
对所述第i帧视频帧进行插值处理,得到具有不同分辨率的多个第一子图,以及对所述第(i+1)帧视频帧进行插值处理,得到具有不同分辨率的多个第二子图;
针对具有同一分辨率的第一子图与第二子图,根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第一子图对应的目标稀疏前向光流;
对多个第一子图对应的目标稀疏前向光流进行稠密化处理,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第一子图对应的目标稀疏前向光流,包括:
针对预设移动窗口在所述第一子图上当前指示的第一图块,根据所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流,确定所述第二子图中与所述第一图块相匹配的第二图块,并确定所述第一图块与所述第二图块之间的第一像素误差;
基于所述第一图块与所述第二图块之间的第一像素误差,确定所述第一图块对应的光流信息,其中,所述光流信息包括梯度与图像积分图中的至少一种;
根据所述第一图块对应的光流信息,确定所述第一图块对应的稀疏前向光流,所述第一子图对应的目标稀疏前向光流包括多个所述第一图块对应的稀疏前向光流。
7.根据权利要求6所述的方法,其特征在于,所述基于所述第一图块与所述第二图块之间的第一像素误差,确定所述第一图块对应的光流信息,包括:
根据所述第一图块对应的周围图块所对应的稀疏前向光流,确定所述第二子图中与所述第一图块相匹配的第三图块,并确定所述第一图块与所述第三图块之间的第二像素误差,所述周围图块包括所述第一图块周围的已确定出稀疏前向光流的图块;
在所述第一像素误差大于所述第二像素误差的情况下,确定所述周围图块对应的光流信息,并将所述周围图块对应的光流信息,确定为所述第一图块对应的光流信息;或,
在所述第一像素误差小于或等于所述第二像素误差的情况下,确定所述第一图块自身对应的光流信息。
8.根据权利要求6或7所述的方法,其特征在于,所述根据所述第一图块对应的光流信息,确定所述第一图块对应的稀疏前向光流,包括:
根据所述第一图块对应的光流信息,确定所述第一图块对应的初始稀疏前向光流;
根据所述第一图块对应的初始稀疏前向光流,确定所述第二子图中与所述第一图块相匹配的第四图块,并确定所述第一图块与所述第四图块之间的第三像素误差;
在所述第三像素误差大于指定阈值的情况下,基于预设光流信息,确定所述第一图块对应的稀疏前向光流;或,
在所述第三像素误差小于或等于所述指定阈值的情况下,将所述第一图块对应的初始稀疏前向光流,确定为所述第一图块对应的稀疏前向光流。
9.根据权利要求5至8任一项所述的方法,其特征在于,所述第一子图对应的目标稀疏前向光流包括所述第一子图中多个第一图块对应的稀疏前向光流,其中,所述对多个第一子图对应的目标稀疏前向光流进行稠密化处理,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,包括:
针对所述多个第一子图中的每个第一图块,根据每个第一图块对应的稀疏前向光流,确定多个第二子图中的与所述每个第一图块中每个第一像素点匹配的第二像素点,并确定每个第一像素点与匹配的第二像素点之间的像素差值;
根据所述每个第一像素点与匹配的第二像素点之间的像素差值,确定所述每个第一像素点对应的权重;
根据所述多个第一子图中每个第一像素点对应的权重以及所述多个第一子图各自对应目标稀疏前向光流,确定所述多个第一子图中每个第一像素点对应的前向光流;
其中,所述目标前向光流包括所述多个第一子图中每个第一像素点对应的前向光流。
10.根据权利要求1至4任一项所述的方法,其特征在于,所述对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,包括:
利用光流校正网络对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流;
其中,所述光流校正网络还用于对所述视频中的第1帧视频帧到第2帧视频帧的初始前向光流进行校正,以及对所述视频中的第i帧视频帧到第(i+1)帧视频帧的初始后向光流进行校正。
11.一种光流估计装置,其特征在于,包括:
获取模块,用于获取视频中的第i帧视频帧到第(i-1)帧视频帧的目标后向光流,i>1;
前向光流确定模块,用于根据所述第i帧视频帧到所述第(i-1)帧视频帧的目标后向光流,确定所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流;
校正模块,用于对所述第i帧视频帧到第(i+1)帧视频帧的初始前向光流进行校正,得到所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流;
后向光流确定模块,用于根据所述第i帧视频帧到所述第(i+1)帧视频帧的目标前向光流,确定所述第(i+1)帧视频帧到所述第i帧视频帧的目标后向光流;
其中,所述视频中多个相邻视频帧之间的目标前向光流与目标后向光流用于对所述视频执行预设处理任务。
12.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以执行权利要求1至10中任意一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至10中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210886604.5A CN115239755A (zh) | 2022-07-26 | 2022-07-26 | 光流估计方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210886604.5A CN115239755A (zh) | 2022-07-26 | 2022-07-26 | 光流估计方法及装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115239755A true CN115239755A (zh) | 2022-10-25 |
Family
ID=83675752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210886604.5A Withdrawn CN115239755A (zh) | 2022-07-26 | 2022-07-26 | 光流估计方法及装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115239755A (zh) |
-
2022
- 2022-07-26 CN CN202210886604.5A patent/CN115239755A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108345890B (zh) | 图像处理方法、装置和相关设备 | |
WO2019184657A1 (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN110443266B (zh) | 对象预测方法及装置、电子设备和存储介质 | |
US8810692B2 (en) | Rolling shutter distortion correction | |
KR20120099713A (ko) | 장면 내에서의 정확한 피사체 거리 및 상대적인 피사체 거리를 추정하는 알고리즘 | |
EP2266095A2 (en) | Method and apparatus for super-resolution of images | |
CN111583138B (zh) | 视频增强方法及装置、电子设备、存储介质 | |
CN104065854A (zh) | 一种图像处理方法及一种电子设备 | |
CN102238332A (zh) | 图像处理装置、图像处理方法、成像装置和程序 | |
CN110992395B (zh) | 图像训练样本的生成方法及装置、运动跟踪方法及装置 | |
CN109035257B (zh) | 人像分割方法、装置及设备 | |
CN113112542A (zh) | 一种视觉定位方法、装置、电子设备及存储介质 | |
EP2805306A1 (en) | Method and device for generating a motion field for a video sequence | |
CN111277780B (zh) | 一种改善插帧效果的方法和装置 | |
CN111415371B (zh) | 一种稀疏光流确定方法和装置 | |
Ben-Ezra et al. | Real-time motion analysis with linear-programming | |
CN108596120B (zh) | 一种基于深度学习的目标检测方法和装置 | |
WO2024082602A1 (zh) | 一种端到端视觉里程计方法及装置 | |
CN113870302A (zh) | 运动估计方法、芯片、电子设备以及存储介质 | |
CN115239755A (zh) | 光流估计方法及装置、电子设备和存储介质 | |
CN114255177B (zh) | 成像中的曝光控制方法、装置、设备及存储介质 | |
CN110852250A (zh) | 一种基于最大面积法的车辆排重方法、装置及存储介质 | |
CN109559271B (zh) | 对深度图像进行优化的方法和装置 | |
CN115619709B (zh) | 一种3d平面检测与重建方法、装置及存储介质 | |
Salokhiddinov et al. | Depth from focus for 3D reconstruction by iteratively building uniformly focused image set |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20221025 |
|
WW01 | Invention patent application withdrawn after publication |