WO2022141262A1 - Object detection - Google Patents

Object detection Download PDF

Info

Publication number
WO2022141262A1
WO2022141262A1 PCT/CN2020/141674 CN2020141674W WO2022141262A1 WO 2022141262 A1 WO2022141262 A1 WO 2022141262A1 CN 2020141674 W CN2020141674 W CN 2020141674W WO 2022141262 A1 WO2022141262 A1 WO 2022141262A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
region
target object
bounding box
initial
Prior art date
Application number
PCT/CN2020/141674
Other languages
French (fr)
Inventor
Xiaozhi Chen
Original Assignee
SZ DJI Technology Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SZ DJI Technology Co., Ltd. filed Critical SZ DJI Technology Co., Ltd.
Priority to PCT/CN2020/141674 priority Critical patent/WO2022141262A1/en
Publication of WO2022141262A1 publication Critical patent/WO2022141262A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]

Definitions

  • the present disclosure relates to the field of image processing and, more particularly, to camera-based three-dimensional object detection.
  • Robot perception has been implemented in many applications of robotics, such as autonomous driving.
  • Three-dimensional (3D) object detection is the key technology of a robot perception system.
  • 3D object detection technology is used to obtain 3D information (including 3D coordinates, size, and orientation, etc. ) of obstacles, such as vehicles, pedestrians, etc., in various driving scenarios, e.g., a road scene, so as to provide obstacle information for downstream decision-making and control units.
  • a three-dimensional (3D) object detecting method includes obtaining a first image containing a target object and a second image containing the target object; estimating an initial 3D bounding box corresponding to the target object based on the first image and the second image; performing local matching based on the initial 3D bounding box; and obtaining information of the target object by optimizing the local matching.
  • an image processing apparatus includes a processor and a memory storing instructions. When executed by the processor, the instructions causes the processor to obtain a first image containing a target object and a second image containing the target object; estimate an initial 3D bounding box corresponding to the target object based on the first image and the second image; perform local matching based on the initial 3D bounding box; and obtain information of the target object by optimizing the local matching.
  • a mobile platform includes a first image sensor configured to obtain a first image containing a target object, a second image sensor configured to obtain a second image containing the target object, and a processor.
  • the processor is configured to obtain the first image and the second image through the first image sensor and the second image sensor, respectively; estimate an initial 3D bounding box corresponding to the target object based on the first image and the second image; perform local matching based on the initial 3D bounding box; and obtain information of the target object by optimizing the local matching.
  • FIG. 1 is a flow chat of an example three-dimensional (3D) object detecting method according to some embodiments of the present disclosure.
  • FIG. 2 is a flow chat of another example 3D object detecting method according to some embodiments of the present disclosure.
  • FIG. 3 is a flow chat of another example 3D object detecting method according to some embodiments of the present disclosure.
  • FIG. 4 a flow chat of another example 3D object detecting method according to some embodiments of the present disclosure.
  • FIG. 5 a flow chat of another example 3D object detecting method according to some embodiments of the present disclosure.
  • FIG. 6 schematically shows an example region-determination network according to some embodiments of the present disclosure.
  • FIG. 7 schematically shows an example regression network according to some embodiments of the present disclosure.
  • FIG. 8 schematically shows an example relationship between an observation angle and an orientation angle of a target object according to some embodiments of the present disclosure.
  • FIG. 9 schematically shows an example 3D bonding box according to some embodiments of the present disclosure.
  • FIG. 10 schematically shows an example application of a 3D object detecting method according to some embodiments of the present disclosure.
  • FIG. 11 schematically shows another example application of a 3D object detecting method according to some embodiments of the present disclosure.
  • FIG. 12 schematically shows an example image processing apparatus according to some embodiments of the present disclosure.
  • FIG. 13 schematically shows an example mobile platform according to some embodiments of the present disclosure.
  • Three-dimensional (3D) object detection can be used by a robot perception system of an unmanned vehicle, e.g., an autonomous driving vehicle, to obtain 3D information (including 3D coordinates, size, and orientation, etc. ) of obstacles, such as vehicles, pedestrians, etc., such that a downstream controller of the unmanned vehicle can control the vehicle based on the obtained 3D information of the obstacles.
  • an unmanned vehicle e.g., an autonomous driving vehicle
  • 3D information including 3D coordinates, size, and orientation, etc.
  • obstacles such as vehicles, pedestrians, etc.
  • Laser sensors can be used for object detection as the laser sensors can directly obtain distance information of the obstacles.
  • a laser-based object detection can generally realize relatively high precision of distance measurement.
  • the laser sensors are usually expensive, which is not conducive to the mass production of autonomous driving vehicles.
  • the laser point cloud obtained by the laser sensors is usually sparse and lacks detailed information, which is not conducive to determine semantic information of obstacles.
  • a camera-based object detection through processing images acquired by a camera, can acquire very rich details and semantic information of the obstacles, but are unable to obtain high-precision distance measurement.
  • Technologies using camera-based object detection are mature for two-dimensional (2D) object detection, but it is difficult to recover the 3D information of the object from 2D images.
  • Conventional 3D object detection methods based on binocular images usually rely on explicit calculation of dense pixel-level depth maps, and are very sensitive to illumination changes, weak texture areas, image noise, etc., thereby limiting the application of these methods.
  • Neural networks have been successfully applied to image classification and 2D image detection. However, how to apply deep learning for obtaining 3D information of the objects in the 2D images remains a problem to be solved.
  • one aspect of the present disclosure provides a camera-based 3D object detection method, which combines neural networks and geometric reasoning to realize the 3D positioning of 3D objects.
  • an initial 3D bounding box of the 3D objects through neural networks is obtained, and local matching, e.g., local dense matching, local sparse matching, local dense-sparse matching, local feature matching, etc., is performed to directly optimize the position of a 3D bounding box of the object, and this method does not require pixel-level calculation of a depth map.
  • the method of the present disclosure is more robust to lamination changes, weak texture areas, and noise, has higher positioning accuracy, and is applicable to a wider range of application scenarios.
  • This method can achieve high-precision 3D positioning of objects based on cameras, e.g., binocular cameras alone, and this method is thus very suitable for obstacle perception in autonomous driving scenarios, and can also be extended to other applications of robotics, such as unmanned vehicles, logistics robots, cleaning robots, etc.
  • FIG. 1 flow chat of an example 3D object detecting method according to some embodiments of the present disclosure.
  • a first image and a second image are obtained, where the first image and the second image may both contain a target object.
  • Each of the first image and the second image can be referred to as a 2D image.
  • the first image and the second image may be obtained via one or more image sensors of a camera, e.g., a binocular camera.
  • the first image and the second image may correspond to substantially the same photographing scene.
  • the photographing scene may include one or more target objects.
  • a representation of the one or more target objects in the first image matches a representation of the one or more target objects in the second image.
  • the first image and the second image may be obtained via a first image sensor and a second image sensor, respectively, of a camera, e.g., a binocular camera.
  • a camera e.g., a binocular camera.
  • the first image may be obtained via a left image sensor of the binocular camera
  • the second image may be obtained via a right image sensor of the binocular camera.
  • the first image and the second image are obtained by processing a first raw image and a second raw image, respectively.
  • the first image sensor e.g., the left image sensor
  • the second image sensor e.g., the right image sensor
  • An epipolar line of the first raw image may not be aligned with or parallel to an epipolar line of the second raw image.
  • the first raw image and the second raw image may be subjected to one or more processes such as undistortion, stereo rectification, and/or cropping, to obtain the first image and the second image, respectively.
  • An epipolar line of the first image and an epipolar line of the second image may be both aligned with a same horizontal line.
  • the first image and the second image obtained by processing the first raw image and the second raw image, respectively, may have a same orientation and may be translationally displaced with respect to each other.
  • the first raw image and the second image may be processed through stereo rectification using Bouguet method if internal parameters and distortion parameters of the two image sensors are known.
  • the first raw image and the second raw image may be processed through stereo rectification using Hartley method if the internal parameters and/or the distortion parameters of the two image sensors are unknown.
  • an initial 3D bounding box corresponding to the target object is estimated based on the first image and the second image.
  • the initial 3D bounding box may be determined based on the target object and the target object may include one of a building, a vehicle, and a pedestrian.
  • a 3D scale and/or a shape of the initial 3D bounding box may be determined based on the target object in the first image and/or the second image.
  • the 3D scale of the initial bounding box may include a dimension (s) in one or more directions, an area (s) of one or more surfaces, or a volume, etc., of the initial bounding box.
  • the initial 3D bounding box may have a default shape, e.g., a cuboid.
  • a shape of the 3D bounding box may be selected from a plurality of predetermined shapes, such as a cuboid, a sphere, a cylinder, a cone, etc.
  • the shape of the initial bounding box may be selected based on the target object in the first image and/or the second image.
  • the shape of the initial 3D bounding boxes corresponding to different target objects may be different.
  • Local matching refers to image matching within a first portion of the first image and a second portion of the second image. That is, image matching is not performed between the entire first and second images, but between portions of the first and second images.
  • the first portion of the first image and the second portion of the second image may both correspond to the initial 3D bounding box.
  • the first portion of the first image and the second portion of the second image may be obtained according to the initial 3D bounding box.
  • Image matching may be feature-based matching, dense matching, sparse matching, dense-sparse matching etc.
  • the feature-based matching compares and analyses features between images.
  • the dense matching establishes the dense correspondence between images.
  • Scale invariant feature transform (SIFT) algorithm may be used for a dense matching process.
  • the sparse matching utilizes sparse an approximation theory, which deals with sparse solutions for systems of linear equations.
  • Belief propagation (BP) algorithm may be used for a sparse matching process.
  • the dense-sparse matching combines the dense matching and the sparse matching.
  • information of the target object is obtained by optimizing the local matching.
  • the information of the target object may include at least one of a depth at a center of the target object, 3D scale information of the target object, an orientation angle of the target object, 3D positioning of the target object, or semantic information of the target object.
  • performing local matching on the initial 3D object (103) includes projecting the initial 3D bounding box onto one of the first image and the second image to obtain a visible portion of the initial 3D bounding box (201) , and performing local matching based on the visible portion of the initial 3D bounding box (202) .
  • the initial 3D bounding box may be projected onto the first image or the second image.
  • the projection of the 3D bounding box onto the first image or the second image transforms the 3D bounding box to a 2D projection region in the first image or the second image.
  • the 2D projection region may correspond to a visible portion of the initial 3D bounding box in the first image or the second image.
  • the initial 3D bounding box may be projected onto the first image to obtain a 2D projection region as the visible portion of the initial 3D bounding box.
  • the 2D projection region in the first image may be used to determine a corresponding 2D region in the second image based on a correspondence relationship, e.g., a matching relationship, between the first image and the second image, where the corresponding 2D region in the second image may be determined as the visible portion of the initial 3D bounding box in the second image.
  • the first image and the second image obtained after stereo rectification have only the translation difference, i.e., the first image the second image have the same coordinate in a vertical direction and have same height, and a disparity corresponding to each pixel within the 2D projection region in the first image may be used to determine the corresponding 2D region in the second image. For example, for pixel i with coordinates (u i , v i ) within the 2D projection region in the first image, based on a disparity d i corresponding to pixel i in the first image, the corresponding pixel in the second region may be determined to be at (u i -d i , v i ) in the second image.
  • the initial 3D bounding box may be projected onto the second image to obtain a 2D projection region as the visible portion of the initial 3D bounding box in the second image, and the 2D projection region in the second image may be used to determine a corresponding 2D region in the first image, where the corresponding 2D region in the first image may be determined as the visible portion of the initial 3D bounding box in the first image.
  • the initial 3D bounding box may be projected onto the first image to obtain a first 2D projection region as the visible portion of the initial 3D bounding box in the first image, and the initial 3D bounding box may be projected onto the second image to obtain a second 2D projection region as the visible portion of the initial 3D bounding box in the second image.
  • performing local matching based on the visible portion of the initial 3D bounding box (202) includes calculating a disparity corresponding to each pixel within the visible portion according to the initial 3D bounding box (301) , and determining a matching error of pixels within the visible portion based on the disparities corresponding to the pixels within the visible portion (302) .
  • the disparity corresponding to each pixel within the visible portion may be calculated based on a depth corresponding to each pixel within the visible portion.
  • the depth corresponding to each pixel within the visible portion may be calculated according to coordinates of a center of the initial 3D bounding box and a 3D scale of the initial 3D bounding box.
  • the initial 3D bounding box may be projected to the first image, where the first image may be obtained via a first image sensor (e.g., a left image sensor) of a binocular camera, and the disparity corresponding to each pixel may be calculated based on the following equations:
  • d i is a disparity corresponding to pixel i in the visible portion
  • z i is the depth corresponding to pixel i in the visible portion
  • f is a focal length of the first image sensor
  • b is a baseline of the binocular camera and represents a distance between the first image sensor (e.g., the left image sensor) and the second image sensor (e.g., the right image sensor)
  • z is a depth at a center of the initial 3D bounding box
  • s is a 3D scale (e.g., a dimension (s) in one or more directions, an area (s) of one or more surfaces, a volume, etc. ) of the initial 3D bounding box
  • f (z, s) represents a mapping relationship between the pixel depth and the center depth and the 3D scale of the initial 3D bounding box.
  • a location in the initial 3D bounding box corresponding to pixel i in the visible portion may be determined.
  • the depth at a center of the initial 3D bounding box, and a 3D scale e.g., a dimension (s) in one or more directions, an area (s) of one or more surfaces, a volume, etc.
  • the depth corresponding to pixel i in the visible portion may be determined.
  • the matching error of pixels within the visible portion of the initial 3D bounding box in the first image and the second image may be a sum of pixel matching errors.
  • a pixel matching error (or simply “matching error” ) refers to a matching error between a pixel within the visible portion of the initial 3D bonding box in the first image and a corresponding pixel in the second image (e.g., a corresponding pixel within the visible portion of the initial 3D bounding box in the second image) .
  • the first image and the second image obtained after stereo rectification have only the translation difference, i.e., the first image the second image have the same coordinate in a vertical direction and have same height
  • the matching error of the pixels within the visible portion of the initial 3D bounding box may be calculated based on the following equation:
  • E is the matching error of the pixels within the visible portion
  • L is a matching error function
  • N is total number of pixels within the visible portion
  • I l and I r are representations for the first image and a second image, respectively
  • (u i , v i ) represents coordinates of pixel i within the visible portion
  • d i is the disparity corresponding to pixel i.
  • I l and I r may represent pixel values of pixel i within the visible portion of the initial 3D bounding box in the first image and a second image, respectively. In some other embodiments, I l and I r may represent feature maps of the first image and a second image, respectively.
  • the matching error function L may be determined according to application scenarios.
  • the matching error function L can be an L1 norm or an L2 norm.
  • obtaining the information of the target object by optimizing the local matching (104) includes adjusting the initial 3D bounding box according to the matching error to obtain an updated 3D bounding box (e.g., an optimized 3D bounding box) where the updated 3D bounding box corresponds to a lowest matching error (303) , and obtaining the information of the target object based on the updated 3D bounding box (304) .
  • an updated 3D bounding box e.g., an optimized 3D bounding box
  • the initial 3D bounding box may be adjusted to optimize the local matching (e.g., to decrease the matching error) , so as to obtain an updated 3D bounding box that corresponds to a lowest matching error.
  • the depth corresponding to a center of the updated 3D bounding box may be obtained, and coordinates at the center of the updated 3D bounding box may also be obtained.
  • the 3D position, 3D scale, and/or orientation of the target object may be determined based on the depth corresponding to the center of the updated 3D bounding box and/or coordinates at the center of the updated 3D bounding box.
  • the 3D scale of the target object may include a dimension (s) of the target object in one or more directions, a volume of the target object, or an area (s) in one or more surfaces of the target objects.
  • Determining an appropriate initial 3D bounding box may help to reduce the amount of calculation for optimizing the local matching.
  • the appropriate initial 3D bounding box may approximately simulate a shape and/or an occupied space of the target object.
  • determining the initial 3D bounding box (102) further includes obtaining a first region of the first image and a second region of the second image, where the first region and the second region both contain the target object (401) ; estimating initial information of the target object based on the first region and the second region (402) ; and estimating the initial 3D bounding box corresponding to the target object based on the first region, the second region, and/or the initial information (403) .
  • the first region and the second region may be 2D bounding boxes, each of the 2D bounding boxes including one or more pixels.
  • the first region and the second region may be obtained based on a first feature map of the first image and a second feature map of the second image, respectively.
  • the first image and the second image may be processed through a base network to obtain the first feature map and the second feature map, respectively.
  • the base network may include at least one of convolution processing, pooling processing, or non-linear computation processing.
  • the base network may include a first base network for processing the first image for obtaining the first feature map, and a second base network for processing the second image to obtain the second feature map.
  • the first base network and the second network may have the same network structure and base weight coefficient.
  • the base weight coefficient may be determined through deep learning, e.g., training with a plurality of training images.
  • the first image may be processed through the first base network using the base weight coefficient to obtain the first feature map.
  • the second image may be processed through the second base network using the base weight coefficient to obtain the second feature map.
  • a plurality of first candidate regions and a plurality of second candidate regions may be determined in the first image based on the first feature map and the second image based on the second feature map, respectively, where the plurality of first candidate regions have one-to-one correspondence with the plurality of second candidate regions.
  • the first region and the second region may be determined from the plurality of first candidate regions and the plurality of second candidate regions, respectively.
  • a number of the plurality of first candidate regions or a number of the plurality of second candidate regions is in a range from 99 to 1000.
  • the number of the plurality of first candidate regions or the number of the plurality of second candidate regions may be 300.
  • the plurality of regions of the first image and the plurality of regions of the second image may be processed through a region-determination network to determine the plurality of first candidate regions and the plurality of second candidate regions, respectively.
  • the region-determination network includes at least one of convolution processing, pooling processing, or non-linear computation processing.
  • the first feature map and the second feature map may be processed through the region-determination network using a region-determination weight coefficient to determine the plurality of first candidate regions in the first image and the plurality of second candidate regions in the second image, respectively.
  • the region-determination weight coefficient may be determined through deep learning, e.g., training with a plurality of training images.
  • the plurality of regions of the first image and the plurality of regions of the second image may be processed through a redundancy filter to obtain the plurality of first candidate regions and the plurality of second candidate regions, respectively.
  • the plurality of regions of the first image and/or the plurality of regions of the second image may be processed through a redundancy filter using a non-maximum suppression method to obtain the plurality of first candidate regions and the plurality of second candidate regions, respectively.
  • the first feature map and the second feature map may be processed through a feature transformation network.
  • the plurality of regions in the first image and the plurality of regions in the second image may be predicted to correspond to the target object, and a confidence of each of the plurality of regions in the first image belonging to the target object and a confidence of each of the plurality of regions in the second image belonging to the target object may also be predicted.
  • the plurality of regions of the first image and the plurality of regions of the second image may be processed through a redundancy filter using a non-maximum suppression method based on the predicted confidence to obtain the plurality of first candidate regions and the plurality of second candidate regions, respectively.
  • a set A contains N regions in in the first image or the second image that are predicted to belong to the target object.
  • the set A may be processed through a redundancy filter using a non-maximum suppression method based on the predicted confidence of each region in the N regions to obtain one or more candidate regions in a set B.
  • the process may include (1) initializing the set B as an empty set; (2) iteratively executing the following steps until the set A is empty: (i) taking a region b with the highest confidence from set A and adding the region b to set B, (ii) calculating a coincidence degree of each of the remaining regions in the set A and the region b in the set B, and (iii) deleting one or more regions in the set A whose coincidence degree is greater than a certain threshold; and (3) outputting the set B.
  • each of the first image and the second image has a resolution of 100*50, i.e., each of the firs image and the second image has 5000 pixels.
  • Each of the first image and the second image contains a plurality of objects that include a target object.
  • the region-determination network predicts there are 100 pixels in each of the first image and the second image belonging to the target object, and each of the 100 pixels in the first image and a corresponding one of the 100 pixels in the second image correspond a pair of 2D boxes that predicted to belong to the target object. That is, 100 pairs of 2D boxes are predicted to belong to the target object.
  • a confidence for each of the 100 pixels in the first image belonging to the target object and/or a confidence for each of the 100 pixels in the second image belonging to the target object may be predicted.
  • the non-maximum suppression method may be used to remove one of more pairs of 2D boxes whose coincidence degree exceed a certain threshold, and thus only a few pairs of 2D boxes are retained as candidate regions (including the first candidate regions and the second candidate regions) of the target object.
  • the initial information may include a semantic class of the target object.
  • the semantic class of the target object may be selected from a plurality of semantic classes.
  • the plurality of semantic classes may include a vehicle, a person, a building, a plant, and/or a background.
  • the plurality of semantic classes may further include a plurality of types of the vehicle including a motorcycle, a trailer, a passenger car, a bus, a micro, a sedan, a CRV, a SUV, a hatchback, a roadster, a pickup, a van, a coupe, a supercar, a campervan, a mini truck, a cabriolet, a minivan, a truck, a big truck, etc.
  • the plurality of semantic classes may further include a plurality of brands of the vehicle.
  • the initial information may include positional information of the first region and positional information of the second region.
  • the positional information of the first region may include at least one of a width of the first region, a length of the first region, or coordinates of a center of the first region; and the positional information of the second region may include at least one of a width of the second region, a length of the second region, or coordinates of a center of the second region.
  • the initial information may include an observation angle with respect to the target object, and an orientation angle of the target object.
  • the orientation angle of the target object may be obtained based on the observation angle with respect to the target object.
  • the initial information may include a 3D scale of the target object.
  • the 3D scale of the target object may include a dimension (s) of the target object in one or more directions, a volume of the target object, or an area (s) in one or more surfaces of the target objects.
  • the 3D scale of the target object may be determined based on the semantic class of the target object. For example, a correspondence relationship between averaged scales and semantic classes may be established. Different semantic classes may correspond to different averaged scales.
  • the 3D scale of the target object may be estimated based on the semantic class of the target object and the established correspondence relationship between averaged scales and a plurality of semantic classes.
  • the initial information may include one or more key points of the initial 3D bounding box.
  • the one or more key points of the initial 3D bounding box may include three or more corner points of the 3D bounding box.
  • the initial 3D bounding box corresponding to the target object may be obtained based on the first region and the second region. In some embodiments, the initial 3D bounding box corresponding to the target object may be obtained further based on the estimated initial information of the target object.
  • FIG. 5 a flow chat of another example 3D object detecting method according to some embodiments of the present disclosure.
  • a first raw image 501 and a second raw image 502 are processed through stereo rectification 503 to obtain a first image 504 and a second image 505, respectively.
  • An epipolar line of the first image 504 and an epipolar line of the second image 505 may be both aligned with a same horizontal line.
  • the first image 504 is processed through a first base network 506 to obtain a first feature map 508.
  • the second image 505 is processed through a second base network 507 to obtain a second feature map 509.
  • the first feature map 508 and the second feature map 509 are input to a region-determination network 510, which outputs a plurality of first candidate regions 512 in the first image 504 and a plurality of second candidate regions 513 in the second image 505.
  • the first feature map 508, the second feature map 509, the plurality of first candidate regions 512 and the plurality of second candidate regions 513 are input to a regression network 511 to output 3D bounding box information 514.
  • an initial 3D bounding box may be estimated based on the 3D bounding box information 514.
  • Local matching 515 is performed on the initial 3D bounding box and based on the local matching, information of the target object 516 is obtained.
  • the information of the target object 516 includes a depth at a center of the target object, a 3D scale, an orientation angle, 3D positioning, and/or semantic information of the target object.
  • FIG. 6 schematically shows an example region-determination network according to some embodiments of the present disclosure.
  • the first feature map 601 and the second feature map 602 are feature transformed through a feature transformation network 603.
  • 2D bounding box prediction 605 is performed for the transformed first feature map and transformed second feature map to obtain a plurality of regions in the first image and a plurality of regions in the second image, respectively, that are predicted to belong to the target object.
  • the plurality of regions in the first image have one-to-one correspondence with the plurality of regions in the second image.
  • Confidence prediction 604 is performed for each of the plurality of regions in the first image to determine a confidence of each of the plurality of regions in the first image belonging to the target object.
  • Confidence prediction 604 is also performed for each of the plurality of regions in the second image to determine a confidence of each of the plurality of regions in the second image belonging to the target object.
  • the plurality of regions in the first image and the plurality of regions in the second image are filtered via a redundancy filter 606 to obtain a plurality of first candidate regions 607 and a plurality of second candidate regions 608, respectively.
  • FIG. 7 schematically shows an example regression network according to some embodiments of the present disclosure.
  • a first feature map 701 and a second feature map 702 are input to a fusion network 704.
  • a plurality of first candidate regions 703, a plurality of second candidate regions 705, and output of the fusion network are input to a candidate region feature network 706.
  • the fusion network 704 and the candidate region feature network 706 may be parts of a feature fusion network, which may be a convolutional neural network.
  • the plurality of first candidate regions 703 and the plurality of second candidate regions 705 may be normalized to have a same predetermined scale.
  • the first feature map 701 and the second feature map 702 may be processed by a pooling processing in the fusion network 704 to obtain a feature vector with a preset length.
  • the candidate region feature network 706 may perform multiple level of feature transformation to obtain features of the plurality of first candidate regions 703 and the plurality of second candidate regions 705, and fuse the features of the of the plurality of first candidate regions 703 and the plurality of second candidate regions 705 to output fused features that combines information of the first image and the second image.
  • the fused features may be used to output estimated initial information of the target object and estimated information of the initial 3D bounding box.
  • the output of candidate region feature network 706 is input into object semantic class information estimation 707 to obtain an semantic class of the target object.
  • the semantic class of the target object may be selected from a plurality of semantic classes.
  • a confidence of each of the plurality of candidate regions 703 belonging to a certain semantic class and/or each of the plurality of candidate regions 705 belonging to a certain semantic class may be calculated.
  • the semantic class of the target object may be obtained based on the calculated confidence.
  • the output of candidate region feature network 706 is also input into 2D bonding box adjustment 708 to adjust a fist region and a second region (e.g., a first 2D bounding box and a second 2D bounding box corresponding to the target object) in the first image and the second image, respectively.
  • a fist region and a second region e.g., a first 2D bounding box and a second 2D bounding box corresponding to the target object
  • Each 2D bonding box may be represented by coordinates of a center point pixel, and a length and a width of the 2D bounding box.
  • the first image and the second image have only the translation difference after stereo rectification.
  • the first image the second image have the same coordinate in a vertical direction and have same height.
  • the 2D bonding box adjustment 708 can predict a offset between each candidate regions and a true value of a 2D bonding box corresponding to the target object, so that the estimated 2D bounding box can be adjusted according to the predicted offset to obtain a more accurate 2D bounding box.
  • the output of candidate region feature network 706 is also input into 3D scale estimation 709 to estimate a 3D scale of the target object.
  • the 3D scale of the target object may include a dimension (s) of the target object in one or more directions, a volume of the target object, or an area (s) in one or more surfaces of the target objects.
  • the 3D scale of the target object may be estimated based on the semantic class of the target object and the established correspondence relationship between averaged scales and a plurality of semantic classes.
  • the output of candidate region feature network 706 is also input into observation estimation 710 to estimate an observation angle (e.g., viewpoint) of first image or the second image with respect to the target object.
  • An orientation angle of the target object may be estimated based on the observation angle.
  • FIG. 8 schematically shows an example relationship between an observation angle and an orientation angle of a target object according to some embodiments of the present disclosure.
  • the camera 810 captures an image containing a target object 820 (e.g., a car) .
  • x c may represent a vertical direction of the image
  • z c may represent a depth direction of the image that is perpendicular to the vertical direction of the image.
  • z c may also represent an orientation direction of the camera 810
  • x c may represent a direction perpendicular to the orientation direction of the camera 810.
  • An angle ⁇ may represent an orientation angle of the target object 820, and the angle ⁇ may be angle between an orientation direction z of the target object 820 and the orientation direction z c of the camera 810.
  • the orientation direction z of the target object 820 may be a heading direction or forward driving direction of the target object 820.
  • An angle ⁇ may represent an azimuth direction of the target object 820, and the angle ⁇ may be an angle between an observation direction of the camera 810 with respect to the target object 820 and the orientation direction z c of the camera 810.
  • the observation direction of the camera 810 with respect to the target object 820 may be a direction along a line from the camera 810 to a center point of the target object 820.
  • An observation angle ⁇ of the target object 820 may be an angle between the observation direction of the camera 810 with respect to the target object 820 and the orientation direction z of the target object 820.
  • the regression network can estimate an observation angle ⁇ (e.g., viewpoint) of the camera 810 with respect to the target object 820, the orientation angle ⁇ of the target object 820 may be obtained based on the observation angle ⁇ of the camera 810.
  • FIG. 9 schematically shows an example 3D bonding box 900 according to some embodiments of the present disclosure.
  • the 3D bounding box 900 which may be an initial bounding box, an adjusted initial bounding box, or an updated initial bounding box obtained by optimizing local matching.
  • the 3D bounding box 900 includes eight corner points 901-908 and a center point 909 at a center of the 3D bounding box 900.
  • the key points estimation 711 may output three or more points of key points of eight corner points 901-908 and a center point 909 of the 3D bounding box 900.
  • FIGs. 10 and 11 schematically show example applications of 3D object detecting methods according to some embodiments of the present disclosure.
  • an image 1010 may be the first image and/or the second image.
  • the image 1010 includes a plurality of objects including one or more target objects. For example, there are two target objects in the image 1010.
  • the image 1010 may be transformed to an image 1020 and a region 1021 in the image 1020 corresponding to the one or more target objects can be estimated.
  • the region 1021 may be a 2D bounding box containing the one or more target objects. Based on the region 1021, an initial 3D bounding box 1031 corresponding to the one or more target objects maybe obtained. As shown in FIG.
  • an initial 3D bounding box 1111 corresponding to one or more target objects is projected to an image 1120, which maybe one of the first image and the second image to obtain a visible portion 1121 of the initial 3D bounding box 1111.
  • image 1120 which maybe one of the first image and the second image to obtain a visible portion 1121 of the initial 3D bounding box 1111.
  • local matching may be performed within the visible portion 1121 of the initial 3D bounding box 1111 and information of the one or more target objects may be obtained by optimizing local matching.
  • the 3D object detection method combines neural networks and geometric reasoning to realize the 3D positioning of 3D objects and does not require pixel-level matching calculation between entire images.
  • local matching is performed to directly optimize the position of a 3D frame of the object.
  • the method of the present disclosure is more robust to lamination changes, weak texture areas, and noise, has higher positioning accuracy, and is applicable to a wider range of application scenarios.
  • This method can achieve high-precision 3D positioning of objects based on cameras, e.g., binocular cameras alone, and provides detailed semantic information of the objects. This method is thus very suitable for obstacle perception in autonomous driving scenarios, and can also be extended to other applications of robotics, such as unmanned vehicles, logistics robots, cleaning robots, etc.
  • FIG. 12 schematically shows an example image processing apparatus 1200 according to some embodiments of the present disclosure.
  • the image processing apparatus 1200 may be a camera, an image processing assembly mounted on an unmanned vehicle, a mobile phone, a tablet, or another apparatus with an image processing function.
  • the image processing apparatus 1200 includes one or more of the following components: a processor 1210 and a memory 1220.
  • the processor 1210 may be configured to control operations, e.g., image processing, of the image processing apparatus 1200.
  • the processor 1210 is configured to execute computer- readable instructions.
  • the processor 1210 may also include one or more components (not shown) to facilitate interaction between the processor 1210 and the memory 1220.
  • the memory1220 may store a plurality of computer-readable instructions, images to be processed, images being processed, and images processed by the image processing apparatus 1200.
  • the memory 1220 may be any type of volatile or non-volatile memory or a combination thereof, such as a static random-access memory (SRAM) , an electrically erasable programmable read-only memory (EEPROM) , an erasable programmable read-only memory (EPROM) , a programmable read-only memory (PROM) , a read-only memory (ROM) , a magnetic memory, a flash memory, a disk, or an optical disk.
  • SRAM static random-access memory
  • EEPROM electrically erasable programmable read-only memory
  • EPROM erasable programmable read-only memory
  • PROM programmable read-only memory
  • ROM read-only memory
  • magnetic memory a magnetic memory
  • flash memory a flash memory
  • disk or an optical disk.
  • the computer-readable instructions can be executed by the processor 1210 to cause the processor 1210 to implement a method consistent with the disclosure, such as the example 3D object detection method described above in connection with FIGs. 1-11.
  • the instructions can cause the processor 1210 to obtain a first image and a second image, where the first image and the second image may both contain a target object.
  • Each of the first image and the second image can be referred to as a 2D image.
  • the first image and the second image may be obtained via one or more image sensors of a camera, e.g., a binocular camera that is communicatively connected to the image processing apparatus 1200.
  • the first image and the second image may correspond to substantially the same photographing scene.
  • the photographing scene may include one or more target objects. A representation of the one or more target objects in the first image matches a representation of the one or more target objects in the second image.
  • the first image and the second image may be obtained via a first image sensor and a second image sensor, respectively, of a camera, e.g., a binocular camera.
  • the camera is communicatively connected to the image processing apparatus 1200.
  • the first image may be obtained via a left image sensor of the binocular camera
  • the second image may be obtained via a right image sensor of the binocular camera.
  • the first image and the second image are obtained by processing a first raw image and a second raw image, respectively.
  • the first image sensor e.g., the left image sensor
  • the second image sensor e.g., the right image sensor
  • An epipolar line of the first raw image may not be aligned with or parallel to an epipolar line of the second raw image.
  • the first raw image and the second raw image may be subjected to one or more processes such as undistortion, stereo rectification, and/or cropping, to obtain the first image and the second image, respectively.
  • An epipolar line of the first image and an epipolar line of the second image may be both aligned with a same horizontal line.
  • the first image and the second image obtained by processing the first raw image and the second raw image, respectively, may have a same orientation and may be translationally displaced with respect to each other.
  • the first raw image and the second image may be processed through stereo rectification using Bouguet method if internal parameters and distortion parameters of the two image sensors are known.
  • the first raw image and the second raw image may be processed through stereo rectification using Hartley method if the internal parameters and/or the distortion parameters of the two image sensors are unknown.
  • the instructions can cause the processor 1210 to estimate an initial 3D bounding box corresponding to the target object based on the first image and the second image.
  • the initial 3D bounding box may be determined based on the target object and the target object may include one of a building, a vehicle, and a pedestrian.
  • a 3D scale and/or a shape of the initial 3D bounding box may be determined based on the target object in the first image and/or the second image.
  • the initial 3D bounding box may have a default shape, e.g., a cuboid.
  • a shape of the 3D bounding box may be selected from a plurality of predetermined shapes, such as a cuboid, a sphere, a cylinder, a cone, etc.
  • the shape of the initial bounding box may be selected based on the target object in the first image and/or the second image.
  • the shape of the initial 3D bounding boxes corresponding to different target objects may be different.
  • the instructions can cause the processor 1210 to perform local matching based on the initial 3D bounding box.
  • Local matching refers to image matching within a first portion of the first image and a second portion of the second image. That is, image matching is not performed between the entire first and second images, but between portions of the first and second images.
  • the first portion of the first image and the second portion of the second image may both correspond to the initial 3D bounding box.
  • the first portion of the first image and the second portion of the second image may be obtained according to the initial 3D bounding box.
  • Image matching may be feature-based matching, dense matching, etc., where the feature-based matching compares and analyses features between images, and the dense matching establishes the dense correspondence between images.
  • the instructions can cause the processor 1210 to obtain information of the target object by optimizing the local matching.
  • the information of the target object may include at least one of a depth at a center of the target object, 3D scale information of the target object, an orientation angle of the target object, 3D positioning of the target object, or semantic information of the target object.
  • the instructions can cause the processor 1210 to project the initial 3D bounding box onto one of the first image and the second image to obtain a visible portion of the initial 3D bounding box; and perform local matching based on the visible portion of the initial 3D bounding box.
  • the initial 3D bounding box may be projected onto the first image or the second image.
  • the projection of the 3D bounding box onto the first image or the second image transforms the 3D bounding box to a 2D projection region in the first image or the second image.
  • the 2D projection region may correspond to a visible portion of the initial 3D bounding box in the first image or the second image.
  • the initial 3D bounding box may be projected onto the first image to obtain a 2D projection region as the visible portion of the initial 3D bounding box.
  • the 2D projection region in the first image may be used to determine a corresponding 2D region in the second image based on a correspondence relationship, e.g., a matching relationship, between the first image and the second image, where the corresponding 2D region in the second image may be determined as the visible portion of the initial 3D bounding box in the second image.
  • a disparity corresponding to each pixel within the 2D projection region in the first image may be used to determine the corresponding 2D region in the second image.
  • the corresponding pixel in the second region may be determined to be at (u i -d i , v i ) in the second image.
  • the initial 3D bounding box may be projected onto the second image to obtain a 2D projection region as the visible portion of the initial 3D bounding box in the second image, and the 2D projection region in the second image may be used to determine a corresponding 2D region in the first image, where the corresponding 2D region in the first image may be determined as the visible portion of the initial 3D bounding box in the first image.
  • the initial 3D bounding box may be projected onto the first image to obtain a first 2D projection region as the visible portion of the initial 3D bounding box in the first image, and the initial 3D bounding box may be projected onto the second image to obtain a second 2D projection region as the visible portion of the initial 3D bounding box in the second image.
  • the instructions can cause the processor 1210 to calculate a disparity corresponding to each pixel within the visible portion according to the initial 3D bounding box; and determine a matching error of pixels within the visible portion based on the disparity corresponding to each pixel within the visible portion.
  • the disparity corresponding to each pixel within the visible portion may be calculated based on a depth corresponding to each pixel within the visible portion.
  • the depth corresponding to each pixel within the visible portion may be calculated according to coordinates of a center of the initial 3D bounding box and a 3D scale of the initial 3D bounding box.
  • the 3D scale of the initial bounding box may include a dimension (s) in one or more directions, an area (s) of one or more surfaces, or a volume, etc.
  • the matching error of pixels within the visible portion of the initial 3D bounding box in the first image and the second image may be a sum of pixel matching errors.
  • a pixel matching error (or simply “matching error” ) refers to a matching error between each pixel within the visible portion of the initial 3D bonding box in the first image and a corresponding pixel in the second image (e.g., a corresponding pixel within the visible portion of the initial 3D bounding box in the second image) .
  • the instructions can cause the processor 1210 to adjust the initial 3D bounding box according to the matching error to obtain an updated 3D bounding box (e.g., an optimized 3D bounding box) , where the updated 3D bounding box corresponds to a lowest matching error; and obtain the information of the target object based on the updated 3D bounding box.
  • the initial 3D bounding box may be adjusted to optimize the local matching (e.g., to decrease the matching error) , so as to obtain an updated 3D bounding box that corresponds to a lowest matching error.
  • the depth corresponding to a center of the updated 3D bounding box may be obtained, and coordinates at the center of the updated 3D bounding box may also be obtained.
  • the 3D positioning, 3D scale, and/or orientation of the target object may be determined based on the depth corresponding to the center of the updated 3D bounding box and/or coordinates at the center of the updated 3D bounding box.
  • the instructions can cause the processor 1210 to obtain a first region of a first image and a second region of the second image may be obtained, where the first region and the second region may both contain the target object.
  • the first region and the second region may be 2D bounding boxes, each of the 2D bounding boxes including one or more pixels.
  • the first region and the second region may be obtained based on a first feature map of the first image and a second feature map of the second image, respectively.
  • the instructions can cause the processor 1210 to estimate initial information of the target object based on the first region and the second region.
  • the initial information may include a semantic class of the target object, positional information of the first region and positional information of the second region, an observation angle with respect to the target object, an orientation angle of the target object, 3D scale of the target object, and/or one or more key points of the initial 3D bounding box.
  • the 3D scale of the target object may include a dimension (s) of the target object in one or more directions, a volume of the target object, or an area (s) in one or more surfaces of the target objects.
  • the instructions can cause the processor 1210 to obtain the initial 3D bounding box corresponding to the target object based on the first region and the second region. In some embodiments, the initial 3D bounding box corresponding to the target object may be obtained further based on the estimated initial information of the target object.
  • the image processing apparatus utilizes neural networks and geometric reasoning to realize the 3D positioning of 3D objects and is not required to perform pixel-level matching calculation between entire images, but performs local matching to directly optimize the position of a 3D frame of the object.
  • the image processing apparatus can be robust to lamination changes, weak texture areas, and noise, has higher positioning accuracy, and is applicable to a wider range of application scenarios.
  • This image processing apparatus can achieve high-precision 3D positioning of objects based on cameras, e.g., binocular cameras alone, and provides detailed semantic information of the objects.
  • the image processing apparatus is thus very suitable for obstacle perception in autonomous driving scenarios, and can also be extended to other applications of robotics, such as unmanned vehicles, logistics robots, cleaning robots, etc.
  • FIG. 13 schematically shows an example mobile platform 1300 according to some embodiments of the present disclosure.
  • the mobile platform may be an autonomous driving robot, an unmanned vehicle, a cleaning robot, a logistics robot, etc.
  • the mobile platform 1300 includes a processor 1310 and a memory 1320.
  • the processor 1310 can be configured to control operations, e.g., image acquisition, image processing, and image display, etc., of the mobile platform 1300.
  • the processor 1310 is configured to execute computer-readable instructions stored in the memory 1320.
  • the memory 1320 may store a plurality of computer-readable instructions of the mobile platform 1300.
  • the memory 1320 may be any type of volatile or non-volatile memory or a combination thereof, such as a static random-access memory (SRAM) , an electrically erasable programmable read-only memory (EEPROM) , an erasable programmable read-only memory (EPROM) , a programmable read-only memory (PROM) , a read-only memory (ROM) , a magnetic memory, a flash memory, a disk, or an optical disk.
  • SRAM static random-access memory
  • EEPROM electrically erasable programmable read-only memory
  • EPROM erasable programmable read-only memory
  • PROM programmable read-only memory
  • ROM read-only memory
  • the computer-readable instructions can be executed by the processor 1310 to cause the processor 1310 to implement a method consistent with the disclosure, such as the example 3D object detection method described above in connection with FIGs. 1-11.
  • the instructions can cause the processor 1310 to obtain a first image and a second image, where the first image and the second image may both contain a target object.
  • Each of the first image and the second image can be referred to as a 2D image.
  • the first image and the second image may be obtained via one or more image sensors of a camera, e.g., binocular camera that is communicatively connected to the mobile platform1300.
  • the first image and the second image may correspond to substantially the same photographing scene.
  • the photographing scene may include one or more target objects. A representation of the one or more target objects in the first image matches a representation of the one or more target objects in the second image.
  • the first image and the second image may be obtained via a first image sensor and a second image sensor, respectively, of a camera, e.g., a binocular camera.
  • the camera is communicatively connected to the mobile platform 1300.
  • the first image may be obtained via a left image sensor of the binocular camera
  • the second image may be obtained via a right image sensor of the binocular camera.
  • the first image and the second image are obtained by processing a first raw image and a second raw image, respectively.
  • the first image sensor e.g., the left image sensor
  • the second image sensor e.g., the right image sensor
  • An epipolar line of the first raw image may not be aligned with or parallel to an epipolar line of the second raw image.
  • the first raw image and the second raw image may thus be subjected to one or more processes such as undistortion, stereo rectification, and/or cropping, to obtain the first image and the second image, respectively.
  • An epipolar line of the first image and an epipolar line of the second image may be both aligned with a same horizontal line.
  • the first image and the second image obtained by processing the first raw image and the second raw image, respectively, may have a same orientation and may be translationally displaced with respect to each other.
  • the first raw image and the second image may be processed through stereo rectification using Bouguet method if internal parameters and distortion parameters of the two image sensors are known.
  • the first raw image and the second raw image may be processed through stereo rectification using Hartley method if the internal parameters and/or the distortion parameters of the two image sensors are unknown.
  • the instructions can cause the processor 1310 to estimate an initial 3D bounding box corresponding to the target object based on the first image and the second image.
  • the initial 3D bounding box may be determined based on the target object and target object may include one of a building, a vehicle, and a pedestrian.
  • a 3D scale and/or a shape of the initial 3D bounding box may be determined based on the target object in the first image and/or the second image.
  • the initial 3D bounding box may have a default shape, e.g., a cuboid.
  • a shape of the 3D bounding box may be selected from a plurality of predetermined shapes, a cuboid, a sphere, a cylinder, a cone, etc.
  • the shape of the initial bounding box may be selected based on the target object in the first image and/or the second image.
  • the shape of the initial 3D bounding boxes corresponding to different target objects may be different.
  • the instructions can cause the processor 1310 to perform local matching based on the initial 3D bounding box.
  • Local matching refers to image matching within only a first portion of the first image and a second portion of the second image. That is, image matching is not performed between the entire first and second images, but between portions of the first and second images.
  • the first portion of the first image and the second portion of the second image may both correspond to the initial 3D bounding box.
  • the first portion of the first image and the second portion of the second image may be obtained according to the initial 3D bounding box.
  • Image matching may be feature-based matching, dense matching, etc., where the feature-based matching compares and analyses features between images, and the dense matching establishes the dense correspondence between images.
  • the instructions can cause the processor 1310 to obtain information of the target object by optimizing the local matching.
  • the information of the target object may include at least one of a depth at a center of the target object, 3D scale information of the target object, an orientation angle of the target object, 3D positioning of the target object, or semantic information of the target object.
  • the instructions can cause the processor 1310 to project the initial 3D bounding box onto one of the first image and the second image to obtain a visible portion of the initial 3D bounding box; and perform local matching based on the visible portion of the initial 3D bounding box.
  • the initial 3D bounding box may be projected onto the first image or the second image.
  • the projection of the 3D bounding box onto the first image or the second image transforms the 3D bounding box to a 2D projection region in the first image or the second image.
  • the 2D projection region may correspond to a visible portion of the initial 3D bounding box in the first image or the second image.
  • the initial 3D bounding box may be projected onto the first image to obtain a 2D projection region as the visible portion of the initial 3D bounding box.
  • the 2D projection region in the first image may be used to determine a corresponding 2D region in the second image based on a correspondence relationship, e.g., a matching relationship, between the first image and the second image, where the corresponding 2D region in the second image may be determined as the visible portion of the initial 3D bounding box in the second image.
  • a disparity corresponding to each pixel within the 2D projection region in the first image may be used to determine the corresponding 2D region in the second image.
  • the corresponding pixel in the second region may be determined to be at (u i -d i , v i ) in the second image.
  • the initial 3D bounding box may be projected onto the second image to obtain a 2D projection region as the visible portion of the initial 3D bounding box in the second image, and the 2D projection region in the second image may be used to determine a corresponding 2D region in the first image, where the corresponding 2D region in the first image may be determined as the visible portion of the initial 3D bounding box in the first image.
  • the initial 3D bounding box may be projected onto the first image to obtain a first 2D projection region as the visible portion of the initial 3D bounding box in the first image, and the initial 3D bounding box may be projected onto the second image to obtain a second 2D projection region as the visible portion of the initial 3D bounding box in the second image.
  • the instructions can cause the processor 1310 to calculate a disparity corresponding to each pixel within the visible portion according to the initial 3D bounding box; and determine a matching error of pixels within the visible portion based on the disparity corresponding to each pixel within the visible portion.
  • the disparity corresponding to each pixel within the visible portion may be calculated based on a depth corresponding to each pixel within the visible portion. The depth corresponding to each pixel within the visible portion may be calculated according to coordinates of a center of the initial 3D bounding box and a 3D scale of the initial 3D bounding box.
  • the matching error of pixels within the visible portion of the initial 3D bounding box in the first image and the second image may be a sum ofpixel matching errors.
  • a pixel matching error (or simply “matching error” ) refers to a matching error between each pixel within the visible portion of the initial 3D bonding box in the first image and a corresponding pixel in the second image (e.g., a corresponding pixel within the visible portion of the initial 3D bounding box in the second image) .
  • the instructions can cause the processor 1310 to adjust the initial 3D bounding box according to the matching error to obtain an updated 3D bounding box (e.g., an optimized 3D bounding box) , where the updated 3D bounding box corresponds to a lowest matching error; and obtain the information of the target object based on the updated 3D bounding box.
  • the initial 3D bounding box may be adjusted to optimize the local matching (e.g., to decrease the matching error) , so as to obtain an updated 3D bounding box that corresponds to a lowest matching error.
  • the depth corresponding to a center of the updated 3D bounding box may be obtained, and coordinates at the center of the updated 3D bounding box may also be obtained.
  • the 3D positioning, 3D scale, and/or orientation of the target object may be determined based on the depth corresponding to the center of the updated 3D bounding box and/or coordinates at the center of the updated 3D bounding box.
  • the instructions can cause the processor 1310 to obtain a first region of the first image and a second region of the second image may be obtained, where the first region and the second region may both contain the target object.
  • the first region and the second region may be 2D bounding boxes, each of the 2D bounding boxes including one or more pixels.
  • the first region and the second region may be obtained based on a first feature map of the first image and a second feature map of the second image, respectively.
  • the instructions can cause the processor 1310 to estimate initial information of the target object based on the first region and the second region.
  • the initial information may include a semantic class of the target object, positional information of the first region and positional information of the second region, an observation angle with respect to the target object, an orientation angle of the target object, 3D scale of the target object, and/or one or more key points of the initial 3D bounding box.
  • the instructions can cause the processor 1310 to obtain the initial 3D bounding box corresponding to the target object based on the first region and the second region. In some embodiments, the initial 3D bounding box corresponding to the target object may be obtained further based on the estimated initial information of the target object.
  • the processor 1310 can process images sent from an image acquisition apparatus, e.g., a binocular camera, mounted on the mobile platform 1300.
  • the mobile platform 1300 also includes a first image sensor 1330 (e.g., a left image sensor of the binocular camera) and a second image sensor 1340 (e.g., a right image sensor of the binocular camera) .
  • the first image sensor 1330 can be configured to obtain a first raw image
  • the second image sensor 1340 can be configured to obtain a second raw image.
  • the first raw image and the second raw image may be processed to obtain a first image and a second image.
  • the mobile platform 1300 also includes an image display unit 1350, configured to display images processed and sent by the processer 1310.
  • the mobile platform 1300 also includes a user input/output interface 1360.
  • the user input/output interface 1360 may be a display, a touch control display, a keyboard, buttons, or a combination thereof.
  • the user input/output interface 1360 can be a touch control display, and through a screen, the user can input instructions input to the mobile platform 1300.
  • processor 1310 may also include one or more components (not shown) to facilitate interaction between the processor 1310 and the first image sensor 1330 and the second image sensor 1340, the image display unit 1350 and the user input/output interface 1360.
  • the mobile platform consistent with embodiments of the present disclosure utilizes neural networks and geometric reasoning to realize the precise 3D positioning of 3D objects based on images captured by a binocular camera without assistant of a laser sensor, thereby saving the cost of the laser sensor, which can be very expensive. Further, the mobile platform is not required to perform pixel-level matching calculation between entire images, but performs local matching to directly optimize the position of a 3D frame of the object.
  • the 3D object detection performed by the mobile platform can be robust to lamination changes, weak texture areas, and noise, has higher positioning accuracy, and is applicable to a wider range of application scenarios.
  • This 3D object detection performed by the mobile platform can achieve high-precision 3D positioning of objects based on cameras, e.g., binocular cameras alone, and provides detailed semantic information of the objects.
  • the 3D object detection performed by the mobile platform is thus very suitable for obstacle perception in autonomous driving scenarios.
  • the 3D object detection method implemented by the mobile platform can also be extended to other applications of robotics, such as autonomous driving vehicles, logistics robots, etc. Further, based on the 3D object detection performed by the mobile platform, the mobile platform can not only precisely position obstacles and but also obtain rich detailed information about the obstacles, based on both of which, the mobile platform can better construct a simulated driving environmental including the obstacles and/or better control the mobile platform to avoid the obstacles.
  • the disclosed apparatuses, device, and methods may be implemented in other manners not described here.
  • the devices described above are merely illustrative.
  • multiple elements or components may be combined or may be integrated into another system, or some features may be ignored, or not executed.
  • the coupling or direct coupling or communication connection shown or discussed may include a direct connection or an indirect connection or communication connection through one or more interfaces, devices, or units, which may be electrical, mechanical, or in other form.
  • the elements described as separate components may or may not be physically separate. That is, the units may be located in one place or may be distributed over a plurality of network elements. Some or all of the components may be selected according to the actual needs to achieve the object of the present disclosure.
  • each unit may be an individual physically unit, or two or more units may be integrated in one unit.
  • a method consistent with the disclosure can be implemented in the form of computer program stored in a non-transitory computer-readable storage medium, which can be sold or used as a standalone product.
  • the computer program can include instructions that enable a computer device, such as a personal computer, a server, or a network device, to perform part or all of a method consistent with the disclosure, such as one of the example methods described above.
  • the storage medium can be any medium that can store program codes, for example, a USB disk, a mobile hard disk, a read-only memory (ROM) , a random-access memory (RAM) , a magnetic disk, or an optical disk.

