WO2021054339A1 - 物体検出装置、物体検出システム、移動体及び物体検出方法 - Google Patents

物体検出装置、物体検出システム、移動体及び物体検出方法 Download PDF

Info

Publication number
WO2021054339A1
WO2021054339A1 PCT/JP2020/034983 JP2020034983W WO2021054339A1 WO 2021054339 A1 WO2021054339 A1 WO 2021054339A1 JP 2020034983 W JP2020034983 W JP 2020034983W WO 2021054339 A1 WO2021054339 A1 WO 2021054339A1
Authority
WO
WIPO (PCT)
Prior art keywords
parallax
coordinate
control unit
image
road surface
Prior art date
Application number
PCT/JP2020/034983
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 US17/753,950 priority Critical patent/US20220383644A1/en
Priority to EP20864619.0A priority patent/EP4033471A4/en
Priority to CN202080065989.8A priority patent/CN114424256A/zh
Publication of WO2021054339A1 publication Critical patent/WO2021054339A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/168Segmentation; Edge detection involving transform domain methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/753Transform-based matching, e.g. Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/759Region-based matching
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/04Detecting movement of traffic to be counted or controlled using optical or ultrasonic detectors
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20048Transform domain processing
    • G06T2207/20061Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Definitions

  • the present disclosure relates to an object detection device, an object detection system, a moving body, and an object detection method.
  • an object detection device using a stereo camera.
  • Such an object detection device acquires a plurality of images from a stereo camera and detects an object that may be an obstacle based on the acquired plurality of images (see, for example, Patent Document 1).
  • the object detection device includes a processor.
  • the processor detects a straight line of a predetermined length by applying a Hough transform to the coordinate points of the UD map, and parallels the target parallax corresponding to the detected straight line of the predetermined length in the traveling direction of the stereo camera. It is configured to detect as parallax corresponding to various objects.
  • the target parallax satisfying a predetermined condition among the parallax acquired from the captured image is associated with the coordinate points of the two-dimensional coordinates consisting of the first direction and the direction corresponding to the magnitude of the parallax. It is a thing.
  • the first direction corresponds to the horizontal direction of the captured image generated by the stereo camera capturing the road surface.
  • the processor is configured to transform a straight line passing through each coordinate point associated with the target parallax and a predetermined range based on the vanishing point into a Hough space.
  • the object detection system includes a stereo camera that captures a plurality of images having parallax with each other, and an object detection device including at least one processor.
  • the processor detects a straight line of a predetermined length by applying a Hough transform to the coordinate points of the UD map, and parallels the target parallax corresponding to the detected straight line of the predetermined length in the traveling direction of the stereo camera. It is configured to detect as parallax corresponding to various objects.
  • the target parallax satisfying a predetermined condition among the parallax acquired from the captured image is associated with the coordinate points of the two-dimensional coordinates consisting of the first direction and the direction corresponding to the magnitude of the parallax. It is a thing.
  • the first direction corresponds to the horizontal direction of the captured image generated by the stereo camera capturing the road surface.
  • the processor is configured to transform a straight line passing through each coordinate point associated with the target parallax and a predetermined range based on the vanishing point into a Hough space.
  • the moving body includes an object detection system including a stereo camera that captures a plurality of images having parallax with each other and an object detection device including at least one processor.
  • the processor detects a straight line of a predetermined length by applying a Hough transform to the coordinate points of the UD map, and parallels the target parallax corresponding to the detected straight line of the predetermined length in the traveling direction of the stereo camera. It is configured to detect as parallax corresponding to various objects.
  • the target parallax satisfying a predetermined condition among the parallax acquired from the captured image is associated with the coordinate points of the two-dimensional coordinates consisting of the first direction and the direction corresponding to the magnitude of the parallax.
  • the first direction corresponds to the horizontal direction of the captured image generated by the stereo camera capturing the road surface.
  • the processor is configured to transform a straight line passing through each coordinate point associated with the target parallax and a predetermined range based on the vanishing point into a Hough space.
  • the object detection method includes detecting the target parallax corresponding to the detected straight line of a predetermined length as the parallax corresponding to the object parallel to the traveling direction of the stereo camera.
  • detecting as the parallax corresponding to the parallel object a straight line having a predetermined length is detected by applying the Hough transform to the coordinate points of the UD map.
  • the target parallax satisfying a predetermined condition among the parallax acquired from the captured image is associated with the coordinate points of the two-dimensional coordinates consisting of the first direction and the direction corresponding to the magnitude of the parallax. It is a thing.
  • the first direction corresponds to the horizontal direction of the captured image generated by the stereo camera capturing the road surface.
  • the straight line passing through each coordinate point to which the target parallax is associated and a predetermined range based on the vanishing point is converted into a Hough space. including.
  • FIG. 1 is a block diagram showing a schematic configuration of an object detection system according to an embodiment of the present disclosure.
  • FIG. 2 is a side view schematically showing a moving body equipped with the object detection system shown in FIG.
  • FIG. 3 is a front view schematically showing a moving body equipped with the object detection system shown in FIG.
  • FIG. 4 is a block diagram showing a schematic configuration of an object detection system according to another embodiment of the present disclosure.
  • FIG. 5 is a flowchart showing an example of a flow of processing executed by the object detection device shown in FIG.
  • FIG. 6 is a diagram illustrating an example of a first parallax image acquired or generated by the object detection device.
  • FIG. 7 is a flowchart showing an example of the road surface shape estimation process.
  • FIG. 1 is a block diagram showing a schematic configuration of an object detection system according to an embodiment of the present disclosure.
  • FIG. 2 is a side view schematically showing a moving body equipped with the object detection system shown in FIG.
  • FIG. 3
  • FIG. 8 is a flowchart showing an example of a process of extracting road surface candidate parallax from the first parallax image.
  • FIG. 9 is a diagram for explaining the positional relationship between the road surface and the stereo camera.
  • FIG. 10 is a diagram illustrating a procedure for extracting road surface candidate parallax.
  • FIG. 11 is a diagram showing a range on the road surface for producing a histogram of parallax.
  • FIG. 12 is a dv correlation diagram showing an example of the relationship between the road surface parallax d r and the coordinates (v coordinates) in the vertical direction.
  • FIG. 13 is a diagram illustrating a method of detecting whether or not an object other than road parallax is included.
  • FIG. 14 is a flowchart of a process for approximating the relationship between the road surface parallax dr and the vertical coordinates (v coordinates) of the image with a straight line.
  • FIG. 15 is a diagram for explaining the approximation of the road surface parallax d r by the first straight line.
  • FIG. 16 is a diagram illustrating a method of determining the second straight line.
  • FIG. 17 is a diagram showing an example of the result of approximating the relationship between the road surface parallax dr and the vertical coordinates (v coordinates) of the image with a straight line.
  • FIG. 18 is a diagram showing an example of a second parallax image.
  • FIG. 19 is a reference view of the second parallax image.
  • FIG. 20 is a flowchart showing an example of the first parallax and the second parallax detection process.
  • FIG. 21 is a diagram showing a partial region superimposed on the second parallax image shown in FIG.
  • FIG. 22 is a diagram showing an example of a parallax histogram.
  • FIG. 23 is a flowchart (No. 1) showing an example of the height calculation process of the object.
  • FIG. 24 is a flowchart (No. 2) showing an example of the height calculation process of the object.
  • FIG. 25 is a flowchart (No. 3) showing an example of the height calculation process of the object.
  • FIG. 26 is a diagram showing an example of a second parallax image.
  • FIG. 27 is a diagram showing an example of a second parallax image.
  • FIG. 21 is a diagram showing a partial region superimposed on the second parallax image shown in FIG.
  • FIG. 22 is a diagram showing an example of a parallax his
  • FIG. 28 is a first image corresponding to the second parallax image shown in FIG. 27.
  • FIG. 29 is a diagram showing an example of a second parallax image.
  • FIG. 30 is a first image corresponding to the second parallax image shown in FIG. 29.
  • FIG. 31 is a flowchart showing an example of a parallel object detection process.
  • FIG. 32 is a diagram showing an example of a UD map.
  • FIG. 33 is a first image corresponding to the UD map shown in FIG. 32.
  • FIG. 34 is a diagram showing a UD map in which a group of points substantially parallel to the u direction is removed.
  • FIG. 35 is a diagram (No. 1) for explaining the Hough transform.
  • FIG. 36 is a diagram (No. 2) for explaining the Hough transform.
  • FIG. 35 is a diagram (No. 1) for explaining the Hough transform.
  • FIG. 36 is a diagram (No. 2) for explaining the Hough transform.
  • FIG. 35 is
  • FIG. 37 is a flowchart showing an example of the restoration process.
  • FIG. 38 is a diagram showing an example of a UD map.
  • FIG. 39 is a diagram showing an example of a UD map to which a resurrection flag is added.
  • FIG. 40 is a diagram showing an example of a second parallax image.
  • FIG. 41 is a diagram showing an example of a second parallax image.
  • FIG. 42 is a diagram showing a first image corresponding to the second parallax image shown in FIG. 41.
  • FIG. 43 is a diagram showing parallax pixels used for determining the height of an object in the second parallax image shown in FIG. 40.
  • FIG. 40 is a diagram showing an example of a second parallax image.
  • FIG. 41 is a diagram showing an example of a second parallax image.
  • FIG. 42 is a diagram showing a first image corresponding to the second parallax image shown in FIG. 41.
  • FIG. 43
  • FIG. 44 is a diagram showing parallax pixels used for determining the height of an object in the second parallax image shown in FIG. 41.
  • FIG. 45 is a flowchart showing an example of the representative parallax determination process.
  • FIG. 46 shows an example of the acquired representative parallax corresponding to the u direction.
  • FIG. 47 shows an example of averaged representative parallax corresponding to the u direction.
  • FIG. 48 is a diagram showing an example of the distribution of a point cloud showing representative parallax in a UD map.
  • FIG. 49 is a view of the road surface viewed from the height direction (y direction).
  • FIG. 50 is a diagram converted into a point cloud on the xx plane in the real space showing the representative parallax.
  • FIG. 51 is a diagram showing an example of an output method of an object detection result.
  • the object detection device, object detection system, moving object and object detection method of the present disclosure can improve the performance of detecting an object.
  • the same or similar components are designated by the same reference numerals.
  • the figures used in the following description are schematic. The dimensions and ratios on the drawings do not always match the actual ones.
  • the figures showing the images captured by the camera, the parallax images, and the like include those created for explanation. These images are different from the images actually captured or processed.
  • the "subject” is an object to be imaged by the camera.
  • the "subject” includes an object, a road surface, the sky, and the like.
  • An “object” has a specific position and size in space.
  • An “object” is also called a "three-dimensional object".
  • the object detection system 1 includes a stereo camera 10 and an object detection device 20.
  • the stereo camera 10 and the object detection device 20 can communicate with each other by wired or wireless communication.
  • the stereo camera 10 and the object detection device 20 may communicate with each other via a network.
  • the network may include, for example, a wired or wireless LAN (Local Area Network), CAN (Controller Area Network), or the like.
  • the stereo camera 10 and the object detection device 20 may be housed in the same housing and integrally configured.
  • the stereo camera 10 and the object detection device 20 may be located in the moving body 30 described later, and may be configured to be able to communicate with the ECU (Electronic Control Unit) in the moving body 30.
  • ECU Electronic Control Unit
  • a "stereo camera” is a plurality of cameras that have parallax and cooperate with each other.
  • Stereo cameras include at least two or more cameras. With a stereo camera, it is possible to collaborate with a plurality of cameras to capture an object from a plurality of directions.
  • the stereo camera may be a device in which a plurality of cameras are included in one housing.
  • a stereo camera may be a device including two or more cameras that are independent of each other and located apart from each other. Stereo cameras are not limited to multiple cameras that are independent of each other.
  • a camera having an optical mechanism that guides light incident on two distant places to one light receiving element can be adopted as a stereo camera.
  • a plurality of images obtained by capturing the same subject from different viewpoints may be referred to as "stereo images”.
  • the stereo camera 10 includes a first camera 11 and a second camera 12.
  • the first camera 11 and the second camera 12 each include an optical system and an image sensor that define the optical axis OX.
  • the first camera 11 and the second camera 12 each have a different optical axis OX.
  • the optical axis OXs of both the first camera 11 and the second camera 12 are collectively represented by only a single reference numeral OX.
  • the image sensor includes a CCD image sensor (Charge-Coupled Device Image Sensor) and a CMOS image sensor (Complementary MOS Image Sensor).
  • the image pickup elements included in the first camera 11 and the second camera 12 may exist in the same plane perpendicular to the optical axis OX of each camera.
  • the first camera 11 and the second camera 12 generate an image signal representing an image formed by the image sensor. Further, the first camera 11 and the second camera 12 may perform arbitrary processing such as distortion correction, brightness adjustment, contrast adjustment, and gamma correction on the captured image.
  • the optical axes OX of the first camera 11 and the second camera 12 are oriented so that they can image the same subject.
  • the optical axis OX and the position of the first camera 11 and the second camera 12 are determined so that at least the same subject is included in the captured image.
  • the optical axes OX of the first camera 11 and the second camera 12 are oriented so as to be parallel to each other. This parallelism is not limited to strict parallelism, but allows assembly deviation, mounting deviation, and these deviations over time.
  • the optical axes OX of the first camera 11 and the second camera 12 are not limited to parallel, and may face different directions from each other.
  • the baseline length is the distance between the optical center of the first camera 11 and the optical center of the second camera 12.
  • the baseline length corresponds to the distance of the center of the lens between the first camera 11 and the second camera 12.
  • the baseline length direction is the direction connecting the optical center of the first camera 11 and the optical center of the second camera 12.
  • the first camera 11 and the second camera 12 are located apart from each other in the direction intersecting the optical axis OX. In one of the plurality of embodiments, the first camera 11 and the second camera 12 are located along the left-right direction. The first camera 11 is located on the left side of the second camera 12 when facing forward. The second camera 12 is located on the right side of the first camera 11 when facing forward. The first camera 11 and the second camera 12 take an image of a subject at a predetermined frame rate (for example, 30 fps). Due to the difference in position between the first camera 11 and the second camera 12, the positions of the subjects corresponding to each other in the two images captured by each camera are different. The first camera 11 captures the first image. The second camera 12 captures the second image. The first image and the second image are stereo images taken from different viewpoints.
  • a predetermined frame rate for example, 30 fps
  • the object detection system 1 is mounted on the moving body 30.
  • the optical axis OX of each optical system of the first camera 11 and the second camera 12 moves so that the front of the moving body 30 can be imaged. It is arranged so as to be substantially parallel to the front of the body 30.
  • the moving body 30 of the present disclosure travels on a traveling road including a road, a runway, and the like.
  • the surface of the traveling path on which the moving body 30 travels is also referred to as a "road surface”.
  • the traveling direction of the moving body 30 when traveling straight is also referred to as "forward” or “positive direction of the z-axis".
  • the opposite direction forward is also referred to as “rear” or “negative z-axis”.
  • z-direction Unless the positive direction of the z-axis and the negative direction of the z-axis are particularly distinguished, these are also collectively referred to as the "z-direction”.
  • the left direction and the right direction are defined with reference to the state in which the moving body 30 faces forward.
  • the z direction is also called the "depth direction”.
  • the direction orthogonal to the z direction and from the left direction to the right direction is also referred to as "the positive direction of the x-axis".
  • the direction orthogonal to the z direction and from the right direction to the left direction is also called “the negative direction of the x-axis”. Unless there is a particular distinction between the positive direction of the x-axis and the negative direction of the x-axis, these are also collectively referred to as the "x-direction”.
  • the x direction may coincide with the baseline length direction.
  • the x direction is also referred to as the "horizontal direction”.
  • the direction perpendicular to the road surface in the vicinity of the moving body 30 and upward from the road surface is also referred to as "height direction” or “positive direction of y-axis".
  • the direction opposite to the height direction is also called the “negative direction of the y-axis”.
  • the y direction may be orthogonal to the x and z directions.
  • the y direction is also called the "vertical direction”.
  • the "moving body" in the present disclosure may include, for example, a vehicle and an aircraft.
  • Vehicles may include, for example, automobiles, industrial vehicles, railroad vehicles, living vehicles, fixed-wing aircraft traveling on runways, and the like.
  • Automobiles may include, for example, passenger cars, trucks, buses, motorcycles, trolley buses and the like.
  • Industrial vehicles may include, for example, industrial vehicles for agriculture and construction.
  • Industrial vehicles may include, for example, forklifts, golf carts, and the like.
  • Industrial vehicles for agriculture may include, for example, tractors, cultivators, transplanters, binders, combines, lawnmowers and the like.
  • Industrial vehicles for construction may include, for example, bulldozers, scrapers, excavators, cranes, dump trucks, road rollers and the like.
  • the vehicle may include a vehicle that travels manually.
  • the classification of vehicles is not limited to the above examples.
  • an automobile may include an industrial vehicle that can travel on the road.
  • the same vehicle may be included in multiple categories.
  • Aircraft may include, for example, fixed-wing aircraft, rotary-wing aircraft, and the like.
  • the first camera 11 and the second camera 12 can be mounted at various places on the moving body 30.
  • the first camera 11 and the second camera 12 are mounted inside the moving body 30 which is a vehicle, and can image the outside of the moving body 30 through the windshield.
  • the first camera 11 and the second camera 12 are arranged in front of the rearview mirror or on the dashboard.
  • the first camera 11 and the second camera 12 may be fixed to any of the front bumper, fender grille, side fender, light module and bonnet of the vehicle.
  • the object detection device 20 can be located at an arbitrary position in the moving body 30.
  • the object detection device 20 may be located within the dashboard of the moving body 30.
  • the object detection device 20 acquires the first image and the second image from the stereo camera 10.
  • the object detection device 20 detects an object based on the first image and the second image.
  • the object to be detected by the object detection device 20 can be an object on the road surface when the moving body 30 is a vehicle. Examples of the object on the road surface include other vehicles and pedestrians.
  • Non-transitory computer-readable media include, but are not limited to, magnetic storage media, optical storage media, photomagnetic storage media, and semiconductor storage media.
  • Magnetic storage media include magnetic disks, hard disks, and magnetic tapes.
  • Optical storage media include optical discs such as CDs (Compact Discs), DVDs, and Blu-ray discs (Blu-ray (registered trademark) Discs).
  • the semiconductor storage medium includes a ROM (Read Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), and a flash memory.
  • the object detection device 20 includes an acquisition unit 21, an output unit 22, a memory 23, and a control unit 24 (processor).
  • the acquisition unit 21 is an input interface of the object detection device 20.
  • the acquisition unit 21 can accept input of information from the stereo camera 10 and other devices.
  • a physical connector and a wireless communication device can be adopted for the acquisition unit 21.
  • the physical connector includes an electric connector corresponding to transmission by an electric signal, an optical connector corresponding to transmission by an optical signal, and an electromagnetic connector corresponding to transmission by an electromagnetic wave.
  • the electrical connectors include IEC60603 compliant connector, USB standard compliant connector, RCA terminal compatible connector, EIAJ CP-1211A S terminal compatible connector, and EIAJ RC-5237 D terminal.
  • the connector includes a connector corresponding to HDMI, a connector conforming to the HDMI (registered trademark) standard, and a connector corresponding to a coaxial cable including BNC.
  • Optical connectors include various connectors that comply with IEC 61754.
  • Wireless communication devices include Bluetooth (registered trademark) and wireless communication devices that comply with various standards including IEEE 802.11.
  • the wireless communication device includes at least one antenna
  • Image data of images captured by each of the first camera 11 and the second camera 12 can be input to the acquisition unit 21.
  • the acquisition unit 21 outputs the input image data to the control unit 24.
  • the acquisition unit 21 may correspond to the transmission method of the image pickup signal of the stereo camera 10.
  • the acquisition unit 21 may be connected to the output interface of the stereo camera 10 via a network.
  • the output unit 22 is an output interface of the object detection device 20.
  • the output unit 22 can output the processing result of the object detection device 20 to another device inside the moving body 30 or another device outside the moving body 30.
  • Other devices in the moving body 30 may include a traveling support device such as an auto cruise control and a safety device such as an automatic braking device.
  • Other devices outside the moving body 30, other vehicles, road surveying instruments, and the like may be included.
  • the other device inside the moving body 30 or the other device outside the moving body 30 may appropriately use the information received from the object detection device 20.
  • the output unit 22 may include various interfaces corresponding to wired and wireless communication in the same manner as or similar to the acquisition unit 21.
  • the output unit 22 may have a CAN interface. In this case, the output unit 22 communicates with another device in the mobile body 30.
  • the memory 23 stores programs for various processes and information being calculated.
  • the memory 23 includes a volatile memory and a non-volatile memory.
  • the memory 23 includes a memory independent of the processor and a built-in memory of the processor.
  • the control unit 24 includes one or more processors.
  • Processors include general-purpose processors that load specific programs and perform specific functions, and dedicated processors that specialize in specific processing.
  • Dedicated processors include application specific integrated circuits (ASICs).
  • the processor includes a programmable logic device (PLD).
  • PLD programmable logic device
  • the PLD includes an FPGA (Field-Programmable Gate Array).
  • the control unit 24 may be either a SoC (System-on-a-Chip) in which one or a plurality of processors cooperate, or a SiP (System In a Package).
  • SoC System-on-a-Chip
  • SiP System In a Package
  • the control unit 24 executes various processes on the first parallax map in the information processing in the object detection device 20.
  • the first parallax map is a map in which parallax is associated with two-dimensional coordinates.
  • the two-dimensional coordinates of the first parallax map are composed of a horizontal direction corresponding to the horizontal direction of the image captured by the stereo camera 10 and a vertical direction intersecting the horizontal directions.
  • the lateral direction is the first direction.
  • the vertical direction is the second direction.
  • the horizontal direction and the vertical direction may be orthogonal to each other.
  • the lateral direction may correspond to the width direction of the road surface.
  • the lateral direction may correspond to a direction parallel to the horizon when the image captured by the stereo camera 10 includes the horizon.
  • the vertical direction can correspond to the direction in which gravity is applied in real space.
  • the first parallax map undergoes various operations.
  • Various operations include arithmetic processing, writing to the memory 23, reading from the memory 23, and the like.
  • An image of the first parallax map is also called a "first parallax image".
  • the first parallax image is an image in which pixels representing parallax are arranged on a two-dimensional plane composed of a horizontal direction and a vertical direction.
  • the control unit 24 will be described as executing various processes on the first parallax image.
  • the processing for the first parallax image can be rephrased as the processing for the first parallax map.
  • the configuration of the object detection system 1 of the present disclosure is not limited to the configuration shown in FIG. FIG. 4 shows an object detection system 1A according to another embodiment of the present disclosure.
  • the object detection system 1A includes a stereo camera 10, an object detection device 20, and a generation device 25.
  • the generation device 25 may be mounted on hardware separate from the object detection device 20.
  • the generation device 25 generates a first parallax image based on the first image and the second image output from the stereo camera 10.
  • the generator 25 has a processor.
  • the processor included in the generation device 25 generates a first parallax image based on the first image and the second image output from the first camera 11 and the second camera 12 of the stereo camera 10, respectively.
  • the acquisition unit 21 acquires the first parallax image from the generation device 25.
  • the object detection device 20 and the generation device 25 may be collectively regarded as one object detection device.
  • FIG. 5 is a flowchart showing an example of the overall flow of the process executed by the object detection device 20 shown in FIG.
  • Step S101 is a step of acquiring or generating a first parallax image. Step S101 corresponds to the pre-stage processing of the first processing described later.
  • the control unit 24 In the configuration shown in FIG. 1, the control unit 24 generates the first parallax image. In the configuration shown in FIG. 4, the control unit 24 acquires the first parallax image generated by the generation device 25 by the acquisition unit 21.
  • Step S102 is a step of estimating the shape of the road surface.
  • the process executed in step S102 is also referred to as "first process".
  • the parallax corresponding to the road surface can be estimated with respect to the coordinates in the vertical direction on the first parallax image.
  • the shape of the road surface can be used to remove unnecessary parallax in the following processing and / or to estimate the height position of the road surface in real space.
  • Step S103 is a step of generating a second parallax image by removing unnecessary parallax from the first parallax image.
  • the process executed in step S103 is also referred to as "second process".
  • the unnecessary parallax includes the parallax corresponding to the white line on the road surface, the parallax corresponding to the structure existing in the sky above the road, and the like, which may be included in the first parallax image.
  • Step S103 can be a step of generating a second parallax map by removing unnecessary parallax from the first parallax map in the information processing in the object detection device 20.
  • the above-mentioned second parallax image is an image of the second parallax map.
  • the processing for the second parallax image can be rephrased as the processing for the second parallax map.
  • Step S104 is a step of detecting the first parallax and the second parallax based on the second parallax image.
  • the first parallax is detected by regarding it as the parallax corresponding to the object to be detected.
  • the second parallax is detected as a candidate for parallax corresponding to the object to be detected. It can be determined whether or not the second parallax is restored as the parallax corresponding to the object to be detected in the restoration process described later.
  • Step S105 is a step of calculating the height of the object on the image.
  • the height of the object on the detected image can be the height of the detection frame 182 as shown in FIG. 51 described later.
  • the height of the object on the image is also called the "height of the detection frame”.
  • the process executed in step S105 is also referred to as "height calculation process”.
  • Step S106 is a step of detecting the parallax corresponding to the object parallel to the traveling direction of the moving body 30 in the second parallax image.
  • An object parallel to the traveling direction of the moving body 30 is also called a "parallel object".
  • Examples of parallel objects include roadside structures such as guardrails and sound insulation walls of highways, and side surfaces of other vehicles.
  • a parallel object such as a guardrail and an object to be detected such as another vehicle may be close to each other, for example, on the second parallax image.
  • Step S107 is a step of determining whether or not to restore the second parallax as the parallax corresponding to the object to be detected.
  • Step S108 is a step of determining the representative parallax at each lateral coordinate of the second parallax image from the first parallax and the revived second parallax.
  • the process executed in step S108 is also referred to as a "third process”.
  • the processes executed in steps S104 to S108 are also referred to as "third processes”.
  • Step S109 is a step of detecting an object by converting the representative parallax information into coordinates in real space and extracting a group of representative parallax.
  • the process executed in step S109 is also referred to as a "fourth process”.
  • step S109 information on the position of the object to be detected and the width of the object as seen from the stereo camera 10 side can be obtained.
  • Step S110 is a step of outputting the detected object information from the output unit 22.
  • the object information output in step 110 includes the height of the object on the image calculated in step S105, the position of the object to be detected detected in step S109, and the stereo camera 10 detected in step S109.
  • Information such as the width of the object viewed from the side may be included. This information may be provided to other devices within the mobile body 30.
  • the control unit 24 acquires or generates a first parallax image.
  • the control unit 24 In the object detection system 1 shown in FIG. 1, the control unit 24 generates a first parallax image based on the first image and the second image acquired by the acquisition unit 21.
  • the control unit 24 acquires the first parallax image generated by the generation device 25 by the acquisition unit 21.
  • the control unit 24 may store the first parallax image in the memory 23 for the subsequent processing.
  • control unit 24 Since the method of generating the first parallax image is known, it will be briefly described below. In the following, it is assumed that the control unit 24 generates the first parallax image.
  • the control unit 24 acquires the first image captured by the first camera 11 and the second image captured by the second camera 12.
  • the control unit 24 divides one image (for example, the first image) of the first image and the second image into a large number of small areas.
  • the small area can be a rectangular area in which a plurality of pixels are arranged in each of the vertical direction and the horizontal direction.
  • a small area may be composed of three pixels arranged in the vertical direction and three pixels arranged in the horizontal direction.
  • the number of pixels arranged in the vertical direction and the number of pixels arranged in the horizontal direction in the small area are not limited to three. Further, the number of pixels included in the vertical direction and the horizontal direction of the small area may be different.
  • the control unit 24 matches the pixels of the plurality of divided small regions by comparing the feature amounts while shifting the pixels in the other image one pixel at a time in the lateral direction. For example, when the first image is divided into small areas, the control unit 24 matches the small areas of the first image by comparing the feature amounts while shifting the small areas of the first image by one pixel in the lateral direction.
  • the feature quantity is, for example, a brightness and a color pattern.
  • a method using a SAD (Sum of Absolute Difference) function is known for matching stereo images. This represents the sum of the absolute values of the differences in the brightness values in the small area. When the SAD function is minimized, both images are determined to be the most similar. Matching of stereo images is not limited to the method using the SAD function. Other methods may be employed for matching stereo images.
  • the control unit 24 calculates the parallax for each small region based on the difference in the position of the pixels in the lateral direction of the two regions matched between the first image and the second image.
  • the parallax can be the difference between the position of the same subject in the first image and the position in the second image.
  • the magnitude of parallax can be expressed in units of the lateral width of the pixels on the stereo image.
  • the magnitude of the parallax can be calculated with an accuracy smaller than one pixel by performing interpolation processing.
  • the magnitude of the parallax corresponds to the distance between the subject captured by the stereo camera 10 and the stereo camera 10 in the real space. The closer the distance from the stereo camera 10 to the subject in the real space, the larger the parallax corresponding to the subject. The farther the distance from the stereo camera 10 to the subject in the real space, the smaller the parallax corresponding to the subject.
  • the control unit 24 generates a first parallax image showing the calculated parallax distribution.
  • the pixels representing the parallax constituting the first parallax image are also called "parallax pixels".
  • the control unit 24 may generate a first parallax image with the same definition as the pixels of the original first image and the second image.
  • FIG. 6 shows the first parallax image 40.
  • the first parallax image 40 is a two-dimensional plane including a horizontal direction (first direction) of the stereo camera 10 and a vertical direction (second direction) orthogonal to the horizontal direction. Parallax pixels representing parallax are arranged on the two-dimensional plane of the first parallax image 40.
  • the lateral direction is also called the "u direction”.
  • the vertical direction is also referred to as the "v direction”.
  • a coordinate system consisting of u and v directions is also referred to as an "uv coordinate system" and an "image coordinate system". In the present embodiment, the upper left corner of each drawing is the origin (0,0) of the uv coordinate system.
  • the direction from the left side to the right side of the paper in each drawing is the positive direction of the u-axis, and the opposite direction is the negative direction of the u-axis.
  • the direction from the upper side to the lower side of the paper surface of each drawing is the positive direction of the v-axis, and the opposite direction is the negative direction of the v-axis.
  • the negative direction of the v-axis corresponds to the upward direction from the road surface in real space.
  • the u-coordinate and the v-coordinate may be expressed in units of parallax pixels.
  • the first parallax image 40 includes a parallax image 41, a parallax image 42, and a parallax image 43.
  • the parallax image 41 corresponds to the road surface in front of the moving body 30.
  • the parallax image 42 corresponds to another vehicle located in front of the moving body 30.
  • the parallax image 43 is a parallax image corresponding to the guardrail.
  • the control unit 24 may display the parallax information included in each pixel of the first parallax image according to the brightness or color of each pixel.
  • the parallax of each pixel is displayed by different shading.
  • the darker the shaded area the smaller the parallax represented by the pixels in that area.
  • the thinner the shaded area the larger the parallax represented by the pixels in that area.
  • the pixels in the equally shaded area represent the parallax within a predetermined range.
  • the pixels in a part of the region have a smaller amount of features on the stereo image in the above-mentioned matching process for calculating the parallax as compared with the pixels in the other region, so that the parallax is large. It may be difficult to calculate. For example, it is difficult to calculate parallax in a spatially uniform subject portion such as a vehicle window and a portion where overexposure occurs due to reflection of sunlight. In the first parallax image, if there are parallaxes corresponding to objects and structures, they may be displayed with a different brightness or color than the parallaxes corresponding to the farther background.
  • the control unit 24 does not have to display the first parallax image as an image after calculating the parallax. That is, the control unit 24 may hold the first parallax map that is the source of the first parallax image, and appropriately perform processing on the first parallax map.
  • the control unit 24 After executing step S101, the control unit 24 performs the first process of estimating the shape of the road surface from the first parallax image (step S102). In the following, the road surface shape estimation process executed by the control unit 24 will be described with reference to the flowcharts of FIGS. 7, 8 and 14.
  • the control unit 24 extracts the road surface candidate parallax d c from the first parallax image (step S201).
  • the road surface candidate parallax d c is a parallax that is likely to correspond to the road surface parallax d r collected from the first parallax image.
  • the road surface parallax d r means the parallax of the road surface region.
  • the road surface parallax d r does not include the parallax of an object on the road surface.
  • the road surface parallax d r represents the distance to the corresponding location on the road surface.
  • the road parallax d r is collected as having similar values at positions having the same v coordinate.
  • the control unit 24 calculates the road surface candidate parallax initial value d 0 , which is the initial value of the parallax for calculating the road surface candidate parallax, based on the installation position of the stereo camera 10 (step S301).
  • the initial value d 0 of the road surface candidate parallax is the initial value of the road surface candidate parallax at the extraction position of the road surface candidate parallax closest to the stereo camera 10.
  • the extraction position of the road surface candidate parallax closest to the stereo camera 10 can be set, for example, from the range of 1 m to 10 m from the stereo camera 10.
  • the road surface height Y is the height in the vertical direction of the stereo camera 10 from the road surface 41A to be imaged.
  • the road surface height Y 0 is the height from the road surface 41A at the installation position of the stereo camera 10. Due to the undulations of the road, the road surface height Y may change depending on the distance from the stereo camera 10. Therefore, the road surface height Y at a position away from the stereo camera 10 does not match the road surface height Y 0 at the installation position of the stereo camera 10.
  • the distance Z indicates a horizontal distance to a specific road surface position.
  • B the baseline length of the stereo camera 10 and TOTALv be the image size in the vertical direction.
  • d s B / Y ⁇ (v-TOTALv / 2)
  • the road surface parallax d s calculated by the mathematical formula (1) is also called "geometric estimation road surface parallax".
  • the geometrical estimated road surface parallax may be represented by the symbol d s.
  • the initial value d 0 of the road surface candidate parallax is the optical axis of the first camera 11 and the second camera 12 between the stereo camera 10 and the extraction position of the road surface candidate parallax d c closest to the position of the stereo camera 10. It is calculated on the assumption that it is parallel to the OX and flat. In that case, the v coordinate on the first parallax image of the extraction position of the road surface candidate parallax closest to the position of the stereo camera 10 is determined to be a specific coordinate (v 0 ).
  • the coordinate (v 0 ) is an initial value of the v coordinate for extracting the road surface candidate parallax.
  • the coordinates (v 0 ) are located between TOTALv / 2 and TOTALv.
  • the coordinate (v 0 ) is located on the lowermost side (the side with the larger v coordinate) within the range of the image coordinates where the parallax can be calculated.
  • the coordinates (v 0 ) may be TOTALv corresponding to the bottom row of the first parallax image.
  • the initial value d 0 of the road surface candidate parallax can be determined by substituting v 0 for v in the mathematical formula (1) and substituting Y 0 for Y.
  • the control unit 24 calculates the parallax collection threshold value of the first row whose vertical v coordinate is the coordinate (v 0 ) based on the initial value d 0 of the road surface candidate parallax (step S302).
  • a row means an array of horizontally aligned pixels having the same v-coordinate on the first parallax image.
  • the parallax collection threshold includes an upper threshold that is an upper threshold for collecting parallax and a lower threshold that is a lower threshold for collecting parallax.
  • Parallax acquisition threshold is set based on a predetermined rule and below the road surface candidate disparity initial value d 0 to include road candidate disparity initial value d 0.
  • the road surface parallax when the road surface height Y changes up and down by a predetermined road surface height change amount ⁇ Y from the state in which the initial value d 0 of the road surface candidate parallax is calculated is the upper limit threshold value of the parallax collection threshold value and the parallax collection threshold value. It is defined as the lower limit threshold. That is, the lower limit of the parallax collection threshold is obtained by subtracting the parallax by the amount of change in the road surface height ⁇ Y from the initial value d 0 of the road surface candidate parallax.
  • the upper limit of the parallax collection threshold is obtained by adding the parallax of the amount of change in the road surface height ⁇ Y from the initial value d 0 of the road surface candidate parallax.
  • the specific lower and upper thresholds of the parallax collection threshold can be obtained by changing the value of Y in the mathematical formula (1).
  • control unit 24 repeatedly executes the process of step S303 and the process of step S307.
  • control unit 24 performs processing on the row whose v coordinate located at the lowermost side of the first parallax image is the coordinate (v 0 ) (step S303).
  • the control unit 24 collects parallax using the parallax collection threshold (step S304).
  • the control unit 24 has a parallax having a parallax between the lower limit and the upper limit of the parallax collection threshold for each parallax pixel in which the v coordinates included in the first parallax image are arranged side by side in the lateral direction of the coordinates (v 0). Pixels are collected as road surface candidate parallax d c. That is, the control unit 24 uses the parallax pixel having a parallax within a predetermined margin range based on the initial value d 0 of the road surface candidate parallax calculated by using the mathematical formula (1) to represent the correct parallax of the road surface 41A.
  • the control unit 24 uses the parallax of the parallax pixel determined to be a candidate for the parallax pixel representing the correct parallax of the road surface 41A as the road surface candidate parallax d c . With such a configuration, the control unit 24 can reduce the possibility of erroneously determining the parallax corresponding to the object or structure on the road surface 41A other than the road surface 41A as the parallax corresponding to the road surface 41A. As a result, the detection accuracy of the road surface 41A is improved.
  • the control unit 24 averages the collected road surface candidate parallax d c and obtains the average value of the road surface candidate parallax d c.
  • the average road surface candidate parallax dav is calculated (step S305).
  • the control unit 24 may store the respective road surface candidate parallax d c, its uv coordinates, and the average road surface candidate parallax d av at which the v coordinate is the coordinate (v 0 ) in the memory 23.
  • step S306 the control unit 24 sets the line one line above the average road surface candidate parallax dav whose v coordinate calculated in the process of step S305 is the coordinate (v 0 ), that is, the v coordinate is the coordinate (v 0).
  • the parallax collection threshold is calculated for each parallax pixel in the row -1).
  • the control unit 24 changes the road surface height Y so that the mathematical formula (1) holds for the average road surface candidate parallax dav when the v coordinate calculated in the process of step S304 is the coordinate (v 0).
  • Control unit 24 in place of the v 0 equation was changed road height Y (1), v 0 by substituting -1, v geometric estimated road parallax when the coordinates are the coordinates (v 0 -1) Calculate d s.
  • Control unit 24 similarly to the processing in step S302, the parallax from the geometric estimated road parallax d s minus the predetermined road surface height variation ⁇ Y amount parallax can be the lower limit threshold value of the parallax acquisition threshold.
  • the control unit 24 can use the parallax obtained by adding the parallax by a predetermined amount of change in road surface height ⁇ Y to the geometrically estimated parallax d s as the upper limit of the parallax collection threshold.
  • the control unit 24 determines whether or not the geometric estimation road surface parallax d s calculated by the mathematical formula (1) is larger than a predetermined value.
  • the predetermined value is, for example, one pixel.
  • the control unit 24 returns to the process of step S303 (step S307).
  • the control unit 24 sets the v coordinate of the row to be the target of road surface detection to the coordinate (v 0 -1). ).
  • the object of the calculation of the road candidate disparity d c is, when was the n-th row, the control unit 24, the subject line of the road surface detection is changed to n + 1 th row.
  • the width of each row in the vertical direction is widened for the sake of explanation. Each actual row is one pixel high. In this case, the v-coordinate of the n + 1th row is 1 smaller than the v-coordinate of the nth row.
  • steps S304 to S306 for the n + 1th row is performed in the same manner as or similar to the processing of the row whose v coordinate is the coordinate (v 0).
  • the control unit 24 uses the parallax acquisition threshold calculated by the processing in step S306 for the n-th row, to collect road candidate disparity d c.
  • the control unit 24 averages the collected road surface candidate parallax d c to calculate the average road surface candidate parallax d av.
  • the control unit 24 changes the road surface height Y of the mathematical formula (1) by using the average road surface candidate parallax dav.
  • the control unit 24 calculates the geometric estimation road surface parallax d s by using the mathematical formula (1) in which the road surface height Y is changed. Further, the control unit 24 calculates the parallax collection threshold value in consideration of the road surface height change amount ⁇ Y in the geometric estimation road surface parallax d s in order to extract the road surface candidate parallax d c in the n + 2nd row.
  • Control unit 24 the extraction target road candidate disparity d c, a row corresponding to the extracted position of the nearest road candidate disparity d c from the stereo camera 10, while shifting sequentially upward (v negative direction of the coordinates) ,
  • the road surface candidate parallax d c corresponding to the v coordinate is extracted.
  • the control unit 24 may store the extracted road surface candidate parallax d c in the memory 23 together with the corresponding u coordinate and v coordinate and the average road surface candidate parallax d av corresponding to the v coordinate.
  • step S307 when the geometrical estimated road surface parallax d s calculated by the mathematical formula (1) becomes equal to or less than the above-mentioned predetermined value, the control unit 24 ends the extraction process of the road surface candidate parallax d c.
  • the process returns to the process of step S201 in the flowchart of FIG. 7.
  • the predetermined value can be, for example, one pixel.
  • the initial value of the v coordinate for extracting the road surface candidate parallax d c is set to v 0 corresponding to the position on the short distance side when viewed from the stereo camera 10, and the road surface on the long distance side is sequentially set. Extract the candidate parallax d c.
  • the stereo camera 10 generally has higher parallax detection accuracy on the short-distance side than on the long-distance side. Therefore, the accuracy of the detected road surface candidate parallax d c can be improved by sequentially extracting the road surface candidate parallax d c from the short distance side to the long distance side.
  • Step S301 Following the extraction process of the road surface candidate disparity d c of ⁇ S307, the control unit 24 proceeds to the processing in step S202 of the flowchart of FIG.
  • the control unit 24 sequentially applies a Kalman filter to the road surface parallax d r when estimating the road surface parallax d r sequentially from the short distance side to the long distance side. Therefore, first, the control unit 24 initializes the Kalman filter (step S202). As the initial value of the Kalman filter, the average road surface candidate parallax d av corresponding to the lowest line (the line whose v coordinate value is v 0 ) among the lines for estimating the road surface parallax d r calculated in the process of step S305. Values are available.
  • the control unit 24 sequentially executes the following processes of steps S203 to S210 while changing the target line from the short-distance side to the long-distance side of the road surface (step S203).
  • the control unit 24 creates a histogram showing the frequency of each value of the road surface parallax d r from the road surface candidate parallax d c located within a certain width range in the real space for the target row in the first parallax image.
  • the range of a certain width in the real space is a range considering the width of the driving lane of the road.
  • the constant width can be set to a value such as 2.5 m or 3.5 m.
  • the range for acquiring parallax is initially set to, for example, the range surrounded by the solid frame line 45 in FIG.
  • the constant width is stored in advance in the memory 23 or the like of the object detection device 20.
  • the range for acquiring parallax By limiting the range for acquiring parallax to this range, the possibility that the control unit 24 mistakenly extracts an object other than the road surface 41A or a structure such as a soundproof wall as the road surface 41A is reduced. Thereby, the accuracy of road surface detection can be improved.
  • the range for acquiring the parallax shown by the solid line in FIG. 11 can be sequentially changed from the frame line 45 initially set according to the situation on the road ahead.
  • the control unit 24 sets the acquisition range of the road surface parallax d r for the target row based on the predicted value of the road surface parallax d r by the Kalman filter.
  • Acquisition range of the road surface parallax d r is the Kalman filter in a range that is determined based on the reliability of calculating in predicting road disparity d r of the next line.
  • Reliability, (the sigma standard deviation of the road surface parallax d r) variance sigma 2 of the Gaussian distribution is represented by.
  • the control unit 24 can obtain the acquisition range of the road surface parallax d r from the predicted value ⁇ 2 ⁇ or the like.
  • the control unit 24 extracts the road surface parallax d r having the maximum frequency within the acquisition range of the road surface parallax d r set based on the Kalman filter from the histogram of the road surface candidate parallax d c generated in the process of step S204. ..
  • the control unit 24 uses the extracted road surface parallax d r as an observed value of the road surface parallax dr of the target row (step S205).
  • the control unit 24, the road surface parallax d r determined by the processing in step S205 is, free of parallax or the like corresponding to the object, verify that the correct road disparity d r (step S206).
  • the control unit 24 maps the road surface parallax d r detected in each line up to the line currently being processed on the dv coordinate space with the road surface parallax d r and the v coordinate as the coordinate axes. Generate a diagram.
  • the road surface 41A is correctly detected, in the dv correlation diagram, as the value of the v coordinate decreases as shown by the broken line in FIG. 12, the road surface parallax d r also decreases linearly.
  • the dv correlation diagram is the parallax portion representing the object, and the coordinates in the vertical direction (v coordinates).
  • the parallax d becomes substantially constant regardless of the change in.
  • the object since the object includes a portion perpendicular to the road surface 41A, it is displayed on the first parallax image so as to include a large amount of parallax at equal distances.
  • the parallax d decreases as the value of the v coordinate changes.
  • the first portion R 1 is a portion that correctly detects the parallax representing the road surface 41A.
  • the parallax d is constant even if the v coordinate changes.
  • the second part R 2 is considered to be a part in which the parallax representing the object is erroneously detected.
  • the control unit 24 can determine that the parallax representing the object is erroneously recognized as the parallax representing the road surface 41A.
  • step S206 When it is determined in the process of step S206 that the parallax is not the correct road surface parallax d r (step S206: No), the control unit 24 determines that the parallax representing the object is erroneously detected, and the road surface parallax d r Is re-searched (step S207). In the process of step S207, the control unit 24 re-searches the road surface parallax histogram in the region of the row where the parallax d does not change even if the value of the v coordinate changes.
  • step S206 When the road surface parallax d r is determined to be correct in the process of step S206 (step S206: Yes), and when the re-search for the road surface parallax d r is completed in the process of step S207, the control unit 24 sends the control unit 24 to step S208. Proceed to the process of. In the process of step S208, the control unit 24 determines the horizontal range of the parallax image 41 corresponding to the road surface on the first parallax image to be generated to generate the histogram of the next row shifted by one pixel in the vertical direction. .. For example, as shown in FIG.
  • the road surface detection unit 26 performs the parallax image 41 corresponding to the road surface of the portion overlapping with the other vehicle. You can not get the correct road parallax d r of.
  • the control unit 24 sequentially changes the range for acquiring the road surface candidate parallax d c in the lateral direction as shown by the broken line in FIG.
  • the control unit 24 determines in the process of step S206 that the parallax representing the object is included, the road surface candidate parallax d c representing the correct road surface parallax d r on any side of the object in the lateral direction. Detect if there are many. In the next line, the control unit 24 sequentially shifts the range for acquiring the parallax to the side (right side in FIG. 11) including the road surface candidate parallax d c representing more correct parallax d r in the lateral direction.
  • the control unit 24 uses the road disparity d r of the current line determined by the processing of the processing or S207 in step S205, updates the Kalman filter (step S209). That is, the Kalman filter calculates an estimated value of the road surface parallax d r based on the observed value of the road surface parallax d r in the current row. When the estimated value of the current row is calculated, the control unit 24 adds the estimated value of the road surface parallax d r of the current row as a part of the past data, and adds the estimated value of the road surface parallax d r of the next row. Used for calculation processing.
  • the estimation using a Kalman filter of the present embodiment it is estimated that the road surface parallax d r of the next line in the vicinity of the road surface parallax d r of the current line is present.
  • control unit 24 to limit the scope of the parallax generating a histogram of the next line in the vicinity of the road surface parallax d r of the current line, the possibility of erroneous detection of an object other than the road surface 41A is reduced To. Further, the amount of calculation executed by the control unit 24 can be reduced to speed up the processing.
  • step S210 When the road surface parallax d r estimated by the Kalman filter in the process of step S209 is larger than the predetermined value, the control unit 24 returns to the process of step S203 and repeatedly executes the processes of steps S203 to S209.
  • step S210 When the road surface parallax d r estimated by the Kalman filter is equal to or less than a predetermined value (step S210), the control unit 24 proceeds to the next process (step S211).
  • the predetermined value can be, for example, one pixel.
  • step S211 the control unit 24 approximates the relationship between the image coordinates v in the vertical direction and the estimated road surface parallax d r with two straight lines on the dv correlation diagram.
  • the road parallax dr is related to the distance Z from the stereo camera 10.
  • the value of the v coordinate is related to the distance Z from the stereo camera 10 and the road surface height Y. Therefore, approximating the relationship between the v coordinate and the road surface parallax d r with two straight lines means that the relationship between the distance Z from the stereo camera 10 and the height of the road surface 41A is approximated by the two straight lines. Can be done.
  • the process of step S211 will be described in detail in the flowchart of FIG.
  • the correlation between the road surface parallax d r and the v coordinate can be obtained.
  • the correlation between the v coordinate and the road surface parallax d r is shown in the dv coordinate space as shown by the broken line graph 51 in FIG.
  • the graph 51 becomes a straight line.
  • the slope of the actual road surface 41A may change due to changes in undulations such as ups and downs.
  • the graph 51 in the dv coordinate space cannot be represented by a straight line. If an attempt is made to approximate the change in the inclination of the road surface 41A with three or more straight lines or curves, the processing load of the object detection device 20 becomes large. Therefore, in the present application, the graph 51 is approximated by two straight lines.
  • the control unit 24 the lower side of the d-v coordinate space the estimated road surface parallax d r of (near side) is approximated by the least squares method by the first straight line 52 (step S401) .
  • the approximation by the first straight line 52 can be performed within the distance range targeted by the object detection device 20 for object detection, up to the road surface parallax d r corresponding to a predetermined distance.
  • the predetermined distance can be half the distance of the distance range that the object detection device 20 targets for object detection.
  • the first straight line 52 is in the range from the closest distance that the stereo camera 10 can measure to 50 m away, by the least squares method. It may be determined to be closest to the graph 51.
  • the control unit 24 determines whether or not the inclination of the road surface 41A represented by the first straight line 52 approximated by the process of step S401 is a possible inclination as the road surface 41A (step S402).
  • the inclination angle of the first straight line 52 becomes a plane when converted into real space.
  • the inclination of the first straight line 52 corresponds to the inclination angle of the road surface 41A in the yz plane, which is determined according to conditions such as the road surface height Y 0 and the baseline length B at the installation position of the stereo camera 10.
  • the control unit 24 can determine that the inclination of the road surface 41A in the real space corresponding to the first straight line 52 is a possible inclination when the inclination is within a predetermined angle range with respect to the horizontal plane in the real space.
  • the control unit 24 can determine that the inclination is impossible. ..
  • the predetermined angle can be appropriately set in consideration of the traveling environment of the moving body 30.
  • step S402 when it is determined that the inclination of the first straight line 52 is an impossible inclination as the road surface 41A (step S402: No), the control unit 24 assumes that the road surface 41A is flat.
  • the first straight line 52 is determined based on (step S403).
  • the theoretical road surface can be calculated based on the installation conditions such as the road surface height Y 0 at the installation position of the stereo camera 10, the installation angle, and the baseline length B.
  • the control unit 24 adopts the theoretical road surface parallax.
  • control unit 24 if accidentally parallax representing the object or structure other than a road surface 41A and extracted as road disparity d r, it is determined to have an unrealistic inclination of the road surface 41A, can be eliminated errors There is. Accordingly, the parallax representing the object or structure other than the road surface 41A can reduce the possibility of erroneous determination that the road disparity d r.
  • step S402 when the control unit 24 determines that the inclination of the first straight line 52 is a possible inclination as the road surface 41A (step S402: Yes), and after executing the process of step 403, the control unit 24 proceeds to the process of step S404.
  • the control unit 24 determines the approximation start point 53 that starts the approximation of the second straight line 55.
  • the control unit 24 calculates an approximation error with the graph 51 from the smallest side (long distance side) to the larger side (short distance side) of the v coordinate of the first straight line 52, and the approximation error continuously exceeds a predetermined value.
  • the smaller coordinates on the first straight line 52 can be set as the approximation start point 53.
  • the approximation start point 53 calculates an approximation error with the graph 51 from the largest side (short distance image side) to the smallest side (long distance side) of the v coordinate of the first straight line 52, and the approximation error is a predetermined value. It may be determined as the coordinates on the first straight line 52 when it becomes larger.
  • the v-coordinate of the approximation start point 53 is not fixed to a specific value.
  • the approximation start point 53 is set at a v-coordinate position corresponding to a position closer to the stereo camera 10 side than a distance of half of the distance range targeted by the object detection device 20 on the first straight line 52.
  • the approximation start point 53 is set at the v-coordinate position corresponding to 40 m before 50 m. You can.
  • the control unit 24 After executing the process of step S404, the control unit 24 repeatedly executes the processes of steps S405 to S407. As shown in FIG. 16, the control unit 24 sets the angle difference from the first straight line 52 as an angle selected from a predetermined angle range, and sets the candidate straight line as a candidate for the second straight line 55 starting from the approximation start point 53. 54 are sequentially selected (step S405).
  • the predetermined angle range is set as an angle at which the slope of the road can change within the distance range to be measured.
  • the predetermined angle range can be, for example, ⁇ 3 degrees.
  • the control unit 24 changes the angle of the candidate straight line 54 from the angle of the first straight line 52 to -3 degrees to the angle of the first straight line 52 + 3 degrees, sequentially adding 0.001 degrees each. be able to.
  • the control unit 24 calculates an error from the portion above (long distance side) of the approximate start point 53 of the graph 51 in the dv coordinate space (step S406).
  • the error can be calculated by the mean square error of the parallax d with respect to the v coordinate.
  • the control unit 24 may store the error calculated for each candidate straight line 54 in the memory 23.
  • the control unit 24 searches for the minimum error from the errors stored in the memory 23. As shown in FIG. 17, the control unit 24 selects the candidate straight line 54 having the minimum error as the second straight line 55 (step S408).
  • control unit 24 determines whether or not the error of the second straight line 55 from the graph 51 is within a predetermined value (step S409).
  • the predetermined value is appropriately set in order to obtain the desired accuracy of road surface estimation.
  • step S409 Yes
  • the road surface parallax dr is approximated by using the first straight line 52 and the second straight line 55.
  • step S409 When the error exceeds a predetermined value in the process of step S409 (step S409: No), the control unit 24 extends the first straight line 52 upward (long distance side) and overwrites the approximation result (step S410). As described above, the road surface parallax d r is approximated by the two straight lines.
  • the shape of the road surface is approximated with two straight lines.
  • the load related to the subsequent calculation is reduced and the object detection process is speeded up.
  • the error from the actual road surface is smaller than that in the case where the road surface is approximated by one straight line.
  • the accuracy of approximation with the actual road surface is improved as compared with the case where the coordinates of the approximation start point 53 are fixed in advance. can do.
  • step S409: Yes When the error is within a predetermined value in the process of step S409 (step S409: Yes) and after executing the process of step S410, the control unit 24 ends the process of linearly approximating the road surface parallax dr, and the step of FIG. Return to the process of S212.
  • step S212 the threshold value of road surface parallax d r to be removed from the first parallax image is determined (step S212). Threshold road disparity d r to be removed from the first parallax image corresponds to a first height, which will be described later. The first height can be calculated so that the road surface parallax d r is removed in the process of the next step S103.
  • control unit 24 returns to the flowchart of FIG.
  • the control unit 24 has acquired an approximate expression that approximates the relationship between the v coordinate and the road surface parallax d r in the dv coordinate space with two straight lines. From the approximate expression expressing the relationship between the v coordinate and the road surface parallax d r in the dv coordinate space, the relationship between the distance Z in front of the stereo camera 10 and the road surface height Y in the real space can be obtained.
  • the control unit 24 executes (second process) based on the approximate expression (step S103).
  • the parallax corresponding to the range in which the height from the road surface 41A in the real space is equal to or less than the first height and the parallax corresponding to the subject whose height from the road surface 41A is equal to or higher than the second height are obtained. 1
  • the control unit 24 generates the second parallax image 60 as shown in FIG. 18 from the first parallax image 40 shown in FIG.
  • FIG. 18 is a diagram drawn for illustration purposes. An actual second parallax image based on the image acquired from the stereo camera 10 is shown in FIG. 19, for example. In FIG. 19, the magnitude of parallax is expressed by the shade of black and white.
  • the second parallax image shown in FIG. 19 includes a parallax image 44 corresponding to another vehicle.
  • the first height may be set so as to be smaller than the minimum value of the height of the object to be detected by the object detection device 20.
  • the minimum height of the object to be detected by the object detection device 20 may be the extension of the child (for example, 50 cm).
  • the first height may be greater than 15 cm and less than 50 cm. Since the first parallax image 40 shown in FIG. 6 contains noise, the above-mentioned processing may reduce the detection accuracy of the parallax corresponding to the road surface. In this case, if the parallax corresponding to the detected road surface is simply removed from the first parallax image 40, the parallax corresponding to the road surface may remain in a part of the parallax image 41.
  • a second parallax image obtained by accurately removing the parallax corresponding to the road surface from the parallax image 41 is obtained. Be done.
  • the parallax information corresponding to the range in which the height from the road surface in the real space is equal to or less than the first height is removed.
  • the parallax image 41 corresponding to the road surface does not include parallax information.
  • the parallax image 41 corresponding to the road surface and the parallax image 42 corresponding to another vehicle are adjacent to each other.
  • the parallax image 41 since the parallax image 41 does not include the parallax information, it is possible that the parallax image 42 corresponding to the other vehicle can be easily processed in the subsequent processing. Further, by removing unnecessary parallax that is not related to the object to be detected, the processing speed described later can be increased.
  • the second height may be appropriately set based on the maximum height of the object to be detected by the object detection device 20.
  • the second height may be set based on the upper limit of the height of the vehicle that can travel on the road.
  • the height of vehicles that can travel on the road is regulated by traffic regulations. For example, under the Japanese Road Traffic Law, the height of trucks is 3.8 m or less in principle. In this case, the second height may be 4 m.
  • the parallax image corresponding to the object located on the negative direction side of the v-axis is removed by removing the parallax corresponding to the object whose height from the road surface is the second height or more. Does not contain parallax information.
  • the processing for the parallax information of the parallax image 42 corresponding to the other vehicle in FIG. 18 can be facilitated in the later processing. Further, by removing unnecessary parallax that is not related to the object to be detected, the processing speed described later can be increased.
  • step S104 After executing the process of step S103, the control unit 24 detects the first parallax and the second parallax from the second parallax image (step S104). Details of the process in step S104 are shown in the flowchart shown in FIG.
  • the control unit 24 divides the second parallax image into a plurality of partial regions by dividing the second parallax image by ⁇ u1 along the u direction.
  • FIG. 21 shows the partial region 61 superimposed on the second parallax image 60.
  • the partial region 61 can be rectangular with long sides significantly longer than short sides.
  • the long side of the partial region 61 is five times or more the short side of the partial region 61.
  • the long side of the partial region 61 may be 10 times or more the short side of the partial region 61, or may be 20 times or more the short side of the partial region 61.
  • the short side of the partial region 61 that is, ⁇ u1, may be several pixels to several tens of pixels.
  • the first parallax and the second parallax can be detected as described later.
  • the control unit 24 may sequentially acquire the partial regions 61 from the negative direction side to the positive direction side of the u-axis shown in FIG. 21 and execute the processes of steps S502 to S506 below.
  • the control unit 24 In the process of step S502, the control unit 24 generates a parallax histogram for each partial region.
  • FIG. 22 shows an example of a parallax histogram.
  • the horizontal axis of FIG. 22 corresponds to the magnitude of parallax.
  • the vertical axis of FIG. 22 corresponds to the frequency of parallax.
  • the frequency of parallax is the number of parallax pixels representing the parallax included in the partial region.
  • the partial region 61 may include a plurality of parallax pixels in a parallax image corresponding to the same object.
  • the partial region 61-1 includes a plurality of parallax pixels 42a.
  • the plurality of parallax pixels 42a are parallax pixels included in the partial region 61-1 among the plurality of parallax pixels in the parallax image 42 corresponding to another vehicle.
  • the parallax represented by the plurality of parallax pixels corresponding to the same object can be about the same.
  • the parallax represented by the plurality of parallax pixels 42a can be about the same. That is, in the parallax histogram shown in FIG. 22, the frequency of parallax corresponding to the same object can be high.
  • the control unit 24 may widen the width of the section Sn of the parallax histogram shown in FIG. 22 as the parallax becomes smaller.
  • the section Sn is the nth section of the parallax histogram counting from the one with the smallest parallax.
  • the starting point of the section Sn is the parallax dn-1.
  • the end point of the section Sn is the parallax dn.
  • the control unit 24 may widen the width of the section Sn-1 by about 10% of the width of the section Sn than the width of the section Sn.
  • the parallax corresponding to the object can be smaller than when the distance from the stereo camera 10 to the object is short.
  • the number of pixels occupied by the object on the stereo image may be smaller than when the distance from the stereo camera 10 to the object is short. That is, when the distance from the stereo camera 10 to the object is long, the number of parallax pixels representing the parallax corresponding to the object on the second parallax image is larger than that when the distance from the stereo camera 10 to the object is short. , Can be less.
  • the control unit 24 may sequentially execute the processes of steps S503 to S506 for each section of the parallax histogram.
  • the control unit 24 determines in the generated parallax histogram whether or not there is a section Sn in which the frequency of parallax exceeds the first threshold value Tr1 (predetermined threshold value).
  • Tr1 first threshold value
  • the control unit 24 extends from the start point (parallax dn-1) of the section Sn to the end point (parallax dn) of the section Sn.
  • the parallax in the range of is detected as the first parallax (step S504).
  • the control unit 24 detects the first parallax by regarding it as the parallax corresponding to the object.
  • the control unit 24 associates the detected first parallax with the u coordinate and stores it in the memory 23. On the other hand, when the control unit 24 determines in the generated parallax histogram that there is no section Sn whose parallax frequency exceeds the first threshold value Tr1 (step S503: No), the control unit 24 proceeds to the process of step S505.
  • the first threshold value Tr1 may be set based on the minimum value of the height of the object to be detected by the object detection device 20 (for example, the extension of the child is 50 cm). However, as described above, when the object is at a distance from the stereo camera 10, the parallax corresponding to the object can be smaller than when the object is at a distance closer to the stereo camera 10. In this case, if the first threshold Tr1 is set to be constant with respect to the parallax, it may be difficult to detect the parallax corresponding to the object at a distance from the stereo camera 10 as compared with the object at a distance from the stereo camera 10. is there.
  • the first threshold value Tr1 may be set so as to increase as the parallax of the parallax histogram decreases, based on the minimum value of the height of the object to be detected by the object detection device 20.
  • the parallax d is the parallax corresponding to the horizontal axis of the parallax histogram.
  • the height H is the minimum value of the height of the object to be detected by the object detection device 20.
  • the baseline length B is the distance (baseline length) between the optical center of the first camera 11 and the optical center of the second camera 12.
  • the process of step S505 is a process of determining whether or not to detect the second parallax.
  • the reason for detecting the second parallax will be described.
  • the parallax of a part of the parallax image corresponding to the object is not calculated or is different from the parallax of another part due to the small amount of features on the stereo image. It may be smaller than that.
  • the parallax in the lower central portion of the parallax image 44 corresponding to another vehicle is not calculated due to the small amount of features on the stereo image.
  • the parallax image corresponding to the object is not calculated, for example, even if the actual height in the real space is 50 cm or more, the height in the real space is less than 50 cm (for example, 10 cm) on the second parallax image. ) Can be displayed as two or more separate objects. That is, even if the actual height in the real space is equal to or higher than the height to be detected, if a part of the parallax image corresponding to the object is missing, the parallax corresponding to the object will be the above-mentioned first threshold value. Depending on the determination process by Tr1, it may not be detected as the first parallax.
  • the parallax that is not detected as the first parallax is detected as a candidate for the parallax corresponding to the object, that is, as the second parallax.
  • the second parallax it is possible to determine whether or not to restore it as the parallax of the object to be detected in the process of step S107 described later shown in FIG. 5 described later.
  • step S505 the control unit 24 determines in the generated parallax histogram whether or not there is a section Sn whose parallax frequency is equal to or less than the first threshold value Tr1 and exceeds the second threshold value Tr2 (predetermined threshold value). ..
  • the second threshold value Tr2 may be a predetermined ratio of the first threshold value Tr1.
  • the predetermined ratio may be appropriately set based on the ratio between the portion where the parallax is not calculated and the portion where the parallax is calculated in the parallax image for the same object. For example, the predetermined ratio may be 0.2.
  • step S505 when the control unit 24 determines in the generated parallax histogram that there is a section Sn whose parallax frequency is equal to or less than the first threshold value Tr1 and exceeds the second threshold value Tr2 (step S505: Yes). , Proceed to the process of step S506.
  • step S505 when the control unit 24 determines in the generated parallax histogram that the frequency of parallax is equal to or less than the first threshold value Tr1 and there is no section Sn exceeding the second threshold value Tr2 (step S505: No), FIG. The process returns to the process of step S105 shown in.
  • step S506 the control unit 24 detects the parallax in the range from the start point (parallax dn-1) of the section Sn to the end point (parallax dn) of the section Sn as the second parallax (step S506).
  • the control unit 24 associates the detected second parallax with the u coordinate and stores it in the memory 23. After executing the process of step S506, the control unit 24 returns to the process of step S105 shown in FIG.
  • step S105 the control unit 24 calculates the height of the object on the image. Details of the process in step S105 are shown in the flowcharts shown in FIGS. 23 to 25.
  • control unit 24 shall execute the calculation process of the height of the object on the second parallax map, that is, the second parallax image as the parallax map.
  • control unit 24 may execute the calculation process of the height of the object on an arbitrary parallax map in which the parallax is associated with the uv coordinates.
  • the control unit 24 calculates the height of the object on the image by scanning the parallax pixels along the v direction at the u coordinate of the search target.
  • control unit 24 displays a parallax pixel representing the first parallax regarded as the parallax corresponding to the object and / or a parallax image representing the second parallax which is a candidate for the parallax corresponding to the object along the v direction. By scanning, the height of the object on the image is calculated.
  • the control unit 24 acquires the minimum coordinate of the u coordinate as the u coordinate of the search target.
  • the minimum and maximum coordinates mean the minimum and maximum coordinates of the scanning range when used for scanning on an image.
  • the minimum and maximum coordinates of the scanning range do not have to match the minimum and maximum coordinates on the image.
  • the minimum and maximum coordinates of the scanning range may be set arbitrarily.
  • control unit 24 refers to the memory 23 and refers to whether or not there is a first parallax or a second parallax detected by the process shown in FIG. 20 associated with the u coordinate to be searched. Is determined.
  • FIG. 26 shows the second parallax image 70.
  • FIG. 26 shows a part of the second parallax image 70.
  • the second parallax image 70 corresponds to the region 62 of the second parallax image 60 shown in FIG.
  • the second parallax image 70 includes a parallax image 42 of another vehicle.
  • the shaded portion is a parallax pixel representing the first parallax or the second parallax.
  • step S601 when the control unit 24 does not determine that the first parallax or the second parallax associated with the u coordinate to be searched exists (step S601: No), the control unit 24 proceeds to the process of step S602. On the other hand, when the control unit 24 determines that the first parallax or the second parallax associated with the u coordinate to be searched exists (step S601: Yes), the control unit 24 proceeds to the process of step S604.
  • step S602 the control unit 24 determines whether or not the u coordinate of the search target is the maximum coordinate.
  • the control unit 24 has searched the u-coordinate from the minimum coordinate to the maximum coordinate.
  • the control unit 24 determines that the u coordinate to be searched is the maximum coordinate (step S602: Yes)
  • the control unit 24 ends the process shown in FIG. 23 and returns to the process of step S106 shown in FIG.
  • the control unit 24 determines that the u-coordinate of the search target is not the maximum coordinate.
  • step S603 when the control unit 24 determines that the u coordinate of the search target is not the maximum coordinate (step S602: No), the control unit 24 increments the u coordinate of the search target by one (step S603).
  • the control unit 24 executes the process of step S601 with respect to the u coordinate incremented by one by the process of step S603. For example, the control unit 24 starts the u coordinate of the search target from the coordinate (u 0 ) shown in FIG. 26 and steps until it determines that the first parallax or the second parallax associated with the u coordinate of the search target exists.
  • the processes of S601 to S603 can be repeatedly executed.
  • the control unit 24 acquires the target parallax.
  • the target parallax may be only the first parallax detected as the parallax corresponding to the object.
  • the target parallax may be a parallax that satisfies the determination process of step S503 shown in FIG. 20 as a predetermined condition.
  • the target parallax may include both the first parallax and the second parallax.
  • the parallax may satisfy the determination process of step S503 and the determination process of step S505 shown in FIG. 20 as predetermined conditions.
  • the target parallax will be described as including both the first parallax and the second parallax.
  • control unit 24 acquires the maximum parallax among the first parallax and the second parallax associated with the u-coordinate of the search target stored in the memory 23 as the target parallax.
  • the control unit 24 calculates the v-coordinate of the road surface corresponding to the target parallax. For example, the control unit 24 substitutes the target parallax, the road disparity d r of the approximate expression (Fig. 17) showing the relationship between v coordinate and the road surface parallax d r of the road surface acquired by the process at step S211 shown in FIG. 7 As a result, the v-coordinate of the road surface is calculated.
  • the u coordinate of the search target is the coordinate (u 1).
  • the control unit 24 calculates the coordinates (v 1) as the v coordinates of the road surface.
  • the control unit 24 determines whether or not there is a coordinate associated with a parallax substantially equal to the target parallax within a predetermined range along the negative direction of the v-axis from the calculated v-coordinate of the road surface. To judge.
  • the "parallax substantially equal to the target parallax” includes the same parallax as the target parallax and the parallax substantially the same as the target parallax.
  • "parallax substantially the same as the target parallax” means a parallax that can be treated as a target parallax in image processing.
  • a parallax in which the difference from the target parallax is in the range of ⁇ 10% may be set as a parallax substantially equal to the target parallax.
  • the predetermined range in the process of step S602 may be appropriately set based on the height of the object floating from the road surface from the road surface. Examples of objects floating from the road surface include roadside trees, pedestrian bridges, and traffic lights. Such an object floating from the road surface is not a detection target of the object detection device 20. That is, it is not necessary to calculate the height of such an object floating from the road surface.
  • step S606 when the control unit 24 does not determine that there is a coordinate associated with a parallax substantially equal to the target parallax within a predetermined range from the v coordinate of the road surface along the negative direction of the v axis (step S606: No), the process proceeds to step 607 without calculating the height of the object.
  • the control unit 24 adds a scanned flag to the target parallax acquired in the process of step S604 stored in the memory 23. After executing the process of step S607, the control unit 24 executes the process of step S601 again.
  • step S601 to be executed again the control unit 24 determines whether or not there is a first parallax or a second parallax to which the scanning flag is not added for the u coordinate to be searched.
  • step S604 to be executed again the maximum parallax among the first parallax and the second parallax to which the scanning flag is not added is acquired as the target parallax.
  • step S606 when the control unit 24 determines that the coordinates associated with the parallax substantially equal to the target parallax exist within a predetermined range from the v coordinate of the road surface along the negative direction of the v axis (step S606: Yes), the process proceeds to step S608.
  • step S608 the control unit 24 acquires, as the first coordinate, the coordinates that are within a predetermined range from the v coordinate of the road surface along the negative direction of the v axis and are associated with a parallax substantially equal to the target parallax. To do. In FIG. 26, it is assumed that the u coordinate of the search target is the coordinate (u 1).
  • the coordinates (u 1 , v 2 ) of the parallax pixel 71 are associated with a parallax substantially equal to the target parallax. That is, the parallax pixel 71 represents a parallax substantially equal to the target parallax. Further, the v-coordinates of the road surface coordinate (v 0) and the coordinates of v coordinates of the parallax pixel 71 (v 1), intended to be within the predetermined range. In this case, the control unit 24 acquires the coordinates (u 1 , v 2 ) of the parallax pixel 71 as the first coordinates.
  • the control unit 24 determines whether or not a parallax substantially equal to the target parallax is associated with the coordinates obtained by decrementing one v-coordinate of the first coordinate (step S609). ..
  • the first coordinate is the coordinate (u 1 , v 2 ) of the parallax pixel 71.
  • the coordinates obtained by decrementing one v-coordinate of the parallax pixel 71 are the coordinates (u 1 , v 3 ) of the parallax pixel 72.
  • the parallax pixel 72 represents a parallax substantially equal to the target parallax.
  • the control unit 24 has a parallax substantially equal to the target parallax at the coordinates (u 1 , v 3 ) of the parallax pixel 72, which is a decremented one v- coordinate of the coordinates (u 1 , v 2) which are the first coordinates. Is determined to be associated.
  • step S609 when the control unit 24 determines that the coordinates obtained by decrementing one v-coordinate of the first coordinate are associated with a parallax substantially equal to the target parallax (step S609: Yes), the step. Proceed to the process of S610.
  • the control unit 24 updates the coordinates obtained by decrementing one v-coordinate of the first coordinate as the first coordinate.
  • the first coordinate is the coordinate of the parallax pixel 71 (u 1 , v 2 )
  • the first coordinate is updated to the coordinate of the parallax pixel 72 (u 1 , v 3) by the process of step S610.
  • the control unit 24 After executing the process of step S610, the control unit 24 returns to the process of step S609. For example, the control unit 24 repeatedly executes the process of step S609 and the process of step S610 until the coordinates (u 1 , v 4 ) of the parallax pixel 73 shown in FIG. 26 are updated as the first coordinates.
  • the coordinates (u 1 , v 4 ) of the parallax pixel 73 are associated with a parallax substantially equal to the target parallax.
  • step S609 when the control unit 24 determines that the coordinates obtained by decrementing one v-coordinate of the first coordinate are not associated with a parallax substantially equal to the target parallax (step S609: No), the figure.
  • the process proceeds to step S611 shown in 24.
  • the first coordinate is the coordinate (u 1 , v 4 ) of the parallax pixel 73.
  • the coordinates obtained by decrementing one v-coordinate of the parallax pixel 73 are the coordinates (u 1 , v 5 ) of the parallax pixel 74.
  • the parallax pixel 74 represents a parallax smaller than a parallax substantially equal to the target parallax. That is, the coordinates (u 1 , v 5 ) of the parallax pixel 74 are not associated with a parallax substantially equal to the target parallax. In this case, the control unit 24 has substantially equal to the target parallax at the coordinates (u 1 , v 5 ) of the parallax pixel 74 obtained by decrementing one v coordinate of the coordinates (u 1 , v 4) which are the first coordinates. It is determined that the parallax is not associated.
  • step S611 the control unit 24 determines whether or not the v-coordinate of the first coordinate is the minimum coordinate.
  • the control unit 24 has completely scanned the second parallax image along the negative direction of the v-axis.
  • step S611: Yes the control unit 24 determines that the v-coordinate of the first coordinate is the minimum coordinate
  • step S616 the control unit 24 proceeds to the process of step S612.
  • step S611: No the control unit 24 proceeds to the process of step S612.
  • the v coordinate (coordinate (v 4 )) of the first coordinate is not the minimum coordinate. judge.
  • the first coordinate is the coordinate (u 1 , v 4 ) of the parallax pixel 73.
  • the parallax pixel 75 exists on the negative direction side of the v-axis of the parallax pixel 73.
  • the parallax pixel 75 represents a parallax substantially equal to the target parallax.
  • the parallax pixel 73 and the parallax pixel 75 are a part of the parallax image 42 corresponding to another vehicle which is the same object.
  • parallax pixels included in a parallax image corresponding to the same object may be located apart in the v direction, such as the parallax pixels 73 and the parallax pixels 75.
  • the control unit 24 determines whether or not there is a coordinate associated with a parallax substantially equal to the target parallax within a predetermined interval from the v coordinate of the first coordinate along the negative direction of the v axis. Is determined.
  • the predetermined interval may be appropriately set based on the height of the object to be detected by the object detection device 20. For example, the predetermined interval may be appropriately set based on the height of the rear surface of the vehicle (for example, 80 cm). In FIG. 26, the distance between the parallax pixel 73 and the parallax pixel 75 in the v direction is within a predetermined distance.
  • the control unit 24 When the first coordinate is the coordinates of the parallax pixel 73 (u 1 , v 4 ), the control unit 24 has the coordinates (u 1 , v 6 ) of the parallax pixel 75 associated with the parallax substantially equal to the target parallax. Then it is determined.
  • step S612 when the control unit 24 determines that there is a coordinate associated with a parallax substantially equal to the target parallax within a predetermined interval along the negative direction of the v-axis from the v-coordinate of the first coordinate (Ste S612: Yes), the process proceeds to step S613. On the other hand, when the control unit 24 determines that there is no coordinate associated with a parallax substantially equal to the target parallax within a predetermined interval from the v coordinate of the first coordinate along the negative direction of the v axis (step S612: No), the process proceeds to step S615.
  • step S613 aims to determine whether or not the target parallax and the parallax substantially equal to the target parallax in the process of step S612 are parallax corresponding to the same object. Before explaining the process of step S613, an example of the second parallax image will be described with reference to FIGS. 27 and 28.
  • FIG. 27 shows the second parallax image 80.
  • the second parallax image 80 is generated based on the first image 90 shown in FIG. 28.
  • the first image 90 includes an image 91 corresponding to another vehicle, an image 92 corresponding to a roadside tree, and an image 93 corresponding to a structure.
  • the second parallax image 80 corresponds to the parallax image 81 corresponding to the image 91 shown in FIG. 28, the parallax image 82 corresponding to the image 92 shown in FIG. 28, and the image 93 shown in FIG. 28.
  • the parallax image 85 to be used is included.
  • the parallax image 81 includes parallax pixels 83.
  • the parallax image 82 includes parallax pixels 84.
  • the u coordinates of the parallax pixel 83 and the parallax pixel 84 are the same in coordinates (u 2). Further, in the real space, the distance from the stereo camera 10 to the other vehicle corresponding to the image 91 shown in FIG. 28 and the distance from the stereo camera 10 to the roadside tree corresponding to the image 92 shown in FIG. 28 are substantially equal. When these two distances are substantially equal, the parallax represented by the parallax pixel 83 of the parallax image 81 shown in FIG.
  • the parallax represented by the parallax pixel 84 of the parallax image 82 shown in FIG. 27 can be substantially equal. Further, in the height direction of the real space, the distance between the other vehicle corresponding to the image 92 shown in FIG. 28 and the roadside tree corresponding to the image 92 shown in FIG. 28 is short. Due to the close distance between these two, the distance between the parallax pixel 83 of the parallax image 81 and the parallax pixel 84 of the parallax image 82 in the v direction shown in FIG. 27 is within the above-mentioned predetermined distance in the process of step S612. Become.
  • the control unit 24 can acquire the parallax represented by the parallax pixel 83 and the parallax pixel 84 as the target parallax. Further, the control unit 24 can update the coordinates of the parallax pixel 83 as the first coordinates.
  • the u coordinate of the search target is the coordinate (u 2 )
  • the control unit 24 determines the coordinates of the parallax pixel 84 because the distance between the parallax pixel 83 and the parallax pixel 84 is within the above-mentioned predetermined distance. , Consider updating as the first coordinate.
  • the control unit 24 can continue scanning over the parallax pixels of the parallax image 82 corresponding to the roadside trees. As a result, the control unit 24 detects the height with respect to the parallax image 82, that is, the height T2 corresponding to the roadside tree, as the height of the object.
  • parallax pixels 86 there are a plurality of parallax pixels 86 between the parallax pixel 83 and the parallax pixel 84.
  • the plurality of parallax pixels 86 are included in the parallax image 85.
  • the structure corresponding to the parallax image 85 is located farther from the stereo camera 10 than the vehicle and the roadside trees. Therefore, the parallax represented by the plurality of parallax pixels 86 of the parallax image 85 is smaller than the parallax represented by the parallax pixels 83 and the parallax pixels 84.
  • the control unit 24 determines whether or not there are more than a predetermined number of coordinates associated with the third parallax between the first coordinate and the second coordinate.
  • the second coordinate is a coordinate located within a predetermined interval along the negative direction of the v-axis from the first coordinate, and is a coordinate associated with a parallax substantially equal to the target parallax.
  • the first coordinate is the coordinate of the parallax pixel 83 shown in FIG. 27, the second coordinate is the coordinate of the parallax pixel 84.
  • the third parallax is a parallax smaller than the target parallax.
  • the third parallax may be set based on the parallax corresponding to the background.
  • the third parallax may be set assuming the parallax represented by the parallax pixel 86 shown in FIG. 27.
  • the predetermined number may be appropriately set assuming the number including the parallax pixels representing the third parallax at the above-mentioned predetermined interval.
  • step S613 when the control unit 24 determines that there are more than a predetermined number of coordinates associated with the third parallax between the first coordinate and the second coordinate (step S613: Yes).
  • step S616 For example, when the first coordinate and the second coordinate are the coordinates of the parallax pixel 83 and the parallax pixel 84 shown in FIG. 27, the control unit 24 has a predetermined number between the coordinates of the parallax pixel 83 and the coordinates of the parallax pixel 84. It is determined that the parallax pixel 86 exceeding the above is present.
  • step S614 Proceed to processing.
  • the control unit 24 sets between the coordinates of the parallax pixel 73 and the coordinates of the parallax pixel 75. It is determined that there are no parallax pixels 74 exceeding a predetermined number.
  • the control unit 24 updates the second coordinate as the first coordinate. For example, when the first coordinate and the second coordinate are the coordinates of the parallax pixel 73 and the coordinates of the parallax pixel 75 shown in FIG. 26, the control unit 24 sets the coordinates (u 1 , v 6 ) of the parallax pixel 75 to the first. Update as coordinates.
  • the control unit 24 returns to the process of step S609 shown in FIG. For example, in the configuration shown in FIG. 26, the control unit 24 can repeatedly execute the process from step S609 until the coordinates (u 1 , v 7) of the parallax pixel 76 are updated as the first coordinates.
  • the control unit 24 determines whether or not there are coordinates associated with a parallax substantially equal to the target parallax beyond a predetermined interval along the negative direction of the v-axis from the first coordinate. ..
  • the first coordinate is the coordinate (u 1 , v 7 ) of the parallax pixel 76 shown in FIG. 26, the control unit 24 has a predetermined interval from the coordinate (u 1 , v 7 ) along the negative direction of the v axis. , And it is determined that there is no coordinate associated with a parallax substantially equal to the target parallax.
  • step S615: No When the control unit 24 determines that there is no coordinate associated with a parallax substantially equal to the target parallax beyond a predetermined interval along the negative direction of the v-axis from the first coordinate (step S615: No), the step. Proceed to the process of S616. On the other hand, when the control unit 24 determines that there is a coordinate associated with a parallax substantially equal to the target parallax beyond a predetermined interval along the negative direction of the v-axis from the first coordinate (step S615: Yes). The process proceeds to step S618 shown in FIG. 25.
  • the control unit 24 calculates the height of the object on the image by subtracting the v-coordinate of the road surface coordinate from the v-coordinate of the first coordinate.
  • the control unit 24 has the v coordinate of the road surface coordinate from the v coordinate (coordinate (v 7)) of the parallax pixel 76.
  • the height of the object is calculated by subtracting (coordinates (v 1)).
  • the first coordinate is the coordinate of the parallax pixel 83 shown in FIG.
  • the control unit 24 subtracts the v coordinate (coordinate (v 8 )) of the road surface from the v coordinate of the parallax pixel 83 to obtain the height of the object. T1 is calculated.
  • the height of the other vehicle is calculated accurately even when the parallax image 81 of the other vehicle and the parallax image 82 of the roadside tree are located close to each other. can do.
  • the control unit 24 associates the calculated height of the object on the image with the first coordinate and stores it in the memory 23.
  • the control unit 24 may convert the calculated height of the object on the image into the height of the object on the real space.
  • the control unit 24 may discard the calculated height information of the object. For example, when the minimum height of the object to be detected is 50 cm, the control unit 24 discards the calculated height information of the object when the height of the object in the real space is less than 40 cm. You can.
  • step S616 the control unit 24 executes the process of step S617.
  • step S617 the control unit 24 adds a scanned flag to the target parallax.
  • step S601 the control unit 24 returns to the process of step S601 shown in FIG. 23.
  • FIG. 29 shows the second parallax image 100.
  • FIG. 29 shows a part of the second parallax image 100.
  • the parallax image 101 is a parallax image generated based on the first image 106 shown in FIG.
  • the first image 106 includes an image 107 corresponding to the rear surface of the truck.
  • the second parallax image 100 includes the parallax image 101.
  • the parallax image 101 corresponds to the image 107 shown in FIG.
  • the parallax image 101 includes a parallax pixel 102, a parallax pixel 103, a parallax pixel 104, and a parallax pixel 105.
  • the parallax pixel 103 corresponds to the lower image 107a of the image 107 shown in FIG.
  • the parallax pixel 104 and the parallax pixel 105 correspond to the upper image 107b of the image 107 shown in FIG.
  • the parallax represented by the parallax pixel 103, the parallax represented by the parallax pixel 104, and the parallax represented by the parallax pixel 105 are substantially equal because they are parallax corresponding to tracks that are the same object.
  • the plurality of parallax pixels 102 are located in the central portion of the parallax image 101.
  • the parallax is not calculated for the plurality of parallax pixels 102. That is, the plurality of parallax pixels 102 do not include parallax information.
  • the feature amount on the stereo image is small in the central portion of the rear surface of the track. In the central portion of the rear surface of the track, the parallax may not be calculated as in the parallax pixel 102 in the above-mentioned matching process for calculating the parallax due to the small amount of features on the stereo image.
  • the control unit 24 scans along the v direction with the u coordinate of the search target as the coordinate (u 3).
  • the height T3 corresponding to the parallax image 101 that is, the height of the truck is calculated as the height of the object.
  • the control unit 24 can acquire the parallax represented by the parallax pixel 103 as the target parallax. Further, the control unit 24 can update the coordinates (u 3 , v 10 ) of the parallax pixel 103 as the first coordinates.
  • the predetermined interval in step S613 described above is set between the v coordinates (coordinates (v 11 )) of the parallax pixel 104 and the parallax pixel 103. It is required to be wider than the distance from the v coordinate (coordinate (v 10)). However, if the predetermined interval in the process of step S613 described above is widened, the possibility of erroneously calculating the height of the object may increase.
  • the control unit 24 calculates the height T4 shown in FIG. 29 as the first candidate height by executing the processes of steps S618 to S622, and the height T3 shown in FIG. 29 is the second candidate height. Let's calculate it.
  • step S107 shown in FIG. 5 described later the control unit 24 determines which of the first candidate height and the second candidate height is to be acquired as the height of the object. With such a configuration, it is not necessary to widen the predetermined interval in the process of step S613 described above. By not widening the predetermined interval in the process of step S613 described above, the possibility of erroneously calculating the height of the object can be reduced.
  • the control unit 24 acquires the candidate coordinates.
  • the candidate coordinates are coordinates that exist beyond a predetermined interval along the negative direction of the v-axis from the first coordinate, and are coordinates to which a parallax substantially equal to the target parallax is associated.
  • the control unit 24 acquires the coordinates (u 3 , v 11 ) of the parallax pixel 104 as candidate coordinates. ..
  • the control unit 24 calculates the height of the first candidate by subtracting the v-coordinate of the road surface coordinate from the v-coordinate of the first coordinate. For example, when the first coordinate is the coordinate (u 3 , v 10 ) of the parallax pixel 103 shown in FIG. 29, the control unit 24 has the v coordinate of the road surface from the v coordinate (coordinate (v 10)) of the parallax pixel 103.
  • the first candidate height T4 is calculated by subtracting (coordinates (v 9)).
  • the control unit 24 associates the calculated first candidate height with the first coordinates and stores them in the memory 23. For example, the control unit 24 associates the first candidate height T4 shown in FIG. 29 with the coordinates (u 3 , v 10 ) of the parallax pixel 103 of the first coordinate and stores them in the memory 23.
  • step S620 the control unit 24 determines whether or not a parallax substantially equal to the target parallax is associated with the coordinates obtained by decrementing one v-coordinate of the candidate coordinates.
  • step S620: Yes the control unit 24 proceeds to the process of step S621.
  • step S621 the control unit 24 updates the coordinates obtained by decrementing one v-coordinate of the candidate coordinates as the candidate coordinates. After executing the process of step S621, the control unit 24 returns to the process of step S620.
  • the control unit 24 repeatedly executes the process of step S620 and the process of step S621 until the coordinates (u 3 , v 12) of the parallax pixel 105 are updated as candidate coordinates.
  • the control unit 24 determines that the coordinates obtained by decrementing one v-coordinate of the candidate coordinates are not associated with a parallax substantially equal to the target parallax (step S620: No)
  • the process proceeds to the process of step S622. .
  • the candidate coordinates are the coordinates (u 3 , v 12 ) of the parallax pixel 105 shown in FIG. 29, the control unit 24 has a parallax that is substantially equal to the target parallax at the coordinates obtained by decrementing one v coordinate of the candidate coordinates. Is not associated.
  • the control unit 24 calculates the second candidate height by subtracting the v-coordinate of the road surface from the v-coordinate of the candidate coordinate. For example, when the candidate coordinates are the coordinates (u 3 , v 12 ) of the parallax pixel 105 shown in FIG. 29, the control unit 24 can change the v coordinates (coordinates (v 12 )) of the parallax pixel 105 to the v coordinates (coordinates (v 12)) of the road surface.
  • the second candidate height T3 is calculated by subtracting the coordinates (v 9)).
  • the control unit 24 associates the calculated second candidate height with the candidate coordinates and stores them in the memory 23.
  • control unit 24 For example, the control unit 24, a second candidate height T3 shown in FIG. 29, the coordinates (u 3, v 12) of the parallax pixels 105 of candidate coordinates and associate related and stored in the memory 23. After executing the process of step S622, the control unit 24 proceeds to the process of step S623.
  • step S623 the control unit 24 adds a scanned flag to the target parallax acquired in the process of step S604 stored in the memory 23. After executing the process of step S623, the control unit 24 returns to the process of step S601 shown in FIG.
  • step S106 the control unit 24 executes the parallel object detection process. Details of the process in step S106 are shown in the flowchart shown in FIG.
  • the control unit 24 In the process of step S701, the control unit 24 generates or acquires a UD map.
  • the UD map is also called "U-disparity space" and "ud coordinate space".
  • the UD map is a map in which the target parallax is associated with the two-dimensional coordinates consisting of the u direction and the d direction corresponding to the magnitude of the parallax.
  • the target parallax may be only the first parallax detected as the parallax corresponding to the object.
  • the target parallax may include both the first parallax and the second parallax.
  • the target parallax shall include the first parallax and the second parallax.
  • the control unit 24 may acquire the first parallax and the second parallax stored in the memory 23 and generate a UD map.
  • the control unit 24 may acquire the UD map from the outside by the acquisition unit 21.
  • FIG. 32 shows the UD map 110.
  • the horizontal axis of the UD map 110 corresponds to the u-axis.
  • the vertical axis of the UD map 110 corresponds to the d-axis indicating the magnitude of parallax.
  • a coordinate system consisting of u-coordinates and d-coordinates is also called an "ud coordinate system".
  • the lower left corner of the paper in FIG. 32 is the origin (0,0) of the ud coordinate system.
  • the plot shown in FIG. 32 is a coordinate point associated with the first parallax and the second parallax detected by the process shown in FIG. Coordinate points are also simply called "points".
  • the UD map 110 includes a point cloud 111, a point cloud 112, a point cloud 113, a point cloud 114, and a point cloud 115.
  • the UD map 110 is generated based on the second parallax image generated from the first image 120 shown in FIG. 33.
  • the first image 120 includes an image 121 corresponding to a guardrail, an image 122 and an image 123 corresponding to another vehicle, an image 124 corresponding to a pedestrian, and an image 125 corresponding to a side wall.
  • the first parallax and the second parallax detected from each of the images 121 to 125 correspond to each of the point group 111 to the point group 115 shown in FIG.
  • the image 121 and the image 125 can be images corresponding to parallel objects. That is, the point group 111 and the point group 115 shown in FIG. 32 can have parallax corresponding to a parallel object.
  • One of the purposes of the parallel object detection process is to detect the parallax corresponding to the parallel object, such as the point cloud 111 and the point cloud 115 shown in FIG.
  • the parallax corresponding to the parallel objects such as the point cloud 111 and the point cloud 115 shown in FIG. 32 is detected by applying the Hough transform in the process of step S704 described later.
  • the point group 112 and the point group 113 are located near the point group 111 and the point group 115.
  • the accuracy of detecting the point cloud 111 and the point cloud 115 decreases due to the Hough transform in the process of step S704 described later. obtain. Therefore, by the process of step S702, the control unit 24 determines whether or not the point group 112 and the point group 113 located near the point group 111 and the point group 115 exist as shown in FIG. 32.
  • the control unit 24 determines whether or not a point cloud substantially parallel to the u direction exists.
  • the point group 112 and the point group 113 located near the point group 111 and the point group 115 are parallax acquired from the images 122 and 123 corresponding to the other vehicle shown in FIG. 33.
  • Other vehicles include a portion substantially parallel to the width direction of the road surface. Since the other vehicle includes a portion substantially parallel to the width direction of the road surface, the point group 112 and the point group 113 can have a shape substantially parallel to the u direction as shown in FIG. 32. Therefore, by determining whether or not a point cloud substantially parallel to the u direction exists, it can be determined whether or not the point cloud 112 and the point cloud 113 as shown in FIG. 32 exist.
  • the control unit 24 scans along the u direction of the UD map. For example, the control unit 24 scans the UD map 110 shown in FIG. 32 from the negative direction side of the u axis toward the positive direction side of the u axis. The control unit 24 determines whether or not there are points that are continuously arranged in a predetermined range along the u direction while scanning along the u direction of the UD map.
  • the predetermined range may be set based on the length of the image with respect to the vehicle (for example, images 122 and 123 shown in FIG. 33) along the u direction.
  • control unit 24 determines that there are points that are continuously arranged in a predetermined range along the u direction.
  • the control unit 24 determines that there is a point cloud that is substantially parallel to the u direction.
  • the control unit 24 detects the disparity points that are continuously arranged in a predetermined section along the u direction as a point cloud substantially parallel to the u direction. For example, the control unit 24 detects the point cloud 112 and the point cloud 113 shown in FIG. 32 as a point cloud substantially parallel to the u direction.
  • step S702 when the control unit 24 determines that a point cloud substantially parallel to the u direction exists (step S702: Yes), the control unit 24 proceeds to the process of step S703. On the other hand, when the control unit 24 determines that there is no point cloud substantially parallel to the u direction (step S702: No), the control unit 24 proceeds to the process of step S704.
  • step S703 the control unit 24 removes the detected point cloud substantially parallel to the u direction from the UD map. Instead of removing the point cloud substantially parallel to the u direction from the UD map, the control unit 24 converts the point cloud substantially parallel to the u direction among the coordinate points of the UD map into a Hough transform in the process of step S704 described later. May simply be excluded from the application of.
  • FIG. 34 shows a UD map 110 from which a group of points substantially parallel to the u direction has been removed. In the UD map 110 shown in FIG. 34, the point cloud 112 and the point cloud 113 shown in FIG. 32 are removed.
  • the control unit 24 detects a straight line by applying the Hough transform to the points included in the UD map.
  • a straight line by converting the UD map into a real space coordinate system consisting of xz coordinates and applying a Hough transform to the converted real space coordinate system. ..
  • the baseline length B between the first camera 11 and the second camera 12 is short, the distance between the coordinate points included in the real space coordinate system is sparser than the distance between the coordinate points included in the UD map. It may become. If the distance between the coordinate points becomes sparse, the straight line may not be detected accurately due to the Hough transform.
  • by applying the Hough transform to the UD map it is possible to accurately detect a straight line even when the baseline length B between the first camera 11 and the second camera 12 is short. it can.
  • step S704 An example of the process of step S704 will be described with reference to FIGS. 35 and 36.
  • FIG. 35 shows a part of the UD map.
  • Points 131, 132, 133, and 134 are coordinate points on the UD map.
  • the Hough transform will be described by taking point 131 as an example.
  • the uv coordinates of the point 131 on the UD map are the coordinates (u 131 , d 131 ).
  • the straight line L1 passing through the point 131 can be defined infinitely.
  • the length of the normal line drawn from the origin (0,0) of the uv coordinate to the straight line L1-1 is the length r.
  • the normal is tilted by an angle ⁇ from the u-axis to the positive direction of the d-axis.
  • the control unit 24 projects the equation (mathematical expression (3)) of the straight line L1 onto the r ⁇ plane as the huff space as shown in FIG.
  • the horizontal axis of the r ⁇ plane shown in FIG. 36 is the r-axis.
  • the vertical axis of the r ⁇ plane shown in FIG. 36 is the ⁇ axis.
  • the curve 131L shown in FIG. 36 is a curve represented by the mathematical formula (3).
  • the curve 131L is represented as a sinusoidal curve in the r ⁇ plane. Similar to the point 131, the control unit 24 obtains the equation of a straight line passing through the points 132 to 134 shown in FIG.
  • control unit 24 projects the equation of a straight line passing through the acquired points 132 to 134 onto the r ⁇ plane as a huff space as shown in FIG.
  • the curves 132L to 134L shown in FIG. 36 correspond to the straight lines passing through the acquired points 132 to 134 shown in FIG. 35, respectively.
  • curve 131L ⁇ 134L may intersect at a point P L.
  • Control unit 24 obtains the r ⁇ coordinate of the point P L (coordinates ( ⁇ L, r L)) .
  • Control unit 24 based on the point P L of the coordinates ( ⁇ L, r L), to detect the expression of a straight line through the points 131-134 shown in FIG. 35.
  • the control unit 24 detects the following mathematical formula (4) as a straight line passing through the points 131 to 134 shown in FIG. 35.
  • r L u ⁇ cos ⁇ L + d ⁇ sin ⁇ L (4)
  • control unit 24 can detect the straight line 111L corresponding to the point cloud 111 and the straight line 115L corresponding to the point cloud 115 as shown in FIG. 34.
  • the images 121 and 125 corresponding to the parallel objects extend toward the vanishing point 120 VP.
  • image 121 and image 125 extends toward the vanishing point 120 VP
  • point group 111 and the point cloud 115 also toward the vanishing point 110 VP corresponding to the vanishing point 120 VP-rolled Exists.
  • point group 111 and the point cloud 115 also extends toward the vanishing point 110 VP
  • linear 111L and straight 115L also may extend toward the vanishing point 110 VP.
  • step S704 when the control unit 24 acquires the equation of the straight line passing through the point on the UD map, the control unit 24 acquires the equation of the straight line passing through the predetermined range based on the vanishing point among the straight lines passing through the point. It's okay.
  • the control unit 24 when the control unit 24 acquires the equation of the straight line L1 passing through the point 131 shown in FIG. 35, the control unit 24 is a straight line passing through the point 131 and the predetermined range ⁇ u VP among the infinitely existing straight lines L1 passing through the point 131. You may get the expression.
  • the predetermined range ⁇ u VP is a range based on the vanishing point.
  • the predetermined range ⁇ u VP includes the point 135.
  • the point 135 may be a vanishing point when the moving body 30 is traveling straight.
  • the d-coordinate of the point 135 may be zero by making the parallax at infinity zero.
  • the u coordinate (coordinate u VP ) of the point 135 is the maximum coordinate of the u coordinate because the u coordinate of the vanishing point becomes half of the maximum coordinate of the u coordinate when the moving body 30 is traveling straight. It may be half of.
  • the predetermined range ⁇ u VP may be appropriately set based on the amount of deviation of the vanishing point 110 VP shown in FIG. 34 from the point 135 when the moving body 30 is traveling on the curve.
  • the range of the ⁇ axis on which the curves 131L to 134L are plotted can be narrowed down to the range ⁇ VP in the r ⁇ plane of the Huff space.
  • the amount of calculation of the Hough transform can be reduced.
  • the processing of the Hough transform can be speeded up.
  • step S705 the control unit 24 determines whether or not the length of the straight line detected by the process of step S704 exceeds a predetermined length.
  • the predetermined length may be appropriately set based on the length of the structure provided along the road surface, that is, the parallel object.
  • step S705: No the control unit 24 determines that the length of the straight line is equal to or less than the predetermined length
  • step S705: Yes the control unit 24 returns to the process of step S107 shown in FIG.
  • step S705: Yes the control unit 24 adds a parallel object flag to the point cloud corresponding to the straight line (step S706).
  • the control unit 24 adds a parallel object flag to the point cloud 111 and the point cloud 115 shown in FIG. 34.
  • step S107 the control unit 24 executes the restoration process. Details of the process in step S107 are shown in the flowchart shown in FIG. 37.
  • control unit 24 In the process of step S801, the control unit 24 generates or acquires a UD map in the same manner as or similar to the process of step S701 shown in FIG.
  • the control unit 24 may acquire the UD map generated in the process of step S701 shown in FIG. 31.
  • FIG. 38 shows the UD map 140.
  • the UD map 140 is an enlargement of a part of the UD map 110 as shown in FIG. 34.
  • the horizontal axis of the UD map 140 corresponds to the u-axis.
  • the vertical axis of the UD map 140 corresponds to the d-axis indicating the magnitude of parallax.
  • the UD map 140 is shown as an image.
  • the pixels of the UD map 140 represent parallax.
  • the hatched pixel is a pixel representing the first parallax.
  • the pixel representing the first parallax that is, the coordinates to which the first parallax is associated is also referred to as the "first parallax point".
  • the pixel with dots is a pixel representing the second parallax.
  • the pixel representing the second parallax that is, the coordinates to which the second parallax is associated is also referred to as a "second parallax point”.
  • the UD map 140 includes a first disparity point 141, a first disparity point 142, and a second disparity point 143.
  • the UD map 140 is generated based on a second parallax image including a parallax image corresponding to the rear surface of the vehicle. Since the rear glass and the like are located in the central portion of the rear surface of the vehicle, the feature amount on the stereo image is small.
  • the information on the parallax that can be acquired is small as shown in the parallax image 44 shown in FIG. 19 as compared with the parallax of the other portion.
  • the control unit 24 determines whether or not the second discriminant point sandwiched between the first discriminant points exists beyond a predetermined range in the u direction of the UD map. For example, the control unit 24 scans the UD map from the negative side of the u-axis to the positive side of the u-axis. By scanning along the u direction, the control unit 24 determines whether or not the second discriminant point sandwiched between the first discriminant points exists in the u direction of the UD map beyond a predetermined range.
  • the predetermined range may be appropriately set based on the width of the rear surface of the vehicle in the real space (for example, 1 m).
  • these second parallax points may be parallax corresponding to different objects such as different vehicles running in parallel. high.
  • these second parallax points are likely to be parallax corresponding to the same object.
  • a plurality of second differential points 143 sandwiched between the first differential point 141 and the first differential point 142 exist within a predetermined range.
  • the control unit 24 does not determine that the second discriminant point 143 sandwiched between the first discriminant point 141 and the first discriminant point 142 exists beyond a predetermined range.
  • step S802 when the control unit 24 determines that the second discriminant point sandwiched between the first discriminant points exists beyond a predetermined range in the u direction of the UD map (step S802: Yes), step S805. Proceed to the process of. On the other hand, when the control unit 24 does not determine that the second discriminant point sandwiched between the first discriminant points exists beyond the predetermined range in the u direction of the UD map (step S802: No), the control unit 24 proceeds to the process of step S803. ..
  • the control unit 24 acquires the first parallax associated with each of the two first parallax points sandwiching the second parallax point. For example, the control unit 24 acquires the first parallax associated with the first parallax point 141 shown in FIG. 38 and the first parallax associated with the first parallax point 142. Further, in the process of step S802, the control unit 24 determines whether or not the difference in height in the real space corresponding to each of the two acquired first parallax is within a predetermined height. For example, the control unit 24 has a difference between the height in the real space corresponding to the first parallax of the first parallax point 141 shown in FIG.
  • the predetermined height may be appropriately set based on the height of the vehicle in the real space (for example, 1 m).
  • step S803 when the control unit 24 determines that the difference in height in the real space corresponding to each of the two acquired first parallax is within a predetermined height (step S803: Yes), the step. Proceed to the process of S804.
  • the control unit 24 adds a revival flag to the second discriminant point that exceeds the predetermined range sandwiched between the first discriminant points.
  • the second parallax point is the ud coordinate representing the second parallax. That is, the process of step S804 can be rephrased as a process of adding a revival flag to the second parallax and the u coordinate associated with the second parallax.
  • FIG. 39 shows a UD map 140 with a resurrection flag added. The coarsely hatched pixel shown in FIG. 39 is the second parallax point to which the resurrection flag is added.
  • step S803 when the control unit 24 determines that the difference in height in the real space corresponding to each of the two acquired first parallax exceeds a predetermined height (step S803: No), step S805. Proceed to the process of.
  • step S805 either the first candidate height calculated by the process of step S619 shown in FIG. 25 or the second candidate height calculated by the process of step S622 shown in FIG. 25 is used as the object. This is a process of determining whether to acquire the height. Before explaining the processing after step S805, an example of the second parallax image will be described with reference to FIGS. 40 and 41.
  • FIG. 40 shows the second parallax image 150.
  • FIG. 41 shows the second parallax image 160. 40 and 41 show a part of the second parallax image 150 and the second parallax image 160.
  • the white parallax pixels are pixels that do not include parallax information.
  • a parallax pixel with coarse hatching is a pixel containing parallax information.
  • the parallax pixel with fine hatching is the parallax pixel used for calculating the second candidate height in the process of step S622 shown in FIG. 25.
  • the coordinates of the parallax pixels with fine hatching are associated with the second candidate height as candidate coordinates in the process of step S622 shown in FIG.
  • the parallax pixels with coarse dots are parallax images used for calculating the height of the first candidate in the process of step S619 shown in FIG. 25.
  • the coordinates of the parallax pixels with the coarse dots are associated with the first candidate height as the first coordinates in the process of step S619 shown in FIG. 25.
  • the parallax pixels with fine dots are the parallax pixels used for calculating the height of the object in the process of step S616 shown in FIG. 24.
  • the coordinates of the parallax pixels with the fine dots are associated with the height of the object as the first coordinates in the process of step S616 shown in FIG. 24.
  • the second parallax image 150 shown in FIG. 40 is generated based on the image 107 on the rear surface of the truck shown in FIG. 30, similar to the second parallax image 100 shown in FIG. 29.
  • a white parallax pixel is located in the center of the second parallax image 150. That is, in the second parallax image 150, the parallax of the parallax pixel in the central portion is not calculated. In the second parallax image 150, the parallax of the parallax pixels surrounding the central portion is calculated.
  • the second parallax image 150 shown in FIG. 40 includes parallax pixels 151,152,153,154.
  • the parallax pixel 151 is a parallax pixel used for calculating the height of the second candidate.
  • the coordinates of the parallax pixel 151 are associated with the second candidate height as candidate coordinates.
  • the parallax pixel 152 and the parallax pixel 153 are parallax pixels used for calculating the height of the object.
  • Each of the coordinates of the parallax pixel 152 and the parallax pixel 153 is associated with the height of the object as the first coordinate.
  • the parallax pixel 154 is a parallax pixel used for calculating the height of the first candidate.
  • the coordinates of the parallax pixel 154 are associated with the first candidate height as the first coordinates.
  • the parallax pixel 151 corresponds to the upper image 107b of the image 107 on the rear surface of the truck shown in FIG. 30, similar to the parallax pixel 105 shown in FIG. 29.
  • the parallax pixel 154 corresponds to the lower image 107a of the image 107 on the rear surface of the truck shown in FIG. 30, similar to the parallax pixel 103 shown in FIG.
  • the second candidate height based on the parallax pixel 151 is the height of the object, that is, The height of the truck shown in FIG. 30 is required to be acquired.
  • the second parallax image 160 shown in FIG. 41 is a parallax image generated based on the first image 170 shown in FIG. 42.
  • the first image 170 includes an image 171 of the upper part of another vehicle and an image 172 corresponding to a roadside tree.
  • the parallax generated from image 171 and image 172 is approximately equal.
  • Image 172 includes a partial image 172a and a partial image 172b.
  • the partial image 172a and the vehicle image 171 are located at the center of the first image 170 in the u direction.
  • the u-coordinate of the partial image 172a is the same as a part of the u-coordinate of the image 171 of the other vehicle.
  • the partial image 172a is located on the negative direction side of the v-axis with respect to the image 171 of another vehicle.
  • the partial image 172b is located on the negative side of the u-axis with respect to the partial image 172a and the image 171.
  • the second parallax image 160 shown in FIG. 41 includes a parallax pixel 161, a parallax pixel 162, and a parallax pixel 163.
  • the parallax pixel 161 is a parallax pixel used for calculating the height of the second candidate.
  • the height of the partial image 172a of the roadside tree shown in FIG. 42 is calculated as the second candidate height based on the coordinates of the parallax pixel 161.
  • the coordinates of the parallax pixel 161 are associated with the second candidate height as candidate coordinates.
  • the parallax pixel 162 is a parallax pixel used for calculating the height of an object.
  • the parallax pixel 162 is calculated as the height of the object by the coordinates of the parallax pixel 162.
  • the coordinates of the parallax pixel 162 are associated with the height of the object as candidate coordinates.
  • the parallax pixel 163 is a parallax pixel used for calculating the height of the first candidate.
  • the height of the vehicle image 171 shown in FIG. 42 is calculated as the first candidate height based on the coordinates of the parallax pixel 163.
  • the coordinates of the parallax pixel 163 are associated with the first candidate height as the first coordinates.
  • the first candidate height based on the parallax pixel 163 is the height of the object, that is, the height of the object. It is required to be acquired as the height of the image 171 of the vehicle shown in FIG. 42.
  • control unit 24 sets either the first candidate height or the second candidate height as the height of the object based on the parallax associated with the two coordinates sandwiching the candidate coordinates. Determine whether to acquire the coordinates.
  • step S805 the control unit 24 scans the second parallax image along the u direction to determine whether or not there are two first coordinates sandwiching the candidate coordinates in the u direction. judge.
  • the first coordinate is associated with a parallax substantially equal to the target parallax, as described above with reference to FIG. 23. That is, the process of step S805 can be rephrased as a process of determining whether or not the parallax associated with each of the two coordinates sandwiching the candidate coordinates in the u direction is the target parallax.
  • the candidate coordinates of the parallax pixel 151 are sandwiched between the first coordinates of the parallax pixel 152 and the first coordinates of the parallax pixel 153.
  • the control unit 24 determines that the first coordinate of the parallax pixel 152 and the first coordinate of the parallax pixel 153 sandwiching the candidate coordinates of the parallax pixel 151 exist.
  • the first coordinate of the parallax pixel 162 is located on the negative direction side of the u-axis of the candidate coordinates of the parallax pixel 161.
  • the first coordinate is not located on the positive direction side of the u-axis of the candidate coordinates of the parallax pixel 161.
  • the control unit 24 determines that the two first coordinates sandwiching the candidate coordinates of the parallax pixel 161 do not exist.
  • step S805 when the control unit 24 determines that there are two candidate coordinates sandwiching the first coordinate in the u direction of the second parallax image (step S805: Yes), the control unit 24 proceeds to the process of step S806. On the other hand, when the control unit 24 determines that there are two candidate coordinates sandwiching the first coordinate in the u direction of the second parallax image (step S805: No), the control unit 24 proceeds to the process of step S807.
  • step S806 the control unit 24 determines that the height of the second candidate among the height of the first candidate and the height of the second candidate is acquired as the height of the object.
  • the control unit 24 acquires the second candidate height as the height of the object. Then it is determined.
  • the control unit 24 has a second candidate height based on the coordinates of the parallax pixel 151, and a second candidate height based on the coordinates of the parallax pixel 151 shown in FIG. 40. It is determined that the candidate height is acquired as the height of the object.
  • the second candidate height based on the parallax pixel 151 is the height of the object, that is, It is acquired as the height of the truck shown in FIG.
  • the control unit 24 determines that the height of the first candidate among the height of the first candidate and the height of the second candidate is acquired as the height of the object.
  • the control unit 24 acquires the first candidate height as the height of the object. Then it is determined.
  • the control unit 24 is the first candidate height based on the coordinates of the parallax pixel 163 and the second candidate height based on the coordinates of the parallax pixel 161 shown in FIG. 41. It is determined that the candidate height is acquired as the height of the object.
  • the first candidate height based on the parallax pixel 163 is the height of the object, that is, It is acquired as the height of the image 171 of the vehicle shown in FIG. 42.
  • control unit 24 After executing the processes of steps S806 and S807, the control unit 24 proceeds to the process of step S108 shown in FIG.
  • step S108 the control unit 24 executes the process of determining the representative parallax. Details of the process in step S108 are shown in the flowchart shown in FIG.
  • control unit 24 In the process of step S901, the control unit 24 generates a UD map in the same manner as or similar to the process of step S701 shown in FIG.
  • the control unit 24 may acquire the UD map generated in the process of step S701 shown in FIG. 31.
  • step S902 the control unit 24 selects the representative parallax from the first parallax and the second parallax to which the revival flag is added by the process of step S804 shown in FIG. 36 at each u coordinate of the UD map. get.
  • the control unit 24 acquires the representative parallax from the first parallax to which the parallel object flag is not added and the second parallax to which the restoration flag is added by the process of step S706 shown in FIG.
  • the number of pixels occupied by the object on the stereo image can be larger than when the distance from the stereo camera 10 to the object is long.
  • the farther the object is from the stereo camera 10, the more affected by noise and the like the worse the accuracy of detecting the parallax corresponding to the object. That is, the closer the object is to the stereo camera 10, the higher the accuracy of detecting the parallax corresponding to the object.
  • the control unit 24 corresponds to an object located at a short distance from the stereo camera 10 from the first parallax and the second parallax to which the resurrection flag is added at each u coordinate of the UD map.
  • the parallax to be used that is, the maximum parallax, is acquired as the representative parallax.
  • the control unit 24 is a parallax corresponding to an object located at a short distance from the stereo camera 10 and larger than the minimum height value (for example, 50 cm) of the object to be detected by the object detection device 20. May be acquired as the representative parallax.
  • FIG. 46 shows an example of the acquired representative parallax corresponding to the u direction.
  • the variation of the representative parallax for each u coordinate is large. If the variation of the representative parallax for each u coordinate is large, the calculation amount of the grouping process in the process of step S109 may increase.
  • the control unit 24 may average the representative parallax within a predetermined range. By averaging the representative parallax within a predetermined range, the amount of calculation of the grouping process in the process of step S109 can be reduced.
  • the predetermined range may be appropriately set in consideration of the calculation load such as the processing of step S109 described later.
  • the control unit 24 may acquire a representative parallax of the median value in a predetermined range.
  • the control unit 24 may calculate the average value of the representative parallax by removing the representative parallax deviated by a predetermined ratio (for example, 5%) from the extracted median within a predetermined range.
  • FIG. 47 shows an example of averaged representative parallax corresponding to the u direction.
  • Control unit 24 after executing the process i.e. third process step S104 ⁇ S108 shown in FIG. 5, for each predetermined range of lateral coordinates comprising one or more coordinates (u coordinates), representative parallax d e And the height information of the object may be associated and stored in the memory 23.
  • a plurality of representative parallax d e stored in the memory 23, two-dimensional space to u coordinates and a disparity d, respectively horizontal and vertical axes (u-d coordinate space) of the points on It can be expressed as a distribution.
  • step S109 the control unit 24 converts the information of the representative parallax d e of u-d coordinate space to the coordinate system of the real space of x-z coordinate, collection of representative parallax d e (group) By extracting, the process of detecting the object (fourth process) is executed.
  • An example of the process of step S109 will be described with reference to FIGS. 49 and 50.
  • FIG. 49 is an example of the configuration in the real space.
  • FIG. 49 shows a moving body 30 equipped with an object detection system 1 traveling on a road surface 41A, and another vehicle 42A.
  • the moving body 30 is a vehicle.
  • each point representing a representative parallax d e of u-d coordinate space is displayed as a point of x-z coordinate space.
  • the control unit 24 extracts a group of point clouds based on the distribution of the point cloud.
  • the control unit 24 collects a plurality of adjacent points according to a predetermined condition and extracts them as a group of points. Collection of point cloud, the representative parallax d e unity represents the (group).
  • the point cloud is arranged in the x direction on the xz coordinate space.
  • the control unit 24 has a group of points 180 arranged in the x direction on the xz coordinate space, the control unit 24 can recognize this as an object.
  • the point cloud group 180 corresponds to the rear surface of the vehicle body of the other vehicle 42A shown in FIG. 29.
  • the point cloud is arranged in the z direction on the xz coordinate space.
  • the control unit 24 has a group of points 181 arranged in the z direction on the xz coordinate space, it can recognize this as a parallel object.
  • parallel objects include roadside structures such as guardrails and sound insulation walls of highways, and side surfaces of other vehicles 42A shown in FIG. 49.
  • the group of points 181 arranged in the z direction on the xx coordinate space corresponds to an object arranged parallel to the traveling direction of the moving body 30 or a surface parallel to the traveling direction of the moving body 30 of the object.
  • the control unit 24 can exclude a group of points 181 arranged in the z direction from the object detection process.
  • the disparity corresponding to the parallel object detected by the clustering process described above are excluded from the process of obtaining representative parallax d e in the processing of step S902 shown in FIG. 45.
  • the parallax corresponding to the parallel object may not be completely detected.
  • there may be a parallax corresponding to a parallel object for example, a group of points 181 in the xz coordinate space.
  • the parallax corresponding to the parallel object and the object detection process are excluded in the process of step S109. be able to.
  • the control unit 24 can detect the width of the object from the width of the point cloud group 180 recognized as the object arranged in the x direction. Control unit 24, based on the height information associated with the representative parallax d e obtained by the process shown in FIG. 45, it is possible to determine the height of the object. Therefore, the control unit 24 can recognize the position, width, and height of the recognized object in the xx coordinate space.
  • the control unit 24 can output the information of the position, width and height of the object recognized by the process of step S109 to another device in the moving body 30 by the output unit 22.
  • the control unit 24 can output such information to the display device in the moving body 30.
  • the display device in the moving body 30 detects that the image of the first camera 11 or the second camera 12 surrounds the image corresponding to the other vehicle based on the information acquired from the object detection device 20.
  • the frame 182 may be displayed.
  • the detection frame 182 indicates the position of the detected object and the range occupied in the image.
  • the object detection device 20 of the present disclosure enables high processing speed and high accuracy object detection. That is, the object detection device 20 of the present disclosure and the object detection method of the present disclosure can improve the performance of detecting an object. Further, the object detection device 20 does not limit the object to be detected to a specific type of object. The object detection device 20 can detect any object existing on the road surface.
  • the control unit 24 of the object detection device 20 executes the first process, the second process, the third process, and the fourth process without using the information of the image captured by the stereo camera 10 other than the first parallax image. be able to.
  • the object detection device 20 does not have to perform a process of separately recognizing an object from the captured image in addition to the processing of the first parallax image and the second parallax image. Therefore, the object detection device 20 of the present disclosure can reduce the processing load of the control unit 24 related to object recognition. This does not preclude that the object detection device 20 of the present disclosure is combined with image processing on an image obtained directly from the first camera 11 or the second camera 12.
  • the object detection device 20 can also be combined with an image processing technique such as template matching.
  • the descriptions such as “first” and “second” are identifiers for distinguishing the configuration.
  • the configurations distinguished by the descriptions such as “first” and “second” in the present disclosure can exchange numbers in the configurations.
  • the first lens can exchange the identifiers “first” and “second” with the second lens.
  • the exchange of identifiers takes place at the same time.
  • the configuration is distinguished.
  • the identifier may be deleted.
  • the configuration with the identifier removed is distinguished by a code. Based solely on the description of identifiers such as “first” and “second” in the present disclosure, it shall not be used as a basis for interpreting the order of the configurations and for the existence of identifiers with smaller numbers.
  • the x-direction, the y-direction, and the z-direction are provided for convenience of explanation and may be interchanged with each other.
  • the configuration according to the present disclosure has been described using a Cartesian coordinate system in which the x-direction, the y-direction, and the z-direction are the axial directions.
  • the positional relationship of each configuration according to the present disclosure is not limited to being orthogonal.
  • the u-coordinates and v-coordinates indicating the coordinates of the image are provided for convenience of explanation and may be interchanged with each other.
  • the origins and directions of the u and v coordinates are not limited to those disclosed in the present disclosure.
  • the first camera 11 and the second camera 12 of the stereo camera 10 are located side by side in the x direction.
  • the arrangement of the first camera 11 and the second camera 12 is not limited to this.
  • the first camera 11 and the second camera 12 may be positioned side by side in a direction perpendicular to the road surface (y direction) or in a direction inclined with respect to the road surface 41A.
  • the number of cameras constituting the stereo camera 10 is not limited to two.
  • the stereo camera 10 may include three or more cameras. For example, it is possible to obtain more accurate distance information by using a total of four cameras, two cameras arranged horizontally on the road surface and two cameras arranged vertically.
  • the stereo camera 10 and the object detection device 20 are mounted on the moving body 30.
  • the stereo camera 10 and the object detection device 20 are not limited to those mounted on the moving body 30.
  • the stereo camera 10 and the object detection device 20 may be mounted on a roadside machine installed at an intersection or the like and arranged so as to capture an image including a road surface.
  • the roadside aircraft detects an approaching first vehicle from one of the roads intersecting at an intersection, and informs a second vehicle traveling on the other road of the approaching second vehicle that the first vehicle is approaching. Can be offered.

