WO2023074907A1 - 地図作成装置、地図作成方法、及び地図作成プログラム - Google Patents

地図作成装置、地図作成方法、及び地図作成プログラム Download PDF

Info

Publication number
WO2023074907A1
WO2023074907A1 PCT/JP2022/040838 JP2022040838W WO2023074907A1 WO 2023074907 A1 WO2023074907 A1 WO 2023074907A1 JP 2022040838 W JP2022040838 W JP 2022040838W WO 2023074907 A1 WO2023074907 A1 WO 2023074907A1
Authority
WO
WIPO (PCT)
Prior art keywords
vehicle
camera
amount
change
images
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2022/040838
Other languages
English (en)
French (fr)
Inventor
和孝 早川
康貴 上田
彰司 浅井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Central R&D Labs Inc
Aisin Corp
Original Assignee
Toyota Central R&D Labs Inc
Aisin Corp
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 Toyota Central R&D Labs Inc, Aisin Corp filed Critical Toyota Central R&D Labs Inc
Priority to US18/691,587 priority Critical patent/US20240386598A1/en
Priority to EP22887232.1A priority patent/EP4425430A4/en
Priority to CN202280063240.9A priority patent/CN117957569A/zh
Publication of WO2023074907A1 publication Critical patent/WO2023074907A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • G01C11/30Interpretation of pictures by triangulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods

Definitions

  • the present disclosure relates to a map creation device, a map creation method, and a map creation program.
  • Non-Patent Document 1 there is a technology for capturing the surrounding environment with a camera mounted on a vehicle and estimating the position and orientation of the vehicle from the captured images (for example, Steven Lovegrove, Andrew J. Davison and Javier Ibanez-Guzman, "Accurate Visual Odometry from a Rear Parking Camera", Intelligent Vehicles Symposium, 2011. Hereinafter referred to as "Non-Patent Document 1").
  • Non-Patent Document 1 According to the technique described in Non-Patent Document 1, as shown in FIG. 9, multiple images as shown in FIG. 10 are obtained when two different locations are photographed by a camera installed at the rear of the vehicle. A road surface region is extracted from these multiple images, and the optimal value of the homography matrix between the multiple images is obtained by performing repeated calculations based on the brightness of the extracted road surface region.
  • An ESM (Efficient Second Order Minimization) algorithm is used as an algorithm for iterative calculation. Then, the amount of change in position and the amount of change in attitude of the vehicle are calculated from the optimum values of the homography matrix.
  • Non-Patent Document 1 requires a large amount of repeated calculations when obtaining the optimum value of the homography matrix, and cannot be reduced in cost. For this reason, it is desired to reduce the amount of calculation of repeated calculations.
  • the present disclosure has been made in view of the above circumstances. It is an object of the present invention to provide a map creation device, a map creation method, and a map creation program.
  • a map creation device includes an image acquisition unit that acquires a plurality of images of different points photographed from an in-vehicle camera that is mounted on a vehicle and that photographs the surroundings of the vehicle.
  • an odometry information calculation unit that calculates odometry information indicating the amount of movement of the vehicle; an initial value calculation unit that calculates an initial value of a homography matrix between the plurality of images from the odometry information of the vehicle; and an optimum value calculation unit for repeatedly calculating an optimum value of the homography matrix from the luminance value of each pixel included in the road surface area designated for the plurality of images; and decomposing the optimum value.
  • a camera position/orientation calculation unit for calculating the amount of change in camera position and the amount of change in camera orientation of the vehicle-mounted camera; and a three-dimensional position calculator that calculates the three-dimensional position of the point.
  • the map creation device is the map creation device according to the first aspect, wherein the camera position/orientation calculation unit decomposes the optimum values to determine the normal direction of the road surface viewed from the vehicle-mounted camera.
  • An estimated value of the road surface normal vector which is a vector, is further calculated, and an error represented by an angle between the estimated value of the road surface normal vector and the value of the road surface normal vector obtained in advance by calibrating the vehicle-mounted camera. is less than a threshold, the use determining unit determines to use the amount of change in the camera position and the amount of change in the camera orientation.
  • map creation device is the map creation device according to the second aspect, wherein when the error is equal to or greater than the threshold value, the usage determination unit It is determined that the amount of change is not used.
  • a map creation method acquires a plurality of images of different points captured from an on-vehicle camera that is mounted on a vehicle and captures images of the surroundings of the vehicle, calculating odometry information indicating the amount of movement of the vehicle, calculating an initial value of a homography matrix between the plurality of images from the odometry information of the vehicle, and specifying the initial value and the plurality of images;
  • Optimal values of the homography matrix are calculated by iterative calculation from the brightness values of each pixel included in the road surface area obtained, and the optimal values are decomposed to determine the amount of change in the camera position and the camera orientation of the vehicle-mounted camera. The amount of change is calculated, and the three-dimensional positions of the feature points in the plurality of images are calculated from the amount of change in the camera position and the amount of change in the camera orientation.
  • a map creation program acquires a plurality of images of different points captured from an on-vehicle camera that is mounted on a vehicle and captures the surroundings of the vehicle, calculating odometry information indicating the amount of movement of the vehicle, calculating an initial value of a homography matrix between the plurality of images from the odometry information of the vehicle, and specifying the initial value and the plurality of images;
  • Optimal values of the homography matrix are calculated by iterative calculation from the brightness values of each pixel included in the road surface area obtained, and the optimal values are decomposed to determine the amount of change in the camera position and the camera orientation of the vehicle-mounted camera.
  • a computer is caused to calculate the amount of change, and to calculate the three-dimensional positions of feature points in the plurality of images from the amount of change in the camera position and the amount of change in the camera orientation.
  • FIG. 5 is a diagram showing an example of the amount of change in the position of the vehicle and the amount of change in the yaw angle of the vehicle according to the embodiment; It is a figure which shows an example of the positional relationship of the vehicle-mounted camera which concerns on embodiment, and a road surface.
  • FIG. 4 is a diagram showing an example of corresponding road surface areas among a plurality of images according to the embodiment, and showing an image before the vehicle moves;
  • FIG. 5 is a diagram showing an example of corresponding road surface areas among a plurality of images according to the embodiment, and showing an image after the vehicle has moved; It is a flowchart which shows an example of the flow of a process by the map creation program which concerns on embodiment. 7 is a flowchart showing an example of the flow of homography matrix optimum value calculation processing according to the embodiment; FIG. 4 is a diagram showing an example of an image and a tracking area before movement; It is a figure where it uses for description of a prior art. It is a figure where it uses for description of a prior art.
  • the map creation device relates to map initialization when creating a point cloud map in the framework of Visual SLAM (Simultaneous Localization and Mapping) technology using an in-vehicle camera.
  • SLAM Simultaneous Localization and Mapping
  • FIG. 1 is a diagram showing an example of the configuration of a map creation system 100 according to this embodiment.
  • the map creation system 100 includes a map creation device 10, a wheel speed sensor 20, a steering angle sensor 21, and an in-vehicle camera 22.
  • the in-vehicle camera 22 is mounted on the vehicle and photographs the surroundings of the vehicle.
  • the in-vehicle camera 22 may be installed in a state in which the road surface can be photographed, and the installation location in the vehicle is not particularly limited.
  • the in-vehicle camera 22 is, for example, a monocular camera, but is not limited to this, and may be a stereo camera or the like.
  • the in-vehicle camera 22 is a monocular camera provided on the upper part of the vehicle, etc., and photographs the surrounding areas such as the front and rear of the vehicle.
  • the vehicle-mounted camera 22 is provided, for example, near the center in the vehicle width direction, and is arranged such that the optical axis of the vehicle-mounted camera 22 faces slightly downward from the horizontal direction.
  • the vehicle-mounted camera 22 is communicably connected to the map creation device 10 and sends captured images to the map creation device 10 .
  • the wheel speed sensor 20 detects the wheel speed of the four wheels of the vehicle.
  • the wheel speed sensor 20 sends the detected wheel speed to the mapping device 10 .
  • Wheel encoders are usually used for the wheel speed sensors 20, but motor encoders may be used in vehicles such as hybrid vehicles that are equipped with motors. Motor encoders are desirable because they have higher detection accuracy than wheel encoders.
  • the steering angle sensor 21 detects the steering angle of the vehicle.
  • the steering angle sensor 21 sends the detected steering angle to the mapping device 10 .
  • the map creation device 10 calculates the initial values of homography matrices between a plurality of images from vehicle odometry information, and uses the calculated initial values to calculate the optimum values of the homography matrices. As a result, it is possible to reduce the amount of repetitive calculations.
  • the map creation device 10 according to the present embodiment is intended for in-vehicle use. In the case of in-vehicle use, the processing capacity of resources such as processors and memories is relatively low. Less load on resources and greater efficiency.
  • the map creation device 10 may be implemented as part of an ECU (Electronic Control Unit), which is a vehicle control computer, or may be implemented as an in-vehicle computer separate from the ECU.
  • ECU Electronic Control Unit
  • the map creation device 10 may be implemented as part of an ECU (Electronic Control Unit), which is a vehicle control computer, or may be implemented as an in-vehicle computer separate from the ECU.
  • the map creation device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, an input/output interface (I/O) 14, a storage unit 15, an external and an interface (external I/F) 16 .
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • I/O input/output interface
  • storage unit 15, an external and an interface (external I/F) 16 .
  • the CPU 11, ROM 12, RAM 13, and I/O 14 are each connected via a bus.
  • Functional units including a storage unit 15 and an external I/F 16 are connected to the I/O 14 .
  • Each of these functional units can communicate with the CPU 11 via the I/O 14 .
  • a control unit is configured by the CPU 11, ROM 12, RAM 13, and I/O 14.
  • the control unit may be configured as a sub-control unit that controls part of the operation of the map creation device 10, or may be configured as a part of the main control unit that controls the overall operation of the map creation device 10.
  • An integrated circuit such as an LSI (Large Scale Integration) or an IC (Integrated Circuit) chipset is used for part or all of each block of the control unit.
  • An individual circuit may be used for each of the above blocks, or a circuit in which a part or all of them are integrated may be used.
  • the blocks may be provided integrally, or some of the blocks may be provided separately. Moreover, in each of the above blocks, a part thereof may be separately provided.
  • a dedicated circuit or a general-purpose processor may be used for integration of the control unit, not limited to an LSI.
  • the storage unit 15 for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive), a flash memory, or the like is used.
  • the storage unit 15 stores a map creation program 15A according to this embodiment. Note that the map creation program 15A may be stored in the ROM 12. FIG.
  • the map creation program 15A may be pre-installed in the map creation device 10, for example.
  • the map creation program 15A may be implemented by storing it in a non-volatile storage medium or distributing it via a network and installing it in the map creation device 10 as appropriate.
  • Examples of non-volatile storage media include CD-ROM (Compact Disc Read Only Memory), magneto-optical disc, HDD, DVD-ROM (Digital Versatile Disc Read Only Memory), flash memory, memory card, etc. be.
  • the external I/F 16 is an interface for communicably connecting with each of the wheel speed sensor 20, the steering angle sensor 21, and the vehicle-mounted camera 22.
  • the CPU 11 of the map creation device 10 writes the map creation program 15A stored in the storage unit 15 into the RAM 13 and executes it, thereby functioning as each unit shown in FIG.
  • FIG. 2 is a block diagram showing an example of the functional configuration of the map creation device 10 according to this embodiment.
  • the CPU 11 of the map creation device 10 includes an image acquisition unit 11A, a sensor information acquisition unit 11B, an odometry information calculation unit 11C, an initial value calculation unit 11D, an optimum value calculation unit 11E, a camera It functions as a position/orientation calculation unit 11F, a usage determination unit 11G, and a three-dimensional position calculation unit 11H.
  • the image acquisition unit 11A acquires a plurality of images from the vehicle-mounted camera 22.
  • the image acquisition unit 11A sends the multiple acquired images to the optimum value calculation unit 11E.
  • the plurality of images are, for example, images captured at two different locations.
  • the sensor information acquisition unit 11B acquires the wheel speed detected by the wheel speed sensor 20 and the steering angle detected by the steering angle sensor 21.
  • the sensor information acquisition section 11B sends the acquired wheel speed and steering angle to the odometry information calculation section 11C.
  • the odometry information calculation unit 11C calculates odometry information indicating the amount of movement of the vehicle based on the wheel speed and steering angle from the sensor information acquisition unit 11B. Specifically, the odometry information calculator 11C calculates the traveling distance of the vehicle based on the wheel speed, and calculates the turning radius of the vehicle based on the steering angle.
  • FIG. 3 is a diagram showing an example of the amount of change in the position of the vehicle and the amount of change in the yaw angle of the vehicle according to this embodiment.
  • the odometry information calculator 11C calculates the amount of position change ( ⁇ X v , ⁇ Y v ) of the vehicle (reference point P1) in the vehicle coordinate system and the yaw Angular change amount ⁇ v is calculated.
  • the odometry information calculation unit 11C sends the calculated position change amount ( ⁇ X v , ⁇ Y v ) and yaw angle change amount ⁇ v to the initial value calculation unit 11D as vehicle odometry information.
  • the initial value calculator 11D calculates initial values of homography matrices between a plurality of images based on the vehicle odometry information from the odometry information calculator 11C. Homography means projecting a plane onto another plane using projective transformation. Specifically, the initial value calculator 11D calculates a translational vector t c representing a positional change of the vehicle-mounted camera 22 from the positional variation ( ⁇ X v , ⁇ Y v ), and calculates the vehicle-mounted camera 22 from the yaw angle variation ⁇ v . Compute the rotation matrix R c representing the 22 pose changes.
  • FIG. 4 is a diagram showing an example of the positional relationship between the vehicle-mounted camera 22 and the road surface according to this embodiment.
  • the in-vehicle camera 22 is installed at a height h from the road surface.
  • the above-described position change amount ( ⁇ X v , ⁇ Y v ) and yaw angle change amount ⁇ v are calculated as odometry information.
  • the translation vector t c is calculated from the position change amount ( ⁇ X v , ⁇ Y v )
  • the rotation matrix R c is calculated from the yaw angle change amount ⁇ v .
  • a road surface normal vector n is a vector in the normal direction of the road surface viewed from the vehicle-mounted camera 22 and has a magnitude of one.
  • the initial value calculator 11D calculates the initial value G0 of the homography matrix using the following equation (1).
  • K indicates an internal parameter matrix of the vehicle-mounted camera 22
  • Rc indicates a rotation matrix
  • tc indicates the translation vector
  • nT indicates the transposed matrix of the value n of the road surface normal vector
  • h indicates the installation height of the vehicle-mounted camera 22 from the road surface.
  • the initial value calculator 11D sends the initial value G0 calculated by the above equation (1) to the optimum value calculator 11E.
  • the optimum value calculation unit 11E calculates the homography matrix from the initial value from the initial value calculation unit 11D and the luminance value of each pixel included in the road surface area designated for the plurality of images from the image acquisition unit 11A.
  • the optimum value is calculated by iterative calculation. Specifically, as an example, as shown in FIG. 5, a road surface area is designated in an image, and an optimum value GOPT of the homography matrix is calculated using an ESM algorithm, which is an example of repeated calculation.
  • FIGS. 5A and 5B are diagrams showing examples of corresponding road surface regions between a plurality of images according to this embodiment.
  • FIG. 5A shows the image before the vehicle moves
  • FIG. 5B shows the image after the vehicle moves.
  • a road area R1 is designated in the image before the vehicle moves shown in FIG. 5A.
  • the image after vehicle movement shown in FIG. 5B includes a road surface region R2 calculated with the initial value G0 of the homography matrix and a road surface region R3 calculated with the optimum value G_OPT of the homography matrix.
  • the initial value G0 of the homography matrix between images at two points is calculated from the odometry information of the vehicle, and the calculated initial value G0 is used to obtain the optimum value G of the homography matrix.
  • Calculate OPT That is, by calculating the initial value G 0 of the homography matrix from the odometry information of the vehicle, the initial value G 0 is set to a value closer to the optimum value G OPT than when the odometry information is not used. Therefore, the number of iterations of iterative calculation can be reduced.
  • a specific method for calculating the optimum value GOPT of the homography matrix will be described later.
  • the camera position/orientation calculation unit 11F decomposes the optimum value from the optimum value calculation unit 11E to calculate the amount of change in the camera position and the amount of change in the camera orientation of the vehicle-mounted camera 22 .
  • the amount of change in the camera position is represented as an estimated value test of the translation vector, and the amount of change in the camera pose is represented as an estimated value R est of the rotation matrix.
  • the camera position/orientation calculation unit 11F also decomposes the optimum value from the optimum value calculation unit 11E to calculate an estimated value of the road surface normal vector.
  • the optimal value G_OPT is decomposed as shown in Equation (2) below.
  • K indicates an internal parameter matrix of the vehicle-mounted camera 22
  • Rest indicates a rotation matrix (estimated value) representing the amount of change in camera posture.
  • test indicates the translation vector (estimated value) representing the amount of change in the camera position
  • nest T indicates the transposed matrix of the estimated value nest of the road surface normal vector
  • h indicates the installation height of the in-vehicle camera 22 from the road surface.
  • the usage determination unit 11G determines that the amount of change in camera position and the amount of change in camera orientation are not to be used in subsequent processes. If it is not used, the optimum values of the homography matrix are re-determined from images taken at two different locations.
  • the threshold value can be set to an appropriate value within a range from 0 degrees to 5 degrees.
  • the usage determination unit 11G is not essential, and the configuration may be such that the usage determination unit 11G is not included. In this case, the amount of change in the camera position and the amount of change in the camera orientation calculated by the camera position/orientation calculator 11F are used as they are in the post-process.
  • the three-dimensional position calculation unit 11H calculates three-dimensional positions of feature points in a plurality of images from the amount of change in the camera position and the amount of change in the camera posture when the use determination unit 11G determines to use the image. Specifically, the three-dimensional position calculation unit 11H uses the position of the feature point associated between the images of the two different points, the amount of change in the camera position, and the amount of change in the camera attitude to determine the three positions of the feature points based on the principle of triangulation. Calculate dimensional positions.
  • FIG. 6 is a flowchart showing an example of the flow of processing by the map creation program 15A according to this embodiment.
  • the CPU 11 starts the map creation program 15A and executes the following steps.
  • step S101 of FIG. 6 the CPU 11 acquires a plurality of images shot at two different points from the vehicle-mounted camera 22, as shown in FIG. 5 above, as an example.
  • step S102 the CPU 11 acquires the wheel speed from the wheel speed sensor 20 and the steering angle from the steering angle sensor 21 as sensor information.
  • step S103 the CPU 11 calculates odometry information indicating the amount of movement of the vehicle based on the wheel speed and the steering angle acquired in step S102, as shown in FIG. 3 described above. Specifically, the CPU 11 calculates the traveling distance of the vehicle based on the wheel speed, and calculates the turning radius of the vehicle based on the steering angle. Then, the amount of change in position ( ⁇ X v , ⁇ Y v ) and the amount of change in yaw angle ⁇ v of the vehicle (reference point P1) in the vehicle coordinate system are calculated from the traveling distance and turning radius of the vehicle.
  • step S104 the CPU 11 calculates initial values of homography matrices between a plurality of images based on the vehicle odometry information calculated in step S103. Specifically, the CPU 11 calculates the translational vector t c representing the positional change of the vehicle-mounted camera 22 from the positional change amount ( ⁇ X v , ⁇ Y v ) as shown in FIG. A rotation matrix Rc representing a change in the attitude of the vehicle-mounted camera 22 is calculated from the amount of change ⁇ v , and the initial value G0 of the homography matrix is calculated using the above equation (1).
  • step S105 the CPU 11 calculates the initial values calculated in step S104 and each pixel included in the road surface area designated for the plurality of images acquired in step S101. , the optimum value of the homography matrix is calculated by iterative calculation.
  • the homography matrix optimum value calculation processing in step S105 will be specifically described with reference to FIGS. 7 and 8. FIG.
  • FIG. 7 is a flowchart showing an example of the flow of homography matrix optimum value calculation processing according to the present embodiment, and is a subroutine of step S105 of FIG. Also, FIG. 8 is a diagram showing an example of the image I * before movement and the tracking area.
  • step S111 of FIG. 7 the CPU 11 designates a tracking area (synonymous with the road surface area) for the image I * before movement as shown in FIG. Compute the matrices J W , J G , and .
  • the luminance gradient matrix J I* is calculated using the following equation from the luminance of each pixel in the tracking area in the image I * before movement (values from 0 to 255).
  • JI*ui indicates the horizontal luminance gradient of the i-th pixel
  • JI *vi indicates the vertical luminance gradient of the i-th pixel.
  • the Jacobian matrix JW is calculated by the following equation from the coordinates of each pixel in the tracking area in the image I * before movement.
  • [A i ] v is a 9-by-1 vector permuted row by row.
  • step S112 the CPU 11 substitutes an initial value G0 for the estimated value G ⁇ ( ⁇ is just above G, hereinafter the same) of the homography matrix, and 1 for the number of iterations nite .
  • step S113 the CPU 11 calculates the brightness gradient matrix JI of the tracking area in the image I after movement.
  • the coordinates in the image I after movement are calculated by the following formula.
  • the brightness gradient matrix J I is calculated from the brightness of each pixel in the tracking area in the image I after movement by the following equation.
  • J Iui indicates the horizontal luminance gradient of the i-th pixel
  • J Ivi indicates the vertical luminance gradient of the i-th pixel.
  • step S114 the CPU 11 calculates the parameter x of the homography matrix (vector of 8 rows and 1 column).
  • the parameter x is calculated by the following formula.
  • J esm is a Jacobian matrix and is calculated by the following equation.
  • y is the luminance difference vector and is expressed by the following equation.
  • yi is calculated from the luminance Ii of the i-th pixel after movement and the luminance Ii * of the i-th pixel before movement by the following equation.
  • step S115 the CPU 11 updates the estimated value G ⁇ of the homography matrix using the following equation.
  • step S116 the CPU 11 determines whether or not the termination condition is satisfied, that is, whether or not iteration is necessary. If the termination condition is satisfied, that is, if iteration (repetition) is determined to be unnecessary (in the case of affirmative determination), the process proceeds to step S117. If yes), return to step S113 and repeat the process.
  • y curr is expressed by the following equation.
  • n max (eg, 100) be the upper limit number of iterations
  • (eg, 10 ⁇ 5 ) be the threshold for convergence determination.
  • n ite 1
  • the root mean square y prev of the previous luminance difference is substituted by the root mean square y curr of the current luminance difference, 1 is added to the number of iterations n ite , and the process returns to step S113.
  • step S117 In the case of 1 ⁇ n ite ⁇ n max , if y prev ⁇ y curr > ⁇ , it is determined that the convergence has not occurred, and the root mean square y prev of the previous luminance difference is added to the root mean square y curr is substituted, 1 is added to the number of iterations nite , and the process returns to step S113. On the other hand, if y prev ⁇ y curr ⁇ , it is determined that convergence has occurred, and the process proceeds to step S117.
  • step S117 the CPU 11 adopts the estimated value G ⁇ of the homography matrix as the optimum value GOPT , and returns to step S106 in FIG.
  • step S106 the CPU 11 decomposes the optimum value GOPT calculated in step S105 using the above equation (2) as an example, and calculates the amount of change in the camera position and the amount of change in the camera attitude. , and an estimated value of the road surface normal vector.
  • step S107 the CPU 11 determines whether or not the amount of change in the camera position and the amount of change in the camera orientation can be used. If it is determined that it can be used (in the case of affirmative determination), the process proceeds to step S108, and if it is determined that it cannot be used (in the case of a negative determination), the process returns to step S101 and the process is repeated. Specifically, when the error represented by the angle between the estimated value n est of the road surface normal vector and the value n of the road surface normal vector obtained in advance by calibrating the in-vehicle camera 22 is less than the threshold value, the CPU 11 First, it is determined that the amount of change in the camera position and the amount of change in the camera orientation are to be used in the post-process.
  • the error is equal to or greater than the threshold, it is determined that the amount of change in the camera position and the amount of change in the camera orientation are not to be used in the post-process. If it is not used, the optimum values of the homography matrix are re-determined from images taken at two different locations.
  • step S108 the CPU 11 calculates the three-dimensional positions of feature points in a plurality of images from the amount of change in camera position and the amount of change in camera posture, and terminates a series of processing by the map creation program 15A. Specifically, the CPU 11 calculates the three-dimensional position of the feature point based on the principle of triangulation from the position of the feature point associated between the images of the two different points, the amount of change in the camera position, and the amount of change in the camera orientation. .
  • the present embodiment by calculating the initial values of the homography matrix from the odometry information of the vehicle, it is possible to repeatedly start the calculation from a value close to the optimum value of the homography matrix. Therefore, the number of repetitions of iterative calculations is reduced.
  • the error in the homography matrix increases, so the error in the road surface normal obtained from the homography matrix may also increase.
  • the error of the road surface normal is obtained by comparison with the road surface normal obtained from the camera installation direction. If the error of the road surface normal is large, it can be determined that the determined amount of change in camera position and amount of change in camera attitude cannot be used, and the homography matrix can be re-determined from images taken at two different points.
  • processor refers to a processor in a broad sense, and includes general-purpose processors (eg, CPU: Central Processing Unit, etc.) and dedicated processors (eg, GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array, programmable logic device, etc.).
  • general-purpose processors eg, CPU: Central Processing Unit, etc.
  • dedicated processors eg, GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array, programmable logic device, etc.
  • processors in each of the above embodiments may be performed not only by one processor, but also by the cooperation of a plurality of physically separated processors. Also, the order of each operation of the processor is not limited to the order described in each of the above embodiments, and may be changed as appropriate.
  • the map creation device has been described above as an example.
  • the embodiment may be in the form of a program for causing a computer to execute the function of each unit provided in the map creation device.
  • Embodiments may be in the form of a computer-readable non-transitory storage medium storing these programs.
  • the configuration of the map creation device described in the above embodiment is an example, and may be changed according to circumstances within the scope of the gist.
  • Embodiments may be implemented by, for example, a hardware configuration or a combination of hardware and software configurations.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

地図作成装置は、車両の移動量を示すオドメトリ情報を算出するオドメトリ情報算出部と、車両のオドメトリ情報から、車載カメラにより異なる地点を撮影して得られた複数の画像間のホモグラフィ行列の初期値を算出する初期値算出部と、算出した初期値、及び、複数の画像に対して指定された路面領域に含まれる各画素の輝度値から、ホモグラフィ行列の最適値を繰り返し計算により算出する最適値算出部と、最適値を分解して、車載カメラについてのカメラ位置の変化量及びカメラ姿勢の変化量を算出するカメラ位置姿勢算出部と、カメラ位置の変化量及びカメラ姿勢の変化量から、複数の画像における特徴点の3次元位置を算出する3次元位置算出部と、を備える。

Description

地図作成装置、地図作成方法、及び地図作成プログラム
 本開示は、地図作成装置、地図作成方法、及び地図作成プログラムに関する。
 従来、車両に搭載されたカメラで周辺環境を撮影し、撮影された画像から車両の位置及び姿勢を推定する技術がある(例えば、Steven Lovegrove, Andrew J. Davison and Javier Ibanez-Guzman, "Accurate Visual Odometry from a Rear Parking Camera", Intelligent Vehicles Symposium, 2011. 以下、「非特許文献1」という。)。
 非特許文献1に記載の技術によれば、図9に示すように、車両後部に設置されたカメラにより異なる2地点を撮影した場合に、図10に示すような複数の画像が得られる。これら複数の画像から路面の領域を抽出し、抽出した路面の領域の輝度に基づく繰り返し計算を行うことにより複数の画像間のホモグラフィ行列の最適値を求める。繰り返し計算のアルゴリズムには、ESM(Efficient Second order Minimisation)アルゴリズムが用いられる。そして、ホモグラフィ行列の最適値から車両の位置の変化量及び姿勢の変化量を算出する。
 しかしながら、上記非特許文献1に記載の技術では、ホモグラフィ行列の最適値を求める際の繰り返し計算の計算量が多く、低コスト化できない。このため、繰り返し計算の計算量を低減することが望まれている。
 本開示は、上記の事情に鑑みてなされたものであり、異なる地点を撮影して得られた複数の画像における特徴点の3次元位置を算出する場合に、繰り返し計算の計算量を低減することができる地図作成装置、地図作成方法、及び地図作成プログラムを提供することを目的とする。
 上記目的を達成するために、第1態様に係る地図作成装置は、車両に搭載され、かつ、前記車両の周辺を撮影する車載カメラから、異なる地点を撮影した複数の画像を取得する画像取得部と、前記車両の移動量を示すオドメトリ情報を算出するオドメトリ情報算出部と、前記車両のオドメトリ情報から、前記複数の画像間のホモグラフィ行列の初期値を算出する初期値算出部と、前記初期値、及び、前記複数の画像に対して指定された路面領域に含まれる各画素の輝度値から、前記ホモグラフィ行列の最適値を繰り返し計算により算出する最適値算出部と、前記最適値を分解して、前記車載カメラについてのカメラ位置の変化量及びカメラ姿勢の変化量を算出するカメラ位置姿勢算出部と、前記カメラ位置の変化量及び前記カメラ姿勢の変化量から、前記複数の画像における特徴点の3次元位置を算出する3次元位置算出部と、を備えている。
 また、第2態様に係る地図作成装置は、第1態様に係る地図作成装置において、前記カメラ位置姿勢算出部が、前記最適値を分解して、前記車載カメラから見た路面の法線方向のベクトルである路面法線ベクトルの推定値を更に算出し、前記路面法線ベクトルの推定値と予め前記車載カメラのキャリブレーションにより求めた路面法線ベクトルの値との間の角度で表される誤差が閾値未満である場合に、前記カメラ位置の変化量及び前記カメラ姿勢の変化量を利用すると判定する利用判定部を更に備えている。
 また、第3態様に係る地図作成装置は、第2態様に係る地図作成装置において、前記利用判定部が、前記誤差が前記閾値以上である場合に、前記カメラ位置の変化量及び前記カメラ姿勢の変化量を利用しないと判定する。
 更に、上記目的を達成するために、第4態様に係る地図作成方法は、車両に搭載され、かつ、前記車両の周辺を撮影する車載カメラから、異なる地点を撮影した複数の画像を取得し、前記車両の移動量を示すオドメトリ情報を算出し、前記車両のオドメトリ情報から、前記複数の画像間のホモグラフィ行列の初期値を算出し、前記初期値、及び、前記複数の画像に対して指定された路面領域に含まれる各画素の輝度値から、前記ホモグラフィ行列の最適値を繰り返し計算により算出し、前記最適値を分解して、前記車載カメラについてのカメラ位置の変化量及びカメラ姿勢の変化量を算出し、前記カメラ位置の変化量及び前記カメラ姿勢の変化量から、前記複数の画像における特徴点の3次元位置を算出する。
 更に、上記目的を達成するために、第5態様に係る地図作成プログラムは、車両に搭載され、かつ、前記車両の周辺を撮影する車載カメラから、異なる地点を撮影した複数の画像を取得し、前記車両の移動量を示すオドメトリ情報を算出し、前記車両のオドメトリ情報から、前記複数の画像間のホモグラフィ行列の初期値を算出し、前記初期値、及び、前記複数の画像に対して指定された路面領域に含まれる各画素の輝度値から、前記ホモグラフィ行列の最適値を繰り返し計算により算出し、前記最適値を分解して、前記車載カメラについてのカメラ位置の変化量及びカメラ姿勢の変化量を算出し、前記カメラ位置の変化量及び前記カメラ姿勢の変化量から、前記複数の画像における特徴点の3次元位置を算出することを、コンピュータに実行させる。
 本開示の技術によれば、異なる地点を撮影して得られた複数の画像における特徴点の3次元位置を算出する場合に、繰り返し計算の計算量を低減することができる、という効果を有する。
実施形態に係る地図作成システムの構成の一例を示す図である。 実施形態に係る地図作成装置の機能的な構成の一例を示すブロック図である。 実施形態に係る車両の位置の変化量及びヨー角の変化量の一例を示す図である。 実施形態に係る車載カメラと路面との位置関係の一例を示す図である。 実施形態に係る複数の画像間で対応する路面領域の一例を示し、車両移動前の画像を示す図である。 実施形態に係る複数の画像間で対応する路面領域の一例を示し、車両移動後の画像を示す図である。 実施形態に係る地図作成プログラムによる処理の流れの一例を示すフローチャートである。 実施形態に係るホモグラフィ行列最適値算出処理の流れの一例を示すフローチャートである。 移動前の画像及び追跡領域の一例を示す図である。 従来技術の説明に供する図である。 従来技術の説明に供する図である。
 以下、図面を参照して、本開示の技術を実施するための形態の一例について詳細に説明する。なお、動作、作用、機能が同じ働きを担う構成要素及び処理には、全図面を通して同じ符号を付与し、重複する説明を適宜省略する場合がある。各図面は、本開示の技術を十分に理解できる程度に、概略的に示してあるに過ぎない。よって、本開示の技術は、図示例のみに限定されるものではない。また、本実施形態では、本開示の技術と直接的に関連しない構成や周知な構成については、説明を省略する場合がある。
 本実施形態に係る地図作成装置は、車載カメラを用いたVisual SLAM(Simultaneous Localization and Mapping)技術の枠組みで点群地図を作成する場合における地図の初期化に関する。地図の初期化では、最初に異なる2地点で撮影した画像から車載カメラの位置の変化量及び姿勢の変化量を求める必要がある。しかし、画像から検出可能な特徴点が少ないシーンでは、特徴点から車載カメラの位置の変化量及び姿勢の変化量を精度良く求めることは困難である。このため、路面領域の各画素の輝度値から車載カメラの位置の変化量及び姿勢の変化量を求める。
 図1は、本実施形態に係る地図作成システム100の構成の一例を示す図である。
 図1に示すように、本実施形態に係る地図作成システム100は、地図作成装置10と、車輪速センサ20と、操舵角センサ21と、車載カメラ22と、を備えている。
 車載カメラ22は、車両に搭載され、かつ、車両の周辺を撮影する。車載カメラ22は、路面を撮影可能な状態で設置されていればよく、車両における設置場所は特に限定されない。車載カメラ22には、例えば、単眼カメラが適用されるが、これに限定されず、ステレオカメラ等であってもよい。
 具体的に、車載カメラ22は、車両の上部等に設けられた単眼カメラであり、車両の前方、後方等の周辺領域を撮影する。車載カメラ22は、例えば、車幅方向の略中央部付近に設けられ、かつ、車載カメラ22の光軸が水平方向より若干下側を向くように配置される。車載カメラ22は、地図作成装置10と通信可能に接続されており、撮影した画像を地図作成装置10に送る。
 車輪速センサ20は、車両の4輪の車輪速を検出する。車輪速センサ20は、検出した車輪速を地図作成装置10に送る。車輪速センサ20には、通常車輪のエンコーダが用いられるが、ハイブリッド車等のモータを備えた車両では、モータのエンコーダを用いるようにしてもよい。モータのエンコーダは、車輪のエンコーダと比べて、検出精度が高いため望ましい。
 操舵角センサ21は、車両の操舵角を検出する。操舵角センサ21は、検出した操舵角を地図作成装置10に送る。
 本実施形態に係る地図作成装置10は、車両のオドメトリ情報から複数の画像間のホモグラフィ行列の初期値を算出し、算出した初期値を用いてホモグラフィ行列の最適値を算出する。これにより、繰り返し計算の計算量を低減することができる。本実施形態に係る地図作成装置10は、車載用途を想定しており、車載用途の場合、プロセッサ、メモリ等のリソースの処理能力が比較的低いため、繰り返し計算の計算量を低減することで、リソースの負荷が減少しより大きな効果が得られる。
 具体的に、地図作成装置10は、車両制御用コンピュータであるECU(Electronic Control Unit)の一部として実現してもよいし、ECUとは別の車載コンピュータとして実現してもよい。
 地図作成装置10は、CPU(Central Processing Unit)11と、ROM(Read Only Memory)12と、RAM(Random Access Memory)13と、入出力インタフェース(I/O)14と、記憶部15と、外部インタフェース(外部I/F)16と、を備えている。
 CPU11、ROM12、RAM13、及びI/O14は、バスを介して各々接続されている。I/O14には、記憶部15と、外部I/F16とを含む各機能部が接続されている。これらの各機能部は、I/O14を介して、CPU11と相互に通信可能とされる。
 CPU11、ROM12、RAM13、及びI/O14によって制御部が構成される。制御部は、地図作成装置10の一部の動作を制御するサブ制御部として構成されてもよいし、地図作成装置10の全体の動作を制御するメイン制御部の一部として構成されてもよい。制御部の各ブロックの一部又は全部には、例えば、LSI(Large Scale Integration)等の集積回路又はIC(Integrated Circuit)チップセットが用いられる。上記各ブロックに個別の回路を用いてもよいし、一部又は全部を集積した回路を用いてもよい。上記各ブロック同士が一体として設けられてもよいし、一部のブロックが別に設けられてもよい。また、上記各ブロックのそれぞれにおいて、その一部が別に設けられてもよい。制御部の集積化には、LSIに限らず、専用回路又は汎用プロセッサを用いてもよい。
 記憶部15としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等が用いられる。記憶部15には、本実施形態に係る地図作成プログラム15Aが記憶される。なお、この地図作成プログラム15Aは、ROM12に記憶されていてもよい。
 地図作成プログラム15Aは、例えば、地図作成装置10に予めインストールされていてもよい。地図作成プログラム15Aは、不揮発性の記憶媒体に記憶して、又はネットワークを介して配布して、地図作成装置10に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
 外部I/F16は、車輪速センサ20、操舵角センサ21、及び車載カメラ22の各々と通信可能に接続するためのインタフェースである。
 本実施形態に係る地図作成装置10のCPU11は、記憶部15に記憶されている地図作成プログラム15AをRAM13に書き込んで実行することにより、図2に示す各部として機能する。
 図2は、本実施形態に係る地図作成装置10の機能的な構成の一例を示すブロック図である。
 図2に示すように、本実施形態に係る地図作成装置10のCPU11は、画像取得部11A、センサ情報取得部11B、オドメトリ情報算出部11C、初期値算出部11D、最適値算出部11E、カメラ位置姿勢算出部11F、利用判定部11G、及び3次元位置算出部11Hとして機能する。
 画像取得部11Aは、車載カメラ22から複数の画像を取得する。画像取得部11Aは、取得した複数の画像を最適値算出部11Eに送る。複数の画像は、例えば、異なる2地点を撮影した画像とされる。
 センサ情報取得部11Bは、車輪速センサ20により検出された車輪速、及び操舵角センサ21により検出された操舵角を取得する。センサ情報取得部11Bは、取得した車輪速及び操舵角をオドメトリ情報算出部11Cに送る。
 オドメトリ情報算出部11Cは、センサ情報取得部11Bからの車輪速及び操舵角に基づいて、車両の移動量を示すオドメトリ情報を算出する。具体的に、オドメトリ情報算出部11Cは、車輪速に基づいて、車両の走行距離を算出し、操舵角に基づいて、車両の旋回半径を算出する。
 図3は、本実施形態に係る車両の位置の変化量及びヨー角の変化量の一例を示す図である。
 図3に示すように、オドメトリ情報算出部11Cは、車両の走行距離及び旋回半径から、車両座標系での車両(基準点P1)の位置変化量(△X,△Y)、及びヨー角変化量△θを算出する。オドメトリ情報算出部11Cは、算出した位置変化量(△X,△Y)、及びヨー角変化量△θを、車両のオドメトリ情報として初期値算出部11Dに送る。
 初期値算出部11Dは、オドメトリ情報算出部11Cからの車両のオドメトリ情報に基づいて、複数の画像間のホモグラフィ行列の初期値を算出する。なお、ホモグラフィとは、射影変換を用いて、ある平面を別の平面に射影することをいう。具体的に、初期値算出部11Dは、位置変化量(△X,△Y)から車載カメラ22の位置変化を表す並進ベクトルtを計算し、ヨー角変化量△θから車載カメラ22の姿勢変化を表す回転行列Rを計算する。
 図4は、本実施形態に係る車載カメラ22と路面との位置関係の一例を示す図である。
 図4に示すように、車載カメラ22は路面から高さhに設置されている。車両がある地点から別の地点に移動した場合に、オドメトリ情報として、上述の位置変化量(△X,△Y)、及びヨー角変化量△θが算出される。そして、位置変化量(△X,△Y)から並進ベクトルtが計算され、ヨー角変化量△θから回転行列Rが計算される。路面法線ベクトルnは、車載カメラ22から見た路面の法線方向のベクトルであり、大きさは1である。
 初期値算出部11Dは、下記の式(1)を用いて、ホモグラフィ行列の初期値Gを算出する。
 G=K(R+t/h)K-1 ・・・(1)
 但し、Kは車載カメラ22の内部パラメータ行列を示し、Rは回転行列を示す。tは並進ベクトルを示し、nは路面法線ベクトルの値nの転置行列を示し、hは車載カメラ22の路面からの設置高さを示す。なお、内部パラメータ行列K、路面法線ベクトルn、及び設置高さhには、予め車載カメラ22のキャリブレーションにより求めた値を用いる。
 初期値算出部11Dは、上記式(1)により算出した初期値Gを最適値算出部11Eに送る。
 最適値算出部11Eは、初期値算出部11Dからの初期値、及び、画像取得部11Aからの複数の画像に対して指定された路面領域に含まれる各画素の輝度値から、ホモグラフィ行列の最適値を繰り返し計算により算出する。具体的に、一例として、図5に示すように、画像中に路面領域を指定し、繰り返し計算の一例であるESMアルゴリズムを用いてホモグラフィ行列の最適値GOPTを算出する。
 図5A、図5Bは、本実施形態に係る複数の画像間で対応する路面領域の一例を示す図である。図5Aは車両移動前の画像を示し、図5Bは車両移動後の画像を示す。
 図5Aに示す車両移動前の画像には、路面領域R1が指定されている。図5Bに示す車両移動後の画像には、ホモグラフィ行列の初期値Gで計算した路面領域R2と、ホモグラフィ行列の最適値GOPTで計算した路面領域R3とが含まれている。
 図5A、図5Bの例によれば、車両のオドメトリ情報から2地点の画像間のホモグラフィ行列の初期値Gを算出し、算出した初期値Gを用いてホモグラフィ行列の最適値GOPTを算出する。つまり、ホモグラフィ行列の初期値Gを、車両のオドメトリ情報から算出することで、オドメトリ情報を用いない場合と比較して、初期値Gが最適値GOPTに近い値に設定される。このため、繰り返し計算の繰り返し回数を低減させることができる。ホモグラフィ行列の最適値GOPTの具体的な算出方法については後述する。
 カメラ位置姿勢算出部11Fは、最適値算出部11Eからの最適値を分解して、車載カメラ22についてのカメラ位置の変化量及びカメラ姿勢の変化量を算出する。カメラ位置の変化量は並進ベクトルの推定値testとして表され、カメラ姿勢の変化量は回転行列の推定値Restとして表される。また、カメラ位置姿勢算出部11Fは、最適値算出部11Eからの最適値を分解して、路面法線ベクトルの推定値を算出する。具体的に、最適値GOPTを、下記の式(2)のように分解する。
 GOPT=K(Rest+testest /h)K-1 ・・・(2)
 但し、Kは車載カメラ22の内部パラメータ行列を示し、Restはカメラ姿勢の変化量を表す回転行列(推定値)を示す。testはカメラ位置の変化量を表す並進ベクトル(推定値)を示し、nest は路面法線ベクトルの推定値nestの転置行列を示し、hは車載カメラ22の路面からの設置高さを示す。
 利用判定部11Gは、路面法線ベクトルの推定値nestと予め車載カメラ22のキャリブレーションにより求めた路面法線ベクトルの値nとの間の角度で表される誤差が閾値未満である場合に、カメラ位置の変化量及びカメラ姿勢の変化量を後工程(つまり3次元位置の算出工程)において利用すると判定する。一方、利用判定部11Gは、上記誤差が閾値以上である場合、カメラ位置の変化量及びカメラ姿勢の変化量を後工程において利用しないと判定する。利用しない場合には、別の異なる2地点で撮影した画像からホモグラフィ行列の最適値を求め直す。閾値は、0度より大きく5度以下の範囲で適切な値を設定可能とされる。なお、利用判定部11Gは必須ではなく、利用判定部11Gを含まない構成としてもよい。この場合、カメラ位置姿勢算出部11Fで算出されたカメラ位置の変化量及びカメラ姿勢の変化量はそのまま後工程において利用される。
 3次元位置算出部11Hは、利用判定部11Gにより利用すると判定された場合、カメラ位置の変化量及びカメラ姿勢の変化量から、複数の画像における特徴点の3次元位置を算出する。具体的に、3次元位置算出部11Hは、異なる2地点の画像間で対応付けた特徴点の位置、カメラ位置の変化量、及びカメラ姿勢の変化量から三角測量の原理により当該特徴点の3次元位置を計算する。
 次に、図6を参照して、本実施形態に係る地図作成装置10の作用について説明する。
 図6は、本実施形態に係る地図作成プログラム15Aによる処理の流れの一例を示すフローチャートである。
 まず、地図作成装置10が地図作成処理の開始の指示を受け付けると、CPU11により地図作成プログラム15Aが起動され、以下の各ステップを実行する。
 図6のステップS101では、CPU11が、一例として、上述の図5に示すように、車載カメラ22から異なる2地点で撮影された複数の画像を取得する。
 ステップS102では、CPU11が、車輪速センサ20から車輪速、及び操舵角センサ21から操舵角をそれぞれセンサ情報として取得する。
 ステップS103では、CPU11が、一例として、上述の図3に示すように、ステップS102で取得した車輪速及び操舵角に基づいて、車両の移動量を示すオドメトリ情報を算出する。具体的に、CPU11は、車輪速に基づいて、車両の走行距離を算出し、操舵角に基づいて、車両の旋回半径を算出する。そして、車両の走行距離及び旋回半径から、車両座標系での車両(基準点P1)の位置変化量(△X,△Y)、及びヨー角変化量△θを算出する。
 ステップS104では、CPU11が、ステップS103で算出した車両のオドメトリ情報に基づいて、複数の画像間のホモグラフィ行列の初期値を算出する。具体的に、CPU11は、一例として、上述の図4に示すように、位置変化量(△X,△Y)から車載カメラ22の位置変化を表す並進ベクトルtを算出し、ヨー角変化量△θから車載カメラ22の姿勢変化を表す回転行列Rを算出し、上述の式(1)を用いて、ホモグラフィ行列の初期値Gを算出する。
 ステップS105では、CPU11が、一例として、上述の図5に示すように、ステップS104で算出した初期値、及び、ステップS101で取得した複数の画像に対して指定された路面領域に含まれる各画素の輝度値から、ホモグラフィ行列の最適値を繰り返し計算により算出する。ここで、図7及び図8を参照して、ステップS105のホモグラフィ行列最適値算出処理について具体的に説明する。
 図7は、本実施形態に係るホモグラフィ行列最適値算出処理の流れの一例を示すフローチャートであり、図6のステップS105のサブルーチンである。また、図8は、移動前の画像I及び追跡領域の一例を示す図である。
 図7のステップS111では、CPU11が、一例として、図8に示すように、移動前の画像Iに対して追跡領域(路面領域と同義)を指定し、輝度勾配行列JI*と、ヤコビ行列J、Jと、を計算する。
 具体的には、図8に示すように、追跡領域の画素数をn(=n×n)とする。輝度勾配行列JI*は、移動前の画像Iにおける追跡領域の各画素の輝度(0~255の値)から次式を用いて計算する。
 
Figure JPOXMLDOC01-appb-I000001
 但し、
 
Figure JPOXMLDOC01-appb-I000002
である。JI*uiはi番目の画素の横方向の輝度勾配を示し、JI*viはi番目の画素の縦方向の輝度勾配を示す。
 ヤコビ行列Jは、移動前の画像Iにおける追跡領域の各画素の座標から次式により計算する。
 
Figure JPOXMLDOC01-appb-I000003
 但し、追跡領域の各画素の座標は、
 
Figure JPOXMLDOC01-appb-I000004
と表される。このとき、
 
Figure JPOXMLDOC01-appb-I000005
である。
 ヤコビ行列Jは、リー代数の基底A(i=1~8)から次式により計算する。
 
Figure JPOXMLDOC01-appb-I000006
 ここで、[A]は、行ごとに並べ替えた9行1列のベクトルである。
Figure JPOXMLDOC01-appb-I000007
 ステップS112では、CPU11が、ホモグラフィ行列の推定値G^(^はGの直上、以下同じ。)に初期値Gを代入し、イテレーション回数(繰り返し回数)niteに1を代入する。
 ステップS113では、CPU11が、移動後の画像Iにおける追跡領域の輝度勾配行列Jを算出する。
 具体的には、移動後の画像Iにおける座標を次式により計算する。
 