Abstract

A three-dimensional (3D) object detecting method includes obtaining a first image containing a target object and a second image containing the target object; estimating an initial 3D bounding box corresponding to the target object based on the first image and the second image; performing local matching based on the initial 3D bounding box; and obtaining information of the target object by optimizing the local matching.

Description

OBJECT DETECTION TECHNICAL FIELD
The present disclosure relates to the field of image processing and, more particularly, to camera-based three-dimensional object detection.
BACKGROUND
Robot perception has been implemented in many applications of robotics, such as autonomous driving. Three-dimensional (3D) object detection is the key technology of a robot perception system. For example, in the application of autonomous driving, 3D object detection technology is used to obtain 3D information (including 3D coordinates, size, and orientation, etc. ) of obstacles, such as vehicles, pedestrians, etc., in various driving scenarios, e.g., a road scene, so as to provide obstacle information for downstream decision-making and control units.
SUMMARY
In accordance with the disclosure, there is provided a three-dimensional (3D) object detecting method. The method includes obtaining a first image containing a target object and a second image containing the target object; estimating an initial 3D bounding box corresponding to the target object based on the first image and the second image; performing local matching based on the initial 3D bounding box; and obtaining information of the target object by optimizing the local matching.
Also in accordance with the disclosure, there is provided an image processing apparatus. The image processing apparatus includes a processor and a memory storing instructions. When executed by the processor, the instructions causes the processor to obtain a first image containing a target object and a second image containing the target object; estimate an initial 3D bounding box corresponding to the target object based on the first image and the second image; perform local matching based on the initial 3D bounding box; and obtain information of the target object by optimizing the local matching.
Also in accordance with the disclosure, there is provided a mobile platform. The mobile platform includes a first image sensor configured to obtain a first image containing a target object, a second image sensor configured to obtain a second image containing the target object, and a processor. The processor is configured to obtain the first image and the second image through the first image sensor and the second image sensor, respectively; estimate an initial 3D bounding box corresponding to the target object based on the first image and the second image; perform local matching based on the initial 3D bounding box; and obtain information of the target object by optimizing the local matching.
DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow chat of an example three-dimensional (3D) object detecting method according to some embodiments of the present disclosure.
FIG. 2 is a flow chat of another example 3D object detecting method according to some embodiments of the present disclosure.
FIG. 3 is a flow chat of another example 3D object detecting method according to some embodiments of the present disclosure.
FIG. 4 a flow chat of another example 3D object detecting method according to some embodiments of the present disclosure.
FIG. 5 a flow chat of another example 3D object detecting method according to some embodiments of the present disclosure.
FIG. 6 schematically shows an example region-determination network according to some embodiments of the present disclosure.
FIG. 7 schematically shows an example regression network according to some embodiments of the present disclosure.
FIG. 8 schematically shows an example relationship between an observation angle and an orientation angle of a target object according to some embodiments of the present disclosure.
FIG. 9 schematically shows an example 3D bonding box according to some embodiments of the present disclosure.
FIG. 10 schematically shows an example application of a 3D object detecting method according to some embodiments of the present disclosure.
FIG. 11 schematically shows another example application of a 3D object detecting method according to some embodiments of the present disclosure.
FIG. 12 schematically shows an example image processing apparatus according to some embodiments of the present disclosure.
FIG. 13 schematically shows an example mobile platform according to some embodiments of the present disclosure.
DETAILED DESCRIPTION
Technical solutions of the present disclosure will be described with reference to the drawings. It will be appreciated that the described embodiments are some rather than all of the embodiments of the present disclosure. Other embodiments conceived by those having ordinary skills in the art on the basis of the described embodiments without inventive efforts should fall within the scope of the present disclosure.
Example embodiments will be described with reference to the accompanying drawings, in which the same numbers refer to the same or similar elements unless otherwise specified.
Unless otherwise defined, all the technical and scientific terms used herein have the same or similar meanings as generally understood by one of ordinary skill in the art. As described herein, the terms used in the specification of the present disclosure are intended to describe example embodiments, instead of limiting the present disclosure. The term “and/or” used herein includes any suitable combination of one or more related items listed.
Those of ordinary skill in the art will appreciate that the example elements and algorithm steps described below can be implemented in electronic hardware, or in a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. One of ordinary skill in the art can use different methods to implement the described  functions for different application scenarios, but such implementations should not be considered as beyond the scope of the present disclosure.
Three-dimensional (3D) object detection can be used by a robot perception system of an unmanned vehicle, e.g., an autonomous driving vehicle, to obtain 3D information (including 3D coordinates, size, and orientation, etc. ) of obstacles, such as vehicles, pedestrians, etc., such that a downstream controller of the unmanned vehicle can control the vehicle based on the obtained 3D information of the obstacles.
Laser sensors can be used for object detection as the laser sensors can directly obtain distance information of the obstacles. A laser-based object detection can generally realize relatively high precision of distance measurement. However, the laser sensors are usually expensive, which is not conducive to the mass production of autonomous driving vehicles. Further, the laser point cloud obtained by the laser sensors is usually sparse and lacks detailed information, which is not conducive to determine semantic information of obstacles.
Contrary to the laser-based object detection, a camera-based object detection, through processing images acquired by a camera, can acquire very rich details and semantic information of the obstacles, but are unable to obtain high-precision distance measurement. Technologies using camera-based object detection are mature for two-dimensional (2D) object detection, but it is difficult to recover the 3D information of the object from 2D images. Conventional 3D object detection methods based on binocular images usually rely on explicit calculation of dense pixel-level depth maps, and are very sensitive to illumination changes, weak texture areas, image noise, etc., thereby limiting the application of these methods.
Neural networks have been successfully applied to image classification and 2D image detection. However, how to apply deep learning for obtaining 3D information of the objects in the 2D images remains a problem to be solved.
To solve the above technical problems, one aspect of the present disclosure provides a camera-based 3D object detection method, which combines neural networks and geometric reasoning to realize the 3D positioning of 3D objects. According to the method, an initial 3D bounding box of the 3D objects through neural networks is obtained, and local matching, e.g., local dense matching, local sparse matching, local dense-sparse matching, local feature matching, etc., is performed to directly optimize the position of a 3D bounding box of the object, and this method does not require pixel-level calculation of a depth map. As such, the method of the present disclosure is more robust to lamination changes, weak texture areas, and noise, has higher positioning accuracy, and is applicable to a wider range of application scenarios. This method can achieve high-precision 3D positioning of objects based on cameras, e.g., binocular cameras alone, and this method is thus very suitable for obstacle perception in autonomous driving scenarios, and can also be extended to other applications of robotics, such as unmanned vehicles, logistics robots, cleaning robots, etc.
FIG. 1 flow chat of an example 3D object detecting method according to some embodiments of the present disclosure. As shown in FIG. 1, at 101, a first image and a second image are obtained, where the first image and the second image may both contain a target object. Each of the first image and the second image can be referred to as a 2D image.
The first image and the second image may be obtained via one or more image sensors of a camera, e.g., a binocular camera. In some embodiments, the first image and the second image  may correspond to substantially the same photographing scene. The photographing scene may include one or more target objects. A representation of the one or more target objects in the first image matches a representation of the one or more target objects in the second image.
In some embodiments, the first image and the second image may be obtained via a first image sensor and a second image sensor, respectively, of a camera, e.g., a binocular camera. In some embodiments, the first image may be obtained via a left image sensor of the binocular camera, and the second image may be obtained via a right image sensor of the binocular camera.
In some embodiments, the first image and the second image are obtained by processing a first raw image and a second raw image, respectively. The first image sensor (e.g., the left image sensor) may capture the first raw image and the second image sensor (e.g., the right image sensor) may capture the second raw image. An epipolar line of the first raw image may not be aligned with or parallel to an epipolar line of the second raw image. The first raw image and the second raw image may be subjected to one or more processes such as undistortion, stereo rectification, and/or cropping, to obtain the first image and the second image, respectively. An epipolar line of the first image and an epipolar line of the second image may be both aligned with a same horizontal line. The first image and the second image obtained by processing the first raw image and the second raw image, respectively, may have a same orientation and may be translationally displaced with respect to each other. In some embodiments, the first raw image and the second image may be processed through stereo rectification using Bouguet method if internal parameters and distortion parameters of the two image sensors are known. In some embodiments, the first raw image and the second raw image may be processed through stereo rectification using Hartley method if the internal parameters and/or the distortion parameters of the two image sensors are unknown.
At 102, an initial 3D bounding box corresponding to the target object is estimated based on the first image and the second image.
The initial 3D bounding box may be determined based on the target object and the target object may include one of a building, a vehicle, and a pedestrian. For example, a 3D scale and/or a shape of the initial 3D bounding box may be determined based on the target object in the first image and/or the second image. The 3D scale of the initial bounding box may include a dimension (s) in one or more directions, an area (s) of one or more surfaces, or a volume, etc., of the initial bounding box.
In some embodiments, the initial 3D bounding box may have a default shape, e.g., a cuboid. In some other embodiments, a shape of the 3D bounding box may be selected from a plurality of predetermined shapes, such as a cuboid, a sphere, a cylinder, a cone, etc. For example, the shape of the initial bounding box may be selected based on the target object in the first image and/or the second image. The shape of the initial 3D bounding boxes corresponding to different target objects may be different.
At 103, local matching is performed based on the initial 3D bounding box.
Local matching refers to image matching within a first portion of the first image and a second portion of the second image. That is, image matching is not performed between the entire first and second images, but between portions of the first and second images. In some embodiments, the first portion of the first image and the second portion of the second image may both correspond to the initial 3D bounding box. In some embodiments, the first portion of the first image and the second portion of the second image may be obtained according to the initial 3D bounding box. Image matching may be feature-based matching, dense matching, sparse  matching, dense-sparse matching etc. The feature-based matching compares and analyses features between images. The dense matching establishes the dense correspondence between images. Scale invariant feature transform (SIFT) algorithm may be used for a dense matching process. The sparse matching utilizes sparse an approximation theory, which deals with sparse solutions for systems of linear equations. Belief propagation (BP) algorithm may be used for a sparse matching process. The dense-sparse matching combines the dense matching and the sparse matching.
At 104, information of the target object is obtained by optimizing the local matching. The information of the target object may include at least one of a depth at a center of the target object, 3D scale information of the target object, an orientation angle of the target object, 3D positioning of the target object, or semantic information of the target object.
In some embodiments, as shown in FIG. 2, performing local matching on the initial 3D object (103) includes projecting the initial 3D bounding box onto one of the first image and the second image to obtain a visible portion of the initial 3D bounding box (201) , and performing local matching based on the visible portion of the initial 3D bounding box (202) .
The initial 3D bounding box may be projected onto the first image or the second image. The projection of the 3D bounding box onto the first image or the second image transforms the 3D bounding box to a 2D projection region in the first image or the second image. The 2D projection region may correspond to a visible portion of the initial 3D bounding box in the first image or the second image.
In some embodiments, the initial 3D bounding box may be projected onto the first image to obtain a 2D projection region as the visible portion of the initial 3D bounding box. The 2D  projection region in the first image may be used to determine a corresponding 2D region in the second image based on a correspondence relationship, e.g., a matching relationship, between the first image and the second image, where the corresponding 2D region in the second image may be determined as the visible portion of the initial 3D bounding box in the second image. In some embodiments, the first image and the second image obtained after stereo rectification have only the translation difference, i.e., the first image the second image have the same coordinate in a vertical direction and have same height, and a disparity corresponding to each pixel within the 2D projection region in the first image may be used to determine the corresponding 2D region in the second image. For example, for pixel i with coordinates (u i, v i) within the 2D projection region in the first image, based on a disparity d i corresponding to pixel i in the first image, the corresponding pixel in the second region may be determined to be at (u i-d i, v i) in the second image. Similarly, the initial 3D bounding box may be projected onto the second image to obtain a 2D projection region as the visible portion of the initial 3D bounding box in the second image, and the 2D projection region in the second image may be used to determine a corresponding 2D region in the first image, where the corresponding 2D region in the first image may be determined as the visible portion of the initial 3D bounding box in the first image.
In some other embodiments, the initial 3D bounding box may be projected onto the first image to obtain a first 2D projection region as the visible portion of the initial 3D bounding box in the first image, and the initial 3D bounding box may be projected onto the second image to obtain a second 2D projection region as the visible portion of the initial 3D bounding box in the second image.
In some embodiments, as shown in FIG. 3, performing local matching based on the visible portion of the initial 3D bounding box (202) includes calculating a disparity  corresponding to each pixel within the visible portion according to the initial 3D bounding box (301) , and determining a matching error of pixels within the visible portion based on the disparities corresponding to the pixels within the visible portion (302) .
In some embodiments, the disparity corresponding to each pixel within the visible portion may be calculated based on a depth corresponding to each pixel within the visible portion. The depth corresponding to each pixel within the visible portion may be calculated according to coordinates of a center of the initial 3D bounding box and a 3D scale of the initial 3D bounding box.
For example, the initial 3D bounding box may be projected to the first image, where the first image may be obtained via a first image sensor (e.g., a left image sensor) of a binocular camera, and the disparity corresponding to each pixel may be calculated based on the following equations:
Figure PCTCN2020141674-appb-000001
z i = f (z, s)       Equation (2)
where, d i is a disparity corresponding to pixel i in the visible portion; z i is the depth corresponding to pixel i in the visible portion; f is a focal length of the first image sensor; b is a baseline of the binocular camera and represents a distance between the first image sensor (e.g., the left image sensor) and the second image sensor (e.g., the right image sensor) ; z is a depth at a center of the initial 3D bounding box; s is a 3D scale (e.g., a dimension (s) in one or more directions, an area (s) of one or more surfaces, a volume, etc. ) of the initial 3D bounding box; and  f (z, s) represents a mapping relationship between the pixel depth and the center depth and the 3D scale of the initial 3D bounding box.
In some embodiments, based on a mapping relationship between the initial 3D bounding box and the visible portion (e.g., 2D projection region) of the initial 3D bounding box, a location in the initial 3D bounding box corresponding to pixel i in the visible portion may be determined. Based on the location, the depth at a center of the initial 3D bounding box, and a 3D scale (e.g., a dimension (s) in one or more directions, an area (s) of one or more surfaces, a volume, etc. ) of the initial 3D bounding box, the depth corresponding to pixel i in the visible portion may be determined.
In some embodiments, the matching error of pixels within the visible portion of the initial 3D bounding box in the first image and the second image may be a sum of pixel matching errors. A pixel matching error (or simply “matching error” ) refers to a matching error between a pixel within the visible portion of the initial 3D bonding box in the first image and a corresponding pixel in the second image (e.g., a corresponding pixel within the visible portion of the initial 3D bounding box in the second image) .
For example, the first image and the second image obtained after stereo rectification have only the translation difference, i.e., the first image the second image have the same coordinate in a vertical direction and have same height, and the matching error of the pixels within the visible portion of the initial 3D bounding box may be calculated based on the following equation:
Figure PCTCN2020141674-appb-000002
where, E is the matching error of the pixels within the visible portion; L is a matching error function; N is total number of pixels within the visible portion; I l and I r are representations for the first image and a second image, respectively; (u i, v i) represents coordinates of pixel i within the visible portion; and d i is the disparity corresponding to pixel i.
In some embodiments, I l and I r may represent pixel values of pixel i within the visible portion of the initial 3D bounding box in the first image and a second image, respectively. In some other embodiments, I l and I r may represent feature maps of the first image and a second image, respectively.
In some embodiments, the matching error function L may be determined according to application scenarios. For example, the matching error function L can be an L1 norm or an L2 norm.
In some embodiments, as shown in FIG. 3, obtaining the information of the target object by optimizing the local matching (104) includes adjusting the initial 3D bounding box according to the matching error to obtain an updated 3D bounding box (e.g., an optimized 3D bounding box) where the updated 3D bounding box corresponds to a lowest matching error (303) , and obtaining the information of the target object based on the updated 3D bounding box (304) .
The initial 3D bounding box may be adjusted to optimize the local matching (e.g., to decrease the matching error) , so as to obtain an updated 3D bounding box that corresponds to a lowest matching error. Based on the optimized local matching, the depth corresponding to a center of the updated 3D bounding box may be obtained, and coordinates at the center of the updated 3D bounding box may also be obtained. As such, the 3D position, 3D scale, and/or orientation of the target object may be determined based on the depth corresponding to the center  of the updated 3D bounding box and/or coordinates at the center of the updated 3D bounding box. The 3D scale of the target object may include a dimension (s) of the target object in one or more directions, a volume of the target object, or an area (s) in one or more surfaces of the target objects.
Determining an appropriate initial 3D bounding box may help to reduce the amount of calculation for optimizing the local matching. The appropriate initial 3D bounding box may approximately simulate a shape and/or an occupied space of the target object. In some embodiments, as shown in FIG. 4, determining the initial 3D bounding box (102) further includes obtaining a first region of the first image and a second region of the second image, where the first region and the second region both contain the target object (401) ; estimating initial information of the target object based on the first region and the second region (402) ; and estimating the initial 3D bounding box corresponding to the target object based on the first region, the second region, and/or the initial information (403) .
In some embodiments, the first region and the second region may be 2D bounding boxes, each of the 2D bounding boxes including one or more pixels. The first region and the second region may be obtained based on a first feature map of the first image and a second feature map of the second image, respectively.
In some embodiments, the first image and the second image may be processed through a base network to obtain the first feature map and the second feature map, respectively. The base network may include at least one of convolution processing, pooling processing, or non-linear computation processing. The base network may include a first base network for processing the first image for obtaining the first feature map, and a second base network for processing the  second image to obtain the second feature map. The first base network and the second network may have the same network structure and base weight coefficient. The base weight coefficient may be determined through deep learning, e.g., training with a plurality of training images. The first image may be processed through the first base network using the base weight coefficient to obtain the first feature map. The second image may be processed through the second base network using the base weight coefficient to obtain the second feature map.
In some embodiments, a plurality of first candidate regions and a plurality of second candidate regions may be determined in the first image based on the first feature map and the second image based on the second feature map, respectively, where the plurality of first candidate regions have one-to-one correspondence with the plurality of second candidate regions. The first region and the second region may be determined from the plurality of first candidate regions and the plurality of second candidate regions, respectively. In some embodiments, a number of the plurality of first candidate regions or a number of the plurality of second candidate regions is in a range from 99 to 1000. For example, the number of the plurality of first candidate regions or the number of the plurality of second candidate regions may be 300.
In some embodiments, the plurality of regions of the first image and the plurality of regions of the second image may be processed through a region-determination network to determine the plurality of first candidate regions and the plurality of second candidate regions, respectively. The region-determination network includes at least one of convolution processing, pooling processing, or non-linear computation processing. For example, the first feature map and the second feature map may be processed through the region-determination network using a region-determination weight coefficient to determine the plurality of first candidate regions in the first image and the plurality of second candidate regions in the second image, respectively.  The region-determination weight coefficient may be determined through deep learning, e.g., training with a plurality of training images.
In some embodiments, the plurality of regions of the first image and the plurality of regions of the second image may be processed through a redundancy filter to obtain the plurality of first candidate regions and the plurality of second candidate regions, respectively. For example, the plurality of regions of the first image and/or the plurality of regions of the second image may be processed through a redundancy filter using a non-maximum suppression method to obtain the plurality of first candidate regions and the plurality of second candidate regions, respectively.
In some embodiments, the first feature map and the second feature map may be processed through a feature transformation network. After the feature transformation network, the plurality of regions in the first image and the plurality of regions in the second image may be predicted to correspond to the target object, and a confidence of each of the plurality of regions in the first image belonging to the target object and a confidence of each of the plurality of regions in the second image belonging to the target object may also be predicted. The plurality of regions of the first image and the plurality of regions of the second image may be processed through a redundancy filter using a non-maximum suppression method based on the predicted confidence to obtain the plurality of first candidate regions and the plurality of second candidate regions, respectively.
For example, a set A contains N regions in in the first image or the second image that are predicted to belong to the target object. The set A may be processed through a redundancy filter using a non-maximum suppression method based on the predicted confidence of each region in  the N regions to obtain one or more candidate regions in a set B. The process may include (1) initializing the set B as an empty set; (2) iteratively executing the following steps until the set A is empty: (i) taking a region b with the highest confidence from set A and adding the region b to set B, (ii) calculating a coincidence degree of each of the remaining regions in the set A and the region b in the set B, and (iii) deleting one or more regions in the set A whose coincidence degree is greater than a certain threshold; and (3) outputting the set B.
In an example scenario, each of the first image and the second image has a resolution of 100*50, i.e., each of the firs image and the second image has 5000 pixels. Each of the first image and the second image contains a plurality of objects that include a target object. The region-determination network predicts there are 100 pixels in each of the first image and the second image belonging to the target object, and each of the 100 pixels in the first image and a corresponding one of the 100 pixels in the second image correspond a pair of 2D boxes that predicted to belong to the target object. That is, 100 pairs of 2D boxes are predicted to belong to the target object. A confidence for each of the 100 pixels in the first image belonging to the target object and/or a confidence for each of the 100 pixels in the second image belonging to the target object may be predicted. According to the predicted confidence, the non-maximum suppression method may be used to remove one of more pairs of 2D boxes whose coincidence degree exceed a certain threshold, and thus only a few pairs of 2D boxes are retained as candidate regions (including the first candidate regions and the second candidate regions) of the target object.
In some embodiments, the initial information may include a semantic class of the target object. The semantic class of the target object may be selected from a plurality of semantic classes. For example, the plurality of semantic classes may include a vehicle, a person, a  building, a plant, and/or a background. In some embodiments, if the target object is a vehicle, the plurality of semantic classes may further include a plurality of types of the vehicle including a motorcycle, a trailer, a passenger car, a bus, a micro, a sedan, a CRV, a SUV, a hatchback, a roadster, a pickup, a van, a coupe, a supercar, a campervan, a mini truck, a cabriolet, a minivan, a truck, a big truck, etc. In some embodiments, if the target object is a vehicle, the plurality of semantic classes may further include a plurality of brands of the vehicle.
In some embodiments, the initial information may include positional information of the first region and positional information of the second region. For example, the positional information of the first region may include at least one of a width of the first region, a length of the first region, or coordinates of a center of the first region; and the positional information of the second region may include at least one of a width of the second region, a length of the second region, or coordinates of a center of the second region.
In some embodiments, the initial information may include an observation angle with respect to the target object, and an orientation angle of the target object. The orientation angle of the target object may be obtained based on the observation angle with respect to the target object.
In some embodiments, the initial information may include a 3D scale of the target object. The 3D scale of the target object may include a dimension (s) of the target object in one or more directions, a volume of the target object, or an area (s) in one or more surfaces of the target objects. The 3D scale of the target object may be determined based on the semantic class of the target object. For example, a correspondence relationship between averaged scales and semantic classes may be established. Different semantic classes may correspond to different averaged scales. The 3D scale of the target object may be estimated based on the semantic class of the  target object and the established correspondence relationship between averaged scales and a plurality of semantic classes.
In some embodiments, the initial information may include one or more key points of the initial 3D bounding box. For example, the one or more key points of the initial 3D bounding box may include three or more corner points of the 3D bounding box.
In some embodiments, the initial 3D bounding box corresponding to the target object may be obtained based on the first region and the second region. In some embodiments, the initial 3D bounding box corresponding to the target object may be obtained further based on the estimated initial information of the target object.
FIG. 5 a flow chat of another example 3D object detecting method according to some embodiments of the present disclosure. As shown in FIG. 5, a first raw image 501 and a second raw image 502 are processed through stereo rectification 503 to obtain a first image 504 and a second image 505, respectively. An epipolar line of the first image 504 and an epipolar line of the second image 505 may be both aligned with a same horizontal line. The first image 504 is processed through a first base network 506 to obtain a first feature map 508. The second image 505 is processed through a second base network 507 to obtain a second feature map 509. The first feature map 508 and the second feature map 509 are input to a region-determination network 510, which outputs a plurality of first candidate regions 512 in the first image 504 and a plurality of second candidate regions 513 in the second image 505. The first feature map 508, the second feature map 509, the plurality of first candidate regions 512 and the plurality of second candidate regions 513 are input to a regression network 511 to output 3D bounding box information 514. Consistent with some embodiments described above, an initial 3D bounding  box may be estimated based on the 3D bounding box information 514. Local matching 515 is performed on the initial 3D bounding box and based on the local matching, information of the target object 516 is obtained. The information of the target object 516 includes a depth at a center of the target object, a 3D scale, an orientation angle, 3D positioning, and/or semantic information of the target object.
FIG. 6 schematically shows an example region-determination network according to some embodiments of the present disclosure. As shown in FIG. 6, the first feature map 601 and the second feature map 602 are feature transformed through a feature transformation network 603. After the feature transformation, 2D bounding box prediction 605 is performed for the transformed first feature map and transformed second feature map to obtain a plurality of regions in the first image and a plurality of regions in the second image, respectively, that are predicted to belong to the target object. The plurality of regions in the first image have one-to-one correspondence with the plurality of regions in the second image. Confidence prediction 604 is performed for each of the plurality of regions in the first image to determine a confidence of each of the plurality of regions in the first image belonging to the target object. Confidence prediction 604 is also performed for each of the plurality of regions in the second image to determine a confidence of each of the plurality of regions in the second image belonging to the target object. The plurality of regions in the first image and the plurality of regions in the second image are filtered via a redundancy filter 606 to obtain a plurality of first candidate regions 607 and a plurality of second candidate regions 608, respectively.
FIG. 7 schematically shows an example regression network according to some embodiments of the present disclosure. As shown in FIG. 7, a first feature map 701 and a second feature map 702 are input to a fusion network 704. A plurality of first candidate regions 703, a  plurality of second candidate regions 705, and output of the fusion network are input to a candidate region feature network 706. The fusion network 704 and the candidate region feature network 706 may be parts of a feature fusion network, which may be a convolutional neural network.
The plurality of first candidate regions 703 and the plurality of second candidate regions 705 may be normalized to have a same predetermined scale. The first feature map 701 and the second feature map 702 may be processed by a pooling processing in the fusion network 704 to obtain a feature vector with a preset length. Based on the obtained feature vector, the candidate region feature network 706 may perform multiple level of feature transformation to obtain features of the plurality of first candidate regions 703 and the plurality of second candidate regions 705, and fuse the features of the of the plurality of first candidate regions 703 and the plurality of second candidate regions 705 to output fused features that combines information of the first image and the second image.
The fused features may be used to output estimated initial information of the target object and estimated information of the initial 3D bounding box. For example, as shown in FIG. 7, the output of candidate region feature network 706 is input into object semantic class information estimation 707 to obtain an semantic class of the target object. The semantic class of the target object may be selected from a plurality of semantic classes. A confidence of each of the plurality of candidate regions 703 belonging to a certain semantic class and/or each of the plurality of candidate regions 705 belonging to a certain semantic class may be calculated. The semantic class of the target object may be obtained based on the calculated confidence.
As shown in FIG. 7, the output of candidate region feature network 706 is also input into 2D bonding box adjustment 708 to adjust a fist region and a second region (e.g., a first 2D bounding box and a second 2D bounding box corresponding to the target object) in the first image and the second image, respectively. Each 2D bonding box may be represented by coordinates of a center point pixel, and a length and a width of the 2D bounding box. As described above, the first image and the second image have only the translation difference after stereo rectification. For example, the first image the second image have the same coordinate in a vertical direction and have same height. The 2D bonding box adjustment 708 can predict a offset between each candidate regions and a true value of a 2D bonding box corresponding to the target object, so that the estimated 2D bounding box can be adjusted according to the predicted offset to obtain a more accurate 2D bounding box.
The output of candidate region feature network 706 is also input into 3D scale estimation 709 to estimate a 3D scale of the target object. The 3D scale of the target object may include a dimension (s) of the target object in one or more directions, a volume of the target object, or an area (s) in one or more surfaces of the target objects. For example, the 3D scale of the target object may be estimated based on the semantic class of the target object and the established correspondence relationship between averaged scales and a plurality of semantic classes.
The output of candidate region feature network 706 is also input into observation estimation 710 to estimate an observation angle (e.g., viewpoint) of first image or the second image with respect to the target object. An orientation angle of the target object may be estimated based on the observation angle. FIG. 8 schematically shows an example relationship between an observation angle and an orientation angle of a target object according to some embodiments of the present disclosure. As shown in FIG. 8, the camera 810 captures an image  containing a target object 820 (e.g., a car) . x c may represent a vertical direction of the image, and z c may represent a depth direction of the image that is perpendicular to the vertical direction of the image. z c may also represent an orientation direction of the camera 810, and x c may represent a direction perpendicular to the orientation direction of the camera 810.
An angle θ may represent an orientation angle of the target object 820, and the angle θ may be angle between an orientation direction z of the target object 820 and the orientation direction z c of the camera 810. The orientation direction z of the target object 820 may be a heading direction or forward driving direction of the target object 820. An angle β may represent an azimuth direction of the target object 820, and the angle β may be an angle between an observation direction of the camera 810 with respect to the target object 820 and the orientation direction z c of the camera 810. The observation direction of the camera 810 with respect to the target object 820 may be a direction along a line from the camera 810 to a center point of the target object 820.
An observation angle α of the target object 820 may be an angle between the observation direction of the camera 810 with respect to the target object 820 and the orientation direction z of the target object 820. As shown in FIG. 8, the relationship between the observation angle α of the camera 810 with respect to the target object 820, the orientation angle θ of the target object 820, and the azimuth direction β of the target object 820 is α = β + θ. Referring to FIG. 7, the regression network can estimate an observation angle α (e.g., viewpoint) of the camera 810 with respect to the target object 820, the orientation angle θ of the target object 820 may be obtained based on the observation angle α of the camera 810.
As shown in FIG. 7, the output of candidate region feature network 706 is also input into key points estimation 711 to estimate key points of an initial 3D bounding box and/or an updated 3D bounding box. FIG. 9 schematically shows an example 3D bonding box 900 according to some embodiments of the present disclosure. The 3D bounding box 900, which may be an initial bounding box, an adjusted initial bounding box, or an updated initial bounding box obtained by optimizing local matching. As shown in FIG. 9, the 3D bounding box 900 includes eight corner points 901-908 and a center point 909 at a center of the 3D bounding box 900. The key points estimation 711 may output three or more points of key points of eight corner points 901-908 and a center point 909 of the 3D bounding box 900.
FIGs. 10 and 11 schematically show example applications of 3D object detecting methods according to some embodiments of the present disclosure. As shown in FIG. 10, an image 1010 may be the first image and/or the second image. The image 1010 includes a plurality of objects including one or more target objects. For example, there are two target objects in the image 1010. After being processed by an neural network or multiple neural networks, the image 1010 may be transformed to an image 1020 and a region 1021 in the image 1020 corresponding to the one or more target objects can be estimated. The region 1021 may be a 2D bounding box containing the one or more target objects. Based on the region 1021, an initial 3D bounding box 1031 corresponding to the one or more target objects maybe obtained. As shown in FIG. 11, an initial 3D bounding box 1111 corresponding to one or more target objects is projected to an image 1120, which maybe one of the first image and the second image to obtain a visible portion 1121 of the initial 3D bounding box 1111. For example, there are one target object in the image 1110. Consistent with the 3D object detection method according to some embodiments of the present disclosure, local matching may be performed within the visible  portion 1121 of the initial 3D bounding box 1111 and information of the one or more target objects may be obtained by optimizing local matching.
The 3D object detection method according to some embodiments of the present disclosure combines neural networks and geometric reasoning to realize the 3D positioning of 3D objects and does not require pixel-level matching calculation between entire images. According to the method, local matching is performed to directly optimize the position of a 3D frame of the object. As such, the method of the present disclosure is more robust to lamination changes, weak texture areas, and noise, has higher positioning accuracy, and is applicable to a wider range of application scenarios. This method can achieve high-precision 3D positioning of objects based on cameras, e.g., binocular cameras alone, and provides detailed semantic information of the objects. This method is thus very suitable for obstacle perception in autonomous driving scenarios, and can also be extended to other applications of robotics, such as unmanned vehicles, logistics robots, cleaning robots, etc.
Another aspect of the present disclosure provides an image processing apparatus. FIG. 12 schematically shows an example image processing apparatus 1200 according to some embodiments of the present disclosure. The image processing apparatus 1200 may be a camera, an image processing assembly mounted on an unmanned vehicle, a mobile phone, a tablet, or another apparatus with an image processing function. As shown in FIG. 12, the image processing apparatus 1200 includes one or more of the following components: a processor 1210 and a memory 1220.
The processor 1210 may be configured to control operations, e.g., image processing, of the image processing apparatus 1200. The processor 1210 is configured to execute computer- readable instructions. In addition, the processor 1210 may also include one or more components (not shown) to facilitate interaction between the processor 1210 and the memory 1220.
The memory1220 may store a plurality of computer-readable instructions, images to be processed, images being processed, and images processed by the image processing apparatus 1200. The memory 1220 may be any type of volatile or non-volatile memory or a combination thereof, such as a static random-access memory (SRAM) , an electrically erasable programmable read-only memory (EEPROM) , an erasable programmable read-only memory (EPROM) , a programmable read-only memory (PROM) , a read-only memory (ROM) , a magnetic memory, a flash memory, a disk, or an optical disk.
In some embodiments, the computer-readable instructions can be executed by the processor 1210 to cause the processor 1210 to implement a method consistent with the disclosure, such as the example 3D object detection method described above in connection with FIGs. 1-11.
In some embodiments, the instructions can cause the processor 1210 to obtain a first image and a second image, where the first image and the second image may both contain a target object. Each of the first image and the second image can be referred to as a 2D image.
The first image and the second image may be obtained via one or more image sensors of a camera, e.g., a binocular camera that is communicatively connected to the image processing apparatus 1200. In some embodiments, the first image and the second image may correspond to substantially the same photographing scene. The photographing scene may include one or more target objects. A representation of the one or more target objects in the first image matches a representation of the one or more target objects in the second image.
In some embodiments, the first image and the second image may be obtained via a first image sensor and a second image sensor, respectively, of a camera, e.g., a binocular camera. The camera is communicatively connected to the image processing apparatus 1200. In some embodiments, the first image may be obtained via a left image sensor of the binocular camera, and the second image may be obtained via a right image sensor of the binocular camera.
In some embodiments, the first image and the second image are obtained by processing a first raw image and a second raw image, respectively. The first image sensor (e.g., the left image sensor) may capture the first raw image and the second image sensor (e.g., the right image sensor) may capture the second raw image. An epipolar line of the first raw image may not be aligned with or parallel to an epipolar line of the second raw image. The first raw image and the second raw image may be subjected to one or more processes such as undistortion, stereo rectification, and/or cropping, to obtain the first image and the second image, respectively. An epipolar line of the first image and an epipolar line of the second image may be both aligned with a same horizontal line. The first image and the second image obtained by processing the first raw image and the second raw image, respectively, may have a same orientation and may be translationally displaced with respect to each other. In some embodiments, the first raw image and the second image may be processed through stereo rectification using Bouguet method if internal parameters and distortion parameters of the two image sensors are known. In some embodiments, the first raw image and the second raw image may be processed through stereo rectification using Hartley method if the internal parameters and/or the distortion parameters of the two image sensors are unknown.
In some embodiments, the instructions can cause the processor 1210 to estimate an initial 3D bounding box corresponding to the target object based on the first image and the second  image. The initial 3D bounding box may be determined based on the target object and the target object may include one of a building, a vehicle, and a pedestrian. For example, a 3D scale and/or a shape of the initial 3D bounding box may be determined based on the target object in the first image and/or the second image. In some embodiments, the initial 3D bounding box may have a default shape, e.g., a cuboid. In some other embodiments, a shape of the 3D bounding box may be selected from a plurality of predetermined shapes, such as a cuboid, a sphere, a cylinder, a cone, etc. For example, the shape of the initial bounding box may be selected based on the target object in the first image and/or the second image. The shape of the initial 3D bounding boxes corresponding to different target objects may be different.
In some embodiments, the instructions can cause the processor 1210 to perform local matching based on the initial 3D bounding box. Local matching refers to image matching within a first portion of the first image and a second portion of the second image. That is, image matching is not performed between the entire first and second images, but between portions of the first and second images. In some embodiments, the first portion of the first image and the second portion of the second image may both correspond to the initial 3D bounding box. In some embodiments, the first portion of the first image and the second portion of the second image may be obtained according to the initial 3D bounding box. Image matching may be feature-based matching, dense matching, etc., where the feature-based matching compares and analyses features between images, and the dense matching establishes the dense correspondence between images.
In some embodiments, the instructions can cause the processor 1210 to obtain information of the target object by optimizing the local matching. The information of the target object may include at least one of a depth at a center of the target object, 3D scale information of  the target object, an orientation angle of the target object, 3D positioning of the target object, or semantic information of the target object.
In some embodiments, the instructions can cause the processor 1210 to project the initial 3D bounding box onto one of the first image and the second image to obtain a visible portion of the initial 3D bounding box; and perform local matching based on the visible portion of the initial 3D bounding box. The initial 3D bounding box may be projected onto the first image or the second image. The projection of the 3D bounding box onto the first image or the second image transforms the 3D bounding box to a 2D projection region in the first image or the second image. The 2D projection region may correspond to a visible portion of the initial 3D bounding box in the first image or the second image.
In some embodiments, the initial 3D bounding box may be projected onto the first image to obtain a 2D projection region as the visible portion of the initial 3D bounding box. The 2D projection region in the first image may be used to determine a corresponding 2D region in the second image based on a correspondence relationship, e.g., a matching relationship, between the first image and the second image, where the corresponding 2D region in the second image may be determined as the visible portion of the initial 3D bounding box in the second image. In some embodiments, a disparity corresponding to each pixel within the 2D projection region in the first image may be used to determine the corresponding 2D region in the second image. For example, for pixel i with coordinates (u i, v i) within the 2D projection region in the first image, based on a disparity d i corresponding to pixel i in the first image, the corresponding pixel in the second region may be determined to be at (u i -d i, v i) in the second image. Similarly, the initial 3D bounding box may be projected onto the second image to obtain a 2D projection region as the visible portion of the initial 3D bounding box in the second image, and the 2D projection region  in the second image may be used to determine a corresponding 2D region in the first image, where the corresponding 2D region in the first image may be determined as the visible portion of the initial 3D bounding box in the first image.
In some other embodiments, the initial 3D bounding box may be projected onto the first image to obtain a first 2D projection region as the visible portion of the initial 3D bounding box in the first image, and the initial 3D bounding box may be projected onto the second image to obtain a second 2D projection region as the visible portion of the initial 3D bounding box in the second image.
In some embodiments, the instructions can cause the processor 1210 to calculate a disparity corresponding to each pixel within the visible portion according to the initial 3D bounding box; and determine a matching error of pixels within the visible portion based on the disparity corresponding to each pixel within the visible portion.
In some embodiments, the disparity corresponding to each pixel within the visible portion may be calculated based on a depth corresponding to each pixel within the visible portion. The depth corresponding to each pixel within the visible portion may be calculated according to coordinates of a center of the initial 3D bounding box and a 3D scale of the initial 3D bounding box. The 3D scale of the initial bounding box may include a dimension (s) in one or more directions, an area (s) of one or more surfaces, or a volume, etc.
. In some embodiments, the matching error of pixels within the visible portion of the initial 3D bounding box in the first image and the second image may be a sum of pixel matching errors. A pixel matching error (or simply “matching error” ) refers to a matching error between each pixel within the visible portion of the initial 3D bonding box in the first image and a  corresponding pixel in the second image (e.g., a corresponding pixel within the visible portion of the initial 3D bounding box in the second image) .
In some embodiments, the instructions can cause the processor 1210 to adjust the initial 3D bounding box according to the matching error to obtain an updated 3D bounding box (e.g., an optimized 3D bounding box) , where the updated 3D bounding box corresponds to a lowest matching error; and obtain the information of the target object based on the updated 3D bounding box. The initial 3D bounding box may be adjusted to optimize the local matching (e.g., to decrease the matching error) , so as to obtain an updated 3D bounding box that corresponds to a lowest matching error. Based on the optimized local matching, the depth corresponding to a center of the updated 3D bounding box may be obtained, and coordinates at the center of the updated 3D bounding box may also be obtained. As such, the 3D positioning, 3D scale, and/or orientation of the target object may be determined based on the depth corresponding to the center of the updated 3D bounding box and/or coordinates at the center of the updated 3D bounding box.
In some embodiments, the instructions can cause the processor 1210 to obtain a first region of a first image and a second region of the second image may be obtained, where the first region and the second region may both contain the target object. The first region and the second region may be 2D bounding boxes, each of the 2D bounding boxes including one or more pixels. The first region and the second region may be obtained based on a first feature map of the first image and a second feature map of the second image, respectively.
In some embodiments, the instructions can cause the processor 1210 to estimate initial information of the target object based on the first region and the second region. The initial information may include a semantic class of the target object, positional information of the first  region and positional information of the second region, an observation angle with respect to the target object, an orientation angle of the target object, 3D scale of the target object, and/or one or more key points of the initial 3D bounding box. The 3D scale of the target object may include a dimension (s) of the target object in one or more directions, a volume of the target object, or an area (s) in one or more surfaces of the target objects.
In some embodiments, the instructions can cause the processor 1210 to obtain the initial 3D bounding box corresponding to the target object based on the first region and the second region. In some embodiments, the initial 3D bounding box corresponding to the target object may be obtained further based on the estimated initial information of the target object.
For detailed description of parts of the image processing apparatus 1200, reference can be made to descriptions of the 3D object detection method, which are not repeated here.
The image processing apparatus consistent with embodiments of the present disclosure utilizes neural networks and geometric reasoning to realize the 3D positioning of 3D objects and is not required to perform pixel-level matching calculation between entire images, but performs local matching to directly optimize the position of a 3D frame of the object. The image processing apparatus can be robust to lamination changes, weak texture areas, and noise, has higher positioning accuracy, and is applicable to a wider range of application scenarios. This image processing apparatus can achieve high-precision 3D positioning of objects based on cameras, e.g., binocular cameras alone, and provides detailed semantic information of the objects. The image processing apparatus is thus very suitable for obstacle perception in autonomous driving scenarios, and can also be extended to other applications of robotics, such as unmanned vehicles, logistics robots, cleaning robots, etc.
Another aspect of the present disclosure provides a mobile platform. FIG. 13 schematically shows an example mobile platform 1300 according to some embodiments of the present disclosure. The mobile platform may be an autonomous driving robot, an unmanned vehicle, a cleaning robot, a logistics robot, etc. As shown in FIG. 13, the mobile platform 1300 includes a processor 1310 and a memory 1320. The processor 1310 can be configured to control operations, e.g., image acquisition, image processing, and image display, etc., of the mobile platform 1300. The processor 1310 is configured to execute computer-readable instructions stored in the memory 1320. The memory 1320 may store a plurality of computer-readable instructions of the mobile platform 1300. The memory 1320 may be any type of volatile or non-volatile memory or a combination thereof, such as a static random-access memory (SRAM) , an electrically erasable programmable read-only memory (EEPROM) , an erasable programmable read-only memory (EPROM) , a programmable read-only memory (PROM) , a read-only memory (ROM) , a magnetic memory, a flash memory, a disk, or an optical disk.
In some embodiments, the computer-readable instructions can be executed by the processor 1310 to cause the processor 1310 to implement a method consistent with the disclosure, such as the example 3D object detection method described above in connection with FIGs. 1-11.
In some embodiments, the instructions can cause the processor 1310 to obtain a first image and a second image, where the first image and the second image may both contain a target object. Each of the first image and the second image can be referred to as a 2D image.
The first image and the second image may be obtained via one or more image sensors of a camera, e.g., binocular camera that is communicatively connected to the mobile platform1300. In some embodiments, the first image and the second image may correspond to substantially the  same photographing scene. The photographing scene may include one or more target objects. A representation of the one or more target objects in the first image matches a representation of the one or more target objects in the second image.
In some embodiments, the first image and the second image may be obtained via a first image sensor and a second image sensor, respectively, of a camera, e.g., a binocular camera. The camera is communicatively connected to the mobile platform 1300. In some embodiments, the first image may be obtained via a left image sensor of the binocular camera, and the second image may be obtained via a right image sensor of the binocular camera.
In some embodiments, the first image and the second image are obtained by processing a first raw image and a second raw image, respectively. The first image sensor (e.g., the left image sensor) may capture the first raw image and the second image sensor (e.g., the right image sensor) may capture the second raw image. An epipolar line of the first raw image may not be aligned with or parallel to an epipolar line of the second raw image. The first raw image and the second raw image may thus be subjected to one or more processes such as undistortion, stereo rectification, and/or cropping, to obtain the first image and the second image, respectively. An epipolar line of the first image and an epipolar line of the second image may be both aligned with a same horizontal line. The first image and the second image obtained by processing the first raw image and the second raw image, respectively, may have a same orientation and may be translationally displaced with respect to each other. In some embodiments, the first raw image and the second image may be processed through stereo rectification using Bouguet method if internal parameters and distortion parameters of the two image sensors are known. In some embodiments, the first raw image and the second raw image may be processed through stereo  rectification using Hartley method if the internal parameters and/or the distortion parameters of the two image sensors are unknown.
In some embodiments, the instructions can cause the processor 1310 to estimate an initial 3D bounding box corresponding to the target object based on the first image and the second image. The initial 3D bounding box may be determined based on the target object and target object may include one of a building, a vehicle, and a pedestrian. For example, a 3D scale and/or a shape of the initial 3D bounding box may be determined based on the target object in the first image and/or the second image. In some embodiments, the initial 3D bounding box may have a default shape, e.g., a cuboid. In some other embodiments, a shape of the 3D bounding box may be selected from a plurality of predetermined shapes, a cuboid, a sphere, a cylinder, a cone, etc. For example, the shape of the initial bounding box may be selected based on the target object in the first image and/or the second image. The shape of the initial 3D bounding boxes corresponding to different target objects may be different.
In some embodiments, the instructions can cause the processor 1310 to perform local matching based on the initial 3D bounding box. Local matching refers to image matching within only a first portion of the first image and a second portion of the second image. That is, image matching is not performed between the entire first and second images, but between portions of the first and second images. In some embodiments, the first portion of the first image and the second portion of the second image may both correspond to the initial 3D bounding box. In some embodiments, the first portion of the first image and the second portion of the second image may be obtained according to the initial 3D bounding box. Image matching may be feature-based matching, dense matching, etc., where the feature-based matching compares and  analyses features between images, and the dense matching establishes the dense correspondence between images.
In some embodiments, the instructions can cause the processor 1310 to obtain information of the target object by optimizing the local matching. The information of the target object may include at least one of a depth at a center of the target object, 3D scale information of the target object, an orientation angle of the target object, 3D positioning of the target object, or semantic information of the target object.
In some embodiments, the instructions can cause the processor 1310 to project the initial 3D bounding box onto one of the first image and the second image to obtain a visible portion of the initial 3D bounding box; and perform local matching based on the visible portion of the initial 3D bounding box. The initial 3D bounding box may be projected onto the first image or the second image. The projection of the 3D bounding box onto the first image or the second image transforms the 3D bounding box to a 2D projection region in the first image or the second image. The 2D projection region may correspond to a visible portion of the initial 3D bounding box in the first image or the second image.
In some embodiments, the initial 3D bounding box may be projected onto the first image to obtain a 2D projection region as the visible portion of the initial 3D bounding box. The 2D projection region in the first image may be used to determine a corresponding 2D region in the second image based on a correspondence relationship, e.g., a matching relationship, between the first image and the second image, where the corresponding 2D region in the second image may be determined as the visible portion of the initial 3D bounding box in the second image. In some embodiments, a disparity corresponding to each pixel within the 2D projection region in the first  image may be used to determine the corresponding 2D region in the second image. For example, for pixel i with coordinates (u i, v i) within the 2D projection region in the first image, based on a disparity d i corresponding to pixel i in the first image, the corresponding pixel in the second region may be determined to be at (u i -d i, v i) in the second image. Similarly, the initial 3D bounding box may be projected onto the second image to obtain a 2D projection region as the visible portion of the initial 3D bounding box in the second image, and the 2D projection region in the second image may be used to determine a corresponding 2D region in the first image, where the corresponding 2D region in the first image may be determined as the visible portion of the initial 3D bounding box in the first image.
In some other embodiments, the initial 3D bounding box may be projected onto the first image to obtain a first 2D projection region as the visible portion of the initial 3D bounding box in the first image, and the initial 3D bounding box may be projected onto the second image to obtain a second 2D projection region as the visible portion of the initial 3D bounding box in the second image.
In some embodiments, the instructions can cause the processor 1310 to calculate a disparity corresponding to each pixel within the visible portion according to the initial 3D bounding box; and determine a matching error of pixels within the visible portion based on the disparity corresponding to each pixel within the visible portion. In some embodiments, the disparity corresponding to each pixel within the visible portion may be calculated based on a depth corresponding to each pixel within the visible portion. The depth corresponding to each pixel within the visible portion may be calculated according to coordinates of a center of the initial 3D bounding box and a 3D scale of the initial 3D bounding box.
In some embodiments, the matching error of pixels within the visible portion of the initial 3D bounding box in the first image and the second image may be a sum ofpixel matching errors. A pixel matching error (or simply “matching error” ) refers to a matching error between each pixel within the visible portion of the initial 3D bonding box in the first image and a corresponding pixel in the second image (e.g., a corresponding pixel within the visible portion of the initial 3D bounding box in the second image) .
In some embodiments, the instructions can cause the processor 1310 to adjust the initial 3D bounding box according to the matching error to obtain an updated 3D bounding box (e.g., an optimized 3D bounding box) , where the updated 3D bounding box corresponds to a lowest matching error; and obtain the information of the target object based on the updated 3D bounding box. The initial 3D bounding box may be adjusted to optimize the local matching (e.g., to decrease the matching error) , so as to obtain an updated 3D bounding box that corresponds to a lowest matching error. Based on the optimized local matching, the depth corresponding to a center of the updated 3D bounding box may be obtained, and coordinates at the center of the updated 3D bounding box may also be obtained. As such, the 3D positioning, 3D scale, and/or orientation of the target object may be determined based on the depth corresponding to the center of the updated 3D bounding box and/or coordinates at the center of the updated 3D bounding box.
In some embodiments, the instructions can cause the processor 1310 to obtain a first region of the first image and a second region of the second image may be obtained, where the first region and the second region may both contain the target object. The first region and the second region may be 2D bounding boxes, each of the 2D bounding boxes including one or more pixels. The first region and the second region may be obtained based on a first feature map of the first image and a second feature map of the second image, respectively.
In some embodiments, the instructions can cause the processor 1310 to estimate initial information of the target object based on the first region and the second region. The initial information may include a semantic class of the target object, positional information of the first region and positional information of the second region, an observation angle with respect to the target object, an orientation angle of the target object, 3D scale of the target object, and/or one or more key points of the initial 3D bounding box.
In some embodiments, the instructions can cause the processor 1310 to obtain the initial 3D bounding box corresponding to the target object based on the first region and the second region. In some embodiments, the initial 3D bounding box corresponding to the target object may be obtained further based on the estimated initial information of the target object.
In some embodiments, the processor 1310 can process images sent from an image acquisition apparatus, e.g., a binocular camera, mounted on the mobile platform 1300. The mobile platform 1300 also includes a first image sensor 1330 (e.g., a left image sensor of the binocular camera) and a second image sensor 1340 (e.g., a right image sensor of the binocular camera) . The first image sensor 1330 can be configured to obtain a first raw image and the second image sensor 1340 can be configured to obtain a second raw image. The first raw image and the second raw image may be processed to obtain a first image and a second image.
In some embodiments, as shown in FIG. 13, the mobile platform 1300 also includes an image display unit 1350, configured to display images processed and sent by the processer 1310.
In some embodiments, as shown in FIG. 13, the mobile platform 1300 also includes a user input/output interface 1360. The user input/output interface 1360 may be a display, a touch control display, a keyboard, buttons, or a combination thereof. For example, the user  input/output interface 1360 can be a touch control display, and through a screen, the user can input instructions input to the mobile platform 1300.
In addition, the processor 1310 may also include one or more components (not shown) to facilitate interaction between the processor 1310 and the first image sensor 1330 and the second image sensor 1340, the image display unit 1350 and the user input/output interface 1360.
For detailed description of parts of the mobile platform 1300, reference can be made to descriptions of the image processing apparatus 1200, which are not repeated here.
The mobile platform consistent with embodiments of the present disclosure utilizes neural networks and geometric reasoning to realize the precise 3D positioning of 3D objects based on images captured by a binocular camera without assistant of a laser sensor, thereby saving the cost of the laser sensor, which can be very expensive. Further, the mobile platform is not required to perform pixel-level matching calculation between entire images, but performs local matching to directly optimize the position of a 3D frame of the object. The 3D object detection performed by the mobile platform can be robust to lamination changes, weak texture areas, and noise, has higher positioning accuracy, and is applicable to a wider range of application scenarios. This 3D object detection performed by the mobile platform can achieve high-precision 3D positioning of objects based on cameras, e.g., binocular cameras alone, and provides detailed semantic information of the objects. The 3D object detection performed by the mobile platform is thus very suitable for obstacle perception in autonomous driving scenarios. The 3D object detection method implemented by the mobile platform can also be extended to other applications of robotics, such as autonomous driving vehicles, logistics robots, etc. Further, based on the 3D object detection performed by the mobile platform, the mobile platform can not  only precisely position obstacles and but also obtain rich detailed information about the obstacles, based on both of which, the mobile platform can better construct a simulated driving environmental including the obstacles and/or better control the mobile platform to avoid the obstacles.
For simplification purposes, detailed descriptions of the operations of apparatus, device, and units may be omitted, and references can be made to the descriptions of the methods.
The disclosed apparatuses, device, and methods may be implemented in other manners not described here. For example, the devices described above are merely illustrative. For example, multiple elements or components may be combined or may be integrated into another system, or some features may be ignored, or not executed. Further, the coupling or direct coupling or communication connection shown or discussed may include a direct connection or an indirect connection or communication connection through one or more interfaces, devices, or units, which may be electrical, mechanical, or in other form.
The elements described as separate components may or may not be physically separate. That is, the units may be located in one place or may be distributed over a plurality of network elements. Some or all of the components may be selected according to the actual needs to achieve the object of the present disclosure.
In addition, the functional units in the various embodiments of the present disclosure may be integrated in one processing unit, or each unit may be an individual physically unit, or two or more units may be integrated in one unit.
A method consistent with the disclosure can be implemented in the form of computer program stored in a non-transitory computer-readable storage medium, which can be sold or used as a standalone product. The computer program can include instructions that enable a computer device, such as a personal computer, a server, or a network device, to perform part or all of a method consistent with the disclosure, such as one of the example methods described above. The storage medium can be any medium that can store program codes, for example, a USB disk, a mobile hard disk, a read-only memory (ROM) , a random-access memory (RAM) , a magnetic disk, or an optical disk.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the embodiments disclosed herein. It is intended that the specification and embodiments be considered as examples only and not to limit the scope of the disclosure. Any modification and equivalently replacement for the technical solution of the present disclosure should all fall in the spirit and scope of the technical solution of the present disclosure.

