OBJECT ESTIMATION APPARATUS AND METHOD

Disclosed herein object estimation apparatus and method. The object estimation apparatus according to an example of the disclosure includes a processor and a memory storing instructions that, when executed by the processor, cause the object estimation apparatus to recognize one or more key points set in one or more objects included in an image of an object photographed by a camera, calibrate the image and project a grid map onto the calibrated image, project vertical lines onto the grid map-projected image, and generate, based on the projected vertical lines and the one or more recognized key points, one or more occupied grid map region (OGRs) in the grid map.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims the benefit of Korean Patent Application No. 10-2022-0183549, filed on Dec. 23, 2022, which application is hereby incorporated herein by reference.

TECHNICAL FIELD

The present disclosure relates to an apparatus and method for estimating object, and more particularly, to an object estimation apparatus and method capable of estimating a position and size of an object having a certain height from the ground.

BACKGROUND

In general, estimating a position of an object with a monocular camera refers to estimating an actual position of an image on a flat surface. In this case, a localization model based on calibration is used to estimate the position of an object.

However, in the case of an object with a height from the ground, a method for predicting an actual position from an image captured by a monocular camera has not been investigated. For example, a rear lamp of a vehicle has a certain height from the ground, it is not easy to predict its actual position from the image.

An indirect method is used to predict an actual position of an object by inferring a size occupied by the object in real space using a computer-aided design (CAD) model in a state where the location of a point where the object touches the ground is obtained.

Such an indirect method of predicting the actual position of an object has the disadvantage of being limited to a positional accuracy.

SUMMARY

According to the present disclosure, an object estimation apparatus may comprise a processor; a memory storing instructions that, when executed by the processor, cause the object estimation apparatus to: recognize one or more key points set in one or more objects included in an image of an object photographed by a camera; calibrate the image and project a grid map onto the calibrated image; project vertical lines onto the grid map-projected image; and generate, based on the projected vertical lines and the one or more recognized key points, one or more occupied grid map region (OGRs) in the grid map. The instructions, when executed by the processor, may further cause the object estimation apparatus to: project the grid map onto a location, of the image, corresponding to a ground of the image; and provide the projected grid map to a vehicle for driving.

The instructions, when executed by the processor, may further cause the object estimation apparatus to: set one or more ground key points, contacting the ground of the image, of the one or more key points; and based on a parameter associated with a model of the camera, the one or more ground key points, and the grid map, calculate a relational expression between: image coordinates of the grid map-projected image; and actual coordinates of the object photographed by the camera. Each of the vertical lines may be projected onto a point at which a horizontal line and a vertical line of the grid map intersect.

The instructions, when executed by the processor, may further cause the object estimation apparatus to set, based on a position where the vertical lines are in contact with one or more outermost key points arranged on the outermost part of the one or more recognized key points set in the one or more objects, the one or more OGRs in the grid map. Each of the one or more OGRs may be a region formed to include the one or more outermost key points.

The instructions, when executed by the processor, may further cause the object estimation apparatus to set one or more ground key points, contacting a ground of the image, of the one or more key points; and form the one or more OGRs in a circular shape having a predetermined diameter around midpoints of two of the one or more ground key points.

The instructions, when executed by the processor, may further cause the object estimation apparatus to form, based on a line extending from two ground key points, contacting a ground of the image, of the one or more key points, the one or more OGRs. Each of the one or more key points may be set at main points of the one or more objects.

According to the present disclosure, an object estimation method performed by a processor, the method may comprise recognizing one or more key points set in one or more objects included in an image of an object photographed by a camera; projecting a grid map onto the image; projecting vertical lines onto the grid map-projected image; generating, based on the projected vertical lines and the one or more recognized key points, one or more occupied grid map region (OGRs) in the grid map; and providing the projected grid map to a vehicle for driving.

The grid map may be projected onto a location, of the image, corresponding to a ground of the image. The recognizing the one or more key points may comprise setting one or more ground key points, contacting the ground of the image, of the one or more key points. The projecting the grid map may comprise projecting the grid map at a location, of the image, corresponding to the ground of the image.

The projecting the grid map may further comprise, based on a parameter associated with a model of the camera, the one or more ground key points, and the grid map, calculating a relational expression between: image coordinates of the grid map-projected image; and actual coordinates of the object photographed by the camera. Each of the vertical lines may be projected onto a point at which a horizontal line and a vertical line of the grid map intersect.

The one or more OGRs may be generated based on a position where the vertical lines are in contact with one or more outermost key points arranged on the outermost part of the one or more recognized key points set in the one or more objects. Each of the one or more OGRs may be a region formed to include the one or more outermost key points.