Abstract

物体検出装置は、プロセッサを備える。プロセッサは、UDマップの座標点に対してハフ変換を適用することにより所定長の直線を検出し、検出した所定長の直線に対応する対象視差をステレオカメラの進行方向に平行な物体に対応する視差として検出するように構成される。UDマップは、第1方向と、視差の大きさに対応する方向とから成る二次元座標の座標点に、撮像画像から取得された視差のうち、所定条件を満たす対象視差が対応付けられたものである。第1方向は、ステレオカメラが路面を撮像して生成した撮像画像の水平方向に対応する。プロセッサは、ハフ変換において、対象視差が対応付けられた各座標点と、消失点に基づく所定範囲とを通る直線を、ハフ空間に変換するように構成される。

Description

物体検出装置、物体検出システム、移動体及び物体検出方法 関連出願の相互参照
 本出願は、2019年9月19日に日本国に特許出願された特願2019-170900の優先権を主張するものであり、この先の出願の開示全体を、ここに参照のために取り込む。
 本開示は、物体検出装置、物体検出システム、移動体及び物体検出方法に関する。
 近年、自動車等の移動体には、ステレオカメラを利用した物体検出装置が搭載されている。このような物体検出装置は、ステレオカメラから複数の画像を取得し、取得した複数の画像に基づいて、障害物となり得る物体を検出している(例えば、特許文献1参照)。
特開平5-265547号公報
 本開示の一実施形態に係る物体検出装置は、プロセッサを備える。前記プロセッサは、UDマップの前記座標点に対してハフ変換を適用することにより所定長の直線を検出し、検出した前記所定長の直線に対応する前記対象視差を前記ステレオカメラの進行方向に平行な物体に対応する視差として検出するように構成される。前記UDマップは、第1方向と、視差の大きさに対応する方向とから成る二次元座標の座標点に、前記撮像画像から取得された視差のうち、所定条件を満たす対象視差が対応付けられたものである。前記第1方向は、ステレオカメラが路面を撮像して生成した撮像画像の水平方向に対応する。前記プロセッサは、前記ハフ変換において、前記対象視差が対応付けられた各座標点と、消失点に基づく所定範囲とを通る直線を、ハフ空間に変換するように構成される。
 本開示の一実施形態に係る物体検出システムは、互いに視差を有する複数の画像を撮像するステレオカメラと、少なくとも1つのプロセッサを含む物体検出装置とを備える。前記プロセッサは、UDマップの前記座標点に対してハフ変換を適用することにより所定長の直線を検出し、検出した前記所定長の直線に対応する前記対象視差を前記ステレオカメラの進行方向に平行な物体に対応する視差として検出するように構成される。前記UDマップは、第1方向と、視差の大きさに対応する方向とから成る二次元座標の座標点に、前記撮像画像から取得された視差のうち、所定条件を満たす対象視差が対応付けられたものである。前記第1方向は、ステレオカメラが路面を撮像して生成した撮像画像の水平方向に対応する。前記プロセッサは、前記ハフ変換において、前記対象視差が対応付けられた各座標点と、消失点に基づく所定範囲とを通る直線を、ハフ空間に変換するように構成される。
 本開示の一実施形態に係る移動体は、互いに視差を有する複数の画像を撮像するステレオカメラと、少なくとも1つのプロセッサを含む物体検出装置とを備える物体検出システムを備える。前記プロセッサは、UDマップの前記座標点に対してハフ変換を適用することにより所定長の直線を検出し、検出した前記所定長の直線に対応する前記対象視差を前記ステレオカメラの進行方向に平行な物体に対応する視差として検出するように構成される。前記UDマップは、第1方向と、視差の大きさに対応する方向とから成る二次元座標の座標点に、前記撮像画像から取得された視差のうち、所定条件を満たす対象視差が対応付けられたものである。前記第1方向は、ステレオカメラが路面を撮像して生成した撮像画像の水平方向に対応する。前記プロセッサは、前記ハフ変換において、前記対象視差が対応付けられた各座標点と、消失点に基づく所定範囲とを通る直線を、ハフ空間に変換するように構成される。
 本開示の一実施形態に係る物体検出方法は、検出した前記所定長の直線に対応する前記対象視差を前記ステレオカメラの進行方向に平行な物体に対応する視差として検出することを含む。前記平行な物体に対応する視差として検出することでは、UDマップの前記座標点に対してハフ変換を適用することにより所定長の直線を検出する。前記UDマップは、第1方向と、視差の大きさに対応する方向とから成る二次元座標の座標点に、前記撮像画像から取得された視差のうち、所定条件を満たす対象視差が対応付けられたものである。前記第1方向は、ステレオカメラが路面を撮像して生成した撮像画像の水平方向に対応する。前記平行な物体に対応する視差として検出することは、前記ハフ変換において、前記対象視差が対応付けられた各座標点と、消失点に基づく所定範囲とを通る直線を、ハフ空間に変換することを含む。
