US 12,190,530 B2
Dense optical flow calculation system and method based on FPGA
Xiaohong Jiang, Hangzhou (CN); Zhe Pan, Hangzhou (CN); and Jian Wu, Hangzhou (CN)
Assigned to Zhejiang University, Hangzhou (CN)
Appl. No. 17/636,243
Filed by ZHEJIANG UNIVERSITY, Hangzhou (CN)
PCT Filed Jan. 5, 2021, PCT No. PCT/CN2021/070244
§ 371(c)(1), (2) Date Aug. 16, 2022,
PCT Pub. No. WO2021/143569, PCT Pub. Date Jul. 22, 2021.
Claims priority of application No. 202010061906.X (CN), filed on Jan. 19, 2020.
Prior Publication US 2022/0383521 A1, Dec. 1, 2022
Int. Cl. G06T 7/269 (2017.01); G06T 7/00 (2017.01)
CPC G06T 7/269 (2017.01) [G06T 7/0002 (2013.01); G06T 2207/20081 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A dense optical flow calculation system based on field programmable gate array (FPGA), comprising a software system deployed on a host and a dense optical flow calculation module deployed on an FPGA, wherein calculating dense optical flow comprises:
obtaining two consecutive frames of images and known original optical flow from the software system on the host and transmitting them to the dense optical flow calculation module; and calculating, by the dense optical flow calculation module, dense optical flow of the two frames of images and returning the calculated optical flow to the software system;
wherein, the dense optical flow calculation module comprises:
two image smoothing modules, configured to smooth the two received consecutive frames of images;
a polynomial expansion module, configured to sample each pixel and its surrounding neighborhood in the smoothed images, and solve an overdetermined equation by using a least squares method to obtain coefficients of six dimensions of each pixel in two-dimensional images;
an intermediate variable solution module, configured to compare the polynomial coefficients of the two consecutive frames of images obtained by the polynomial expansion module and calculate required intermediate variables according to a dense optical flow algorithm; and
an optical flow calculation module, configured to smooth the intermediate variables calculated by the intermediate variable solution module and calculate optical flow of each pixel.