WO2012017560A1 - 画像処理装置および画像処理プログラム - Google Patents

画像処理装置および画像処理プログラム Download PDF

Info

Publication number
WO2012017560A1
WO2012017560A1 PCT/JP2010/063426 JP2010063426W WO2012017560A1 WO 2012017560 A1 WO2012017560 A1 WO 2012017560A1 JP 2010063426 W JP2010063426 W JP 2010063426W WO 2012017560 A1 WO2012017560 A1 WO 2012017560A1
Authority
WO
WIPO (PCT)
Prior art keywords
camera
image
specified
vehicle
unit
Prior art date
Application number
PCT/JP2010/063426
Other languages
English (en)
French (fr)
Inventor
清水 誠也
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2010/063426 priority Critical patent/WO2012017560A1/ja
Priority to JP2012527527A priority patent/JP5500255B2/ja
Publication of WO2012017560A1 publication Critical patent/WO2012017560A1/ja
Priority to US13/752,741 priority patent/US8817079B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4038Image mosaicing, e.g. composing plane images from plane sub-images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Definitions

  • the technology disclosed in the present application relates to an image processing apparatus and an image processing program.
  • an overhead view image in which a vehicle is looked down from a virtual viewpoint from images taken by a plurality of cameras attached to the vehicle. For example, normalize a plurality of images obtained from a plurality of fisheye cameras that capture the periphery of the vehicle, and use the normalized image to create an overhead image that overlooks the entire periphery of the vehicle from a virtual viewpoint above the vehicle.
  • there is a technique for creating a bird's-eye view image that is converted from a viewpoint to an image captured from directly above the host vehicle based on images captured by a plurality of camera devices that capture images around the host vehicle.
  • FIG. 27 is a diagram illustrating an example of an overhead image in which the entire periphery of the vehicle is overhead.
  • an all-around image in which a virtual viewpoint can be arbitrarily changed by synthesizing camera images acquired by a plurality of cameras provided around the vehicle.
  • the all-around image has a three-dimensional projection plane of the camera image, so the distortion of the object at a position away from the camera, i.e., away from the vehicle, is less than that of the overhead view image where the projection plane of the camera image is a plane. . Therefore, if it is an all-around image, since the position away from the vehicle can be confirmed more clearly than the bird's-eye view image, it can be considered to be more beneficial for vehicle driving support.
  • the images of a plurality of cameras are synthesized. Therefore, an object that is imaged in a so-called overlapping area, which is an imaging range common to a plurality of cameras, is included in a plurality of camera images.
  • the camera installation positions are, for example, four locations on the front, rear, left and right sides of the vehicle, and there is a difference of several meters between the installation positions of the cameras. This difference between the camera installation positions causes parallax between the camera images, and the following problem occurs in the overlapping region of a plurality of cameras on the entire surrounding image.
  • the disclosed technology has been made in view of the above, and an object thereof is to provide an image processing device and an image processing program capable of generating an omnidirectional image with reduced influence of parallax between camera images.
  • an image processing apparatus in one aspect, includes an acquisition unit, a first specifying unit, a second specifying unit, and a drawing unit.
  • An acquisition part acquires the camera image each image
  • the plurality of cameras partially overlap with the other camera.
  • the first projection unit is configured such that each pixel of an image below the horizon obtained from the camera installation position and angle among the camera images on the bottom surface of the virtual projection surface, which is an infinite hemisphere having a flat bottom surface. Identify the location.
  • the first projection unit specifies the position of each pixel of the image above the horizon among the camera images on the hemispherical surface of the virtual projection plane.
  • the second specifying unit specifies the position of the pixel of each camera specified on the virtual projection plane on the three-dimensional projection plane having a three-dimensional shape centered on the position of the vehicle.
  • the drawing unit identifies each position on the display image frame corresponding to the pixel position of each camera identified on the stereoscopic projection plane based on a predetermined viewpoint position, and corresponds to each identified position.
  • the pixel value of the camera to be drawn is drawn.
  • FIG. 1 is a functional block diagram illustrating the configuration of the image processing apparatus according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of a camera installation position according to the first embodiment.
  • FIG. 3 is a diagram illustrating the shape of the stereoscopic projection surface used in the first embodiment.
  • FIG. 4 is a diagram for explaining virtual viewpoint projection used in the first embodiment.
  • FIG. 5 is a diagram used for explaining a method of calculating the correspondence between the vertex coordinates of the polygon and the camera image coordinates in the first embodiment.
  • FIG. 6 is a diagram illustrating an example of camera parameters used in the first embodiment.
  • FIG. 7 is a diagram illustrating an example of camera parameters used in the first embodiment.
  • FIG. 8 is a diagram illustrating camera images handled in the first embodiment.
  • FIG. 1 is a functional block diagram illustrating the configuration of the image processing apparatus according to the first embodiment.
  • FIG. 2 is a diagram illustrating an example of a camera installation position according to the first embodiment.
  • FIG. 9 is a diagram illustrating an example of information stored in the storage unit 10C.
  • FIG. 10 is a diagram illustrating a flow of processing by the image processing apparatus according to the first embodiment.
  • FIG. 11 is a diagram showing an outline until an all-around image on which a guide line is drawn is displayed.
  • FIG. 12 is a functional block diagram illustrating the configuration of the image processing apparatus according to the second embodiment.
  • FIG. 13 is a diagram illustrating a two-wheeled vehicle model used in the second embodiment.
  • FIG. 14 is a diagram illustrating an example of the format of guide line data in the second embodiment.
  • FIG. 15 is a diagram for explaining the mapping of the guide line onto the stereoscopic projection surface in the second embodiment.
  • FIG. 10 is a diagram illustrating a flow of processing by the image processing apparatus according to the first embodiment.
  • FIG. 11 is a diagram showing an outline until an all-around image on which a guide line is drawn is displayed.
  • FIG. 12 is a functional block diagram illustrating the
  • FIG. 16 is a diagram illustrating an example of the format of the three-dimensional guide line data in the second embodiment.
  • FIG. 17 is a diagram illustrating a flow of processing performed by the image processing apparatus according to the second embodiment.
  • FIG. 18 is a functional block diagram illustrating the configuration of the image processing apparatus according to the third embodiment.
  • FIG. 19 is a diagram illustrating an example of discrete representative points on a road plane.
  • FIG. 20 is a diagram illustrating an example of a data format described in the conversion table in the third embodiment.
  • FIG. 21 is a functional block diagram illustrating the configuration of the image processing apparatus according to the fourth embodiment.
  • FIG. 22 is a diagram for explaining the screen coordinate system.
  • FIG. 23 is a diagram illustrating an example of a data format described in the conversion table in the fourth embodiment.
  • FIG. 24 is a diagram for explaining a method of obtaining a correspondence relationship by direct projection.
  • FIG. 25 is a diagram for explaining a method of obtaining three-dimensional guide line data by direct projection.
  • FIG. 26 is a diagram illustrating an example of an electronic device that executes an image processing program.
  • FIG. 27 is a diagram illustrating an example of an overhead image in which the entire periphery of the vehicle is overhead.
  • FIG. 1 is a functional block diagram illustrating the configuration of the image processing apparatus according to the first embodiment. As shown in FIG. 1, cameras 100F, 100B, 100R, 100L, a gear position sensor 200, an image display unit 300, and an image processing device 400 are mounted on the vehicle 1.
  • Cameras 100F, 100B, 100R, and 100L are cameras having a wide-angle lens such as a fisheye lens, and are installed in a predetermined position on the vehicle 1 so as to capture a peripheral image of the vehicle 1.
  • the cameras 100F, 100B, 100R, and 100L are installed in the vehicle 1 so that a part of the subject area overlaps with adjacent cameras, and the entire camera has a 360-degree road surface around the vehicle 1 and roadsides.
  • Video is shot.
  • FIG. 2 is a diagram illustrating an example of a camera installation position according to the first embodiment.
  • the camera 100F is installed in front of the vehicle 1
  • the camera 100B is installed behind the vehicle 1
  • the camera 100R is installed on the right side surface of the vehicle 1
  • the camera 100L is installed on the left side surface of the vehicle 1.
  • the cameras 100F, 100B, 100R, and 100L send captured images to a splitter 20A described later as video signals such as NTSC via a signal line.
  • the gear position sensor 200 acquires information on the gear position of the vehicle 1 and sends the acquired information to the image processing apparatus 400.
  • the image display unit 300 includes an output device such as a display and a monitor, and displays an all-around image created from each camera image acquired by the cameras 100F, 100B, 100R, and 100L.
  • the image display unit 300 may include an input device such as a touch panel to realize a pointing device function.
  • the image processing apparatus 400 includes a table generation unit 410 and a driving support unit 420 as shown in FIG.
  • the table generation unit 410 generates a table for drawing a three-dimensional all-around image displaying the entire periphery of the vehicle 1 using each camera image taken by the cameras 100F, 100B, 100R, and 100L. As illustrated in FIG. 1, the table generation unit 410 includes an editing unit 10A, a projection unit 10B, and a storage unit 10C.
  • FIG. 3 is a diagram illustrating the shape of the stereoscopic projection surface used in the first embodiment.
  • 3 represents a shape when the stereoscopic projection plane is viewed from the front of the vehicle 1.
  • 3-2 in FIG. 3 represents a shape when the stereoscopic projection plane is viewed from the left side surface of the vehicle 1.
  • the editing unit 10A can approximate the road plane around the vehicle 1 around the position of the vehicle 1 and increases the gradient as it moves away from the vehicle 1. For example, in (1) and 3-2 shown in FIG.
  • the solid curved surface having the shape as shown in (2) is determined as the shape of the stereoscopic projection surface.
  • the editing unit 10A can define the shape of the stereoscopic projection plane by a mathematical formula or a polyhedral shape.
  • the projection unit 10B uses the camera arrangement data D1 and the camera internal parameter D2 to determine on which position on the stereoscopic projection plane each pixel of each camera image photographed by the cameras 100F, 100B, 100R, and 100L is projected. The correspondence shown is calculated.
  • the projection unit 10B is an example of a first specifying unit and a second specifying unit.
  • the projection unit 10B divides the stereoscopic projection plane determined by the editing unit 10A into polyhedrons. Then, the projection unit 10B uses virtual viewpoint projection to associate the vertex coordinates of the polygon forming this polyhedron with the coordinate values of the pixels on each camera image projected to the position of the vertex coordinates of the polygon. Find correspondence.
  • the vertex coordinates of the polygon are three-dimensional coordinates defined in the vehicle coordinate system, and the coordinate values of the pixels on each camera image are two-dimensional coordinates defined in the image coordinate system.
  • the vehicle coordinate system is a coordinate system in which the traveling direction of the vehicle 1 is the Y axis, the vertical upper direction of the vehicle 1 is the Z axis, and the horizontal direction that forms the right hand system with the YZ axis is the X axis.
  • the origin of the vehicle coordinate system is set at the intersection of the normal line from the center of the vehicle 1 toward the road plane and the road plane.
  • the image coordinate system is a coordinate system for a four-divided image synthesized by a divider 20A described later from each camera image photographed by the cameras 100F, 100B, 100R, and 100L.
  • FIG. 4 is a diagram for explaining the virtual viewpoint projection used in the first embodiment.
  • 4-1 in FIG. 4 is a virtual viewpoint projection plane having a shape in which Z> 0 and a hemisphere having a sufficiently large radius as an infinite distance and having a center at the origin of the vehicle coordinate system and a road plane.
  • the sufficiently large distance may be a large value such that the distance between the cameras can be regarded as an error.
  • the numerical value may be a finite numerical value as long as it is sufficiently large as compared with the number m that is the distance between cameras that generate parallax. For example, a distance of 10 km may be considered.
  • 4-2 in FIG. 4 represents the stereoscopic projection plane shown in FIG. 3 described above.
  • FIG. 3 the stereoscopic projection plane shown in FIG. 3 described above.
  • 5 is a diagram used for explaining a method of calculating the correspondence between the vertex coordinates of the polygon and the camera image coordinates in the first embodiment.
  • 5-1 in FIG. 5 represents the camera coordinate system of the camera 100B
  • 5-2 in FIG. 5 represents a local image that is a camera image taken by the camera 100B
  • 5-3 in FIG. 5 represents the incidence of the camera coordinate system.
  • An expression for converting a light vector into a pixel position of a local image is represented.
  • the projection unit 10 ⁇ / b> B determines one virtual viewpoint Vp serving as a reference for creating an all-around image around the vehicle 1. Subsequently, the projection portion 10B is extended segment connecting the position of the virtual viewpoint Vp, and a polygon vertex P 1 on the three-dimensional projection plane 4-2 obtains an intersection C 1 and the virtual viewpoint projection plane. Similarly, the projection portion 10B is set to the position of the virtual viewpoint Vp, by extending the line segment connecting the polygon vertex P 2 on the three-dimensional projection plane 4-2, we obtain the intersection C 2 of the virtual viewpoint projection plane. As shown in FIG.
  • the intersection point C 1 is located on the road plane part of the virtual viewpoint projection plane, the intersection C 2 is positioned in a hemispherical portion of the virtual viewpoint projection plane.
  • the projecting unit 10 ⁇ / b > B receives the incident light vector I 1 in the vehicle coordinate system from the intersection C 1 toward the camera 100 ⁇ / b > B and the incident light in the vehicle coordinate system from the intersection C 2 toward the camera 100 ⁇ / b > B. Each vector I 2 is obtained.
  • the projection unit 10B uses an incident light vector toward the camera 100B obtained in the vehicle coordinate system, for example, I 1 and I 2 shown in FIG. 4 as an incident light vector in the camera coordinate system, for example, I shown in FIG. Convert to 1 * and I 2 * respectively.
  • I 1 and I 2 shown in FIG. 4 an incident light vector in the camera coordinate system
  • FIG. 6 and 7 are diagrams illustrating examples of camera parameters used in the first embodiment.
  • FIG. 6 shows a state where the vehicle 1 is looked down vertically from above.
  • FIG. 7 shows the vehicle 1 as viewed from the left side surface.
  • 6-1 shown in FIG. 6 and 7-1 shown in FIG. 7 represent a vehicle coordinate system.
  • ⁇ F and ⁇ B shown in FIG. 6 and ⁇ F , ⁇ B , and ⁇ L shown in FIG. 7 represent angle parameters derived from the camera mounting angle in the vehicle coordinate system.
  • the position parameters derived from the camera mounting position in the vehicle coordinate system are, for example, three-dimensional (X coordinate: xw, Y coordinate: yw, Z coordinate: zw). It is expressed in the coordinates.
  • the angle parameter and the position parameter of the camera correspond to the camera arrangement data D1 shown in FIG.
  • the projection unit 10B converts the incident light vector I 1 toward the camera 100B obtained in the vehicle coordinate system into the incident light vector I 1 * in the camera coordinate system, using the position C 1 * in the camera coordinate system. .
  • the projection unit 10B uses, for example, the mapping “T” of 5-3 shown in FIG. 5 to calculate the local pixel position of the camera image captured by the camera 100B from the incident light vector I 1 * of the camera coordinate system. Find Q 1 * .
  • the projection unit 10B obtains the local pixel position Q 2 * of the camera image captured by the camera 100B from the incident light vector I 2 * of the camera coordinate system using the mapping “T”.
  • the mapping “T” can be uniquely determined from the camera internal parameters shown in FIG. 1, such as lens distortion data, and can be realized by creating a local pixel position table T for the incident light vector in advance.
  • FIG. 8 is a diagram illustrating camera images handled in the first embodiment. As shown in FIG. 8, in the first embodiment, one quadrant image is synthesized from each camera image photographed by the cameras 100F, 100B, 100R, and 100L by a divider 20A described later. Position Q 1 and Q 2 of the image coordinate system described above corresponds to the position of the pixels of the image coordinate system corresponding to the four divided images.
  • the projection unit 10B adds an offset amount unique to the camera 100B to the local pixel position Q 1 * of the camera image photographed by the camera 100B, for example, as shown in FIG. 8, to the local pixel position Q 1 * . determining a position to Q 1 corresponding image coordinate system. Similarly, the projection unit 10B adds an offset amount unique to the camera 100B to the local pixel position Q 2 * of the camera image photographed by the camera 100B, for example, as shown in FIG. 2 * to determine the position Q 2 of the image coordinate system corresponding.
  • the projection unit 10B can calculate the correspondence between the coordinates of the vertexes of the polygon and the coordinates of each camera image by the method described above, but when there are a plurality of cameras that can capture the incident light vector I 1 or I 2 , It is possible to calculate the image coordinate value. This occurs because a region that partially overlaps between the cameras is provided in the imaging area of each camera, in other words, the imaging range of each camera. Therefore, in this case, a camera capable of photographing all vertices belonging to the polygon including the corresponding vertex with the same camera is selected and the image coordinate value is used.
  • the position is closer to the origin of the local image coordinate system, that is, the coordinate system defining the local pixel position as shown in FIG. 5B. Is selected and its image coordinate value is used.
  • the projection unit 10B stores the correspondence between the vertex coordinate values of each polygon on the stereoscopic projection plane in the vehicle coordinate system and the coordinate values of each camera image in the image coordinate system in the storage unit 10C.
  • the projection unit 10B calculates the correspondence between the coordinates of the vertexes of the polygon and the coordinates of each camera image using the virtual viewpoint projection. In this way, by calculating the image coordinate value corresponding to the coordinate value on the stereoscopic projection plane using the virtual viewpoint projection, the parallax between the cameras when projecting the video shot at different camera positions on the stereoscopic projection plane is calculated. Impact is reduced.
  • the incident light vector I 2 shown in FIG. 4 is present at a position where the intersection C 2 can be regarded as being infinitely far away, so that there is no need to consider the difference in camera position, and any camera can handle the same incident light vector.
  • the distance between the cameras can be regarded as an error with respect to the distance from the cameras to the intersection C 2 that can be regarded as infinity. Therefore, the light from the subject at the C 2 position is incident on the vehicle coordinate system as an incident light vector I 2 and is projected onto one point P 2 on the stereoscopic projection plane, regardless of which camera is used for shooting. In other words, in any camera image, the pixel that becomes the incident light vector I 2 in the vehicle coordinate system is projected onto P 2 . For this reason, if the subject that becomes the incident light vector I 2 exists at infinity or sufficiently far away, the subject projected on the stereoscopic projection plane has a reduced effect of parallax between the cameras, and the point P 2 is mapped.
  • the incident light vector I 1 intersecting the plane where Z 0 and the intersection C 1 shown in FIG. That is, the light from the subject at the position C 1 on the road is recorded as an incident light vector I 1 that is different for each camera.
  • previously formed by extending from each camera incident light vector of each camera in the opposite direction always intersect at a point C 1, and, in the three-dimensional projection plane is projected to P 1.
  • the image of the subject existing on the road surface is mapped to the point P 1 without the influence of the parallax between the cameras.
  • the storage unit 10C stores a projection data table that describes the correspondence between the coordinate values of the vertices of each polygon on the stereoscopic projection plane stored by the projection unit 10B and the coordinate values of each camera image.
  • the storage unit 10C stores an ID assigned to each polygon on the stereoscopic projection plane, each vertex ID assigned to each vertex of the polygon, a polygon vertex coordinate value (X, Y, Z), and an image coordinate value (S , T) in association with each other.
  • FIG. 9 is a diagram illustrating an example of information stored in the storage unit 10C. For example, as shown in FIG.
  • the storage unit 10C includes a polygon ID “1”, vertex IDs “1” to “4”, polygon vertex coordinate values “x 0 , y 0 , z 0 ”, and image coordinates.
  • the values “S 0 , T 0 ” are stored in association with each other.
  • the storage unit 10C is, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory.
  • the driving support unit 420 includes a divider 20A, a frame buffer 20B, a selection unit 20C, and a drawing unit 20D.
  • the divider 20A acquires each camera image photographed by the cameras 100F, 100B, 100R, and 100L, combines the acquired images into one quadrant image, and stores it in the frame buffer 20B as shown in FIG. To do.
  • the divider 20A is an example of an acquisition unit.
  • the frame buffer 20B accumulates the four divided images stored by the divider 20A.
  • the selection unit 20C determines a viewpoint position when an image is drawn by the drawing unit 20D described later, based on information on the gear position acquired from the gear position sensor 200. Note that the selection unit 20C may dynamically determine the viewpoint position based on information such as the steering angle and speed, information on various sensors mounted on the vehicle 1, instead of information on the gear position, or may be fixed in advance. You may specify with.
  • the drawing unit 20D uses 3D computer graphics technology to draw the pixel values of the corresponding quadrant image at the pixel position on the display image frame based on the viewpoint position determined by the selection unit 20C. Create an ambient image.
  • the drawing unit 20D is an example of a drawing unit.
  • the drawing unit 20D acquires the projection data table from the storage unit 10C of the table generation unit 410. Subsequently, the drawing unit 20D sets the texture coordinates obtained by normalizing the image coordinate values with respect to the polygon shape of the stereoscopic projection plane based on the projection data D3 described in the projection data table. Subsequently, the drawing unit 20D uses each camera image updated at 30 frames per second as a video texture, and draws a polygon with a video texture from the viewpoint position determined by the selection unit 20C by perspective projection or parallel projection. To create an all-around image.
  • the drawing unit 20D can be implemented by hardware using a standard 3D graphics LSI, and can also be implemented as software by an OpenGL that is a standard 3D graphics library.
  • the image display unit 300 displays the all-around image created by the drawing unit 20D.
  • FIG. 10 is a diagram illustrating a flow of processing by the image processing apparatus according to the first embodiment.
  • the editing unit 10A determines the shape of the stereoscopic projection plane necessary for generating the all-around image (Step S101).
  • the projection unit 10B executes camera image projection processing (step S102).
  • the projection process corresponds to a process of calculating a correspondence relationship indicating which position on the stereoscopic projection plane each pixel of each camera image photographed by the cameras 100F, 100B, 100R, and 100L described above is projected. To do.
  • the selection unit 20C determines a viewpoint position when an image is drawn by the drawing unit 20D described later (step S103).
  • the drawing unit 20D executes a drawing process for the all-around image based on the determined viewpoint position (step S104). This drawing process corresponds to the process of creating an all-around image by drawing the pixel values of the corresponding quadrant image at the pixel positions on the display image frame described above.
  • the image display unit 300 displays the drawing result by the drawing unit 20D, that is, the all-around image (step S105), and ends the process.
  • the image processing apparatus 400 uses virtual viewpoint projection to calculate a correspondence relationship indicating to which position on the stereoscopic projection plane each pixel of each camera image is projected. Then, an all-around image is created using this correspondence. Therefore, according to the first embodiment, it is possible to generate an omnidirectional image in which the influence of parallax between camera images is reduced.
  • the table generation unit 410 included in the image processing apparatus 400 calculates a correspondence relationship indicating where each pixel of each camera image is projected on the stereoscopic projection plane.
  • the case where the projection data table as shown in FIG. 9 is generated has been described.
  • the image processing apparatus 400 does not necessarily have the table generation unit 410.
  • a projection data table is generated in advance using an external information processing apparatus or the like, and the image processing apparatus 400 generates an omnidirectional image using the projection data table generated by the information processing apparatus. You can also
  • an omnidirectional image in which the influence of parallax between camera images is reduced can be generated, so that the omnidirectional image that clearly shows the surroundings of the vehicle in a wider range than the conventional omnidirectional image is provided to the user. it can. For this reason, there is a possibility that the range in which the guide line can be drawn in the entire surrounding image can be expanded. Therefore, in a second embodiment described below, an embodiment in which a guide line is superimposed and drawn on the all-around image generated in the first embodiment described above will be described.
  • FIG. 11 is a diagram showing an outline until an all-around image on which a guide line is drawn is displayed. Processing proceeds in the order of 11- (1) to 11- (6) shown in FIG. 11- (1) to 11- (2) are executed by the image processing apparatus described in the first embodiment, and 11- (3) to 11- (6) are image processing apparatuses described in the second embodiment described later. It is executed by. As shown in 11- (1) to 11- (2), the all-around image is drawn using the stereoscopic projection plane. Subsequently, as shown in 11- (3) to 11- (4), the created guide line is projected onto the stereoscopic projection plane. When a viewpoint such as (5) -1 is determined as shown in 11- (5), an all-around image on which guide lines are drawn is displayed as shown in 11- (6). .
  • FIG. 12 is a functional block diagram illustrating the configuration of the image processing apparatus according to the second embodiment.
  • the second embodiment is different from the first embodiment in that the wheel angle sensor 500 is mounted on the vehicle 1.
  • the image processing apparatus 400 according to the second embodiment is different from the first embodiment in that the driving support unit 420 includes a calculation unit 20E and a mapping unit 20F.
  • the wheel angle sensor 500 sequentially acquires information on the wheel angle ⁇ of the vehicle 1 and sends the acquired information on the wheel angle ⁇ to the calculation unit 20E.
  • the calculation unit 20E calculates an expected trajectory line corresponding to the expected course of the vehicle 1 using a two-wheeled vehicle model or the like based on the information on the wheel angle ⁇ sent from the wheel angle sensor 500 and the vehicle geometry. Determine the shape of the guide line including the line.
  • FIG. 13 is a diagram illustrating a two-wheeled vehicle model used in the second embodiment. 13-1 shown in FIG. 13 represents a front wheel rotation axis when the vehicle 1 is turning. 13-2 shown in FIG. 13 represents a front wheel rotation axis when the vehicle 1 is traveling straight. ⁇ shown in FIG. 13 represents a wheel angle. 13-3 shown in FIG. 13 represents the rear wheel rotation axis of the vehicle 1. 13-4 shown in FIG. 13 represents the turning center of the vehicle 1. 13-5 shown in FIG.
  • 13 represents the wheel base of the vehicle 1.
  • 13-6 shown in FIG. 13 represents the offset of the rear wheel of the vehicle 1.
  • 13-7 shown in FIG. 13 represents a turning radius when the vehicle 1 turns.
  • 13-8 shown in FIG. 13 represents an expected trajectory line when the vehicle 1 moves backward.
  • 13-9 shown in FIG. 13 represents a guide line.
  • the wheel base represented by 13-5, the rear wheel offset represented by 13-6, and the like correspond to the vehicle geometry.
  • the calculation unit 20E includes a wheel having a wheel angle ⁇ in the middle of the left and right front wheels of the vehicle 1 and a middle wheel of the left and right rear wheels, and the turning center of the vehicle at an intersection point where each axle is extended.
  • a virtual two-wheeled vehicle model in which is present is used.
  • the calculation unit 20E ignores the slip of the wheel and uses as a precondition that the two wheels of the two-wheeled vehicle model move perpendicularly to the axle.
  • the predicted trajectory calculation unit 20E can calculate an expected trajectory line in the vehicle coordinate system by drawing an arc centered on the turning center from the left and right rear end positions of the vehicle 1.
  • the expected trajectory calculation unit 20E determines the shape of the guide line including the expected trajectory line, then approximates the guide line to a straight line, and defines the shape of the guide line by the X coordinate and the Y coordinate of each end of each straight line.
  • the predicted trajectory calculation unit 20E stores guide line data that defines the shape of the guide line, for example, in an internal memory or the like.
  • the calculation unit 20E recalculates the predicted trajectory line every time the information on the wheel angle ⁇ sent from the wheel angle sensor 500 is changed, defines the shape of the guide line including the expected trajectory line again, and guide line data Update. For example, when information on the wheel angle ⁇ is sent from the wheel angle sensor 500, the calculation unit 20E determines whether or not there is a change in the information on the wheel angle ⁇ . If the information on the wheel angle ⁇ is changed as a result of the determination, the calculation unit 20E recalculates the expected trajectory line to re-determine the shape of the guide line, and the shape of the guide line including the expected trajectory line Is defined again, and the guide line data is updated.
  • FIG. 14 is a diagram illustrating an example of the format of guide line data in the second embodiment.
  • the predicted trajectory calculation unit 20E for example, guide lines in which a straight line ID “1”, vertex IDs “1” and “2”, and coordinate values (x 1 , y 1 ) are associated with each other.
  • the straight line ID is an identifier given to a straight line constituting the guide line
  • the vertex ID is an identifier given to both ends of the straight line
  • the coordinate values (X, Y) are coordinate values at both ends of the straight line.
  • the mapping unit 20F refers to the guide line data D5 and the projection plane data D6, and generates guide line data D7 that is three-dimensional guide line data by mapping the guide lines onto the stereoscopic projection plane.
  • the mapping unit 20F is an example of a third specifying unit.
  • the mapping unit 20F determines the position of the intersection where the line segment connecting the vertex coordinates of the guide line described in the guide line data D5 and the virtual viewpoint set when the virtual viewpoint projection is performed intersects the stereoscopic projection plane.
  • Ask. The position of this intersection is the three-dimensional vertex position of the guide line mapped on the stereoscopic projection plane.
  • FIG. 15 is a diagram for explaining the mapping of the guide line onto the stereoscopic projection surface in the second embodiment.
  • 15-1 shown in FIG. 15 represents a stereoscopic projection plane corresponding to the projection plane data D6.
  • 15-2 shown in FIG. 15 represents the vertex position of the guide line on the road surface plane. Note that 15-2 may be the bottom surface of the virtual viewpoint projection plane indicated by 4-1 in FIG.
  • the mapping unit 20F generates a three-dimensional projection of a line segment connecting the virtual viewpoint position Vp set by the projection unit 10B when the virtual viewpoint projection is performed and the vertex position 15-2 of the guide line. The position of the intersection 15-3 that intersects the surface 15-1 is obtained. Then, the mapping unit 20F generates the three-dimensional guide line data D7 by obtaining the three-dimensional coordinates of the intersection 15-3. The mapping unit 20F stores the three-dimensional guide line data D7 in, for example, an internal memory.
  • FIG. 16 is a diagram illustrating an example of the format of the three-dimensional guide line data in the second embodiment.
  • the mapping unit 20F includes, for example, a straight line ID “1”, vertex IDs “1” and “2”, coordinate values (x 3 , y 3 , z 3 ) and (x 4 , y 4 , z 4 ) is stored.
  • the mapping unit 20F regenerates the three-dimensional guide line data every time the guide line data is updated according to the change of the wheel angle ⁇ by the calculation unit 20E.
  • the drawing unit 20D performs polygon drawing to create an omnidirectional image, and then refers to the guide line data D7 to create an omnidirectional video with a guide line by superimposing and drawing the guide line as a three-dimensional line. .
  • the drawing unit 20D redraws the guide line superimposed on the entire surrounding image every time the mapping unit 20F regenerates the three-dimensional guide line data D7.
  • FIG. 17 is a diagram illustrating a flow of processing performed by the image processing apparatus according to the second embodiment.
  • the processing by the image processing apparatus 400 according to the second embodiment is different from the first embodiment in steps S203, S204, S206, and S208 shown in FIG.
  • the calculation unit 20E calculates an expected trajectory line corresponding to the expected course of the vehicle 1 using a two-wheeled vehicle model or the like based on the information on the wheel angle ⁇ sent from the wheel angle sensor 500 and the vehicle geometry, The shape of the guide line including the expected trajectory line is determined (step S203). Subsequently, the mapping unit 20F refers to the guide line data D5 and the projection plane data D6 to map the guide lines onto the stereoscopic projection plane, thereby generating three-dimensional guide line data D7 (step S204).
  • the drawing unit 20D executes a drawing process for the entire surrounding image including the guide line (step S206).
  • This drawing process corresponds to the above-described process of creating an all-around video with a guide line by superimposing and drawing the guide line as a three-dimensional line with reference to the guide line data D7.
  • the calculation unit 20E determines whether or not there is a change in the wheel angle ⁇ information (step S208).
  • step S208, YES if there is a change in the information on the wheel angle ⁇ (step S208, YES), the calculation unit 20E returns to step S203 described above, recalculates the expected trajectory line, and re-determines the shape of the guide line. To do. Thereafter, the processes of steps S204 to S208 described above are executed. On the other hand, as a result of the determination, if there is no change in the information on the wheel angle ⁇ (step S208, NO), the calculation unit 20E repeats the same determination in step S208.
  • the image processing apparatus 400 provides the user with an image in which guide lines are superimposed and drawn on the entire surrounding image in which the influence of parallax between camera images is reduced. For this reason, according to Example 2, the range which can draw a guide line can be expanded and the all-around image which contributes by a user's driving assistance can be provided to a user.
  • the position of the guide line is updated according to the steering operation of the user, and the entire surrounding image in which the guide line with the updated position is superimposed is provided to the user.
  • the guide line is mapped onto the stereoscopic projection plane by the same virtual viewpoint projection as that of the all-around video. For this reason, the white line of the road on the predicted trajectory is drawn so as to overlap the guide line, and the user can confirm the course of the vehicle as a result of the steering operation by superimposing it on the entire surrounding image. .
  • the mapping unit 20F uses the guide line data D5 calculated by the calculation unit 20E to map the position of the guide line on the road plane to a three-dimensional position on the stereoscopic projection plane.
  • the case where the guide line data D7 is obtained by calculation has been described.
  • the present invention is not limited to this case.
  • a table describing the three-dimensional coordinates on the stereoscopic projection plane corresponding to the coordinates of discrete representative points set on the road plane is created in advance. Then, using this table, a three-dimensional position on the stereoscopic projection plane corresponding to the position of the guide line on the road plane may be calculated by interpolation to obtain three-dimensional guide line data.
  • FIG. 18 is a functional block diagram illustrating the configuration of the image processing apparatus according to the third embodiment.
  • the image processing apparatus 400 according to the third embodiment is different from the second embodiment in that the table generation unit 410 includes a conversion table generation unit 10D. Furthermore, the image processing apparatus 400 according to the third embodiment is different from the second embodiment in that the driving support unit 420 includes the mapping unit 20G.
  • the conversion table generation unit 10D generates a table for obtaining three-dimensional coordinates on the stereoscopic projection plane corresponding to the coordinates of discrete representative points on the road plane in advance.
  • FIG. 19 is a diagram illustrating an example of discrete representative points on a road plane. 19-1 shown in FIG. 19 represents a road plane, and 19-2 shown in FIG. 19 represents a representative point set on the road plane.
  • the conversion table generation unit 10D calculates, for example, three-dimensional coordinates on the stereoscopic projection plane corresponding to each representative point represented by 19-2 in FIG. 19 using virtual viewpoint projection. Then, the conversion table generation unit 10D generates a conversion table in which the coordinates of discrete representative points on the road plane are associated with the three-dimensional coordinates on the corresponding stereoscopic projection plane, and stores them in an internal memory. .
  • FIG. 20 is a diagram illustrating an example of a data format described in the conversion table in the third embodiment.
  • the conversion table generation unit 10D stores a conversion table in which the coordinates of discrete representative points on the road plane are associated with the corresponding three-dimensional coordinates on the stereoscopic projection plane.
  • the conversion table generation unit 10D associates, for example, the representative point ID “1”, the coordinate value (x 5 , y 5 ) on the road plane, and the three-dimensional coordinate value (x 6 , y 6 , z 6 ). Stores the conversion table.
  • the representative point ID is an identifier assigned to the representative point
  • the coordinate value on the road plane is the coordinate value on the road plane of the representative point
  • the three-dimensional coordinate value is the three-dimensional coordinate on the stereoscopic projection plane corresponding to the representative point. Value.
  • the mapping unit 20G refers to the conversion table to obtain three-dimensional coordinates on the stereoscopic projection plane corresponding to the vertex coordinates of the guide line included in the guide line data 5D by interpolation calculation.
  • the mapping unit 20G generates and stores the three-dimensional guide line data D7.
  • the drawing unit 20D performs a three-dimensional coordinate conversion process with reference to the three-dimensional guide line data D7 in real time, converts a three-dimensional guide line according to a change in the predicted course of the vehicle 1, and A three-dimensional guide line is drawn simultaneously with the drawing.
  • the position of the guide line on the road plane is mapped to the three-dimensional position on the stereoscopic projection plane, and the three-dimensional guide line data is obtained with a smaller processing load than calculating the three-dimensional guide line data D7 by calculation. D7 can be determined.
  • the intersection of the straight lines forming the orthogonal grid pattern is used as the representative point.
  • any pattern may be used as long as it covers the drawing range of the guide line. be able to.
  • FIG. 20 a conversion table in which the coordinates of discrete representative points on the road plane are associated with the corresponding three-dimensional coordinates on the stereoscopic projection plane is generated. If there is, you may create a table with different parameters.
  • a table describing the three-dimensional coordinates on the stereoscopic projection plane corresponding to the coordinates of discrete representative points set on the road plane is created in advance.
  • the viewpoint position is known and fixed in the drawing process of the all-around video, it corresponds to the coordinates of discrete representative points set on the road plane, not the three-dimensional coordinate values on the stereoscopic projection plane.
  • a table describing the screen coordinate values of the display screen to be created is created in advance. Then, this table may be used to draw a guide line on the entire surrounding image using the screen coordinate value of the display screen, that is, the coordinate value of the image frame for display.
  • FIG. 21 is a functional block diagram illustrating the configuration of the image processing apparatus according to the fourth embodiment.
  • the image processing apparatus 400 according to the fourth embodiment is different from the third embodiment in that the table generation unit 410 includes a conversion table generation unit 10E, a conversion unit 10F, and a data set generation unit 10G.
  • the image processing apparatus 400 according to the fourth embodiment is different from the third embodiment in that the driving support unit 420 includes a mapping unit 20H and a drawing unit 20I.
  • the conversion table generation unit 10E generates a table for obtaining the screen coordinate values of the display screen corresponding to the coordinates on the road plane.
  • FIG. 22 is a diagram for explaining the screen coordinate system. As shown in FIG. 22, the screen coordinate system is a coordinate system in which the lower left area of the display lower surface for displaying the entire peripheral image is the origin 22-1, the X axis is in the horizontal direction, and the Y axis is in the vertical direction.
  • the conversion table generation unit 10E converts the coordinates of the representative points on the road plane into the three-dimensional coordinates on the stereoscopic projection plane.
  • the conversion table generation unit 10E uses the three-dimensional graphics process to project the corresponding three-dimensional coordinates at the viewpoint position based on the viewpoint data D4 on the screen coordinate system, and obtains screen coordinate values corresponding to the three-dimensional coordinates. And the conversion table production
  • FIG. 23 is a diagram illustrating an example of a data format described in the conversion table in the fourth embodiment.
  • the conversion table generation unit 10E stores a conversion table in which coordinates on a road plane are associated with screen coordinates of a corresponding display screen.
  • the conversion table generation unit 10E stores, for example, a conversion table in which the representative point ID “1”, the road plane coordinate value (x 7 , y 7 ), and the screen coordinate value (x 8 , y 8 ) are associated with each other. To do.
  • the conversion unit 10F generates projection data D9 obtained by projecting the projection data generated by the projection unit 10B onto the screen coordinate system at the viewpoint position based on the viewpoint data D4.
  • the conversion unit 10F generates in advance projection data obtained by projecting the projection data generated by the projection unit 10B onto the screen coordinate system for each viewpoint position, and stores a table describing the projection data for each viewpoint position. You may keep it.
  • the conversion unit 10F generates projection data D9 for each viewpoint position based on the viewpoint data D4.
  • the data set generation unit 10G generates and stores a data set D8 that is a combination of the conversion table generated by the conversion table generation unit 10E and the projection data D9 generated by the conversion unit 10F.
  • the data set D8 is an example of a table stored in the table storage unit.
  • the selection unit 20C acquires projection data D9 corresponding to the determined viewpoint position from the data set D8 and sends it to the drawing unit 20I. Furthermore, the selection unit 20C sends a conversion table corresponding to the determined viewpoint position to the mapping unit 20H.
  • the mapping unit 20H refers to the conversion table sent from the selection unit 20C and obtains screen coordinate values corresponding to the vertex coordinates of the guide line included in the guide line data D5. Then, mapping unit 20H generates and stores guide line data D10 including screen coordinate values corresponding to the vertex coordinates of the guide line.
  • the drawing unit 20I performs screen coordinate conversion processing with reference to the projection data D9 and the guide line data D10 in real time. Then, in accordance with the change in the predicted course of the vehicle 1, after drawing an all-around image in the screen coordinate system using the projection data D9, a guide line in the screen coordinate system is overlaid.
  • the data set D8 is generated for each viewpoint position, if the viewpoint position is known, a quick drawing process of the entire surrounding image can be executed.
  • a conversion table in which the coordinates on the road plane are associated with the screen coordinates of the corresponding display screen is generated, but if it can be derived, a table is created with different parameters. May be.
  • FIG. 24 is a diagram for explaining a method of obtaining a correspondence relationship by direct projection.
  • the above-described projection unit 10B determines the image coordinate values “Q 1 ” and “Q 2 ” of the camera 100B on which these incident light vectors are projected by the same method as in the above-described first embodiment.
  • the projection portion 10B described above obtains a correspondence that associates the image coordinates of vertices P 1 and P 2 coordinates and camera 100B of the polygon on the three-dimensional projection plane.
  • the projection unit 10B described above performs the same processing on each camera image, and creates a correspondence relationship as shown in FIG. 9, for example.
  • the projection part 10B mentioned above draws an all-around image based on this correspondence. In this way, in the part that can be approximated to the road plane around the vehicle by drawing the omnidirectional image using the correspondence obtained by direct projection, the omnidirectional image is less affected by the parallax between the camera images. You can create an image.
  • the projection unit 10B is an example of a pixel position specifying unit.
  • FIG. 25 is a diagram for explaining a method for obtaining three-dimensional guide line data by direct projection.
  • the mapping unit 20F includes both vertex coordinates of a line segment forming a guide line within the imaging range of the camera 100B, as shown in FIG. A line segment connecting the vertex and the position of the corresponding camera 100B is obtained.
  • the mapping unit 20F described above obtains the coordinates of the intersection point by mapping the vertex of the three-dimensional guide line at the intersection point where the line segment shown in FIG. 25 and the stereoscopic projection plane 25-1 intersect.
  • the mapping unit 20F described above performs mapping on each vertex of the guide line, and creates, for example, three-dimensional guide line data as shown in FIG.
  • the mapping unit 20F described above draws a guide line superimposed on the all-around image created by the method (1) described above. In this way, by drawing the guide line by direct projection, it is possible to draw the guide line over a wide range useful for driving support of the user, rather than drawing the guide line on the bird's-eye view image overlooking the entire periphery of the vehicle.
  • the mapping unit 20F here is an example of a guide line position specifying unit.
  • the functional block configuration of the image processing apparatus 400 shown in FIG. 1 is conceptual and does not necessarily need to be physically configured as illustrated.
  • the table generation unit 410 and the driving support unit 420 illustrated in FIG. 1 may be integrated functionally or physically.
  • all or a part of the functional blocks of the image processing apparatus 400 can be configured to be functionally or physically distributed / integrated in arbitrary units according to various loads or usage conditions.
  • Image processing program Various processes executed by the image processing apparatus 400 described in the above-described embodiment are, for example, a microcomputer mounted on an ECU (Electronic Control Unit) mounted on the vehicle 1. It can also be realized by executing a predetermined program on the electronic device.
  • ECU Electronic Control Unit
  • FIG. 26 is a diagram illustrating an example of an electronic device that executes an image processing program.
  • an electronic device 600 that realizes various processes executed by the image processing apparatus 400 includes a CPU (Central Processing Unit) 610 that executes various arithmetic processes.
  • the electronic device 600 includes a camera interface 620 for acquiring camera images and a display interface 630 for exchanging various data with the display.
  • the electronic apparatus 600 includes a graphic engine 640 that functions as a hardware accelerator that synthesizes camera images.
  • the electronic device 600 includes a hard disk device 650 that stores programs and data for realizing various processes by the CPU 610, and a memory such as a RAM (Random Access Memory) that temporarily stores various information. 660. Each device 610 to 660 is connected to a bus 670.
  • CPU 610 for example, an electronic circuit such as MPU (Micro Processing Unit), an integrated circuit such as ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array) can be used.
  • MPU Micro Processing Unit
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • memory 660 a semiconductor memory device such as a flash memory can be used.
  • the hard disk device 650 stores an image processing program 651 and image processing data 652 that exhibit functions similar to the functions of the image processing device 400.
  • the image processing program 651 may be appropriately distributed and stored in a storage unit of another computer that is communicably connected via a network.
  • the CPU 610 reads the image processing program 651 from the hard disk device 650 and develops it in the RAM 660, whereby the image processing program 651 functions as an image processing process 661 as shown in FIG.
  • the image processing process 661 expands various data such as the image processing data 652 read from the hard disk device 650 in an area allocated to itself on the memory 660 as appropriate, and executes various processes based on the expanded data. .
  • the image processing process 661 includes, for example, processing executed by the table generation unit 410 and the driving support unit 420 of the image processing apparatus 400 illustrated in FIG.
  • the image processing program 651 is not necessarily stored in the hard disk device 650 from the beginning.
  • each program is stored in a “portable physical medium” such as a flexible disk (FD), a CD-ROM, a DVD disk, a magneto-optical disk, and an IC card that can connect a corresponding drive to an ECU in which the electronic device 600 is mounted. Let me. Then, the electronic device 600 may read and execute each program from these.
  • each program is stored in “another computer (or server)” connected to the ECU on which the electronic device 600 is mounted via a public line, the Internet, a LAN, a WAN, or the like. Then, the electronic device 600 may read and execute each program from these.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

 画像処理装置(400)は、平面の底面を有する無限円半球である仮想投影面の該底面上で、各カメラ画像のうちカメラの設置位置と角度とから求められる地平線より下の画像の各画素の位置を特定する。続いて、画像処理装置(400)は、仮想投影面の半球面上で、各カメラ画像のうち地平線より上の画像の各画素の位置を特定する。続いて、画像処理装置(400)は、車両(1)の位置を中心とする立体形状を有する立体投影面上で、仮想投影面上で特定した各カメラの画素の位置を特定する。そして、画像処理装置(400)は、所定の視点位置に基づいて、立体投影面上で特定された各カメラの画素の位置に対応する表示用の画像フレーム上の位置をそれぞれ特定し、特定した各位置に、対応するカメラの画素の値を描画する。

