WO2014033886A1 - 画像処理装置、画像処理方法、及びプログラム - Google Patents
画像処理装置、画像処理方法、及びプログラム Download PDFInfo
- Publication number
- WO2014033886A1 WO2014033886A1 PCT/JP2012/072081 JP2012072081W WO2014033886A1 WO 2014033886 A1 WO2014033886 A1 WO 2014033886A1 JP 2012072081 W JP2012072081 W JP 2012072081W WO 2014033886 A1 WO2014033886 A1 WO 2014033886A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- pixel
- correction value
- value
- captured
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims 7
- 239000002131 composite material Substances 0.000 claims abstract description 76
- 238000004364 calculation method Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 50
- 238000003384 imaging method Methods 0.000 claims description 4
- 230000015572 biosynthetic process Effects 0.000 claims description 3
- 238000003786 synthesis reaction Methods 0.000 claims description 3
- 235000019557 luminance Nutrition 0.000 claims 9
- 239000000203 mixture Substances 0.000 abstract description 36
- 230000006870 function Effects 0.000 description 13
- 238000013500 data storage Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 230000002194 synthesizing effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 240000004050 Pentaglottis sempervirens Species 0.000 description 1
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
- G06T5/92—Dynamic range modification of images or parts thereof based on global image properties
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20208—High dynamic range [HDR] image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Definitions
- the embodiments discussed herein relate to image processing techniques.
- in-vehicle cameras installed at each of the front, rear, left, and right parts of the vehicle have a front camera image 1F, a rear camera image 1B, a left camera image 1L, and a right camera image 1R as illustrated in FIG.
- the four images are taken.
- the driving support system synthesizes these captured images 1 and creates and displays an image as if the surroundings of the vehicle were seen from above the vehicle, as illustrated as an overhead image 2 in FIG. To do.
- front camera image area 2F, the rear camera image area 2B, the left camera image area 2L, and the right camera image area 2R in the overhead image 2 are respectively the front camera image 1F, the rear camera image 1B, the left camera image 1L, and The partial area in the right camera image 1R is deformed.
- a luminance difference occurs between the captured images 1 of each camera, and each captured image 1 in the composite image is displayed.
- a discontinuous portion due to a difference in luminance may occur at the boundary of the region.
- discontinuous portions are represented at the boundary portions of the front camera image region 2F, the rear camera image region 2B, the left camera image region 2L, and the right camera image region 2R, which are represented by bold lines in the overhead view image 2. May occur.
- the luminance of the captured image 1 obtained by each camera is corrected based on the pixel value of the image region for the overlapping portion of the visual field between the cameras. do it.
- Several such techniques are known.
- a brightness correction image is temporarily created using a correction coefficient calculated based on a pixel value of an image region for an overlapping portion of an input image, and a composite image is created from the correction image.
- a technique for reducing the discontinuity at the boundary is known.
- viewpoint conversion is first performed on the input image for each camera, correction is performed by estimating the correction coefficient of the overlapping region on the image after viewpoint conversion, and the corrected image is synthesized. The technique of doing is known (for example, see Patent Documents 1 to 4).
- correction of a captured image or a viewpoint-converted image for each camera is performed to complete creation of a corrected image, and then the corrected image is synthesized.
- an image memory for storing a corrected image is used in addition to an image memory for holding a captured image or a viewpoint-converted image and a composite image.
- the captured image or viewpoint-converted image capture processing, luminance correction processing, and image composition processing performed in this image processing are sequential processing.
- the brightness correction process is a process performed on all the pixels constituting the captured image or the viewpoint conversion image, and the image synthesis process is started after the brightness correction process on all the pixels is completed. The For this reason, when such image processing is performed, the latency from image acquisition by the camera to display of the composite image becomes long. In a driving support device in which driving safety is desired, this latency is preferably short.
- the correction value cannot be calculated until the creation of the composite image is completed, so that the latency from the image acquisition by the camera to the display of the composite image becomes long. Further, for example, when the viewpoint position of the composite image is changed, the positional relationship corresponding to the boundary portion of the image captured by the camera in the composite image changes, so there is no change in luminance in the image captured by each camera. However, the correction value is calculated again.
- an image processing apparatus described later in this specification provides a new synthesis method for eliminating a luminance difference between captured images between cameras and obtaining a continuous surrounding image.
- the image processing apparatus described later in this specification generates a composite image in which an object is viewed from an arbitrary viewpoint from a plurality of captured images obtained by imaging different directions around the object.
- One of the image processing apparatuses includes a calculation unit, a storage unit, and a synthesis unit.
- the calculation unit calculates a correction value for the pixel values of some of the pixels constituting the captured image based on the luminance of each of the plurality of captured images.
- the storage unit stores the correction value calculated by the calculation unit for each pixel described above.
- combination part produces
- the compositing unit determines the pixel value of the pixel on the entire surrounding image, the pixel value of the pixel constituting the captured image, the positional relationship of the pixel on the captured image, and the correspondence relationship between the captured image and the composite image. And correction based on the correction value stored in the storage unit.
- FIG. 1 is a block diagram illustrating the configuration of an embodiment of a driving support system. It is explanatory drawing of the example of installation of a vehicle-mounted camera. It is the figure which illustrated the example of the shape of a stereo projection surface. It is an example of the captured image stored in the input image frame buffer. It is an example of the data structure of a vertex data table. It is an example of the data structure of a polygon data table. It is an example of a synthesized image. It is explanatory drawing (the 1) of the procedure of the production
- generation of a brightness correction table It is an example of the data structure of a brightness correction table. It is explanatory drawing (the 1) of the image composition process accompanied by the brightness correction of a captured image. It is explanatory drawing (the 2) of the image composition process accompanied by the brightness correction of a captured image. It is explanatory drawing (the 3) of the image composition process accompanied by the brightness correction of a captured image. It is a hardware structural example of a computer. It is the flowchart which illustrated the processing content of the control processing performed in a computer.
- FIG. 3 is a block diagram illustrating the configuration of an embodiment of the driving support system.
- This driving support system is configured by connecting four cameras to the image processing apparatus 10.
- the four cameras namely the front camera 3F, the rear camera 3B, the left camera 3L, and the right camera 3R, are illustrated in FIG. 4, respectively, as shown in FIG. Installed in the department.
- the front camera 3F, the rear camera 3B, the left camera 3L, and the right camera 3R image different directions around the vehicle 4, which is an example of the object, that is, the front-rear and left-right directions.
- a captured image 1 as illustrated in FIG. 1, that is, a front camera image 1F, a rear camera image 1B, a left camera image 1L, and a right camera image 1R are obtained.
- cameras 3 In the following description, these four cameras are collectively referred to as “camera 3” unless it is necessary to distinguish between them.
- the image processing apparatus 10 generates and displays an image including a video around the vehicle 4 when the vehicle 4 is viewed from an arbitrary viewpoint from the captured image 1 described above. In the following description, this image is referred to as a “composite image”.
- the image processing apparatus 10 includes an input image frame buffer 11, a luminance correction table generation unit 12, a luminance correction table storage unit 13, a projection plane data storage unit 14, a viewpoint position determination unit 15, an image composition unit 16, and an image display unit 17. I have.
- the input image frame buffer 11 is an image memory for storing the captured image 1 output from each of the cameras 3.
- the brightness correction table generation unit 12 refers to the captured image 1 stored in the input image frame buffer 11 and sets correction values for the pixel values of some of the pixels constituting the captured image 1 for each captured image 1. Calculation based on the luminance is performed to generate a luminance correction table, which will be described later.
- the luminance correction table storage unit 13 is a memory that stores the luminance correction table generated by the luminance correction table generation unit 12.
- the luminance correction table is generated by the luminance correction table generation unit 12 every time the input image frame buffer 11 is updated, that is, for example, a captured image is stored in the input image frame buffer 11 at a frequency of 30 frames per second from each of the cameras 3. You may make it carry out whenever it is done. However, in general, the difference in brightness between the cameras 3 of the captured image 1 does not change drastically. Instead of doing this, the brightness correction table generation unit 12 performs less frequently, for example, every 30 frames. A luminance correction table may be generated. In this case, the luminance correction table storage unit 13 holds the luminance correction table generated last.
- the projection plane data storage unit 14 is a memory in which data about a projection plane on which the captured image 1 is projected in the composite image generation process is stored in advance.
- the viewpoint position determination unit 15 determines from which viewpoint position the synthesized image is to be viewed from.
- the determination of the viewpoint position may be performed, for example, by selection from positions registered in advance. Further, it may be dynamically calculated according to the operation amount of the vehicle 4 such as steering, accelerator, gear position, and brake.
- the decision to change the viewpoint position discretely may be made, or the decision to change continuously between different viewpoint positions may be made.
- the image composition unit 16 generates a composite image by correcting the pixel values of the pixels constituting the captured image 1 and obtaining the pixel values of the pixels on the composite image corresponding to the pixels.
- the correction of the pixel value of the pixel constituting the captured image is stored in the positional relationship between the pixel on the captured image 1, the correspondence relationship between the captured image 1 and the composite image, and the brightness correction table storage unit 13. Is performed based on the correction value.
- the operation of the image composition unit 16 will be described in detail later.
- the image composition unit 16 generates the above-described composite image every time the input image frame buffer 11 is updated.
- the image display unit 17 displays the combined image combined by the image combining unit 16 and presents it to the driver of the vehicle 4.
- the driving support system of FIG. 3 is configured as described above.
- the image composition unit 16 generates a composite image by projecting the captured image 1 stored in the input image frame buffer 11 onto a stereoscopic projection plane defined in a three-dimensional space.
- FIG. 5 illustrates the shape of the stereoscopic projection plane used in the present embodiment in an X, Y, and Z orthogonal three-dimensional spatial coordinate system.
- the three-dimensional projection surface 5 approximates a road surface in the vicinity of the periphery of the vehicle 4 and is a polygon that approximates a polygon as a convex surface that rises upward as it moves away from the vehicle 4, that is, in the positive direction of the Z axis.
- the stereoscopic projection plane 5 is defined using quadrangular polygons.
- the vertices of each polygon defining the stereoscopic projection plane 5 are represented by coordinate values (X, Y, Z) in a three-dimensional space.
- the coordinate values of the vertices of each polygon are stored in advance in a vertex data table stored in the projection plane data storage unit 14.
- FIG. 6 is an example of the captured image 1 stored in the input image frame buffer 11.
- a rectangle corresponding to each polygon defining the stereoscopic projection plane 5 is displayed.
- the hatched polygon in the stereoscopic projection plane 5 illustrated in FIG. 5 corresponds to the hatched polygon displayed in the left camera image 1L in the captured image 1 in FIG. .
- the front camera image 1F, the rear camera image 1B, the left camera image 1L, and the right camera image 1R are arranged on an S and T orthogonal two-dimensional planar coordinate system as illustrated in FIG. It is arranged and stored in the input image frame buffer 11. Accordingly, the pixels constituting the captured image 1 are referred to by the coordinate values (S, T) representing the position of the pixels.
- the vertex data table described above further stores coordinates indicating the pixels of the captured image 1 that will be located at the vertices of each polygon when the captured image 1 is projected onto the three-dimensional projection plane 5 by image composition processing. Yes. That is, the vertex data table represents the correspondence between the captured image 1 and the composite image.
- FIG. 7 shows an example of the data structure of the vertex data table.
- “Vertex ID” stores a number for individually identifying the vertices of the polygon defining the stereoscopic projection plane 5. Further, in “vertex coordinates of the projection plane”, coordinate values in the XYZ space of the vertices specified by the “vertex ID” are stored. In the “coordinates of pixels of the captured image”, coordinate values on the ST plane of the pixels of the captured image 1 that are located at the vertices specified by the “vertex ID” are stored.
- the stereoscopic projection plane 5 is defined by a polygon formed by a combination of vertices registered in the vertex data table.
- the combination of vertices constituting each polygon is represented in a polygon data table stored in the projection plane data storage unit 14 together with the vertex data table.
- FIG. 8 shows an example of the data structure of the polygon data table.
- “polygon ID” stores a number for individually identifying each polygon defining the stereoscopic projection plane 5.
- the “vertex ID” stores the number in the “vertex ID” column in the vertex data table as information for identifying the vertices constituting the polygon specified by the “polygon ID”.
- the composite image is generated by drawing each polygon represented in the polygon data table, that is, each polygon defining the stereoscopic projection plane 5 at an arbitrary composite viewpoint position defined in the XYZ space. .
- This drawing process is a general three-dimensional graphics process.
- a texture polygon having a captured image 1 as a texture image, coordinates (S, T) as texture coordinates, and coordinate values (X, Y, Z) as polygon vertex coordinates.
- the image composition unit 16 performs the drawing process. By performing this drawing process, a composite image at the viewpoint position determined by the viewpoint position determination unit 15 is obtained.
- FIG. 9 is an example of a composite image created by the image composition unit 16 as described above, and this composite image is generated on a two-dimensional plane defined by the orthogonal U axis and V axis. .
- the image composition unit 16 performs the above-described image composition processing while correcting the luminance of the captured image 1. For this reason, in this embodiment, the luminance correction table is generated by the luminance correction table generation unit 12.
- the brightness correction table generation unit 12 applies the pixel values of the pixels located at the boundary between the two captured images 1 in the two captured images 1 that are adjacent in the generation of the composite image by the image composition unit 16. A correction value is calculated. More specifically, the brightness correction table generation unit 12 sets a value that sets the brightness of the pixels located at the boundary between the two captured images 1 as an average value of the brightness of each of the two captured images 1. Calculated as a correction value.
- FIG. 10 will be described.
- white square marks are attached to some of the vertices of the polygon in the captured image 1 on which the polygon is displayed as shown in FIG. 6.
- the pixel at the apex marked with this mark is a pixel located at the boundary between the two captured images 1 that are adjacent in the generation of the composite image by the image composition unit 16. In the following description, this pixel is referred to as a “boundary pixel”.
- the brightness correction table generation unit 12 calculates a value for making the brightness values of the boundary pixels equal as a correction value.
- the rear camera image 1B is adjacent to the right camera image 1R and the left camera image 1L.
- the average luminance value of each boundary pixel in the rear camera image 1B corresponding to each vertex that is located at the boundary between the rear camera image 1B and the right camera image 1R in the composite image is L B1 .
- the correction value for each boundary pixel is C B1 .
- the average luminance value of each boundary pixel in the right camera image 1R corresponding to each vertex is L R2
- the correction value for each boundary pixel is C R2 .
- the luminance correction table generation unit 12 uses the correction value when the average luminance value L BR of each boundary pixel in the composite image located at each vertex is the average value of the two average luminance values L B1 and L R2 described above. Calculated as C B1 and C R2 . That is, the luminance correction table generation unit 12 calculates correction values C B1 and C R2 that satisfy the following [Equation 1].
- the luminance correction table generation unit 12 calculates the correction values C B1 and C R2 by performing the calculation of the above equation [2].
- the average luminance value of each boundary pixel of the right camera image 1R and the previous camera image 1F corresponding to each vertex of the boundary between the right camera image 1R and the previous camera image 1F is set to L R1 and L F2 , respectively.
- correction values for the boundary pixels are C R1 and C F2 , respectively.
- the average luminance value of each boundary pixel of the front camera image 1F and the left camera image 1L corresponding to each vertex of the boundary between the front camera image 1F and the left camera image 1L is L F1 and L L2 , respectively.
- the correction values for the boundary pixels are C F1 and C L2 , respectively.
- the average luminance values of the respective boundary pixels of the left camera image 1L and the rear camera image 1B corresponding to the vertices of the boundary between the left camera image 1L and the rear camera image 1B are denoted by L L1 and L B2 , respectively.
- the correction values for the boundary pixels are C L1 and C B2 , respectively.
- the brightness correction table generation unit 12 calculates the following [Equation 3], [Equation 4], and [Equation 5] to generate a composite image, which is the boundary of the captured image 1.
- Correction values C R1 , C F2 , C F1 , C L2 , C L1 , and C B2 are calculated for the boundary pixels to be positioned.
- the brightness correction table generation unit 12 calculates a correction value for each pixel of the captured image 1 that is positioned at each vertex of the polygon defining the stereoscopic projection plane 5 on which the composite image is projected.
- the luminance correction table generation unit 12 uses the correction values C R1 , C F2 , and C F1 calculated as described above according to the positional relationship of the respective pixels in the XYZ space with respect to the boundary pixels.
- C L2 , C L1 , and C B2 are calculated by linear interpolation. This linear interpolation will be described with reference to FIG.
- a correction value Cn is calculated for the pixel of the left camera image 1L that will be located at the vertex Vn of the polygon.
- the vertex Va passes through a path from the vertex on the boundary between the left camera image 1 ⁇ / b> L and the rear camera image 1 ⁇ / b> B to reach the vertex Vn via each polygon side. Is the smallest number of sides.
- the vertex Vb is the number of sides that pass through the path from the vertex to the vertex Vn through the sides of each polygon among the vertices on the boundary between the left camera image 1L and the previous camera image 1F. The smallest one.
- correction values for boundary pixels respectively corresponding to the vertex Va and the vertex Vb in the left camera image 1L are Ca and Cb, respectively. It is assumed that the correction values Ca and Cb have already been calculated by the brightness correction table generating unit 12 performing the calculations of the above-described [Equation 5] and [Equation 4].
- the luminance correction table generation unit 12 calculates the correction value Cn by linearly interpolating the correction values Ca and Cb by calculating the following [Equation 6].
- D ab represents the shortest path length of the path from the vertex Va to the vertex Vb via each polygon side
- D nb represents each polygon from the vertex Vn. Represents the shortest path length of the path that reaches the vertex Vb via the side.
- the brightness correction table generation unit 12 calculates the correction value for each pixel of the captured image 1 that is positioned at each vertex of the polygon defining the stereoscopic projection plane 5 for each captured image 1. calculate.
- the luminance correction table generation unit 12 generates a luminance correction table by associating the vertex ID that identifies the pixel of the captured image 1 with the correction value calculated for the pixel.
- FIG. 12 shows an example of the data structure of the brightness correction table. As illustrated in FIG. 12, in the brightness correction table, “vertex ID” and “correction value” are associated with each other.
- the image composition unit 16 performs a known three-dimensional computer graphics process based on the viewpoint position determined by the viewpoint position determination unit 15 and performs a process of sequentially drawing all the polygons represented in the polygon data table. By doing so, a composite image is generated.
- the polygon ID of the i-th polygon to be drawn is Pi
- the vertex IDs of the four vertices constituting this polygon Pi are V i1 , V i2 , V i3 , and V i4 , respectively.
- the three-dimensional coordinates in the XYZ space coordinate system of these four vertices are represented in the vertex data table.
- the image composition unit 16 converts these four vertices defined in the XYZ space coordinate system into four points on the UV plane coordinate system by performing various geometric transformations such as visual field transformation, modeling transformation, and projection transformation. Is done.
- the four points after the conversion are designated as V i1 ′, V i2 ′, V i3 ′, and V i4 ′.
- the image composition unit 16 calculates a correction value C ik for the pixel located at the intersection V by the following [Equation 9].
- These correction values are stored in the luminance correction table for the vertex IDs of four vertices, that is, V i1 , V i2 , V i3 , and V i4 .
- the image synthesizing unit 16 calculates the [Equation 9] to calculate the intersection V of the correction value for each of the four vertices as a correction value to be used for correcting the pixel located at the intersection V. And a weighted average value according to the proximity of the distances between the four vertices.
- the image composition unit 16 calculates the pixel value G (u ik , v ik ) of the pixel located at the above-described point V (u ik , v ik ) on the UV plane coordinate system by the following [Equation 10] calculation. Go and ask.
- P (s ik , t ik ) is the pixel value of the pixel of the captured image 1 at the position of the coordinates (s ik , t ik ) on the ST plane coordinate system for the upper point. is there.
- the function Clip () is a function that rounds a pixel value as an argument to a predetermined number of bits. For example, when both G (u ik , v ik ) and P (s ik , t ik ) are represented by values of 8 bits for each of the RGB primary colors, the function Clip () is an argument. A process of rounding the pixel value to a value of 8 bits for each color of RGB is performed.
- the image composition unit 16 obtains the values of a and b when the formula [7] is established for the point V (u ik , v ik ), and uses the obtained values as the formulas [8] and [9]. Substituting into to calculate the formula. Then, with respect to the obtained coordinates (s ik , t ik ) and correction value C ik , the calculation of the formula [10] is performed, and the pixel value G (u ik ) of the pixel located at the point V (u ik , v ik ). , V ik ) to generate a composite image.
- the stereoscopic projection plane 5 is defined by a quadrilateral polygon. However, this definition may be performed using another polygon.
- the image composition unit 16 generates a composite image as follows.
- the polygon ID of the i-th polygon to be drawn is set to Pi, and the vertex IDs of the three vertices constituting this polygon Pi are set to V i1 , V i2 , and V i3 , respectively.
- the three-dimensional coordinates in the XYZ space coordinate system of these three vertices are represented in the vertex data table.
- V i1 ′ V i2 ′
- a point that internally divides one side of a triangular polygon formed by three vertices represented on the UV plane coordinate system into a first ratio, and a vertex that does not exist on the one side among the three vertices Note that the line segment connecting is internally divided into the second ratio. That is, in FIG. 15, a line segment connecting a vertex V i2 'and a point that internally divides the side V i1 ' V i3 'into a: (1-a) in the drawn triangle is represented by b: (1-b). Note the point V that internally divides.
- the coordinates (u ik , v ik ) of this point V are expressed by the following [Equation 11].
- the image composition unit 16 calculates a correction value C ik for the pixel located at the point V by the following [Equation 13].
- the values are stored in the vertex IDs of the three vertices, that is, V i1 , V i2 , and V i3 , respectively.
- the image synthesizing unit 16 performs the calculation of the formula [13] to obtain a correction value used for correcting the pixel located at the point V as a correction value for each of the three vertices. And a weighted average value corresponding to the proximity of the distances between the four vertices.
- the image composition unit 16 obtains the values of a and b when the formula [11] is established for the point V (u ik , v ik ), and uses the obtained values as the formulas [12] and [13]. Substituting into to calculate the formula. Then, with respect to the obtained coordinates (s ik , t ik ) and correction value C ik , the calculation of the above-mentioned [Equation 10] is performed, and the pixel value G () of the pixel located at the point V (u ik , v ik ) The composite image is generated by obtaining u ik , v ik ). By doing so, a composite image can be obtained even when the stereoscopic projection plane 5 is defined by a triangular polygon.
- the image processing apparatus 10 in the driving support system of FIG. 3 described above may be configured using a standard computer.
- FIG. 16 illustrates a hardware configuration example of a computer 20 that can be operated as the image processing apparatus 10.
- the computer 20 includes an MPU 21, a ROM 22, a RAM 23, a hard disk device 24, an input device 25, a display device 26, an interface device 27, and a recording medium driving device 28. Note that these components are connected via a bus line 29, and various data can be exchanged under the management of the MPU 21.
- the MPU (Micro Processing Unit) 21 is an arithmetic processing device that controls the operation of the entire computer 20.
- a ROM (Read Only Memory) 22 is a read-only semiconductor memory in which a predetermined basic control program is recorded in advance.
- the MPU 21 reads out and executes this basic control program when the computer 50 is started, thereby enabling operation control of each component of the computer 20.
- a memory such as a flash memory whose stored data is nonvolatile when power supply is stopped may be used.
- a RAM (Random Access Memory) 23 is a semiconductor memory that can be written and read at any time and used as a working storage area as necessary when the MPU 21 executes various control programs.
- the RAM 11 functions as the input image frame buffer 11 and the luminance correction table storage unit 13.
- the hard disk device 24 is a storage device that stores various control programs executed by the MPU 21 and various data.
- the MPU 21 reads out and executes a predetermined control program stored in the hard disk device 24, thereby enabling control processing to be described later.
- the hard disk device 24 also functions as the projection plane data storage unit 14. Note that the MPU 51 reads out the vertex data table and the polygon data table from the hard disk device 24 and stores them in the RAM 23 at the start of execution of a control process described later, so that the RAM 23 functions as the projection plane data storage unit 14. May be.
- the input device 25 is, for example, a keyboard device or a mouse device. When operated by a user of the computer 20, the input device 25 acquires input of various information from the user associated with the operation content, and acquires the acquired input information. Is sent to the MPU 21.
- the display device 26 is a liquid crystal display, for example, and displays various texts and images according to display data sent from the MPU 21.
- the display device 26 functions as the image display unit 17.
- the interface device 27 manages the exchange of various data with various devices connected to the computer 20.
- the interface device 27 is connected to the camera 3, for example, and receives the captured image 1 sent from the camera 3.
- the recording medium driving device 28 is a device that reads various control programs and data recorded on the portable recording medium 30.
- the MPU 21 can read out and execute a predetermined control program recorded on the portable recording medium 30 via the recording medium driving device 28 to perform various control processes described later.
- the portable recording medium 60 for example, a flash memory provided with a CD-ROM (Compact Disc Read Only Memory), DVD-ROM (Digital Versatile Disc Disc Read Only Memory), or USB (Universal Serial Bus) standard connector. and so on.
- a control program for causing the MPU 21 to perform each processing step of a control process described later is created.
- the created control program is stored in advance in the hard disk device 24 or the portable recording medium 30.
- a predetermined instruction is given to the MPU 21 to read and execute this control program.
- the MPU 21 functions as each unit included in the image processing apparatus 10 illustrated in FIG. 3, and the computer 50 can function as the image processing apparatus 10.
- FIG. 17 is a flowchart illustrating the processing contents of this control processing.
- the interface device 27 is controlled to acquire the captured image 1 sent from the camera 1, and the obtained captured image is stored in the RAM 23. Processing is performed by the MPU 21.
- the RAM 23 at this time functions as the input image frame buffer 11 in FIG.
- the MPU 21 performs a process of creating a brightness correction table.
- the MPU 21 uses the brightness of the pixels located at the boundary between the two captured images 1 in the two captured images 1 that are adjacent in the generation of the composite image to determine the brightness of the two captured images 1.
- a process of calculating a value as an average value of each luminance as a correction value is performed. That is, this process is a process in which the MPU 21 provides the above-described functions of the brightness correction table generation unit 12.
- the MPU 21 performs a process of storing the luminance correction table generated in the process of S102 in the RAM 23.
- the RAM 23 at this time functions as the luminance correction table storage unit 13 in FIG.
- the processing from S104 to S107 described below is processing in which the MPU 21 provides the above-described functions of the image composition unit 16.
- the MPU 21 performs a process of referring to the polygon data table of the polygon data table and the vertex data table stored in the hard disk device 24 or RAM 23 functioning as the projection plane data storage unit 14.
- the MPU 21 performs a process of acquiring data for polygons that have not yet been subjected to image composition processing.
- the vertex ID data of the vertices constituting the polygon is acquired from the polygon data table, and the coordinate data associated with the vertex ID is acquired from the vertex data table.
- the MPU 21 performs a process of calculating pixel values for all the pixels located in the polygon using the data about the polygon obtained by the process of S105. For example, when the three-dimensional projection surface 5 is defined by a quadrilateral polygon, this processing is performed by calculating each of the formulas [Formula 7], [Formula 8], [Formula 9], and [Formula 10]. This is a process of calculating pixel values of pixels located at all points in the polygon.
- the MPU 21 performs a process of determining whether or not the above-described process of S106 has been completed for all the polygons registered in the polygon data table.
- the MPU 21 determines that the processing has been completed for all the polygons (when the determination result is Yes)
- the MPU 21 advances the processing to S108.
- the process returns to S105, and the processes of S105 and S106 are performed for the unprocessed polygons. .
- the MPU 21 performs a process of causing the display device 26 to display the composite image generated by completing the process of S106 for all the polygons registered in the polygon data table.
- the display device 26 that displays a composite image by this processing functions as the image display unit 17. Thereafter, the MPU 21 returns the processing to S101, and performs the above-described processing on the captured image 1 of the next frame sent from the camera 3.
- the computer 20 operates as the image processing apparatus 10.
- the image processing apparatus 10 in FIG. 3 does not create a brightness correction image of a captured image
- the image processing apparatus 10 does not include a frame memory for storing the correction image, and the processing load for the creation is not high. Has been reduced. For example, if four NTSC (National Television System Committee) in-vehicle cameras are used to obtain 720 x 480 RGB 24 bit captured images, 4 MB of memory and 1.38 million pixel brightness per frame Correction processing is reduced.
- NTSC National Television System Committee
- the image processing apparatus 10 of FIG. 3 does not create a composite image before luminance correction, it does not have a frame memory for that purpose, and the processing load for the creation is reduced. For example, when four NTSC in-vehicle cameras are used and RGB 24-bit captured images of 720 ⁇ 480 pixels are obtained, 1 MB of memory is reduced.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
対象物を任意の視点から見た合成画像を、当該対象物の周囲の異なる方向を撮像して得られた複数の撮像画像から生成して、カメラ間の撮像画像の輝度差を解消して連続的な周囲画像を得るようにする。このために、画像処理装置に算出部、格納部、及び合成部を備える。算出部は、撮像画像を構成する一部の画素の画素値に対する補正値を、複数の撮像画像の各々の輝度に基づき算出する。格納部は、算出部により算出される補正値を上述の画素毎に格納する。合成部は、撮像画像を構成している画素に対応する合成画像上の画素の画素値を得ることによって、合成画像を生成する。なお、合成部は、合成画像上の画素の画素値を、撮像画像を構成している画素の画素値を、当該画素の撮像画像上の位置関係と、撮像画像と合成画像との対応関係と、格納部に格納されている補正値とに基づき補正することによって得る。
Description
本明細書で議論される実施態様は、画像処理技術に関するものである。
アラウンドビューモニタや全周囲立体モニタ等と称されている運転支援システムが知られている。このシステムは、車両に設置した複数の車載カメラで得られた車両の周囲の撮像画像を合成して車両周辺の画像を表示するものである。
このシステムでは、まず、車両の前後左右の各部に1台ずつ設置した車載カメラが、図1に例示するような、前カメラ画像1F、後カメラ画像1B、左カメラ画像1L、及び右カメラ画像1Rの4枚の画像を撮像する。すると、運転支援システムは、これらの撮像画像1を合成して、図2に俯瞰画像2として例示するような、車両の周囲を当該車両の上方から俯瞰したかのような画像を作成して表示する。なお、俯瞰画像2における前カメラ画像領域2F、後カメラ画像領域2B、左カメラ画像領域2L、及び右カメラ画像領域2Rは、それぞれ、前カメラ画像1F、後カメラ画像1B、左カメラ画像1L、及び右カメラ画像1Rにおける部分領域を変形したものである。
このシステムにおいて、各カメラが独立にAGC(Automatic Gain Control:自動利得制御)などの制御を行うと、各カメラでの撮像画像1の間に輝度差が生じ、合成画像における各々の撮像画像1の領域の境界に、輝度の違いによる不連続部分が発生することがある。図2の例では、俯瞰画像2において太線で表現されている、前カメラ画像領域2F、後カメラ画像領域2B、左カメラ画像領域2L、及び右カメラ画像領域2Rのそれぞれの境界部分に不連続部分が発生することがある。このような撮像画像1の間の輝度差を解消するには、例えば、各カメラが得た撮像画像1の輝度を、カメラ間での視野の重複部分についての画像領域の画素値に基づいて補正すればよい。このような技術が幾つか知られている。
例えば、第一の技術として、入力画像のうちの重複部分についての画像領域の画素値に基づいて算出される補正係数を用いて輝度補正画像を一旦作成し、この補正画像から合成画像を作成することで境界部の不連続性を軽減するという技術が知られている。また、例えば、第二の技術として、カメラ毎の入力画像に対する視点変換を先に行い、視点変換後の画像上で重複領域の補正係数を推定して補正を行い、その補正後の画像を合成するという技術が知られている(例えば、特許文献1~特許文献4参照)。
なお、他の背景技術として、車両の周囲に設けた複数台のカメラにより取得されたカメラ画像を合成して、仮想的な視点を任意に変更可能な全周囲画像を生成する技術が知られている(例えば、特許文献5参照)。
前述した第一及び第二の技術では、カメラ毎の撮像画像若しくは視点変換画像に対する補正を行って補正画像の作成を完了させてから、その補正画像の合成が行われる。このような画像処理を行う場合には、撮像画像若しくは視点変換画像と合成画像とをそれぞれ保持しておくための画像メモリに加えて、補正画像を格納するための画像メモリも使用される。また、この画像処理において行われる、撮像画像若しくは視点変換画像のキャプチャ処理と、輝度補正処理と、画像合成処理とは逐次処理になる。ここで、輝度補正処理は、撮像画像若しくは視点変換画像を構成する全ての画素に対して実施される処理であり、この全ての画素に対する輝度補正処理が完了してから、画像合成処理が開始される。このため、このような画像処理を行う場合には、カメラでの画像取得から合成画像の表示までのレイテンシが長くなってしまう。運転の安全が望まれる運転支援装置においては、このレイテンシは短いことが好ましい。
また、例えば、各カメラで得られた画像に対して輝度補正を行わずに合成画像を先に作成し、その後に当該合成画像に対して輝度補正を行う場合について考えてみる。この場合の合成画像には、輝度補正が行われていないため、カメラでの撮像画像の境界部分で輝度差を有している。この場合の画像処理では、合成画像を一旦完成させた後に、画素間の輝度差を解消するための補正値の算出が、合成画像を構成している画素の全てについて行われ、その後に合成画像の輝度補正が行われることとなる。従って、このような画像処理を行う場合には、輝度補正が行われていない合成画像を保持しておくための画像メモリが使用される。また、この画像処理では、合成画像の作成が完了するまで補正値の算出が行えないため、カメラでの画像の取得から合成画像の表示までのレイテンシが長くなる。また、例えば合成画像の視点位置を変更した場合には、合成画像においてのカメラでの撮像画像の境界部分に対応する位置の関係が変化するため、各カメラでの撮像画像に輝度の変化がなくても、補正値の算出をやり直すこととなる。
上述した問題に鑑み、本明細書で後述する画像処理装置は、カメラ間の撮像画像の輝度差を解消して連続的な周囲画像を得る新たな合成手法を提供する。
本明細書で後述する画像処理装置は、対象物を任意の視点から見た合成画像を、当該対象物の周囲の異なる方向を撮像して得られた複数の撮像画像から生成するものである。この画像処理装置のひとつに、算出部、格納部、及び合成部を備えるものがある。ここで、算出部は、撮像画像を構成する一部の画素の画素値に対する補正値を、複数の撮像画像の各々の輝度に基づき算出する。格納部は、算出部により算出される補正値を上述の画素毎に格納する。そして、合成部は、撮像画像を構成している画素に対応する合成画像上の画素の画素値を得ることによって、合成画像を生成する。なお、合成部は、全周囲画像上の画素の画素値を、撮像画像を構成している画素の画素値を、当該画素の撮像画像上の位置関係と、撮像画像と合成画像との対応関係と、格納部に格納されている補正値とに基づき補正することによって得る。
本明細書で後述する画像処理装置によれば、カメラ間の撮像画像の輝度差が解消されている連続的な周囲画像が得られるという効果を奏する。
まず図3について説明する。図3は、運転支援システムの一実施例の構成を図解したブロック図である。
この運転支援システムは、画像処理装置10に、4台のカメラが接続されて構成されている。
4台のカメラ、すなわち、前カメラ3F、後カメラ3B、左カメラ3L、及び右カメラ3Rは、図4に図解されているように、それぞれ、車両4の前部、後部、左側部、及び右側部に設置されている。前カメラ3F、後カメラ3B、左カメラ3L、及び右カメラ3Rは、対象物の一例である車両4の周囲の異なる方向、すなわち前後左右の各方向を撮像する。そして、それぞれ、図1に例示したような撮像画像1、すなわち、前カメラ画像1F、後カメラ画像1B、左カメラ画像1L、及び右カメラ画像1Rを得る。
なお、以下の説明では、特に区別する必要がない場合には、これら4台のカメラを「カメラ3」と総称するものとする。
画像処理装置10は、上述の撮像画像1から、車両4を任意の視点から見た、車両4の周辺の映像を含む画像を生成して表示するものである。なお、以下の説明では、この画像を「合成画像」と称することとする。
画像処理装置10は、入力画像フレームバッファ11、輝度補正テーブル生成部12、輝度補正テーブル格納部13、投影面データ格納部14、視点位置決定部15、画像合成部16、及び画像表示部17を備えている。
入力画像フレームバッファ11は、カメラ3の各々から出力される撮像画像1を格納する画像用メモリである。
輝度補正テーブル生成部12は、入力画像フレームバッファ11に格納されている撮像画像1を参照して、撮像画像1を構成する一部の画素の画素値に対する補正値を、撮像画像1の各々の輝度に基づき算出して、後述する輝度補正テーブルを生成する。
輝度補正テーブル格納部13は、輝度補正テーブル生成部12によって生成された輝度補正テーブルを格納するメモリである。
輝度補正テーブル生成部12による輝度補正テーブルの生成は、入力画像フレームバッファ11が更新される度、すなわち、例えば、カメラ3の各々から30毎秒フレームの頻度で撮像画像が入力画像フレームバッファ11に格納される度に行うようにしてもよい。但し、一般に、撮像画像1のカメラ3間での輝度の違いは激しく変化するものではないので、このようにする代わりに、より少ない頻度、例えば、30フレーム毎に、輝度補正テーブル生成部12による輝度補正テーブルの生成が行われるようにしてもよい。なお、このようにする場合には、輝度補正テーブル格納部13は、最後に生成された輝度補正テーブルを保持しておくようにする。
投影面データ格納部14は、合成画像の生成処理において撮像画像1の投影が行われる投影面についてのデータが予め格納されているメモリである。
視点位置決定部15は合成画像をどの視点位置から俯瞰したものとするかを決定する。この視点位置の決定は、例えば、予め登録されている位置からの選択により行うようにしてもよい。また、車両4のステアリング・アクセル・ギアポジション・ブレーキ等の操作量に応じて動的に算出するようにしてもよい。また、この視点位置を離散的に変更する決定を行うようにしてもよく、異なる視点位置間を連続的に変化させる決定を行うようにしてもよい。
画像合成部16は、撮像画像1を構成している画素の画素値を補正して当該画素に対応する合成画像上の画素の画素値を得ることによって、合成画像を生成する。この撮像画像を構成している画素の画素値の補正は、当該画素の撮像画像1上の位置関係と、撮像画像1と合成画像との対応関係と、輝度補正テーブル格納部13に格納されている補正値とに基づいて行われる。この画像合成部16の動作は、後に詳しく説明する。なお、画像合成部16は、入力画像フレームバッファ11が更新される度に、上述した合成画像の生成を行う。
画像表示部17は、画像合成部16によって合成された合成画像を表示して、車両4の運転者等に提示する。
図3の運転支援システムは以上のように構成されている。
図3の運転支援システムは以上のように構成されている。
次に、図3の画像処理装置10おける画像合成部16が行う画像合成処理について、更に詳細に説明する。
画像合成部16は、入力画像フレームバッファ11に格納されている撮像画像1を、三次元空間で定義された立体投影面に投影することによって、合成画像の生成を行う。
図5は、本実施例で使用する立体投影面の形状を、X、Y、及びZの直交三次元空間座標系に図解したものである。この立体投影面5は、車両4の周辺の近傍では路面に近似しており、車両4から離れるに従って上方、すなわちZ軸の正方向に立ち上がっている外に凸の面として、多角形近似したポリゴンにより定義されている。なお、図5の例では、四角形ポリゴンを用いて立体投影面5を定義している。
立体投影面5を定義している各ポリゴンの頂点は、三次元空間における座標値(X,Y,Z)で表されている。この各ポリゴンの頂点の座標値は、投影面データ格納部14に格納されている、頂点データテーブルに予め格納しておく。
また、図6は、入力画像フレームバッファ11に格納されている撮像画像1の例である。なお、図6の撮像画像1には、立体投影面5を定義している各ポリゴンに対応する矩形を表示している。例えば、図5に例示した立体投影面5において斜線が付されているポリゴンは、図6の撮像画像1における左カメラ画像1Lに表示されている、斜線が付されているポリゴンと対応している。
本実施例では、前カメラ画像1F、後カメラ画像1B、左カメラ画像1L、及び右カメラ画像1Rを、図6に図解されているように、S及びTの直交二次元平面座標系上に並べて配置して入力画像フレームバッファ11に格納しておくようにする。従って、撮像画像1を構成している画素は、当該画素の位置を表す座標値(S,T)によって参照される。
前述した頂点データテーブルには、画像合成処理によって撮像画像1を立体投影面5に投影したときに、各ポリゴンの頂点に位置することとなる撮像画像1の画素を示す座標が、更に格納されている。つまり、頂点データテーブルは、撮像画像1と合成画像との対応関係を表している。
図7は、頂点データテーブルのデータ構造の一例を表している。
図7において、「頂点ID」には、立体投影面5を定義しているポリゴンの頂点を個々に識別する番号が格納される。また、「投影面の頂点座標」には、「頂点ID」により特定される頂点のXYZ空間における座標値が格納される。そして、「撮像画像の画素の座標」は、「頂点ID」により特定される頂点に位置することとなる撮像画像1の画素のST平面における座標値が格納される。
図7において、「頂点ID」には、立体投影面5を定義しているポリゴンの頂点を個々に識別する番号が格納される。また、「投影面の頂点座標」には、「頂点ID」により特定される頂点のXYZ空間における座標値が格納される。そして、「撮像画像の画素の座標」は、「頂点ID」により特定される頂点に位置することとなる撮像画像1の画素のST平面における座標値が格納される。
なお、頂点データテーブルにより表される、各頂点のXYZ空間における座標値とST平面における座標値との関係は、車両4に設置されているカメラ3の設置位置及び視野の向き、並びにカメラ3の内部パラメータを用いて予め算出しておくようにする。なお、この算出の手法は公に知られており、例えば前掲した特許文献5でも説明されている。
立体投影面5は、頂点データテーブルに登録されている頂点の組み合わせにより構成されるポリゴンにより定義される。各ポリゴンを構成する頂点の組み合わせは、投影面データ格納部14に頂点データテーブルと共に格納されている、ポリゴンデータテーブルに表される。
図8は、ポリゴンデータテーブルのデータ構造の一例を表している。
図8において、「ポリゴンID」には、立体投影面5を定義している各ポリゴンを個々に識別する番号が格納される。また、「頂点ID」には、「ポリゴンID」により特定されるポリゴンを構成する頂点を識別する情報として、頂点データテーブルにおける「頂点ID」の欄の番号が格納される。
図8において、「ポリゴンID」には、立体投影面5を定義している各ポリゴンを個々に識別する番号が格納される。また、「頂点ID」には、「ポリゴンID」により特定されるポリゴンを構成する頂点を識別する情報として、頂点データテーブルにおける「頂点ID」の欄の番号が格納される。
合成画像の生成は、ポリゴンデータテーブルに表されている各ポリゴン、すなわち、立体投影面5を定義している各ポリゴンを、XYZ空間で定義された任意の合成視点位置で描画することによって行われる。この描画処理は一般的な三次元グラフィクス処理であり、撮像画像1をテクスチャ画像とし、座標(S,T)をテクスチャ座標とし、座標値(X,Y,Z)をポリゴン頂点座標としたテクスチャポリゴン描画処理を画像合成部16が行う。この描画処理が行われることによって、視点位置決定部15によって決定された視点位置における合成画像が得られる。図9は、画像合成部16によって以上のようにして作成される合成画像の一例であり、この合成画像は、直交しているU軸及びV軸によって定義される二次元平面上に生成される。
但し、本実施例では、画像合成部16は、撮像画像1の輝度補正を行いながら、上述した画像合成処理を行う。このために、本実施例では、輝度補正テーブル生成部12により輝度補正テーブルの生成が行われる。
次に、図3の画像処理装置10における輝度補正テーブル生成部12による輝度補正テーブルの生成の手順について説明する。
輝度補正テーブル生成部12は、まず、画像合成部16による合成画像の生成において隣接することとなる2枚の撮像画像1における、当該2枚の撮像画像1の境界に位置する画素の画素値に対する補正値を算出する。より具体的には、輝度補正テーブル生成部12は、当該2枚の撮像画像1の境界に位置する画素の輝度を、当該2枚の撮像画像1の各々の輝度の平均値とする値を、補正値として算出する。
まず図10について説明する。図10では、図6に提示した、ポリゴンが表示されている撮像画像1における当該ポリゴンの一部の頂点の画素に、白色の四角形の印が付されている。この印が付されている頂点の画素は、画像合成部16による合成画像の生成において隣接することとなる2枚の撮像画像1の境界に位置する画素である。以降の説明では、この画素を「境界画素」と称することとする。輝度補正テーブル生成部12は、この境界画素の輝度値を等しくする値を、補正値として算出する。
画像合成部16により生成される合成画像において、後カメラ画像1Bは、右カメラ画像1R及び左カメラ画像1Lと隣接することとなる。ここで、合成画像において後カメラ画像1Bと右カメラ画像1Rとの境界に位置することとなる各頂点に対応している、後カメラ画像1Bにおいての各境界画素の平均輝度値をLB1とし、この各境界画素に対する補正値をCB1とする。また、当該各頂点に対応している、右カメラ画像1Rにおいての各境界画素の平均輝度値をLR2とし、この各境界画素に対する補正値をCR2とする。
輝度補正テーブル生成部12は、この各頂点に位置する合成画像においての各境界画素の平均輝度値LBRを、上述した2つの平均輝度値LB1及びLR2の平均値としたときの補正値CB1及びCR2として算出する。すなわち、輝度補正テーブル生成部12は、下記の[数1]式を成立させる補正値CB1及びCR2を算出する。
この[数1]をCB1及びCR1について解くと下記の[数2]式が得られる。
つまり、輝度補正テーブル生成部12は、上記の[数2]式の計算を行って補正値CB1及びCR2を算出する。
同様に、右カメラ画像1Rと前カメラ画像1Fとの境界の各頂点に対応している、右カメラ画像1R及び前カメラ画像1Fの各々の各境界画素の平均輝度値をそれぞれLR1及びLF2とし、各境界画素に対する補正値をそれぞれCR1及びCF2とする。また、前カメラ画像1Fと左カメラ画像1Lとの境界の各頂点に対応している、前カメラ画像1F及び左カメラ画像1Lの各々の各境界画素の平均輝度値をそれぞれLF1及びLL2とし、各境界画素に対する補正値をそれぞれCF1及びCL2とする。更に、左カメラ画像1Lと後カメラ画像1Bとの境界の各頂点に対応している、左カメラ画像1L及び後カメラ画像1Bの各々の各境界画素の平均輝度値をそれぞれLL1及びLB2とし、各境界画素に対する補正値をそれぞれCL1及びCB2とする。このとき、輝度補正テーブル生成部12は、下記の[数3]式、[数4]式、及び[数5]式の計算を行って、合成画像を生成した場合に撮像画像1の境界に位置することとなる境界画素についての補正値CR1、CF2、CF1、CL2、CL1、及びCB2を算出する。
次に、輝度補正テーブル生成部12は、合成画像が投影される立体投影面5を定義しているポリゴンの各頂点に位置することとなる撮像画像1の各画素に対する補正値を算出する。輝度補正テーブル生成部12は、この補正値を、当該各画素についての、境界画素に対するXYZ空間での位置関係に応じて、上述のようにして算出された補正値CR1、CF2、CF1、CL2、CL1、及びCB2を線形補間することによって算出する。この線形補間について、図11を用いて説明する。
図11において、ポリゴンの頂点Vnに位置することとなる左カメラ画像1Lの画素に対する補正値Cnを算出する。
なお、図11において、頂点Vaは、左カメラ画像1Lと後カメラ画像1Bとの境界上の頂点のうちで、当該頂点を起点として各ポリゴンの辺を経て頂点Vnに到達する経路において経由することとなる辺の個数が最小のものである。頂点Vbは、左カメラ画像1Lと前カメラ画像1Fとの境界上の頂点のうちで、当該頂点を起点として各ポリゴンの辺を経て頂点Vnに到達する経路において経由することとなる辺の個数が最小のものである。なお、左カメラ画像1Lにおける頂点Va及び頂点Vbにそれぞれ対応している境界画素に対する補正値を、それぞれCa及びCbとする。この補正値Ca及びCbは、輝度補正テーブル生成部12が前掲の[数5]式及び[数4]式の計算を行うことによって、既に算出されているものとする。
この場合、輝度補正テーブル生成部12は、下記の[数6]式の計算を行うことによって、補正値Ca及びCbを線形補間して補正値Cnを算出する。
なお、[数6]式において、Dabは、頂点Vaを起点として各ポリゴンの辺を経て頂点Vbに到達する経路の最短経路長を表しており、Dnbは、頂点Vnを起点として各ポリゴンの辺を経て頂点Vbに到達する経路の最短経路長を表している。この[数6]式の計算行うことにより、立体投影面5の周方向の経路長に応じて滑らかに補間した各頂点の輝度補正値が得られる。
輝度補正テーブル生成部12は、以上のようにして、撮像画像1の各々について、立体投影面5を定義しているポリゴンの各頂点に位置することとなる撮像画像1の各画素に対する補正値を算出する。輝度補正テーブル生成部12は、撮像画像1の画素を特定する頂点IDと、当該画素について算出した補正値とを対応付けて、輝度補正テーブルを生成する。
図12は、輝度補正テーブルのデータ構造の一例を表している。図12に図解されているように、輝度補正テーブルでは、「頂点ID」と「補正値」とが対応付けられている。
次に、画像合成部16が、以上のようにして生成された輝度補正テーブルを用いることによって行う、撮像画像1の輝度補正を伴った画像合成処理について、図13を参照しながら説明する。
まず、画像合成部16は、視点位置決定部15により決定された視点位置に基づく周知の三次元コンピュータグラフィクス処理を実行して、ポリゴンデータテーブルに表されているポリゴンを全て順番に描画する処理を行うことによって、合成画像の生成を行う。
この描画の処理において、描画対象がi番目のポリゴンのポリゴンIDをPiとし、このポリゴンPiを構成する4つの頂点の頂点IDをそれぞれ、Vi1、Vi2、Vi3、及びVi4とする。これらの4つの頂点のXYZ空間座標系における三次元座標は、頂点データテーブルに表されている。画像合成部16は、視野変換、モデリング変換、投影変換などといった各種の幾何変換を施すことによって、XYZ空間座標系に定義されているこれら4つの頂点は、UV平面座標系上の4点に変換される。この変換後の4点をVi1’、Vi2’、Vi3’、及びVi4’とする。
ここで、頂点Vi1、Vi2、Vi3、及びVi4それぞれのXYZ空間座標系における三次元座標を(xij,yij,zij)(j=1,2,3,4)とする。また、これら4つの頂点の変換後のUV平面座標系上の点Vi1’、Vi2’、Vi3’、及びVi4’の座標を(uij,vij)(j=1,2,3,4)とする。図13は、この変換の様子を模式的に表したものである。
ここで、UV平面座標系上に表された4つの頂点により形成される四角形ポリゴンにおける、対向する2組の辺のうちの一方の組の2つの辺を共に第一の比率に内分する直線と他方の組の2つの辺を共に第二の比率に内分する直線との交点に注目する。すなわち、図14において、描かれている四角形で対向している辺Vi1’Vi4’及び辺Vi2’Vi3’を共にa:(1-a)に内分する直線と、対向している辺Vi2’Vi1’及び辺Vi3’Vi4’を共にb:(1-b)に内分する直線との交点Vに注目する。この交点Vの座標(uik,vik)は、下記の[数7]式で表される。
一方、このUV平面座標系での交点Vに対応している、撮像画像1上の点についてのST平面座標系上の座標(sik,tik)は、下記の[数8]式で表される。
なお、[数8]式において、(sij,tij)(j=1,2,3,4)は、ポリゴンPiを構成する4つの頂点に対応する、撮像画像1上での点についてのST平面座標系上の座標である。これらの座標値は、頂点データテーブルに、4つの頂点の頂点ID、すなわちVi1、Vi2、Vi3、及びVi4にそれぞれ対応付けられて格納されている。
また、画像合成部16は、交点Vに位置することとなる画素に対する補正値Cikを、下記の[数9]式により算出する。
なお、[数9]式において、Cij(j=1,2,3,4)は、前述の4つの頂点Vi1’、Vi2’、Vi3’、及びVi4’についての補正値である。これらの補正値は、輝度補正テーブルにおいて、4つの頂点の頂点ID、すなわちVi1、Vi2、Vi3、及びVi4について格納されている。画像合成部16は、この[数9]式の計算を行うことによって、交点Vに位置することとなる画素に対する補正に使用する補正値として、当該4つの各頂点についての補正値の、交点Vと当該4つの各頂点との距離の近さに応じた重み付け平均値を算出する。
画像合成部16は、UV平面座標系上の前述した点V(uik,vik)に位置する画素の画素値G(uik,vik)を、下記の[数10]式の計算を行って求める。
なお、[数10]式において、P(sik,tik)は、上の点についてのST平面座標系上の座標(sik,tik)の位置における撮像画像1の画素の画素値である。また、関数Clip()は、引数である画素値を、所定のビット数に丸める関数である。例えば、G(uik,vik)及びP(sik,tik)の両者が、光の三原色であるRGB各色8ビットずつの値で表される場合には、関数Clip()は、引数である画素値を、RGB各色8ビットずつの値に丸める処理を行う。
画像合成部16は、点V(uik,vik)について[数7]式が成立するときのa及びbの値を求め、得られた値を[数8]式及び[数9]式に代入して式の計算を行う。そして、得られた座標(sik,tik)及び補正値Cikについて、[数10]式の計算を行って点V(uik,vik)に位置する画素の画素値G(uik,vik)を求めることによって、合成画像を生成する。
なお、上述した実施例では、立体投影面5を四角形ポリゴンにより定義したが、この定義を、他のポリゴンを用いて行うようにしてもよい。例えば、立体投影面5を三角形ポリゴンで定義した場合には、画像合成部16は、以下のようにして合成画像の生成を行う。
まず、描画対象がi番目のポリゴンのポリゴンIDをPiとし、このポリゴンPiを構成する3つの頂点の頂点IDをそれぞれ、Vi1、Vi2、及びVi3とし、これらのXYZ空間座標系における三次元座標を(xij,yij,zij)(j=1,2,3)とする。これらの3つの頂点のXYZ空間座標系における三次元座標は頂点データテーブルに表されている。また、画像合成部16が各種の幾何変換を施したときの変換後のUV平面座標系上の3点をVi1’、Vi2’、及びVi3’とし、これらの座標を(uij,vij)(j=1,2,3)とする。
ここで、UV平面座標系上に表された3つの頂点により形成される三角形ポリゴンにおける1辺を第一の比率に内分する点と当該3つの頂点のうち当該1辺上に存在しない頂点とを結ぶ線分を、第二の比率に内分する点に注目する。すなわち、図15において、描かれている三角形における辺Vi1’Vi3’をa:(1-a)に内分する点と頂点Vi2’とを結ぶ線分をb:(1-b)に内分する点Vに注目する。この点Vの座標(uik,vik)は、下記の[数11]式で表される。
一方、このUV平面座標系での点Vに対応している、撮像画像1上の点についてのST平面座標系上の座標(sik,tik)は、下記の[数12]式で表される。
なお、[数12]式において、(sij,tij)(j=1,2,3)は、ポリゴンPiを構成する3つの頂点に対応する、撮像画像1上での点についてのST平面座標系上の座標である。これらの座標値は、頂点データテーブルに、3つの頂点の頂点ID、すなわちVi1、Vi2、及びVi3にそれぞれ対応付けられて格納されている。
また、画像合成部16は、点Vに位置することとなる画素に対する補正値Cikを、下記の[数13]式により算出する。
なお、[数13]式において、Cij(j=1,2,3)は、前述の3つの頂点Vi1’、Vi2’、及びVi3’についての補正値であり、輝度補正テーブルにおいて、3つの頂点の頂点ID、すなわちVi1、Vi2、及びVi3にそれぞれ格納されている値である。画像合成部16は、この[数13]式の計算を行うことによって、点Vに位置することとなる画素に対する補正に使用する補正値として、当該3つの各頂点についての補正値の、点Vと当該4つの各頂点との距離の近さに応じた重み付け平均値を算出する。
画像合成部16は、点V(uik,vik)について[数11]式が成立するときのa及びbの値を求め、得られた値を[数12]式及び[数13]式に代入して式の計算を行う。そして、得られた座標(sik,tik)及び補正値Cikについて、前掲した[数10]式の計算を行って点V(uik,vik)に位置する画素の画素値G(uik,vik)を求めることによって、合成画像を生成する。このようにすることによって、立体投影面5が三角形ポリゴンで定義されている場合でも、合成画像が得られる。
そころで、以上までに説明した、図3の運転支援システムにおける画像処理装置10を、標準的なコンピュータを用いて構成するようにしてもよい。
ここで図16について説明する。図16は、画像処理装置10として動作させることの可能なコンピュータ20のハードウェア構成例が図解されている。
このコンピュータ20は、MPU21、ROM22、RAM23、ハードディスク装置24、入力装置25、表示装置26、インタフェース装置27、及び記録媒体駆動装置28を備えている。なお、これらの構成要素はバスライン29を介して接続されており、MPU21の管理の下で各種のデータを相互に授受することができる。
MPU(Micro Processing Unit)21は、このコンピュータ20全体の動作を制御する演算処理装置である。
ROM(Read Only Memory)22は、所定の基本制御プログラムが予め記録されている読み出し専用半導体メモリである。MPU21は、この基本制御プログラムをコンピュータ50の起動時に読み出して実行することにより、このコンピュータ20の各構成要素の動作制御が可能になる。なお、ROM22として、フラッシュメモリ等の、電力供給の停止に対して記憶データが不揮発性であるメモリを使用してもよい。
RAM(Random Access Memory)23は、MPU21が各種の制御プログラムを実行する際に、必要に応じて作業用記憶領域として使用する、随時書き込み読み出し可能な半導体メモリである。RAM11は、入力画像フレームバッファ11や、輝度補正テーブル格納部13として機能する。
ハードディスク装置24は、MPU21によって実行される各種の制御プログラムや各種のデータを記憶しておく記憶装置である。MPU21は、ハードディスク装置24に記憶されている所定の制御プログラムを読み出して実行することにより、後述する制御処理を行えるようになる。また、ハードディスク装置24は、投影面データ格納部14としても機能する。なお、後述する制御処理の実行開始時にハードディスク装置24から頂点データテーブル及びポリゴンデータテーブルをMPU51が読み出してRAM23に格納する処理を行うようにして、RAM23を投影面データ格納部14として機能させるようにしてもよい。
入力装置25は、例えばキーボード装置やマウス装置であり、コンピュータ20の使用者により操作されると、その操作内容に対応付けられている使用者からの各種情報の入力を取得し、取得した入力情報をMPU21に送付する。
表示装置26は例えば液晶ディスプレイであり、MPU21から送付される表示データに応じて各種のテキストや画像を表示する。表示装置26は、画像表示部17として機能する。
インタフェース装置27は、このコンピュータ20に接続される各種機器との間での各種データの授受の管理を行う。インタフェース装置27は、例えばカメラ3と接続されて、カメラ3から送られてくる撮像画像1を受信する。
記録媒体駆動装置28は、可搬型記録媒体30に記録されている各種の制御プログラムやデータの読み出しを行う装置である。MPU21は、可搬型記録媒体30に記録されている所定の制御プログラムを、記録媒体駆動装置28を介して読み出して実行することによって、後述する各種の制御処理を行うようにすることもできる。なお、可搬型記録媒体60としては、例えばCD-ROM(Compact Disc Read Only Memory)やDVD-ROM(Digital Versatile Disc Read Only Memory)、USB(Universal Serial Bus)規格のコネクタが備えられているフラッシュメモリなどがある。
このようなコンピュータ20を画像処理装置10として動作させるには、まず、後述する制御処理の各処理ステップをMPU21に行わせるための制御プログラムを作成する。作成された制御プログラムはハードディスク装置24若しくは可搬型記録媒体30に予め格納しておく。そして、MPU21に所定の指示を与えてこの制御プログラムを読み出させて実行させる。こうすることで、MPU21が、図3に図解した画像処理装置10が備えている各部として機能し、このコンピュータ50を画像処理装置10として機能させることが可能になる。
次に、コンピュータ20を画像処理装置10として動作させるための制御処理について、図17を参照しながら説明する。図17は、この制御処理の処理内容を図解したフローチャートである。
図17の処理が開始されると、まず、S101において、インタフェース装置27を制御して、カメラ1から送られてくる撮像画像1の取得を行わせると共に、得られた撮像画像をRAM23に格納する処理をMPU21が行う。このときのRAM23は、図3における入力画像フレームバッファ11として機能している。
次に、S102では、輝度補正テーブルを作成する処理をMPU21が行う。この処理では、MPU21は、合成画像の生成において隣接することとなる2枚の撮像画像1における、当該2枚の撮像画像1の境界に位置する画素の輝度を、当該2枚の撮像画像1の各々の輝度の平均値とする値を、補正値として算出する処理を行う。つまり、この処理は、輝度補正テーブル生成部12が有している前述の各機能をMPU21が提供する処理である。
次に、S103では、S102の処理で生成された輝度補正テーブルをRAM23に格納する処理をMPU21が行う。このときのRAM23は、図3における輝度補正テーブル格納部13として機能している。
次に説明するS104からS107にかけての処理は、画像合成部16が有している前述の各機能をMPU21が提供する処理である。
まず、S104において、投影面データ格納部14として機能しているハードディスク装置24若しくはRAM23に格納されているポリゴンデータテーブルと頂点データテーブルとのうちのポリゴンデータテーブルを参照する処理をMPU21が行う。
次に、S105において、画像合成の処理が未だ施されていないポリゴンについてのデータを取得する処理をMPU21が行う。この処理では、当該ポリゴンを構成している頂点の頂点IDのデータがポリゴンデータテーブルから取得され、その頂点IDに対応付けられている座標データが頂点データテーブルから取得される。
次に、S106では、S105の処理により得られたポリゴンについてのデータを用いて、当該ポリゴン内に位置する全ての画素についての画素値を算出する処理をMPU21が行う。この処理は、例えば立体投影面5が四角形ポリゴンで定義されている場合に、前掲した[数7]、[数8]、[数9]、及び[数10]の各式の計算を行って、当該ポリゴン内の全ての点に位置する画素の画素値を算出する処理である。
次に、S107では、ポリゴンデータテーブルに登録されている全てのポリゴンについて、上述したS106の処理を終えたか否かを判定する処理をMPU21が行う。ここで、MPU21は、全てのポリゴンについて処理を終えたと判定したとき(判定結果がYesのとき)にはS108に処理を進める。一方、MPU21は、ここで、未処理のポリゴンが残っていると判定したとき(判定結果がNoのとき)にはS105へと処理を戻し、未処理のポリゴンについて、S105及びS106の処理を行う。
S108では、ポリゴンデータテーブルに登録されている全てのポリゴンについてS106の処理を全て終えたことによって生成された合成画像を、表示装置26に表示させる処理をMPU21が行う。この処理によって合成画像の表示を行う表示装置26は、画像表示部17として機能している。その後、MPU21はS101へと処理を戻し、カメラ3から送られてくる次のフレームの撮像画像1に対して、上述した処理を行う。
以上の制御処理を行うことによって、コンピュータ20が画像処理装置10として動作する。
以上のように、図3の画像処理装置10は、撮像画像の輝度補正画像を作成しないので、補正画像を格納するためのフレームメモリは備えておらず、また、その作成のための処理負荷が低減されている。例えば、NTSC(National Television System Committee)方式の車載カメラを4台使用して、各720×480画素のRGB24bitの撮像画像を得た場合には、4MBのメモリと1フレームあたり138万回の画素輝度補正処理とが削減される。
また、図3の画像処理装置10は、輝度補正前の合成画像の作成も行わないので、そのためのフレームメモリは備えておらず、また、その作成のための処理負荷が低減されている。例えば、NTSC方式の車載カメラを4台使用して、各720×480画素のRGB24bitの撮像画像を得た場合には、1MBのメモリが削減される。
また、図3の画像処理装置10は、三次元空間で定義された立体投影面5上の頂点に対して補正値を作成するので、視点移動が生じても輝度補正テーブルの再計算を行わなくてよい。
1 撮像画像
1F 前カメラ画像
1B 後カメラ画像
1L 左カメラ画像
1R 右カメラ画像
2 俯瞰画像
2F 前カメラ画像領域
2B 後カメラ画像領域
2L 左カメラ画像領域
2R 右カメラ画像領域
3 カメラ
3F 前カメラ
3B 後カメラ
3L 左カメラ
3R 右カメラ
4 車両
5 立体投影面
10 画像処理装置
11 入力画像フレームバッファ
12 輝度補正テーブル生成部
13 輝度補正テーブル格納部
14 投影面データ格納部
15 視点位置決定部
16 画像合成部
17 画像表示部
20 コンピュータ
21 MPU
22 ROM
23 RAM
24 ハードディスク装置
25 入力装置
26 表示装置
27 インタフェース装置
28 記録媒体駆動装置
29 バスライン
30 可搬型記録媒体
1F 前カメラ画像
1B 後カメラ画像
1L 左カメラ画像
1R 右カメラ画像
2 俯瞰画像
2F 前カメラ画像領域
2B 後カメラ画像領域
2L 左カメラ画像領域
2R 右カメラ画像領域
3 カメラ
3F 前カメラ
3B 後カメラ
3L 左カメラ
3R 右カメラ
4 車両
5 立体投影面
10 画像処理装置
11 入力画像フレームバッファ
12 輝度補正テーブル生成部
13 輝度補正テーブル格納部
14 投影面データ格納部
15 視点位置決定部
16 画像合成部
17 画像表示部
20 コンピュータ
21 MPU
22 ROM
23 RAM
24 ハードディスク装置
25 入力装置
26 表示装置
27 インタフェース装置
28 記録媒体駆動装置
29 バスライン
30 可搬型記録媒体
Claims (15)
- 対象物を任意の視点から見た合成画像を、該対象物の周囲の異なる方向を撮像して得られた複数の撮像画像から生成する画像処理装置であって、
前記撮像画像を構成する一部の画素の画素値に対する補正値を、前記複数の撮像画像の各々の輝度に基づき算出する算出部、
前記算出部により算出される前記補正値を前記画素毎に格納する格納部、及び
前記撮像画像を構成している画素の画素値を、該画素の前記撮像画像上の位置関係と、前記撮像画像と前記合成画像との対応関係と、前記格納部に格納されている前記補正値とに基づき補正して、前記撮像画像を構成している画素に対応する前記合成画像上の画素の画素値を得ることによって、前記合成画像を生成する合成部、
を備える画像処理装置。 - 前記算出部は、前記合成部による前記合成画像の生成において隣接することとなる2枚の撮像画像における該2枚の撮像画像の境界に位置する画素の画素値に対する補正値を算出する請求項1に記載の画像処理装置。
- 前記算出部は、前記2枚の撮像画像の境界に位置する画素の輝度を前記2枚の撮像画像の各々の輝度の平均値とする値を、前記補正値として算出する請求項2に記載の画像処理装置。
- 前記合成画像は、三次元空間に定義される複数のポリゴンによって多角形近似されている立体投影面に投影される画像であり、
前記算出部は、更に、前記合成画像の生成において前記ポリゴンの頂点に位置することとなる前記撮像画像の画素についての前記補正値の算出を、該画素についての前記境界に位置する画素に対する前記三次元空間での位置関係に応じた、前記境界に位置する画素についての前記補正値の線形補間によって行う、
請求項2又は3に記載の画像処理装置。 - 前記ポリゴンは四角形であり、
前記ポリゴンの4つの頂点の前記三次元空間における座標値と該4つの頂点に対応している前記撮像画像上の4つの対応点についての前記撮像画像上での座標値とが対応付けられて格納されている頂点データテーブルを更に備え、
前記合成部は、前記撮像画像における前記4つの対応点を頂点とする四角形における対向する2組の辺のうちの一方の組の2つの辺を共に第一の比率に内分する直線と他方の組の2つの辺を共に第二の比率に内分する直線との交点に位置する画素の画素値を、前記格納部に格納されている前記4つの対応点の各々の前記補正値についての、該交点と該対応点との距離の近さに応じた重み付け平均値を用いて補正して、前記ポリゴンにおける対向する2組の辺のうちの一方の組の2つの辺を共に該第一の比率に内分する直線と他方の組の2つの辺を共に該第二の比率に内分する直線との交点に位置することとなる画素の画素値を得ることによって、前記合成画像を生成する、
請求項4に記載の画像処理装置。 - 対象物を任意の視点から見た合成画像を、該対象物の周囲の異なる方向を撮像して得られた複数の撮像画像から生成する画像処理方法であって、
前記撮像画像を構成する一部の画素の画素値に対する補正値を、前記複数の撮像画像の各々の輝度に基づき算出して該画素毎に格納部に格納し、
前記撮像画像を構成している画素の画素値を、該画素の前記撮像画像上の位置関係と、前記撮像画像と前記合成画像との対応関係と、前記格納部に格納されている前記補正値とに基づき補正して、前記撮像画像を構成している画素に対応する前記合成画像上の画素の画素値を得ることによって、前記合成画像を生成する、
画像処理方法。 - 前記補正値の算出においては、前記合成画像の生成において隣接することとなる2枚の撮像画像における該2枚の撮像画像の境界に位置する画素の画素値に対する補正値を算出する請求項6に記載の画像処理方法。
- 前記補正値の算出においては、前記2枚の撮像画像の境界に位置する画素の輝度を前記2枚の撮像画像の各々の輝度の平均値とする値を、前記補正値として算出する請求項7に記載の画像処理方法。
- 前記合成画像は、三次元空間に定義される複数のポリゴンによって多角形近似されている立体投影面に投影される画像であり、
前記補正値の算出においては、更に、前記合成画像の生成において前記ポリゴンの頂点に位置することとなる前記撮像画像の画素についての前記補正値の算出を、該画素についての前記境界に位置する画素に対する前記三次元空間での位置関係に応じた、前記境界に位置する画素についての前記補正値の線形補間によって行う、
請求項7又は8に記載の画像処理方法。 - 前記ポリゴンは四角形であり、
前記ポリゴンの4つの頂点の前記三次元空間における座標値と該4つの頂点に対応している前記撮像画像上の4つの対応点についての前記撮像画像上での座標値との対応関係を予め取得しておき、
前記合成画像の生成においては、前記撮像画像における前記4つの対応点を頂点とする四角形における対向する2組の辺のうちの一方の組の2つの辺を共に第一の比率に内分する直線と他方の組の2つの辺を共に第二の比率に内分する直線との交点に位置する画素の画素値を、前記格納部に格納されている前記4つの対応点の各々の前記補正値についての、該交点と該対応点との距離の近さに応じた重み付け平均値を用いて補正して、前記ポリゴンにおける対向する2組の辺のうちの一方の組の2つの辺を共に該第一の比率に内分する直線と他方の組の2つの辺を共に該第二の比率に内分する直線との交点に位置することとなる画素の画素値を得ることによって、前記合成画像を生成する、
請求項9に記載の画像処理方法。 - 対象物を任意の視点から見た合成画像を、該対象物の周囲の異なる方向を撮像して得られた複数の撮像画像から生成する処理をコンピュータに行わせるプログラムであって、
前記撮像画像を構成する一部の画素の画素値に対する補正値を、前記複数の撮像画像の各々の輝度に基づき算出して該画素毎に前記コンピュータの格納部に格納し、
前記撮像画像を構成している画素の画素値を、該画素の前記撮像画像上の位置関係と、前記撮像画像と前記合成画像との対応関係と、前記格納部に格納されている前記補正値とに基づき補正して、前記撮像画像を構成している画素に対応する前記合成画像上の画素の画素値を得ることによって、前記合成画像を生成する、
処理を前記コンピュータに実行させるプログラム。 - 前記補正値の算出においては、前記合成画像の生成において隣接することとなる2枚の撮像画像における該2枚の撮像画像の境界に位置する画素の画素値に対する補正値を算出する請求項11に記載のプログラム。
- 前記補正値の算出においては、前記2枚の撮像画像の境界に位置する画素の輝度を前記2枚の撮像画像の各々の輝度の平均値とする値を、前記補正値として算出する請求項12に記載のプログラム。
- 前記合成画像は、三次元空間に定義される複数のポリゴンによって多角形近似されている立体投影面に投影される画像であり、
前記補正値の算出においては、更に、前記合成画像の生成において前記ポリゴンの頂点に位置することとなる前記撮像画像の画素についての前記補正値の算出を、該画素についての前記境界に位置する画素に対する前記三次元空間での位置関係に応じた、前記境界に位置する画素についての前記補正値の線形補間によって行う、
請求項12又は13に記載のプログラム。 - 前記ポリゴンは四角形であり、
前記ポリゴンの4つの頂点の前記三次元空間における座標値と該4つの頂点に対応している前記撮像画像上の4つの対応点についての前記撮像画像上での座標値とが対応付けられて格納されている頂点データテーブルを予め前記コンピュータに格納しておき、
前記合成画像の生成においては、前記撮像画像における前記4つの対応点を頂点とする四角形における対向する2組の辺のうちの一方の組の2つの辺を共に第一の比率に内分する直線と他方の組の2つの辺を共に第二の比率に内分する直線との交点に位置する画素の画素値を、前記格納部に格納されている前記4つの対応点の各々の前記補正値についての、該交点と該対応点との距離の近さに応じた重み付け平均値を用いて補正して、前記ポリゴンにおける対向する2組の辺のうちの一方の組の2つの辺を共に該第一の比率に内分する直線と他方の組の2つの辺を共に該第二の比率に内分する直線との交点に位置することとなる画素の画素値を得ることによって、前記合成画像を生成する、
請求項14に記載のプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014532657A JP6011624B2 (ja) | 2012-08-30 | 2012-08-30 | 画像処理装置、画像処理方法、及びプログラム |
EP12883969.3A EP2892230A4 (en) | 2012-08-30 | 2012-08-30 | IMAGE PROCESSING DEVICE, IMAGE PROCESSING AND PROGRAM |
PCT/JP2012/072081 WO2014033886A1 (ja) | 2012-08-30 | 2012-08-30 | 画像処理装置、画像処理方法、及びプログラム |
US14/600,572 US9436986B2 (en) | 2012-08-30 | 2015-01-20 | Image processing apparatus and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/072081 WO2014033886A1 (ja) | 2012-08-30 | 2012-08-30 | 画像処理装置、画像処理方法、及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/600,572 Continuation US9436986B2 (en) | 2012-08-30 | 2015-01-20 | Image processing apparatus and image processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014033886A1 true WO2014033886A1 (ja) | 2014-03-06 |
Family
ID=50182734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2012/072081 WO2014033886A1 (ja) | 2012-08-30 | 2012-08-30 | 画像処理装置、画像処理方法、及びプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US9436986B2 (ja) |
EP (1) | EP2892230A4 (ja) |
JP (1) | JP6011624B2 (ja) |
WO (1) | WO2014033886A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110168606A (zh) * | 2016-06-08 | 2019-08-23 | 谷歌有限责任公司 | 从实体物品生成合成图像 |
CN111179322A (zh) * | 2019-12-18 | 2020-05-19 | 山东大学 | 基于相机光源阵列的材质测量拍摄图像校准方法及系统 |
WO2020136929A1 (ja) * | 2018-12-27 | 2020-07-02 | クラリオン株式会社 | 画像処理装置及び画像処理方法 |
WO2022264418A1 (ja) * | 2021-06-18 | 2022-12-22 | 日本電信電話株式会社 | 映像合成システム、映像合成方法、及び映像合成プログラム |
JP7484242B2 (ja) | 2020-03-10 | 2024-05-16 | 株式会社リコー | 画像処理装置、画像処理方法、撮像装置、画像処理システムおよびプログラム |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6396022B2 (ja) * | 2014-01-21 | 2018-09-26 | 住友重機械工業株式会社 | 出力画像を生成する装置 |
US9598012B2 (en) * | 2014-03-11 | 2017-03-21 | Toyota Motor Engineering & Manufacturing North America, Inc. | Surroundings monitoring system for a vehicle |
US10486599B2 (en) | 2015-07-17 | 2019-11-26 | Magna Mirrors Of America, Inc. | Rearview vision system for vehicle |
CN109691080B (zh) * | 2016-09-12 | 2020-10-09 | 华为技术有限公司 | 拍摄图像方法、装置和终端 |
JP6939580B2 (ja) * | 2018-01-10 | 2021-09-22 | 株式会社デンソー | 車両用画像合成装置 |
US10706557B2 (en) * | 2018-09-07 | 2020-07-07 | Volvo Car Corporation | Methods and systems for providing fast semantic proposals for image and video annotation |
JP7318265B2 (ja) * | 2019-03-28 | 2023-08-01 | 株式会社デンソーテン | 画像生成装置および画像生成方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320537A (ja) * | 1997-05-19 | 1998-12-04 | Canon Inc | 画像合成装置、画像合成方法および記憶媒体 |
JP2002027448A (ja) | 2000-04-28 | 2002-01-25 | Matsushita Electric Ind Co Ltd | 画像処理装置および監視システム |
JP2002324235A (ja) * | 2001-04-24 | 2002-11-08 | Matsushita Electric Ind Co Ltd | 車載カメラの画像合成表示方法及びその装置 |
JP2006173988A (ja) | 2004-12-15 | 2006-06-29 | Nissan Motor Co Ltd | 車載用カメラ映像提示装置及び車載用カメラ映像提示方法 |
JP2008028521A (ja) | 2006-07-19 | 2008-02-07 | Xanavi Informatics Corp | 画像表示システム |
JP2010113424A (ja) | 2008-11-04 | 2010-05-20 | Fujitsu Ltd | 画像合成装置及び画像合成方法 |
JP2010239596A (ja) * | 2009-03-31 | 2010-10-21 | Fujitsu Ltd | 映像処理装置 |
JP2010252015A (ja) * | 2009-04-15 | 2010-11-04 | Panasonic Corp | 画像合成装置、画像合成方法およびプログラム |
JP2012017560A (ja) | 2010-07-06 | 2012-01-26 | Hitachi Constr Mach Co Ltd | 転圧機械 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205259B1 (en) * | 1992-04-09 | 2001-03-20 | Olympus Optical Co., Ltd. | Image processing apparatus |
US7307655B1 (en) * | 1998-07-31 | 2007-12-11 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for displaying a synthesized image viewed from a virtual point of view |
US6940529B2 (en) * | 2000-03-17 | 2005-09-06 | Sun Microsystems, Inc. | Graphics system configured to perform distortion correction |
US6924816B2 (en) * | 2000-03-17 | 2005-08-02 | Sun Microsystems, Inc. | Compensating for the chromatic distortion of displayed images |
US7002589B2 (en) * | 2000-03-17 | 2006-02-21 | Sun Microsystems, Inc. | Blending the edges of multiple overlapping screen images |
US6734896B2 (en) | 2000-04-28 | 2004-05-11 | Matsushita Electric Industrial Co., Ltd. | Image processor and monitoring system |
JP3300338B1 (ja) | 2001-04-17 | 2002-07-08 | 株式会社東宣エイディ | 葬儀関係行事支援システム |
DE10301941B4 (de) * | 2003-01-20 | 2005-11-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Kamera und Verfahren zur optischen Aufnahme eines Schirms |
US7822292B2 (en) * | 2006-12-13 | 2010-10-26 | Adobe Systems Incorporated | Rendering images under cylindrical projections |
WO2012017560A1 (ja) * | 2010-08-06 | 2012-02-09 | 富士通株式会社 | 画像処理装置および画像処理プログラム |
-
2012
- 2012-08-30 EP EP12883969.3A patent/EP2892230A4/en not_active Withdrawn
- 2012-08-30 WO PCT/JP2012/072081 patent/WO2014033886A1/ja unknown
- 2012-08-30 JP JP2014532657A patent/JP6011624B2/ja not_active Expired - Fee Related
-
2015
- 2015-01-20 US US14/600,572 patent/US9436986B2/en not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320537A (ja) * | 1997-05-19 | 1998-12-04 | Canon Inc | 画像合成装置、画像合成方法および記憶媒体 |
JP2002027448A (ja) | 2000-04-28 | 2002-01-25 | Matsushita Electric Ind Co Ltd | 画像処理装置および監視システム |
JP2002324235A (ja) * | 2001-04-24 | 2002-11-08 | Matsushita Electric Ind Co Ltd | 車載カメラの画像合成表示方法及びその装置 |
JP2006173988A (ja) | 2004-12-15 | 2006-06-29 | Nissan Motor Co Ltd | 車載用カメラ映像提示装置及び車載用カメラ映像提示方法 |
JP2008028521A (ja) | 2006-07-19 | 2008-02-07 | Xanavi Informatics Corp | 画像表示システム |
JP2010113424A (ja) | 2008-11-04 | 2010-05-20 | Fujitsu Ltd | 画像合成装置及び画像合成方法 |
JP2010239596A (ja) * | 2009-03-31 | 2010-10-21 | Fujitsu Ltd | 映像処理装置 |
JP2010252015A (ja) * | 2009-04-15 | 2010-11-04 | Panasonic Corp | 画像合成装置、画像合成方法およびプログラム |
JP2012017560A (ja) | 2010-07-06 | 2012-01-26 | Hitachi Constr Mach Co Ltd | 転圧機械 |
Non-Patent Citations (1)
Title |
---|
See also references of EP2892230A4 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110168606A (zh) * | 2016-06-08 | 2019-08-23 | 谷歌有限责任公司 | 从实体物品生成合成图像 |
CN110168606B (zh) * | 2016-06-08 | 2023-09-26 | 谷歌有限责任公司 | 生成实体物品的合成图像的方法和系统 |
WO2020136929A1 (ja) * | 2018-12-27 | 2020-07-02 | クラリオン株式会社 | 画像処理装置及び画像処理方法 |
CN111179322A (zh) * | 2019-12-18 | 2020-05-19 | 山东大学 | 基于相机光源阵列的材质测量拍摄图像校准方法及系统 |
CN111179322B (zh) * | 2019-12-18 | 2023-06-02 | 山东大学 | 基于相机光源阵列的材质测量拍摄图像校准方法及系统 |
JP7484242B2 (ja) | 2020-03-10 | 2024-05-16 | 株式会社リコー | 画像処理装置、画像処理方法、撮像装置、画像処理システムおよびプログラム |
WO2022264418A1 (ja) * | 2021-06-18 | 2022-12-22 | 日本電信電話株式会社 | 映像合成システム、映像合成方法、及び映像合成プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2014033886A1 (ja) | 2016-08-08 |
US9436986B2 (en) | 2016-09-06 |
US20150139499A1 (en) | 2015-05-21 |
EP2892230A4 (en) | 2015-09-02 |
EP2892230A1 (en) | 2015-07-08 |
JP6011624B2 (ja) | 2016-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6011624B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP4071422B2 (ja) | モーションブラー画像描画方法及び描画装置 | |
JP5388534B2 (ja) | 画像処理装置およびその方法、頭部装着型ディスプレイ、プログラム、記録媒体 | |
JP6153366B2 (ja) | 画像生成システム及びプログラム | |
US20140218354A1 (en) | View image providing device and method using omnidirectional image and 3-dimensional data | |
US20050265619A1 (en) | Image providing method and device | |
EP3255604B1 (en) | Image generation device, coordinate conversion table creation device and creation method | |
JP2008083786A (ja) | 画像生成装置および画像生成方法 | |
US10863154B2 (en) | Image processing apparatus, image processing method, and storage medium | |
US10412359B2 (en) | Method for generating a virtual image of vehicle surroundings | |
CN109643462B (zh) | 基于渲染引擎的实时图像处理方法以及显示设备 | |
TWI505203B (zh) | 產生車用影像的影像處理方法及影像處理裝置 | |
WO2020184174A1 (ja) | 画像処理装置および画像処理方法 | |
JP7081265B2 (ja) | 画像処理装置 | |
JP2010258691A (ja) | 操縦支援装置 | |
US8902217B2 (en) | Image generating method | |
JP2006350852A (ja) | 画像生成システム | |
JP2001202532A (ja) | Zバッファを用いた立体映像生成方法 | |
KR20170139816A (ko) | 실시간 영상 합성 방법 | |
US12080075B2 (en) | Method for generating an image of vehicle surroundings, and apparatus for generating an image of vehicle surroundings | |
JP2010068059A (ja) | 映像データ生成プログラム | |
JP2012039331A (ja) | 視差画像作成装置、視差画像作成方法、プログラム及び記憶媒体 | |
JP2011227864A (ja) | 画像視点変換装置、画像視点変換方法、画像視点変換プログラム | |
JP2019517688A (ja) | 二枚の表示画像間の移行を割り出すための方法及び装置、並びに、車両 | |
KR20220063844A (ko) | 서라운드뷰 생성 시스템 및 방법 |
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: 12883969 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2014532657 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |