This application claims priority under 35 U.S.C. § 119 to Korean Patent Application No. 10-2020-0107404 filed on Aug. 25, 2020 in the Korean Intellectual Property Office, the subject matter of which is hereby incorporated by reference.
Embodiments of the inventive concept relate to camera calibration apparatuses. More particularly, embodiments of the inventive concept relate to camera calibration apparatuses capable of estimating an external parameter associated with a camera. Embodiments of the inventive concept also relate to operating methods for camera calibration apparatuses.
Image capturing devices including image sensor(s) are routinely provided in various electronic devices such as smartphones, personal computers, monitoring cameras, and autonomous vehicles. Some image capturing devices may be used as independent electronic devices.
Using various image sensors such as those associated with a camera, an autonomous vehicle may travel safely by recognizing distance(s) between itself and neighboring vehicle(s) and/or nearby objects. However, as the autonomous vehicle continues to travels along its route, the relative position and direction of movement, among other parameters associated with the camera, may change. Accordingly, it is necessary that the autonomous vehicle frequently calibrate the camera in relation to external parameter(s).
Embodiments of the inventive concept relate to camera calibration apparatuses and camera calibration methods that estimate an external parameter for a camera. Embodiments of the inventive concept also relate to vehicles including such camera calibration apparatuses and/or using such camera calibration methods.
According to an aspect of the inventive concept, there is provided a camera calibration apparatus including; a camera configured to acquire a first forward image from a first viewpoint and a second forward image from a second viewpoint, an event trigger module configured to determine whether to perform camera calibration, a motion estimation module configured to acquire information related to motion of a host vehicle, a three-dimensional reconstruction module configured to acquire three-dimensional coordinate values based on the first forward image and the second forward image, and a parameter estimation module configured to estimate an external parameter for the camera based on the three-dimensional coordinate values.
According to an aspect of the inventive concept, there is provided a camera calibration method including; extracting a region of interest from a first forward image and from a second forward image, extracting feature points from the region of interest, acquiring a motion parameter based on translation of the feature points, estimating three-dimensional coordinate values of a camera coordinate system corresponding to the feature points using triangulation based on the acquired motion parameter, and estimating an external parameter for a camera using a relationship of the feature points and the three-dimensional coordinate values.
According to an aspect of the inventive concept, there is provided a host vehicle including; a camera configured to acquire a first forward image from a first viewpoint and a second forward image from a second viewpoint, an image signal processor configured to determine whether to perform camera calibration, acquire information related to motion of the host vehicle, acquire three-dimensional coordinate values based on the first forward image and the second forward image, estimate an external parameter for the camera based on the three-dimensional coordinate values, and generate a control signal in response to the external parameter, and a vehicle controller configured to control operation of the host vehicle in response to the control signal.
Embodiments of the inventive concept will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings in which:
Embodiments of the inventive concept will be described with reference to the accompanying drawings. Throughout the written description and drawings, like reference numbers and labels are used to denote like or similar elements and/or features.
Figure (FIG.) 1 is a block diagram of a camera calibration apparatus 100 according to embodiments of the inventive concept.
Referring to
In some embodiments, the camera calibration apparatus 100 may be embedded within, or be implemented by, an electronic device, such as a personal computer (PC), an Internet of Things (IoT) device, or a portable electronic device. In this regard, the portable electronic device may include a laptop computer, a mobile telephone, a smartphone, a tablet PC, a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital still camera, a digital video camera, an audio device, a portable multimedia player (PMP), a personal navigation device (PND), an MP3 player, a handheld game console, an e-book, a wearable device, or the like.
In some embodiments, the camera 110 may be embedded in a host vehicle in order to recognize an external environment associated with the host vehicle. For example, the camera 110 (e.g., a pinhole camera) may be used to generate an image by converting electromagnetic energy (e.g., visible light) incident to the camera from one or more arbitrary direction(s) (e.g., a forward direction) into a corresponding electrical signal (e.g., a digital image signal). Thereafter, the corresponding electrical signal may be communicated to the ISP 120 for further analysis and/or processing.
In some embodiments, the camera 110 may be associated with one or more internal parameter(s) and/or one or more external parameter(s). Internal parameters include, by way of example, certain camera-internal values such as focal length, principal point and skew coefficient, etc. Here, the focal length may be a distance between a lens of the camera 110 and an image sensor, wherein a unit of the focal length may be defined as a pixel. The principal point may be image coordinates of a point at which a number line of a center point of a lens intersects with the image sensor. The skew coefficient may be a tilt angle (expressed e.g., in terms of a y-axis) for a cell array of the image sensor included in the camera 110.
External parameters include, by way of example, a three-dimensional position of the camera 110 (or a relative, three-dimensional posture of the camera 110 ) that may be expressed in terms of roll, pitch, yaw, camera height values, etc.
In some embodiments, the ISP 120 may be used to estimate an external parameter associated with the camera 110 based on an image captured by the camera 110. (Hereafter, a forward facing image is assumed for descriptive purposes). In this regard, the ISP 120 may calculate a motion parameter based on a change in feature points on an image plane acquired from the camera 110. Then, based on the calculated motion parameter, the ISP 120 may perform triangulation that converts feature points on the image plane into three-dimensional coordinates of a camera coordinate system. Then, the ISP may estimate the external parameter using relationship(s) between the feature points. In some embodiments, the estimated external parameter may be expressed using a pitch angle, a roll angle and a camera height.
Referring to
The vehicle controller 210 may be used to control overall operation of the host vehicle 200. Thus, the vehicle controller 210 may acquire distance information associated with a nearby target vehicle from the ISP 120 of the camera calibration apparatus 100. In this regard, a target vehicle is assumed as one example of many different target objects that may be subject to distance information acquisition.
Distance information related to the target vehicle may include a distance value corrected in relation to an external parameter estimated by the camera calibration apparatus 100. The vehicle controller 210 may control the speed of the host vehicle 200 based on the target vehicle distance information. For example, when the target vehicle distance information falls below a predefined value associated with a risk of collision, the vehicle controller 210 may generate a control signal causing deceleration of the host vehicle 200 and/or a control signal applying brakes to the host vehicle 200.
Referring to
The event trigger module 122 may detect a calibration event and trigger an estimation of an external parameter.
In some embodiments, the ISP 120 may designate (or set) a grid-pattern object as an object of interest. When the ISP 120 detects an object including a grid pattern from an image acquired through the camera 110, the ISP 120 may determine whether the object is a vertical plane including a grid pattern for calibration and trigger estimation of an external parameter according to the determination result.
In some embodiments, the ISP 120 may trigger measurement of an external parameter in response to reception of a control signal from a wireless communication circuit (not shown) of the host vehicle 200. For example, in a region in which the grid pattern for calibration is provided, a device configured to transmit a wireless signal for triggering camera calibration to a target vehicle passing nearby may be provided. Here, the wireless signal may be a Bluetooth-based beacon signal. The host vehicle 200 may receive the beacon signal through the wireless communication circuit and communicate the beacon signal (or receipt of the beacon signal) to the ISP 120. Upon receiving the beacon signal, the ISP 120 may identify that the grid pattern for calibration is present near the host vehicle 200 and trigger measurement of an external parameter. That is, in response to the reception of the beacon signal, a region of interest including a grid-pattern object may be extracted.
In some embodiments, the motion estimation module 124 may extract feature points and estimate a motion parameter for the host vehicle 200 based on change(s) in the feature points. The motion parameter may include a rotation matrix indicating how far the feature points have rotated during continuous frames, and a translation vector indicating how much the feature points have been translated during the continuous frames.
In some embodiments, the motion estimation module 124 may estimate the motion parameter of the host vehicle 200 based on change(s) in the feature points using a constraint condition that a plane including the grid-pattern object is vertical to the ground. The motion estimation module 124 may calculate an essential matrix based on a sequence of the feature points and calculate the rotation matrix and the translation vector by decomposing the essential matrix.
In some embodiments, the three-dimensional reconstruction module 126 may transform two-dimensional coordinates for an image plane into three-dimensional coordinates of the camera coordinate system. The three-dimensional reconstruction module 126 may reconstruct the three-dimensional coordinates using triangulation, for example. In this regard, triangulation may use a relationship between feature points when viewing the target vehicle from different views based on epi-polar geometry. The reconstructed three-dimensional coordinates may correspond to three-dimensional coordinates of the camera coordinate system.
In some embodiments, the parameter estimation module 128 may estimate the external parameter for the camera 110. For example, the parameter estimation module 128 may estimate the external parameter, as expressed by a pitch angle, a roll angle and a camera height using the three-dimensional coordinates reconstructed through the three-dimensional reconstruction module 126, as well as constraints between the feature points. Here, the constraints may indicate that an x-coordinate and a y-coordinate of feature points located on a straight line that is vertical to the ground in a vehicle coordinate system are the same, wherein a vertical spacing (a z-coordinate difference) of feature points vertically adjacent to each other is predefined.
Here, a world coordinate system may assumed as a coordinate system representing a real-world, external environment associated with the camera calibration apparatus 100. In some embodiments, when the camera 110 of the camera calibration apparatus 100 is set as a geometric origin (e.g., 0, 0, 0), the world coordinate system may be referred to as the camera coordinate system. Alternatively, when a point along a vertical, straight line extending to intersect the ground is set as the origin, the world coordinate system may be referred to as the vehicle coordinate system. Hereinafter, for convenience of description, a three-dimensional coordinate system will be described with reference to the camera coordinate system and the vehicle coordinate system.
In some embodiments, the camera coordinate system or the vehicle coordinate system may be expressed in relation to an Xc-axis, a Yc-axis, and a Zc-axis. For example, in the camera coordinate system, the Zc-axis may correspond to a “forward direction” relative to the camera 110 imaging view, the Xc-axis may correspond to a right direction with reference to the forward direction, and the Yc-axis may correspond to a down direction with reference to the forward direction.
In some embodiments, the vehicle coordinate system may be expressed in relation to an Xw-axis, a Yw-axis, and a Zw-axis. For example, in the vehicle coordinate system, the Xw-axis may correspond to a direction in which the host vehicle 200 travels, the Zw-axis may correspond to a direction which is vertical to the ground, and the Yw-axis may correspond to a left direction with reference to the direction in which the host vehicle 200 travels.
Referring to
Nonetheless, a yaw angle formed between the Zc-axis of the camera coordinate system and the Xw-axis of the vehicle coordinate system may be acquired by calculating a focus of expansion (FOE), where the FOE indicates a point—at which respective motions that feature points of an image, as translated—converge when the camera 110 moves in one direction (e.g., when only a translation vector is changed).
An image plane may indicate a two-dimensional region on which real world is projected through the camera 110. Because the image plane is a two-dimensional region, the image plane may have a coordinate system identified in a pixel unit. This coordinate system may be referred to as an image coordinate system. For example, when a left upper end of the image plane is set as the origin, a right direction may be represented as an x-axis, and a down direction may be represented as a y-axis. Each (x, y) component of the image plane may have a pixel unit.
In the illustrated method, the camera calibration apparatus 100 may extract a region of interest from an image frame (S110). That is, the camera 110 may acquire an image in every frame and transmit the acquired image to the ISP 120, and the ISP 120 may scan whether the image includes a predefined region of interest.
In some embodiments, the region of interest may at least include the grid-pattern object, such as the one shown in
The camera calibration apparatus 100 may now extract feature points from the region of interest (S120). For example, the feature points may include four vertexes forming a quadrangle. A vertical length of the quadrangle formed by the feature points may be predefined.
The camera calibration apparatus 100 may acquire a motion parameter based on translation of the feature points (S130). Referring to
In some embodiments, assuming that internal parameter(s) of the camera 110—which may include a focal length, a principal point and a skew coefficient of zero—are already known, the camera calibration apparatus 100 may normalize the feature points in each of the first frame and the second frame using Equation 1.
Here, x and y denote components of a pixel coordinate system, fx and fy denote focal lengths, and cx and cy denote principal points. By normalizing feature point coordinates in the first frame and the second frame, the image coordinate system may be transformed to the pixel coordinate system which is unaffected by the internal parameter(s).
Accordingly, the camera calibration apparatus 100 may calculate an essential matrix E based on Equation 2.
Here, u and v denote normalized pixel coordinates of the first frame, and u′ and v′ denote normalized pixel coordinates of the second frame. The essential matrix E satisfying Equation 2 may be expressed in terms of Equation 3.
E=[t]×R [Equation 3]
Here, t denotes a translation vector, R denotes a rotation matrix, and the mathematical operator × denotes a cross product. It follows that the camera calibration apparatus 100 may acquire the motion parameter by decomposing the acquired essential matrix E into the rotation matrix and the translation vector.
Referring to the method of
X
C
=R(θ, ϕ; ψ)XW+t(θ, ϕ, h; ψ) [Equation 9]
As noted above, feature points are on a plane that is vertical to the ground, and thus, a resulting homography is valid. Here, R(θ, ϕ; ψ) denotes a rotation matrix of the homography, t(θ, ϕ, h; ψ) denotes a translation vector of the homography, Xw denotes the vehicle coordinate system, and Xc denotes the camera coordinate system. In addition, θ denotes a variable pitch angle, ∅ denotes a variable roll angle, φ denotes a variable yaw angle, and h denotes a variable camera height. The vehicle coordinate system, the camera coordinate system, and rotational transformation may be expressed in terms of Equations 5, 6 and 7.
Here, the rotation matrix may be represented by sin θ=sθ and cos θ=cθ. The origin (0, 0, 0) in the camera coordinate system corresponds to a vertical point (0, 0, h) in accordance with the camera height h in the vehicle coordinate system as expressed in Equation 8.)
0=R(θ, ϕ; ψ)·[0,0, h]T+t(θ, ϕ, h; ψ) [Equation 8]
With Equation 8 in mind, the translation vector may be expressed in terms of Equation 9.
t(θ, ϕ, h; ψ)=−r3h [Equation 9]
Here, r3 denotes a third column in the rotation matrix.
Referring still to the method of
X
C
i
−X
C
j=−(sθsψcϕ−cθsϕ)(ZWi−ZWj) [Equation 10]
Y
C
i
−Y
C
j=−(sθsψcϕ−cθsϕ)(ZWi−ZWj) [Equation 11]
Z
C
i
−Z
C
j
=−s
θ
c
ψ(ZWi−ZWj) [Equation 12]
Here, Equation 10 again expresses a feature wherein a difference between an x component of ith coordinates and an x component of zth coordinates in the vehicle coordinate system is zero, Equation 11 again expresses a feature wherein a difference between a y component of the ith coordinates and a y component of the zth coordinates in the vehicle coordinate system is zero. In Equation 12, ZWi−ZWj denotes a vertical length as described above and may be predefined.
In view of Equations 9, 10, 11 and 12, the pitch angle θ and the roll angle ∅ may be expressed by Equations 13 and 14.
Here, assuming the yaw angle φ has been acquired by calculating a FOE, the rotation matrix may be determined according to Equations 13 and 14. Additionally, the camera height h may be estimated using Equation 15 using a feature of the homography.
[r1, r2, −r3][XW, YW, h]T=XC−r3ZW [Equation 15]
In some embodiments, even without acquiring three-dimensional coordinate values of the vehicle coordinate system, the camera calibration apparatus 100 may estimate a motion parameter based on a change in feature points on the pixel coordinate system, transform the feature points of the pixel coordinate system into three-dimensional coordinates of the camera coordinate system based on the motion parameter and triangulation, and estimate an external parameter based on a transformation relationship between the camera coordinate system and the vehicle coordinate system and constraints of the feature points of the vehicle coordinate system.
Here, the image presented by
In some embodiments, two or more vertical planes may be disposed in the image of
The camera calibration apparatus 100 may then determine a final external parameter based on the first external parameter and the second external parameter. For example, in some embodiments, the camera calibration apparatus 100 may determine the final external parameter by averaging the first external parameter and the second external parameter.
Here, the image presented by
In some embodiments, the various types of signs may have respective and unique (e.g., government mandated) characteristics, such as a height value, a size, road-side disposition, as well as various sign information requirements. Accordingly, the camera calibration apparatus 100 may store such characteristics (e.g., a height value) for various types of signs. Alternately, in some embodiments, the camera calibration apparatus 100 may acquire vertical height information for various signs while traveling.
In this regard, the host vehicle 200 may store three-dimensional map information in memory, wherein the three-dimensional map information may include (e.g.,) elevation information for the road, height information for various objects along the road, etc. Accordingly, the camera calibration apparatus 100 may load the three-dimensional map information, acquire vertical height information of a sign while traveling, and calibrate an external parameter using the vertical height information of a quadrangular object forming the sign even while traveling along the road.
In some embodiments, the camera calibration apparatus 100 may set a sign shape as an object of interest and identify a road sign in real-time while traveling along the road. The ISP 120 may identify a road sign, identify to which sign the identified road sign corresponds to using (e.g.,) various government or trade association standards using an optical character reader (OCR) module, and load a height value for the identified sign. That is, the camera calibration apparatus 100 may estimate an external parameter according to the loaded height value using the expression ZWi−ZWj of Equation 12.
Although the inventive concept has been described in relation to multiple embodiments that assume the host vehicle 200 estimates an external parameter using a road sign while traveling along a road, the inventive concept is not limited thereto. For example, a sign including the grid-pattern object shown in
Further, while the inventive concept has been described in relation to multiple embodiments, those skilled in the art will understood that various changes in form and detail may be made to these embodiments without departing from the spirit and scope of the inventive concept as defined by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2020-0107404 | Aug 2020 | KR | national |