Description

画像処理装置および画像処理プログラム
 本願の開示する技術は、画像処理装置および画像処理プログラムに関連する。
 従来、例えば、車両運転支援に寄与することを目的として、車両に取り付けられた複数のカメラで撮影された画像から、車両を仮想的な視点から見下ろした俯瞰画像を作成する技術がある。例えば、車両の周辺を撮影する複数の魚眼カメラから得られる複数の画像を正規化し、正規化画像を用いて、車両上方の仮想的な視点から車両の全周囲を俯瞰した俯瞰画像を作成する技術がある。また、例えば、自車両の周囲の映像を撮像する複数のカメラ装置によって撮像された映像に基づいて、自車両の真上から撮像した映像に視点変換した俯瞰映像を作成する技術がある。
 上述した俯瞰画像を作成する技術では、路面に相当する平面にカメラ映像を投影して、車両の全周囲を俯瞰した俯瞰画像を作成する。このため、例えば、図27に示すように、車両から離れた位置では、画像が極端にひずんでしまう。図27は、車両の全周囲を俯瞰した俯瞰画像の一例を示す図である。
 これに対して、車両の周囲に設けた複数台のカメラにより取得されたカメラ画像を合成することにより、仮想的な視点を任意に変更可能な全周囲画像を生成する技術が存在する。全周囲画像は、カメラ画像の投影面が立体であるため、カメラから離れた位置、すなわち車両から離れた位置にある対象物のひずみが、カメラ画像の投影面が平面である俯瞰画像よりも少ない。よって、全周囲画像であれば、車両から離れた位置を俯瞰画像よりも明確に確認できるので、車両運転支援により有益であるとも考えられる。
特開2006-253872号公報 特開2009-298178号公報
 ところで、上述した全周囲画像では、複数台のカメラの画像を合成している。従って、複数のカメラで共通して撮影範囲になる領域、いわゆる重畳領域内で撮影された対象物は、複数のカメラ画像内に含まれることになる。カメラの設置位置は、例えば、車両の前後左右の4箇所であり、カメラ同士の設置位置間には数メートルの差がある。このカメラ設置位置間の差は、カメラ画像間で視差を発生させ、全周囲画像上の複数カメラの重畳領域で次のような問題が発生する。例えば、重畳領域について、2つのカメラの画像を合成したとすると、本当は1つの対象物が投影面上の複数個所に投影される結果2つに見えることになる。また、重畳領域について、2つのカメラ画像のどちらの画像を採用するかを、全周囲画像上のある線で決めたとすると、その線をまたいで存在する対象物、例えば、路面ペイントなどが、途切れた状態に見えることになる。
 開示の技術は、上記に鑑みてなされたものであって、カメラ画像間の視差の影響を低減させた全周囲画像を生成することが可能な画像処理装置および画像処理プログラムを提供することを目的とする。
 本願の開示する技術、例えば、画像処理装置は、一つの態様において、取得部と、第1の特定部と、第2の特定部と、描画部とを有する。取得部は、車両に搭載された複数のカメラによりそれぞれ撮影されたカメラ画像を取得する。なお、複数のカメラは、他のカメラとの間で被写領域が一部重複する。第1の投影部は、平面の底面を有する無限円半球である仮想投影面の該底面上で、各カメラ画像のうちカメラの設置位置と角度とから求められる地平線より下の画像の各画素の位置を特定する。さらに、第1の投影部は、該仮想投影面の半球面上で、各カメラ画像のうち該地平線より上の画像の各画素の位置を特定する。第2の特定部は、該車両の位置を中心とする立体形状を有する立体投影面上で、該仮想投影面上で特定した各カメラの画素の位置を特定する。描画部は、所定の視点位置に基づいて該立体投影面上で特定された各カメラの画素の位置に対応する表示用の画像フレーム上の位置をそれぞれ特定し、該特定した各位置に、対応するカメラの画素の値を描画する。
 本願の開示する技術の一つの態様によれば、車両に搭載されたカメラ間の視差の影響を低減させた全周囲画像を生成できる。
図1は、実施例1に係る画像処理装置の構成を示す機能ブロック図である。 図2は、実施例1におけるカメラの設置位置の一例を示す図である。 図3は、実施例1で用いる立体投影面の形状を示す図である。 図4は、実施例1で用いる仮想視点投影を説明するための図である。 図5は、実施例1におけるポリゴンの頂点座標と各カメラ画像座標との対応関係の算出方法の説明に用いる図である。 図6は、実施例1で用いるカメラパラメータの一例を示す図である。 図7は、実施例1で用いるカメラパラメータの一例を示す図である。 図8は、実施例1において取り扱うカメラ画像を示す図である。 図9は、記憶部10Cに記憶される情報の一例を示す図である。 図10は、実施例1に係る画像処理装置による処理の流れを示す図である。 図11は、ガイド線が描画された全周囲画像が表示されるまでの概要を示す図である。 図12は、実施例2に係る画像処理装置の構成を示す機能ブロック図である。 図13は、実施例2で用いる2輪車モデルを示す図である。 図14は、実施例2におけるガイド線データの形式の一例を示す図である。 図15は、実施例2における立体投影面へのガイド線の写像を説明するための図である。 図16は、実施例2における3次元のガイド線データの形式の一例を示す図である。 図17は、実施例2に係る画像処理装置による処理の流れを示す図である。 図18は、実施例3に係る画像処理装置の構成を示す機能ブロック図である。 図19は、道路平面上の離散的な代表点の一例を示す図である。 図20は、実施例3における変換テーブルに記述されるデータ形式の一例を示す図である。 図21は、実施例4に係る画像処理装置の構成を示す機能ブロック図である。 図22は、画面座標系を説明するための図である。 図23は、実施例4における変換テーブルに記述されるデータ形式の一例を示す図である。 図24は、直接投影により対応関係を求める方法を説明するための図である。 図25は、直接投影により3次元のガイド線データを求める方法を説明するための図である。 図26は、画像処理プログラムを実行する電子機器の一例を示す図である。 図27は、車両の全周囲を俯瞰した俯瞰画像の一例を示す図である。
 以下に、図面を参照しつつ、本願の開示する画像処理装置および画像処理プログラムの一実施形態について詳細に説明する。なお、本願の開示する画像処理装置および画像処理プログラムの一実施形態として後述する実施例により、本願が開示する技術が限定されるものではない。
