US 12,243,183 B2
Fisheye image transformation algorithm based on virtual spheres
Biao He, Santa Clara, CA (US); and Yanyan Liu, Shanghai (CN)
Assigned to OMNIVISION TECHNOLOGIES (SHANGHAI) CO., LTD., Shanghai (CN)
Filed by OMNIVISION TECHNOLOGIES (SHANGHAI) CO., LTD., Shanghai (CN)
Filed on Aug. 16, 2022, as Appl. No. 17/820,153.
Claims priority of application No. 202210663587.9 (CN), filed on Jun. 9, 2022.
Prior Publication US 2023/0401669 A1, Dec. 14, 2023
Int. Cl. G06T 3/047 (2024.01); G06T 3/12 (2024.01)
CPC G06T 3/047 (2024.01) [G06T 3/12 (2024.01)] 11 Claims
OG exemplary drawing
 
1. A method for reducing a distortion of a fisheye image captured by a fisheye lens, wherein the method is conducted by a processor to perform the following steps:
defining a real camera coordinate system O-XYZ, wherein a first virtual sphere centered at O with a radius of 1 is defined;
defining a virtual camera coordinate system O2-X2Y2Z2, wherein second virtual sphere centered at O2 with a radius of n is defined, and wherein the first virtual sphere is internally tangent to the second virtual sphere, and n>1;
transforming a fisheye image to three-dimensional (3D) unit vectors in the real camera coordinate system, transforming the 3D unit vectors between the real camera coordinate system and the virtual camera coordinate system according to a relative position between two spheres, and conducting a conventional projection of the 3D unit vectors in the virtual camera coordinate system to generate the transformed image; and
reducing a line curvature of the transformed image to a certain degree by adjusting a horizontal field of view (HFOV) angle or a vertical field of view (VFOV) angle of the virtual camera,
wherein a coordinate transformation of the fisheye image comprises a forward transformation and a reverse transformation, and wherein:
the forward transformation comprises: acquiring coordinates (x0, y0) of the fisheye image; deriving a 3D unit vector (i0, j0, k0) in the real camera coordinate system based on a camera model; deriving a 3D unit vector (i1, j1, k1) in the virtual camera coordinate system based on a coordinate transformation between the first and second virtual spheres; and deriving coordinates (x1, y1) in the transformed image by a conventional projection; and
the reverse transformation comprises: acquiring the coordinates (x1, y1) in the transformed image; deriving the 3D unit vector (i1, j1, k1) in the virtual camera coordinate system based on a reverse conventional projection; deriving the 3D unit vector (i0, j0, k0) in the real camera coordinate system based on the coordinate transformation between the first and second virtual spheres; and deriving the coordinates (x0, y0) in the fisheye image using the camera model.