Figure JPOXMLDOC01-appb-I000008
 但し、移動後の画像Iにおける座標は、
 
Figure JPOXMLDOC01-appb-I000009
と表される。
 輝度勾配行列Jは、移動後の画像Iにおける追跡領域の各画素の輝度から次式により計算する。
 
Figure JPOXMLDOC01-appb-I000010
 但し、
 
Figure JPOXMLDOC01-appb-I000011
である。JIuiはi番目の画素の横方向の輝度勾配を示し、JIviはi番目の画素の縦方向の輝度勾配を示す。
 ステップS114では、CPU11が、ホモグラフィ行列のパラメータx(8行1列のベクトル)を算出する。
 具体的に、パラメータxを次式により計算する。
 
Figure JPOXMLDOC01-appb-I000012
 ここで、Jesmはヤコビ行列であり、次式により計算する。
 
Figure JPOXMLDOC01-appb-I000013
 一方、yは輝度差ベクトルであり、次式で表される。
 
Figure JPOXMLDOC01-appb-I000014
 ここで、yiは、移動後のi番目の画素の輝度Iと、移動前のi番目の画素の輝度I とから次式により計算する。
 
Figure JPOXMLDOC01-appb-I000015
 ステップS115では、CPU11が、ホモグラフィ行列の推定値G^を次式により更新する。
 