[画像処理装置の構成]
 図1は、実施例1に係る画像処理装置の構成を示す機能ブロック図である。図1に示すように、カメラ100F、100B、100R、100L、ギアポジションセンサ200、画像表示部300および画像処理装置400が車両1に搭載される。
 カメラ100F、100B、100R、100Lは、魚眼レンズなどの広角レンズを持つカメラであり、車両1の周辺映像を撮影するように車両1に所定の位置に設置される。なお、カメラ100F、100B、100R、100Lは、被写領域の一部が隣接するカメラとの間で重複するように車両1に設置され、カメラ全体で車両1の周囲360度の路面と路側の映像が撮影される。
 図2は、実施例1におけるカメラの設置位置の一例を示す図である。図2に示すように、カメラ100Fは車両1の前方に設置され、カメラ100Bは車両1の後方に設置され、カメラ100Rは車両1の右側側面に設置され、カメラ100Lは車両1に左側側面に設置される。カメラ100F、100B、100R、100Lは、撮影した画像を、信号線を介し、NTSCなどの映像信号で後述する分割器20Aに送る。
 ギアポジションセンサ200は車両1のギアポジションの情報を取得し、取得した情報を画像処理装置400に送る。
 画像表示部300は、ディスプレイやモニタなどの出力デバイスを有し、カメラ100F、100B、100R、100Lにより取得された各カメラ画像から作成される全周囲画像などを表示する。なお、画像表示部300は、タッチパネルなどの入力デバイスを有し、ポインティングデバイス機能を実現してもよい。
 画像処理装置400は、図1に示すように、テーブル生成部410および運転支援部420を有する。
 テーブル生成部410は、カメラ100F、100B、100R、100Lにより撮影された各カメラ画像を用いて、車両1の全周囲を表示した3次元の全周囲画像を描画するためのテーブルを生成する。図1に示すように、テーブル生成部410は、編集部10A、投影部10Bおよび記憶部10Cを有する。
 編集部10Aは、全周囲画像の生成に必要な立体投影面の形状を決定する。図3は、実施例1で用いる立体投影面の形状を示す図である。図3の3-1は、立体投影面を車両1の前方から見た場合の形状を表す。図3の3-2は、立体投影面を車両1の左側側面から見た場合の形状を表す。編集部10Aは、車両1の位置を中心として、車両周辺で道路平面に近似でき、かつ車両1から離れるにつれ勾配を増す、例えば、図3の3-1に示す(1)や3-2に示す(2)のような形状を有する立体曲面を立体投影面の形状として決定する。なお、編集部10Aは、立体投影面の形状を数式や多面体形状で定義しておくことができる。
 投影部10Bは、カメラ配置データD1およびカメラ内部パラメータD2を用いて、カメラ100F、100B、100R、100Lにより撮影された各カメラ画像の各画素が立体投影面上のどの位置に射影されるのかを示す対応関係を算出する。なお、投影部10Bは、第1の特定部および第2の特定部の一例である。
 例えば、投影部10Bは、編集部10Aにより決定された立体投影面を多面体に分割する。そして、投影部10Bは、仮想視点投影を用いて、この多面体を形成するポリゴンの頂点座標と、そのポリゴンの頂点座標の位置に射影される各カメラ画像上の画素の座標値とを対応付けることで対応関係を求める。ポリゴンの頂点座標は、車両座標系で定義される3次元の座標であり、各カメラ画像上の画素の座標値は画像座標系で定義される2次元の座標である。
 なお、車両座標系とは、車両1の進行方向をY軸、車両1の垂直上方をZ軸、Y-Z軸と右手系をなす水平方向をX軸とした座標系である。なお、車両座標系の原点は、車両1の中心から道路平面に向かう法線と道路平面との交点に設定される。また、画像座標系とは、カメラ100F、100B、100R、100Lにより撮影された各カメラ画像から、後述する分割器20Aにより合成される4分割画像についての座標系である。
 以下、図4~図8を参照しつつ、投影部10Bによるポリゴンの頂点の座標と各カメラ画像の座標との対応関係を算出する方法について説明する。なお、各カメラ画像について同様の方法で対応関係を算出するので、以下では、ポリゴンの頂点の座標と、カメラ100Bにより撮影されたカメラ画像の座標との対応関係を算出する方法を例に挙げて説明する。
 図4は、実施例1で用いる仮想視点投影を説明するための図である。図4の4-1は、Z>0で、無限遠として例えば十分に大きい距離の半径を持ち車両座標系の原点に中心を持つ半球と、道路平面とを組み合わせた形状を持つ仮想視点投影面を表す。十分に大きい距離は、カメラ間の距離を誤差とみなせる程度の大きな値であればよい。視差を発生させるカメラ間の距離である数mと比較して、十分大きい数値であれば有限の数値であってもよく、例えば10kmの距離をとることが考えられる。図4の4-2は、上述した図3に示す立体投影面を表す。図5は、実施例1におけるポリゴンの頂点座標と各カメラ画像座標との対応関係の算出方法の説明に用いる図である。図5の5-1はカメラ100Bのカメラ座標系を表し、図5の5-2はカメラ100Bにより撮影されたカメラ画像であるローカル画像を表し、図5の5-3はカメラ座標系の入射光ベクトルをローカル画像の画素位置に変換する式を表す。
 まず、投影部10Bは、図4に示すように、車両1の周辺に全周囲画像を作成するための基準となる仮想視点Vpを1点定める。続いて、投影部10Bは、仮想視点Vpの位置と、立体投影面4-2上のポリゴン頂点Pとを結ぶ線分を延長して、仮想視点投影面との交点Cを求める。同様に、投影部10Bは、仮想視点Vpの位置と、立体投影面4-2上のポリゴン頂点Pと結ぶ線分を延長して、仮想視点投影面との交点Cを求める。なお、図4に示すように、交点Cは仮想視点投影面の道路平面部分に位置し、交点Cは仮想視点投影面の半球部分に位置する。続いて、投影部10Bは、例えば、図4に示すように、交点Cからカメラ100Bに向かう車両座標系の入射光ベクトルI、および交点Cからカメラ100Bに向かう車両座標系の入射光ベクトルIをそれぞれ求める。
 続いて、投影部10Bは、車両座標系で求めたカメラ100Bに向かう入射光ベクトル、例えば、図4に示すIおよびIを、カメラ座標系の入射光ベクトル、例えば、図5に示すI およびI にそれぞれ変換する。以下に、入射光ベクトルの車両座標系からカメラ座標系への変換方法について説明する。
 図6および図7は、実施例1で用いるカメラパラメータの一例を示す図である。図6は、車両1を上方から鉛直に見下ろした状態を示す。また、図7は、車両1を左側側面からみた状態を示す。また、図6に示す6-1および図7に示す7-1は車両座標系を表す。また、図6に示すθ、θ、図7に示すψ、ψ、φは車両座標系におけるカメラの取り付け角度に由来する角度パラメータを表す。なお、図6および図7に示していないが、車両座標系におけるカメラの取り付け位置に由来する位置パラメータは、例えば、(X座標:xw,Y座標:yw,Z座標:zw)からなる3次元の座標で表される。なお、カメラの角度パラメータおよび位置パラメータは図1に示すカメラ配置データD1に対応する。
 例えば、投影部10Bは、車両座標系で求められた交点Cの座標を、「C=(Cx、Cy、Cz)」とする。そして、投影部10Bは、以下の式(1)~(9)を用いて、交点Cの座標「C=(Cx、Cy、Cz)」に対応するカメラ座標系の位置C の座標「C1=(C x、C y、C z)」を求める。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
 同様にして、投影部10Bは、車両座標系で求められた交点Cの座標を、例えば、「C=(Cx、Cy、Cz)」とする。そして、投影部10Bは、交点Cの座標に対応するカメラ座標系の位置C の座標「C=(C x、C y、C z)」を求める。
 続いて、投影部10Bは、カメラ座標系の位置C を用いて、車両座標系で求めたカメラ100Bに向かう入射光ベクトルIを、カメラ座標系の入射光ベクトルI に変換する。同様にして、投影部10Bは、カメラ座標系の位置C を用いて、車両座標系で求めたカメラ100Bに向かう入射光ベクトルIを、カメラ座標系の入射光ベクトルI に変換する。
 続いて、投影部10Bは、例えば、図5に示す5-3の写像「T」を用いて、カメラ座標系の入射光ベクトルI から、カメラ100Bにより撮影されたカメラ画像のローカル画素位置Q を求める。同様に、投影部10Bは、写像「T」を用いて、カメラ座標系の入射光ベクトルI から、カメラ100Bにより撮影されたカメラ画像のローカル画素位置Q を求める。なお、写像「T」は、図1に示すカメラ内部パラメータ、例えば、レンズ歪みデータ等より一意に決定でき、あらかじめ入射光ベクトルに対するローカル画素位置のテーブルTを作成しておくことなどで実現できる。
 続いて、投影部10Bは、カメラ100Bにより撮影されたカメラ画像のローカル画素位置Q およびQ に対応する画像座標系の位置QおよびQをそれぞれ求める。図8は、実施例1において取り扱うカメラ画像を示す図である。図8に示すように、実施例1では、カメラ100F、100B、100R、100Lにより撮影された各カメラ画像から、後述する分割器20Aによって1枚の4分割画像が合成される。上述した画像座標系の位置QおよびQは、この4分割画像に対応する画像座標系の画素の位置に相当する。投影部10Bは、カメラ100Bにより撮影されたカメラ画像のローカル画素位置Q に、カメラ100Bに固有のオフセット量を加えることで、例えば、図8に示すように、ローカル画素位置Q に対応する画像座標系の位置Qを求める。同様に、投影部10Bは、カメラ100Bにより撮影されたカメラ画像のローカル画素位置Q に、カメラ100Bに固有のオフセット量を加えることで、例えば、図8に示すように、ローカル画素位置Q に対応する画像座標系の位置Qを求める。
 なお、投影部10Bは、上述してきた方法でポリゴンの頂点の座標と各カメラ画像の座標との対応関係を算出できるが、入射光ベクトルIあるいはIを撮影できるカメラが複数存在するときには複数の画像座標値を算出できることとなる。これは、各カメラの被写領域、言い換えれば、各カメラの撮像範囲にカメラ間で一部重複する範囲が設けられているために生じる。そこで、この場合には、該当の頂点を含むポリゴンに属する全ての頂点が同じカメラで撮影できるカメラを選択し、その画像座標値を用いるようにする。また、ポリゴンに属する全ての頂点が撮影できるカメラが複数存在するときは、よりローカル画像の座標系、つまり図5の5-2に示すようなローカル画素位置を定義する座標系の原点に近い位置となるポリゴンを選択し、その画像座標値を用いるようにする。
 投影部10Bは、車両座標系における立体投影面上の各ポリゴンの頂点の座標値と、画像座標系における各カメラ画像の座標値との対応関係を記憶部10Cに格納する。
 上述してきたようにして、投影部10Bは、仮想視点投影を用いて、ポリゴンの頂点の座標と各カメラ画像の座標との対応関係を算出する。このように、仮想視点投影を用いて立体投影面上の座標値に対応する画像座標値を算出することで、異なるカメラ位置で撮影した映像を立体投影面に投影する際にカメラ間の視差の影響が軽減される。図4に示す入射光ベクトルIは、交点Cが無限遠方とみなせる位置に存在するため、カメラ位置の差を考慮する必要性がなくなり、どのカメラでも同じ入射光ベクトルとして扱える。つまり、各カメラから無限遠方と見なせる交点Cまでの距離に対して、各カメラ同士の距離は誤差とみなせる。従って、Cの位置にある被写体からの光は、どのカメラで撮影しても車両座標系では入射光ベクトルIとなり、かつ立体投影面ではPの1点に射影されることになる。言い換えれば、どのカメラの映像であっても、車両座標系で入射光ベクトルIとなる画素はPに射影される。このため、入射光ベクトルIとなる被写体が無限遠、もしくは十分に遠くに存在するならば、立体投影面上に投影された被写体はカメラ間の視差の影響が緩和されたものとなり、点Pに写像される。一方、Z=0である平面と、図4に示す交点Cで交差する入射光ベクトルIは十分近い距離にあるためカメラごとに異なるベクトルとなる。すなわち、道路上のCの位置にある被写体からの光は、カメラごとに異なる入射光ベクトルIとして記録される。しかし、各カメラからカメラごとの入射光ベクトルを逆方向に延長した先は常にCの1点で交差し、かつ、立体投影面ではPに射影される。このため、路面上に存在する被写体の映像はカメラ間の視差の影響なく点Pに写像される。車載のカメラから撮影された映像には、Z=0の位置に路面が映し出され、走行時には水平より上方に遠方の被写体が映し出されることが確率的に多くなる。よって、各カメラ画像を図4の4-1に示す無限円半球に投影することで、全体としては視差の影響が緩和された全周囲画像が合成される。
 記憶部10Cは、投影部10Bにより格納された立体投影面上の各ポリゴンの頂点の座標値と各カメラ画像の座標値との対応関係を記述した投影データテーブルを記憶する。記憶部10Cは、立体投影面上の各ポリゴンに付与されるIDと、ポリゴンの各頂点に付与される各頂点IDと、ポリゴン頂点座標値(X,Y,Z)と、画像座標値(S,T)とを対応付けて記憶する。図9は、記憶部10Cに記憶される情報の一例を示す図である。例えば、図9に示すように、記憶部10Cは、ポリゴンID「1」と、頂点ID「1」~「4」と、ポリゴン頂点座標値「x,y,z」と、画像座標値「S,T」とを対応付けて記憶している。なお、記憶部10Cは、例えば、RAM(Random Access Memory)やフラッシュメモリ(flash memory)などの半導体メモリ素子である。
 図1に戻り、運転支援部420について説明する。運転支援部420は、図1に示すように、分割器20Aと、フレームバッファ20Bと、選択部20Cと、描画部20Dとを有する。
 分割器20Aは、カメラ100F、100B、100R、100Lにより撮影された各カメラ画像を取得し、図8に示すように、取得した画像から1枚の4分割画像に合成し、フレームバッファ20Bに格納する。なお、分割器20Aは、取得部の一例である。フレームバッファ20Bは、分割器20Aにより格納された4分割画像を蓄積する。
 選択部20Cは、ギアポジションセンサ200から取得したギアポジションの情報に基づいて、後述する描画部20Dにて画像を描画させるときの視点位置を決定する。なお、選択部20Cは、ギアポジションの情報ではなく、ハンドル切れ角や速度などの情報や、車両1に搭載された各種センサの情報から視点位置を動的に決定してもよいし、予め固定で指定しておいてもよい。
 描画部20Dは、3Dコンピュータグラフィクス技術を用い、選択部20Cにより決定された視点位置に基づいて、表示用の画像フレーム上の画素位置に、対応する4分割画像の画素値を描画することで全周囲画像を作成する。なお、描画部20Dは、描画部の一例である。
 例えば、描画部20Dは、テーブル生成部410の記憶部10Cから投影データテーブルを取得する。続いて、描画部20Dは、投影データテーブルに記述された投影データD3に基づいて、立体投影面のポリゴン形状に対して画像座標値を正規化したテクスチャ座標を設定する。続いて、描画部20Dは、1秒あたり30フレームで更新される各カメラ画像をビデオテクスチャとして用い、選択部20Cにより決定された視点位置から、透視法投影もしくは並行投影でビデオテクスチャ付きのポリゴン描画を行なうことで全周囲画像を作成する。描画部20Dは、標準的な3DグラフィクスLSIによりハードウエアで実装することができ、標準的な3DグラフィクスライブラリであるOpenGLなどによりソフトウエアとして実装することもできる。
 画像表示部300は、描画部20Dにより作成された全周囲画像を表示する。
[画像処理装置による処理(実施例1)]
 図10は、実施例1に係る画像処理装置による処理の流れを示す図である。図10に示すように、編集部10Aは、全周囲画像の生成に必要な立体投影面の形状を決定する(ステップS101)。続いて、投影部10Bは、カメラ画像の投影処理を実行する(ステップS102)。なお、投影処理とは、上述したカメラ100F、100B、100R、100Lにより撮影された各カメラ画像の各画素が立体投影面上のどの位置に射影されるのかを示す対応関係を算出する処理に相当する。
 続いて、選択部20Cは、ギアポジションセンサ200から取得したギアポジションの情報に基づいて、後述する描画部20Dにて画像を描画させるときの視点位置を決定する(ステップS103)。続いて、描画部20Dは、決定された視点位置に基づいて全周囲画像の描画処理を実行する(ステップS104)。なお、この描画処理は、上述した表示用の画像フレーム上の画素位置に、対応する4分割画像の画素値を描画することで全周囲画像を作成する処理に相当する。
 続いて、画像表示部300は、描画部20Dによる描画結果、すなわち全周囲画像を表示し(ステップS105)、処理を終了する。
 なお、図10に示すステップS101~ステップS105の処理は、装置のオンライン時に任意のタイミングで実行でき、図10に示すステップS101およびステップS102の処理については、装置のオフライン時に任意のタイミングで実行できる。