The recognizing the one or more key points may comprise setting one or more ground key points, contacting a ground of the image, of the one or more key points, and wherein each of the one or more OGRs has a circular shape with a predetermined diameter around midpoints of two of the one or more ground key points.

The recognizing the one or more key points may comprise setting one or more ground key points, contacting a ground of the image, of the one or more key points, and wherein each of the one or more OGRs is generated based on a line extending from two of the one or more ground key points. Each of the one or more key points may be set at main points of the one or more objects.

DETAILED DESCRIPTION

Reference will now be made in detail to various examples of the disclosure. Examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to like elements throughout. This specification may not describe all elements of the disclosed example(s) and detailed descriptions of what is well known in the art or redundant descriptions on substantially the same configurations may be omitted. The terms ‘part’, ‘module’, ‘member’, ‘block’ and the like as used in the specification may be implemented in software and/or hardware, such as field-programmable gate array (FPGA)/application specific integrated circuit (ASIC). Further, a plurality of ‘part’, ‘module’, ‘member’, ‘block’ and the like may be embodied as one component. It is also possible that one ‘part’, ‘module’, ‘member’, ‘block’ and the like includes a plurality of components.

Throughout the specification, when an element is referred to as being “connected to” another element, it may be directly or indirectly connected to the other element and the “indirectly connected to” includes being connected to the other element via a wireless communication network.

Also, it is to be understood that the terms “include” and “have” are intended to indicate the existence of elements disclosed in the specification, and are not intended to preclude the possibility that one or more other elements may exist or may be added.

Throughout the specification, when a member is located “on” another member, this includes not only when one member is in contact with another member but also when another member is present between the two members.

The terms first, second, and the like are used to distinguish one component from another component, and the component is not limited by the terms described above.

The reference numerals used in operations are used for descriptive convenience and are not intended to describe the order of operations and the operations may be performed in a different order unless otherwise stated.

Referring toFIG.1toFIG.8, examples of an object estimation apparatus100will be described. The object estimation apparatus100may include a camera110and an image processor120.

The camera110may be disposed at the front or rear end of a vehicle and photographs images of the surroundings of the vehicle. For example, the camera110may be a digital type monocular camera (e.g., a single lens camera).

The image processor120may process an image captured by the camera110and perform an operation for estimating a position and size of an object having a height from the ground in the captured image. The image processor120may include an object outputter121, a calibrator123, and a grid map generator125.

The object outputter121may recognize a key point (KP) of an object from an image captured by the camera110. As shown inFIG.2andFIG.3, a plurality of KPs for an object may be set for each object. The plurality of KPs may be set by finding main points according to an object type, and the number and structure of the KPs may be different. These KPs may use a KR recognition network.

For example, as shown inFIG.2, nine KPs may be set for a human body, and the nine KPs may be set for the head, shoulders, hands, waist, and feet of the human body, respectively. In addition, as shown inFIG.3, 12 KPs may be set for a vehicle, and for example, 4 KPs may be set at the top, 4 KPs at the middle, and 4 KPs at the bottom.

Furthermore, the object outputter121may find a key point that contacts the ground of the plurality of KPs set in the object, and then set the corresponding KP as a ground key point (GKP). For example, the number of GKPs for a human body may be two, and the number of GKPs for a vehicle may be four.

The calibrator123may project a grid map onto a ground of an image captured by the camera110. In other words, as shown inFIG.4, the calibrator123may project a grid map onto a location of a three-dimensional (3D) image corresponding to a flat surface of the 3D image of one or more objects photographed by the camera110. At this time, the calibrator123may project the grid map based on calibration methods. For example, the calibrator123estimates parameters of the camera110.

The calibrator123may calculate image coordinates from the image captured by the camera110by using the GKPs of the object and the projected grid map. In addition, the calibrator123may calculate coordinates of an actual location of the object by calibrating the image captured by the camera110.

Therefore, the calibrator123may calculate a relational expression between the image coordinates and the coordinates in an actual 3D space as shown in Equation 1.

Here, A is a unique parameter based on the camera110model, and the values of rxyand txmay be estimated through two calibration processes. In addition, u, v is the coordinates of the image, and X, Y, Z are the coordinates in the actual 3D space.

As shown inFIG.5, the grid map generator125may project vertical lines (VLs) based on the camera110model onto the grid map. The VLs may be projected on some or all points of the grid map projected onto the image. The VLs may have the same height in the actual 3D image, as shown in accompany drawings, but they may be projected as different heights at different distances in the 3D image. Furthermore, the VLs may be distorted as the image is distorted.

In other words, the VLs may be projected onto an image onto which the grid map is projected so as to have a predetermined height at points of the grid map using specific distortion coefficients of a lens of the camera110. Here, each point of the grid map may be a point at which an upright line and a horizontal line in the grid map intersect.