Figure JPOXMLDOC01-appb-I000016
 上記Gを新たなG^にする。
 ステップS116では、CPU11が、終了条件を満たすか否か、つまり、イテレーション(繰り返し)が必要か否かを判定する。終了条件を満たす、つまり、イテレーション(繰り返し)が不要と判定した場合(肯定判定の場合)、ステップS117に移行し、終了条件を満たさない、つまり、イテレーション(繰り返し)が必要と判定した場合(否定判定の場合)、ステップS113に戻り処理を繰り返す。
 具体的に、今回の輝度差の二乗平均平方根をycurrとすると、ycurrは次式により表される。
 
Figure JPOXMLDOC01-appb-I000017
 イテレーションの上限回数をnmax(例えば、100)とし、収束判定の閾値をε(例えば、10-5)とする。
 nite=1の場合、前回の輝度差の二乗平均平方根yprevに、今回の輝度差の二乗平均平方根ycurrを代入し、イテレーション回数niteに1を加算して、ステップS113に戻る。
 1<nite<nmaxの場合、yprev-ycurr>εであれば、収束していないと判定し、前回の輝度差の二乗平均平方根yprevに、今回の輝度差の二乗平均平方根ycurrを代入し、イテレーション回数niteに1を加算して、ステップS113に戻る。一方、yprev-ycurr≦εであれば、収束したと判定し、ステップS117に移行する。
 nite=nmaxの場合、ステップS117に移行する。
 ステップS117では、CPU11が、ホモグラフィ行列の推定値G^を最適値GOPTとして採用し、図6のステップS106にリターンする。
 図6に戻り、ステップS106では、CPU11が、一例として、上述の式(2)を用いて、ステップS105で算出した最適値GOPTを分解して、カメラ位置の変化量、カメラ姿勢の変化量、及び路面法線ベクトルの推定値を算出する。
 ステップS107では、CPU11が、カメラ位置の変化量及びカメラ姿勢の変化量を利用可能か否か判定する。利用可能と判定した場合(肯定判定の場合)、ステップS108に移行し、利用できないと判定した場合(否定判定の場合)、ステップS101に戻り処理を繰り返す。具体的に、CPU11は、路面法線ベクトルの推定値nestと予め車載カメラ22のキャリブレーションにより求めた路面法線ベクトルの値nとの間の角度で表される誤差が閾値未満である場合に、カメラ位置の変化量及びカメラ姿勢の変化量を後工程において利用すると判定する。一方、上記誤差が閾値以上である場合、カメラ位置の変化量及びカメラ姿勢の変化量を後工程において利用しないと判定する。利用しない場合には、別の異なる2地点で撮影した画像からホモグラフィ行列の最適値を求め直す。
 ステップS108では、CPU11が、カメラ位置の変化量及びカメラ姿勢の変化量から、複数の画像における特徴点の3次元位置を算出し、本地図作成プログラム15Aによる一連の処理を終了する。具体的に、CPU11は、異なる2地点の画像間で対応付けた特徴点の位置、カメラ位置の変化量、及びカメラ姿勢の変化量から三角測量の原理により当該特徴点の3次元位置を計算する。
 このように本実施形態によれば、ホモグラフィ行列の初期値を車両のオドメトリ情報から算出することにより、ホモグラフィ行列の最適値に近い値から繰り返し計算を始めることができる。このため、繰り返し計算の繰り返し回数が低減される。
 また、路面テクスチャ(模様)が乏しい場合、ホモグラフィ行列の誤差が大きくなるため、ホモグラフィ行列から求めた路面法線の誤差も大きくなる場合がある。路面法線の誤差は、カメラ設置向きから求めた路面法線との比較により求められる。路面法線の誤差が大きい場合、求めたカメラ位置の変化量及びカメラ姿勢の変化量は利用できないと判定し、別の2地点で撮影した画像からホモグラフィ行列を求め直すことができる。
 なお、上記各実施形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えば、CPU:Central Processing Unit、等)や、専用のプロセッサ(例えば、GPU:Graphics Processing Unit、ASIC: Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス、等)を含むものである。
 また、上記各実施形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は、上記各実施形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
 以上、実施形態に係る地図作成装置を例示して説明した。実施形態は、地図作成装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、これらのプログラムを記憶したコンピュータが読み取り可能な非一時的記憶媒体の形態としてもよい。
 その他、上記実施形態で説明した地図作成装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
 また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
 また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
 2021年10月29日に出願された日本国特許出願2021-178338号の開示は、その全体が参照により本明細書に取り込まれる。本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。