図1は、本開示の一実施形態に係る物体検出システムの概略構成を示すブロック図である。 図2は、図1に示す物体検出システムを搭載する移動体を模式的に示す側面図である。 図3は、図1に示す物体検出システムを搭載する移動体を模式的に示す正面図である。 図4は、本開示の他の一実施形態に係る物体検出システムの概略構成を示すブロック図である。 図5は、図1に示す物体検出装置が実行する処理の流れの一例を示すフローチャートである。 図6は、物体検出装置が取得又は生成する第1視差画像の一例を説明する図である。 図7は、路面の形状の推定処理の一例を示すフローチャートである。 図8は、第1視差画像から路面候補視差を抽出する処理の一例を示すフローチャートである。 図9は、路面とステレオカメラとの位置関係を説明する図である。 図10は、路面候補視差の抽出手順を説明する図である。 図11は、視差をヒストグラム化する路面上の範囲を示す図である。 図12は、路面視差drと縦方向の座標(v座標)との関係の一例を示すd-v相関図である。 図13は、路面視差ではない物体が含まれるか否かを検知する方法を説明する図である。 図14は、路面視差drと画像の縦方向の座標(v座標)との関係を直線で近似する処理のフローチャートである。 図15は、第1直線による路面視差drの近似を説明する図である。 図16は、第2直線の決定方法を説明する図である。 図17は、路面視差drと画像の縦方向の座標(v座標)との関係を直線で近似した結果の一例を示す図である。 図18は、第2視差画像の一例を示す図である。 図19は、第2視差画像の参考図である。 図20は、第1視差及び第2視差の検出処理の一例を示すフローチャートである。 図21は、図18に示す第2視差画像に部分領域を重ねて示す図である。 図22は、視差ヒストグラムの一例を示す図である。 図23は、物体の高さ算出処理の一例を示すフローチャート(その1)である。 図24は、物体の高さ算出処理の一例を示すフローチャート(その2)である。 図25は、物体の高さ算出処理の一例を示すフローチャート(その3)である。 図26は、第2視差画像の一例を示す図である。 図27は、第2視差画像の一例を示す図である。 図28は、図27に示す第2視差画像に対応する第1画像である。 図29は、第2視差画像の一例を示す図である。 図30は、図29に示す第2視差画像に対応する第1画像である。 図31は、平行物体の検出処理の一例を示すフローチャートである。 図32は、UDマップの一例を示す図である。 図33は、図32に示すUDマップに対応する第1画像である。 図34は、u方向に略平行な点群が除去されたUDマップを示す図である。 図35は、ハフ変換を説明する図(その1)である。 図36は、ハフ変換を説明する図(その2)である。 図37は、復活処理の一例を示すフローチャートである。 図38は、UDマップの一例を示す図である。 図39は、復活フラグが付加されたUDマップの一例を示す図である。 図40は、第2視差画像の一例を示す図である。 図41は、第2視差画像の一例を示す図である。 図42は、図41に示す第2視差画像に対応する第1画像を示す図である。 図43は、図40に示す第2視差画像おいて、物体の高さ判定に用いた視差画素を示す図である。 図44は、図41に示す第2視差画像おいて、物体の高さ判定に用いた視差画素を示す図である。 図45は、代表視差の決定処理の一例を示すフローチャートである。 図46は、u方向に対応する取得された代表視差の一例を示す。 図47は、u方向に対応する平均化された代表視差の一例を示す。 図48は、代表視差を示す点群のUDマップにおける分布の一例を示す図である。 図49は、路面を高さ方向(y方向)から見た図である。 図50は、代表視差を示す実空間のx-z平面上の点群に変換した図である。 図51は、物体の検出結果の出力方法の一例を示す図である。
 従来の物体検出装置では、物体を検出する性能を向上させることが求められる。本開示の物体検出装置、物体検出システム、移動体及び物体検出方法は、物体を検出する性能を向上させることができる。
 以下、本開示の一実施形態について、図面を参照して説明する。以下の図面において、同一又は類似の構成要素には、同一の符号を付す。なお、以下の説明で用いられる図は模式的なものである。図面上の寸法及び比率等は現実のものとは必ずしも一致していない。カメラによる撮像画像及び視差画像等を表す図は、説明のために作成されたものを含む。これらの画像は、実際に撮像され又は処理された画像とは異なる。また、以下の説明において、「被写体」はカメラに撮像される対象である。「被写体」は、物体、路面及び空等を含む。「物体」は、空間内で具体的な位置及び大きさを有するものである。「物体」は、「立体物」とも呼ばれる。
 図1に示すように、物体検出システム1は、ステレオカメラ10と物体検出装置20とを含む。ステレオカメラ10と物体検出装置20とは、有線又は無線通信により通信可能である。ステレオカメラ10と物体検出装置20とは、ネットワークを介して通信してよい。ネットワークは、例えば、有線又は無線のLAN(Local Area Network)、又は、CAN(Controller Area Network)等を含んでよい。ステレオカメラ10と物体検出装置20とは、同一の筺体内に収納され一体的に構成されてよい。ステレオカメラ10及び物体検出装置20は、後述する移動体30内に位置し、移動体30内のECU(Electronic Control Unit)と通信可能に構成されてよい。
 本開示において「ステレオカメラ」とは、互いに視差を有し、互いに協働する複数のカメラである。ステレオカメラは、少なくとも2つ以上のカメラを含む。ステレオカメラでは、複数のカメラを協働させて、複数の方向から対象を撮像することが可能である。ステレオカメラは、1つの筐体に複数のカメラが含まれる機器であってよい。ステレオカメラは互いに独立し、且つ、互いに離れて位置する2台以上のカメラを含む機器であってよい。ステレオカメラは、互いに独立した複数のカメラに限られない。本開示では、例えば、離れた2箇所に入射される光を1つの受光素子に導く光学機構を有するカメラをステレオカメラとして採用できる。本開示では、同一被写体を異なる視点から撮像した複数の画像を「ステレオ画像」と呼ぶことがある。
 図1に示すように、ステレオカメラ10は、第1カメラ11と第2カメラ12とを備える。第1カメラ11及び第2カメラ12は、それぞれ光軸OXを規定する光学系と撮像素子とを備える。第1カメラ11及び第2カメラ12はそれぞれ異なる光軸OXを有する。本実施形態では、単一の符号OXのみで、第1カメラ11及び第2カメラ12の双方の光軸OXを纏めて表す。撮像素子は、CCDイメージセンサ(Charge-Coupled Device Image Sensor)及びCMOSイメージセンサ(Complementary MOS Image Sensor)を含む。第1カメラ11及び第2カメラ12がそれぞれ備える撮像素子は、それぞれのカメラの光軸OXに垂直な同一面内に存在してよい。第1カメラ11及び第2カメラ12は、撮像素子で結像された画像を表す画像信号を生成する。また、第1カメラ11及び第2カメラ12は、撮像した画像について、歪み補正、明度調整、コントラスト調整及びガンマ補正等の任意の処理を行ってよい。
 第1カメラ11及び第2カメラ12の光軸OXは、互いに同一被写体を撮像可能な方向を向いている。第1カメラ11及び第2カメラ12は、撮像した画像に少なくとも同一被写体が含まれるように、光軸OX及び位置が定められる。第1カメラ11及び第2カメラ12の光軸OXは、互いに平行になるように向けられる。この平行は、厳密な平行に限られず、組み立てのずれ、取付けのずれ及びこれらの経時によるずれを許容する。第1カメラ11及び第2カメラ12の光軸OXは、平行に限られず、互いに異なる方向を向いてよい。第1カメラ11及び第2カメラ12の光軸OXが互いに平行でない場合でも、ステレオカメラ10又は物体検出装置20内で、画像を変換することによりステレオ画像を生成可能である。基線長は、第1カメラ11の光学中心と第2カメラ12の光学中心との間の距離である。基線長は、第1カメラ11と第2カメラ12との間のレンズの中心の距離に相当する。基線長方向は、第1カメラ11の光学中心と第2カメラ12の光学中心とを結ぶ方向である。
 第1カメラ11及び第2カメラ12は、光軸OXに交わる方向において離れて位置している。複数の実施形態のうちの1つにおいて、第1カメラ11及び第2カメラ12は、左右方向に沿って位置している。第1カメラ11は、前方を向いたときに第2カメラ12の左側に位置する。第2カメラ12は、前方を向いたときに第1カメラ11の右側に位置する。第1カメラ11及び第2カメラ12は、所定のフレームレート(例えば30fps)で被写体を撮像する。第1カメラ11と第2カメラ12との位置の違いにより、各カメラで撮像した2つの画像において、互いに対応する被写体の位置は、異なる。第1カメラ11は、第1画像を撮像する。第2カメラ12は、第2画像を撮像する。第1画像及び第2画像は、異なる視点から撮像されたステレオ画像となる。
 図2及び図3に示すように、物体検出システム1は、移動体30に搭載される。図2に示すように、第1カメラ11及び第2カメラ12は、移動体30の前方を撮像可能となるように、第1カメラ11及び第2カメラ12の各光学系の光軸OXが移動体30の前方と略平行となるように配置される。
 本開示の移動体30は、道路又は滑走路等を含む走行路の上を走行する。移動体30が走行する走行路の表面は、「路面」とも呼ばれる。
 本開示において、移動体30の直進時の進行方向は、「前方」又は「z軸の正方向」とも呼ばれる。前方の反対方向は、「後方」又は「z軸の負方向」とも呼ばれる。z軸の正方向とz軸の負方向とを特に区別しない場合、これらは、纏めて「z方向」とも呼ばれる。移動体30の前方を向いた状態を基準として、左方向及び右方向が定義される。z方向は、「奥行き方向」とも呼ばれる。
 本開示において、z方向に直交し、且つ、左方向から右方向へ向かう方向は、「x軸の正方向」とも呼ばれる。z方向に直交し、且つ、右方向から左方向へ向かう方向は、「x軸の負方向」とも呼ばれる。x軸の正方向とx軸の負方向とを特に区別しない場合、これらは、纏めて「x方向」とも呼ばれる。x方向は、基線長方向に一致してよい。x方向は、「水平方向」とも呼ばれる。
 本開示において、移動体30の近傍の路面に垂直で、且つ、当該路面から上に向かう方向は、「高さ方向」又は「y軸の正方向」とも呼ばれる。高さ方向の反対方向は、「y軸の負方向」とも呼ばれる。y軸の正方向とy軸の負方向とを特に区別しない場合、これらは、纏めて「y方向」と呼もばれる。y方向は、x方向及びz方向に対して直交してよい。y方向は、「鉛直方向」とも呼ばれる。
 本開示における「移動体」は、例えば、車両及び航空機を含んでよい。車両は、例えば自動車、産業車両、鉄道車両、生活車両、及び、滑走路を走行する固定翼機等を含んでよい。自動車は、例えば、乗用車、トラック、バス、二輪車、及び、トロリーバス等を含んでよい。産業車両は、例えば、農業及び建設向けの産業車両等を含んでよい。産業車両は、例えば、フォークリフト及びゴルフカート等を含んでよい。農業向けの産業車両は、例えば、トラクター、耕耘機、移植機、バインダー、コンバイン、及び、芝刈り機等を含んでよい。建設向けの産業車両は、例えば、ブルドーザー、スクレーバー、ショベルカー、クレーン車、ダンプカー、及び、ロードローラ等を含んでよい。車両は、人力で走行するものを含んでよい。車両の分類は、上述した例に限られない。例えば、自動車は、道路を走行可能な産業車両を含んでよい。複数の分類に同一車両が含まれてよい。航空機は、例えば固定翼機及び回転翼機等を含んでよい。
 第1カメラ11及び第2カメラ12は、移動体30の種々の場所に搭載され得る。複数の実施形態のうちの1つにおいて、第1カメラ11及び第2カメラ12は、車両である移動体30の内部に搭載され、ウインドシールドを介して移動体30の外部を撮像し得る。例えば、第1カメラ11及び第2カメラ12は、ルームミラーの前方、又は、ダッシュボード上に配置される。複数の実施形態の1つにおいて、第1カメラ11及び第2カメラ12は、車両のフロントバンパー、フェンダーグリル、サイドフェンダー、ライトモジュール及びボンネットの何れかに固定されていてよい。
 物体検出装置20は、移動体30内において任意の箇所に位置し得る。例えば、物体検出装置20は、移動体30のダッシュボード内に位置し得る。物体検出装置20は、ステレオカメラ10から、第1画像及び第2画像を取得する。物体検出装置20は、第1画像及び第2画像に基づいて、物体を検出する。物体検出装置20が検出対象とする物体は、移動体30が車両である場合、路面上の物体となり得る。当該路面上の物体の一例として、他車両及び歩行者等が挙げられる。
 物体検出装置20は、以下に説明する制御部24が行う処理を、非一時的なコンピュータ可読媒体に記録されたプログラムを読み込んで実装するように構成されてよい。非一時的なコンピュータ可読媒体は、磁気記憶媒体、光学記憶媒体、光磁気記憶媒体、及び、半導体記憶媒体を含むがこれらに限られない。磁気記憶媒体は、磁気ディスク、ハードディスク、及び、磁気テープを含む。光学記憶媒体は、CD(Compact Disc)、DVD、ブルーレイディスク(Blu-ray(登録商標) Disc)等の光ディスクを含む。半導体記憶媒体は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)、フラッシュメモリを含む。
 物体検出装置20は、取得部21と、出力部22と、メモリ23と、制御部24(プロセッサ)とを備える。
 取得部21は、物体検出装置20の入力インタフェースである。取得部21は、ステレオカメラ10及び他の装置から情報の入力を受付け可能である。取得部21には、物理コネクタ、及び、無線通信機が採用可能である。物理コネクタには、電気信号による伝送に対応した電気コネクタ、光信号による伝送に対応した光コネクタ、及び、電磁波による伝送に対応した電磁コネクタが含まれる。電気コネクタには、IEC60603に準拠するコネクタ、USB規格に準拠するコネクタ、RCA端子に対応するコネクタ、EIAJ CP-1211Aに規定されるS端子に対応するコネクタ、EIAJ RC-5237に規定されるD端子に対応するコネクタ、HDMI(登録商標)規格に準拠するコネクタ、及び、BNCを含む同軸ケーブルに対応するコネクタが含まれる。光コネクタには、IEC 61754に準拠する種々のコネクタが含まれる。無線通信機には、Bluetooth(登録商標)、及び、IEEE802.11を含む各規格に準拠する無線通信機が含まれる。無線通信機は、少なくとも1つのアンテナを含む。
 取得部21には、第1カメラ11及び第2カメラ12の各々が撮像した画像の画像データが入力され得る。取得部21は、入力された画像データを、制御部24に出力する。取得部21は、ステレオカメラ10の撮像信号の伝送方式に対応してよい。取得部21は、ネットワークを介してステレオカメラ10の出力インタフェースに接続されてよい。
 出力部22は、物体検出装置20の出力インタフェースである。出力部22は、物体検出装置20の処理結果を、移動体30内の他の装置又は移動体30外の他の装置に出力し得る。移動体30内の他の装置は、オートクルーズコントロール等の走行支援装置、及び、自動ブレーキ装置等の安全装置を含んでよい。移動体30外の他の装置、他車両及び路測機等を含んでよい。移動体30内の他の装置又は移動体30外の他の装置は、物体検出装置20から受信した情報を適宜使用し得る。出力部22は、取得部21と同一又は類似に、有線及び無線の通信に対応した種々のインタフェースを含んでよい。例えば、出力部22は、CANのインタフェースを有してよい。この場合、出力部22は、移動体30内の他の装置と通信を行う。
 メモリ23は、種々の処理のためのプログラム及び演算中の情報を記憶する。メモリ23は、揮発性メモリ及び不揮発性メモリが含まれる。メモリ23は、プロセッサと独立しているメモリ、及び、プロセッサの内蔵メモリが含まれる。
 制御部24は、一つ又は複数のプロセッサを含む。プロセッサには、特定のプログラムを読み込ませて特定の機能を実行する汎用のプロセッサ、特定の処理に特化した専用のプロセッサが含まれる。専用のプロセッサには、特定用途向けIC(ASIC;Application Specific Integrated Circuit)が含まれる。プロセッサには、プログラマブルロジックデバイス(PLD;Programmable Logic Device)が含まれる。PLDには、FPGA(Field-Programmable Gate Array)が含まれる。制御部24は、一つ又は複数のプロセッサが協働するSoC(System-on-a-Chip)、及びSiP(System In a Package)の何れかであってよい。制御部24の実行する処理は、プロセッサが実行する処理と言い換えることができる。
 制御部24は、物体検出装置20内の情報処理において、第1視差マップに対して様々な処理を実行する。第1視差マップは、二次元座標に、視差が対応付けられたものである。第1視差マップの二次元座標は、ステレオカメラ10の撮像画像の水平方向に対応する横方向と、横方向に交差する縦方向とから成る。横方向は、第1方向である。縦方向は第2方向である。横方向と縦方向とは互いに直交してよい。横方向は、路面の幅方向に対応し得る。横方向は、ステレオカメラ10の撮像する画像が水平線を含むとき、水平線に平行な方向に対応し得る。縦方向は、実空間における重力の加わる方向に対応し得る。
 物体検出装置20内の情報処理において、第1視差マップは、種々の操作を受ける。種々の操作は、演算処理、メモリ23への書き込み及びメモリ23からの読み出し等を含む。第1視差マップを画像化したものは、「第1視差画像」とも呼ばれる。第1視差画像は、横方向と縦方向とから成る2次元平面上に視差を表す画素が配置された画像である。以下、制御部24は、第1視差画像に対して種々の処理を実行するものとして説明する。以下の説明において、第1視差画像に対する処理は、第1視差マップに対する処理と言い換えられ得る。
 本開示の物体検出システム1の構成は、図1に示す構成に限定されない。図4に、本開示の他の実施形態に係る物体検出システム1Aを示す。物体検出システム1Aは、ステレオカメラ10と、物体検出装置20と、生成装置25とを備える。生成装置25は、物体検出装置20とは別体のハードウェア上に搭載されてよい。生成装置25は、ステレオカメラ10から出力された第1画像及び第2画像に基づいて、第1視差画像を生成する。生成装置25は、プロセッサを有する。生成装置25に含まれるプロセッサは、ステレオカメラ10の第1カメラ11及び第2カメラ12からそれぞれ出力された第1画像及び第2画像に基づいて、第1視差画像を生成する。取得部21は、生成装置25から、第1視差画像を取得する。物体検出装置20と生成装置25とは、纏めて1つの物体検出装置と見なされてよい。
 以下、図5に示すフローチャートを参照して、制御部24が実行する処理を説明する。図5は、図1に示す物体検出装置20が実行する処理の全体の流れの一例を示すフローチャートである。
 まず、図5のフローチャートの各ステップで行う処理の詳細な説明に先立ち、各ステップの処理の概要と目的が簡単に説明される。
 ステップS101は、第1視差画像を取得又は生成するステップである。ステップS101は、後述する第1処理の前段処理に相当する。図1に示す構成では、制御部24は、第1視差画像を生成する。図4に示す構成では、制御部24は、生成装置25が生成した第1視差画像を、取得部21によって取得する。
 ステップS102は、路面の形状を推定するステップである。ステップS102で実行される処理は、「第1処理」とも呼ばれる。路面の形状が推定されることにより、第1視差画像上において、縦方向の座標に対する、路面に対応する視差が推定され得る。路面の形状は、以下の処理において不要な視差を除去するために、及び/又は、実空間上での路面の高さ位置を推定するために用いられ得る。
 ステップS103は、第1視差画像から不要な視差を除去することにより、第2視差画像を生成するステップである。ステップS103で実行される処理は、「第2処理」とも呼ばれる。不要な視差は、第1視差画像に含まれ得る、路面の白線に対応する視差及び道路上空に存在する構造物に対応する視差等を含む。第1視差画像から不要な視差を除くことによって、物体検出装置20が、路面の白線及び路面上空に存在する構造物等を、路面上の検出対象の物体であると誤検出する可能性が低減される。これにより、物体検出装置20が物体を検出する精度が高まり得る。
 ステップS103は、物体検出装置20内の情報処理において、第1視差マップから不要な視差を除去することにより、第2視差マップを生成するステップとなり得る。上述の第2視差画像は、第2視差マップを画像化したものである。以下の説明において、第2視差画像に対する処理は、第2視差マップに対する処理と言い換えられ得る。
 ステップS104は、第2視差画像に基づいて、第1視差及び第2視差を検出するステップである。第1視差は、検出対象の物体に対応する視差とみなして、検出される。第2視差は、検出対象の物体に対応する視差の候補として、検出される。第2視差は、後述の復活処理において検出対象の物体に対応する視差として復活させるか否かが判定され得る。
 ステップS105は、画像上における物体の高さを算出するステップである。検出された画像上における物体の高さは、後述の図51に示すような検出枠182の高さとなり得る。画像上における物体の高さは、「検出枠の高さ」とも呼ばれる。ステップS105で実行される処理は、「高さ算出処理」とも呼ばれる。
 ステップS106は、第2視差画像において、移動体30の進行方向に平行な物体に対応する視差を検出するステップである。移動体30の進行方向に平行な物体は、「平行物体」とも呼ばれる。平行物体の一例として、ガードレール及び高速道路の遮音壁等の道路端の構造物、又は、他車両の側面等が挙げられる。ガードレール等の平行物体と、他車両等の検出対象の物体は、例えば第2視差画像上で、近接している場合がある。平行物体を検出し、例えば検出した平行物体にフラグを付加しておくことにより、物体検出装置20が、平行物体を、路面上の検出対象の物体であると誤検出する可能性が低減される。このような構成により、物体検出装置20が物体を検出する精度が高まり得る。ステップS106で実行される処理は、「平行物体の検出処理」とも呼ばれる。
 ステップS107は、第2視差を、検出対象の物体に対応する視差として復活させるか否かを判定するステップである。
 ステップS108は、第1視差及び復活した第2視差の中から、第2視差画像の横方向の各座標において、代表視差を決定するステップである。ステップS108で実行される処理は、「第3処理」とも呼ばれる。ステップS104~S108で実行される処理は、「第3処理」とも呼ばれる。
 ステップS109は、代表視差の情報を実空間上の座標に変換して、代表視差の纏まり(グループ)を抽出することにより、物体を検出するステップである。ステップS109で実行される処理は、「第4処理」とも呼ばれる。ステップS109では、検出対象の物体の位置、及び、ステレオカメラ10側から見た物体の幅の情報が得られる。
 ステップS110は、検出された物体の情報を、出力部22から出力するステップである。ステップ110で出力される物体の情報には、ステップS105で算出された画像上の物体の高さ、ステップS109で検出された検出対象の物体の位置、及び、ステップS109で検出されたステレオカメラ10側から観た物体の幅の情報等が含まれ得る。これらの情報は、移動体30内の他の装置に提供され得る。
 次に、各ステップの詳細が説明される。
 ステップS101の処理において、制御部24は、第1視差画像を取得又は生成する。図1に示す物体検出システム1では、制御部24は、取得部21が取得した第1画像及び第2画像に基づいて、第1視差画像を生成する。図4に示す物体検出システム1Aでは、制御部24は、生成装置25が生成した第1視差画像を、取得部21によって取得する。制御部24は、以降の処理のために、第1視差画像をメモリ23に格納してよい。
 第1視差画像の生成方法は、公知であるから、以下に簡単に説明する。以下では、制御部24が第1視差画像を生成するものとする。
 制御部24は、第1カメラ11が撮像した第1画像と、第2カメラ12が撮像した第2画像とを取得する。制御部24は、第1画像及び第2画像の一方の画像(例えば、第1画像)を多数の小領域に分割する。小領域は、縦方向及び横方向のそれぞれに複数の画素が配列された矩形の領域となり得る。例えば、小領域は、縦方向に並ぶ3画素と、横方向に並ぶ3画素とにより構成され得る。ただし、小領域の縦方向に並ぶ画素の数及び横方向に並ぶ画素の数は、3つに限定されない。また、小領域の縦方向と横方向とに含まれる画素の数は、異なってよい。制御部24は、分割した複数の小領域のそれぞれの画素を、他方の画像上で1画素ずつ横方向にずらしながら、特徴量を比較することにより、マッチングさせる。例えば第1画像を小領域に分割した場合、制御部24は、第1画像の小領域を第2画像上で1画素ずつ横方向にずらしながら、特徴量を比較することにより、マッチングさせる。特徴量は、例えば、輝度及び色のパターンである。ステレオ画像のマッチングには、SAD(Sum of Absolute Difference)関数を用いる方法が知られている。これは、小領域内の輝度値の差の絶対値の総和を表すものである。SAD関数が最小となるとき、両画像は最も類似すると判断される。ステレオ画像のマッチングは、SAD関数を用いる方法に限定されない。ステレオ画像のマッチングには、他の方法が採用されてよい。
 制御部24は、第1画像と第2画像とでマッチングした2つの領域の横方向における画素の位置の違いに基づいて、当該小領域毎の視差を算出する。視差は、同一被写体の、第1画像における位置と、第2画像における位置との差となり得る。視差の大きさは、ステレオ画像上の画素の横方向の幅を単位として表され得る。視差の大きさは、補間処理をすることにより、1画素より小さい精度で算出され得る。視差の大きさは、ステレオカメラ10により撮像された被写体の、実空間上におけるステレオカメラ10との間の距離に対応する。実空間上におけるステレオカメラ10から被写体までの距離が近いほど、当該被写体に対応する視差は、大きくなる。実空間上におけるステレオカメラ10から被写体までの距離が遠いほど、当該被写体に対応する視差は、小さくなる。
 制御部24は、算出した視差の分布を示す第1視差画像を生成する。第1視差画像を構成する視差を表す画素は、「視差画素」とも呼ばれる。制御部24は、元の第1画像及び第2画像の画素と同一精細度で第1視差画像を生成してよい。
 図6に、第1視差画像40を示す。第1視差画像40は、ステレオカメラ10の横方向(第1方向)と、横方向に直交する縦方向(第2方向)とから成る二次元平面である。第1視差画像40の二次元平面には、視差を表す視差画素が並ぶ。横方向は、「u方向」とも呼ばれる。縦方向は、「v方向」とも呼ばれる。u方向及びv方向からから成る座標系は、「uv座標系」及び「画像座標系」とも呼ばれる。本実施形態では、各図の紙面に向かって左上側の角が、uv座標系の原点(0,0)となる。また、各図の紙面の左側から右側に向かう方向がu軸の正方向となり、その反対方向がu軸の負方向となる。また、各図の紙面の上側から下側に向かう方向がv軸の正方向となり、その反対方向がv軸の負方向となる。v軸の負方向は、実空間上の路面から上に向かう方向に対応する。u座標及びv座標は、視差画素を単位として表記され得る。
 図6に示すように、第1視差画像40は、視差画像41と、視差画像42と、視差画像43とを含む。視差画像41は、移動体30の前方の路面に対応する。視差画像42は、移動体30の前方に位置する他車両に対応する。視差画像43は、ガードレールに対応する視差画像である。
 制御部24は、第1視差画像の各画素が含む視差情報を、各画素の輝度又は色等によって表示させてよい。図6に示す第1視差画像40では、説明上、各画素の視差は、異なる網掛により表示されている。第1視差画像40では、網掛が濃い領域ほど、その領域内の画素が表す視差は、小さい。網掛が薄い領域ほど、その領域内の画素が表す視差は、大きい。第1視差画像40において、等しい網掛けがされた領域内の画素は、それぞれ所定範囲内の視差を表す。実際の第1視差画像では、一部の領域内の画素は、他の領域内の画素と比較して、視差を算出する上述のマッチング処理においてステレオ画像上の特徴量が少ないことにより、視差が算出され難くなる場合がある。例えば、車両の窓等の空間的に均一な被写体の部分、及び、太陽光の反射による白とびが発生している部分は、視差が算出され難い。第1視差画像では、物体及び構造物に対応する視差が存在する場合、それらは、より遠くに位置する背景に対応する視差とは、異なる輝度又は色で表示され得る。
 制御部24は、視差を算出した後に第1視差画像を画像として表示しなくてよい。つまり、制御部24は、第1視差画像の元となる第1視差マップを保持し、第1視差マップに対して適宜処理を実行すればよい。
 ステップS101を実行した後、制御部24は、第1視差画像から路面の形状を推定する第1処理を行う(ステップS102)。以下において、制御部24が実行する路面の形状の推定処理を、図7、図8及び図14のフローチャートを用いて説明する。まず、制御部24は、第1視差画像から路面候補視差dcを抽出する(ステップS201)。路面候補視差dcは、第1視差画像から収集される路面視差drに該当する可能性が高い視差である。路面視差drは、路面領域の視差を意味する。路面視差drは、路面上の物体の視差を含まない。路面視差drは、路面上の対応する箇所迄の距離を表す。路面視差drは、同じv座標を有する位置で近い値を有するものとして収集される。
 路面候補視差dcの抽出処理の詳細は、図8のフローチャートに示される。図8に示すように、制御部24は、ステレオカメラ10の設置位置に基づいて、路面候補視差算出用の視差の初期値である路面候補視差初期値d0を計算する(ステップS301)。路面候補視差初期値d0は、ステレオカメラ10から最も近い路面候補視差の抽出位置での路面候補視差の初期値である。ステレオカメラ10から最も近い路面候補視差の抽出位置は、例えば、ステレオカメラ10から、1mから10mの範囲から設定することができる。
 図9に示すように、ステレオカメラ10において、路面高さYは、撮像される路面41Aからのステレオカメラ10の鉛直方向の高さである。また、路面高さY0は、ステレオカメラ10の設置位置における路面41Aからの高さである。道路の起伏により、路面高さYはステレオカメラ10からの距離により変化することがある。従って、ステレオカメラ10から離れた位置での路面高さYは、ステレオカメラ10の設置位置での路面高さY0に一致しない。複数の実施形態の一つにおいて、ステレオカメラ10の第1カメラ11及び第2カメラ12は、光軸OXを互いに平行に前方に向けて設置されていると仮定される。図9において距離Zは、特定の路面位置までの水平方向の距離を示す。ステレオカメラ10の基線長をB、縦方向の画像サイズをTOTALvとする。この場合、ある縦方向の座標(v座標)において撮像された路面41Aの路面視差dsと路面高さYとの関係は、次の数式で与えられる。
   ds=B/Y×(v-TOTALv/2)      (1)
 数式(1)により算出された路面視差dsは、「幾何推定路面視差」とも呼ばれる。以下において、幾何推定路面視差を符号dsで表記することがある。
 路面候補視差初期値d0は、路面41Aが、ステレオカメラ10とステレオカメラ10の位置から最も近い路面候補視差dcの抽出位置との間で、第1カメラ11及び第2カメラ12の光軸OXに平行且つ平坦であるものと仮定して算出される。その場合、ステレオカメラ10の位置から最も近い路面候補視差の抽出位置の、第1視差画像上のv座標が特定の座標(v0)に定まる。座標(v0)は、路面候補視差を抽出するv座標の初期値である。座標(v0)は、TOTALv/2とTOTALvとの間に位置する。座標(v0)は、視差算出が可能な画像座標の範囲内で最も下側(v座標の大きい側)に位置する。座標(v0)は、第1視差画像の最も下の行に対応するTOTALvとしてよい。路面候補視差初期値d0は、数式(1)のvにv0を代入し、YにY0を代入することにより決定することができる。
 制御部24は、路面候補視差初期値d0に基づいて、縦方向のv座標が座標(v0)である最初の行の視差収集閾値を計算する(ステップS302)。行は、第1視差画像上で同じv座標を有する横方向に並ぶ画素の配列を意味する。視差収集閾値は、視差を収集する上限の閾値である上限閾値と、視差を収集する下限の閾値である下限閾値とを含む。視差収集閾値は、路面候補視差初期値d0を含むように路面候補視差初期値d0の上下に所定の規則に基づいて設定される。具体的には、路面候補視差初期値d0を算出した状態から、予め定めた路面高さ変化量ΔYだけ路面高さYが上下に変化した場合の路面視差が、視差収集閾値の上限閾値及び下限閾値として定められる。すなわち、視差収集閾値の下限閾値は、路面候補視差初期値d0から路面高さ変化量ΔY分の視差を引いて得られる。視差収集閾値の上限閾値は、路面候補視差初期値d0から路面高さ変化量ΔY分の視差を加えて得られる。具体的な視差収集閾値の下限閾値及び上限閾値は、数式(1)のYの値を変更することにより求められる。
 以下において、制御部24は、ステップS303の処理とステップS307の処理とを繰り返し実行する。まず、制御部24は、第1視差画像の最も下側に位置するv座標が座標(v0)である行についての処理を行う(ステップS303)。
 制御部24は、視差収集閾値を用いて視差を収集する(ステップS304)。制御部24は、第1視差画像に含まれるv座標が座標(v0)の横方向に並んで位置する各視差画素について、視差収集閾値の下限閾値と上限閾値との間の視差を有する視差画素を路面候補視差dcとして収集する。すなわち、制御部24は、数式(1)を用いて算出された路面候補視差初期値d0を基準とする所定のマージンの範囲に入る視差を有する視差画素を、路面41Aの正しい視差を表す視差画素の候補であると判定する。制御部24は、路面41Aの正しい視差を表す視差画素の候補であると判定された視差画素の視差を路面候補視差dcとする。このような構成により、制御部24は、路面41A上の物体及び構造物等の路面41A以外に対応する視差を、路面41Aに対応する視差として、誤判定する可能性が低減され得る。これにより、路面41Aの検出精度が向上する。
 ステップS304の処理においてv座標が座標(v0)の全ての視差画素の判定が終了すると、制御部24は、収集した路面候補視差dcを平均化して路面候補視差dcの平均値である平均路面候補視差davを算出する(ステップS305)。制御部24は、それぞれの路面候補視差dc及びそのu-v座標、並びに、v座標が座標(v0)における平均路面候補視差davを、メモリ23に格納してよい。
 ステップS305の処理を実行した後、制御部24は、ステップS306の処理を実行する。ステップS306の処理において、制御部24は、ステップS305の処理で算出したv座標が座標(v0)の平均路面候補視差davから、1行上の行、すなわち、v座標が座標(v0-1)の行の各視差画素について、視差収集閾値を算出する。制御部24は、ステップS304の処理で算出したv座標が座標(v0)のときの平均路面候補視差davに対して、数式(1)が成立するように路面高さYを変更する。制御部24は、路面高さYを変更した数式(1)のv0に代えて、v0-1を代入することにより、v座標が座標(v0-1)のときの幾何推定路面視差dsを算出する。制御部24は、ステップS302の処理と類似に、幾何推定路面視差dsから所定の路面高さ変化量ΔY分の視差を引いた視差を視差収集閾値の下限閾値とすることができる。制御部24は、幾何推定路面視差dsに所定の路面高さ変化量ΔY分の視差を加えた視差を視差収集閾値の上限閾値とすることができる。
 ステップS306の処理を実行した後、制御部24は、数式(1)により算出された幾何推定路面視差dsが所定値より大きいか否かを判定する。所定値は、例えば、1画素である。制御部24は、幾何推定路面視差dsが1よりも大きいとき、ステップS303の処理に戻る(ステップS307)。ステップS303の処理において、制御部24は、路面候補視差dcの抽出の対象を、1画素上の行に移動させる。すなわち、路面候補視差dcの抽出の対象が、v座標が座標(v0)の行であったとき、制御部24は、路面検出の対象の行のv座標を、座標(v0-1)に変更する。また、図10に示すように、路面候補視差dcの算出の対象が、n番目の行であったとき、制御部24は、路面検出の対象の行を、n+1番目の行に変更する。図10は、説明のため各行の縦方向の幅を広くしている。実際の各行は、1画素の高さである。この場合、n+1番目の行v座標は、n番目の行のv座標よりも1小さい。
 それぞれ、n+1番目の行を対象とするステップS304~S306の処理は、v座標が座標(v0)の行の処理と同一又は類似に行われる。ステップS304の処理において、制御部24は、n番目の行に対するステップS306の処理で算出した視差収集閾値を用いて、路面候補視差dcを収集する。ステップS305の処理において、制御部24は、収集した路面候補視差dcを平均化して平均路面候補視差davを算出する。ステップS306の処理において、制御部24は、平均路面候補視差davを用いて、数式(1)の路面高さYを変更する。制御部24は、路面高さYを変更した数式(1)を用いて、幾何推定路面視差dsを算出する。さらに、制御部24は、n+2番目の行の路面候補視差dcの抽出のために、幾何推定路面視差dsに路面高さ変化量ΔYを考慮して、視差収集閾値を算出する。
 制御部24は、路面候補視差dcの抽出対象を、ステレオカメラ10から最も近い路面候補視差dcの抽出位置に対応する行から、順次上方向(v座標の負の方向)にシフトさせながら、当該v座標に対応する路面候補視差dcを抽出する。制御部24は、抽出した路面候補視差dcを、対応するu座標及びv座標及びv座標に対応する平均路面候補視差davと共にメモリ23に格納してよい。
 制御部24は、ステップS307の処理において、数式(1)により算出された幾何推定路面視差dsが上述の所定の値以下となったとき、路面候補視差dcの抽出処理を終了して、図7のフローチャートのステップS201の処理に戻る。所定の値は、例えば、1画素とすることができる。
 このように、図8のフローチャートでは、路面候補視差dcを抽出するv座標の初期値をステレオカメラ10から見て近距離側の位置に対応するv0に設定し、順次遠距離側の路面候補視差dcを抽出する。ステレオカメラ10は、一般的に遠距離側よりも近距離側の方が、視差の検出精度が高い。このため、近距離側から遠距離側に順次路面候補視差dcを抽出することにより、検出される路面候補視差dcの精度を高めることができる。
 上記路面候補視差dcを抽出する図8のフローチャートでは、縦方向の1つの座標ごとに路面候補視差dcを算出した。言い換えると、上記路面候補視差dcを抽出するフローチャートでは、縦方向に1画素の行ごとに路面候補視差dcを算出した。路面候補視差の算出の単位は、これに限られない。縦方向に複数の座標を纏めて路面候補視差dcを算出することも可能である。
 ステップS301~S307の路面候補視差dcの抽出処理に続いて、制御部24は、図7のフローチャートのステップS202の処理に進む。制御部24は、近距離側から遠距離側へ順次路面視差drを推定する際に、路面視差drに順次カルマンフィルタを適用する。そのため、始めに、制御部24は、カルマンフィルタの初期化を行う(ステップS202)。カルマンフィルタの初期値として、ステップS305の処理で算出した、路面視差drの推定を行う行のうち最も下の行(v座標の値がv0の行)に対応する平均路面候補視差davの値を利用することができる。
 制御部24は、以下のステップS203~S210の処理を、路面の近距離側から遠距離側へ対象とする行を変えながら順次実行する(ステップS203)。
 まず、制御部24は、第1視差画像内の対象とする行について、実空間における一定幅の範囲内に位置する路面候補視差dcから、路面視差drの値ごとの頻度を表すヒストグラムを生成する(ステップS204)。実空間における一定幅の範囲とは、道路の走行車線の幅を考慮した範囲である。一定幅は、例えば、2.5m又は3.5m等の値に設定できる。視差を取得する範囲は、例えば、図11において実線の枠線45により囲まれた範囲に初期設定される。一定幅は、予め物体検出装置20のメモリ23等に記憶される。視差を取得する範囲を、この範囲に限定することにより、制御部24が路面41A以外の物体又は防音壁等の構造物を路面41Aと誤認して抽出する可能性が低減される。これにより、路面検出の精度を向上することができる。図11に実線で示した視差を取得する範囲は、後述するように、前方の道路上の状況に応じて初期設定された枠線45から順次変更されうる。
 制御部24は、カルマンフィルタによる路面視差drの予測値に基づいて、対象とする行について路面視差drの取得範囲を設定する。路面視差drの取得範囲は、カルマンフィルタが次の行の路面視差drを予測する際に算出する信頼度に基づいて決定される範囲である。信頼度は、ガウス分布の分散σ2(σは路面視差drの標準偏差)で表現される。制御部24は、予測値±2σ等により路面視差drの取得範囲を求めることができる。制御部24は、ステップS204の処理で生成した路面候補視差dcのヒストグラムから、カルマンフィルタに基づいて設定された路面視差drの取得範囲内で、頻度が最大となる路面視差drを抽出する。制御部24は、抽出した路面視差drを、対象とする行の路面視差drの観測値とする(ステップS205)。
 次に、制御部24は、ステップS205の処理で決定した路面視差drが、物体に対応する視差等を含まず、正しい路面視差drであることを確認する(ステップS206)。制御部24は、現在処理中の行までの各行で検出された全ての路面視差drについて、路面視差drとv座標とを座標軸とするd-v座標空間上にマップしたd-v相関図を生成する。正しく路面41Aが検出されている場合、d-v相関図は、図12に破線で示すようにv座標の値が小さくなるにつれて、路面視差drも直線的に小さくなる。
 一方、物体を表す視差が路面41Aを表す視差として誤認識されている場合、図13に示すように、d-v相関図は、物体を表す視差の部分で、縦方向の座標(v座標)の変化に関わらず視差dが略一定となる。一般に、物体は、路面41Aに対して垂直な部分を含むので、第1視差画像上では等距離の視差を多く含むように表示される。図13において、第1部分R1は、v座標の値の変化とともに視差dが減少している。第1部分R1は、路面41Aを表す視差を正しく検出している部分である。第2部分R2は、v座標が変化しても視差dは一定である。第2部分R2は、物体を表す視差を、誤検出した部分と考えられる。制御部24は、視差dが略等しい値の行が所定数続いたとき、物体を表す視差を、路面41Aを表す視差として、誤認識していると判断することができる。
 ステップS206の処理で視差が正しい路面視差drではないと判断されると(ステップS206:No)、制御部24は、物体を表す視差が誤検出されたと判断される行から、路面視差drを再探索する(ステップS207)。ステップS207の処理において、制御部24は、v座標の値が変化しても視差dが変化しない行の領域で、路面視差ヒストグラムを再探索する。この領域で、ステップS205の処理で決定された視差dよりも小さい視差の部分に、頻度が高い視差がある場合、制御部24は、この視差を正しい路面視差drの観測値であると判断することができる。
 ステップS206の処理において路面視差drが正しいと判断されたとき(ステップS206:Yes)、及び、ステップS207の処理において、路面視差drの再探索が終了したとき、制御部24は、ステップS208の処理に進む。ステップS208の処理において、制御部24は、縦方向に1画素ずらした次の行のヒストグラムを生成する対象となる第1視差画像上の路面に対応する視差画像41の横方向の範囲を決定する。例えば、図11に示すように、路面に対応する視差画像41上に他車両に対応する視差画像42がある場合、路面検出部26は、他車両と重複する部分の路面に対応する視差画像41の正しい路面視差drを取得できない。路面視差drを取得できる路面に対応する視差画像41の範囲が狭くなると、制御部24は、正確な路面視差drを取得し難くなる。このため、制御部24は、図11に破線で示したように路面候補視差dcを取得する範囲を順次横方向に変化させる。具体的には、制御部24は、ステップS206の処理で物体を表す視差が含まれていると判断した場合、物体の横方向の何れの側に正しい路面視差drを表す路面候補視差dcが多いか検出する。次の行において、制御部24は、横方向のより多くの正しい路面視差drを表す路面候補視差dc含まれる側(図11において右側)に視差を取得する範囲を順次ずらす。
 次に、制御部24は、ステップS205の処理又はS207の処理で決定した現在の行の路面視差drを用いて、カルマンフィルタを更新する(ステップS209)。すなわち、カルマンフィルタは、現在の行の路面視差drの観測値に基づいて、路面視差drの推定値を算出する。現在の行の推定値が算出されると、制御部24は、現在の行の路面視差drの推定値を過去のデータの一部として加え、次の行の路面視差drの推定値を算出する処理に用いる。路面41Aの高さは、ステレオカメラ10からの水平方向の距離Zに対して、急に上下に変化しないと考えられる。このため、本実施形態のカルマンフィルタを用いる推定では、現在の行の路面視差drの近くに次の行の路面視差drが存在すると推定される。このように、制御部24が現在の行の路面視差drの近くに次の行のヒストグラムを生成する視差の範囲を限定することにより、路面41A以外の物体を誤検出する可能性が低減される。また、制御部24が実行する演算量を減らして、処理を高速化することができる。
 ステップS209の処理でカルマンフィルタにより推定された路面視差drが所定値より大きい場合、制御部24は、ステップS203の処理に戻り、ステップS203~S209の処理を繰り返し実行する。カルマンフィルタにより推定された路面視差drが所定値以下の場合(ステップS210)、制御部24は、次の処理(ステップS211)に進む。所定値は、例えば、1画素とすることができる。
 ステップS211の処理において、制御部24は、d-v相関図上で、縦方向の画像座標vと推定された路面視差drとの関係を、2本の直線で近似する。路面視差drは、ステレオカメラ10からの距離Zに関係する。v座標の値は、ステレオカメラ10からの距離Z及び路面高さYに関連する。従って、v座標と路面視差drとの関係を2本の直線で近似することは、ステレオカメラ10からの距離Zと路面41Aの高さとの関係を、2本の直線で近似したものということができる。ステップS211の処理は、図14のフローチャートに詳しく説明される。
 まず、図7のステップS210までの処理により、路面視差drとv座標との相関関係が得られる。例えば、v座標と路面視差drとの相関関係は、図15の破線のグラフ51のようにd-v座標空間で示される。実空間において、路面41Aが平坦で傾斜変化が無い場合、グラフ51は直線になる。しかしながら、現実の路面41Aは上り下り等の起伏の変化により、路面41Aの傾斜が変化しうる。路面41Aの傾斜が変化する場合、d-v座標空間のグラフ51は、直線で表現できない。路面41Aの傾斜の変化を3本以上の直線又は曲線で近似しようとすると、物体検出装置20の処理負荷が大きくなる。そこで、本願では2本の直線によりグラフ51を近似する。
 図15に示すように、制御部24は、d-v座標空間における下側(近距離側)の推定された路面視差drを、第1直線52により最小二乗法により近似する(ステップS401)。第1直線52による近似は、物体検出装置20が物体検出の対象とする距離範囲の中で、所定の距離に対応する路面視差drまでの範囲で行うことができる。所定の距離は、物体検出装置20が物体検出の対象とする距離範囲の半分の距離とすることができる。例えば、物体検出装置20が、100m先までの物体を検出するように設計される場合、第1直線52はステレオカメラ10が測定可能な最も近い距離から50m先までの範囲で、最小二乗法によりグラフ51に最も近づくように決定されてよい。
 次に、制御部24は、ステップS401の処理で近似した第1直線52の表す路面41Aの傾斜が、路面41Aとしてあり得る傾斜か否かを判定する(ステップS402)。第1直線52の傾斜角度は、実空間に変換すると平面になる。第1直線52の傾斜は、ステレオカメラ10の設置位置の路面高さY0及び基線長B等の条件に応じて定まる路面41Aのyz平面内の傾斜角度に対応する。制御部24は、第1直線52に対応する実空間の路面41Aの傾斜が、実空間における水平面を基準とする所定角度の範囲内にあるとき、あり得る傾斜であると判定することができる。制御部24は、第1直線52に対応する実空間の路面41Aの傾斜が、実空間における水平面を基準とする所定角度の範囲外にあるとき、あり得ない傾斜であると判定することができる。所定角度は、移動体30の走行環境を考慮して適宜設定することができる。
 ステップS402の処理において、第1直線52の傾斜が路面41Aとしてあり得ない傾斜であると判定した場合(ステップS402:No)、制御部24は、路面41Aが平坦であることを仮定した理論路面に基づき第1直線52を決定する(ステップS403)。理論路面は、ステレオカメラ10の設置位置の路面高さY0、設置角度及び基線長B等の設置条件に基づいて算出することができる。制御部24は、画像から算出した路面視差drが信用できないとき、理論路面の路面視差を採用する。例えば、制御部24は、路面41A以外の物体又は構造物を表す視差を誤って路面視差drとして抽出した場合、路面41Aを非現実的な傾斜を有するものと判断して、誤りを排除できることがある。これにより、路面41A以外の物体又は構造物を表す視差を路面視差drであると誤判定する可能性を低減することができる。
 ステップS402の処理において、制御部24が、第1直線52の傾斜が路面41Aとしてあり得る傾斜であると判定した場合(ステップS402:Yes)、及び、ステップ403の処理を実行した後、制御部24は、ステップS404の処理に進む。ステップS404の処理において、制御部24は、第2直線55の近似を開始する近似開始点53を決定する。制御部24は、第1直線52のv座標の最も小さい側(遠距離側)から大きい側(近距離側)へ、グラフ51との近似誤差を算出し、近似誤差が連続して所定値より小さくなる第1直線52上の座標を、近似開始点53とすることができる。或いは、近似開始点53は、第1直線52のv座標の最も大きい側(近距離画側)から小さい側(遠距離側)へ、グラフ51との近似誤差を算出し、近似誤差が所定値より大きくなったときの第1直線52上の座標として決定してよい。近似開始点53のv座標は特定の値に固定されない。近似開始点53は、第1直線52上で物体検出装置20が物体検出の対象とする距離範囲の半分の距離よりも、ステレオカメラ10側に近い位置に相当するv座標の位置に設定されてよい。例えば、第1直線52が、測定可能な最も近い距離から50m先までの範囲で路面41Aを近似した場合、近似開始点53は、50mよりも手前の40mに相当するv座標の位置に設定されてよい。
 ステップS404の処理を実行した後、制御部24は、ステップS405~S407の処理を繰り返し実行する。図16に示すように、制御部24は、第1直線52との角度差を所定の角度範囲から選択された角度として、近似開始点53を起点とする第2直線55の候補である候補直線54を順次選択する(ステップS405)。所定の角度範囲は、測定対象の距離範囲内で道路の勾配が変化し得る角度として設定される。所定の角度範囲は、例えば±3度とすることができる。例えば、制御部24は、候補直線54の角度を、第1直線52の角度-3度から開始して、第1直線52の角度+3度まで、順次、0.001度ずつ加えた角度に変えることができる。
 選択した候補直線54について、制御部24は、d-v座標空間においてグラフ51の近似開始点53よりも上側(遠距離側)の部分との誤差を計算する(ステップS406)。誤差の計算は、v座標に対する視差dの平均二乗誤差により計算できる。制御部24は、候補直線54ごとに計算した誤差を、メモリ23に格納してよい。
 制御部24は、角度範囲の全ての候補直線54について誤差の計算が終了すると(ステップS407)、メモリ23に格納された誤差の中から最小の誤差を探索する。図17に示すように、制御部24は、最小の誤差を有する候補直線54を第2直線55として選択する(ステップS408)。
 ステップS408の処理で第2直線55が決定されると、制御部24は、第2直線55のグラフ51との誤差が所定値以内か否かを判定する(ステップS409)。所定値は、所望の路面推定の精度を得るために、適宜設定される。
 ステップS409の処理において誤差が所定値以内の場合(ステップS409:Yes)、路面視差drは、第1直線52及び第2直線55を用いて近似される。
 ステップS409の処理において誤差が所定値を超える場合(ステップS409:No)、制御部24は、第1直線52を上側(遠距離側)に延長して、近似結果を上書きする(ステップS410)。以上のようにして、路面視差drが2本の直線により近似される。
 v座標に対する路面視差drが、2本の直線で近似されることにより、路面の形状が、2本の直線で近似される。これによって、路面の形状を曲線又は3本以上の直線で近似する場合に比べて、以降の計算に係る負荷が低減され、且つ、物体検出の処理が高速化される。また、路面を1本の直線で近似する場合に比べて、実際の路面との誤差が小さい。さらに、第2直線55の近似開始点53のv座標を所定の座標に固定しないことにより、近似開始点53の座標を予め固定した場合と比較して、実際の路面との近似の精度を向上することができる。
 ステップS409の処理において誤差が所定値以内の場合(ステップS409:Yes)及びステップS410の処理を実行した後、制御部24は、路面視差drを直線近似する処理を終了し、図7のステップS212の処理に戻る。
 ステップS212の処理において、第1視差画像から除去する路面視差drの閾値が決定される(ステップS212)。第1視差画像から除去する路面視差drの閾値は、後述する第1高さに相当する。第1高さは、次のステップS103の処理で路面視差drが除去されるように算出され得る。
 次に、制御部24は、図5のフローチャートに戻る。上述の処理により、制御部24は、d-v座標空間におけるv座標と路面視差drとの関係を2本の直線で近似した近似式を取得している。d-v座標空間におけるv座標と路面視差drとの関係を表す近似式から、実空間におけるステレオカメラ10の前方の距離Zと路面高さYとの関係が得られる。制御部24は、近似式に基づいて、(第2処理)を実行する(ステップS103)。第2処理は、実空間における路面41Aからの高さが第1高さ以下の範囲に対応する視差と、路面41Aからの高さが第2高さ以上の被写体に対応する視差とを、第1視差画像から除去する処理である。これにより、制御部24は、図6に示す第1視差画像40から、図18に示すような第2視差画像60を生成する。図18は、説明のために作図された図である。ステレオカメラ10から取得した画像に基づく実際の第2視差画像は、例えば、図19に示すようになる。図19では、黒白の濃淡により視差の大きさを表現している。図19に示す第2視差画像は、他車両に対応する視差画像44を含む。
 第1高さは、物体検出装置20の検出対象となる物体の高さの最小値よりも小さくなるように、設定されてよい。物体検出装置20の検出対象となる物体の高さの最小値は、子供の伸長(例えば、50cm)であってよい。第1高さは、15cmより大きく50cmよりも小さい値であってよい。図6に示す第1視差画像40にノイズが含まれることにより、前述の処理により路面に対応する視差の検出精度が低下する場合がある。この場合、第1視差画像40から、検出した路面に対応する視差を単に除去すると、視差画像41の一部に、路面に対応する視差が残る場合がある。第1視差画像40から路面41Aからの高さが第1高さ以下の範囲に対応する視差を除去することにより、視差画像41から路面に対応する視差を精度良く除去した第2視差画像が得られる。
 図18に示す第2視差画像60では、実空間における路面からの高さが第1高さ以下の範囲に対応する視差の情報が除去されている。このような構成により、路面に対応する視差画像41には、視差の情報が含まれていない。路面に対応する視差画像41と、他車両に対応する視差画像42とは、隣接する。第2視差画像60では、視差画像41に視差の情報が含まれなくなることにより、後の処理において、他車両に対応する視差画像42の視差情報に対する処理が容易になり得る。さらに検出対象の物体とは関連しない不要な視差が除去されることにより、後述の処理速度が高速化され得る。
 第2高さは、物体検出装置20の検出対象となる物体の高さの最大値に基づいて、適宜設定されてよい。第2高さは、移動体30が車両である場合、道路上を走行可能な車両の高さの上限値に基づいて設定されてよい。道路上を走行可能な車両の高さは、交通法規等により規定される。例えば、日本の道路交通法では、トラックの高さは原則3.8m以下である。この場合、第2高さは、4mであってよい。第1視差画像から、路面からの高さが第2高さ以上の物体に対応する視差を除去することにより、第1視差画像から、当該物体に対応する視差の情報が除去される。図18に示す第2視差画像60では、路面からの高さが第2高さ以上の物体に対応する視差が除去されることにより、v軸の負方向側に位置する物体に対応する視差画像には、視差の情報が含まれていない。第2高さ以上の物体に対応する視差の情報が除去されることにより、後の処理において、図18に他車両に対応する視差画像42の視差情報に対する処理がより容易になり得る。さらに検出対象の物体とは関連しない不要な視差が除去されることにより、後述の処理速度が高速化され得る。
 ステップS103の処理を実行した後、制御部24は、第2視差画像から、第1視差及び第2視差を検出する(ステップS104)。ステップS104の処理の詳細は、図20に示すフローチャートに示される。
 ステップS501の処理において、制御部24は、第2視差画像をu方向に沿ってΔu1で分割することにより、複数の部分領域に分割する。図21に、部分領域61を第2視差画像60に重ねて示す。部分領域61は、長辺が短辺よりも著しく長い、長方形となり得る。部分領域61の長辺は、部分領域61の短辺の5倍以上である。部分領域61の長辺は、部分領域61の短辺の10倍以上であってよいし、部分領域61の短辺の20倍以上であってよい。部分領域61の短辺すなわちΔu1は、数画素から数十画素であってよい。部分領域61を基準にして、後述のように第1視差及び第2視差が検出され得る。部分領域101aの短辺すなわちΔu1が短くなるほど、第1視差及び第2視差の検出の分解能が高まり得る。制御部24は、図21に示すu軸の負方向側から正方向側に向けて、部分領域61を順次取得し、以下のステップS502からステップS506の処理を実行してよい。
 ステップS502の処理において、制御部24は、部分領域毎に、視差ヒストグラムを生成する。図22に、視差ヒストグラムの一例を示す。図22の横軸は、視差の大きさに対応する。図22の縦軸は、視差の頻度に対応する。視差の頻度は、部分領域に含まれる当該視差を表す視差画素の数である。図21に示すように、部分領域61には、同一物体に対応する視差画像内の複数の視差画素が含まれ得る。例えば、部分領域61-1には、複数の視差画素42aが含まれる。複数の視差画素42aは、他車両に対応する視差画像42内の複数の視差画素のうち、部分領域61-1に含まれる視差画素である。部分領域61において、同一物体に対応する複数の視差画素が表す視差は、同程度になり得る。例えば、部分領域61-1において、複数の視差画素42aが表す視差は、同程度となり得る。つまり、図22に示す視差ヒストグラムにおいて、同一物体に対応する視差の頻度は、高くなり得る。
 ステップS502の処理において、制御部24は、図22に示す視差ヒストグラムの区間Snの幅を、視差が小さくなるに連れて広げてよい。区間Snは、視差が小さい方から数えてn番目の視差ヒストグラムの区間である。区間Snの始点は、視差dn-1である。区間Snの終点は、視差dnである。例えば、制御部24は、区間Sn-1の幅を、区間Snの幅よりも、区間Snの幅の10%程度広げてよい。ステレオカメラ10から物体までの距離が遠い場合、当該物体に対応する視差は、ステレオカメラ10から当該物体までの距離が近い場合と比較して、小さくなり得る。ステレオカメラ10から物体までの距離が遠い場合、ステレオ画像上で当該物体が占める画素数は、ステレオカメラ10から当該物体までの距離が近い場合と比較して、少なくなり得る。つまり、ステレオカメラ10から物体までの距離が遠い場合、第2視差画像上で当該物体に対応する視差を表す視差画素の数は、ステレオカメラ10から当該物体までの距離が近い場合と比較して、少なくなり得る。視差が小さくなるに連れて図22に示す視差ヒストグラムの区間Snの幅が広がることにより、ステレオカメラ10から遠い距離にある物体に対応する視差が、後述のステップS503~S506の処理により検出され易くなり得る。制御部24は、ステップS503~S506の処理を、視差ヒストグラムの区間毎に順次実行してよい。
 ステップS503の処理において、制御部24は、生成した視差ヒストグラムにて、視差の頻度が第1閾値Tr1(所定閾値)を超える区間Snが存在するか否か判定する。制御部24は、視差の頻度が第1閾値Tr1を超える区間Snが存在すると判定するとき(ステップS503:Yes)、区間Snの始点(視差dn-1)から区間Snの終点(視差dn)までの範囲の視差を、第1視差として検出する(ステップS504)。制御部24は、物体に対応する視差とみなして、第1視差を検出する。制御部24は、検出した第1視差をu座標と対応付けて、メモリ23に格納する。一方、制御部24は、生成した視差ヒストグラムにて、視差の頻度が第1閾値Tr1を超える区間Snが存在しないと判定するとき(ステップS503:No)、ステップS505の処理に進む。
 第1閾値Tr1は、物体検出装置20の検出対象となる物体の高さの最小値(例えば、子供の伸長50cm)に基づいて、設定されてよい。ただし、上述のように、物体がステレオカメラ10から遠い距離にある場合、当該物体に対応する視差は、当該物体がステレオカメラ10から近い距離にある場合と比較して、小さくなり得る。この場合、第1閾値Tr1を視差に対して一定にすると、ステレオカメラ10から近い距離にある物体と比較して、ステレオカメラ10から遠い距離にある物体に対応する視差が検出し難くなる場合がある。そこで、第1閾値Tr1は、物体検出装置20の検出対象となる物体の高さの最小値に基づきつつ、視差ヒストグラムの視差が小さくなるに連れて大きくなるように、設定されてよい。例えば、第1閾値Tr1は、数式(2)によって算出されてよい。
   Tr1=(D×H)/B      (2)
 数式(2)において、視差dは、視差ヒストグラムの横軸に対応する視差である。高さHは、物体検出装置20の検出対象となる物体の高さの最小値である。基線長Bは、第1カメラ11の光学中心と第2カメラ12の光学中心との間の距離(基線長)である。
 ステップS505の処理は、第2視差を検出するか否か判定する処理である。ステップS505の処理を説明する前に、第2視差を検出する理由を説明する。上述のように、視差を算出するマッチング処理において、ステレオ画像上の特徴量が少ないことにより、物体に対応する視差画像の一部の視差が、算出されなかったり、又は、他の部分の視差と比べて小さくなったりする場合がある。例えば、図19に示すように、他車両に対応する視差画像44の下側の中央部の視差は、ステレオ画像上の特徴量が少ないことにより、算出されていない。物体に対応する視差画像の一部が算出されないと、例えば実空間上の実際の高さが50cm以上の物体でも、第2視差画像上において、実空間上の高さが50cm未満(例えば、10cm)となる2つ以上の別個の物体として表示され得る。つまり、実空間上の実際の高さが検出対象の高さ以上の物体でも、当該物体に対応する視差画像の一部が欠けていると、当該物体に対応する視差は、上述の第1閾値Tr1による判定処理により、第1視差として検出されない場合がある。そこで、本実施形態では、このような第1視差として検出されない視差を、物体に対応する視差の候補として、すなわち、2視差として検出しておく。第2視差として検出しておくことにより、後述の図5に示す後述のステップS107の処理において検出対象の物体の視差として復活させるか否かを判定することができる。
 ステップS505の処理において、制御部24は、生成した視差ヒストグラムにて、視差の頻度が第1閾値Tr1以下であり且つ第2閾値Tr2(所定閾値)を超える区間Snが存在するか否か判定する。
 第2閾値Tr2は、第1閾値Tr1の所定割合であってよい。所定割合は、同一物体に対する視差画像において、視差が算出されない部分と視差が算出される部分との間の比率に基づいて、適宜設定されてよい。例えば、所定割合は、0.2であってよい。
 ステップS505の処理において、制御部24は、生成した視差ヒストグラムにて、視差の頻度が第1閾値Tr1以下であり且つ第2閾値Tr2を超える区間Snが存在すると判定するとき(ステップS505:Yes)、ステップS506の処理に進む。一方、制御部24は、生成した視差ヒストグラムにて、視差の頻度が第1閾値Tr1以下であり且つ第2閾値Tr2を超える区間Snが存在しないと判定するとき(ステップS505:No)、図5に示すステップS105の処理に戻る。
 ステップS506の処理において、制御部24は、当該区間Snの始点(視差dn-1)から区間Snの終点(視差dn)までの範囲の視差を、第2視差として検出する(ステップS506)。制御部24は、検出した第2視差をu座標と対応付けて、メモリ23に格納する。制御部24は、ステップS506の処理を実行した後、図5に示すステップS105の処理に戻る。
 ステップS105の処理において、制御部24は、画像上の物体の高さを算出する。ステップS105の処理の詳細は、図23から図25に示すフローチャートに示される。
 以下、制御部24は、物体の高さの算出処理を、視差マップとして第2視差マップすなわち第2視差画像に対して実行するものとする。ただし、制御部24は、uv座標に視差が対応付けられた任意の視差マップに対して、物体の高さの算出処理を実行してよい。物体の高さの算出処理では、制御部24は、探索対象のu座標において、v方向に沿って視差画素を走査することにより、画像上の物体の高さを算出する。例えば、制御部24は、v方向に沿って、物体に対応する視差とみなされる第1視差を表す視差画素、及び/又は、物体に対応する視差の候補となる第2視差を表す視差画像を走査することにより、画像上の物体の高さを算出する。
 ステップS601の処理を開始する際、制御部24は、探索対象のu座標として、u座標の最小座標を取得する。本実施形態において、最小座標及び最大座標は、画像上の走査に関して用いられる場合、走査範囲の最小座標及び最大座標を意味する。走査範囲の最小座標及び最大座標は、画像上の最小座標及び最大座標に一致しなくてよい。走査範囲の最小座標及び最大座標は、任意に設定されてよい。
 ステップS601の処理において、制御部24は、メモリ23を参照して、探索対象のu座標に対応付けられた、図20に示す処理により検出された第1視差又は第2視差が存在するか否かを判定する。
 図26に、第2視差画像70を示す。図26には、第2視差画像70の一部が示されている。第2視差画像70は、図18に示す第2視差画像60の領域62に相当する。第2視差画像70は、他車両の視差画像42を含む。第2視差画像70において、網掛部分は、第1視差又は第2視差を表す視差画素である。制御部24は、探索対象のu座標が座標(u0)であるとき、探索対象のu座標に対応付けられた第1視差及び第2視差が存在しないと判定する。制御部24は、探索対象のu座標が座標(u1)であるとき、探索対象のu座標に対応付けられた第1視差又は第2視差が存在すると判定する。
 ステップS601の処理において、制御部24は、探索対象のu座標に対応付けられた第1視差又は第2視差が存在すると判定しないとき(ステップS601:No)、ステップS602の処理に進む。一方、制御部24は、探索対象のu座標に対応付けられた第1視差又は第2視差が存在すると判定するとき(ステップS601:Yes)、ステップS604の処理に進む。
 ステップS602の処理において、制御部24は、探索対象のu座標が最大座標であるか否かを判定する。探索対象のu座標が最大座標であるときは、制御部24がu座標を最小座標から最大座標まで探索し切ったときである。制御部24は、探索対象のu座標が最大座標であると判定するとき(ステップS602:Yes)、図23に示す処理を終了して、図5に示すステップS106の処理に戻る。例えば、制御部24は、探索対象のu座標が図26に示す座標(u0)であるとき、探索対象のu座標が最大座標ではないと判定する。一方、制御部24は、探索対象のu座標が最大座標ではないと判定するとき(ステップS602:No)、探索対象のu座標を1つインクリメントする(ステップS603)。制御部24は、ステップS603の処理により1つインクリメントしたu座標に対して、ステップS601の処理を実行する。例えば、制御部24は、探索対象のu座標を図26に示す座標(u0)から始めて、探索対象のu座標に対応付けられた第1視差又は第2視差が存在すると判定するまで、ステップS601~S603の処理を繰り返し実行し得る。
 ステップS604の処理において、制御部24は、対象視差を取得する。対象視差は、物体に対応する視差とみなされて検出された第1視差のみであってよい。換言すると、対象視差は、所定条件としての図20に示すステップS503の判定処理を満たす視差であってよい。又は、対象視差は、第1視差及び第2視差の両方を含んでよい。換言すると、所定条件としての図20に示すステップS503の判定処理及びステップS505の判定処理を満たす視差であってよい。以下、図23から図25に示す処理では、対象視差は、第1視差及び第2視差の両方を含むものとして説明する。
 ステップS604の処理において、制御部24は、メモリ23に格納されている、探索対象のu座標に対応付けられた第1視差及び第2視差の中で、最大の視差を対象視差として取得する。
 ステップS605の処理において、制御部24は、対象視差に対応する路面のv座標を算出する。例えば、制御部24は、対象視差を、図7に示すステップS211の処理で取得した路面のv座標と路面視差drとの関係を示す近似式(図17)の路面視差drに代入することにより、路面のv座標を算出する。図26において、探索対象のu座標は、座標(u1)であるものとする。この場合、制御部24は、路面のv座標として座標(v1)を算出する。
 ステップS606の処理において、制御部24は、算出した路面のv座標から、v軸の負方向に沿って所定範囲以内に、対象視差と略等しい視差が対応付けられた座標が存在するか否かを判定する。本開示において「対象視差と略等しい視差」とは、対象視差と同一の視差、及び、対象視差と実質的に同一の視差を含む。本開示において「対象視差と実質的に同一の視差」は、画像処理において対象視差とみなして扱うことが可能な視差を意味する。例えば、対象視差との差が±10%の範囲にある視差を、対象視差と略等しい視差としてよい。また、ステップS602の処理における所定範囲は、路面から浮いている物体の路面からの高さに基づいて、適宜設定されてよい。路面から浮いている物体の一例として、街路樹、歩道橋及び信号機等が挙げられる。このような路面から浮いている物体は、物体検出装置20の検出対象外である。つまり、このような路面から浮いている物体については、高さを算出しなくてよい。
 ステップS606の処理において、制御部24は、路面のv座標からv軸の負方向に沿って所定範囲以内に対象視差と略等しい視差が対応付けられた座標が存在すると判定しないとき(ステップS606:No)、物体の高さを算出せずステップ607の処理に進む。ステップS607の処理において、制御部24は、メモリ23に格納された、ステップS604の処理で取得した対象視差に、走査済みのフラグを付加する。制御部24は、ステップS607の処理を実行した後、ステップS601の処理を再度実行する。再度実行するステップS601の処理では、制御部24は、探索対象のu座標について、走査フラグが付加されていない第1視差又は第2視差が存在するか否かを判定する。再度実行するステップS604の処理では、走査フラグが付加されていない第1視差及び第2視差の中で、最大の視差を対象視差として取得する。
 ステップS606の処理において、制御部24は、路面のv座標からv軸の負方向に沿って所定範囲以内に対象視差と略等しい視差が対応付けられた座標が存在すると判定するとき(ステップS606:Yes)、ステップS608の処理に進む。ステップS608の処理において、制御部24は、路面のv座標からv軸の負方向に沿って所定範囲内に存在する、対象視差と略等しい視差が対応付けられた座標を、第1座標として取得する。図26において、探索対象のu座標は、座標(u1)であるものとする。また、視差画素71の座標(u1,v2)には、対象視差と略等しい視差が対応付けられているものとする。つまり、視差画素71は、対象視差と略等しい視差を表すものとする。また、路面のv座標の座標(v0)と視差画素71のv座標の座標(v1)とは、所定範囲内にあるものとする。この場合、制御部24は、第1座標として、視差画素71の座標(u1,v2)を取得する。
 ステップS608の処理を実行した後、制御部24は、第1座標のv座標を1つディクリメントした座標に、対象視差と略等しい視差が対応付けられているか否かを判定する(ステップS609)。図26において、第1座標は、視差画素71の座標(u1,v2)であるものとする。視差画素71のv座標を1つディクリメントした座標は、視差画素72の座標(u1,v3)である。視差画素72は、対象視差と略等しい視差を表すものとする。つまり、視差画素72の座標(u1,v3)には、対象視差と略等しい視差が対応付けられているものとする。この場合、制御部24は、第1座標である座標(u1,v2)のv座標を1つディクリメントした視差画素72の座標(u1,v3)に、対象視差と略等しい視差が対応付けられていると判定する。
 ステップS609の処理において、制御部24は、第1座標のv座標を1つディクリメントした座標に、対象視差と略等しい視差が対応付けられていると判定するとき(ステップS609:Yes)、ステップS610の処理に進む。ステップS610の処理において、制御部24は、第1座標のv座標を1つディクリメントした座標を、第1座標として更新する。図26において、第1座標が視差画素71の座標(u1,v2)である場合、ステップS610の処理により、第1座標は、視差画素72の座標(u1,v3)に更新される。ステップS610の処理を実行した後、制御部24は、ステップS609の処理に戻る。例えば、制御部24は、図26に示す視差画素73の座標(u1,v4)を第1座標として更新するまで、ステップS609の処理とステップS610の処理とを繰り返し実行する。視差画素73の座標(u1,v4)には、対象視差と略等しい視差が対応付けられている。
 ステップS609の処理において、制御部24は、第1座標のv座標を1つディクリメントした座標に、対象視差と略等しい視差が対応付けられていないと判定するとき(ステップS609:No)、図24に示すステップS611の処理に進む。図26において、第1座標は、視差画素73の座標(u1,v4)であるものとする。視差画素73のv座標を1つディクリメントした座標は、視差画素74の座標(u1,v5)である。視差画素74は、対象視差と略等しい視差よりも、小さい視差を表す。つまり、視差画素74の座標(u1,v5)には、対象視差と略等しい視差が対応付けられていない。この場合、制御部24は、第1座標である座標(u1,v4)のv座標を1つディクリメントした視差画素74の座標(u1,v5)には、対象視差と略等しい視差が対応付けられていないと判定する。
 ステップS611の処理において、制御部24は、第1座標のv座標が最小座標であるか否かを判定する。第1座標のv座標が最小座標であるときは、制御部24がv軸の負方向に沿って第2視差画像を走査し切ったときである。制御部24は、第1座標のv座標が最小座標であると判定するとき(ステップS611:Yes)、ステップS616の処理に進む。一方、制御部24は、第1座標のv座標が最小座標ではないと判定するとき(ステップS611:No)、ステップS612の処理に進む。例えば、制御部24は、第1座標が図26に示す視差画素73の座標(u1,v4)である場合、第1座標のv座標(座標(v4))は最小座標ではないと判定する。
 ステップS612の処理を説明する前に、図26を再び参照されたい。図26において、第1座標は、視差画素73の座標(u1,v4)であるものとする。視差画素73のv軸の負方向側には、視差画素75が存在する。視差画素75は、対象視差と略等しい視差を表すものとする。視差画素73と視差画素75とは、同一物体である他車両に対応する視差画像42の一部である。しかしながら、視差のバラツキ等により、同一物体に対応する視差画像に含まれる視差画素であっても、視差画素73及び視差画素75のように、v方向において、離れて位置する場合がある。
 そこで、ステップS612の処理において、制御部24は、第1座標のv座標からv軸の負方向に沿って所定間隔以内に、対象視差と略等しい視差が対応付けられた座標が存在するか否かを判定する。所定間隔は、物体検出装置20の検出対象の物体の高さに基づいて、適宜設定されてよい。例えば、所定間隔は、車両の後面の高さ(例えば、80cm)に基づいて、適宜設定されてよい。図26において、視差画素73と視差画素75のv方向における間隔は、所定間隔以内である。制御部24は、第1座標が視差画素73の座標(u1,v4)である場合、対象視差と略等しい視差が対応付けられた視差画素75の座標(u1,v6)が存在すると判定する。
 ステップS612の処理において、制御部24は、第1座標のv座標からv軸の負方向に沿って所定間隔以内に、対象視差と略等しい視差が対応付けられた座標が存在すると判定するとき(ステップS612:Yes)、ステップS613の処理に進む。一方、制御部24は、第1座標のv座標からv軸の負方向に沿って所定間隔以内に、対象視差と略等しい視差が対応付けられた座標が存在しないと判定するとき(ステップS612:No)、ステップS615の処理に進む。
 ステップS613の処理は、対象視差と、ステップS612の処理における対象視差と略等しい視差とが、同一物体に対応する視差であるか否かを判定することを目的とする。ステップS613の処理を説明する前に、図27及び図28を参照して、第2視差画像の一例を説明する。
 図27に、第2視差画像80を示す。第2視差画像80は、図28に示す第1画像90に基づいて生成されたものである。第1画像90は、他車両に対応する画像91と、街路樹に対応する画像92と、構造物に対応する画像93とを含む。図27に示すように、第2視差画像80は、図28に示す画像91に対応する視差画像81と、図28に示す画像92に対応する視差画像82と、図28に示す画像93に対応する視差画像85と含む。
 図27に示すように、視差画像81は、視差画素83を含む。視差画像82は、視差画素84を含む。視差画素83及び視差画素84のu座標は、座標(u2)で同一である。また、実空間において、ステレオカメラ10から図28に示す画像91に対応する他車両までの距離と、ステレオカメラ10から図28に示す画像92に対応する街路樹までの距離とは、略等しい。これら2つの距離が略等しくなることにより、図27に示す視差画像81の視差画素83が表す視差と、図27に示す視差画像82の視差画素84が表す視差は、略等しくなり得る。また、実空間の高さ方向において、図28に示す画像92に対応する他車両と、図28に示す画像92に対応する街路樹との間の距離は、近い。これら2つの距離が近いことにより、図27に示すv方向において視差画像81の視差画素83と、視差画像82の視差画素84との間の間隔は、ステップS612の処理における上述の所定間隔以内となる。
 図27に示す構成において、制御部24は、探索対象のu座標を座標(u2)とする場合、視差画素83及び視差画素84が表す視差を、対象視差として取得し得る。また、制御部24は、視差画素83の座標を、第1座標として更新し得る。探索対象のu座標が座標(u2)である場合、画像上の物体の高さとして、視差画像81に対応する高さT1が算出されることが望まれる。想定例として、第1座標が視差画素83の座標である場合、制御部24が視差画素83と視差画素84との間の間隔が上述の所定間隔以内であることにより、視差画素84の座標を、第1座標として更新することを考える。この想定例では、制御部24は、街路樹に対応する視差画像82の視差画素に渡って走査を続け得る。その結果、制御部24は、視差画像82に対する高さ、すなわち、街路樹に対応する高さT2を、物体の高さとして検出してしまう。
 ここで、視差画素83と視差画素84との間には、複数の視差画素86が存在する。複数の視差画素86は、視差画像85に含まれる。視差画像85に対応する構造物は、車両及び街路樹よりも、ステレオカメラ10から離れて位置する。従って、視差画像85の複数の視差画素86が表す視差は、視差画素83及び視差画素84が表す視差よりも、小さい。
 そこで、ステップS613の処理において、制御部24は、第1座標と第2座標との間に、第3視差に対応付けられた座標が、所定数を超えて存在するか否かを判定する。第2座標は、第1座標からv軸の負方向に沿って所定間隔以内に位置する座標であって、対象視差と略等しい視差が対応付けられた座標である。例えば、第1座標が図27に示す視差画素83の座標である場合、第2座標は、視差画素84の座標となる。第3視差は、対象視差よりも小さい視差である。第3視差は、背景に対応する視差に基づいて、設定されてよい。例えば、第3視差は、図27に示す視差画素86が表す視差を想定して、設定されてよい。所定数は、上述の所定間隔において、第3視差を表す視差画素が含まれる数を想定して、適宜設定されてよい。
 ステップS613の処理において、制御部24は、第1座標と第2座標との間に第3視差に対応付けられた座標が、所定数を超えて存在すると判定するとき(ステップS613:Yes)、ステップS616の処理に進む。例えば、制御部24は、第1座標及び第2座標が図27に示す視差画素83及び視差画素84の座標である場合、視差画素83の座標と視差画素84の座標との間に、所定数を超える視差画素86が存在すると判定する。一方、制御部24は、第1座標と第2座標との間に第3視差に対応付けられた座標が、所定数を超えて存在しないと判定するとき(ステップS613:No)、ステップS614の処理に進む。例えば、制御部24は、第1座標及び第2座標が図26に示す視差画素73の座標及び視差画素75の座標である場合、視差画素73の座標と視差画素75の座標との間に、所定数を超える視差画素74が存在しないと判定する。
 ステップS614の処理において、制御部24は、第2座標を第1座標として更新する。例えば、制御部24は、第1座標及び第2座標が図26に示す視差画素73の座標及び視差画素75の座標である場合、視差画素75の座標(u1,v6)を、第1座標として更新する。ステップS614の処理を実行した後、制御部24は、図23に示すステップS609の処理に戻る。例えば、図26に示す構成では、制御部24は、視差画素76の座標(u1,v7)を第1座標として更新するまで、ステップS609からの処理を繰り返し実行し得る。
 ステップS615の処理において、制御部24は、第1座標からv軸の負方向に沿って所定間隔を超えて、対象視差と略等しい視差が対応付けられた座標が存在するか否かを判定する。例えば、制御部24は、第1座標が図26に示す視差画素76の座標(u1,v7)である場合、座標(u1,v7)からv軸の負方向に沿って所定間隔を、超えて対象視差と略等しい視差が対応付けられた座標が存在しないと判定する。制御部24は、第1座標からv軸の負方向に沿って所定間隔を超えて、対象視差と略等しい視差が対応付けられた座標が存在しないと判定するとき(ステップS615:No)、ステップS616の処理に進む。一方、制御部24は、第1座標からv軸の負方向に沿って所定間隔を超えて、対象視差と略等しい視差が対応付けられた座標が存在すると判定するとき(ステップS615:Yes)、図25に示すステップS618の処理に進む。
 ステップS616の処理において、制御部24は、第1座標のv座標から、路面の座標のv座標を減算することにより、画像上の物体の高さを算出する。第1座標が図26に示す視差画素76の座標(u1,v7)である場合、制御部24は、視差画素76のv座標(座標(v7))から、路面の座標のv座標(座標(v1))を減算することにより、物体の高さを算出する。第1座標が図27に示す視差画素83の座標である場合、制御部24は、視差画素83のv座標から、路面のv座標(座標(v8))を減算することにより、物体の高さT1を算出する。ステップS613,S616の処理により、図27に示すように、他車両の視差画像81と、街路樹の視差画像82とが近くに位置する場合であっても、他車両の高さを精度良く算出することができる。ステップS616の処理において、制御部24は、算出した画像上の物体の高さと、第1座標とを関連付けて、メモリ23に格納する。
 ステップS616の処理において、制御部24は、算出した画像上の物体の高さを、実空間上の物体の高さに変換してよい。制御部24は、実空間上の物体の高さが、検出対象の物体の高さの最小値よりも小さい場合、算出した物体の高さの情報を破棄してよい。例えば、検出対象の物体の高さの最小値が50cmである場合、制御部24は、実空間上の物体の高さが、40cm未満である場合、算出した物体の高さの情報を破棄してよい。
 ステップS616の処理を実行した後、制御部24は、ステップS617の処理を実行する。ステップS617の処理において、制御部24は、対象視差に走査済みのフラグを付加する。ステップS617の処理をした後、制御部24は、図23に示すステップS601の処理に戻る。
 ステップS618の処理を説明する前に、図29を参照して第2視差画像の一例について説明する。図29に、第2視差画像100を示す。図29には、第2視差画像100の一部が示されている。視差画像101は、図30に示す第1画像106に基づいて生成された視差画像である。第1画像106は、トラックの後面に対応する画像107を含む。
 図29に示すように、第2視差画像100は、視差画像101を含む。視差画像101は、図30に示す画像107に対応する。視差画像101は、視差画素102と、視差画素103と、視差画素104と、視差画素105とを含む。視差画素103は、図30に示す画像107の下部画像107aに対応する。視差画素104及び視差画素105は、図30に示す画像107の上部画像107bに対応する。視差画素103が表す視差と、視差画素104が表す視差と、視差画素105が表す視差とは、同一物体であるトラックに対応する視差であることにより、略等しい。
 図29に示すように、複数の視差画素102は、視差画像101の中央部に位置する。複数の視差画素102では、視差が算出されていない。つまり、複数の視差画素102は、視差の情報を含まない。一般的に、トラックの後面の中央部では、ステレオ画像上の特徴量が少ない。トラックの後面の中央部では、ステレオ画像上の特徴量が少ないことにより、視差を算出する上述のマッチング処理において、視差画素102のように、視差が算出されない場合がある。
 図29に示す構成において、想定例として、制御部24が、探索対象のu座標を座標(u3)として、v方向に沿って走査する例を考える。想定例では、物体の高さとして、視差画像101に対応する高さT3、すなわち、トラックの高さが算出されることが望まれる。想定例では、制御部24は、視差画素103が表す視差を、対象視差として取得し得る。また、制御部24は、視差画素103の座標(u3,v10)を第1座標として更新し得る。高さT3が算出されるようにするためには、上述のステップS614の処理において、視差画素104の座標(u3,v11)を第1座標として更新することが求められる。視差画素104の座標(u3,v11)を第1座標として更新するためには、上述のステップS613における所定間隔を、視差画素104のv座標(座標(v11))と視差画素103のv座標(座標(v10))との間隔よりも、広げることが求められる。しかしながら、上述のステップS613の処理における所定間隔を広げると、物体の高さを誤算出する可能性が高まり得る。
 そこで、制御部24は、ステップS618~S622の処理を実行することにより、図29に示す高さT4を第1候補高さとして算出しておき、図29に示す高さT3を第2候補高さとして算出しておく。制御部24は、後述の図5に示すステップS107にて、第1候補高さ及び第2候補高さの何れを、物体の高さとして取得するかを判定する。このような構成とすることで、上述のステップS613の処理における所定間隔を広げなくてよい。上述のステップS613の処理における所定間隔を広げないとにより、物体の高さを誤算出する可能性が低減され得る。
 ステップS618の処理において、制御部24は、候補座標を取得する。候補座標は、第1座標からv軸の負方向に沿って所定間隔を超えて存在する座標であって、対象視差と略等しい視差が対応付けられた座標である。例えば、制御部24は、第1座標が図29に示す視差画素103の座標(u3,v10)である場合、視差画素104の座標(u3,v11)を、候補座標として取得する。
 ステップS619の処理において、制御部24は、第1座標のv座標から、路面の座標のv座標を減算することにより、第1候補高さを算出する。例えば、制御部24は、第1座標が図29に示す視差画素103の座標(u3,v10)である場合、視差画素103のv座標(座標(v10))から、路面のv座標(座標(v9))を減算することにより、第1候補高さT4を算出する。ステップS619の処理において、制御部24は、算出した第1候補高さと、第1座標とを関連付けて、メモリ23に格納する。例えば、制御部24は、図29に示す第1候補高さT4と、第1座標の視差画素103の座標(u3,v10)とを関連付けて、メモリ23に格納する。
 ステップS620の処理において、制御部24は、候補座標のv座標を1つディクリメントした座標に、対象視差と略等しい視差が対応付けられているか否かを判定する。制御部24は、候補座標のv座標を1つディクリメントした座標に、対象視差と略等しい視差が対応付けられていると判定するとき(ステップS620:Yes)、ステップS621の処理に進む。ステップS621の処理において、制御部24は、候補座標のv座標を1つディクリメントした座標を、候補座標として更新する。ステップS621の処理を実行した後、制御部24は、ステップS620の処理に戻る。例えば、図29に示す構成では、制御部24は、視差画素105の座標(u3,v12)を候補座標として更新するまで、ステップS620の処理とステップS621の処理とを繰り返し実行する。一方、制御部24は、候補座標のv座標を1つディクリメントした座標に、対象視差と略等しい視差が対応付けられていないと判定するとき(ステップS620:No)、ステップS622の処理に進む。例えば、制御部24は、候補座標が図29に示す視差画素105の座標(u3,v12)である場合、候補座標のv座標を1つディクリメントした座標に、対象視差と略等しい視差が対応付けられていないと判定する。
 ステップS622の処理において、制御部24は、候補座標のv座標から、路面のv座標を減算することにより、第2候補高さを算出する。例えば、制御部24は、候補座標が図29に示す視差画素105の座標(u3,v12)である場合、視差画素105のv座標(座標(v12))から、路面のv座標(座標(v9))を減算することにより、第2候補高さT3を算出する。ステップS622の処理において、制御部24は、算出した第2候補高さと、候補座標とを関連付けて、メモリ23に格納する。例えば、制御部24は、図29に示す第2候補高さT3と、候補座標の視差画素105の座標(u3,v12)とを関連関連付けて、メモリ23に格納する。ステップS622の処理を実行した後、制御部24は、ステップS623の処理に進む。
 ステップS623の処理において、制御部24は、メモリ23に格納された、ステップS604の処理で取得した対象視差に、走査済みのフラグを付加する。ステップS623の処理を実行した後、制御部24は、図23に示すステップS601の処理に戻る。
 ステップS106の処理において、制御部24は、平行物体の検出処理を実行する。ステップS106の処理の詳細は、図31に示すフローチャートに示される。
 ステップS701の処理において、制御部24は、UDマップを生成又は取得する。UDマップは、「U-disparity空間」及び「u-d座標空間」とも呼ばれる。UDマップは、u方向と、視差の大きさに対応するd方向とから成る二次元座標に、対象視差が対応付けられたものである。対象視差は、物体に対応する視差とみなされて検出された第1視差のみであってよい。又は、対象視差は、第1視差及び第2視差の両方を含んでよい。以下、対象視差は、第1視差及び第2視差を含むものとする。制御部24は、メモリ23に格納された第1視差及び第2視差を取得して、UDマップを生成してよい。又は、制御部24は、取得部21によって外部からUDマップを取得してよい。
 図32に、UDマップ110を示す。UDマップ110の横軸は、u軸に対応する。UDマップ110の縦軸は、視差の大きさを示すd軸に対応する。u座標とd座標とから成る座標系は、「ud座標系」とも呼ばれる。UDマップ110では、図32の紙面に向かって左下側の角が、ud座標系の原点(0,0)となる。図32に示すプロットは、図20に示す処理により検出された第1視差及び第2視差が対応付けられた座標点である。座標点は、単に「点」とも呼ばれる。UDマップ110は、点群111と、点群112と、点群113と、点群114と、点群115とを含む。UDマップ110は、図33に示す第1画像120から生成された第2視差画像に基づいて、生成されたものである。
 図33に示すように、第1画像120は、ガードレールに対応する画像121と、他車両に対応する画像122及び画像123と、歩行者に対応する画像124と、側壁に対応する画像125とを含む。画像121~125の各々から検出された第1視差及び第2視差は、図32に示す点群111~点群115の各々に対応する。画像121及び画像125は、平行物体に対応する画像となり得る。つまり、図32に示す点群111及び点群115は、平行物体に対応する視差となり得る。平行物体の検出処理の目的の一つは、図32に示す点群111及び点群115のような、平行物体に対応する視差を検出することである。
 本実施形態では、図32に示す点群111及び点群115のような平行物体に対応する視差を、後述のステップS704の処理にてハフ(Hough)変換を適用することにより、検出する。しかしながら、図32に示すように、点群111及び点群115の近くには、点群112及び点群113が位置している。点群111及び点群115の近くに、点群112及び点群113が位置していると、後述のステップS704の処理におけるハフ変換により、点群111及び点群115を検出する精度が低下し得る。そこで、ステップS702の処理により、制御部24は、図32に示すような、点群111及び点群115の近くに位置する点群112及び点群113が存在するか否かを判定する。
 具体的には、ステップS702の処理において、制御部24は、u方向に略平行な点群が存在するか判定する。図32に示すように点群111及び点群115の近くに位置する点群112及び点群113は、図33に示す他車両に対応する画像122及び123から取得された視差である。他車両は、路面の幅方向に略平行な部分を含む。他車両が路面の幅方向に略平行な部分を含むことにより、点群112及び点群113は、図32に示すように、u方向に略平行な形状となり得る。従って、u方向に略平行な点群が存在するか否かを判定することにより、図32に示すような点群112及び点群113が存在するか否かが判定され得る。
 ステップS702の処理の一例として、まず、制御部24は、UDマップのu方向に沿って走査する。例えば、制御部24は、図32に示すUDマップ110のu軸の負方向側からu軸の正方向側に向けて、走査する。制御部24は、UDマップのu方向に沿って走査しながら、u方向に沿って所定範囲連続して並ぶ点が存在するか否かを判定する。所定範囲は、車両に対する画像(例えば、図33に示す画像122及び画像123)のu方向に沿う長さに基づいて、設定されてよい。制御部24は、u方向に沿って所定範囲連続して並ぶ点が存在すると判定するとき、u方向に略平行な点群が存在すると判定する。制御部24は、u方向に沿って所定区間連続して並ぶ視差点を、u方向に略平行な点群として検出する。例えば、制御部24は、図32に示す点群112及び点群113を、u方向に略平行な点群として検出する。
 ステップS702の処理において、制御部24は、u方向に略平行な点群が存在すると判定するとき(ステップS702:Yes)、ステップS703の処理に進む。一方、制御部24は、u方向に略平行な点群が存在しないと判定するとき(ステップS702:No)、ステップS704の処理に進む。
 ステップS703の処理において、制御部24は、検出したu方向に略平行な点群を、UDマップから除去する。u方向に略平行な点群をUDマップから除去する代わりに、制御部24は、UDマップの座標点のうちの、u方向に略平行な点群を、後述のステップS704の処理におけるハフ変換の適用から単に除外してよい。図34に、u方向に略平行な点群が除去されたUDマップ110を示す。図34に示すUDマップ110では、図32に示す点群112及び点群113が除去されている。
 ステップS704の処理において、制御部24は、UDマップに含まれる点に対してハフ変換を適用することにより、直線を検出する。ここで、UDマップを、x-z座標から成る実空間の座標系に変換し、変換後の実空間の座標系に対してハフ変換を適用することにより、直線を検出することも可能である。ただし、第1カメラ11と第2カメラ12との間の基線長Bが短いと、実空間の座標系に含まれる座標点の間隔が、UDマップに含まれる座標点の間隔よりも、疎になってしまう場合がある。座標点の間隔が疎になると、ハフ変換により、直線を精度良く検出できない場合がある。本実施形態では、UDマップに対してハフ変換を適用することにより、第1カメラ11と第2カメラ12との間の基線長Bが短い場合であっても、直線を精度良く検出することができる。
 ステップS704の処理の一例を、図35及び図36を参照して説明する。
 図35には、UDマップの一部が示されている。点131,132,133,134は、UDマップ上の座標点である。ハフ変換を、点131を例に説明する。UDマップ上の点131のuv座標は、座標(u131,d131)である。点131を通る直線L1は、無限に定義され得る。例えば、uv座標の原点(0,0)から、直線L1-1に下した法線の長さは、長さrである。当該法線は、u軸からd軸の正方向に向けて、角度θ傾いている。制御部24は、長さr及び角度θを変数とすることにより、点131を通る直線L1の一般式として、次の数式(3)を取得する。
   r=u131×cosθ+d131×sinθ      (3)
 制御部24は、直線L1の式(数式(3))を、図36に示すような、ハフ空間としてのrθ平面に投影する。図36に示すrθ平面の横軸は、r軸である。図36に示すrθ平面の縦軸は、θ軸である。図36に示す曲線131Lは、数式(3)で示される曲線である。曲線131Lは、rθ平面では、正弦曲線として表される。点131と類似にして、制御部24は、図35に示す点132~134を通る直線の式を取得する。点131と類似にして、制御部24は、取得した点132~134を通る直線の式を、図36に示すような、ハフ空間としてのrθ平面に投影する。図36に示す曲線132L~134Lは、それぞれ取得した図35に示す点132~134を通る直線に対応する。図36に示すように、曲線131L~134Lは、点PLで交わり得る。制御部24は、点PLのrθ座標(座標(θL,rL))を取得する。制御部24は、点PLの座標(θL,rL)に基づいて、図35に示す点131~134を通る直線の式を検出する。制御部24は、図35に示す点131~点134を通る直線として、次の数式(4)を検出する。
   rL=u×cosθL+d×sinθL       (4)
 ステップS704の処理を実行することにより、制御部24は、図34に示すように点群111に対応する直線111L、及び、点群115に対応する直線115Lを検出し得る。
 ところで、図33に示すように、平行物体に対応する画像121及び画像125は、消失点120VPに向けて延在する。画像121及び画像125が消失点120VPに向けて延在することにより、図34に示すように、点群111及び点群115も、消失点120VPに対応する消失点110VPに向けて延在する。点群111及び点群115も消失点110VPに向けて延在することにより、直線111L及び直線115Lも、消失点110VPに向けて延在し得る。
 そこで、ステップS704の処理において、制御部24は、UDマップ上の点を通る直線の式を取得する際、当該点を通る直線のうち、消失点に基づく所定範囲を通る直線の式を取得してよい。例えば、制御部24は、図35に示す点131を通る直線L1の式を取得する際、点131を通る無限に存在する直線L1のうち、点131と、所定範囲ΔuVPとを通る直線の式を取得してよい。所定範囲ΔuVPは、消失点に基づく範囲である。所定範囲ΔuVPは、点135を含む。点135は、移動体30の進行方向が直進であるときの、消失点であってよい。点135のd座標は、無限遠方の視差がゼロとなることにより、ゼロであってよい。点135のu座標(座標uVP)は、移動体30の進行方向が直進であるときに、消失点のu座標がu座標の最大座標の二分の一となることにより、u座標の最大座標の二分の一であってよい。所定範囲ΔuVPは、移動体30がカーブを走行している際の、点135からの図34に示す消失点110VPのずれ量に基づいて、適宜設定されてよい。このような処理により、図36に示すように、ハフ空間のrθ平面において、曲線131L~134Lをプロットするθ軸の範囲が範囲ΔθVPに絞られ得る。曲線131L~134Lをプロットするθ軸の範囲が範囲ΔθVPに絞られることにより、ハフ変換の演算量が低減され得る。ハフ変換の演算量が低減されることにより、ハフ変換の処理が高速化され得る。
 ステップS705の処理において、制御部24は、ステップS704の処理により検出した直線の長さが所定長を超えるか否かを判定する。所定長は、路面に沿って設けられる構造物すなわち平行物体の長さに基づいて、適宜設定されてよい。制御部24は、直線の長さが所定長以下であると判定するとき(ステップS705:No)、図5に示すステップS107の処理に戻る。一方、制御部24は、直線の長さが所定長を超えると判定するとき(ステップS705:Yes)、当該直線に対応する点群に平行物体フラグを付加する(ステップS706)。例えば、制御部24は、図34に示す点群111及び点群115に平行物体フラグを付加する。ステップS706の処理を実行した後、制御部24は、図5に示すステップS107の処理に進む。
 ステップS107の処理において、制御部24は、復活処理を実行する。ステップS107の処理の詳細は、図37に示すフローチャートに示される。
 ステップS801の処理において、制御部24は、図31に示すステップS701の処理と同一又は類似にして、UDマップを生成又は取得する。図31に示すステップS701の処理においてUDマップを生成している場合、制御部24は、図31に示すステップS701の処理で生成したUDマップを取得してよい。
 図38に、UDマップ140を示す。UDマップ140は、図34に示すようなUDマップ110の一部を拡大したものである。UDマップ140の横軸は、u軸に対応する。UDマップ140の縦軸は、視差の大きさを示すd軸に対応する。図38において、UDマップ140は、画像として示されている。UDマップ140の画素は、視差を表す。ハッチングが施された画素は、第1視差を表す画素である。第1視差を表す画素、すなわち、第1視差が対応付けられた座標は、「第1視差点」とも呼ばれる。ドットが施された画素は、第2視差を表す画素である。第2視差を表す画素、すなわち、第2視差が対応付けられた座標は、「第2視差点」とも呼ばれる。UDマップ140は、第1視差点141と、第1視差点142と、第2視差点143とを含む。UDマップ140は、車両の後面に対応する視差画像を含む第2視差画像に基づいて生成されたものである。車両の後面の中央部では、リアガラス等が位置することにより、ステレオ画像上の特徴量が少ない。他車両の後面の中央部では、ステレオ画像上の特徴量が少ないことにより、他の部分の視差と比較して、図19に示す視差画像44のように、取得可能な視差の情報が少なくなる場合がある。例えば、図38に示すように、第1視差点141と第1視差点142との間には、第2視差点143が存在する。
 ステップS802の処理において、制御部24は、UDマップのu方向において、第1視差点に挟まれた第2視差点が所定範囲を超えて存在するか否かを判定する。例えば、制御部24は、UDマップのu軸の負方向側からu軸の正方向側に向けて、走査する。制御部24は、u方向に沿って走査することにより、UDマップのu方向において第1視差点に挟まれた第2視差点が所定範囲を超えて存在するか否かを判定する。所定範囲は、実空間上の車両の後面の幅(例えば、1m)に基づいて、適宜設定されてよい。第1視差点に挟まれた第2視差点が所定範囲を超えて存在する場合、これらの第2視差点は、例えば並走する異なる車両といった、異なる物体にそれぞれ対応する視差である可能性が高い。これに対し、第1視差点に挟まれた第2視差点が所定範囲内に存在する場合、これらの第2視差点は、同一物体に対応する視差である可能性が高い。図38に示すUDマップ140のu方向において、第1視差点141と第1視差点142とに挟まれた複数の第2視差点143は、所定範囲内に存在する。UDマップ140のu方向において、制御部24は、第1視差点141と第1視差点142とに挟まれた第2視差点143が所定範囲を超えて存在すると判定しない。
 ステップS802の処理において、制御部24は、UDマップのu方向において、第1視差点に挟まれた第2視差点が所定範囲を超えて存在すると判定するとき(ステップS802:Yes)、ステップS805の処理に進む。一方、制御部24は、UDマップのu方向において、第1視差点に挟まれた第2視差点が所定範囲を超えて存在すると判定しないとき(ステップS802:No)、ステップS803の処理に進む。
 ステップS803の処理において、制御部24は、第2視差点を挟む2つの第1視差点のそれぞれに対応付けられた第1視差を取得する。例えば、制御部24は、図38に示す第1視差点141に対応付けられた第1視差と、第1視差点142に対応付けられた第1視差とを取得する。さらに、ステップS802の処理において、制御部24は、取得した2つの第1視差のそれぞれに対応する実空間上の高さの差分が所定高さ以内であるか否かを判定する。例えば、制御部24は、図38に示す第1視差点141の第1視差に対応する実空間上の高さと、第1視差点142の第1視差に対応する実空間上の高さとの差分が、所定高さ以下であるか否かを判定する。所定高さは、実空間上の車両の高さ(例えば、1m)に基づいて、適宜設定されてよい。
 ステップS803の処理において、制御部24は、取得した2つの第1視差のそれぞれに対応する実空間上の高さの差分が所定高さ以内であると判定するとき(ステップS803:Yes)、ステップS804の処理に進む。ステップS804の処理において、制御部24は、第1視差点に挟まれた所定範囲を超える第2視差点に、復活フラグを付加する。上述のように、第2視差点は、第2視差を表すud座標である。つまり、ステップS804の処理は、第2視差と、当該第2視差が対応付けられたu座標とに、復活フラグを付加する処理とも言い換えられ得る。図39に、復活フラグが付加されたUDマップ140を示す。図39に示す粗いハッチングが施された画素は、復活フラグが付加された第2視差点である。
 ステップS803の処理において、制御部24は、取得した2つの第1視差のそれぞれに対応する実空間上の高さの差分が所定高さを超えると判定するとき(ステップS803:No)、ステップS805の処理に進む。
 ステップS805以降の処理は、図25に示すステップS619の処理で算出された第1候補高さ、及び、図25に示すステップS622の処理で算出された第2候補高さの何れを、物体の高さとして取得するかを判定する処理である。ステップS805以降の処理を説明する前に、図40及び図41を参照して第2視差画像の一例を説明する。
 図40に、第2視差画像150を示す。図41に、第2視差画像160を示す。図40及び図41には、第2視差画像150及び第2視差画像160の一部が示されている。第2視差画像150及び第2視差画像160において、白色の視差画素は、視差の情報を含まない画素である。粗いハッチングが施された視差画素は、視差の情報を含む画素である。細かいハッチングが施された視差画素は、図25に示すステップS622の処理における第2候補高さの算出に用いられた視差画素である。細かいハッチングが施された視差画素の座標は、図25に示すステップS622の処理において、候補座標として、第2候補高さに関連付けられている。粗いドットが施された視差画素は、図25に示すステップS619の処理における第1候補高さの算出に用いられた視差画像である。粗いドットが施された視差画素の座標は、図25に示すステップS619の処理において、第1座標として、当該第1候補高さに関連付けられている。細かいドットが施された視差画素は、図24に示すステップS616の処理における物体の高さの算出に用いられた視差画素である。細かいドットが施された視差画素の座標は、図24に示すステップS616の処理において、第1座標として、物体の高さと関連付けられている。
 図40に示す第2視差画像150は、図29に示す第2視差画像100と類似に、図30に示すトラックの後面の画像107に基づいて生成されたものである。第2視差画像150の中央部には、白色の視差画素が位置する。つまり、第2視差画像150では、中央部の視差画素の視差が算出されていない。第2視差画像150では、中央部を囲む視差画素の視差は算出されている。
 図40に示す第2視差画像150は、視差画素151,152,153,154を含む。視差画素151は、第2候補高さの算出に用いられた視差画素である。視差画素151の座標は、候補座標として、第2候補高さに関連付けられている。視差画素152及び視差画素153は、物体の高さの算出に用いられた視差画素である。視差画素152及び視差画素153の座標のそれぞれは、第1座標として、物体の高さに関連付けられている。視差画素154は、第1候補高さの算出に用いられた視差画素である。視差画素154の座標は、第1座標として、第1候補高さに関連付けられている。
 視差画素151は、図29に示す視差画素105と類似に、図30に示すトラックの後面の画像107の上部画像107bに対応する。視差画素154は、図29に示す視差画素103と類似に、図30に示すトラックの後面の画像107の下部画像107aに対応する。図40に示す構成では、視差画素151に基づく第2候補高さ、及び、視差画素154に基づく第1候補高さのうち、視差画素151に基づく第2候補高さが、物体の高さすなわち図30に示すトラックの高さとして、取得されることが求められる。
 図41に示す第2視差画像160は、図42に示す第1画像170に基づいて生成された視差画像である。第1画像170は、他車両の上部の画像171と、街路樹に対応する画像172とを含む。画像171と画像172から生成される視差は、略等しい。画像172は、部分画像172aと、部分画像172bとを含む。部分画像172aと、車両の画像171とは、第1画像170のu方向の中央部に位置する。部分画像172aのu座標は、他車両の画像171のu座標の一部と同一である。部分画像172aは、他車両の画像171よりも、v軸の負方向側に位置する。部分画像172bは、部分画像172a及び画像171よりも、u軸の負方向側に位置する。
 図41に示す第2視差画像160は、視差画素161と、視差画素162と、視差画素163とを含む。視差画素161は、第2候補高さの算出に用いられた視差画素である。視差画素161の座標によって図42に示す街路樹の部分画像172aの高さが、第2候補高さとして算出されている。視差画素161の座標は、候補座標として、第2候補高さに関連付けられている。視差画素162は、物体の高さの算出に用いられた視差画素である。視差画素162の座標によって図42に示す街路樹の部分画像172bの高さが、物体の高さとして算出されている。視差画素162の座標は、候補座標として、物体の高さに関連付けられている。視差画素163は、第1候補高さの算出に用いられた視差画素である。視差画素163の座標によって図42に示す車両の画像171の高さが、第1候補高さとして算出されている。視差画素163の座標は、第1座標として、第1候補高さに関連付けられている。
 図41に示す構成では、視差画素163に基づく第1候補高さ、及び、視差画素161に基づく第2候補高さのうち、視差画素163に基づく第1候補高さが、物体の高さすなわち図42に示す車両の画像171の高さとして、取得されることが求められる。
 ステップS805~S807の処理において、制御部24は、候補座標を挟む2つの座標に対応付けられた視差に基づいて、第1候補高さ及び第2候補高さのうちの何れを、物体の高さとして取得するかを判定する。
 具体的には、ステップS805の処理において、制御部24は、第2視差画像をu方向に沿って走査することにより、u方向において候補座標を挟む2つの第1座標が存在するか否かを判定する。上述のように、第1座標には、図23を参照して上述したように、対象視差と略等しい視差が対応付けられている。つまり、ステップS805の処理は、u方向において候補座標を挟む2つの座標にそれぞれ対応付けられた視差が対象視差であるか否かを判定する処理とも言い換えられ得る。
 例えば、図40に示す第2視差画像150のu方向において、視差画素151の候補座標は、視差画素152の第1座標と視差画素153の第1座標とによって挟まれている。図40に示す構成では、制御部24は、視差画素151の候補座標を挟む、視差画素152の第1座標と視差画素153の第1座標とが存在すると判定する。
 例えば、図41に示す第2視差画像160のu方向の方向において、視差画素161の候補座標のu軸の負方向側には、視差画素162の第1座標が位置する。一方、視差画素161の候補座標のu軸の正方向側には、第1座標が位置しない。図41に示す構成では、制御部24は、視差画素161の候補座標を挟む2つの第1座標が存在しないと判定する。
 ステップS805の処理において、制御部24は、第2視差画像のu方向において第1座標を挟む2つの候補座標が存在すると判定するとき(ステップS805:Yes)、ステップS806の処理に進む。一方、制御部24は、第2視差画像のu方向において第1座標を挟む2つの候補座標が存在すると判定するとき(ステップS805:No)、ステップS807の処理に進む。
 ステップS806の処理において、制御部24は、第1候補高さ及び第2候補高さのうちの、第2候補高さを物体の高さとして取得すると判定する。ステップS805,S806の処理によって、制御部24は、候補座標を挟む2つの座標にそれぞれ対応付けられた視差が対象視差であると判定するとき、第2候補高さを、物体の高さとして取得すると判定する。例えば、制御部24は、図40に示す視差画素154の座標に基づく第1候補高さ、及び、視差画素151の座標に基づく第2候補高さのうち、視差画素151の座標に基づく第2候補高さを、物体の高さとして取得すると判定する。図43に、図40に示す第2視差画像150おいて、物体の高さ判定に用いた視差画素を示す。図43では、細かいハッチングが施された視差画素の座標に基づいて物体の高さが算出されている。図43に示すように、視差画素151に基づく第2候補高さ、及び、視差画素154に基づく第1候補高さのうち、視差画素151に基づく第2候補高さが、物体の高さすなわち図30に示すトラックの高さとして、取得されている。
 ステップS807の処理において、制御部24は、第1候補高さ及び第2候補高さのうちの、第1候補高さを物体の高さとして取得すると判定する。ステップS805,S807の処理によって、制御部24は、候補座標を挟む2つの座標にそれぞれ対応付けられた視差が対象視差であると判定しないとき、第1候補高さを、物体の高さとして取得すると判定する。例えば、制御部24は、図41に示す視差画素163の座標に基づく第1候補高さ、及び、視差画素161の座標に基づく第2候補高さのうち、視差画素163の座標に基づく第1候補高さを、物体の高さとして取得すると判定する。図44に、図41に示す第2視差画像160において、物体の高さ判定に用いた視差画素を示す。図44では、細かいハッチングが施された視差画素の座標に基づいて物体の高さが算出されている。図44に示すように、視差画素163に基づく第1候補高さ、及び、視差画素161に基づく第2候補高さのうち、視差画素163に基づく第1候補高さが、物体の高さすなわち図42に示す車両の画像171の高さとして、取得されている。
 ステップS806,S807の処理を実行した後、制御部24は、図5に示すステップS108の処理に進む。
 ステップS108の処理において、制御部24は、代表視差の決定処理を実行する。ステップS108の処理の詳細は、図45に示すフローチャートに示される。
 ステップS901の処理において、制御部24は、図31に示すステップS701の処理と同一又は類似にして、UDマップを生成する。図31に示すステップS701の処理においてUDマップを生成している場合、制御部24は、図31に示すステップS701の処理で生成したUDマップを取得してよい。
 ステップS902の処理において、制御部24は、UDマップの各u座標において、第1視差、及び、図36に示すステップS804の処理により復活フラグが付加された第2視差の中から、代表視差を取得する。制御部24は、図31に示すステップS706の処理により平行物体フラグが付加されていない、第1視差及び復活フラグが付加された第2視差の中から、代表視差を取得する。
 ここで、ステレオカメラ10から物体までの距離が近い場合、ステレオ画像上で当該物体が占める画素数は、ステレオカメラ10から当該物体までの距離が遠い場合と比較して、多くなり得る。また、ステレオカメラ10から遠い距離に位置する物体ほど、ノイズ等の影響を受けることにより、当該物体に対応する視差を検出する精度が悪化する。つまり、ステレオカメラ10から近い距離に位置する物体ほど、当該物体に対応する視差を検出する精度が高まり得る。
 そこで、ステップS902の処理において、制御部24は、UDマップの各u座標において、第1視差及び復活フラグが付加された第2視差の中から、ステレオカメラ10から近い距離に位置する物体に対応する視差すなわち最大の視差を、代表視差として取得する。さらに、制御部24は、ステレオカメラ10から近い距離に位置する物体であって、物体検出装置20の検出対象となる物体の高さの最小値(例えば、50cm)よりも大きい物体に対応する視差を、代表視差として取得してよい。
 図46に、u方向に対応する取得された代表視差の一例を示す。図46に示す例では、各u座標に対する代表視差のバラツキが大きい。各u座標に対する代表視差のバラツキが大きいと、ステップS109の処理におけるグルーピング処理の演算量が増加する可能性がある。
 そこで、ステップS903の処理において、制御部24は、所定範囲で代表視差を平均化してよい。所定範囲で代表視差を平均化することにより、ステップS109の処理におけるグルーピング処理の演算量が低減され得る。所定範囲は、後述のステップS109の処理等の演算負荷等を考慮して、適宜設定されてよい。平均化において、制御部24は、所定範囲の中央値の代表視差を取得してよい。制御部24は、所定範囲内において、抽出した中央値から所定割合(例えば5%)ずれた代表視差を除去して、代表視差の平均値を算出してよい。図47に、u方向に対応する平均化された代表視差の一例を示す。ステップS903の処理を実行した後、制御部24は、図5に示すステップ109の処理に進む。
 制御部24は、図5に示すステップS104~S108の処理すなわち第3処理を実行した後、1つ又は複数の座標を含む横方向の座標(u座標)の所定範囲毎に、代表視差de及び物体の高さ情報を関連付けて、メモリ23に格納してよい。図48に示すように、メモリ23に格納された複数の代表視差deは、u座標及び視差dをそれぞれ横軸及び縦軸とする2次元空間(u-d座標空間)上の点群の分布として表され得る。
 ステップS109の処理において、制御部24は、u-d座標空間の代表視差deの情報をx-z座標から成る実空間の座標系に変換して、代表視差deの纏まり(グループ)を抽出することにより、物体を検出する処理(第4処理)を実行する。図49及び図50を参照して、ステップS109の処理の一例を説明する。
 図49は、実空間上の構成の一例である。図49には、道路の路面41A上を走行する物体検出システム1を搭載した移動体30と、他車両42Aとが示されている。図49において、移動体30は、車両である。
 移動体30に搭載された物体検出装置20の制御部24は、図48に示すようなu-d座標空間の複数の代表視差deを、図50に示すような実空間(x-z座標空間)の点群に変換する。図50では、u-d座標空間の代表視差deを表す各点は、x-z座標空間の点として表示される。制御部24は、点群の分布に基づいて点群の纏まりを抽出する。制御部24は、所定条件に従い近接する複数の点を纏めて点群の纏まりとして抽出する。点群の纏まりは、代表視差deの纏まり(グループ)を表す。
 物体がステレオカメラ10の基線長方向に平行な面を有するとき、x-z座標空間上で点群はx方向に並ぶ。制御部24は、x-z座標空間上でx方向に並ぶ点群の纏まり180があるとき、これを物体として認識することができる。図50において、点群の纏まり180は、図29に示す他車両42Aの車体の後面に対応する。
 物体が平行物体であるとき、x-z座標空間上で点群はz方向に並ぶ。制御部24は、x-z座標空間上でz方向に並ぶ点群の纏まり181があるとき、これを、平行物体として認識することができる。上述のように、平行物体の一例として、ガードレール及び高速道路の遮音壁等の道路端の構造物、又は、図49に示す他車両42Aの側面等が挙げられる。x-z座標空間上でz方向に並ぶ点群の纏まり181は、移動体30の進行方向と平行に並ぶ物体、又は、物体の移動体30の進行方向に平行な面に対応する。制御部24は、z方向に並ぶ点群の纏まり181を、物体検出処理の対象から除外することができる。ここで、上述のクラスタリング処理で検出された平行物体に対応する視差は、図45に示すステップS902の処理における代表視差deの取得処理の対象外とされている。ただし、クラスタリング処理において平行物体に対応する視差を完全に検出しきれない場合がある。この場合、x-z座標空間上において、平行物体に対応する視差、例えば点群の纏まり181が存在し得る。x-z座標空間上に、点群の纏まり181のような、平行物体に対応する視差が存在する場合でも、ステップS109の処理において、平行物体に対応する視差、物体検出処理の対象から除外することができる。
 制御部24は、物体として認識した点群の纏まり180のx方向に並ぶ幅から、物体の幅を検出することができる。制御部24は、図45に示す処理により取得した代表視差deに関連付けられた高さ情報に基づいて、物体の高さを決定することができる。従って、制御部24は、認識した物体のx-z座標空間上での位置、横幅及び高さを認識することができる。
 ステップS110の処理において、制御部24は、ステップS109の処理により認識した物体の位置、横幅及び高さの情報を、出力部22によって、移動体30内の他の装置に出力することができる。例えば、制御部24は、移動体30内の表示装置にこれらの情報を出力することができる。移動体30内の表示装置は、図51に示すように、第1カメラ11又は第2カメラ12の画像に、物体検出装置20から取得した情報に基づいて、他車両に対応する画像を囲む検出枠182を表示してよい。検出枠182は、検出された物体の位置及び画像内に占める範囲を示す。
 以上のように、本開示の物体検出装置20は、速い処理速度と高い精度の物体検出を可能にする。すなわち、本開示の物体検出装置20及び本開示の物体検出方法は、物体を検出する性能を向上させることができる。また、物体検出装置20は、検出する対象の物体を特定の種類の物体に限定しない。物体検出装置20は、路面上に存在するあらゆる物体を検出することができる。物体検出装置20の制御部24は、第1処理、第2処理、第3処理及び第4処理を、第1視差画像以外の前記ステレオカメラ10により撮像された画像の情報を用いずに実行することができる。このため、物体検出装置20は、第1視差画像及び第2視差画像の処理に加えて、撮像した画像から別途物体を認識する処理を行わなくてよい。従って、本開示の物体検出装置20は、物体認識に係る制御部24の処理負荷を低減することができる。このことは、本開示の物体検出装置20が、第1カメラ11又は第2カメラ12から直接得られた画像に対する画像処理と組み合わせることを排除しない。物体検出装置20は、テンプレートマッチング等の画像処理技術と組み合わせることも可能である。
 上述の制御部24の実行する処理の説明において、本開示の理解を助けるため、種々の画像を用いた判定及び操作等を含む処理が説明された。これらの画像を用いた処理は、実際に画像を描画する処理を含まなくてよい。これらの画像を用いた処理と実質的に同じ内容の処理が、制御部24の内部の情報処理で実行される。
 本開示に係る実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は修正を行うことが容易であることに注意されたい。従って、これらの変形又は修正は本開示の範囲に含まれることに留意されたい。例えば、各構成部又は各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成部又はステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。本開示に係る実施形態について装置を中心に説明してきたが、本開示に係る実施形態は装置の各構成部が実行するステップを含む方法としても実現し得るものである。本開示に係る実施形態は装置が備えるプロセッサにより実行される方法、プログラム、又はプログラムを記録した記憶媒体としても実現し得るものである。本開示の範囲にはこれらも包含されるものと理解されたい。
 本開示において「第1」及び「第2」等の記載は、当該構成を区別するための識別子である。本開示における「第1」及び「第2」等の記載で区別された構成は、当該構成における番号を交換することができる。例えば、第1レンズは、第2レンズと識別子である「第1」と「第2」とを交換することができる。識別子の交換は同時に行われる。識別子の交換後も当該構成は区別される。識別子は削除してよい。識別子を削除した構成は、符号で区別される。本開示における「第1」及び「第2」等の識別子の記載のみに基づいて、当該構成の順序の解釈、小さい番号の識別子が存在することの根拠に利用してはならない。
 本開示において、x方向、y方向、及び、z方向は、説明の便宜上設けられたものであり、互いに入れ替えられてよい。本開示に係る構成は、x方向、y方向、及び、z方向を各軸方向とする直交座標系を用いて説明されてきた。本開示に係る各構成の位置関係は、直交関係にあると限定されるものではない。画像の座標を示すu座標及びv座標は、説明の便宜上設けられたものであり、互いに入れ替えられてよい。u座標及びv座標の原点及び方向は、本開示のものに限定されない。
 上記実施形態において、ステレオカメラ10の第1カメラ11及び第2カメラ12は、x方向に並んで位置していた。第1カメラ11及び第2カメラ12の配置はこれに限られない。第1カメラ11及び第2カメラ12は、路面に垂直な方向(y方向)又は路面41Aに対して傾いた方向に並んで位置してよい。ステレオカメラ10を構成するカメラの数は2つに限られない。ステレオカメラ10は、3つ以上のカメラを含んでよい。例えば、路面に水平方向に並ぶ2台のカメラ及び垂直方向に並ぶ2台のカメラの合計4台のカメラを用いて、より精度の高い距離情報を得ることも可能である。
 上記実施形態において、ステレオカメラ10及び物体検出装置20は、移動体30に搭載されていた。ステレオカメラ10及び物体検出装置20は、移動体30に搭載されるものに限られない。例えば、ステレオカメラ10及び物体検出装置20は、交差点等に設置される路側機に搭載され路面を含む画像を撮像するように配置されてよい。例えば、路側機は、交差点で交差する道路の一方から接近する第1の車両を検出し、他方の道路上を走行して接近する第2の車両に対して第1の車両の接近を知らせる情報提供をすることができる。
 1,1A 物体検出システム
 10 ステレオカメラ
 11 第1カメラ
 12 第2カメラ
 20 物体検出装置
 21 取得部
 22 出力部
 23 メモリ
 24 制御部
 25 生成装置
 30 移動体
 40 第1視差画像
 41,42,43,44,71,72,73,74,75,76、81,82,101 視差画像
 41A 路面
 42A 車両
 42a,83,84,85,102,103,104,105,151,152,153,154,161,162,163 視差画素
 45 枠線
 51 グラフ
 52 第1直線
 53 近似開始点
 54 候補直線
 55 第2直線
 60,70,80,100,150,160 第2視差画像
 61 部分領域
 61-1,61 部分領域
 62 領域
 90,106,120,170 第1画像
 91,92,107,121,122,123,124,125,171,172 画像
 101a 部分領域
 107a 下部画像
 107b 上部画像
 110,140 UDマップ
 110VP,130VP 消失点
 111,112,113,114,115,180,181 点群
 111L,115L 直線
 131,132,133,134 点
 131L,132L,133L,134L,135L 曲線
 141,142 第1視差点
 143 第2視差点
 172a,172b 部分画像
 182 検出枠