The grid map generator125may calculate the relationship between Equation 1 and the components (k1, k2, p1, p2, k3) of the lens distortion model of the camera110as shown in Equation 2, and project the VLs and X, Y, Z at each vertex Xi, Yi, 0→Ui; Viof the grid map projected onto the image as the coordinates Un, Vnof the grip map.

The grid map generator125may project the VLs to another KP (e.g., Xi, Yi, 0) of the grid map that is proximate to the KP (e.g., X1, Y1, 0) where the object is in contact with the ground. Accordingly, the grid map generator125may create an occupied grid map region (OGR) at the location where the object is located by extending a region where the VLs contact the KPs arranged close proximity to (e.g., at the outermost part of) the object.

Herein, the grid map generator125may reduce (e.g., minimize) a time for searching the points of the grid map where the VLs and the outermost KPs of the object come into contact. For example, if the object is a human body, the grid map generator125may search a predetermined diameter range (e.g., 1 m) from the center of the tips of both feet of the human body. In addition, if the object is a vehicle, the grid map generator125may search along a line extending from two wheels of the vehicle as long as the two wheels are visible.

In addition, if the object is a human body, it may not be easy to determine the outermost points according to a specific posture. In this case, the grid map generator125may determine an (e.g., a maximum) occupied area for each object to generate the OGRs with the occupied area around the point of the grid map that is in contact with the ground. At this case, the grid map generator125may generate the OGRs in a circular shape having a predetermined diameter.

Consequently, as shown inFIG.7, the grid map generator125may generate and display the OGR occupied by each object on the grid map. At this time, the grid map generated by the grid map generator125may have different coordinates and spacing for each grid depending on the size of the grid set by calibration and consideration of the resolution of the camera110. The grid maps may also reduce positional errors by increasing the resolution of the OGR as the size of the grid decreases.

Furthermore, as shown inFIG.8, the one or more OGRs where the objects are located in the grid map based on a host vehicle may be displayed on the grid map.

On the other hand, referring toFIG.9, an object estimation method will be described. While describing the object estimation method, it will also be described with reference toFIG.1toFIG.8.

The one or more KRs of the object may be recognized at S101.

The object outputter121of the image processor120may recognize the one or more KPs from the object included in the image captured by the camera110. The one or more KPs may be set as the main points in the object. The object outputter121may use a key point recognition network to recognize the one or more KPs. For example, as shown inFIG.2, 9 KPs may be set for a human body, and the 9 KPs may be set for the head, shoulders, hands, waist, and feet, respectively. In addition, as shown inFIG.3, 12 KPs may be set for a vehicle, and for example, 4 KPs may be set at the top, 4 KPs at the middle, and 4 KPs at the bottom.

The 3D image is calibrated at S103.

The calibrator123may project the grid map onto a location of the 3D image corresponding to a flat surface of the 3D image of one or more objects photographed by the camera110by using a calibration method. Accordingly, the calibrator123may project the grid map onto the image as shown inFIG.4.

The relational expression between image coordinates and actual coordinates may be generated at S105.

The calibrator123may set the image coordinates in the 3D image and calculate the relationship between the image coordinates and the coordinates in the actual 3D space as shown in Equation 1. Equation 1 calculates the relational expression between the image coordinates and the coordinates in the actual 3D space using unique parameter based on the camera110model and the values obtained through two calibration processes.

The VLs may be modelled at S107.

The grid map generator125may project the VLs onto the grid map based on the camera110model. As shown inFIG.5, the grid map generator125may project the camera110model-based VLs onto the grid map. The VLs may be projected on some or all points of the grid map projected on the image. As shown in accompany drawings, the VLs may have the same height in the actual 3D image, but they may be projected as different heights at different distances in the 3D image.

The grid map generator125may calculate the relationship between Equation 1 and the components (k1, k2, p1, p2, k3) of the lens distortion model of the camera110as shown in Equation 2, and then project the VLs and Xi, Yi,Zat each vertex Xi, Yi, 0→Ui, Viof the grid map projected onto the image as the coordinates Un, Vnof the grip map.

Herein, the grid map generator125may reduce (e.g., minimize) a time for searching the points of the grid map that contact the outermost KPs of the object. For example, if the object is a human body, the grid map generator125may search a predetermined diameter range (e.g., 1 m) from the center of the tips of both feet of the human body. In addition, if the object is a vehicle, the grid map generator125may search along a line extending from two wheels of the vehicle as long as the two wheels are visible.

The one or more OGRs may be created at S109.