Claims (106)

  1. A three-dimensional (3D) object detecting method comprising:
    obtaining a first image containing a target object and a second image containing the target object;
    estimating an initial 3D bounding box corresponding to the target object based on the first image and the second image;
    performing local matching based on the initial 3D bounding box; and
    obtaining information of the target object by optimizing the local matching.
  2. The method of claim 1, wherein obtaining the information of the target object includes:
    obtaining at least one of a depth at a center of the target object, 3D scale information of the target object, an orientation angle of the target object, 3D positioning of the target object, or semantic information of the target object.
  3. The method of claim 1, wherein performing local matching based on the initial 3D bounding box includes:
    projecting the initial 3D bounding box onto one of the first image and the second image to obtain a visible portion of the initial 3D bounding box; and
    performing local matching based on the visible portion of the initial 3D bounding box.
  4. The method of claim 3, wherein performing local matching based on the initial 3D bounding box further includes:
    calculating a disparity corresponding to each pixel within the visible portion according to the initial 3D bounding box; and
    determining a matching error of pixels within the visible portion based on the disparity corresponding to each pixel within the visible portion.
  5. The method of claim 4, obtaining the information of the target object by optimizing the local matching further includes:
    adjusting the initial 3D bounding box according to the matching error to obtain an updated 3D bounding box, the updated 3D bounding box corresponding to a lowest matching error; and
    obtaining the information of the target object based on the updated 3D bounding box.
  6. The method of claim 4, wherein calculating the disparity includes:
    calculating a depth corresponding to each pixel within the visible portion; and
    calculating the disparity corresponding to each pixel within the visible portion based on the depth corresponding to each pixel within the visible portion.
  7. The method of claim 6, wherein calculating the depth includes:
    calculating the depth corresponding to each pixel within the visible portion according to coordinates of a center of the initial 3D bounding box and a 3D scale of the initial 3D bounding box.
  8. The method of claim 1, wherein estimating the initial 3D bounding box includes:
    estimating the initial 3D bounding box corresponding to the target object based on a first region of the first image and a second region of the second image, both the first region and the second region containing the target object.
  9. The method of claim 8, wherein the first region and the second region are two-dimensional (2D) bounding boxes, each of the 2D bounding boxes including one or more pixels.
  10. The method of claim 8, wherein estimating the initial 3D bounding box further includes estimating initial information of the target object based on the first region and the second region.
  11. The method of claim 10, wherein estimating the initial 3D bounding box further includes estimating the initial 3D bounding box based on the first region and the second region and the initial information of the target object.
  12. The method of claim 10, further comprising:
    obtaining a first feature map of the first image;
    determining the first region containing the target object based on the first feature map;
    obtaining a second feature map of the second image; and
    determining the second region containing the target object based on the second feature map.
  13. The method of claim 12, wherein:
    obtaining the first feature map includes processing the first image through a base network to obtain the first feature map; and
    obtaining the second feature map includes processing the second image through the base network to obtain the second feature map.
  14. The method of claim 13, further comprising:
    obtaining a base weight coefficient for the base network through training with a plurality of training images;
    wherein:
    processing the first image includes processing the first image through the base network using the base weight coefficient; and
    processing the second image includes processing the second image through the base network using the base weight coefficient.
  15. The method of claim 13, wherein the base network includes at least one of convolution processing, pooling processing, or non-linear computation processing.
  16. The method of claim 12, further comprising:
    determining a plurality of first candidate regions in the first image based on the first feature map;
    determining a plurality of second candidate regions in the second image based on the second feature map, the plurality of first candidate regions having one-to-one correspondence with the plurality of second candidate regions;
    determining the first region from the plurality of first candidate regions; and
    determining the second region from the plurality of second candidate regions.
  17. The method of claim 16, wherein:
    determining the plurality of first candidate regions includes filtering a plurality of regions in the first image using a non-maximum suppression method to determine the plurality of first candidate regions; or
    determining the plurality of second candidate regions includes filtering a plurality of regions in the second image using the non-maximum suppression method to determine the plurality of second candidate regions.
  18. The method of claim 16, wherein a number of the plurality of first candidate regions or a number of the plurality of second candidate regions is in a range from 99 to 1000.
  19. The method of claim 16, wherein:
    determining the plurality of first candidate regions includes processing the first feature map through a region-determination network to determine the plurality of first candidate regions; and
    determining the plurality of second candidate regions includes processing the second feature map through the region-determination network to determine the plurality of second candidate regions.
  20. The method of claim 19, further comprising:
    obtaining a region-determination weight coefficient for the region-determination network through training with a plurality of training images;
    wherein:
    processing the first feature map includes processing the first feature map through the region-determination network using the region-determination weight coefficient; and
    processing the second feature map includes processing the second feature map through the region-determination network using the region-determination weight coefficient.
  21. The method of claim 19, wherein the region-determination network includes at least one of convolution processing, pooling processing, or non-linear computation processing.
  22. The method of claim 10, wherein estimating the initial information of the target object includes estimating a semantic class of the target object.
  23. The method of claim 22, wherein the semantic class of the target object includes at least one of vehicle, person, or background.
  24. The method of claim 10, wherein estimating the initial information of the target object includes determining positional information of the first region and positional information of the second region.
  25. The method of claim 24, wherein:
    the positional information of the first region includes at least one of a width of the first region, a length of the first region, or coordinates of a center of the first region; and
    the positional information of the second region includes at least one of a width of the second region, a length of the second region, or coordinates of a center of the second region.
  26. The method of claim 10, wherein estimating the initial information of the target object includes estimating an observation angle with respect to the target object.
  27. The method of claim 26, wherein estimating the initial information of the target object further includes estimating an orientation angle of the target object according to the observation angle.
  28. The method of claim 10, wherein estimating the initial information of the target object includes estimating a 3D scale of the target object.
  29. The method of claim 28, wherein estimating the 3D scale of the target object includes estimating the 3D scale of the target object according to a semantic class of the target object.
  30. The method of claim 29, wherein the semantic class of the target object includes at least one of vehicle, person, or background.
  31. The method of claim 29, wherein estimating the 3D scale of the target object further includes:
    establishing a correspondence relationship between averaged scales and semantic classes; and
    estimating the 3D scale of the target object based on the semantic class of the target object and the correspondence relationship.
  32. The method of claim 10, wherein estimating the initial information of the target object includes determining one or more key points of the initial 3D bounding box.
  33. The method of claim 32, wherein the one or more key points of the initial 3D bounding box includes three or more corner points of the 3D bounding box.
  34. The method of claim 1, wherein obtaining the first image and the second image includes:
    obtaining a first raw image and a second raw image;
    obtaining the first image by performing stereo rectification on the first raw image; and
    obtaining the second image by performing stereo rectification on the second raw image.
  35. The method of claim 34, wherein the first image and the second image have a same orientation and are translationally displaced with respect to each other.
  36. An image processing apparatus, comprising:
    a processor; and
    a memory storing instructions that, when executed by the processor, cause the processor to:
    obtain a first image containing a target object and a second image containing the target object;
    estimate an initial 3D bounding box corresponding to the target object based on the first image and the second image;
    perform local matching based on the initial 3D bounding box; and
    obtain information of the target object by optimizing the local matching.
  37. The image processing apparatus of claim 36, wherein the information of the target object includes at least one of a depth at a center of the target object, 3D scale information of the target object, an orientation angle of the target object, 3D positioning of the target object, or semantic information of the target object.
  38. The image processing apparatus of claim 36, wherein the instructions further cause the processor to:
    project the initial 3D bounding box onto one of the first image and the second image to obtain a visible portion of the initial 3D bounding box; and
    perform local matching based on the visible portion of the initial 3D bounding box.
  39. The image processing apparatus of claim 38, wherein the instructions further cause the processor to:
    calculate a disparity corresponding to each pixel within the visible portion according to the initial 3D bounding box; and
    determine a matching error of pixels within the visible portion based on the disparity corresponding to each pixel within the visible portion.
  40. The image processing apparatus of claim 39, wherein the instructions further cause the processor to:
    adjust the initial 3D bounding box according to the matching error to obtain an updated 3D bounding box, the updated 3D bounding box corresponding to a lowest matching error; and
    obtain the information of the target object based on the updated 3D bounding box.
  41. The image processing apparatus of claim 39, wherein the instructions further cause the processor to:
    calculate a depth corresponding to each pixel within the visible portion; and
    calculate the disparity corresponding to each pixel within the visible portion based on the depth corresponding to each pixel within the visible portion.
  42. The image processing apparatus of claim 41, wherein the instructions further cause the processor to:
    calculate the depth corresponding to each pixel within the visible portion according to coordinates of a center of the initial 3D bounding box and a 3D scale of the initial 3D bounding box.
  43. The image processing apparatus of claim 36, wherein the instructions further cause the processor to:
    estimate the initial 3D bounding box corresponding to the target object based on a first region of the first image and a second region of the second image, both the first region and the second region containing the target object.
  44. The image processing apparatus of claim 43, wherein the first region and the second region are two-dimensional (2D) bounding boxes, each of the 2D bounding boxes including one or more pixels.
  45. The image processing apparatus of claim 43, wherein the instructions further cause the processor to:
    estimate initial information of the target object based on the first region and the second region.
  46. The image processing apparatus of claim 45, wherein the instructions further cause the processor to:
    estimate the initial 3D bounding box based on the first region and the second region and the initial information of the target object.
  47. The image processing apparatus of claim 45, wherein the instructions further cause the processor to:
    obtain a first feature map of the first image;
    determine the first region containing the target object based on the first feature map;
    obtain a second feature map of the second image; and
    determine the second region containing the target object based on the second feature map.
  48. The image processing apparatus of claim 47, wherein the instructions further cause the processor to:
    obtain the first feature map includes processing the first image through a base network to obtain the first feature map; and
    obtain the second feature map includes processing the second image through the base network to obtain the second feature map.
  49. The image processing apparatus of claim 48, the instructions further cause the processor to:
    obtain a base weight coefficient for the base network through training with a plurality of training images;
    process the first image through the base network using the base weight coefficient; and
    process the second image through the base network using the base weight coefficient.
  50. The image processing apparatus of claim 48, wherein base network includes at least one of convolution processing, pooling processing, or non-linear computation processing.
  51. The image processing apparatus of claim 47, wherein the instructions further cause the processor to:
    determine a plurality of first candidate regions in the first image according to the first feature map;
    determine a plurality of second candidate regions in the second image according to the second feature map, the plurality of first candidate regions having one-to-one correspondence with the plurality of second candidate regions;
    determine the first region from the plurality of first candidate regions; and
    determine the second region from the plurality of second candidate regions.
  52. The image processing apparatus of claim 51, wherein the instructions further cause the processor to:
    determine the plurality of first candidate regions includes filtering a plurality of regions in the first image using a non-maximum suppression method to determine the plurality of first candidate regions; or
    determine the plurality of second candidate regions includes filtering a plurality of regions in the second image using the non-maximum suppression method to determine the plurality of second candidate regions.
  53. The image processing apparatus of claim 51, wherein a number of the plurality of first candidate regions or a number of the plurality of second candidate regions is in a range from 99 to 1000.
  54. The image processing apparatus of claim 51, wherein the instructions further cause the processor to:
    process the first feature map through a region-determination network to determine the plurality of first candidate regions; and
    process the second feature map through the region-determination network to determine the plurality of second candidate regions.
  55. The image processing apparatus of claim 54, wherein the instructions further cause the processor to:
    obtain a region-determination weight coefficient for the region-determination network through training with a plurality of training images;
    process the first feature map through the region-determination network using the region-determination weight coefficient; and
    process the second feature map includes processing the second feature map through the region-determination network using the region-determination weight coefficient.
  56. The image processing apparatus of claim 54, wherein the region-determination network includes at least one of convolution processing, pooling processing, or non-linear computation processing.
  57. The image processing apparatus of claim 45, wherein the instructions further cause the processor to estimate a semantic class of the target object.
  58. The image processing apparatus of claim 57, wherein the semantic class of the target object includes at least one of vehicle, person, or background.
  59. The image processing apparatus of claim 45, wherein the instructions further cause the processor to determine positional information of the first region and positional information of the second region.
  60. The image processing apparatus of claim 59, wherein:
    the positional information of the first region includes at least one of a width of the first region, a length of the first region, or coordinates of a center of the first region; and
    the positional information of the second region includes at least one of a width of the second region, a length of the second region, or coordinates of a center of the second region.
  61. The image processing apparatus of claim 45, wherein the instructions further cause the processor to estimate an observation angle with respect to the target object.
  62. The image processing apparatus of claim 61, wherein the instructions further cause the processor to estimate an orientation angle of the target object according to the observation angle.
  63. The image processing apparatus of claim 45, wherein the instructions further cause the processor to estimate a 3D scale of the target object.
  64. The image processing apparatus of claim 63, wherein the instructions further cause the processor to estimate the 3D scale of the target object according to a semantic class of the target object.
  65. The image processing apparatus of claim 64, wherein the semantic class of the target object includes at least one of vehicle, person, or background.
  66. The image processing apparatus of claim 64, wherein the instructions further cause the processor to:
    establish a correspondence relationship between averaged scales and semantic classes; and
    estimate the 3D scale of the target object based on the semantic class of the target object and the correspondence relationship.
  67. The image processing apparatus of claim 45, wherein the instructions further cause the processor to determine one or more key points of the initial 3D bounding box.
  68. The image processing apparatus of claim 67, wherein the one or more key points of the initial 3D bounding box includes three or more corner points of the 3D bounding box.
  69. The image processing apparatus of claim 36, wherein the instructions further cause the processor to:
    obtain a first raw image and a second raw image;
    obtain the first image by performing stereo rectification on the first raw image; and
    obtain the second image by performing the stereo rectification on the second raw image.
  70. The image processing apparatus of claim 69, wherein the first image and the second image have a same orientation and are translationally displaced with respect to each other.
  71. A mobile platform, comprising:
    a first image sensor configured to obtain a first image containing a target object;
    a second image sensor configured to obtain a second image containing the target object;
    a processor configured to:
    obtain the first image and the second image through the first image sensor and the second image sensor, respectively;
    estimate an initial 3D bounding box corresponding to the target object based on the first image and the second image;
    perform local matching based on the initial 3D bounding box; and
    obtain information of the target object by optimizing the local matching.
  72. The mobile platform of claim 71, wherein the information of the target object includes at least one of a depth at a center of the target object, 3D scale information of the target  object, an orientation angle of the target object, 3D positioning of the target object, or semantic information of the target object.
  73. The mobile platform of claim 71, wherein the processor is further configured to:
    project the initial 3D bounding box onto one of the first image and the second image to obtain a visible portion of the initial 3D bounding box; and
    perform local matching based on the visible portion of the initial 3D bounding box.
  74. The mobile platform of claim 73, wherein the processor is further configured to:
    calculate a disparity corresponding to each pixel within the visible portion according to the initial 3D bounding box; and
    determine a matching error of pixels within the visible portion based on the disparity corresponding to each pixel within the visible portion.
  75. The mobile platform of claim 74, wherein the processor is further configured to:
    adjust the initial 3D bounding box according to the matching error to obtain an updated 3D bounding box, the updated 3D bounding box corresponding to a lowest matching error; and
    obtain the information of the target object based on the updated 3D bounding box.
  76. The mobile platform of claim 74, wherein the processor is further configured to:
    calculate a depth corresponding to each pixel within the visible portion; and
    calculate the disparity corresponding to each pixel within the visible portion based on the depth corresponding to each pixel within the visible portion.
  77. The mobile platform of claim 76, wherein the processor is further configured to:
    calculate the depth corresponding to each pixel within the visible portion according to coordinates of a center of the initial 3D bounding box and a 3D scale of the initial 3D bounding box.
  78. The mobile platform of claim 71, wherein the processor is further configured to:
    estimate the initial 3D bounding box corresponding to the target object based on a first region of the first image and a second region of the second image, both the first region and the second region containing the target object.
  79. The mobile platform of claim 78, wherein the first region and the second region are two-dimensional (2D) bounding boxes, each of the 2D bounding boxes including one or more pixels.
  80. The mobile platform of claim 78, wherein the processor is further configured to:
    estimate initial information of the target object based on the first region and the second region.
  81. The mobile platform of claim 80, wherein the processor is further configured to:
    estimate the initial 3D bounding box based on the first region and the second region and the initial information of the target object.
  82. The mobile platform of claim 80, wherein the processor is further configured to:
    obtain a first feature map of the first image;
    determine the first region containing the target object based on the first feature map;
    obtain a second feature map of the second image; and
    determine the second region containing the target object based on the second feature map.
  83. The mobile platform of claim 82, wherein the processor is further configured to:
    obtain the first feature map includes processing the first image through a base network to obtain the first feature map; and
    obtain the second feature map includes processing the second image through the base network to obtain the second feature map.
  84. The mobile platform of claim 83, wherein the processor is further configured to:
    obtain a base weight coefficient for the base network through training with a plurality of training images;
    process the first image through the base network using the base weight coefficient; and
    process the second image through the base network using the base weight coefficient.
  85. The mobile platform of claim 83, wherein base network includes at least one of convolution processing, pooling processing, or non-linear computation processing.
  86. The mobile platform of claim 82, wherein the processor is further configured to:
    determine a plurality of first candidate regions in the first image according to the first feature map;
    determine a plurality of second candidate regions in the second image according to the second feature map, the plurality of first candidate regions having one-to-one correspondence with the plurality of second candidate regions;
    determine the first region from the plurality of first candidate regions; and
    determine the second region from the plurality of second candidate regions.
  87. The mobile platform of claim 86, wherein the processor is further configured to:
    determine the plurality of first candidate regions includes filtering a plurality of regions in the first image using a non-maximum suppression method to determine the plurality of first candidate regions; or
    determine the plurality of second candidate regions includes filtering a plurality of regions in the second image using the non-maximum suppression method to determine the plurality of second candidate regions.
  88. The mobile platform of claim 86, wherein a number of the plurality of first candidate regions or a number of the plurality of second candidate regions is in a range from 99 to 1000.
  89. The mobile platform of claim 86, wherein the processor is further configured to:
    process the first feature map through a region-determination network to determine the plurality of first candidate regions; and
    process the second feature map through the region-determination network to determine the plurality of second candidate regions.
  90. The mobile platform of claim 89, wherein the processor is further configured to:
    obtain a region-determination weight coefficient for the region-determination network through training with a plurality of training images;
    process the first feature map through the region-determination network using the region-determination weight coefficient; and
    process the second feature map includes processing the second feature map through the region-determination network using the region-determination weight coefficient.
  91. The mobile platform of claim 89, wherein the region-determination network includes at least one of convolution processing, pooling processing, or non-linear computation processing.
  92. The mobile platform of claim 80, wherein the processor is further configured to estimate a semantic class of the target object.
  93. The mobile platform of claim 92, wherein the semantic class of the target object includes at least one of vehicle, person, or background.
  94. The mobile platform of claim 80, wherein the processor is further configured to determine positional information of the first region and positional information of the second region.
  95. The mobile platform of claim 94, wherein the processor is further configured to:
    the positional information of the first region includes at least one of a width of the first region, a length of the first region, or coordinates of a center of the first region; and
    the positional information of the second region includes at least one of a width of the second region, a length of the second region, or coordinates of a center of the second region.
  96. The mobile platform of claim 80, wherein the processor is further configured to estimate an observation angle with respect to the target object.
  97. The mobile platform of claim 96, wherein the processor is further configured to estimate an orientation angle of the target object according to the observation angle.
  98. The mobile platform of claim 80, wherein the processor is further configured to estimate a 3D scale of the target object.
  99. The mobile platform of claim 98, wherein the processor is further configured to estimate the 3D scale of the target object according to a semantic class of the target object.
  100. The mobile platform of claim 99, wherein the semantic class of the target object includes at least one of vehicle, person, or background.
  101. The mobile platform of claim 99, wherein the processor is further configured to:
    establish a correspondence relationship between averaged scales and semantic classes; and
    estimate the 3D scale of the target object based on the semantic class of the target object and the correspondence relationship.
  102. The mobile platform of claim 80, wherein the processor is further configured to determine one or more key points of the initial 3D bounding box.
  103. The mobile platform of claim 102, wherein the one or more key points of the initial 3D bounding box includes three or more corner points of the 3D bounding box.
  104. The mobile platform of claim 71, wherein:
    the first image sensor is further configured to capture a fist raw image;
    the second image sensor is further configured to capture a second raw image; and
    the processor is further configured to:
    obtain the first image by performing stereo rectification on the first raw image; and
    obtain the second image by performing the stereo rectification on the second raw image.
  105. The mobile platform of claim 104, wherein the first image and the second image have a same orientation and are translationally displaced with respect to each other.
  106. The mobile platform of claim 71, further comprising a display device configured to display the information of the target object.