Claims (5)

  1.  車両に搭載され、かつ、前記車両の周辺を撮影する車載カメラから、異なる地点を撮影した複数の画像を取得する画像取得部と、
     前記車両の移動量を示すオドメトリ情報を算出するオドメトリ情報算出部と、
     前記車両のオドメトリ情報から、前記複数の画像間のホモグラフィ行列の初期値を算出する初期値算出部と、
     前記初期値、及び、前記複数の画像に対して指定された路面領域に含まれる各画素の輝度値から、前記ホモグラフィ行列の最適値を繰り返し計算により算出する最適値算出部と、
     前記最適値を分解して、前記車載カメラについてのカメラ位置の変化量及びカメラ姿勢の変化量を算出するカメラ位置姿勢算出部と、
     前記カメラ位置の変化量及び前記カメラ姿勢の変化量から、前記複数の画像における特徴点の3次元位置を算出する3次元位置算出部と、
     を備えた地図作成装置。
  2.  前記カメラ位置姿勢算出部は、前記最適値を分解して、前記車載カメラから見た路面の法線方向のベクトルである路面法線ベクトルの推定値を更に算出し、
     前記路面法線ベクトルの推定値と予め前記車載カメラのキャリブレーションにより求めた路面法線ベクトルの値との間の角度で表される誤差が閾値未満である場合に、前記カメラ位置の変化量及び前記カメラ姿勢の変化量を利用すると判定する利用判定部を更に備えた
     請求項1に記載の地図作成装置。
  3.  前記利用判定部は、前記誤差が前記閾値以上である場合に、前記カメラ位置の変化量及び前記カメラ姿勢の変化量を利用しないと判定する
     請求項2に記載の地図作成装置。
  4.  車両に搭載され、かつ、前記車両の周辺を撮影する車載カメラから、異なる地点を撮影した複数の画像を取得し、
     前記車両の移動量を示すオドメトリ情報を算出し、
     前記車両のオドメトリ情報から、前記複数の画像間のホモグラフィ行列の初期値を算出し、
     前記初期値、及び、前記複数の画像に対して指定された路面領域に含まれる各画素の輝度値から、前記ホモグラフィ行列の最適値を繰り返し計算により算出し、
     前記最適値を分解して、前記車載カメラについてのカメラ位置の変化量及びカメラ姿勢の変化量を算出し、
     前記カメラ位置の変化量及び前記カメラ姿勢の変化量から、前記複数の画像における特徴点の3次元位置を算出する、
     地図作成方法。
  5.  車両に搭載され、かつ、前記車両の周辺を撮影する車載カメラから、異なる地点を撮影した複数の画像を取得し、
     前記車両の移動量を示すオドメトリ情報を算出し、
     前記車両のオドメトリ情報から、前記複数の画像間のホモグラフィ行列の初期値を算出し、
     前記初期値、及び、前記複数の画像に対して指定された路面領域に含まれる各画素の輝度値から、前記ホモグラフィ行列の最適値を繰り返し計算により算出し、
     前記最適値を分解して、前記車載カメラについてのカメラ位置の変化量及びカメラ姿勢の変化量を算出し、
     前記カメラ位置の変化量及び前記カメラ姿勢の変化量から、前記複数の画像における特徴点の3次元位置を算出することを、
     コンピュータに実行させるための地図作成プログラム。
PCT/JP2022/040838 2021-10-29 2022-10-31 地図作成装置、地図作成方法、及び地図作成プログラム Ceased WO2023074907A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/691,587 US20240386598A1 (en) 2021-10-29 2022-10-31 Map creation device, map creation method, and map creation program
EP22887232.1A EP4425430A4 (en) 2021-10-29 2022-10-31 CARD GENERATING DEVICE, CARD GENERATING METHOD AND CARD GENERATING PROGRAM
CN202280063240.9A CN117957569A (zh) 2021-10-29 2022-10-31 地图制作装置、地图制作方法以及地图制作程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021178338A JP7714436B2 (ja) 2021-10-29 2021-10-29 地図作成装置、地図作成方法、及び地図作成プログラム
JP2021-178338 2021-10-29

Publications (1)

Publication Number Publication Date
WO2023074907A1 true WO2023074907A1 (ja) 2023-05-04

Family

ID=86158106

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/040838 Ceased WO2023074907A1 (ja) 2021-10-29 2022-10-31 地図作成装置、地図作成方法、及び地図作成プログラム

Country Status (5)

Country Link
US (1) US20240386598A1 (ja)
EP (1) EP4425430A4 (ja)
JP (1) JP7714436B2 (ja)
CN (1) CN117957569A (ja)
WO (1) WO2023074907A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025204954A1 (ja) * 2024-03-29 2025-10-02 オムロン株式会社 オドメトリパラメータ較正装置、方法、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230158335A (ko) * 2022-05-11 2023-11-20 현대자동차주식회사 차량 및 그 제어 방법
US12482128B2 (en) * 2022-08-17 2025-11-25 Gm Cruise Holdings Llc Identifying stability of an object based on surface normal vectors

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015100065A (ja) * 2013-11-20 2015-05-28 キヤノン株式会社 画像処理装置、その制御方法、および制御プログラム、並びに撮像装置
JP2021178338A (ja) 2020-05-12 2021-11-18 株式会社ディスコ レーザー加工方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015100065A (ja) * 2013-11-20 2015-05-28 キヤノン株式会社 画像処理装置、その制御方法、および制御プログラム、並びに撮像装置
JP2021178338A (ja) 2020-05-12 2021-11-18 株式会社ディスコ レーザー加工方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
See also references of EP4425430A4
STEVEN LOVEGROVE ; ANDREW J. DAVISON ; JAVIER IBANEZ-GUZMAN: "Accurate visual odometry from a rear parking camera", INTELLIGENT VEHICLES SYMPOSIUM (IV), 2011 IEEE, 5 June 2011 (2011-06-05), pages 788 - 793, XP031999056, ISBN: 978-1-4577-0890-9, DOI: 10.1109/IVS.2011.5940546 *
STEVEN LOVEGROVEANDREW J. DAVISONJAVIER IBANEZ-GUZMAN: "Accurate Visual Odometry from a Rear Parking Camera", INTELLIGENT VEHICLES SYMPOSIUM, 2011

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2025204954A1 (ja) * 2024-03-29 2025-10-02 オムロン株式会社 オドメトリパラメータ較正装置、方法、及びプログラム

Also Published As

Publication number Publication date
EP4425430A4 (en) 2025-02-12
EP4425430A1 (en) 2024-09-04
JP2023067265A (ja) 2023-05-16
JP7714436B2 (ja) 2025-07-29
US20240386598A1 (en) 2024-11-21
CN117957569A (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
CN112183241B (zh) 基于单目图像的目标检测方法和装置
CN110264520B (zh) 车载传感器与车辆位姿关系标定方法、装置、设备和介质
WO2023074907A1 (ja) 地図作成装置、地図作成方法、及び地図作成プログラム
CN110119698B (zh) 用于确定对象状态的方法、装置、设备和存储介质
WO2021093240A1 (en) Method and system for camera-lidar calibration
CN107111879B (zh) 通过全景环视图像估计车辆自身运动的方法和设备
CN114217665B (zh) 一种相机和激光雷达时间同步方法、装置及存储介质
CN114144809A (zh) 通过摄像机进行交通工具环境建模
JP6003673B2 (ja) 3次元位置推定装置、車両制御装置、および3次元位置推定方法
CN108845335A (zh) 一种基于图像和导航信息的无人机地面目标定位方法
CN107636679A (zh) 一种障碍物检测方法及装置
CN112219225A (zh) 定位方法、系统及可移动平台
JP7408236B2 (ja) 位置推定方法及び位置推定装置
CN116092050B (zh) 机动车障碍物检测方法、装置及计算机可读存储介质
CN118149797B (zh) 栅格地图构建方法、装置、计算机设备及存储介质
JP6724834B2 (ja) 表示装置の制御方法および表示装置
CN115222815A (zh) 障碍物距离检测方法、装置、计算机设备和存储介质
WO2022202915A1 (ja) 自律走行車及び自律走行車の自己位置推定方法
JP7643428B2 (ja) 位置推定システム、位置推定方法、及びプログラム
WO2022133986A1 (en) Accuracy estimation method and system
CN114648576A (zh) 一种目标车辆的定位方法、装置以及系统
CN121254246B (zh) 激光雷达外参的标定方法、设备、可读介质及程序产品
KR102878417B1 (ko) 3차원 메쉬 생성 장치 및 방법
JP7564742B2 (ja) 情報処理装置及び情報処理方法
US20260024226A1 (en) Information processing device, information processing method, and computer-readable medium

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: 22887232

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18691587

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202280063240.9

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2022887232

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022887232

Country of ref document: EP

Effective date: 20240529