Claims (9)

  1.  ステレオカメラが路面を撮像して生成した撮像画像の水平方向に対応する第1方向と、視差の大きさに対応する方向とから成る二次元座標の座標点に、前記撮像画像から取得された視差のうち、所定条件を満たす対象視差が対応付けられたUDマップの前記座標点に対してハフ変換を適用することにより所定長の直線を検出し、検出した前記所定長の直線に対応する前記対象視差を前記ステレオカメラの進行方向に平行な物体に対応する視差として検出するように構成されるプロセッサを備え、
     前記プロセッサは、
     前記ハフ変換において、前記対象視差が対応付けられた各座標点と、消失点に基づく所定範囲とを通る直線を、ハフ空間に変換するように構成される、物体検出装置。
  2.  請求項1に記載の物体検出装置であって、
     前記プロセッサは、前記UDマップの前記座標点のうちの、視差の大きさが略同じで且つ前記第1方向の座標が所定範囲連続している座標点を、前記ハフ変換の適用から除外するように構成される、物体検出装置。
  3.  請求項2に記載の物体検出装置であって、
     前記所定範囲は、前記物体検出装置の検出対象の横幅に基づいて設定される、物体検出装置。
  4.  請求項1から3までの何れか一項に記載の物体検出装置であって、
     前記所定長は、前記路面に沿って設けられている構造物の長さに基づいて設定される、物体検出装置。
  5.  請求項1から4までの何れか一項に記載の物体検出装置であって、
     前記プロセッサは、
     前記撮像画像に基づき生成される第1視差マップであって、前記第1方向と、前記第1方向に交差する第2方向とから成る二次元座標に、前記撮像画像から取得された視差が対応付けられた第1視差マップに基づき、実空間における路面の形状を推定する第1処理と、
     推定された前記路面の前記形状に基づき、実空間における前記路面からの高さが所定高さ以下の範囲に対応する前記視差を、前記第1視差マップから除去した第2視差マップを生成する第2処理と、
     前記第2視差マップに基づいて前記UDマップを生成する処理と、
    を実行するように構成される、物体検出装置。
  6.  請求項5に記載の物体検出装置であって、
     前記プロセッサは、前記処理において、
     前記第2視差マップの前記第1方向に沿って複数の部分領域に分割し、前記複数の部分領域毎に視差の頻度を示す分布を生成し、
     前記視差の頻度が所定閾値を超える視差を、前記対象視差として抽出するように構成される、物体検出装置。
  7.  互いに視差を有する複数の画像を撮像するステレオカメラと、
     少なくとも1つのプロセッサを含む物体検出装置と
    を備え、
     前記プロセッサは、
     ステレオカメラが路面を撮像して生成した撮像画像の水平方向に対応する第1方向と、視差の大きさに対応する方向とから成る二次元座標の座標点に、前記撮像画像から取得された視差のうち、所定条件を満たす対象視差が対応付けられたUDマップの前記座標点に対してハフ変換を適用することにより所定長の直線を検出し、検出した前記所定長の直線に対応する前記対象視差を前記ステレオカメラの進行方向に平行な物体に対応する視差として検出し、
     前記ハフ変換において、前記対象視差が対応付けられた各座標点と、消失点に基づく所定範囲とを通る直線を、ハフ空間に変換するように構成される、物体検出システム。
  8.  移動体であって、
     互いに視差を有する複数の画像を撮像するステレオカメラと、
     少なくとも1つのプロセッサを含む物体検出装置と
    を備える物体検出システムを備え、
     前記プロセッサは、
     ステレオカメラが路面を撮像して生成した撮像画像の水平方向に対応する第1方向と、視差の大きさに対応する方向とから成る二次元座標の座標点に、前記撮像画像から取得された視差のうち、所定条件を満たす対象視差が対応付けられたUDマップの前記座標点に対してハフ変換を適用することにより所定長の直線を検出し、検出した前記所定長の直線に対応する前記対象視差を前記ステレオカメラの進行方向に平行な物体に対応する視差として検出し、
     前記ハフ変換において、前記対象視差が対応付けられた各座標点と、消失点に基づく所定範囲とを通る直線を、ハフ空間に変換するように構成される、移動体。
  9.  物体検出方法であって、
     ステレオカメラが路面を撮像して生成した撮像画像の水平方向に対応する第1方向と、視差の大きさに対応する方向とから成る二次元座標の座標点に、前記撮像画像から取得された視差のうち、所定条件を満たす対象視差が対応付けられたUDマップの前記座標点に対してハフ変換を適用することにより所定長の直線を検出し、検出した前記所定長の直線に対応する前記対象視差を前記ステレオカメラの進行方向に平行な物体に対応する視差として検出することを含み、
     前記平行な物体に対応する視差として検出することは、
     前記ハフ変換において、前記対象視差が対応付けられた各座標点と、消失点に基づく所定範囲とを通る直線を、ハフ空間に変換することを含む、物体検出方法。
PCT/JP2020/034983 2019-09-19 2020-09-15 物体検出装置、物体検出システム、移動体及び物体検出方法 WO2021054339A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/753,950 US20220383644A1 (en) 2019-09-19 2020-09-15 Object detection device, object detection system, mobile object, and object detection method
EP20864619.0A EP4033471A4 (en) 2019-09-19 2020-09-15 OBJECT DETECTION DEVICE, OBJECT DETECTION SYSTEM, MOVABLE BODY AND METHOD FOR OBJECT DETECTION
CN202080065989.8A CN114424256A (zh) 2019-09-19 2020-09-15 物体检测装置、物体检测系统、移动体和物体检测方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019170900A JP7278915B2 (ja) 2019-09-19 2019-09-19 物体検出装置、物体検出システム、移動体及び物体検出方法
JP2019-170900 2019-09-19

Publications (1)

Publication Number Publication Date
WO2021054339A1 true WO2021054339A1 (ja) 2021-03-25

Family

ID=74878551

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/034983 WO2021054339A1 (ja) 2019-09-19 2020-09-15 物体検出装置、物体検出システム、移動体及び物体検出方法

Country Status (5)

Country Link
US (1) US20220383644A1 (ja)
EP (1) EP4033471A4 (ja)
JP (1) JP7278915B2 (ja)
CN (1) CN114424256A (ja)
WO (1) WO2021054339A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265547A (ja) 1992-03-23 1993-10-15 Fuji Heavy Ind Ltd 車輌用車外監視装置
JP2012048289A (ja) * 2010-08-24 2012-03-08 Isuzu Motors Ltd 直線検知装置
JP2013161241A (ja) * 2012-02-03 2013-08-19 Toyota Motor Corp 物体認識装置、物体認識方法
JP2018092605A (ja) * 2016-11-25 2018-06-14 株式会社リコー 情報処理装置、撮像装置、機器制御システム、移動体、情報処理方法およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103390269B (zh) * 2012-05-11 2016-12-28 株式会社理光 连续型道路分割物检测方法和装置
JP6550881B2 (ja) * 2014-07-14 2019-07-31 株式会社リコー 立体物検出装置、立体物検出方法、立体物検出プログラム、及び移動体機器制御システム
JP6662388B2 (ja) * 2015-11-27 2020-03-11 株式会社リコー 画像処理装置、撮像装置、機器制御システム、分布データ生成方法、及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265547A (ja) 1992-03-23 1993-10-15 Fuji Heavy Ind Ltd 車輌用車外監視装置
JP2012048289A (ja) * 2010-08-24 2012-03-08 Isuzu Motors Ltd 直線検知装置
JP2013161241A (ja) * 2012-02-03 2013-08-19 Toyota Motor Corp 物体認識装置、物体認識方法
JP2018092605A (ja) * 2016-11-25 2018-06-14 株式会社リコー 情報処理装置、撮像装置、機器制御システム、移動体、情報処理方法およびプログラム

