WO2023188046A1 - 画像処理装置、画像処理方法、及び画像処理プログラム - Google Patents

画像処理装置、画像処理方法、及び画像処理プログラム Download PDF

Info

Publication number
WO2023188046A1
WO2023188046A1 PCT/JP2022/015730 JP2022015730W WO2023188046A1 WO 2023188046 A1 WO2023188046 A1 WO 2023188046A1 JP 2022015730 W JP2022015730 W JP 2022015730W WO 2023188046 A1 WO2023188046 A1 WO 2023188046A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
unit
image
determining
past
Prior art date
Application number
PCT/JP2022/015730
Other languages
English (en)
French (fr)
Inventor
和将 大橋
正人 鈴木
Original Assignee
株式会社ソシオネクスト
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 株式会社ソシオネクスト filed Critical 株式会社ソシオネクスト
Priority to PCT/JP2022/015730 priority Critical patent/WO2023188046A1/ja
Publication of WO2023188046A1 publication Critical patent/WO2023188046A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast

Definitions

  • the present invention relates to an image processing device, an image processing method, and an image processing program.
  • the bird's-eye view image when the projection plane of the bird's-eye view image is successively deformed according to three-dimensional objects around the moving object, for example, when starting the engine some time after parking the vehicle, the bird's-eye view image may become unnatural.
  • the present invention provides an image processing device and an image processing method that provide a more natural bird's-eye view image than conventional ones when the projection plane of the bird's-eye view image is successively transformed according to three-dimensional objects around a moving body. , and an image processing program.
  • the image processing device disclosed in the present application includes a determining unit that determines first information regarding deformation of a projection surface on which a peripheral image of a moving object is projected; the determining unit includes an information holding unit that stores past second information used in determining the first information, and the determining unit stores the past second information used in determining the first information, and The first information is determined based on the second information.
  • a bird's-eye view image that is more natural than the conventional one can be provided. Can be done.
  • FIG. 1 is a diagram illustrating an example of the overall configuration of an information processing system according to an embodiment.
  • FIG. 2 is a diagram illustrating an example of the hardware configuration of the information processing device according to the embodiment.
  • FIG. 3 is a diagram illustrating an example of the functional configuration of the information processing device according to the embodiment.
  • FIG. 4 is a schematic diagram showing an example of environmental map information according to the embodiment.
  • FIG. 5 is a schematic diagram showing an example of the functional configuration of the determining section.
  • FIG. 6 is a schematic diagram showing an example of a reference projection plane.
  • FIG. 7 is an explanatory diagram of the asymptotic curve Q generated by the determining section.
  • FIG. 8 is a schematic diagram showing an example of the projected shape determined by the determination unit.
  • FIG. 1 is a diagram illustrating an example of the overall configuration of an information processing system according to an embodiment.
  • FIG. 2 is a diagram illustrating an example of the hardware configuration of the information processing device according to the embodiment.
  • FIG. 3 is
  • FIG. 9 is a diagram showing an example of the situation around the moving object when the moving object has completed backward parking.
  • FIG. 10 is a diagram showing an example of the situation around the moving object after a predetermined period of time has passed since the moving object was parked in reverse.
  • FIG. 11 is a diagram for explaining the information accumulation process executed in the projection plane deformation optimization process according to the embodiment.
  • FIG. 12 is a flowchart showing the flow of information selection processing executed in the projection plane deformation optimization processing according to the embodiment.
  • FIG. 13 is a flowchart illustrating an example of the flow of overhead image generation processing including projection shape optimization processing according to the embodiment.
  • FIG. 1 is a diagram showing an example of the overall configuration of an information processing system 1 according to the present embodiment.
  • the information processing system 1 includes an information processing device 10, an imaging section 12, a detection section 14, and a display section 16.
  • the information processing device 10, the imaging section 12, the detection section 14, and the display section 16 are connected to be able to exchange data or signals.
  • the information processing device 10 is an example of an image processing device.
  • the information processing method executed by the information processing device 10 is an example of an image processing method
  • the information processing program used by the information processing device 10 to execute the information processing method is an example of an image processing program.
  • the information processing device 10 the imaging unit 12, the detection unit 14, and the display unit 16 will be described as being mounted on the moving object 2, as an example.
  • the moving body 2 is a movable object.
  • the mobile object 2 is, for example, a vehicle, a flyable object (a manned airplane, an unmanned airplane (for example, a UAV (Unmanned Aerial Vehicle), a drone)), a robot, or the like.
  • the moving object 2 is, for example, a moving object that moves through a human driving operation, or a moving object that can move automatically (autonomously) without a human driving operation.
  • a case where the moving object 2 is a vehicle will be described as an example.
  • the vehicle is, for example, a two-wheeled vehicle, a three-wheeled vehicle, a four-wheeled vehicle, or the like.
  • a case where the vehicle is a four-wheeled vehicle capable of autonomous driving will be described as an example.
  • the information processing device 10 may be mounted on a stationary object, for example.
  • a stationary object is an object that is fixed to the ground.
  • Stationary objects are objects that cannot be moved or objects that are stationary relative to the ground. Examples of stationary objects include traffic lights, parked vehicles, road signs, and the like.
  • the information processing device 10 may be installed in a cloud server that executes processing on the cloud.
  • the photographing unit 12 photographs the surroundings of the moving body 2 and obtains photographed image data.
  • the captured image data will be simply referred to as a captured image.
  • the photographing unit 12 is, for example, a digital camera capable of photographing moving images, such as a monocular fisheye camera with a viewing angle of about 195 degrees.
  • photographing refers to converting an image of a subject formed by an optical system such as a lens into an electrical signal.
  • the photographing unit 12 outputs the photographed image to the information processing device 10.
  • the moving body 2 is equipped with four imaging units 12: a front imaging unit 12A, a left imaging unit 12B, a right imaging unit 12C, and a rear imaging unit 12D.
  • the plurality of imaging units 12 (front imaging unit 12A, left imaging unit 12B, right imaging unit 12C, and rear imaging unit 12D) each have imaging areas E in different directions (front imaging area E1, left imaging area E2, The subject is photographed in the right photographing area E3 and the rear photographing area E4), and a photographed image is obtained. That is, it is assumed that the plurality of photographing units 12 have mutually different photographing directions.
  • the photographing directions of these plurality of photographing units 12 are adjusted in advance so that at least a part of the photographing area E overlaps between adjacent photographing units 12 .
  • the imaging area E is shown in the size shown in FIG. 1, but in reality, it includes an area further away from the moving body 2.
  • the four front photographing sections 12A, left photographing section 12B, right photographing section 12C, and rear photographing section 12D are just one example, and there is no limit to the number of photographing sections 12.
  • the moving body 2 has a vertically long shape such as a bus or a truck
  • the front, rear, front of the right side, rear of the right side, front of the left side, and rear of the left side of the moving body 2 are each
  • a total of six imaging units 12 by arranging one imaging unit 12 at a time. That is, depending on the size and shape of the moving body 2, the number and arrangement positions of the imaging units 12 can be arbitrarily set.
  • the detection unit 14 detects position information of each of a plurality of detection points around the moving body 2. In other words, the detection unit 14 detects the position information of each detection point in the detection area F.
  • the detection point refers to each point individually observed by the detection unit 14 in real space.
  • the detection point corresponds to a three-dimensional object around the moving body 2, for example.
  • the detection unit 14 is an example of an external sensor.
  • the detection unit 14 is, for example, a 3D (Three-Dimensional) scanner, a 2D (Two-Dimensional) scanner, a distance sensor (millimeter wave radar, laser sensor), a sonar sensor that detects an object using sound waves, an ultrasonic sensor, or the like.
  • the laser sensor is, for example, a three-dimensional LiDAR (Laser imaging Detection and Ranging) sensor.
  • the detection unit 14 may be a device that uses a technique for measuring distance from an image taken with a stereo camera or a monocular camera, such as SfM (Structure from Motion) technique.
  • a plurality of imaging units 12 may be used as the detection unit 14. Further, one of the plurality of imaging units 12 may be used as the detection unit 14.
  • the display unit 16 displays various information.
  • the display unit 16 is, for example, an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display.
  • the information processing device 10 is communicably connected to an electronic control unit (ECU) 3 mounted on the mobile body 2.
  • the ECU 3 is a unit that performs electronic control of the moving body 2.
  • the information processing device 10 is assumed to be able to receive CAN (Controller Area Network) data such as the speed and moving direction of the moving object 2 from the ECU 3.
  • CAN Controller Area Network
  • FIG. 2 is a diagram showing an example of the hardware configuration of the information processing device 10.
  • the information processing device 10 includes a CPU (Central Processing Unit) 10A, a ROM (Read Only Memory) 10B, a RAM (Random Access Memory) 10C, and an I/F (InterFac). e) 10D, for example a computer.
  • the CPU 10A, ROM 10B, RAM 10C, and I/F 10D are interconnected by a bus 10E, and have a hardware configuration using a normal computer.
  • the CPU 10A is a calculation device that controls the information processing device 10.
  • the CPU 10A corresponds to an example of a hardware processor.
  • the ROM 10B stores programs and the like that implement various processes by the CPU 10A.
  • the RAM 10C stores data necessary for various processing by the CPU 10A.
  • the I/F 10D is an interface for connecting to the photographing section 12, the detecting section 14, the display section 16, the ECU 3, etc., and for transmitting and receiving data.
  • a program for executing information processing executed by the information processing device 10 of this embodiment is provided by being pre-installed in the ROM 10B or the like.
  • the program executed by the information processing device 10 of this embodiment may be configured to be recorded on a recording medium and provided as a file in an installable or executable format on the information processing device 10.
  • the recording medium is a computer readable medium. Recording media include CD (Compact Disc)-ROM, flexible disk (FD), CD-R (Recordable), DVD (Digital Versatile Disk), USB (Universal Serial Bus) memory, and SD (Serial Bus) memory. cure (Digital) card, etc.
  • the information processing device 10 simultaneously estimates the surrounding position information of the mobile body 2 and the self-position information of the mobile body 2 from the photographed image photographed by the photographing unit 12 through VSLAM processing.
  • the information processing device 10 connects a plurality of spatially adjacent captured images to generate and display a composite image (overview image) that provides a bird's-eye view of the surroundings of the moving object 2.
  • at least one of the imaging units 12 is used as the detection unit 14, and the detection unit 14 processes images acquired from the imaging unit 12.
  • FIG. 3 is a diagram showing an example of the functional configuration of the information processing device 10. Note that, in addition to the information processing device 10, the photographing section 12 and the display section 16 are illustrated in FIG. 3 in order to clarify the data input/output relationship.
  • the information processing device 10 executes projection plane deformation optimization processing.
  • the projection plane deformation optimization process is a process that accumulates past information used for projection plane deformation and makes the accumulated past information available for projection plane deformation when the moving object 2 starts operating. It is. This projection plane deformation optimization process will be explained in detail later.
  • the information processing device 10 includes an acquisition section 20, a selection section 21, an image comparison section 22, a VSLAM processing section 24, a distance conversion section 27, a projected shape determination section 29 having an information storage section 308, and an image generation section. 37.
  • a part or all of the plurality of units described above may be realized by, for example, causing a processing device such as the CPU 10A to execute a program, that is, by software. Further, some or all of the plurality of units described above may be realized by hardware such as an IC (Integrated Circuit), or may be realized by using a combination of software and hardware.
  • the acquisition section 20 acquires a photographed image from the photographing section 12. That is, the acquisition unit 20 acquires captured images from each of the front imaging unit 12A, left imaging unit 12B, right imaging unit 12C, and rear imaging unit 12D.
  • the acquisition unit 20 acquires a captured image, it outputs the acquired captured image to the projection conversion unit 36 and the selection unit 21.
  • the selection unit 21 selects the detection area of the detection point.
  • the selection unit 21 selects the detection area by selecting at least one imaging unit 12 from among the plurality of imaging units 12 (imaging units 12A to 12D).
  • the image comparison unit 22 through the acquisition unit 20, compares the front image, left image, right image, and rear image taken by the front imaging unit 12A, left imaging unit 12B, right imaging unit 12C, and rear imaging unit 12D. Images are sequentially input via the acquisition unit 20.
  • the image comparison unit 22 compares a first image that is associated with the first trigger and a second image that is associated with the second trigger among a plurality of images taken around the moving object 2. Calculate the degree of similarity with the second image. More specifically, the image comparison unit 22 compares the first image associated with the first trigger and the second image associated with the second trigger in each of the forward, left, right, and rear directions. 2. Calculate the degree of similarity with image No. 2.
  • the first trigger is a signal (information) indicating that the mobile body 2 is in a parking completion state, such as turning off the power of the mobile body 2 (operation end processing), or a parking completion state of the automatic parking mode of the mobile body 2.
  • the second trigger is a signal (information) that occurs after the first trigger, and is a signal (information) that is generated after the first trigger, such as turning on the power of the mobile body 2 (operation start-up processing), a movement start state of the mobile body 2, etc. This indicates that the vehicle is ready to start moving again after parking is completed.
  • the first trigger and the second trigger can be obtained from, for example, CAN data.
  • the image comparison unit 22 outputs an instruction based on the calculated degree of similarity to the information holding unit 308 included in the projection shape determination unit 29. More specifically, if the calculated degree of similarity in each direction exceeds a threshold, the image comparison unit 22 determines that the first image and the second image are similar, and the information storage unit 308 stores A first instruction for outputting neighboring point information is output to the information holding unit 308. Further, if the calculated degree of similarity in each direction is less than the threshold value, the image comparison unit 22 determines that the first image and the second image are not similar, and the information storage unit 308 stores nearby points. A second instruction for discarding the information is output to the information holding unit 308.
  • the VSLAM processing unit 24 generates first information including position information of three-dimensional objects surrounding the mobile body 2 and position information of the mobile body 2 based on images around the mobile body 2. That is, the VSLAM processing unit 24 receives the photographed image from the selection unit 21, performs VSLAM processing using the image to generate environmental map information, and outputs the generated environmental map information to the distance conversion unit 27.
  • the VSLAM processing unit 24 includes a matching unit 240, a storage unit 241, a self-position estimation unit 242, a three-dimensional restoration unit 243, and a correction unit 244.
  • the matching unit 240 performs a feature amount extraction process and a matching process between each image for a plurality of images taken at different timings (a plurality of images taken in different frames). Specifically, the matching unit 240 performs feature amount extraction processing from these plurality of captured images. The matching unit 240 performs a matching process for identifying corresponding points between a plurality of images taken at different timings, using feature amounts between the images. The matching section 240 outputs the matching processing result to the storage section 241.
  • the self-position estimating unit 242 uses the plurality of matching points obtained by the matching unit 240 to estimate the self-position relative to the photographed image by projective transformation or the like.
  • the self-position includes information on the position (three-dimensional coordinates) and inclination (rotation) of the imaging unit 12.
  • the self-position estimation unit 242 stores the self-position information as point group information in the environmental map information 241A.
  • the three-dimensional reconstruction unit 243 performs a perspective projection transformation process using the movement amount (translation amount and rotation amount) of the self-position estimated by the self-position estimating unit 242, and calculates the three-dimensional coordinates of the matching point (relative coordinates with respect to the self-position). ) to determine.
  • the three-dimensional restoration unit 243 stores the surrounding position information, which is the determined three-dimensional coordinates, as point group information in the environmental map information 241A.
  • new surrounding position information and new self-position information are sequentially added to the environmental map information 241A as the mobile body 2 on which the photographing unit 12 is mounted moves.
  • the storage unit 241 stores various data.
  • the storage unit 241 is, for example, a RAM, a semiconductor memory device such as a flash memory, a hard disk, an optical disk, or the like.
  • the storage unit 241 may be a storage device provided outside the information processing device 10.
  • the storage unit 241 may be a storage medium.
  • the storage medium may be one in which programs and various information are downloaded and stored or temporarily stored via a LAN (Local Area Network), the Internet, or the like.
  • LAN Local Area Network
  • the environmental map information 241A includes point cloud information, which is surrounding position information calculated by the three-dimensional reconstruction unit 243, and point cloud information calculated by the self-position estimation unit 242, in a three-dimensional coordinate space with a predetermined position in real space as the origin (reference position). This is information in which point cloud information, which is self-location information, is registered.
  • the predetermined position in real space may be determined, for example, based on preset conditions.
  • the predetermined position used in the environmental map information 241A is the self-position of the mobile body 2 when the information processing device 10 executes the information processing of this embodiment.
  • the information processing device 10 may set the self-position of the moving body 2 at the time when it is determined that the predetermined timing has come to be the predetermined position.
  • the information processing device 10 may determine that the predetermined timing has arrived when it determines that the behavior of the moving object 2 has become a behavior that indicates a parking scene.
  • the behavior indicating a parking scene due to backing up is, for example, when the speed of the moving object 2 falls below a predetermined speed, when the gear of the moving object 2 is put into reverse gear, or when a signal indicating the start of parking is generated by a user's operation instruction, etc. For example, if the application is accepted.
  • the predetermined timing is not limited to the parking scene.
  • FIG. 4 is a schematic diagram of an example of information on a specific height extracted from the environmental map information 241A.
  • the environmental map information 241A includes point cloud information that is the position information (surrounding position information) of each detection point P, and point cloud information that is the self-position information of the self-position S of the mobile object 2. and are information registered at corresponding coordinate positions in the three-dimensional coordinate space.
  • self-positions S1 to S3 are shown as an example. The larger the numerical value following S, the closer the self-position S is to the current timing.
  • the correction unit 244 calculates the total difference in distance in three-dimensional space between previously calculated three-dimensional coordinates and newly calculated three-dimensional coordinates for points that have been matched multiple times between multiple frames.
  • the surrounding position information and self-position information registered in the environmental map information 241A are corrected using, for example, the method of least squares so that .
  • the correction unit 244 may correct the movement amount (translation amount and rotation amount) of the self position used in the process of calculating the self position information and the surrounding position information.
  • the timing of the correction process by the correction unit 244 is not limited.
  • the correction unit 244 may perform the above correction processing at predetermined timings.
  • the predetermined timing may be determined, for example, based on preset conditions.
  • the information processing apparatus 10 will be described as an example in which the information processing apparatus 10 is configured to include the correction section 244.
  • the information processing device 10 may have a configuration that does not include the correction unit 244.
  • the distance conversion unit 27 converts the relative positional relationship between the self-position and the surrounding three-dimensional object, which can be known from the environmental map information, into the absolute value of the distance from the self-position to the surrounding three-dimensional object, and calculates the detection point of the surrounding three-dimensional object.
  • Distance information is generated and output to the determination unit 30.
  • the detection point distance information is information obtained by converting the measured distance (coordinates) to each of the plurality of detection points P calculated by offsetting the self-position to the coordinates (0, 0, 0), for example, in meters. It is. That is, the information on the self-position of the moving body 2 is included as the coordinates (0, 0, 0) of the origin in the detection point distance information.
  • vehicle state information such as speed data of the moving object 2 included in the CAN data sent out from the ECU 3 is used, for example.
  • vehicle state information such as speed data of the moving object 2 included in the CAN data sent out from the ECU 3
  • the relative positional relationship between the self-position S and the plurality of detection points P can be known, but the absolute value of the distance has not been calculated.
  • the distance between the self-position S3 and the self-position S2 can be determined based on the inter-frame period for calculating the self-position and the speed data during that period based on the vehicle state information.
  • the distance conversion unit 27 calculates the relative positional relationship between the self-position and the surrounding three-dimensional object by calculating the distance from the self-position to the surrounding three-dimensional object using the actual speed data of the moving object 2 included in the CAN data. Convert to absolute value.
  • the vehicle status information included in the CAN data and the environmental map information output from the VSLAM processing unit 24 can be correlated using time information. Further, when the detection unit 14 acquires distance information of the detection point P, the distance conversion unit 27 may be omitted.
  • the projection shape determining unit 29 determines the shape of a projection surface on which to project the image acquired by the photographing unit 12 mounted on the moving object 2 to generate an overhead image.
  • the projection plane is a three-dimensional plane on which the peripheral image of the moving body 2 is projected as an overhead image. Further, the peripheral image of the moving body 2 is a photographed image of the vicinity of the mobile body 2, and is a photographed image photographed by each of the photographing units 12A to 12D.
  • the projected shape of the projection plane is a three-dimensional (3D) shape virtually formed in a virtual space corresponding to real space. Furthermore, in the present embodiment, the determination of the projection shape of the projection plane executed by the projection shape determination unit 29 is referred to as projection shape determination processing.
  • the projected shape determining unit 29 includes a determining unit 30 having an information holding unit 308, a transforming unit 32, and a virtual viewpoint line of sight determining unit 34.
  • FIG. 5 is a schematic diagram showing an example of the functional configuration of the determining unit 30.
  • the determining unit 30 includes an extracting unit 305, a nearest neighbor identifying unit 307, an information holding unit 308, a reference projection plane shape selecting unit 309, a scale determining unit 311, and an asymptotic curve calculating unit. 313, a shape determining section 315, and a boundary region determining section 317.
  • the extraction unit 305 extracts detection points P existing within a specific range from among the plurality of detection points P whose measured distances have been received from the distance conversion unit 27, and generates a specific height extraction map.
  • the specific range is, for example, a range from the road surface on which the moving body 2 is placed to a height corresponding to the vehicle height of the moving body 2. Note that the range is not limited to this range.
  • the extraction unit 305 extracts the detection points P within the range and generates a specific height extraction map, so that, for example, an object that becomes an obstacle to the movement of the moving object 2 or an object located adjacent to the moving object 2 is detected.
  • the detection point P can be extracted.
  • the extraction unit 305 outputs the generated specific height extraction map to the nearest neighbor identification unit 307.
  • the nearest neighbor identification unit 307 divides the area around the self-position S of the moving body 2 into specific ranges (for example, angular ranges) using the specific height extraction map, and divides the area around the self-position S of the moving body 2 into specific ranges (for example, angle ranges), and divides the area around the self-position S of the moving body 2 into the detection point P closest to the moving body 2, Alternatively, a plurality of detection points P are identified in order of proximity to the mobile object 2, and neighboring point information is generated. In the present embodiment, an example will be described in which the nearest neighbor identifying unit 307 identifies a plurality of detection points P in order of proximity to the moving body 2 for each range and generates neighbor point information.
  • the nearest neighbor specifying unit 307 outputs the measured distance of the detection point P specified for each range as neighboring point information to the information holding unit 308.
  • the information holding unit 308 accumulates past neighboring point information (second information) used to determine projection plane shape information (first information), and stores the accumulated past neighboring point information (second information).
  • second information used to determine projection plane shape information
  • second information stored in the projection plane deformation optimization process.
  • the point information is output to the subsequent reference projection plane shape selection section 309, scale determination section 311, asymptotic curve calculation section 313, and boundary area determination section 317.
  • the information holding unit 308 holds nearby point information corresponding to the end of the operation of the mobile body 2 in response to the first trigger included in the CAN data from the ECU.
  • the information holding unit 308 applies the held neighboring point information to the reference projection plane shape selection unit 309, the scale determination unit 311, the asymptotic curve calculation unit 313, and the boundary area determination unit. Output to 317.
  • the information holding unit 308 discards the held neighboring point information in response to the second instruction from the image comparing unit 22.
  • the neighboring point information is acquired as the position of neighboring points at intervals of 90 degrees in four directions of the moving body 2: front, left, right, and rear. shall be carried out. It is also assumed that the information holding unit 308 receives the first instruction and the second instruction from the image comparison unit 22 for each direction. Therefore, the information holding unit 308 outputs or discards the neighboring point information held for each direction.
  • the information holding unit 308 uses new neighboring point information based on the environment map information newly generated by the VSLAM process to select the reference projection plane shape in the subsequent stage.
  • unit 309 scale determining unit 311 , asymptotic curve calculating unit 313 , and boundary region determining unit 317 .
  • the information holding unit 308 stores, as second information, past neighboring point information used to determine the projection plane shape information, as well as point cloud information that is the positional information of each detection point P (surrounding positional information). may be stored.
  • the reference projection plane shape selection unit 309 selects the shape of the reference projection plane.
  • FIG. 6 is a schematic diagram showing an example of the reference projection plane 40.
  • the reference projection plane will be explained with reference to FIG.
  • the reference projection plane 40 is, for example, a projection plane having a shape that serves as a reference when changing the shape of the projection plane.
  • the shape of the reference projection plane 40 is, for example, a bowl shape, a cylinder shape, or the like. Note that FIG. 6 illustrates a bowl-shaped reference projection plane 40. As shown in FIG.
  • the bowl shape has a bottom surface 40A and a side wall surface 40B, one end of the side wall surface 40B is continuous with the bottom surface 40A, and the other end is open.
  • the width of the horizontal cross section of the side wall surface 40B increases from the bottom surface 40A side toward the opening side of the other end.
  • the bottom surface 40A is, for example, circular.
  • the circular shape includes a perfect circle and a circular shape other than a perfect circle, such as an ellipse.
  • the horizontal cross section is an orthogonal plane that is orthogonal to the vertical direction (arrow Z direction).
  • the orthogonal plane is a two-dimensional plane along the arrow X direction that is orthogonal to the arrow Z direction, and the arrow Y direction that is orthogonal to the arrow Z direction and the arrow X direction.
  • the horizontal cross section and the orthogonal plane may be referred to as the XY plane below.
  • the bottom surface 40A may have a shape other than a circular shape, such as an egg shape.
  • the cylindrical shape is a shape consisting of a circular bottom surface 40A and a side wall surface 40B continuous to the bottom surface 40A.
  • the side wall surface 40B constituting the cylindrical reference projection surface 40 has a cylindrical shape with an opening at one end continuous with the bottom surface 40A and an open end at the other end.
  • the side wall surface 40B constituting the cylindrical reference projection surface 40 has a shape in which the diameter in the XY plane is approximately constant from the bottom surface 40A side toward the opening side of the other end.
  • the bottom surface 40A may have a shape other than a circular shape, such as an egg shape.
  • the reference projection plane 40 is a three-dimensional model that is virtually formed in a virtual space with a bottom surface 40A that substantially coincides with the road surface below the moving object 2, and a self-position S of the moving object 2 at the center of the bottom surface 40A. be.
  • the reference projection plane shape selection unit 309 selects the shape of the reference projection plane 40 by reading one specific shape from a plurality of types of reference projection planes 40. For example, the reference projection plane shape selection unit 309 selects the shape of the reference projection plane 40 based on the positional relationship and distance between the self position and surrounding three-dimensional objects. Note that the shape of the reference projection plane 40 may be selected based on the user's operational instructions.
  • the reference projection plane shape selection unit 309 outputs the determined shape information of the reference projection plane 40 to the shape determination unit 315. In this embodiment, as described above, the reference projection plane shape selection unit 309 will be described as an example in which the bowl-shaped reference projection plane 40 is selected.
  • the scale determination unit 311 determines the scale of the reference projection plane 40 of the shape selected by the reference projection plane shape selection unit 309.
  • the scale determination unit 311 determines, for example, to reduce the scale when the distance from the self-position S to a nearby point is shorter than a predetermined distance.
  • the scale determining unit 311 outputs scale information of the determined scale to the shape determining unit 315.
  • the asymptotic curve calculation unit 313 calculates an asymptotic curve of the surrounding position information with respect to the self-position based on the surrounding position information of the moving object 2 and the self-position information included in the environmental map information.
  • the asymptotic curve calculation unit 313 uses the distances of the detection point P closest to the self-position S for each range from the self-position S received from the information holding unit 308 to calculate asymptotic curve information of the calculated asymptotic curve Q. , is output to the shape determining unit 315 and the virtual viewpoint line of sight determining unit 34.
  • FIG. 7 is an explanatory diagram of the asymptotic curve Q generated by the determining unit 30.
  • the asymptotic curve is an asymptotic curve of a plurality of detection points P in the environmental map information.
  • FIG. 7 is an example in which an asymptotic curve Q is shown in a projection image obtained by projecting a captured image onto a projection plane when the moving body 2 is viewed from above.
  • the determining unit 30 has identified three detection points P in order of proximity to the self-position S of the moving body 2.
  • the determining unit 30 generates an asymptotic curve Q of these three detection points P.
  • the asymptotic curve calculation unit 313 calculates a representative point located at the center of gravity of the plurality of detection points P for each specific range (for example, angular range) of the reference projection plane 40, and calculates the asymptote to the representative point for each of the plurality of ranges. A curve Q may also be calculated. Then, the asymptotic curve calculation unit 313 outputs the asymptotic curve information of the calculated asymptotic curve Q to the shape determination unit 315. Note that the asymptotic curve calculation unit 313 may output asymptotic curve information of the calculated asymptotic curve Q to the virtual viewpoint line of sight determination unit 34.
  • the shape determination unit 315 enlarges or reduces the reference projection plane 40 having the shape indicated by the shape information received from the reference projection plane shape selection unit 309 to the scale of the scale information received from the scale determination unit 311. Then, the shape determining unit 315 deforms the expanded or contracted reference projection plane 40 so that it follows the asymptotic curve information of the asymptotic curve Q received from the asymptotic curve calculating unit 313. Determine the projected shape.
  • FIG. 8 is a schematic diagram showing an example of the projected shape 41 determined by the determining unit 30.
  • the shape determining unit 315 transforms the reference projection plane 40 into a shape that passes through the detection point P closest to the self-position S of the moving body 2, which is the center of the bottom surface 40A of the reference projection plane 40.
  • the shape is determined as a projected shape 41.
  • the shape passing through the detection point P means that the side wall surface 40B after deformation has a shape passing through the detection point P.
  • the self-position S is the self-position S calculated by the self-position estimation unit 242.
  • the shape determining unit 315 changes the bottom surface so that when the reference projection plane 40 is deformed, a part of the side wall surface 40B becomes a wall surface passing through the detection point P closest to the moving body 2.
  • the deformed shape of the partial region of the side wall surface 40A and the side wall surface 40B is determined as the projected shape 41.
  • the projected shape 41 after deformation is, for example, a shape that rises from the rising line 44 on the bottom surface 40A in a direction approaching the center of the bottom surface 40A from the viewpoint of the XY plane (planar view).
  • Raising means, for example, moving a part of the side wall surface 40B and the bottom surface 40A of the reference projection plane 40 closer to the center of the bottom surface 40A so that the angle between the side wall surface 40B and the bottom surface 40A becomes smaller. It means to bend or bend in a direction.
  • the rising line 44 may be located between the bottom surface 40A and the side wall surface 40B, and the bottom surface 40A may remain undeformed.
  • the shape determining unit 315 determines to deform the specific area on the reference projection plane 40 so as to protrude to a position passing the detection point P from the perspective of the XY plane (planar view). The shape and range of the specific area may be determined based on predetermined criteria. Then, the shape determining unit 315 deforms the reference projection plane 40 so that the distance from the self-position S continuously increases from the protruding specific area toward an area other than the specific area on the side wall surface 40B. The shape will be determined as follows. Note that the shape determining section 315 is an example of a projected shape determining section.
  • the projected shape 41 it is preferable to determine the projected shape 41 so that the outer periphery of the cross section along the XY plane has a curved shape.
  • the shape of the outer periphery of the cross section of the projected shape 41 is, for example, circular, but may be a shape other than circular.
  • the shape determining unit 315 may determine, as the projected shape 41, a shape obtained by deforming the reference projection plane 40 so as to follow an asymptotic curve.
  • the shape determination unit 315 generates an asymptotic curve of a predetermined number of detection points P in a direction away from the detection point P closest to the self-position S of the moving body 2 .
  • the number of detection points P may be plural.
  • the number of detection points P is preferably three or more.
  • the shape determination unit 315 generates asymptotic curves of a plurality of detection points P located at positions separated from the self-position S by a predetermined angle or more.
  • the shape determining unit 315 can determine, as the projected shape 41, a shape obtained by deforming the reference projection plane 40 so as to follow the generated asymptotic curve Q. .
  • the shape determining unit 315 divides the area around the self-position S of the mobile body 2 into specific ranges, and for each range, detects the detection point P closest to the mobile body 2 or a plurality of detection points in order of proximity to the mobile body 2.
  • the detection point P may be specified.
  • the shape determination unit 315 deforms the reference projection plane 40 so that it passes through the detection point P specified for each range or a shape that follows the asymptotic curve Q of the specified plurality of detection points P. It may also be determined as the projected shape 41.
  • the shape determining unit 315 outputs the projected shape information of the determined projected shape 41 to the transforming unit 32.
  • the deformation unit 32 deforms the projection plane based on the projection shape information received from the determination unit 30. This modification of the reference projection plane is performed using, for example, the detection point P closest to the moving body 2 as a reference.
  • the deformation unit 32 outputs the deformed projection plane information to the projection conversion unit 36.
  • the deformation unit 32 deforms the reference projection plane into a shape along an asymptotic curve of a predetermined number of detection points P in order of proximity to the moving body 2, based on the projection shape information.
  • the virtual viewpoint line-of-sight determining unit 34 determines virtual viewpoint line-of-sight information based on the self-position and asymptotic curve information, and outputs it to the projection conversion unit 36.
  • the virtual viewpoint line-of-sight determination unit 34 determines, for example, a direction passing through the detection point P closest to the self-position S of the moving body 2 and perpendicular to the deformed projection plane as the line-of-sight direction. Further, the virtual viewpoint line-of-sight determination unit 34 fixes the direction of the line-of-sight direction L, and sets the coordinates of the virtual viewpoint O to an arbitrary Z coordinate and an arbitrary coordinate in a direction away from the asymptotic curve Q toward the self-position S. Determine as XY coordinates.
  • the XY coordinates may be coordinates at a position farther from the asymptotic curve Q than the self-position S.
  • the virtual viewpoint line-of-sight determination unit 34 outputs virtual viewpoint line-of-sight information indicating the virtual viewpoint O and the line-of-sight direction L to the projection conversion unit 36.
  • the line-of-sight direction L may be a direction from the virtual viewpoint O toward the position of the apex W of the asymptotic curve Q.
  • the image generation unit 37 generates an overhead image of the vicinity of the moving body 2 using the projection plane.
  • the image generation section 37 includes a projection conversion section 36 and an image composition section 38.
  • the projection conversion unit 36 generates a projection image by projecting the photographed image obtained from the photographing unit 12 onto the deformed projection plane based on the deformed projection plane information and the virtual viewpoint line-of-sight information.
  • the projection conversion unit 36 converts the generated projection image into a virtual viewpoint image and outputs the virtual viewpoint image to the image synthesis unit 38.
  • the virtual viewpoint image is an image obtained by viewing a projected image in an arbitrary direction from a virtual viewpoint.
  • the projection image generation process by the projection conversion unit 36 will be described in detail with reference to FIG. 8.
  • the projection conversion unit 36 projects the photographed image onto the modified projection surface 42 .
  • the projection conversion unit 36 generates a virtual viewpoint image (not shown), which is an image obtained by viewing the photographed image projected on the modified projection surface 42 from an arbitrary virtual viewpoint O in the line-of-sight direction L (not shown).
  • the position of the virtual viewpoint O may be, for example, the self-position S of the moving body 2 (used as a reference for the projection plane deformation process).
  • the values of the XY coordinates of the virtual viewpoint O may be used as the values of the XY coordinates of the self-position of the moving body 2.
  • the value of the Z coordinate (vertical position) of the virtual viewpoint O may be set as the value of the Z coordinate of the detection point P closest to the self-position of the moving body 2.
  • the viewing direction L may be determined, for example, based on predetermined criteria.
  • the viewing direction L may be, for example, a direction from the virtual viewpoint O toward the detection point P closest to the self-position S of the moving body 2. Further, the viewing direction L may be a direction passing through the detection point P and perpendicular to the deformed projection plane 42. Virtual viewpoint line-of-sight information indicating the virtual viewpoint O and the line-of-sight direction L is created by the virtual viewpoint line-of-sight determination unit 34.
  • the image composition unit 38 generates a composite image by extracting part or all of the virtual viewpoint image.
  • the image synthesis unit 38 performs a process of joining a plurality of virtual viewpoint images (here, four virtual viewpoint images corresponding to the imaging units 12A to 12D) in the boundary area between the imaging units.
  • the image composition unit 38 outputs the generated composite image to the display unit 16.
  • the composite image may be a bird's-eye view image with the virtual viewpoint O above the moving body 2, or one in which the inside of the moving body 2 is set as the virtual viewpoint O and the moving body 2 is displayed semitransparently.
  • FIG. 10 is a diagram showing an example of the surrounding situation when the moving body 2 starts operating (starting).
  • Car1 exists in the parking area C1 on the right side as viewed from the driver of the mobile object 2
  • a wall WA exists behind the mobile object 2
  • the parking area C2 is in an empty state.
  • Car1 and the wall WA exist in the vicinity of the moving object 2, in order to obtain a natural bird's-eye view image, it is necessary to perform projection plane deformation processing based on surrounding position information.
  • VSLAM processing using an image (monocular image) acquired from one of the imaging units 12 mounted in each direction of the moving body 2 is used to calculate the surrounding position information. . Therefore, immediately after the moving body 2 starts operating, surrounding position information cannot be calculated until the moving body 2 moves. This is because VSLAM processing using monocular images uses the principle of motion stereo in which triangulation is performed between images that are sequentially obtained in the time direction as the moving object 2 moves and whose acquisition positions are slightly different.
  • the nearby point information at the time of parking completion is held in the information holding unit 308 included in the determining unit 30, for example. Then, during the period when the mobile body 2 starts operating (starts) and until new surrounding position information is obtained due to the movement of the mobile body 2, the information processing device 10 stores the parking completion data stored in the information storage unit 308. By using information on neighboring points at the time, it becomes possible to perform projection plane deformation processing.
  • FIG. 9 is a diagram showing an example of the surrounding situation of the moving object 2 when the moving object 2 completes backward parking, before the elapse of a predetermined period of time from FIG. In FIG. 9, Car2 exists in parking area C2.
  • the image comparison unit 22 compares images of the front, left, right, and rear when parking is completed and images of the front, left, right, and rear when the operation is started.
  • the degree of similarity is calculated by comparing the images with each other. As a result, it is determined that the surrounding situation in the direction where the similarity is lower than the threshold value has changed since the time of parking completion, the neighboring point information at the time of parking completion is discarded, and the asymptotic curve is created using the neighboring point information in the remaining direction. Recalculate and redetermine the projection plane shape.
  • the projection plane shape can be determined depending on the presence or absence of a change in the surrounding situation. Therefore, when the moving body 2 starts operating, it is possible to provide a more natural bird's-eye view image than in the past.
  • FIG. 11 is a flowchart showing the flow of information accumulation processing executed in the projection plane deformation optimization processing according to the embodiment. Note that the information accumulation process is executed, for example, when parking of the mobile object 2 is completed or at the timing when the power is turned off (operation end process).
  • a photographed image is acquired by the photographing unit 12 (step S1).
  • the VSLAM processing unit 24 and the like calculate detection point distance information by VSLAM processing using the photographed image (step S2).
  • the projection shape determination unit 29 deforms the projection plane using the acquired detection point distance information (step S3).
  • the image generation unit 37 generates an overhead image using the deformed projection plane (step S4).
  • the generated bird's-eye view image is displayed on the display unit 16.
  • the information processing device 10 determines whether or not to end the overhead image generation process (step S5).
  • step S5 If the information processing device 10 determines not to end the bird's-eye view image generation process (No in step S5), the processes in steps S1 to S5 are repeatedly executed.
  • step S5 determines to end the bird's-eye view image generation process (Yes in step S5)
  • the image comparison unit 22 converts the photographed image (first image) associated with the first trigger into the direction
  • the projection shape determining unit 29 accumulates neighboring point information associated with the first trigger for each direction (step S6).
  • FIG. 12 is a flowchart showing the flow of information selection processing executed in the projection plane deformation optimization processing according to the embodiment. Such information selection processing is executed, for example, at the timing when the moving body 2 starts operating. Note that the following steps S10 to S14 are executed in each direction of the front, left, right, and rear of the moving body 2.
  • the photographing unit 12 acquires photographed images (second images) for each direction in response to the second trigger included in the CAN data from the ECU (step S10).
  • the image comparison unit 22 compares the captured image associated with the second trigger and the accumulated captured image associated with the first trigger (step S11). That is, the image comparison unit 22 calculates the degree of similarity between the captured image associated with the second trigger and the accumulated captured image associated with the first trigger.
  • the image comparison unit 22 determines whether the degree of similarity is less than or equal to a predetermined threshold (step S12).
  • the image comparison unit 22 determines that the degree of similarity is less than or equal to the predetermined threshold (Yes in step S12), it outputs a second instruction to the information storage unit 308 to discard the accumulated neighboring point information.
  • the information holding unit 308 discards the accumulated data, which is the neighboring point information, based on the second instruction received from the image comparison unit 22 (step S13). Thereafter, projection plane deformation and overhead image generation are performed using the newly acquired neighboring point information.
  • the image comparison unit 22 determines that the degree of similarity is not less than the predetermined threshold (No in step S12)
  • the image comparison unit 22 instructs the information storage unit to output the accumulated data, which is the accumulated neighboring point information. 308.
  • the information holding unit 308 outputs the accumulated neighboring point information based on the first instruction received from the image comparison unit 22 (step S14).
  • the projection shape determining unit 29 transforms the projection plane using the neighboring point information in each direction acquired from the information holding unit 308 (step S15). In addition, since the number of neighboring points in the direction where the accumulated data was discarded is zero, the shape of the projection plane is determined by determining the scale, calculating the asymptotic curve, etc. based on the neighboring point information in the remaining direction. .
  • the image generation unit 37 generates an overhead image using the transformed projection plane (step S16).
  • the drawn bird's-eye view image is displayed on the display unit 16.
  • the information processing device 10 determines whether the mobile object 2 has moved based on the CAN data from the ECU (step S17).
  • the acquisition unit 20 acquires captured images for each direction (step S18).
  • the VSLAM processing unit 24 and the like calculate new detection point distance information by VSLAM processing using the photographed image (step S19).
  • the information holding unit 308 Upon receiving the new detection point distance information, the information holding unit 308 discards the accumulated data that is the accumulated nearby point information (step S20).
  • the projection shape determining unit 29 deforms the projection plane using the new neighboring point information (step S21).
  • the image generation unit 37 generates an overhead image using the transformed projection plane (step S22).
  • the generated bird's-eye view image is displayed on the display unit 16.
  • step S17 if it is determined that the moving body 2 is not moving (No in step S17), the processes from step S10 to step S17 are repeatedly executed. At this time, if it is determined that the degree of similarity is less than a predetermined threshold due to movement of adjacent vehicles, etc., the accumulated neighboring point information may be discarded according to instructions from the image comparison unit 22.
  • FIG. 13 is a flowchart illustrating an example of the flow of overhead image generation processing including projection shape optimization processing according to the embodiment.
  • the acquisition unit 20 acquires captured images for each direction (step S30).
  • the selection unit 21 selects a captured image as a detection area (step S32).
  • the matching unit 240 performs feature amount extraction and matching processing using a plurality of captured images selected in step S32 and captured by the imaging unit 12 at different capturing timings (step S34). Furthermore, the matching unit 240 registers information on corresponding points between a plurality of images shot at different timings, which is specified by the matching process, in the storage unit 241.
  • the self-position estimating unit 242 reads the matching points and the environmental map information 241A (surrounding position information and self-position information) from the storage unit 241 (step S36).
  • the self-position estimating unit 242 uses the plurality of matching points obtained from the matching unit 240 to estimate the self-position relative to the photographed image by projective transformation etc. (step S38), and uses the calculated self-position information based on the environment. It is registered in the map information 241A (step S40).
  • the three-dimensional restoration unit 243 reads the environmental map information 241A (surrounding position information and self-position information) (step S42).
  • the three-dimensional reconstruction unit 243 performs a perspective projection transformation process using the movement amount (translation amount and rotation amount) of the self-position estimated by the self-position estimating unit 242, and calculates the three-dimensional coordinates (relative to the self-position) of the matching point. coordinates) are determined and registered in the environmental map information 241A as surrounding position information (step S44).
  • the correction unit 244 reads the environmental map information 241A (surrounding position information and self-position information).
  • the correction unit 244 calculates the total difference in distance in three-dimensional space between previously calculated three-dimensional coordinates and newly calculated three-dimensional coordinates for points that have been matched multiple times between multiple frames. Using, for example, the method of least squares, the surrounding position information and self-position information registered in the environmental map information 241A are corrected (step S46), so that the environmental map information 241A is updated.
  • the distance conversion unit 27 acquires vehicle state information including speed data (vehicle speed) of the mobile body 2, which is included in the CAN data received from the ECU 3 of the mobile body 2 (step S48).
  • the distance conversion unit 27 uses the speed data of the moving object 2 to convert the coordinate distance between the point groups included in the environmental map information 241A into an absolute distance in meters, for example. Further, the distance conversion unit 27 offsets the origin of the environmental map information from the self-position S of the mobile object 2, and generates detection point distance information indicating the distance from the mobile object 2 to each of the plurality of detection points P. (Step S50).
  • the distance conversion unit 27 outputs the detection point distance information to the extraction unit 305 and the virtual viewpoint line of sight determination unit 34.
  • the extraction unit 305 extracts detection points P existing within a specific range from the detection point distance information (step S52).
  • the nearest neighbor identification unit 307 divides the area surrounding the self-position S of the mobile object 2 into specific ranges, and selects a detection point P closest to the mobile object 2 or a plurality of detection points in order of proximity to the mobile object 2 for each range. P is specified, and the distance to the nearest object is extracted (step S54).
  • the nearest neighbor specifying unit 307 outputs the measured distance d of the detection point P specified for each range (the measured distance between the moving body 2 and the nearest object) to the information holding unit 308 as neighboring point information.
  • the image comparison unit 22 stores captured images in each direction of the front, left, right, and rear of the moving body 2 and the nearby point information output from the nearest neighbor identification unit 307 (step S55 ).
  • the image comparison unit 22 stores captured images associated with the second trigger in each of the forward, left, right, and rear directions due to the second trigger, and stores the captured images associated with the first trigger.
  • the degree of similarity with the captured image is calculated (step S56).
  • the image comparison unit 22 determines that the degree of similarity exceeds a predetermined threshold, it outputs a first instruction to the information storage unit 308 to output the accumulated neighboring point information. On the other hand, if the image comparison unit 22 determines that the degree of similarity is less than or equal to the predetermined threshold, the image comparison unit 22 discards the accumulated neighboring point information and issues a second instruction to output the neighboring point information generated in step S54. It outputs to section 308.
  • the information holding unit 308 selects neighboring point information based on the first instruction or the second instruction received from the image comparison unit 22 (step S57). Further, the information holding unit 308 outputs the neighboring point information to the reference projection plane shape selection unit 309, the scale determination unit 311, the asymptotic curve calculation unit 313, and the boundary area determination unit 317.
  • the reference projection plane shape selection unit 309 selects the shape of the reference projection plane 40 based on the neighboring point information input from the information holding unit 308 (step S60), and applies the shape information of the selected reference projection plane 40 to the shape determination unit 315. Output to.
  • the scale determination unit 311 determines the scale of the reference projection plane 40 of the shape selected by the reference projection plane shape selection unit 309 (step S62), and outputs scale information of the determined scale to the shape determination unit 315.
  • the asymptotic curve calculating unit 313 calculates an asymptotic curve based on the neighboring point information input from the information holding unit 308 (step S64), and outputs it as asymptotic curve information to the shape determining unit 315 and the virtual viewpoint line of sight determining unit 34.
  • the shape determining unit 315 determines the projection shape of how to transform the shape of the reference projection plane based on the scale information and asymptotic curve information (step S66).
  • the shape determining unit 315 outputs projected shape information of the determined projected shape 41 to the transforming unit 32.
  • the deformation unit 32 deforms the shape of the reference projection plane based on the projection shape information (step S68).
  • the transformation unit 32 outputs the transformed projection plane information to the projection transformation unit 36.
  • the virtual viewpoint line-of-sight determining unit 34 determines virtual viewpoint line-of-sight information based on the self-position and asymptotic curve information (step S70).
  • the virtual viewpoint line-of-sight determination unit 34 outputs virtual viewpoint line-of-sight information indicating the virtual viewpoint O and the line-of-sight direction L to the projection conversion unit 36.
  • the projection conversion unit 36 generates a projection image by projecting the photographed image obtained from the photographing unit 12 onto the deformed projection plane based on the deformed projection plane information and the virtual viewpoint line-of-sight information.
  • the projection conversion unit 36 converts (generates) the generated projection image into a virtual viewpoint image (step S72) and outputs it to the image synthesis unit 38.
  • the boundary area determination unit 317 determines the boundary area based on the distance to the nearest object specified for each range. That is, the boundary area determining unit 317 determines a boundary area as an overlapping area of spatially adjacent peripheral images based on the position of the object closest to the moving body 2 (step S74). The boundary area determination unit 317 outputs the determined boundary area to the image composition unit 38.
  • the image synthesis unit 38 generates a composite image by connecting spatially adjacent virtual viewpoint images using a boundary area (step S76). Note that in the boundary area, spatially adjacent virtual viewpoint images are blended at a predetermined ratio.
  • the display unit 16 displays the composite image as an overhead image (step S78).
  • the information processing device 10 determines whether to end the information processing (step S80). For example, the information processing device 10 makes the determination in step S80 by determining whether or not a signal indicating completion of parking of the mobile object 2 has been received from the ECU 3. Further, for example, the information processing device 10 may make the determination in step S80 by determining whether or not an instruction to end information processing has been received through an operation instruction or the like from the user.
  • step S80 If a negative determination is made in step S80 (step S80: No), the processes from step S30 to step S80 described above are repeatedly executed. On the other hand, if an affirmative determination is made in step S80 (step S80: Yes), the overhead image generation process including the projection shape optimization process according to the embodiment is ended.
  • step S80 when returning from step S80 to step S30 after executing the correction process of step S46, the subsequent correction process of step S46 may be omitted. Further, when returning from step S80 to step S30 without executing the correction process of step S46, the subsequent correction process of step S46 may be executed.
  • the information processing device 10 includes a determining section 30, a transforming section 32, and an information holding section 308 included in the determining section 30.
  • the determining unit 30 determines projection shape information regarding deformation of a projection plane onto which a peripheral image of the moving body 2 is projected.
  • the deformation unit 32 deforms the projection plane based on the projection shape information.
  • the information holding unit 308 accumulates neighboring point information as past second information used in the projected shape information, and stores the accumulated past neighboring point information in the determining unit 30 when the moving object 2 starts operating. It is output to the reference projection plane shape selection section 309, the scale determination section 311, the asymptotic curve calculation section 313, and the boundary region determination section 317.
  • the information processing device 10 can use the accumulated past nearby point information (for example, at the end of the previous mobile body's operation). By using the corresponding neighboring point information), the projection plane shape can be appropriately deformed.
  • the information processing device 10 includes an image comparison unit 22 as a determination unit.
  • the image comparison unit 22 calculates the degree of similarity between a first image associated with the end of the movement of the moving object 2 and a second image associated with the start of the movement of the moving object 2 among the plurality of peripheral images. . If the similarity exceeds the threshold, the image comparison unit 22 outputs to the information holding unit 308 a first instruction to cause the determination unit 30 to output the accumulated past neighboring point information. Furthermore, when the degree of similarity is less than or equal to the threshold, the image comparison unit 22 outputs a second instruction to the information storage unit 308 to discard the accumulated past neighboring point information.
  • the information holding unit 308 outputs past neighboring point information accumulated in response to the first instruction to the determining unit 30, and discards past neighboring point information accumulated in response to the second instruction.
  • the information processing device 10 uses the past neighboring point information accumulated in the deformation of the projection plane shape according to the change in the surrounding situation between the end of the operation of the moving object 2 and the start of the operation of the moving object 2. It is possible to appropriately judge whether or not to do so. As a result, when the mobile body 2 starts operating, it is possible to provide the user with a more natural bird's-eye view image than in the past.
  • the degree of similarity is calculated using captured images acquired in each direction of the front, left, right, and rear of the moving body 2, and the projection plane shape optimization process is executed for each direction.
  • the image comparison unit 22 calculates the degree of similarity in at least one of the plurality of directions around the moving body, and calculates the degree of similarity in at least one direction among the plurality of directions around the moving body, and calculates the degree of similarity in the first direction based on the calculated at least one degree of similarity in the at least one direction.
  • the projection plane shape when the first instruction is received, the projection plane shape can also be changed in stages.
  • the determining unit 30 uses the accumulated past neighboring point information and newly generated neighboring point information to determine projection shape information that changes the projection plane shape in stages.
  • the deformation unit 32 deforms the projection plane in stages using projection shape information that changes the projection plane shape in stages. With such a configuration, the projection plane can be successively deformed more naturally.
  • the moving body 2 is slightly moved at low speed around the stop position of the moving body 2, and a plurality of images at different positions are acquired.
  • the information processing device 10 generates first control information for moving the moving object 2 and acquiring a plurality of new images of the surroundings of the moving object 2 when the degree of similarity is less than or equal to the threshold value.
  • the configuration further includes an information generation section for generating information.
  • a mechanism provided in the photographing section 12 may be used to move the photographing section 12 itself to obtain a plurality of images at different positions.
  • the information processing device 10 moves the position of the imaging unit that photographs the surroundings of the moving object and captures a plurality of new images of the surroundings of the moving object.
  • the configuration further includes an information generation section that generates the second control information to be acquired.
  • Mode 4 In the embodiment described above, it can be used as driver assistance in any driving mode: automatic parking mode, semi-automatic parking mode, manual driving mode, and automatic driving mode.
  • the image processing device, image processing method, and image processing program disclosed in the present application are not limited to the above-mentioned embodiments, etc., and each implementation stage etc.
  • the components can be modified and embodied without departing from the gist.
  • various inventions can be formed by appropriately combining the plurality of constituent elements disclosed in the above-described embodiment and each modification example. For example, some components may be deleted from all the components shown in the embodiments.
  • the information processing device 10 of the above embodiment and each modification is applicable to various devices.
  • the information processing device 10 of the above embodiment and each modification can be applied to a surveillance camera system that processes images obtained from a surveillance camera, an in-vehicle system that processes images of the surrounding environment outside the vehicle, and the like.

Abstract

情報処理装置(10)は、一つの態様において、移動体の周辺画像を投影する投影面の変形に関する第1の情報を決定する決定部(30)と、前記第1の情報に基づいて前記投影面を変形する変形部(32)とを備え、決定部(30)は、前記第1の情報の決定に用いられた過去の第2の情報を蓄積する情報保持部(308)を含み、前記移動体の動作起動時において前記過去の第2の情報に基づいて前記第1の情報を決定する。

Description

画像処理装置、画像処理方法、及び画像処理プログラム
 本発明は、画像処理装置、画像処理方法、及び画像処理プログラムに関する。
 車等の移動体に搭載された複数カメラの画像を用いて、移動体周辺の俯瞰画像を生成する技術がある。また、移動体周辺の立体物に応じて、俯瞰画像の投影面の形状を変更する技術がある。さらに、カメラによって撮影された画像を用いてSLAMを行うVisual SLAM(Simultaneous Localization and Mapping:VSLAMと表す)等を用いて、移動体周辺の位置情報を取得する技術がある。
国際公開第2021/065241号 特開2020-083140号公報 国際公開第2019/039507号 特開2020-034528号公報 特開2019-191741号公報 特開2002-354467号公報
 しかしながら、移動体周辺の立体物に応じて俯瞰画像の投影面を逐次変形する場合、例えば、駐車後しばらくしてエンジンを始動する場合等において、俯瞰画像が不自然なものとなる場合がある。
 1つの側面では、本発明は、移動体周辺の立体物に応じて俯瞰画像の投影面を逐次変形する場合において、従来に比してより自然な俯瞰画像を提供する画像処理装置、画像処理方法、及び画像処理プログラムを実現することを目的とする。
 本願の開示する画像処理装置は、一つの態様において、移動体の周辺画像を投影する投影面の変形に関する第1の情報を決定する決定部と、前記第1の情報に基づいて前記投影面を変形する変形部とを備え、前記決定部は、前記第1の情報の決定に用いられた過去の第2の情報を蓄積する情報保持部を含み、前記移動体の動作起動時において前記過去の第2の情報に基づいて前記第1の情報を決定する。
 本願の開示する画像処理装置の一つの態様によれば、移動体周辺の立体物に応じて俯瞰画像の投影面を逐次変形する場合において、従来に比してより自然な俯瞰画像を提供することができる。
図1は、実施形態に係る情報処理システムの全体構成の一例を示す図である。 図2は、実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。 図3は、実施形態に係る情報処理装置の機能的構成の一例を示す図である。 図4は、実施形態に係る環境地図情報の一例を示す模式図である。 図5は、決定部の機能的構成の一例を示す模式図である。 図6は、基準投影面の一例を示す模式図である。 図7は、決定部よって生成される漸近曲線Qの説明図である。 図8は、決定部により決定された投影形状の一例を示す模式図である。 図9は、移動体の後退駐車完了時の移動体周辺の状況の一例を示した図である。 図10は、移動体を後退駐車してから所定時間経過後の移動体周辺の状況の一例を示した図である。 図11は、実施形態に係る投影面変形最適化処理おいて実行される情報蓄積処理を説明するための図である。 図12は、実施形態に係る投影面変形最適化処理おいて実行される情報選択処理の流れを示したフローチャートである。 図13は、実施形態に係る投影形状最適化処理を含む俯瞰画像の生成処理の流れの一例を示すフローチャートである。
 以下、添付図面を参照しながら、本願の開示する画像処理装置、画像処理方法、及び画像処理プログラムの実施形態を詳細に説明する。なお、以下の実施形態は開示の技術を限定するものではない。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
 図1は、本実施形態の情報処理システム1の全体構成の一例を示す図である。情報処理システム1は、情報処理装置10と、撮影部12と、検出部14と、表示部16と、を備える。情報処理装置10と、撮影部12と、検出部14と、表示部16とは、データ又は信号を授受可能に接続されている。なお、情報処理装置10は、画像処理装置の一例である。また、情報処理装置10が実行する情報処理方法は画像処理方法の一例であり、情報処理装置10が情報処理方法の実行に用いる情報処理プログラムは、画像処理プログラムの一例である。
 本実施形態では、情報処理装置10、撮影部12、検出部14、及び表示部16は、移動体2に搭載された形態を一例として説明する。
 移動体2とは、移動可能な物である。移動体2は、例えば、車両、飛行可能な物体(有人飛行機、無人飛行機(例えば、UAV(Unmanned Aerial Vehicle)、ドローン))、ロボット、などである。また、移動体2は、例えば、人による運転操作を介して進行する移動体や、人による運転操作を介さずに自動的に進行(自律進行)可能な移動体である。本実施形態では、移動体2が車両である場合を一例として説明する。車両は、例えば、二輪自動車、三輪自動車、四輪自動車などである。本実施形態では、車両が、自律進行可能な四輪自動車である場合を一例として説明する。
 なお、情報処理装置10、撮影部12、検出部14、及び表示部16の全てが、移動体2に搭載された形態に限定されない。情報処理装置10は、例えば静止物に搭載されていてもよい。静止物は、地面に固定された物である。静止物は、移動不可能な物や、地面に対して静止した状態の物である。静止物は、例えば、信号機、駐車車両、道路標識、などである。また、情報処理装置10は、クラウド上で処理を実行するクラウドサーバに搭載されていてもよい。
 撮影部12は、移動体2の周辺を撮影し、撮影画像データを取得する。以下では、撮影画像データを、単に、撮影画像と称して説明する。本実施形態では、撮影部12は、例えば、動画撮影が可能なデジタルカメラ、例えば視野角が195度程度の単眼の魚眼カメラである場合を想定して説明する。なお、撮影とは、レンズなどの光学系により結像された被写体の像を、電気信号に変換することを指す。撮影部12は、撮影した撮影画像を、情報処理装置10へ出力する。
 本実施形態では、移動体2に前方撮影部12A、左方撮影部12B、右方撮影部12C、後方撮影部12Dの4つの撮影部12が搭載された形態を一例として説明する。複数の撮影部12(前方撮影部12A、左方撮影部12B、右方撮影部12C、後方撮影部12D)は、各々が異なる方向の撮影領域E(前方撮影領域E1、左方撮影領域E2、右方撮影領域E3、後方撮影領域E4)の被写体を撮影し、撮影画像を取得する。すなわち、複数の撮影部12は、撮影方向が互いに異なるものとする。また、これらの複数の撮影部12は、隣り合う撮影部12との間で撮影領域Eの少なくとも一部が重複となるように、撮影方向が予め調整されているものとする。また、図1においては、説明の便宜上撮影領域Eを図1に示した大きさにて示すが、実際にはさらに移動体2より離れた領域まで含むものとなる。
 また、4つの前方撮影部12A、左方撮影部12B、右方撮影部12C、後方撮影部12Dは一例であり、撮影部12の数に限定はない。例えば、移動体2がバスやトラックの様に縦長の形状を有する場合には、移動体2の前方、後方、右側面の前方、右側面の後方、左側面の前方、左側面の後方のそれぞれ一つずつ撮影部12を配置し、合計6個の撮影部12を利用することもできる。すなわち、移動体2の大きさや形状により、撮影部12の数や配置位置は任意に設定することができる。
 検出部14は、移動体2の周辺の複数の検出点の各々の位置情報を検出する。言い換えると、検出部14は、検出領域Fの検出点の各々の位置情報を検出する。検出点とは、実空間における、検出部14によって個別に観測される点の各々を示す。検出点は、例えば移動体2の周辺の立体物に対応する。なお、検出部14は、外部センサの一例である。
 検出部14は、例えば、3D(Three-Dimensional)スキャナ、2D(Two Dimensional)スキャナ、距離センサ(ミリ波レーダ、レーザセンサ)、音波によって物体を探知するソナーセンサ、超音波センサ、などである。レーザセンサは、例えば、三次元LiDAR(Laser imaging Detection and Ranging)センサである。また、検出部14は、ステレオカメラや、単眼カメラで撮影された画像から距離を測距する技術、例えばSfM(Structure from Motion)技術を用いた装置であってもよい。また、複数の撮影部12を検出部14として用いてもよい。また、複数の撮影部12の1つを検出部14として用いてもよい。
 表示部16は、各種の情報を表示する。表示部16は、例えば、LCD(Liquid Crystal Display)又は有機EL(Electro-Luminescence)ディスプレイなどである。
 本実施形態では、情報処理装置10は、移動体2に搭載された電子制御ユニット(ECU:Electronic Control Unit)3に通信可能に接続されている。ECU3は、移動体2の電子制御を行うユニットである。本実施形態では、情報処理装置10は、ECU3から移動体2の速度や移動方向などのCAN(Controller Area Network)データを受信可能であるものとする。
 次に、情報処理装置10のハードウェア構成を説明する。
 図2は、情報処理装置10のハードウェア構成の一例を示す図である。
 情報処理装置10は、CPU(Central Processing Unit)10A、ROM(Read Only Memory)10B、RAM(Random Access Memory)10C、及びI/F(InterFace)10Dを含み、例えば、コンピュータである。CPU10A、ROM10B、RAM10C、及びI/F10Dは、バス10Eにより相互に接続されており、通常のコンピュータを利用したハードウェア構成となっている。
 CPU10Aは、情報処理装置10を制御する演算装置である。CPU10Aは、ハードウェアプロセッサの一例に対応する。ROM10Bは、CPU10Aによる各種の処理を実現するプログラム等を記憶する。RAM10Cは、CPU10Aによる各種の処理に必要なデータを記憶する。I/F10Dは、撮影部12、検出部14、表示部16、及びECU3などに接続し、データを送受信するためのインターフェースである。
 本実施形態の情報処理装置10で実行される情報処理を実行するためのプログラムは、ROM10B等に予め組み込んで提供される。なお、本実施形態の情報処理装置10で実行されるプログラムは、情報処理装置10にインストール可能な形式又は実行可能な形式のファイルで記録媒体に記録されて提供するように構成してもよい。記録媒体は、コンピュータにより読取可能な媒体である。記録媒体は、CD(Compact Disc)-ROM、フレキシブルディスク(FD)、CD-R(Recordable)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード等である。
 次に、本実施形態に係る情報処理装置10の機能的構成を説明する。情報処理装置10は、VSLAM処理により、撮影部12で撮影された撮影画像から移動体2の周辺位置情報と移動体2の自己位置情報とを同時に推定する。情報処理装置10は、空間的に隣り合う複数の撮影画像を繋ぎ合わせて、移動体2の周辺を俯瞰する合成画像(俯瞰画像)を生成し表示する。なお、本実施形態では、撮影部12の少なくとも1つを検出部14として用いるとともに、検出部14は撮影部12から取得される画像の処理を実行する。
 図3は、情報処理装置10の機能的構成の一例を示す図である。なお、図3には、データの入出力関係を明確にするために、情報処理装置10に加えて、撮影部12及び表示部16を併せて図示した。
 情報処理装置10は、投影面変形最適化処理を実行する。ここで、投影面変形最適化処理とは、投影面変形に用いられた過去の情報を蓄積し、移動体2の動作起動時において、蓄積した過去の情報を投影面変形に利用可能にするものである。この投影面変形最適化処理については、後で詳しく説明する。
 情報処理装置10は、取得部20と、選択部21と、画像比較部22と、VSLAM処理部24と、距離換算部27と、情報保持部308を有する投影形状決定部29と、画像生成部37と、を備える。
 上記複数の各部の一部又は全ては、例えば、CPU10Aなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよい。また、上記複数の各部の一部又は全ては、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェア及びハードウェアを併用して実現してもよい。
 取得部20は、撮影部12から撮影画像を取得する。すなわち、取得部20は、前方撮影部12A、左方撮影部12B、右方撮影部12C、後方撮影部12Dの各々から撮影画像を取得する。
 取得部20は、撮影画像を取得するごとに、取得した撮影画像を投影変換部36及び選択部21へ出力する。
 選択部21は、検出点の検出領域を選択する。本実施形態では、選択部21は、複数の撮影部12(撮影部12A~撮影部12D)の内、少なくとも一つの撮影部12を選択することで、検出領域を選択する。
 画像比較部22は、取得部20を介して、前方撮影部12A、左方撮影部12B、右方撮影部12C、後方撮影部12Dによって撮影された前方画像、左方画像、右方画像、後方画像を、取得部20を介して逐次入力する。
 画像比較部22は、投影面変形最適化処理において、移動体2の周辺を撮影した複数の画像のうち第1のトリガに対応付けされた第1の画像と第2のトリガに対応付けされた第2の画像との類似度を計算する。より具体的には、画像比較部22は、前方、左方、右方、後方の各方向について、第1のトリガに対応付けされた第1の画像と第2のトリガに対応付けされた第2の画像との類似度を計算する。
 ここで、第1のトリガとは、移動体2の電源OFF(動作終了処理)、移動体2の自動駐車モードの駐車完了ステート等、移動体2が駐車完了状態であることを示す信号(情報)である。また、第2のトリガとは、第1のトリガよりも後に発生する信号(情報)であり、移動体2の電源ON(動作起動処理)、移動体2の移動開始ステート等、移動体2が駐車完了をしてから再び移動を始める状態であることを示すものである。なお、第1のトリガ、第2のトリガは、例えばCANデータから取得することができる。
 また、画像比較部22は、計算した類似度に基づいた指示を、投影形状決定部29が有する情報保持部308へ出力する。より具体的には、画像比較部22は、各方向について、計算した類似度が閾値を超える場合には、第1の画像と第2の画像とが類似すると判定し、情報保持部308が蓄積する近傍点情報を出力させるための第1の指示を、情報保持部308へ出力する。また、画像比較部22は、各方向について、計算した類似度が閾値を下回る場合には、第1の画像と第2の画像とが類似しないと判定し、情報保持部308が蓄積する近傍点情報を破棄させるための第2の指示を、情報保持部308へ出力する。
 VSLAM処理部24は、移動体2の周辺の画像に基づいて移動体2の周辺立体物の位置情報及び移動体2の位置情報を含む第1情報を生成する。すなわち、VSLAM処理部24は、選択部21から撮影画像を受け取り、これを用いてVSLAM処理を実行して環境地図情報を生成し、生成した環境地図情報を距離換算部27へ出力する。
 より具体的には、VSLAM処理部24は、マッチング部240と、記憶部241と、自己位置推定部242と、三次元復元部243と、補正部244と、を備える。
 マッチング部240は、撮影タイミングの異なる複数の撮影画像(フレームの異なる複数の撮影画像)について、特徴量の抽出処理と、各画像間のマッチング処理とを行う。詳細には、マッチング部240は、これらの複数の撮影画像から特徴量抽出処理を行う。マッチング部240は、撮影タイミングの異なる複数の撮影画像について、それぞれの間で特徴量を用いて、該複数の撮影画像間の対応する点を特定するマッチング処理を行う。マッチング部240は、該マッチング処理結果を記憶部241へ出力する。
 自己位置推定部242は、マッチング部240で取得した複数のマッチング点を用いて、射影変換等により、撮影画像に対する相対的な自己位置を推定する。ここで自己位置には、撮影部12の位置(三次元座標)及び傾き(回転)の情報が含まれる。自己位置推定部242は、自己位置情報を点群情報として環境地図情報241Aに記憶する。
 三次元復元部243は、自己位置推定部242によって推定された自己位置の移動量(並進量及び回転量)を用いて透視投影変換処理を行い、マッチング点の三次元座標(自己位置に対する相対座標)を決定する。三次元復元部243は、決定された三次元座標である周辺位置情報を点群情報として環境地図情報241Aに記憶する。
 これにより、環境地図情報241Aには、撮影部12が搭載された移動体2の移動に伴って、新たな周辺位置情報、及び新たな自己位置情報が、逐次的に追加される。
 記憶部241は、各種のデータを記憶する。記憶部241は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部241は、情報処理装置10の外部に設けられた記憶装置であってもよい。また、記憶部241は、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶又は一時記憶したものであってもよい。
 環境地図情報241Aは、実空間における所定位置を原点(基準位置)とした三次元座標空間に、三次元復元部243で算出した周辺位置情報である点群情報及び自己位置推定部242で算出した自己位置情報である点群情報を登録した情報である。実空間における所定位置は、例えば、予め設定した条件に基づいて定めてもよい。
 例えば、環境地図情報241Aに用いられる所定位置は、情報処理装置10が本実施形態の情報処理を実行するときの移動体2の自己位置である。例えば、移動体2の駐車シーンなどの所定タイミングで情報処理を実行する場合を想定する。この場合、情報処理装置10は、該所定タイミングに至ったことを判別したときの移動体2の自己位置を、所定位置とすればよい。例えば、情報処理装置10は、移動体2の挙動が駐車シーンを示す挙動となったと判別したときに、該所定タイミングに至ったと判断すればよい。後退による駐車シーンを示す挙動は、例えば、移動体2の速度が所定速度以下となった場合、移動体2のギアがバックギアに入れられた場合、ユーザの操作指示などによって駐車開始を示す信号を受付けた場合などである。なお、該所定タイミングは、駐車シーンに限定されない。
 図4は、環境地図情報241Aのうち、特定の高さの情報を抽出した一例の模式図である。図4に示した様に、環境地図情報241Aは、検出点Pの各々の位置情報(周辺位置情報)である点群情報と、移動体2の自己位置Sの自己位置情報である点群情報と、が該三次元座標空間における対応する座標位置に登録された情報である。なお、図4においては、一例として、自己位置S1~自己位置S3の自己位置Sを示した。Sの後に続く数値の値が大きいほど、より現在のタイミングに近い自己位置Sであることを意味する。
 補正部244は、複数のフレーム間で複数回マッチングした点に対し、過去に算出された三次元座標と、新たに算出された三次元座標とで、三次元空間内での距離の差の合計が最小となる様に、例えば最小二乗法等を用いて、環境地図情報241Aに登録済の周辺位置情報及び自己位置情報を補正する。なお、補正部244は、自己位置情報及び周辺位置情報の算出の過程で用いた自己位置の移動量(並進量及び回転量)を補正しても良い。
 補正部244による補正処理のタイミングは限定されない。例えば、補正部244は、所定タイミングごとに上記補正処理を実行すればよい。所定タイミングは、例えば、予め設定した条件に基づいて定めてもよい。なお、本実施形態では、情報処理装置10は、補正部244を備えた構成である場合を一例として説明する。しかし、情報処理装置10は、補正部244を備えない構成であってもよい。
 距離換算部27は、環境地図情報により知り得る、自己位置と周辺立体物との相対的な位置関係を、自己位置から周辺立体物までの距離の絶対値に換算し、周辺立体物の検出点距離情報を生成して決定部30へ出力する。ここで、検出点距離情報とは、自己位置を座標(0,0,0)にオフセットして、算出した複数の検出点Pの各々までの測定距離(座標)を例えばメートル単位に換算した情報である。すなわち、移動体2の自己位置の情報は、検出点距離情報における原点の座標(0,0,0)として含まれる。
 距離換算部27が実行する距離換算においては、例えば、ECU3から送り出されるCANデータに含まれる移動体2の速度データ等の車両状態情報を用いる。例えば、図4に示す環境地図情報241Aの場合、自己位置Sと複数の検出点Pとの間は、相対的な位置関係は知り得るが、距離の絶対値は算出されていない。ここで、自己位置算出を行うフレーム間周期と、車両状態情報によるその間の速度データにより、自己位置S3と自己位置S2の間の距離を求めることができる。環境地図情報241Aが持つ相対的な位置関係は実空間と相似の関係の為、自己位置S3と自己位置S2の間の距離がわかることで、自己位置Sからそれ以外の全ての検出点Pまで距離の絶対値も求めることができる。すなわち、距離換算部27は、CANデータに含まれた移動体2の実際の速度データを用いて、自己位置と周辺立体物との相対的な位置関係を、自己位置から周辺立体物までの距離の絶対値に換算する。
 なお、CANデータに含まれる車両状態情報とVSLAM処理部24から出力される環境地図情報とは、時間情報により対応付けすることができる。また、検出部14が検出点Pの距離情報を取得する場合には、距離換算部27を省略してもよい。
 投影形状決定部29は、移動体2に搭載された撮影部12が取得した画像を投影して俯瞰画像を生成するための投影面の形状を決定する。
 ここで、投影面とは、移動体2の周辺画像を俯瞰画像として投影するための立体面である。また、移動体2の周辺画像とは、移動体2の周辺の撮影画像であり、撮影部12A~撮影部12Dの各々によって撮影された撮影画像である。投影面の投影形状は、実空間に対応する仮想空間に仮想的に形成される立体(3D)形状である。また、本実施形態においては、投影形状決定部29によって実行される投影面の投影形状の決定を、投影形状決定処理と呼ぶ。
 具体的には、投影形状決定部29は、情報保持部308を有する決定部30と、変形部32と、仮想視点視線決定部34と、を備える。
[決定部30の構成例]
 以下、図3に示した決定部30の詳細な構成の一例を説明する。
 図5は、決定部30の機能的構成の一例を示す模式図である。図5に示した様に、決定部30は、抽出部305と、最近傍特定部307と、情報保持部308と、基準投影面形状選択部309と、スケール決定部311と、漸近曲線算出部313と、形状決定部315、境界領域決定部317を備える。
 抽出部305は、距離換算部27から測定距離を受付けた複数の検出点Pの内、特定の範囲内に存在する検出点Pを抽出し、特定高抽出マップを生成する。特定の範囲とは、例えば、移動体2の配置された路面から移動体2の車高に相当する高さまでの範囲である。なお、該範囲は、この範囲に限定されない。
 抽出部305が該範囲内の検出点Pを抽出し特定高抽出マップを生成することで、例えば、移動体2の進行の障害となる物体や、移動体2に隣接して位置する物体等の検出点Pを抽出することができる。
 そして、抽出部305は、生成した特定高抽出マップを最近傍特定部307へ出力する。
 最近傍特定部307は、特定高抽出マップを用いて移動体2の自己位置Sの周囲を特定の範囲(例えば角度範囲)ごとに区切り、範囲ごとに、移動体2に最も近い検出点P、又は、移動体2に近い順に複数の検出点Pを特定し、近傍点情報を生成する。本実施形態では、最近傍特定部307は、範囲ごとに、移動体2に近い順に複数の検出点Pを特定して近傍点情報を生成する形態を一例として説明する。
 最近傍特定部307は、近傍点情報として範囲ごとに特定した検出点Pの測定距離を情報保持部308へ出力する。
 情報保持部308は、投影面変形最適化処理において、投影面形状情報(第1の情報)の決定に用いられた過去の近傍点情報(第2の情報)を蓄積し、蓄積した過去の近傍点情報を移動体2の動作起動時において、後段の基準投影面形状選択部309、スケール決定部311、漸近曲線算出部313、境界領域決定部317へ出力する。
 具体的には、情報保持部308は、ECUからのCANデータに含まれる第1のトリガに応答して、移動体2の動作終了時に対応する近傍点情報を保持する。情報保持部308は、画像比較部22からの第1の指示に応答して、保持した近傍点情報を基準投影面形状選択部309、スケール決定部311、漸近曲線算出部313、境界領域決定部317へ出力する。情報保持部308は、画像比較部22からの第2の指示に応答して、保持した近傍点情報を破棄する。
 なお、本実施形態にいては、説明を具体的にするため、近傍点情報は、移動体2の前方、左方、右方、後方の4方向について例えば90度ごとの近傍点の位置として取得されるものとする。また、情報保持部308は、画像比較部22からの第1の指示、第2の指示を方向毎に受け取るものとする。従って、情報保持部308は、方向毎に保持した近傍点情報を出力又は破棄する。
 また、情報保持部308は、画像比較部22からの第2の指示に応答して、VSLAM処理によって新たに生成された環境地図情報に基づく新たな近傍点情報を、後段の基準投影面形状選択部309、スケール決定部311、漸近曲線算出部313、境界領域決定部317へ出力する。
 なお、情報保持部308は、第2の情報として、投影面形状情報の決定に用いられた過去の近傍点情報の他、検出点Pの各々の位置情報(周辺位置情報)である点群情報を蓄積するようにしてもよい。
 基準投影面形状選択部309は、基準投影面の形状を選択する。
 図6は、基準投影面40の一例を示す模式図である。図6を参照しながら基準投影面について説明する。基準投影面40は、例えば、投影面の形状を変更する際に基準となる形状の投影面である。基準投影面40の形状は、例えば、椀型、円柱型、などである。なお、図6には椀型の基準投影面40を例示している。
 椀型とは、底面40Aと側壁面40Bとを有し、側壁面40Bの一端が該底面40Aに連続し、他端が開口された形状である。該側壁面40Bは、底面40A側から該他端部の開口側に向かって、水平断面の幅が大きくなっている。底面40Aは、例えば円形状である。ここで円形状とは、真円形状や、楕円形状等の真円形状以外の円形状、を含む形状である。水平断面とは、鉛直方向(矢印Z方向)に対して直交する直交平面である。直交平面は、矢印Z方向に直交する矢印X方向、及び、矢印Z方向と矢印X方向に直交する矢印Y方向、に沿った二次元平面である。水平断面及び直交平面を、以下では、XY平面と称して説明する場合がある。なお、底面40Aは、例えば卵型のような円形状以外の形状であってもよい。
 円柱型とは、円形状の底面40Aと、該底面40Aに連続する側壁面40Bと、からなる形状である。また、円柱型の基準投影面40を構成する側壁面40Bは、一端部の開口が底面40Aに連続し、他端部が開口された円筒状である。但し、円柱型の基準投影面40を構成する側壁面40Bは、底面40A側から該他端部の開口側に向かって、XY平面の直径が略一定の形状である。なお、底面40Aは、例えば卵型のような円形状以外の形状であってもよい。
 本実施形態では、基準投影面40の形状が、図6に示した椀型である場合を一例として説明する。基準投影面40は、底面40Aを移動体2の下方の路面に略一致する面とし、該底面40Aの中心を移動体2の自己位置Sとした仮想空間に仮想的に形成される立体モデルである。
 基準投影面形状選択部309は、複数種類の基準投影面40から、特定の1つの形状を読取ることで、基準投影面40の形状を選択する。例えば、基準投影面形状選択部309は、自己位置と周囲立体物との位置関係や距離などによって基準投影面40の形状を選択する。なお、ユーザの操作指示により基準投影面40の形状を選択してもよい。基準投影面形状選択部309は、決定した基準投影面40の形状情報を形状決定部315へ出力する。本実施形態では、上記したように、基準投影面形状選択部309は、碗型の基準投影面40を選択する形態を一例として説明する。
 スケール決定部311は、基準投影面形状選択部309が選択した形状の基準投影面40のスケールを決定する。スケール決定部311は、例えば、自己位置Sから近傍点までの距離が所定の距離より短い場合にスケールを小さくするなどの決定をする。スケール決定部311は、決定したスケールのスケール情報を形状決定部315へ出力する。
 漸近曲線算出部313は、環境地図情報に含まれる、移動体2の周辺位置情報と自己位置情報とに基づいて、自己位置に対する周辺位置情報の漸近曲線を算出する。漸近曲線算出部313は、情報保持部308から受付けた、自己位置Sからの範囲毎に自己位置Sから最も近い検出点Pの距離のそれぞれを用いて、算出した漸近曲線Qの漸近曲線情報を、形状決定部315及び仮想視点視線決定部34へ出力する。
 図7は、決定部30によって生成される漸近曲線Qの説明図である。ここで、漸近曲線とは、環境地図情報における複数の検出点Pの漸近曲線である。図7は、移動体2を上方から鳥瞰した場合において、投影面に撮影画像を投影した投影画像に、漸近曲線Qを示した例である。例えば、決定部30が、移動体2の自己位置Sに近い順に3つの検出点Pを特定したと想定する。この場合、決定部30は、これらの3つの検出点Pの漸近曲線Qを生成する。
 なお、漸近曲線算出部313は、基準投影面40の特定の範囲(例えば角度範囲)毎に複数の検出点Pの重心などに位置する代表点を求め、複数の該範囲毎の代表点に対する漸近曲線Qを、算出してもよい。そして、漸近曲線算出部313は、算出した漸近曲線Qの漸近曲線情報を、形状決定部315へ出力する。なお、漸近曲線算出部313は、算出した漸近曲線Qの漸近曲線情報を仮想視点視線決定部34へ出力してもよい。
 形状決定部315は、基準投影面形状選択部309から受付けた形状情報によって示される形状の基準投影面40を、スケール決定部311から受付けたスケール情報のスケールに拡大又は縮小する。そして、形状決定部315は、拡大又は縮小した後の基準投影面40に対して、漸近曲線算出部313から受付けた漸近曲線Qの漸近曲線情報に沿った形状となるように変形した形状を、投影形状として決定する。
 ここで、投影形状の決定について詳しく説明する。図8は、決定部30により決定された投影形状41の一例を示す模式図である。形状決定部315は、図8に示した様に、基準投影面40を、基準投影面40の底面40Aの中心である移動体2の自己位置Sに最も近い検出点Pを通る形状に変形した形状を、投影形状41として決定する。検出点Pを通る形状とは、変形後の側壁面40Bが、該検出点Pを通る形状であることを意味する。該自己位置Sは、自己位置推定部242によって算出された自己位置Sである。
 すなわち、形状決定部315は、環境地図情報に登録されている複数の検出点Pの内、該自己位置Sに最も近い検出点Pを特定する。詳細には、移動体2の中心位置(自己位置S)のXY座標を、(X,Y)=(0,0)とする。そして、形状決定部315は、X+Yの値が最小値を示す検出点Pを、自己位置Sに最も近い検出点Pとして特定する。そして、形状決定部315は、基準投影面40の側壁面40Bが該検出点Pを通る形状となるように変形した形状を、投影形状41として決定する。
 より具体的には、形状決定部315は、基準投影面40を変形させた際に側壁面40Bの一部の領域が、移動体2に最も近い検出点Pを通る壁面となるように、底面40A及び側壁面40Bの一部の領域の変形形状を投影形状41として決定する。変形後の投影形状41は、例えば、底面40A上の立ち上がりライン44から、XY平面の視点(平面視)で底面40Aの中心に近づく方向に向かって立ち上げた形状となる。立ち上げる、とは、例えば、基準投影面40の側壁面40Bと底面40Aとの成す角度がより小さい角度となるように、該側壁面40B及び底面40Aの一部を、底面40Aの中心に近づく方向に向かって屈曲又は折り曲げる事を意味する。なお、立ち上げられた形状において、立ち上がりライン44が底面40Aと側壁面40Bとの間に位置し、底面40Aは変形しないままであってもよい。
 形状決定部315は、基準投影面40における特定領域を、XY平面の視点(平面視)で該検出点Pを通る位置に突出させるように変形するよう決定する。特定領域の形状及び範囲は、予め定めた基準に基づいて決定してもよい。そして、形状決定部315は、突出させた特定領域から、側壁面40Bにおける該特定領域以外の領域に向かって、連続的に自己位置Sからの距離が遠くなるように、基準投影面40を変形した形状とするよう決定する。なお、形状決定部315は、投影形状決定部の一例である。
 例えば、図8に示した様に、XY平面に沿った断面の外周の形状が曲線形状となるように、投影形状41を決定することが好ましい。なお、投影形状41の該断面の外周の形状は、例えば円形状であるが、円形状以外の形状であってもよい。
 なお、形状決定部315は、漸近曲線に沿った形状となるように基準投影面40を変形した形状を、投影形状41として決定してもよい。形状決定部315は、移動体2の自己位置Sに最も近い検出点Pから離れる方向に向かって予め定めた数の複数の検出点Pの漸近曲線を生成する。この検出点Pの数は、複数であればよい。例えば、この検出点Pの数は、3つ以上であることが好ましい。また、この場合、形状決定部315は、自己位置Sから見て所定角度以上離れた位置にある複数の検出点Pの漸近曲線を生成することが好ましい。例えば、形状決定部315は、図7に示した漸近曲線Qにおいて、生成した漸近曲線Qに沿った形状となるように基準投影面40を変形した形状を、投影形状41として決定することができる。
 なお、形状決定部315は、移動体2の自己位置Sの周囲を特定の範囲ごとに区切り、該範囲ごとに、移動体2に最も近い検出点P、又は、移動体2に近い順に複数の検出点Pを特定してもよい。そして、形状決定部315は、該範囲ごとに特定した検出点Pを通る形状又は特定した複数の検出点Pの漸近曲線Qに沿った形状となるように基準投影面40を変形した形状を、投影形状41として決定してもよい。
 そして、形状決定部315は、決定した投影形状41の投影形状情報を、変形部32へ出力する。
 図3に戻り、変形部32は、決定部30から受付けた投影形状情報に基づいて、投影面を変形させる。この基準投影面の変形は、例えば移動体2に最も近い検出点Pを基準として実行される。変形部32は、変形投影面情報を投影変換部36へ出力する。
 また、例えば、変形部32は、投影形状情報に基づいて、移動体2に近い順に予め定めた数の複数の検出点Pの漸近曲線に沿った形状に基準投影面を変形する。
 仮想視点視線決定部34は、自己位置と漸近曲線情報とに基づいて、仮想視点視線情報を決定し、投影変換部36へ出力する。
 図7、図8を参照しながら、仮想視点視線情報の決定について説明する。仮想視点視線決定部34は、例えば、移動体2の自己位置Sに最も近い検出点Pを通り、且つ、変形投影面に対して垂直な方向を視線方向として決定する。また、仮想視点視線決定部34は、例えば、該視線方向Lの方向を固定し、仮想視点Oの座標を、任意のZ座標と、漸近曲線Qから自己位置Sの方に離れる方向における任意のXY座標として決定する。その場合、該XY座標は自己位置Sよりも漸近曲線Qから離れた位置の座標であってもよい。そして、仮想視点視線決定部34は、仮想視点O及び視線方向Lを示す仮想視点視線情報を、投影変換部36へ出力する。なお、図8に示した様に、視線方向Lは、仮想視点Oから漸近曲線Qの頂点Wの位置に向かう方向としてもよい。
 画像生成部37は、投影面を用いて移動体2周辺の俯瞰画像を生成する。具体的には、画像生成部37は、投影変換部36と、画像合成部38と、を備える。
 投影変換部36は、変形投影面情報と仮想視点視線情報とに基づいて、変形投影面に、撮影部12から取得した撮影画像を投影した投影画像を生成する。投影変換部36は、生成した投影画像を、仮想視点画像に変換して画像合成部38へ出力する。ここで、仮想視点画像とは、仮想視点から任意の方向に投影画像を視認した画像である。
 図8を参照しながら、投影変換部36による投影画像生成処理について詳しく説明する。投影変換部36は、変形投影面42に撮影画像を投影する。そして、投影変換部36は、変形投影面42に投影された撮影画像を、任意の仮想視点Oから視線方向Lに視認した画像である仮想視点画像を生成する(図示せず)。仮想視点Oの位置は、例えば、(投影面変形処理の基準とした)移動体2の自己位置Sとすればよい。この場合、仮想視点OのXY座標の値を、移動体2の自己位置のXY座標の値とすればよい。また、仮想視点OのZ座標(鉛直方向の位置)の値を、移動体2の自己位置に最も近い検出点PのZ座標の値とすればよい。視線方向Lは、例えば、予め定めた基準に基づいて決定してもよい。
 視線方向Lは、例えば、仮想視点Oから移動体2の自己位置Sに最も近い検出点Pに向かう方向とすればよい。また、視線方向Lは、該検出点Pを通り且つ変形投影面42に対して垂直な方向としてもよい。仮想視点O及び視線方向Lを示す仮想視点視線情報は、仮想視点視線決定部34によって作成される。
 画像合成部38は、仮想視点画像の一部又は全てを抽出した合成画像を生成する。例えば、画像合成部38は、撮影部間の境界領域における複数の仮想視点画像(ここでは、撮影部12A~12Dに対応する4枚の仮想視点画像)の繋合わせ処理等を行う。
 画像合成部38は、生成した合成画像を表示部16へ出力する。なお、合成画像は、移動体2の上方を仮想視点Oとした鳥瞰画像や、移動体2内を仮想視点Oとし、移動体2を半透明に表示するものとしてもよい。
(投影面変形最適化処理)
 次に、本実施形態に係る情報処理装置10が実行する投影面変形最適化処理について詳しく説明する。
 図10は、移動体2の動作起動時(発進時)の周辺状況の一例を示した図である。図10に示した例では、移動体2の運転手から見て右側の駐車領域C1にCar1が存在し、移動体2の後方に壁WAが存在し、駐車領域C2が空車状態となっている。Car1、壁WAは移動体2の近傍に存在している為、自然な俯瞰画像を得る為には、周辺位置情報に基づいた投影面変形処理を行う必要がある。
 しかし、本実施形態では、周辺位置情報の算出に、移動体2の各方向に1つずつ搭載された撮影部12のうちの1つから取得した画像(単眼画像)によるVSLAM処理を用いている。そのため、移動体2の動作起動直後は、移動体2が移動を行うまで周辺位置情報を算出することが出来ない。これは、単眼画像によるVSLAM処理では、移動体2が移動することにより時間方向に逐次得られる、取得位置が少しずつ異なる画像間で三角測量を行うモーションステレオの原理を用いているためである。
 ここで、本実施形態に係る情報処理装置10では、駐車完了時の近傍点情報を、例えば決定部30に含まれる情報保持部308に保持する。そして、移動体2が動作起動時(発進時)であって、移動体2の移動によって新たな周辺位置情報が得られるまでの期間は、情報処理装置10は情報保持部308に保持した駐車完了時の近傍点情報を用いることで、投影面変形処理を行うことを可能にする。
 また、駐車完了から時間が経過することで、動作起動時(発進時)の周囲の状況が、駐車完了時の周囲の状況から変化している場合もある。図9は、図10より所定時間経過前の、移動体2の後退駐車完了時の移動体2の周辺状況の一例を示した図である。図9では、駐車領域C2にCar2が存在している。
 ここで、本実施形態に係る情報処理装置10では、画像比較部22において、駐車完了時の前方、左方、右方、後方の画像と動作起動時の前方、左方、右方、後方の画像とを各々比較して類似度を算出する。この結果、類似度が閾値を下回る方向の周囲状況は、駐車完了時から変化したものと判断し、駐車完了時の近傍点情報を破棄し、残った方向の近傍点情報を用いて漸近曲線を再計算し、投影面形状を再決定する。
 以上により、本実施形態では、移動体2の動作起動時に、周囲の状況の変化の有無に応じて投影面形状を決定することができる。これにより、移動体2の動作起動時において、従来に比して自然な俯瞰画像を提供することができる。
 図11は、実施形態に係る投影面変形最適化処理おいて実行される情報蓄積処理の流れを示したフローチャートである。なお、当該情報蓄積処理は、例えば移動体2の駐車完了時、または電源OFF(動作終了処理)のタイミングで実行される。
 まず、撮影部12によって撮影画像が取得される(ステップS1)。
 VSLAM処理部24等は、撮影画像を用いたVSLAM処理により検出点距離情報を算出する(ステップS2)。
 投影形状決定部29は、取得した検出点距離情報を用いて投影面を変形する(ステップS3)。
 画像生成部37は、変形後の投影面を用いて俯瞰画像を生成する(ステップS4)。生成された俯瞰画像は、表示部16において表示される。
 情報処理装置10は、ECUからのCANデータに第1のトリガが含まれているか否かに基づいて、俯瞰画像生成処理を終了するか否かを判定する(ステップS5)。
 情報処理装置10が俯瞰画像生成処理を終了しないと判定した場合には(ステップS5のNo)、ステップS1~ステップS5の処理が繰り返し実行される。
 一方、情報処理装置10が俯瞰画像生成処理を終了すると判定した場合には(ステップS5のYes)、画像比較部22は第1のトリガに対応付けされた撮影画像(第1の画像)を方向毎に蓄積し、投影形状決定部29は第1のトリガに対応付けされた近傍点情報を方向毎に蓄積する(ステップS6)。
 図12は、実施形態に係る投影面変形最適化処理おいて実行される情報選択処理の流れを示したフローチャートである。係る情報選択処理は、例えば移動体2の動作起動時のタイミングで実行される。なお、以下のステップS10~S14の各ステップは、移動体2の前方、左方、右方、後方の各方向について実行される。
 まず、撮影部12は、ECUからのCANデータに含まれる第2のトリガに応答して方向毎の撮影画像(第2の画像)を取得する(ステップS10)。
 画像比較部22は、第2のトリガに対応付けされた撮影画像と蓄積され第1のトリガに対応付けされた撮影画像とを比較する(ステップS11)。すなわち、画像比較部22は、第2のトリガに対応付けされた撮影画像と蓄積され第1のトリガに対応付けされた撮影画像との類似度を計算する。
 画像比較部22は、類似度が所定の閾値以下であるか否かを判定する(ステップS12)。
 画像比較部22は、類似度が所定の閾値以下であると判定した場合には(ステップS12のYes)、蓄積した近傍点情報を破棄させる第2の指示を情報保持部308へ出力する。情報保持部308は、画像比較部22から受け取った第2の指示に基づいて蓄積した近傍点情報である蓄積データを破棄する(ステップS13)。以降、新たに取得される近傍点情報を用いて投影面変形、俯瞰画像生成が実行される。
 一方、画像比較部22は、類似度が所定の閾値以下ではないと判定した場合には(ステップS12のNo)、蓄積した近傍点情報である蓄積データを出力させる第1の指示を情報保持部308へ出力する。情報保持部308は、画像比較部22から受け取った第1の指示に基づいて蓄積した近傍点情報を出力する(ステップS14)。
 投影形状決定部29は、情報保持部308から取得した各方向の近傍点情報を用いて投影面を変形する(ステップS15)。なお、蓄積データが破棄された方向の近傍点はゼロ個になっているため、残った方向の近傍点情報を基に、スケールの決定や漸近曲線の計算等を行い、投影面形状を決定する。
 画像生成部37は、変形後の投影面を用いて俯瞰画像を生成する(ステップS16)。描画された俯瞰画像は、表示部16において表示される。
 情報処理装置10は、ECUからのCANデータに基づいて、移動体2が移動したか否かを判定する(ステップS17)。
 移動体2が移動したと判定された場合には(ステップS17のYes)、取得部20は、方向毎の撮影画像を取得する(ステップS18)。
 VSLAM処理部24等は、撮影画像を用いたVSLAM処理により新たな検出点距離情報を算出する(ステップS19)。
 情報保持部308は、新たな検出点距離情報を受けたことを以って、蓄積した近傍点情報である蓄積データを破棄する(ステップS20)。
 投影形状決定部29は、新たな近傍点情報を用いて投影面を変形する(ステップS21)。
 画像生成部37は、変形後の投影面を用いて俯瞰画像を生成する(ステップS22)。生成された俯瞰画像は、表示部16において表示される。
 一方、移動体2が移動していないと判定された場合には(ステップS17のNo)、ステップS10~ステップS17の処理が繰り返し実行される。この時、隣接する車両の移動等により、類似度が所定の閾値以下であると判定された場合には、画像比較部22からの指示に従って蓄積した近傍点情報を破棄してもよい。
 図13は、実施形態に係る投影形状最適化処理を含む俯瞰画像の生成処理の流れの一例を示すフローチャートである。
 取得部20は、方向毎の撮影画像を取得する(ステップS30)。選択部21は、検出領域としての撮影画像を選択する(ステップS32)。
 マッチング部240は、ステップS32で選択され撮影部12で撮影された、撮影タイミングの異なる複数の撮影画像を用いて、特徴量の抽出とマッチング処理を行う(ステップS34)。また、マッチング部240は、マッチング処理により特定された、撮影タイミングの異なる複数の撮影画像間の対応する点の情報を、記憶部241に登録する。
 自己位置推定部242は、記憶部241からマッチング点及び環境地図情報241A(周辺位置情報と自己位置情報)を読取る(ステップS36)。自己位置推定部242は、マッチング部240から取得した複数のマッチング点を用いて、射影変換等により、撮影画像に対する相対的な自己位置を推定(ステップS38)し、算出した自己位置情報を、環境地図情報241Aへ登録する(ステップS40)。
 三次元復元部243は、環境地図情報241A(周辺位置情報と自己位置情報)を読取る(ステップS42)。三次元復元部243は、自己位置推定部242によって推定された自己位置の移動量(並進量及び回転量)を用いて透視投影変換処理を行い、当該マッチング点の三次元座標(自己位置に対する相対座標)を決定し、周辺位置情報として、環境地図情報241Aへ登録する(ステップS44)。
 補正部244は、環境地図情報241A(周辺位置情報と自己位置情報)を読取る。補正部244は、複数のフレーム間で複数回マッチングした点に対し、過去に算出された三次元座標と、新たに算出された三次元座標とで、三次元空間内での距離の差の合計が最小となる様に、例えば最小二乗法等を用いて、環境地図情報241Aに登録済の周辺位置情報及び自己位置情報を補正(ステップS46)し、環境地図情報241Aを更新する。
 距離換算部27は、移動体2のECU3から受信したCANデータに含まれる、移動体2の速度データ(自車速度)を含む車両状態情報を取得する(ステップS48)。距離換算部27は、移動体2の速度データを用いて、環境地図情報241Aに含まれる点群間の座標距離を例えばメートル単位の絶対距離に換算する。また、距離換算部27は、環境地図情報の原点を、移動体2の自己位置Sにオフセットして、移動体2から該複数の検出点Pの各々までの距離を示す検出点距離情報を生成する(ステップS50)。距離換算部27は、検出点距離情報を、抽出部305と仮想視点視線決定部34へ出力する。
 抽出部305は、検出点距離情報の内、特定の範囲内に存在する検出点Pを抽出する(ステップS52)。
 最近傍特定部307は、移動体2の自己位置Sの周囲を特定の範囲ごとに区切り、範囲ごとに、移動体2に最も近い検出点P、又は、移動体2に近い順に複数の検出点Pを特定し、最近傍物体との距離を抽出する(ステップS54)。最近傍特定部307は、範囲ごとに特定した検出点Pの測定距離(移動体2と最近傍物体との測定距離)dを、近傍点情報として情報保持部308へ出力する。
 画像比較部22は、第1のトリガにより、移動体2の前方、左方、右方、後方の各方向の撮影画像と、最近傍特定部307の出力の近傍点情報を保存する(ステップS55)。
 また、画像比較部22は、第2のトリガにより、前方、左方、右方、後方の各方向について、第2のトリガに対応付けされた撮影画像と蓄積され第1のトリガに対応付けされた撮影画像との類似度を計算する(ステップS56)。
 また、画像比較部22は、類似度が所定の閾値を超えると判定した場合には、蓄積した近傍点情報を出力させる第1の指示を情報保持部308へ出力する。一方、画像比較部22は、類似度が所定の閾値以下と判定した場合には、蓄積した近傍点情報を破棄し、ステップS54において生成された近傍点情報を出力させる第2の指示を情報保持部308へ出力する。
 情報保持部308は、画像比較部22から受け取った第1の指示、または第2の指示に基づいて近傍点情報を選択する(ステップS57)。また、情報保持部308は、近傍点情報を基準投影面形状選択部309、スケール決定部311、及び漸近曲線算出部313、境界領域決定部317へ出力する。
 基準投影面形状選択部309は、情報保持部308から入力した近傍点情報に基づいて基準投影面40の形状を選択し(ステップS60)、選択した基準投影面40の形状情報を形状決定部315へ出力する。
 スケール決定部311は、基準投影面形状選択部309が選択した形状の基準投影面40のスケールを決定し(ステップS62)、決定したスケールのスケール情報を形状決定部315へ出力する。
 漸近曲線算出部313は、情報保持部308から入力した近傍点情報に基づいて漸近曲線を算出し(ステップS64)、漸近曲線情報として形状決定部315及び仮想視点視線決定部34へ出力する。
 形状決定部315は、スケール情報及び漸近曲線情報に基づいて、基準投影面の形状をどのように変形させるかの投影形状を決定する(ステップS66)。形状決定部315は、決定した投影形状41の投影形状情報を、変形部32へ出力する。
 変形部32は、投影形状情報に基づいて、基準投影面の形状を変形させる(ステップS68)。変形部32は、変形させた変形投影面情報を、投影変換部36に出力する。
 仮想視点視線決定部34は、自己位置と漸近曲線情報とに基づいて、仮想視点視線情報を決定する(ステップS70)。仮想視点視線決定部34は、仮想視点O及び視線方向Lを示す仮想視点視線情報を、投影変換部36へ出力する。
 投影変換部36は、変形投影面情報と仮想視点視線情報とに基づいて、変形投影面に、撮影部12から取得した撮影画像を投影した投影画像を生成する。投影変換部36は、生成した投影画像を、仮想視点画像に変換(生成)して(ステップS72)、画像合成部38へ出力する。
 境界領域決定部317は、範囲ごとに特定した最近傍物体との距離に基づいて、境界領域を決定する。すなわち、境界領域決定部317は、空間的に隣り合う周辺画像の重ね合わせ領域としての境界領域を、移動体2の最近傍の物体の位置に基づいて決定する(ステップS74)。境界領域決定部317は、決定した境界領域を画像合成部38へ出力する。
 画像合成部38は、空間的に隣り合う仮想視点画像を、境界領域を用いて繋ぎあわせて合成画像を生成する(ステップS76)。なお、境界領域において、空間的に隣り合う仮想視点画像は、所定の比率でブレンドされる。
 表示部16は、俯瞰画像としての合成画像を表示する(ステップS78)。
 情報処理装置10は、情報処理を終了するか否かを判断する(ステップS80)。例えば、情報処理装置10は、ECU3から移動体2の駐車完了を示す信号を受信したか否かを判別することで、ステップS80の判断を行う。また、例えば、情報処理装置10は、ユーザによる操作指示などによって情報処理の終了指示を受付けたか否かを判別することで、ステップS80の判断を行ってもよい。
 ステップS80で否定判断すると(ステップS80:No)、上記ステップS30からステップS80までの処理が繰り返し実行される。一方、ステップS80で肯定判断すると(ステップS80:Yes)、実施形態に係る投影形状最適化処理を含む俯瞰画像の生成処理を終了する。
 なお、ステップS46の補正処理を実行した後にステップS80からステップS30へ戻る場合、その後のステップS46の補正処理を省略する場合があってもよい。また、ステップS46の補正処理を実行せずにステップS80からステップS30へ戻る場合、その後のステップS46の補正処理を実行する場合があってもよい。
 以上述べた実施形態に係る情報処理装置10は、決定部30と、変形部32と、決定部30に含まれる情報保持部308とを備える。決定部30は、移動体2の周辺画像を投影する投影面の変形に関する投影形状情報を決定する。変形部32は、投影形状情報に基づいて投影面を変形する。情報保持部308は、投影形状情報に用いられた過去の第2の情報としての近傍点情報を蓄積し、蓄積した過去の近傍点情報を移動体2の動作起動時において決定部30に含まれる基準投影面形状選択部309、スケール決定部311、漸近曲線算出部313、境界領域決定部317へ出力する。
 従って、情報処理装置10は、VSLAM処理による近傍点情報が十分に得られていない移動体2の動作起動時であっても、蓄積した過去の近傍点情報(例えば直前の移動体の動作終了時に対応する近傍点情報)を用いることで、投影面形状を適切に変形することができる。
 また、実施形態に係る情報処理装置10は、判定部としての画像比較部22を備える。画像比較部22は、複数の周辺画像のうち移動体2の動作終了時に対応付けされた第1の画像と移動体2の動作起動時に対応付けされた第2の画像との類似度を計算する。画像比較部22は、類似度が閾値を超える場合には、蓄積した過去の近傍点情報を決定部30に出力させる第1の指示を情報保持部308に出力する。また、画像比較部22は、類似度が閾値以下の場合には、蓄積した過去の近傍点情報を破棄させる第2の指示を情報保持部308に出力する。情報保持部308は、第1の指示に応答して蓄積した過去の近傍点情報を決定部30に出力し、第2の指示に応答して蓄積した過去の近傍点情報を破棄する。
 従って、情報処理装置10は、移動体2の動作終了時から移動体2の動作起動時までの間における周辺状況の変化に応じて、投影面形状の変形に蓄積した過去の近傍点情報を使用するか否かを適切に判定することがでる。その結果、移動体2の動作起動時において、ユーザに対し、従来に比して自然な俯瞰画像を提供することができる。
(変形例1)
 上記実施形態では、移動体2の前方、左方、右方、後方の各方向について取得された撮影画像を用いて類似度を計算し、方向毎について投影面形状最適化処理を実行した。これに対し、移動体2の周辺の少なくとも一つの方向ついて取得された撮影画像を用いて類似度を計算し、少なくとも一つの方向毎について投影面形状最適化処理を実行することもできる。この場合、画像比較部22は、移動体の周辺の複数の方向のうち少なくとも一つの方向について類似度を計算し、少なくとも一つの方向について、計算された少なくとも一つの類似度に基づいて第1の指示又は第2の指示を出力する。
(変形例2)
 上記実施形態において、第1の指示を受けた場合には、投影面形状を段階的に変形させることもできる。この場合、決定部30は、蓄積した過去の近傍点情報と新たに生成された近傍点情報とを用いて、投影面形状を段階的に変化させる投影形状情報を決定する。変形部32は、投影面形状を段階的に変化させる投影形状情報を用いて投影面を段階的に変形させる。この様な構成により、より自然に投影面を逐次的に変形することができる。
(変形例3)
 上記実施形態において、移動体2の新たな動作起動時において、有益な周辺の位置情報をなるべく早期に取得するための処理を実行することもできる。
 例えば、移動体2の停止位置周辺で、移動体2を低速で僅かに移動させ、異なる位置の画像を複数取得する。係る場合、例えば情報処理装置10は、類似度が閾値以下の場合には、移動体2を移動させて当該移動体2の周辺を撮影した新たな複数の画像を取得する第1制御情報を生成する情報生成部をさらに備える構成となる。
 また、撮影部12に設けられた機構により、撮影部12自体を移動させ、異なる位置の画像を複数取得するようにしてもよい。係る場合、例えば情報処理装置10は、類似度が閾値以下の場合には、前記移動体の周辺を撮影する撮影部の位置を移動させて当該移動体の周辺を撮影した新たな複数の画像を取得する第2制御情報を生成する情報生成部をさらに備える構成となる。
(変形例4)
 上記実施形態では、自動駐車モード、半自動駐車モード、手動運転モード、自動運転モードのいずれの運転モードにおいても、ドライバ支援として利用できる。
 以上、実施形態及び各変形例について説明したが、本願の開示する画像処理装置、画像処理方法、及び画像処理プログラムは、上記の各実施形態等そのままに限定されるものではなく、各実施段階等ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記の実施形態及び各変形例等に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
 なお、上記実施形態及び各変形例の情報処理装置10は、各種の装置に適用可能である。例えば、上記実施形態及び各変形例の情報処理装置10は、監視カメラから得られる映像を処理する監視カメラシステム、又は車外の周辺環境の画像を処理する車載システムなどに適用することができる。
10 情報処理装置
12、12A~12D 撮影部
14 検出部
20 取得部
21 選択部
22 画像比較部
24 VSLAM処理部
27 距離換算部
29 投影形状決定部
30 決定部
32 変形部
34 仮想視点視線決定部
36 投影変換部
37 画像生成部
38 画像合成部
240 マッチング部
241 記憶部
241A 環境地図情報
242 自己位置推定部
243 三次元復元部
244 補正部
305 抽出部
307 最近傍特定部
308 情報保持部
309 基準投影面形状選択部
311 スケール決定部
313 漸近曲線算出部
315 形状決定部

Claims (9)

  1.  移動体の周辺画像を投影する投影面の変形に関する第1の情報を決定する決定部と、
     前記第1の情報に基づいて前記投影面を変形する変形部と、を備え、
     前記決定部は、前記第1の情報の決定に用いられた過去の第2の情報を蓄積する情報保持部を含み、前記移動体の動作起動時において前記過去の第2の情報に基づいて前記第1の情報を決定する、
     画像処理装置。
  2.  前記情報保持部は、前記過去の第2の情報として前記移動体の動作終了時に対応する前記第2の情報を蓄積する、
     請求項1に記載の画像処理装置。
  3.  複数の前記周辺画像のうち前記移動体の動作終了時に対応付けされた第1の画像と前記移動体の動作起動時に対応付けされた第2の画像とが類似すると判断した場合に第1の指示を前記決定部に出力する判定部をさらに備え、
     前記決定部は、前記第1の指示に応答して前記情報保持部に蓄積された前記過去の第2の情報に基づいて前記第1の情報を決定する、
     請求項2に記載の画像処理装置。
  4.  前記判定部は、
     前記移動体の周辺の複数の方向のうち少なくとも一つの方向について、前記第1の画像と前記第2の画像とが類似すると判断した場合、前記第1の指示を出力する、
     請求項3に記載の画像処理装置。
  5.  前記決定部は、前記移動体の動作起動後、前記過去の第2の情報と新たに生成された前記第2の情報とを用いて、段階的に変化する前記第1の情報を決定し、
     前記変形部は、段階的に変化する前記第1の情報を用いて前記投影面を段階的に変形する、
     請求項1から4のいずれか1項に記載の画像処理装置。
  6.  前記判定部が前記第1の画像と前記第2の画像とが類似しないと判断した場合に、前記移動体を移動させて当該移動体の周辺を撮影した新たな複数の画像を取得する第1制御情報を生成する情報生成部をさらに備える、
     請求項3に記載の画像処理装置。
  7.  前記判定部が前記第1の画像と前記第2の画像とが類似しないと判断した場合に、前記移動体の周辺を撮影する撮影部の位置を移動させて当該移動体の周辺を撮影した新たな複数の画像を取得する第2制御情報を生成する情報生成部をさらに備える、
     請求項3に記載の画像処理装置。
  8.  コンピュータによって実行される画像処理方法であって、
     移動体の周辺画像を投影する投影面の変形に関する第1の情報を決定するステップと、
     前記第1の情報に基づいて前記投影面を変形するステップと、を含み、
     前記決定するステップは、前記第1の情報の決定に用いられた過去の第2の情報を蓄積するステップを含み、前記移動体の動作起動時において前記過去の第2の情報に基づいて前記第1の情報を決定する、
     画像処理方法。
  9.  コンピュータに、
     移動体の周辺画像を投影する投影面の変形に関する第1の情報を決定するステップと、
     前記第1の情報に基づいて前記投影面を変形するステップと、を実行させるための画像処理プログラムであって、
     前記決定するステップは、前記第1の情報の決定に用いられた過去の第2の情報を蓄積するステップを含み、前記移動体の動作起動時において前記過去の第2の情報に基づいて前記第1の情報を決定する、
     画像処理プログラム。
PCT/JP2022/015730 2022-03-29 2022-03-29 画像処理装置、画像処理方法、及び画像処理プログラム WO2023188046A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/015730 WO2023188046A1 (ja) 2022-03-29 2022-03-29 画像処理装置、画像処理方法、及び画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/015730 WO2023188046A1 (ja) 2022-03-29 2022-03-29 画像処理装置、画像処理方法、及び画像処理プログラム

Publications (1)

Publication Number Publication Date
WO2023188046A1 true WO2023188046A1 (ja) 2023-10-05

Family

ID=88200267

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/015730 WO2023188046A1 (ja) 2022-03-29 2022-03-29 画像処理装置、画像処理方法、及び画像処理プログラム

Country Status (1)

Country Link
WO (1) WO2023188046A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013074423A (ja) * 2011-09-27 2013-04-22 Aisin Seiki Co Ltd 車両周辺監視装置
JP2015015527A (ja) * 2013-07-03 2015-01-22 クラリオン株式会社 映像表示システム、映像合成装置及び映像合成方法
JP2020127171A (ja) * 2019-02-06 2020-08-20 アイシン精機株式会社 周辺監視装置
WO2021111531A1 (ja) * 2019-12-03 2021-06-10 株式会社ソシオネクスト 画像処理装置、画像処理方法、および画像処理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013074423A (ja) * 2011-09-27 2013-04-22 Aisin Seiki Co Ltd 車両周辺監視装置
JP2015015527A (ja) * 2013-07-03 2015-01-22 クラリオン株式会社 映像表示システム、映像合成装置及び映像合成方法
JP2020127171A (ja) * 2019-02-06 2020-08-20 アイシン精機株式会社 周辺監視装置
WO2021111531A1 (ja) * 2019-12-03 2021-06-10 株式会社ソシオネクスト 画像処理装置、画像処理方法、および画像処理プログラム

Similar Documents

Publication Publication Date Title
TWI703064B (zh) 用於在不良照明狀況下定位運輸工具的系統和方法
JP6514624B2 (ja) 障害物検知装置
KR102275310B1 (ko) 자동차 주변의 장애물 검출 방법
JP7056540B2 (ja) センサ校正方法およびセンサ校正装置
WO2017057041A1 (ja) 信号処理装置、信号処理方法、およびプログラム
JP7424390B2 (ja) 画像処理装置、画像処理方法、および画像処理プログラム
US20150292891A1 (en) Vehicle position estimation system
JP6095985B2 (ja) 再生装置、再生システム、再生方法及びプログラム
CN110068814B (zh) 一种测量障碍物距离的方法及装置
US11282164B2 (en) Depth-guided video inpainting for autonomous driving
WO2020082777A1 (zh) 车位检测方法及装置
JP2018139084A (ja) 装置、移動体装置及び方法
JP7077726B2 (ja) 車両システム、空間領域推測方法及び空間領域推測装置
KR101868549B1 (ko) 어라운드뷰 생성방법과 이를 수행하는 장치
JP2018073275A (ja) 画像認識装置
JP2007233440A (ja) 車載用画像処理装置
WO2020196676A1 (ja) 画像処理装置、車両制御装置、および方法、並びにプログラム
WO2023188046A1 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP4696925B2 (ja) 画像処理装置
WO2023175988A1 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
WO2022269875A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2023084660A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
KR101071061B1 (ko) 차량의 특징점을 이용한 운전 보조 장치 및 방법과 이에 사용되는 마이크로프로세서 및 기록매체
WO2022074848A1 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
WO2022254592A1 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2024510837

Country of ref document: JP