[実施例1による効果]
 上述してきたように、実施例1に係る画像処理装置400は、仮想視点投影を用いて、各カメラ画像の各画素が立体投影面上のどの位置に射影されるのかを示す対応関係を算出し、この対応関係を用いて全周囲画像を作成する。よって、実施例1によれば、カメラ画像間の視差の影響を低減させた全周囲画像を生成できる。
 なお、上述してきた実施例1では、画像処理装置400が有するテーブル生成部410が、各カメラ画像の各画素が立体投影面上のどの位置に射影されるのかを示す対応関係を算出し、図9に示すような投影データテーブルを生成する場合を説明した。しかしながら、画像処理装置400は、テーブル生成部410を必ずしも有する必要はない。例えば、外部の情報処理装置などを用いて投影データテーブルを予め生成しておき、画像処理装置400は、この情報処理装置により生成された投影データテーブルを用いて、全周囲画像を作成するようにすることもできる。
 ところで、車両運転支援の目的で、例えば、ユーザに提供される車両周辺を撮影した画像に運転操作を補助するためのガイド線を描画して提供する従来技術が多々存在する。しかし、これらの従来技術には、ガイド線を描画できる範囲が狭いという共通した問題がある。例えば、車両の周辺を撮影した俯瞰画像では、カメラ単体の視野を超える範囲にはガイド線が描画されない。また、車両周辺を撮影した従来の全周囲画像では、カメラ画像間の視差の影響から、車両周辺の様子が必ずしも鮮明な状態で映し出されていない場合がある。このため、従来技術では、車両と周辺物体等との相対関係をユーザが把握可能な限定された範囲にガイド線を描画していた。
 上述した実施例1では、カメラ画像間の視差の影響を低減させた全周囲画像を生成できるので、従来の全周囲画像よりも広範囲で車両周辺の様子を鮮明に映し出す全周囲画像をユーザに提供できる。このため、全周囲画像においてガイド線を描画できる範囲を拡大できる可能性が生まれる。そこで、以下の実施例2では、上述した実施例1において生成された全周囲画像にガイド線を重畳描画する場合の一実施形態について説明する。
 図11は、ガイド線が描画された全周囲画像が表示されるまでの概要を示す図である。図11に示す11-(1)~11-(6)の順に処理が進行する。11-(1)~11-(2)は上述の実施例1で説明した画像処理装置により実行され、11-(3)~11-(6)は後述の実施例2で説明する画像処理装置により実行される。11-(1)~11-(2)に示すように、立体投影面を用いて全周囲画像が描画される。続いて、11-(3)~11-(4)に示すように、作成されたガイド線が立体投影面に投影される。そして、11-(5)に示すように、(5)-1のような視点が決定されると、11-(6)に示すように、ガイド線が描画された全周囲画像が表示される。
[画像処理装置の構成(実施例2)]
 図12は、実施例2に係る画像処理装置の構成を示す機能ブロック図である。実施例2は、車輪角センサ500が車両1に搭載される点が実施例1とは異なる。さらに、実施例2に係る画像処理装置400は、運転支援部420が算出部20Eおよび写像部20Fを有する点が実施例1とは異なる。
 車輪角センサ500は、車両1の車輪角θの情報を逐次取得し、取得した車輪角θの情報を算出部20Eに送る。
 算出部20Eは、車輪角センサ500から送られる車輪角θの情報と車両ジオメトリをもとに2輪車モデルなどを用いて、車両1の予想進路に相当する予想軌跡線を計算し、予想軌跡線を含むガイド線の形状を決定する。図13は、実施例2で用いる2輪車モデルを示す図である。図13に示す13-1は、車両1の旋回時における前輪回転軸を表す。図13に示す13-2は、車両1の直進時における前輪回転軸を表す。図13に示すθは、車輪角を表す。図13に示す13-3は、車両1の後輪回転軸を表す。図13に示す13-4は、車両1の旋回中心を表す。図13に示す13-5は、車両1のホイールベースを表す。図13に示す13-6は、車両1の後輪のオフセットを表す。図13に示す13-7は、車両1の旋回時における回転半径を表す。図13に示す13-8は、車両1の後退時の予想軌跡線を表す。図13に示す13-9はガイド線を表す。なお、13-5で表すホイールベースや13-6で表す後輪オフセットなどが車両ジオメトリに相当する。
 図13に示すように、算出部20Eは、車両1の左右前輪の中間に車輪角θの車輪と左右後輪の中間の車輪とを有し、各車軸を延長した交点位置に車両の旋回中心が存在する仮想的な2輪車モデルを用いる。ここで、算出部20Eは、車輪のすべりを無視し、2輪車モデルの2輪は車軸に対して垂直に移動することを前提条件として用いる。例えば、車両1の後退時であれば、予想軌跡算出部20Eは、車両1の左右後端位置から旋回中心を中心とした円弧を描くことで、車両座標系での予想軌跡線を算出できる。
 例えば、図13の13-4で表す車両1の旋回中心の座標を「(Cx,Cy)」、図13の13-4で表す車両1の回転半径を「R」とすると、「(Cx,Cy)」および「R」は以下の式(10)で表される。
Figure JPOXMLDOC01-appb-M000010
 そして、予想軌跡算出部20Eは、予想軌跡線を含むガイド線の形状を決定した後、ガイド線を直線に近似し、各直線の両端のX座標およびY座標でガイド線の形状を定義する。そして、予想軌跡算出部20Eは、例えば、内部的に有するメモリなどに、ガイド線の形状を定義したガイド線データを格納する。
 なお、算出部20Eは、車輪角センサ500から送られる車輪角θの情報が変更されるたびに予想軌跡線を再計算し、予想軌跡線を含むガイド線の形状を改めて定義し、ガイド線データを更新する。例えば、算出部20Eは、車輪角センサ500から車輪角θの情報が送られてくると、車輪角θの情報に変更があるか否かを判定する。そして、判定の結果、車輪角θの情報に変更がある場合には、算出部20Eは、予想軌跡線を再計算してガイド線の形状を再決定し、予想軌跡線を含むガイド線の形状を改めて定義し、ガイド線データを更新する。
 図14は、実施例2におけるガイド線データの形式の一例を示す図である。図14に示すように、予想軌跡算出部20Eは、例えば、直線ID「1」と、頂点ID「1」および「2」と、座標値(x,y)とを対応付けたガイド線データを格納する。直線IDとはガイド線を構成する直線に付与される識別子であり、頂点IDとは直線の両端に付与される識別子であり、座標値(X,Y)は直線の両端の座標値である。
 図12に戻り、写像部20Fについて説明する。写像部20Fは、ガイド線データD5および投影面データD6を参照して、ガイド線を立体投影面に写像することにより、3次元のガイド線データであるガイド線データD7を生成する。なお、写像部20Fは、第3の特定部の一例である。
 例えば、写像部20Fは、ガイド線データD5に記述されたガイド線の頂点座標と、仮想視点投影の実施時に設定された仮想視点とを結んだ線分が、立体投影面と交わる交点の位置を求める。この交点の位置が立体投影面に写像されたガイド線の3次元の頂点位置となる。図15は、実施例2における立体投影面へのガイド線の写像を説明するための図である。図15に示す15-1は、投影面データD6に対応する立体投影面を表す。図15に示す15-2は、路面平面上におけるガイド線の頂点位置を表す。なお、15-2は、図4の4-1に示す仮想視点投影面の底面であっても構わない。図15に示す15-3は、立体投影面におけるガイド線の3次元の頂点位置を表す。写像部20Fは、例えば、図15に示すように、仮想視点投影の実施時に投影部10Bにより設定された仮想視点位置Vpと、ガイド線の頂点位置15-2とを結ぶ線分が、立体投影面15-1と交わる交点15-3の位置を求める。そして、写像部20Fは、この交点15-3の3次元座標を求めることにより、3次元のガイド線データD7を生成する。写像部20Fは、例えば、内部的に有するメモリなどに、3次元のガイド線データD7を格納する。
 図16は、実施例2における3次元のガイド線データの形式の一例を示す図である。図16に示すように、写像部20Fは、例えば、直線ID「1」と、頂点ID「1」および「2」と、座標値(x,y,z)および(x,y,z)とを対応付けた3次元ガイド線データを格納する。
 なお、写像部20Fは、算出部20Eにより車輪角θの変更に応じてガイド線データが更新されるたびに、3次元ガイド線データを再生成する。
 図12に戻り、描画部20Dについて説明する。描画部20Dは、ポリゴン描画を行って全周囲画像を作成した後、ガイド線データD7を参照して、ガイド線を3次元のラインとして重畳描画することによりガイド線付きの全周囲映像を作成する。
 なお、描画部20Dは、写像部20Fにより3次元のガイド線データD7が再生成されるたびに、全周囲画像に重畳されるガイド線を再描画する。
[画像処理装置による処理(実施例2)]
 図17は、実施例2に係る画像処理装置による処理の流れを示す図である。実施例2に係る画像処理装置400による処理は、図17に示すステップS203、ステップS204、ステップS206、ステップS208の処理が実施例1とは異なる。
 すなわち、算出部20Eは、車輪角センサ500から送られる車輪角θの情報と車両ジオメトリをもとに2輪車モデルなどを用いて、車両1の予想進路に相当する予想軌跡線を計算し、予想軌跡線を含むガイド線の形状を決定する(ステップS203)。続いて、写像部20Fは、ガイド線データD5および投影面データD6を参照して、ガイド線を立体投影面に写像することにより、3次元ガイド線データD7を生成する(ステップS204)。
 続いて、ステップS205において選択部20Cにより視点位置が決定された後、描画部20Dは、ガイド線を含む全周囲画像の描画処理を実行する(ステップS206)。この描画処理は、ガイド線データD7を参照して、ガイド線を3次元ラインとして重畳描画することによりガイド線付きの全周囲映像を作成する上述の処理に相当する。続いて、ステップS207において描画結果が表示された後、算出部20Eは、車輪角θの情報に変更があるか否かを判定する(ステップS208)。判定の結果、車輪角θの情報に変更がある場合には(ステップS208,YES)、算出部20Eは、上述したステップS203に戻り、予想軌跡線を再計算してガイド線の形状を再決定する。以後、上述したステップS204~ステップS208の処理が実行される。一方、判定の結果、車輪角θの情報に変更がない場合には(ステップS208,NO)、算出部20Eは、ステップS208の同判定を繰り返す。
[実施例2による効果]
 上述してきたように、実施例2に係る画像処理装置400は、カメラ画像間の視差の影響を低減させた全周囲画像にガイド線を重畳描画した画像をユーザに提供する。このため、実施例2によれば、ガイド線を描画できる範囲を拡大でき、ユーザの運転支援により寄与する全周囲画像をユーザに提供できる。
 また、実施例2によれば、ユーザのステアリング操作に応じてガイド線の位置を更新し、位置が更新されたガイド線を重畳描画した全周囲画像をユーザに提供するので、ユーザの運転をリアルタイムに支援できる。例えば、実施例2では、全周囲映像と同じ仮想視点投影によりガイド線が立体投影面に写像される。このため、予測軌跡上にある道路の白線などがガイド線と重なって描画されることなり、ユーザはステアリング操作の結果、車両がどのような進路を通るのかを全周囲画像と重ね合わせて確認できる。
 上述した実施例2では、写像部20Fが、算出部20Eにより計算されたガイド線データD5を用いて、道路平面上のガイド線の位置を立体投影面上の3次元位置に写像し、3次元ガイド線データD7を計算により求める場合を説明した。しかしながら、この場合に限定されるものではない。例えば、道路平面上に設定した離散的な代表点の座標に対応する立体投影面上の3次元座標を記述したテーブルを予め作成しておく。そして、このテーブルを用いて、道路平面上のガイド線の位置に対応する立体投影面上の3次元位置を補間計算し、3次元ガイド線データを求めるようにしてもよい。
[画像処理装置の構成(実施例3)]
 図18は、実施例3に係る画像処理装置の構成を示す機能ブロック図である。実施例3に係る画像処理装置400は、テーブル生成部410が変換テーブル生成部10Dを有する点が実施例2とは異なる。さらに、実施例3に係る画像処理装置400は、運転支援部420が写像部20Gを有する点が実施例2とは異なる。
 変換テーブル生成部10Dは、あらかじめ道路平面上の離散的な代表点の座標に対応する立体投影面上の3次元座標を求めるためのテーブルを生成する。図19は、道路平面上の離散的な代表点の一例を示す図である。図19に示す19-1は道路平面を表し、図19に示す19-2は道路平面上に設定した代表点を表す。変換テーブル生成部10Dは、例えば、仮想視点投影を用いて、図19の19-2で表す各代表点に対応する立体投影面上の3次元座標を計算する。そして、変換テーブル生成部10Dは、道路平面上の離散的な代表点の座標と、対応する立体投影面上の3次元座標とを対応付けた変換テーブルを生成し、内部的なメモリに格納する。
 図20は、実施例3における変換テーブルに記述されるデータ形式の一例を示す図である。図20に示すように、変換テーブル生成部10Dは、道路平面上の離散的な代表点の座標と、対応する立体投影面上の3次元座標とを対応付けた変換テーブルを格納する。変換テーブル生成部10Dは、例えば、代表点ID「1」と、道路平面上座標値(x,y)と、3次元座標値(x,y,z)とを対応付けた変換テーブルを格納する。代表点IDは代表点に付与される識別子であり、道路平面上座標値は代表点の道路平面上の座標値であり、3次元座標値は代表点に対応する立体投影面上の3次元座標値である。
 図18に戻り、写像部20Gについて説明する。写像部20Gは、変換テーブルを参照して、ガイド線データ5Dに含まれるガイド線の頂点座標に対応する立体投影面上の3次元座標を補間計算により求める。そして、写像部20Gは、3次元ガイド線データD7を生成して格納する。
 そして、描画部20Dは、3次元ガイド線データD7を参照した3次元座標変換処理をリアルタイムに行って、車両1の予測進路の変更に応じて3次元のガイド線を変換し、立体投影面の描画と同時に3次元のガイド線を描画する。
 実施例3によれば、道路平面上のガイド線の位置を立体投影面上の3次元位置に写像し、3次元ガイド線データD7を計算により求めるよりも、少ない処理負荷で3次元ガイド線データD7を求めることができる。
 なお、実施例3では、図19に示すように、直交グリッドパターンを形成する直線の交点を代表点としたが、ガイド線を描画する範囲を網羅するものであればどのようなパターンでも採用することができる。また、図20に示すように、道路平面上の離散的な代表点の座標と、対応する立体投影面上の3次元座標とを対応付けた変換テーブルを生成したが、それらが導出できるものであれば別のパラメータでテーブルを作成してもよい。
 上述した実施例3では、道路平面上に設定した離散的な代表点の座標に対応する立体投影面上の3次元座標を記述したテーブルを予め作成しておく場合を説明した。ここで、例えば、全周囲映像の描画処理において視点位置が既知で固定の場合には、立体投影面上の3次元座標値ではなく、道路平面上に設定した離散的な代表点の座標に対応する表示画面の画面座標値を記述したテーブルを予め作成しておく。そして、このテーブルを用いて、表示画面の画面座標値、すなわち、表示用の画像フレームの座標値を用いて全周囲映像にガイド線を描画するようにしてもよい。
[画像処理装置の構成(実施例4)]
 図21は、実施例4に係る画像処理装置の構成を示す機能ブロック図である。実施例4に係る画像処理装置400は、テーブル生成部410が変換テーブル生成部10E、変換部10Fおよびデータセット生成部10Gを有する点が実施例3とは異なる。さらに、実施例4に係る画像処理装置400は、運転支援部420が写像部20Hおよび描画部20Iを有する点が実施例3とは異なる。
 変換テーブル生成部10Eは、道路平面上の座標に対応する表示画面の画面座標値を求めるためのテーブルを生成する。図22は、画面座標系を説明するための図である。図22に示すように、画面座標系は、全周囲映像を表示する表示下面の領域の左下を原点22-1とし、水平方向にX軸、垂直方向にY軸をとった座標系である。変換テーブル生成部10Eは、道路平面上の代表点の座標を立体投影面上の3次元座標に変換する。続いて、変換テーブル生成部10Eは、3次元グラフィクス処理を用いて、視点データD4による視点位置で該当の3次元座標を画面座標系に投影し、3次元座標に対応する画面座標値を求める。そして、変換テーブル生成部10Eは、道路平面上の座標値と、対応する表示画面の画面座標値とを対応付けた変換テーブルを生成して格納する。なお、変換テーブル生成部10Eは、各視点データD4に対応する視点位置ごとに変換テーブルをそれぞれ生成する。
 図23は、実施例4における変換テーブルに記述されるデータ形式の一例を示す図である。図23に示すように、変換テーブル生成部10Eは、道路平面上の座標と、対応する表示画面の画面座標とを対応付けた変換テーブルを格納する。変換テーブル生成部10Eは、例えば、代表点ID「1」と、道路平面上座標値(x,y)と、画面座標値(x,y)とを対応付けた変換テーブルを格納する。
 変換部10Fは、投影部10Bにより生成された投影データを、視点データD4による視点位置で画面座標系に投影した投影データD9を生成する。ここで、変換部10Fは、視点位置ごとに、投影部10Bにより生成された投影データを画面座標系に投影した投影データを予め生成して、視点位置ごとの投影データを記述したテーブルを格納しておいてもよい。なお、変換部10Fは、視点データD4による視点位置ごとに投影データD9をそれぞれ生成する。
 データセット生成部10Gは、変換テーブル生成部10Eにより生成された変換テーブルと、変換部10Fにより生成された投影データD9とを合わせたデータセットD8を生成して格納する。なお、データセットD8は、テーブル記憶部に記憶されるテーブルの一例である。
 選択部20Cは、決定した視点位置に対応する投影データD9をデータセットD8の中から取得して描画部20Iに送る。さらに、選択部20Cは、決定した視点位置に対応する変換テーブルを写像部20Hに送る。
 写像部20Hは、選択部20Cから送られた変換テーブルを参照して、ガイド線データD5に含まれるガイド線の頂点座標に対応する画面座標値を求める。そして、写像部20Hは、ガイド線の頂点座標に対応する画面座標値を含むガイド線データD10を生成して格納する。
 描画部20Iは、投影データD9およびガイド線データD10を参照した画面座標変換処理をリアルタイムに行う。そして、車両1の予測進路の変更に応じて、投影データD9を用いて画面座標系における全周囲画像を描画した後、画面座標系におけるガイド線を重畳描画する。
 実施例4によれば、視点位置ごとにデータセットD8を生成するので、視点位置が既知であれば、迅速な全周囲画像の描画処理を実行できる。
 なお、図23に示すように、道路平面上の座標と、対応する表示画面の画面座標とを対応付けた変換テーブルを生成したが、それらが導出できるものであれば別のパラメータでテーブルを作成してもよい。
 以下、本願の開示する画像処理装置および画像処理プログラムの他の実施形態を説明する。
(1)直接投影による全周囲画像の描画
 上述した実施例では、仮想視点投影により、立体投影面の位置と、この位置に射影される各カメラ画像上の位置と対応付けることにより対応関係を用いて、全周囲画像を作成する場合を説明した。ここで、例えば、仮想視点投影の代わりに、カメラの位置より立体投影面に直接に投影する直接投影により求めた対応関係を用いて、全周囲画像を作成することもできる。以下、図24を用いて説明する。図24の24-1は立体投影面を表す。
 図24は、直接投影により対応関係を求める方法を説明するための図である。例えば、上述した投影部10Bは、図24に示すように、立体投影面上のポリゴンの頂点PおよびPから、カメラ100Bへ向かうベクトルを入射光ベクトル「I」および「I」とする。続いて、上述した投影部10Bは、これらの入射光ベクトルが射影されるカメラ100Bの画像座標値「Q」および「Q」を、上述した実施例1と同様の方法で決定する。続いて、上述した投影部10Bは、立体投影面上のポリゴンの頂点PおよびP座標とカメラ100Bの画像座標値とを対応付けた対応関係を求める。上述した投影部10Bは、各カメラ画像について同様に処理を行い、例えば、図9に示すような対応関係を作成する。そして、上述した投影部10Bは、この対応関係に基づいて全周囲画像を描画する。このように、直接投影により求めた対応関係を用いて全周囲画像を描画することで、車両周辺の道路平面に近似できる部分では、作成される画像にカメラ画像間の視差の影響の少ない全周囲画像を作成できる。なお、ここでの投影部10Bは、画素位置特定部の一例である。
(2)直接投影によるガイド線の描画
 また、上述した実施例では、図15に示すような仮想視点投影を用いて、図16に示すような3次元ガイド線データD7を作成し、この3次元ガイド線データD7を元にガイド線を描画する場合を説明した。ここで、例えば、直接投影によりガイド線を描画することもできる。以下、図25を用いて説明する。図25の25-1は立体投影面を表す。
 図25は、直接投影により3次元のガイド線データを求める方法を説明するための図である。例えば、上述した写像部20Fは、カメラ100Bの撮像範囲内にガイド線を形成する線分の両頂点座標が含まれる場合には、図25に示すように、この線分に含まれるガイド線の頂点と該当するカメラ100Bの位置を結んだ線分を求める。続いて、上述した写像部20Fは、図25に示す線分と立体投影面25-1とが交わる交点の位置に3次元ガイド線の頂点を写像することで、この交点の座標を求める。上述した写像部20Fは、ガイド線の各頂点について写像を行い、例えば、図16に示すような3次元ガイド線データを作成する。そして、上述した写像部20Fは、3次元ガイド線データに基づいて、例えば、上述した(1)の方法で作成した全周囲画像にガイド線を重畳して描画する。このようにして、直接投影によりガイド線を描画することで、車両の全周囲を俯瞰した俯瞰画像にガイド線を描画するよりも、ユーザの運転支援に有益な広範囲にガイド線を描画できる。なお、ここでの写像部20Fは、ガイド線位置特定部の一例である。
(3)装置構成等
 例えば、図1に示した画像処理装置400の機能ブロックの構成は概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。例えば、図1に示したテーブル生成部410と運転支援部420とを機能的または物理的に統合してもよい。このように、画像処理装置400の機能ブロックの全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
(4)画像処理プログラム
 また、上述の実施例にて説明した画像処理装置400により実行される各種の処理は、例えば、車両1に搭載されるECU(Electronic Control Unit)に実装されたマイコンなどの電子機器で所定のプログラムを実行することによって実現することもできる。
 そこで、以下では、図26を用いて、上述の実施例にて説明した画像処理装置400により実行される処理と同様の機能を実現する画像処理プログラムを実行する電子機器の一例を説明する。図26は、画像処理プログラムを実行する電子機器の一例を示す図である。
 図26に示すように、画像処理装置400により実行される各種処理を実現する電子機器600は、各種演算処理を実行するCPU(Central Processing Unit)610を有する。また、図26に示すように、電子機器600は、カメラ画像を取得するためのカメラインターフェース620、ディスプレイとの間で各種データのやり取りを行うためのディスプレイインターフェース630を有する。また、図26に示すように、電子機器600は、カメラ画像を合成するハードウェアアクセラレータとして機能するグラフィックエンジン640を有する。
 また、図26に示すように、電子機器600は、CPU610により各種処理を実現するためのプログラムやデータ等を記憶するハードディスク装置650と、各種情報を一時記憶するRAM(Random Access Memory)などのメモリ660とを有する。そして、各装置610~660は、バス670に接続される。
 なお、CPU610の代わりに、例えば、MPU(Micro Processing Unit)などの電子回路、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路を用いることもできる。また、メモリ660の代わりに、フラッシュメモリ(flash memory)などの半導体メモリ素子を用いることもできる。
 ハードディスク装置650には、画像処理装置400の機能と同様の機能を発揮する画像処理プログラム651および画像処理用データ652が記憶されている。なお、この画像処理プログラム651を適宜分散させて、ネットワークを介して通信可能に接続された他のコンピュータの記憶部に記憶させておくこともできる。
 そして、CPU610が、画像処理プログラム651をハードディスク装置650から読み出してRAM660に展開することにより、図26に示すように、画像処理プログラム651は画像処理プロセス661として機能する。画像処理プロセス661は、ハードディスク装置650から読み出した画像処理用データ652等の各種データを適宜メモリ660上の自身に割当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。
 なお、画像処理プロセス661は、例えば、図1に示した画像処理装置400のテーブル生成部410や運転支援部420にて実行される処理を含む。
 なお、画像処理プログラム651については、必ずしも最初からハードディスク装置650に記憶させておく必要はない。例えば、電子機器600が実装されたECUへ対応ドライブを接続可能なフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、電子機器600がこれらから各プログラムを読み出して実行するようにしてもよい。
 さらには、公衆回線、インターネット、LAN、WANなどを介して、電子機器600が実装されたECUに接続される「他のコンピュータ(またはサーバ)」などに各プログラムを記憶させておく。そして、電子機器600がこれらから各プログラムを読み出して実行するようにしてもよい。
 1 車両
 100F、100B、100R、100L カメラ
 200 ギアポジションセンサ
 300 画像表示部
 400 画像処理装置
 410 テーブル生成部
 420 運転支援部
 500 車輪角センサ
 600 電子機器
 610 CPU
 620 カメラインターフェース
 630 ディスプレイインターフェース
 640 グラフィックエンジン
 650 ハードディスク装置
 651 画像処理プログラム
 652 画像処理用データ
 660 RAM
 661 画像処理プロセス

Claims (5)

  1.  車両に搭載され、被写領域が一部重複する複数のカメラによりそれぞれ撮影されたカメラ画像を取得する取得部と、
     平面の底面を有する無限円半球である仮想投影面の該底面上で、前記取得される各カメラ画像のうちカメラの設置位置と角度とから求められる地平線より下の画像の各画素の位置を特定するとともに、前記仮想投影面の半球面上で、前記各カメラ画像のうち前記地平線より上の画像の各画素の位置を特定する第1の特定部と、
     前記車両の位置を中心とする立体形状を有する立体投影面上で、前記仮想投影面上で特定した各カメラの画素の位置を特定する第2の特定部と、
     所定の視点位置に基づいて前記立体投影面上で特定された各カメラの画素の位置に対応する表示用の画像フレーム上の位置をそれぞれ特定し、該特定した各位置に、対応するカメラの画素の値を描画する描画部と
     を有することを特徴とする画像処理装置。
  2.  前記車両の車輪の角度に基づいて算出したガイド線の位置を前記立体投影面上で特定する第3の特定部をさらに有し、
     前記描画部は、前記立体投影面上で特定されたガイド線の位置に対応する画像フレーム上の位置をそれぞれ特定し、特定した各位置に基づいて、該ガイド線を描画することを特徴とする請求項1に記載の画像処理装置。
  3.  前記所定の視点位置は複数であって、該複数の所定の視点位置ごとに、前記立体投影面上で特定された前記ガイド線の位置と前記画像フレーム上の位置とを対応づけるテーブルをそれぞれ記憶するテーブル記憶部をさらに有し、
     前記描画部は、前記所定の視点位置に対応する前記テーブルに基づいて、前記立体投影面上で特定されたガイド線の位置に対応する画像フレーム上の位置をそれぞれ特定し、特定した各位置に基づいて、該ガイド線を描画することを特徴とする請求項2に記載の画像処理装置。
  4.  車両に搭載され、被写領域が一部重複する複数のカメラによりそれぞれ撮影されたカメラ画像を取得する取得部と、
     前記車両の位置を中心とする立体形状を有する立体投影面上で各カメラの画素の位置を特定する画素位置特定部と、
     前記車両の車輪の角度に基づいて算出したガイド線の位置を前記立体投影面上で特定するガイド線位置特定部と
     所定の視点位置に基づいて、前記立体投影面上で特定された各カメラの画素の位置に対応する画像フレーム上の位置をそれぞれ特定し、該特定した各位置に、対応するカメラの画素の値を描画するとともに、前記立体投影面上で特定されたガイド線の位置に対応する画像フレーム上の位置をそれぞれ特定し、特定した各位置に基づいて、該ガイド線を描画する描画部と
     を有することを特徴とする画像処理装置。
  5.  コンピュータに、
     車両に搭載され、被写領域が一部重複する複数のカメラによりそれぞれ撮影されたカメラ画像を取得し、
     平面の底面を有する無限円半球である仮想投影面の該底面上で、前記取得された各カメラ画像のうちカメラの設置位置と角度とから求められる地平線より下の画像の各画素の位置を特定するとともに、前記仮想投影面の半球面上で、前記各カメラ画像のうち前記地平線より上の画像の各画素の位置を特定し、
     前記車両の位置を中心とする立体形状を有する立体投影面上で、前記仮想投影面上で特定した各カメラの画素の位置を特定し、
     所定の視点位置に基づいて、前記立体投影面上で特定された各カメラの画素の位置に対応する画像フレーム上の位置をそれぞれ特定し、該特定した各位置に、対応するカメラの画素の値を描画する
     処理を実行させることを特徴とする画像処理プログラム。
PCT/JP2010/063426 2010-08-06 2010-08-06 画像処理装置および画像処理プログラム WO2012017560A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2010/063426 WO2012017560A1 (ja) 2010-08-06 2010-08-06 画像処理装置および画像処理プログラム
JP2012527527A JP5500255B2 (ja) 2010-08-06 2010-08-06 画像処理装置および画像処理プログラム
US13/752,741 US8817079B2 (en) 2010-08-06 2013-01-29 Image processing apparatus and computer-readable recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/063426 WO2012017560A1 (ja) 2010-08-06 2010-08-06 画像処理装置および画像処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/752,741 Continuation US8817079B2 (en) 2010-08-06 2013-01-29 Image processing apparatus and computer-readable recording medium

Publications (1)

Publication Number Publication Date
WO2012017560A1 true WO2012017560A1 (ja) 2012-02-09

Family

ID=45559090

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/063426 WO2012017560A1 (ja) 2010-08-06 2010-08-06 画像処理装置および画像処理プログラム

Country Status (3)

Country Link
US (1) US8817079B2 (ja)
JP (1) JP5500255B2 (ja)
WO (1) WO2012017560A1 (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014085925A (ja) * 2012-10-25 2014-05-12 Fujitsu Ltd 画像処理装置、方法、及びプログラム
EP2863365A2 (en) 2013-10-09 2015-04-22 Fujitsu Limited Image processing apparatus and method
EP2892230A4 (en) * 2012-08-30 2015-09-02 Fujitsu Ltd IMAGE PROCESSING DEVICE, IMAGE PROCESSING AND PROGRAM
JP2016535377A (ja) * 2013-10-02 2016-11-10 コンティ テミック マイクロエレクトロニック ゲゼルシャフト ミット ベシュレンクテル ハフツングConti Temic microelectronic GmbH 車両の周辺部を表示するための方法と装置、並びに、ドライバー・アシスタント・システム
JP2017536717A (ja) * 2014-09-17 2017-12-07 インテル コーポレイション ボウル型イメージングシステムにおけるオブジェクト視覚化
DE102017112188A1 (de) 2016-06-06 2017-12-07 Aisin Seiki Kabushiki Kaisha Bildverarbeitungseinrichtung für ein Fahrzeug
JP2019054439A (ja) * 2017-09-15 2019-04-04 アイシン精機株式会社 画像処理装置
WO2020136929A1 (ja) * 2018-12-27 2020-07-02 クラリオン株式会社 画像処理装置及び画像処理方法
DE112021002978T5 (de) 2020-05-28 2023-03-09 Panasonic Intellectual Property Management Co., Ltd. Anzeigesteuervorrichtung, fahrzeug und anzeigesteuerverfahren
JP7397262B2 (ja) 2016-01-06 2023-12-13 テキサス インスツルメンツ インコーポレイテッド 事前定義されたビューポイントルックアップテーブルを用いるサラウンドビューのための3次元レンダリング
WO2023243310A1 (ja) * 2022-06-17 2023-12-21 株式会社デンソー 画像処理システム、画像処理装置、画像処理方法、画像処理プログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130084720A (ko) * 2012-01-18 2013-07-26 삼성전기주식회사 영상 처리 장치 및 방법
CN104385987B (zh) * 2014-11-14 2017-01-11 东风汽车有限公司 一种汽车监控方法及系统
CN105635635A (zh) 2014-11-19 2016-06-01 杜比实验室特许公司 调节视频会议系统中的空间一致性
KR102458339B1 (ko) * 2015-08-07 2022-10-25 삼성전자주식회사 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법
JP6575445B2 (ja) * 2015-09-30 2019-09-18 アイシン精機株式会社 車両用画像処理装置
US10434877B2 (en) * 2016-05-05 2019-10-08 Via Technologies, Inc. Driver-assistance method and a driver-assistance apparatus
CN106961585B (zh) * 2016-05-05 2019-11-05 威盛电子股份有限公司 行车辅助方法及装置
US10937665B2 (en) * 2016-09-30 2021-03-02 Intel Corporation Methods and apparatus for gettering impurities in semiconductors
JP6816436B2 (ja) * 2016-10-04 2021-01-20 アイシン精機株式会社 周辺監視装置
KR102503342B1 (ko) * 2017-01-10 2023-02-28 삼성전자주식회사 스테레오 스코픽 비디오 콘텐츠를 전송하기 위한 방법 및 장치
CN108668108B (zh) * 2017-03-31 2021-02-19 杭州海康威视数字技术股份有限公司 一种视频监控的方法、装置及电子设备
CN114667540A (zh) * 2019-11-21 2022-06-24 奇购视觉有限公司 物品识别及追踪系统
US11718320B1 (en) * 2020-08-21 2023-08-08 Aurora Operations, Inc. Using transmission sensor(s) in localization of an autonomous vehicle

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002083284A (ja) * 2000-06-30 2002-03-22 Matsushita Electric Ind Co Ltd 描画装置
JP2010128951A (ja) * 2008-11-28 2010-06-10 Fujitsu Ltd 画像処理装置、画像処理方法及びコンピュータプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850352A (en) * 1995-03-31 1998-12-15 The Regents Of The University Of California Immersive video, including video hypermosaicing to generate from multiple video views of a scene a three-dimensional video mosaic from which diverse virtual video scene images are synthesized, including panoramic, scene interactive and stereoscopic images
US6369701B1 (en) 2000-06-30 2002-04-09 Matsushita Electric Industrial Co., Ltd. Rendering device for generating a drive assistant image for drive assistance
JP2003009039A (ja) * 2001-06-27 2003-01-10 Namco Ltd 画像表示装置、画像表示方法、情報記憶媒体および画像表示プログラム
JP4907883B2 (ja) 2005-03-09 2012-04-04 株式会社東芝 車両周辺画像表示装置および車両周辺画像表示方法
JP2008077628A (ja) * 2006-08-21 2008-04-03 Sanyo Electric Co Ltd 画像処理装置並びに車両周辺視界支援装置及び方法
JP4900326B2 (ja) 2008-06-10 2012-03-21 日産自動車株式会社 駐車支援装置及び駐車支援方法
JP2010068059A (ja) * 2008-09-08 2010-03-25 Sp Forum Inc 映像データ生成プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002083284A (ja) * 2000-06-30 2002-03-22 Matsushita Electric Ind Co Ltd 描画装置
JP2010128951A (ja) * 2008-11-28 2010-06-10 Fujitsu Ltd 画像処理装置、画像処理方法及びコンピュータプログラム

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2892230A4 (en) * 2012-08-30 2015-09-02 Fujitsu Ltd IMAGE PROCESSING DEVICE, IMAGE PROCESSING AND PROGRAM
US9436986B2 (en) 2012-08-30 2016-09-06 Fujitsu Limited Image processing apparatus and image processing method
JP2014085925A (ja) * 2012-10-25 2014-05-12 Fujitsu Ltd 画像処理装置、方法、及びプログラム
US9478061B2 (en) 2012-10-25 2016-10-25 Fujitsu Limited Image processing apparatus and method that synthesizes an all-round image of a vehicle's surroundings
US9633266B2 (en) 2012-10-25 2017-04-25 Fujitsu Limited Image processing apparatus and method that synthesizes an all-round image of a vehicle's surroundings
EP3282419A1 (en) 2012-10-25 2018-02-14 Fujitsu Limited Image processing apparatus and method
JP2016535377A (ja) * 2013-10-02 2016-11-10 コンティ テミック マイクロエレクトロニック ゲゼルシャフト ミット ベシュレンクテル ハフツングConti Temic microelectronic GmbH 車両の周辺部を表示するための方法と装置、並びに、ドライバー・アシスタント・システム
EP2863365A2 (en) 2013-10-09 2015-04-22 Fujitsu Limited Image processing apparatus and method
JP2017536717A (ja) * 2014-09-17 2017-12-07 インテル コーポレイション ボウル型イメージングシステムにおけるオブジェクト視覚化
JP7397262B2 (ja) 2016-01-06 2023-12-13 テキサス インスツルメンツ インコーポレイテッド 事前定義されたビューポイントルックアップテーブルを用いるサラウンドビューのための3次元レンダリング
JP2017220760A (ja) * 2016-06-06 2017-12-14 アイシン精機株式会社 車両用画像処理装置
CN107465890A (zh) * 2016-06-06 2017-12-12 爱信精机株式会社 车辆的图像处理装置
US10467789B2 (en) 2016-06-06 2019-11-05 Aisin Seiki Kabushiki Kaisha Image processing device for vehicle
CN107465890B (zh) * 2016-06-06 2021-03-12 爱信精机株式会社 车辆的图像处理装置
DE102017112188A1 (de) 2016-06-06 2017-12-07 Aisin Seiki Kabushiki Kaisha Bildverarbeitungseinrichtung für ein Fahrzeug
JP2019054439A (ja) * 2017-09-15 2019-04-04 アイシン精機株式会社 画像処理装置
JP7013751B2 (ja) 2017-09-15 2022-02-01 株式会社アイシン 画像処理装置
WO2020136929A1 (ja) * 2018-12-27 2020-07-02 クラリオン株式会社 画像処理装置及び画像処理方法
DE112021002978T5 (de) 2020-05-28 2023-03-09 Panasonic Intellectual Property Management Co., Ltd. Anzeigesteuervorrichtung, fahrzeug und anzeigesteuerverfahren
US11823467B2 (en) 2020-05-28 2023-11-21 Panasonic Intellectual Property Management Co., Ltd. Display control apparatus, vehicle, and display control method
WO2023243310A1 (ja) * 2022-06-17 2023-12-21 株式会社デンソー 画像処理システム、画像処理装置、画像処理方法、画像処理プログラム

Also Published As

Publication number Publication date
JP5500255B2 (ja) 2014-05-21
US8817079B2 (en) 2014-08-26
JPWO2012017560A1 (ja) 2013-09-19
US20130141547A1 (en) 2013-06-06

Similar Documents

Publication Publication Date Title
JP5500255B2 (ja) 画像処理装置および画像処理プログラム
JP7245295B2 (ja) 車両・被牽引車両コンビの周辺シーンを表示するための方法、並びに、装置
JP6310652B2 (ja) 映像表示システム、映像合成装置及び映像合成方法
JP6311020B2 (ja) 映像合成システムとそのための映像合成装置及び映像合成方法
JP5455124B2 (ja) カメラ姿勢パラメータ推定装置
EP2437494B1 (en) Device for monitoring area around vehicle
JP5739584B2 (ja) 車両周辺視角化のための3次元映像合成装置およびその方法
JP5668857B2 (ja) 画像処理装置、画像処理方法および画像処理プログラム
US9030524B2 (en) Image generating apparatus, synthesis table generating apparatus, and computer readable storage medium
JP6079131B2 (ja) 画像処理装置、方法、及びプログラム
TWI320756B (ja)
CN107465890B (zh) 车辆的图像处理装置
JP5481337B2 (ja) 画像処理装置
JP2011182236A (ja) カメラキャリブレーション装置
JP6276719B2 (ja) 画像生成装置、座標変換テーブル作成装置および作成方法
JPWO2006087993A1 (ja) 周辺監視装置および周辺監視方法
CN113490879A (zh) 使用实时光线跟踪以用于透镜重新映射
JP2010171914A (ja) 画像データ変換装置
WO2018235300A1 (ja) 物体検知装置、物体検知方法、及びコンピュータ読み取り可能な記録媒体
JP2020107089A (ja) 画像処理装置及び画像処理方法
JP6582557B2 (ja) 描画装置、描画方法および描画プログラム
JP2019504414A (ja) 車両の周囲の正面の光景を表示する方法及びデバイス並びにそれぞれの車両
JP7074546B2 (ja) 画像処理装置および方法
JP6734136B2 (ja) 画像処理装置
Meng et al. Embedded GPU 3D panoramic viewing system based on virtual camera roaming 3D environment

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012527527

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10855649

Country of ref document: EP

Kind code of ref document: A1