Also Published As

Publication number Publication date
US20220383644A1 (en) 2022-12-01
JP7278915B2 (ja) 2023-05-22
EP4033471A1 (en) 2022-07-27
JP2021047739A (ja) 2021-03-25
CN114424256A (zh) 2022-04-29
EP4033471A4 (en) 2023-10-18

Similar Documents

Publication Publication Date Title
JP7206583B2 (ja) 情報処理装置、撮像装置、機器制御システム、移動体、情報処理方法およびプログラム
US10832431B2 (en) Image processing apparatus, object recognition apparatus, equipment control system, image processing method, and computer-readable recording medium
WO2017115732A1 (ja) 画像処理装置、物体認識装置、機器制御システム、画像処理方法及び画像処理プログラム
JP6456499B2 (ja) 立体物検出装置、ステレオカメラ装置、車両及び立体物検出方法
WO2021060117A1 (ja) 物体検出装置、物体検出システム、移動体及び物体検出方法
WO2021045092A1 (ja) 物体検出装置、物体検出システム、移動体及び物体検出方法
JP6992356B2 (ja) 情報処理装置、撮像装置、機器制御システム、移動体、情報処理方法およびプログラム
EP3367058B1 (en) Parallax calculation device, stereo camera device, vehicle, and parallax calculation method
WO2021054339A1 (ja) 物体検出装置、物体検出システム、移動体及び物体検出方法
WO2021054340A1 (ja) 物体検出装置、物体検出システム、移動体及び物体検出方法
WO2021054341A1 (ja) 物体検出装置、物体検出システム、移動体及び物体検出方法
JP6855325B2 (ja) 画像処理装置、ステレオカメラシステム、移動体、路面形状検出方法およびプログラム
EP4067815A1 (en) Electronic device and control method
WO2021049649A1 (ja) 路面検出装置、物体検出装置、物体検出システム、移動体及び物体検出方法
EP3327624A1 (en) Information processing apparatus, imaging device, device control system, mobile object, information processing method, and carrier means

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020864619

Country of ref document: EP

Effective date: 20220318