PCT/CN2020/141674 2020-12-30 2020-12-30 Object detection WO2022141262A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/141674 WO2022141262A1 (en) 2020-12-30 2020-12-30 Object detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/141674 WO2022141262A1 (en) 2020-12-30 2020-12-30 Object detection

Publications (1)

Publication Number Publication Date
WO2022141262A1 true WO2022141262A1 (en) 2022-07-07

Family

ID=82259992

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/141674 WO2022141262A1 (en) 2020-12-30 2020-12-30 Object detection

Country Status (1)

Country Link
WO (1) WO2022141262A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115457093A (en) * 2022-08-24 2022-12-09 北京百度网讯科技有限公司 Tooth image processing method and device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190355150A1 (en) * 2018-05-17 2019-11-21 Nvidia Corporation Detecting and estimating the pose of an object using a neural network model
US20200066036A1 (en) * 2018-08-21 2020-02-27 Samsung Electronics Co., Ltd. Method and apparatus for training object detection model
US20200143557A1 (en) * 2018-11-01 2020-05-07 Samsung Electronics Co., Ltd. Method and apparatus for detecting 3d object from 2d image
CN111126269A (en) * 2019-12-24 2020-05-08 京东数字科技控股有限公司 Three-dimensional target detection method, device and storage medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190355150A1 (en) * 2018-05-17 2019-11-21 Nvidia Corporation Detecting and estimating the pose of an object using a neural network model
US20200066036A1 (en) * 2018-08-21 2020-02-27 Samsung Electronics Co., Ltd. Method and apparatus for training object detection model
US20200143557A1 (en) * 2018-11-01 2020-05-07 Samsung Electronics Co., Ltd. Method and apparatus for detecting 3d object from 2d image
CN111126269A (en) * 2019-12-24 2020-05-08 京东数字科技控股有限公司 Three-dimensional target detection method, device and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115457093A (en) * 2022-08-24 2022-12-09 北京百度网讯科技有限公司 Tooth image processing method and device, electronic equipment and storage medium
CN115457093B (en) * 2022-08-24 2024-03-22 北京百度网讯科技有限公司 Tooth image processing method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
JP7016058B2 (en) Camera parameter set calculation method, camera parameter set calculation program and camera parameter set calculation device
JP5926228B2 (en) Depth detection method and system for autonomous vehicles
WO2020182117A1 (en) Method, apparatus, and device for obtaining disparity map, control system, and storage medium
KR102240197B1 (en) Tracking objects in bowl-shaped imaging systems
CN106960454B (en) Depth of field obstacle avoidance method and equipment and unmanned aerial vehicle
CN108734742B (en) Camera parameter group calculating method, program and device
CN107980138B (en) False alarm obstacle detection method and device
CN110176032B (en) Three-dimensional reconstruction method and device
US11120280B2 (en) Geometry-aware instance segmentation in stereo image capture processes
JP2016071846A (en) Method and apparatus for detecting obstacle based on monocular camera
KR20210119417A (en) Depth estimation
CN113822299B (en) Map construction method, device, equipment and storage medium
JP2016009487A (en) Sensor system for determining distance information on the basis of stereoscopic image
WO2021195939A1 (en) Calibrating method for external parameters of binocular photographing device, movable platform and system
KR20220113781A (en) How to measure the topography of your environment
JP6543935B2 (en) PARALLEL VALUE DERIVING DEVICE, DEVICE CONTROL SYSTEM, MOBILE OBJECT, ROBOT, PARALLEL VALUE DERIVING METHOD, AND PROGRAM
WO2022141262A1 (en) Object detection
CN114812558A (en) Monocular vision unmanned aerial vehicle autonomous positioning method combined with laser ranging
CN114648639B (en) Target vehicle detection method, system and device
CN115222815A (en) Obstacle distance detection method, obstacle distance detection device, computer device, and storage medium
CN111695379B (en) Ground segmentation method and device based on stereoscopic vision, vehicle-mounted equipment and storage medium
WO2020237553A1 (en) Image processing method and system, and movable platform
CN113763560B (en) Method, system, equipment and computer readable storage medium for generating point cloud data
EP4345750A1 (en) Position estimation system, position estimation method, and program
WO2023281647A1 (en) Machine learning device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20967602

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20967602

Country of ref document: EP

Kind code of ref document: A1