If the object is a human body, it may not be easy to determine the outermost points according to a specific posture. In this case, the grid map generator125may determine an (e.g., a maximum) occupied area for each object to generate the OGRs with the occupied area around the point of the grid map that is in contact with the ground. At this case, the grid map generator125may generate the OGRs in a circular shape having a predetermined diameter.

The present disclosure provides an object estimation apparatus and method configured for directly estimating an actual location of an object having a height from the ground.

In accordance with an example of the disclosure, an object estimation apparatus includes an object outputter configured to recognize one or more key points set in one or more objects included in an image of an object photographed by a camera, a calibrator configured to calibrate the image and project a grid map onto the image, and a grid map generator configured to project vertical lines onto the grid map-projected image, and generate one or more occupied grid map region (OGRs) in the grid map with the vertical lines and the one or more key points.

The calibrator may project the grid map onto a location of the image corresponding to a ground of the image of the object photographed by the camera.

The object outputter may set one or more ground key points, contacting the ground of the image, of the one or more key points, and the calibrator may calculate a relational expression between coordinates of the image photographed by the camera and actual coordinates using a unique parameter based on a model of the camera, the ground key points, and the grid map.

The vertical line each may be projected onto a point at which a horizontal line and a vertical line of the grid map intersect.

The grid map generator may set the one or more OGRs in the grid map using a position where the vertical lines are in contact with one or more outermost key points arranged on the outermost part of the key points set in the one or more objects.

Each of the one or more OGRs may be a region formed to include the one or more outermost key points.

The object outputter may set one or more ground key points contacting a ground of the image, of the one or more key points, and the grid map generator may form the one or more OGRs in a circular shape having a predetermined diameter around midpoints of two of the ground key points.

The grid map generator may form the one or more OGRs using a line extending from two of the ground key points.

The key points each may be set at main points of the one or more objects.

In accordance with another example of the disclosure, an object estimation method includes recognizing one or more key points set in one or more objects included in an image of an object photographed by a camera, projecting a grid map onto the image, projecting vertical lines onto the grid map-projected image, and generating one or more occupied grid map region (OGRs) in the grid map with the vertical lines and the one or more key points.

The grid map may be projected onto a location of the image corresponding to a ground of the image of the object photographed by the camera.

The recognizing of the one or more key points may further include setting one or more ground key points, contacting the ground of the image, of the one or more key points.

The projecting of the grid map may further include projecting the grid map at a location, of the image, corresponding to the ground of the image of the object photographed by the camera.

The projecting of the grid map may further include calculating a relational expression between coordinates of the grid map-projected image and actual coordinates of the one or more objects using a unique parameter based on a model of the camera, the ground key points, and the grid map.

The vertical line each may be projected onto a point at which a horizontal line and a vertical line of the grid map intersect.

The one or more OGRs may be created using a position where the vertical lines are in contact with one or more outermost key points arranged on the outermost part of the key points set in the one or more objects.

Each of the one or more OGRs may be a region formed to include the one or more outermost key points.

The recognizing of the one or more key points may further include setting one or more ground key points contacting a ground of the image, of the one or more key points, and each of the one or more OGRs may have a circular shape with a predetermined diameter around midpoints of two of the ground key points.

The recognizing of the one or more key points may further include setting a ground key point contacting the ground, of the one or more key points, and each of the one or more OGRs may be created using a line extending from two of the ground key points.

The one or more key points each may be set at main points of the one or more objects.

As is apparent from the above, various examples of the present disclosure may estimate the actual position of an object having a height from the ground using calibration technologies and vertical line models, thereby estimating the actual position more accurately than the conventional method of predicting indirectly.

Further, various examples of the present disclosure may recognize the 3D structure of the object using the 2D key points recognition result, infer the regions occupied by the object in real space by selecting close proximity (e.g., the outermost) points of the object and obtaining the coordinates of the points, and indicate the OGRs by generating the vertical lines, thereby accurately estimating the actual position of the 3D object.

The above-described examples may be implemented in the form of a recording medium storing instructions executable by one or more processors of a computer or any other computing devices. The instructions may be stored in the form of program code. When the instructions are executed by a processor, a program module is generated by the instructions so that the operations of the disclosed examples may be carried out. The recording medium may be implemented as a non-transitory computer-readable recording medium.

The non-transitory computer-readable recording medium may include all types of recording media storing data readable by a computer system. Examples of the computer-readable recording medium include a Read Only Memory (ROM), a Random Access Memory (RAM), a magnetic tape, a magnetic disk, a flash memory, an optical data storage device, or the like.

Although various examples of the disclosure have been shown and described, it would be appreciated by those having ordinary skill in the art that changes may be made in the example(s) described herein without departing from the principles and spirit of the disclosure, the scope of which is defined in the claims and their equivalents.