WO2017043331A1 - 画像処理装置、及び、画像処理方法 - Google Patents
画像処理装置、及び、画像処理方法 Download PDFInfo
- Publication number
- WO2017043331A1 WO2017043331A1 PCT/JP2016/074916 JP2016074916W WO2017043331A1 WO 2017043331 A1 WO2017043331 A1 WO 2017043331A1 JP 2016074916 W JP2016074916 W JP 2016074916W WO 2017043331 A1 WO2017043331 A1 WO 2017043331A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- pixel
- viewpoint
- obstacle
- unit
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 158
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 238000006243 chemical reaction Methods 0.000 claims description 100
- 230000005484 gravity Effects 0.000 claims description 8
- 238000000513 principal component analysis Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 19
- 238000000034 method Methods 0.000 description 102
- 230000008569 process Effects 0.000 description 81
- 238000003384 imaging method Methods 0.000 description 63
- 102100022501 Receptor-interacting serine/threonine-protein kinase 1 Human genes 0.000 description 52
- 238000001514 detection method Methods 0.000 description 46
- 238000004891 communication Methods 0.000 description 45
- 239000013598 vector Substances 0.000 description 30
- 238000010586 diagram Methods 0.000 description 27
- 238000003860 storage Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 7
- 101000643956 Homo sapiens Cytochrome b-c1 complex subunit Rieske, mitochondrial Proteins 0.000 description 6
- 101001099199 Homo sapiens RalA-binding protein 1 Proteins 0.000 description 6
- 101001109145 Homo sapiens Receptor-interacting serine/threonine-protein kinase 1 Proteins 0.000 description 6
- 239000011521 glass Substances 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 241001465754 Metazoa Species 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 102100029638 Dual serine/threonine and tyrosine protein kinase Human genes 0.000 description 2
- 101000865739 Homo sapiens Dual serine/threonine and tyrosine protein kinase Proteins 0.000 description 2
- 101710156256 Myosin phosphatase Rho-interacting protein Proteins 0.000 description 2
- 102100033729 Receptor-interacting serine/threonine-protein kinase 3 Human genes 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000009966 trimming Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002194 synthesizing effect Effects 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/77—Retouching; Inpainting; Scratch removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/557—Depth or shape recovery from multiple images from light fields, e.g. from plenoptic cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/593—Depth or shape recovery from multiple images from stereo images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/255—Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/273—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion removing elements interfering with the pattern to be recognised
-
- 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
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/122—Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/128—Adjusting depth or disparity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/254—Image signal generators using stereoscopic image cameras in combination with electromagnetic radiation sources for illuminating objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/271—Image signal generators wherein the generated image signals comprise depth maps or disparity maps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/45—Cameras or camera modules comprising electronic image sensors; Control thereof for generating image signals from two or more image sensors being of different type or operating in different modes, e.g. with a CMOS sensor for moving images in combination with a charge-coupled device [CCD] for still images
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/80—Camera processing pipelines; Components thereof
- H04N23/84—Camera processing pipelines; Components thereof for processing colour signals
- H04N23/843—Demosaicing, e.g. interpolating colour pixel values
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/2224—Studio circuitry; Studio devices; Studio equipment related to virtual studio applications
- H04N5/2226—Determination of depth image, e.g. for foreground/background separation
-
- 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/10024—Color 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/10—Image acquisition modality
- G06T2207/10052—Images from lightfield camera
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/66—Remote control of cameras or camera parts, e.g. by remote control devices
- H04N23/661—Transmitting camera control signals through networks, e.g. control via the Internet
Definitions
- the present technology relates to an image processing device and an image processing method, and in particular, an image processing device and an image that can obtain an obstacle-removed image that does not show an obstacle using, for example, parallax information. It relates to the processing method.
- the present technology has been made in view of such a situation, and makes it possible to obtain an obstacle-removed image using parallax information.
- An image processing apparatus uses a disparity information of captured images of a plurality of viewpoints, and removes each of the plurality of viewpoint-removed captured images obtained by removing some subjects from the captured images of the plurality of viewpoints. And an image generation unit that generates an obstacle-removed image of a predetermined viewpoint by superimposing the removed captured images of the plurality of viewpoints generated by the removal unit using the parallax information. It is.
- the image processing method of the present technology generates a plurality of viewpoint-removed photographed images obtained by removing some subjects from the plurality of viewpoint photographed images using disparity information of the plurality of viewpoint photographed images, respectively.
- the image processing method includes generating an obstacle removed image of a predetermined viewpoint by superimposing the removed photographed images of the plurality of viewpoints using the parallax information.
- a plurality of viewpoint-removed captured images from which a part of the subject is removed are generated from the captured images of the plurality of viewpoints, and the plurality of viewpoints are generated.
- an obstacle removed image at a predetermined viewpoint is generated.
- the image processing apparatus may be an independent apparatus or an internal block constituting one apparatus.
- the image processing apparatus can be realized by causing a computer to execute a program.
- a program for causing a computer to function as an image processing apparatus can be provided by being transmitted via a transmission medium or by being recorded on a recording medium.
- an obstacle removal image can be obtained.
- FIG. 2 is a plan view illustrating a configuration example of a photographing apparatus 11.
- FIG. 6 is a plan view illustrating another configuration example of the imaging device 11.
- 2 is a block diagram illustrating a configuration example of an image processing device 12.
- FIG. 6 is a diagram illustrating an example of a photographed image IP # i photographed by the photographing apparatus 11.
- FIG. It is a figure explaining the principle which produces
- FIG. 1 It is a flowchart explaining the example of a process of an image processing system. It is a figure explaining the example of the production
- FIG. It is a figure which shows the example of a display of GUI which the control part 33 displays on the display apparatus 13.
- FIG. It is a figure explaining the example of the method of setting automatically the two-dimensional plane used as a removal area.
- FIG. 1 It is a flowchart explaining the example of a process of an image processing system. It is a figure explaining the example of the production
- FIG. 6 is a flowchart illustrating an example of an obstacle removal process performed by a removal unit.
- 10 is a flowchart illustrating an example of viewpoint conversion processing by a viewpoint conversion unit 51. It is a figure explaining the outline
- FIG. It is a figure explaining the interpolation process by the interpolation part.
- FIG. 18 is a block diagram illustrating a configuration example of an embodiment of a computer to which the present technology is applied. It is a block diagram which shows an example of a schematic structure of a vehicle control system. It is explanatory drawing which shows an example of the installation position of a vehicle exterior information detection part and an imaging part.
- FIG. 1 is a block diagram illustrating a configuration example of an embodiment of an image processing system to which the present technology is applied.
- the image processing system includes a photographing device 11, an image processing device 12, and a display device 13.
- the imaging device 11 captures the subject from a plurality of viewpoints, and supplies the captured images of the plurality of viewpoints obtained as a result to the image processing device 12.
- the image processing apparatus 12 performs image processing using the captured images from a plurality of viewpoints from the imaging apparatus 11, thereby obstructing a predetermined viewpoint in which some subjects as obstacles appearing in the captured images are not reflected.
- An object removal image is generated and supplied to the display device 13.
- the display device 13 displays the obstacle removal image from the image processing device 12. Further, the display device 13 displays a predetermined GUI (Graphical User Interface) or the like.
- GUI Graphic User Interface
- the display device 13 can be configured by a touch panel or the like.
- the display device 13 can accept a user operation (input) in addition to displaying an obstacle removal image or the like.
- the photographing device 11, the image processing device 12, and the display device 13 that constitute the image processing system are all of them, for example, a digital (still / video) camera, a portable terminal such as a smartphone, or the like. Can be implemented in an independent device.
- the photographing device 11, the image processing device 12, and the display device 13 can be separately mounted on independent devices.
- the photographing device 11, the image processing device 12, and the display device 13 can be mounted on any two of them separately and the remaining one in independent devices.
- the imaging device 11 and the display device 13 can be mounted on a portable terminal owned by the user, and the image processing device 12 can be mounted on a server on the cloud.
- a part of the blocks of the image processing device 12 can be mounted on a server on the cloud, and the remaining blocks of the image processing device 12, the photographing device 11 and the display device 13 can be mounted on a portable terminal.
- FIG. 2 is a plan view showing a configuration example of the photographing apparatus 11.
- the imaging device 11 includes a plurality of camera units 21 i , and the plurality of camera units 21 i captures captured images from a plurality of viewpoints.
- the photographing apparatus 11 includes, for example, seven camera units 21 1 , 21 2 , 21 3 , 21 4 , 21 5 , 21 6 , and 21 7 as a plurality, and 7 of them. of the camera unit 21 1 to 21 7 are arranged on a two-dimensional plane.
- seven of the camera unit 21 1 to 21 7 is one of them, for example, around the camera unit 21 1, the other six of the camera unit 21 2 to 21 7 , around the camera unit 21 1 is disposed so as to form a regular hexagon.
- any one of the camera units 21 i (i 1,2, ... , 7) and, most its camera unit 21 i
- the imaging device 11 can be configured to be approximately the size of a card such as an IC card.
- the number of camera units 21 i constituting the photographing apparatus 11 is not limited to seven, and a number of 2 to 6 or 8 or more can be employed.
- a plurality of camera units 21 i in addition arranged to constitute a regular polygon of regular hexagon or the like as described above, it can be placed anywhere.
- the plurality of camera units 21 i can be arranged so that the positions in the depth direction are different, not on the two-dimensional plane.
- the camera unit 21 1 to 21 7 the camera unit 21 1 which is disposed in the center, the reference camera unit 21 1 and good, the camera unit 21 arranged around the base camera unit 21 1 2 to 21 7, also referred to as near the camera unit 21 2 to 21 7.
- FIG. 3 is a plan view showing another configuration example of the photographing apparatus 11.
- the photographing apparatus 11 has a plurality of, for example, five camera units 21 1 to 21 5 and three camera units 21 1 to 21 3 arranged on a two-dimensional plane. Can be configured.
- the peripheral camera units 21 2 , 21 3 , 21 4 , and 21 5 are arranged around the reference camera unit 21 1.
- the imaging device 11, three in the case of constituting the camera unit 21 1 to 21 3 are, for example, around the base camera unit 21 1, the peripheral camera unit 21 2 and 21 3, the right reference camera unit 21 1 And left, top and bottom, respectively.
- the peripheral camera units 21 2 and 21 3 can be arranged at positions separated from the reference camera unit 21 1 by the same distance D, respectively.
- the photographing apparatus 11 is configured by seven camera units 21 1 to 217 as shown in FIG. 2, for example.
- FIG. 4 is a block diagram illustrating a configuration example of the image processing apparatus 12 of FIG.
- the image processing apparatus 12 includes a parallax information generation unit 31, an obstacle removal image generation unit 32, and a control unit 33.
- the image processing apparatus 12 from the imaging device 11, the camera unit 21 1 to from 7 to captured image IP1 of viewpoints taken by the 21 7 IP7 is supplied.
- the parallax information generation unit 31 generates (determines) the parallax information of each captured image IP # i using the captured image IP # i supplied from the imaging device 11, and supplies the parallax information to the obstacle-removed image generation unit 32.
- the disparity information generation unit 31 obtains disparity information with respect to each of the captured images IP # j for each captured image IP # i supplied from the capturing device 11, and generates a disparity map in which the disparity information is registered. To the obstacle removal image generation unit 32.
- parallax information a distance (depth) corresponding to the parallax can be employed in addition to the parallax (disparity) itself.
- parallax of parallax and distance is adopted as parallax information.
- the parallax map of the captured image IP # i the parallax of the pixel is registered for each pixel (coordinates) of the captured image IP # i.
- the parallax information generation unit 31 in addition to generating the parallax map from the captured image IP # i, for example, the distance (depth) to each subject reflected in the captured image IP # i using a distance sensor that measures the distance. Can be generated by measuring.
- the obstacle removal image generation unit 32 uses the captured image IP # i supplied from the imaging device 11 and the parallax information from the parallax information generation unit 31 as a part of an obstacle reflected in the captured image IP # i.
- An obstacle-removed image of a predetermined viewpoint in which no subject is shown is generated and supplied to the display device 13 (FIG. 1).
- the obstacle-removed image generation unit 32 generates an obstacle-removed image that does not show the obstacle (an image as if it was taken without an obstacle) from the captured image IP # i that shows the obstacle. To do.
- the obstacle image generation unit 32 includes a removal area setting unit 41, a removal unit 42, and an image generation unit 43.
- the removal area setting unit 41 is supplied with the captured image IP # i from the imaging device 11 and the parallax map from the parallax information generating unit 31.
- the removal area setting unit 41 sets a removal area using the captured image IP # i from the imaging device 11, the parallax map from the parallax information generation unit 31, and the like as necessary, and information indicating the removal area ( ) Is supplied to the removing unit 42.
- the removal area means an area where there is an obstacle in the real space where the photographed image IP # i is photographed.
- the removal unit 42 is supplied with the captured image IP # i from the imaging device 11 and with the parallax map from the parallax information generation unit 31.
- the removal unit 42 is reflected in the captured image IP # i from the captured image IP # i from the imaging device 11. Then, by removing the obstacle in the removal area, a removed photographed image RIP # i from which the obstacle has been removed is generated.
- the removed captured image RIP # i is, for example, an image having no pixel value of a pixel in which an obstacle is reflected in the captured image IP # i (in this embodiment, for example, an obstacle is reflected for convenience.
- the image of the pixel of the current pixel is 0).
- the removal unit 42 corresponds to the real space point in the removal area from the removal area setting unit 41 among the real space points in the real space where the photographed image IP # i was photographed.
- the removed photographed image RIP # i is generated by removing the pixel as a pixel in which an obstacle appears, that is, for example, by setting the pixel value of the pixel in which the obstacle appears to 0.
- the removal unit 42 generates the removed captured image RIP # i, generates a mask flag image for each removed captured image RIP # i, and generates the removed captured image RIP # i and the mask flag image as the image generation unit 43. To supply.
- the mask flag image for the removed photographed image RIP # i is an image indicating the presence or absence of a pixel value for each pixel of the removed photographed image RIP # i
- the pixel value of each pixel of the mask flag image is, for example, This is a 1-bit mask flag indicating the presence or absence of the pixel value of the pixel at the same position in the removed photographed image RIP # i. Therefore, it can be said that the mask flag image is an image representing a pixel in which an obstacle is reflected (or a pixel in which no obstacle is reflected) in the captured image IP # i.
- the removal unit 42 generates a mask flag image representing a pixel in which an obstacle appears in the removed photographed image RIP # i. Therefore, the photographed image IP # i itself is used as the removed photographed image RIP # i. Even in such a case, by referring to the mask flag image, the removed captured image RIP # i, which is the captured image IP # i itself, is treated as a pixel having no pixel value in the removed captured image RIP # i, that is, the captured image The removed photographed image RIP # i that is IP # i itself can be handled as an image from which the obstacle has been removed.
- the image generation unit 43 is supplied with the removed captured image RIP # i and the mask flag image from the removal unit 42, and is also supplied with the parallax map from the parallax information generation unit 31.
- the image generation unit 43 uses the parallax map from the parallax information generation unit 31, the removed captured image RIP # i and the mask flag image from the removal unit 42, and uses a predetermined viewpoint (viewed from a predetermined viewpoint). A removed image is generated and supplied to the display device 13 (FIG. 1).
- the image generation unit 43 generates an obstacle removal image at a predetermined viewpoint by superimposing the removed photographed image RIP # i using a parallax map.
- the image generation unit 43 includes a viewpoint conversion unit 51, an overlay unit 52, and an interpolation unit 53.
- the viewpoint conversion unit 51 uses the geometrical conversion (image registration) using the parallax map supplied from the parallax information generation unit 31 to obtain the removed photographed image RIP # i and the mask flag image supplied from the removal unit 42 in a predetermined manner. Are converted into a viewpoint converted image VCP # i and a conversion mask flag image viewed from the viewpoint, and supplied to the superimposing unit 52.
- the superimposing unit 52 superimposes the viewpoint converted image VCP # i from the viewpoint converting unit 51 using the conversion mask flag image from the viewpoint converting unit 51, so that the predetermined viewpoint (viewed from the predetermined viewpoint) is superimposed.
- A) A superimposed image is generated.
- the superimposing unit 52 generates an undetermined flag image indicating whether each pixel of the superimposed image is a missing pixel having a missing pixel value, and the superimposed image and the undetermined flag image are displayed. To the interpolation unit 53.
- the pixel value of each pixel of the unconfirmed flag image is, for example, a 1-bit unconfirmed flag indicating whether or not the pixel at the same position in the superimposed image is a missing pixel.
- the interpolation unit 53 recognizes the missing pixel of the superimposed image from the superimposing unit 52 using the unconfirmed flag image from the superimposing unit 52. Then, the interpolation unit 53 generates an obstacle-removed image at a predetermined viewpoint by interpolating the missing pixels of the superimposed image using the pixel values of the pixels in the vicinity of the missing pixels, and the display device 13 (FIG. To 1).
- the control unit 33 controls the entire image processing apparatus 12. Further, the control unit 33 performs display control for causing the display device 13 to display a predetermined GUI (Graphical User Interface) or the like. Further, the control unit 33 performs various processes in accordance with user operations on the touch panel or the like as the display device 13.
- GUI Graphic User Interface
- FIG. 5 is a diagram illustrating an example of a photographed image IP # i photographed by the photographing apparatus 11.
- FIG. 5 shows images img1, img2, img3, and img4 as examples of the captured image IP # i.
- the desired subject desired by the user is an animal, and the wire mesh shown on the near side of the animal is an obstacle to the desired subject.
- the desired subject is a bird
- the branch reflected in front of the bird is an obstacle to the desired subject.
- Img3 shows the city scenery through the glass with raindrops.
- the desired subject is a city landscape, and the raindrops on the front side of the city landscape are obstacles to the desired subject.
- the desired subject is a tower, and the electric wire reflected on the front side of the tower is an obstacle to the desired subject.
- an obstacle removal image in which, for example, a wire mesh, a branch, raindrops, an electric wire, or the like is not shown as an obstacle is taken from the captured image IP # i such as the images img1 to img4. Generated.
- FIG. 6 is a diagram for explaining the principle of generating an obstacle removal image in the image processing apparatus 12.
- IP7 is taken to not photographed image IP1.
- the seven camera units 21 1 and 21 7 each of the captured images IP1 to IP7, that is, from the seven viewpoints of the captured images IP1 to IP7, other than the pixels in which the obstacle is reflected.
- an obstacle removal image in which no obstacle is reflected is generated.
- the imaging device 11 when generating a parallax map (disparity information) from the captured image IP # i, it is desirable that the imaging device 11 captures the captured images IP # i from three or more viewpoints.
- the portion of the desired subject that is hidden behind the obstacle in the captured image IP # i has at least two different viewpoints. If the images are not captured in a plurality of viewpoints, the parallax information cannot be obtained and occlusion occurs.
- the photographing device 11 In order to suppress the occurrence of occlusion when obtaining (generating) parallax information from the captured image IP # i, in a certain captured image, there is a portion of a desired subject that is hidden behind an obstacle. The portion needs to be reflected in at least a plurality of viewpoints of two or more viewpoints. Therefore, the photographing device 11 needs to photograph at least three viewpoints of a photographed image in which a portion of a desired subject that cannot be seen hidden behind an obstacle exists and a photographed image of two viewpoints in which the portion is reflected. There is.
- the imaging apparatus 11 at least captures the captured image IP # i from two viewpoints. Should be taken.
- FIG. 7 is a diagram illustrating conditions for generating an obstacle removal image.
- an image in which no obstacle appears in the photographed image (an image as if photographing was performed without an obstacle) is generated as the obstacle removal image.
- the obstacle-removed image needs to show a portion of the desired subject that is hidden behind the obstacle in the captured image (hereinafter also referred to as the hidden portion of the desired subject).
- the part of the desired subject that is hidden behind an obstacle and is not visible in the image IP # i needs to be reflected in the captured image IP # i ′ from any other viewpoint.
- the conditions for generating the obstacle removal image in which the hidden portion of the desired subject is reflected are as follows: the camera unit 21 i , the positional relationship between the obstacle and the desired subject, the size of the obstacle, and the camera unit 21 i of a different viewpoint. It is determined by the baseline length which is the distance between the optical axes with 21 i ′ .
- the photographing apparatus 11 has two camera units 21 1 and 21 2 , and these two camera units 21 1 and 21 2 are arranged side by side in the horizontal direction.
- the base line length of the two camera units 21 1 and 21 2 that is, the distance between the optical axes of the camera units 21 1 and 21 2 is represented by D.
- the horizontal width of the obstacle will be expressed as W.
- the minimum baseline length D is 16 mm.
- FIG. 8 is a diagram illustrating how the obstacle removal image generation unit 32 generates an obstacle removal image using captured images from a plurality of viewpoints.
- the obstacle-removed image generation unit 32 generates an obstacle-removed image at a predetermined viewpoint from the captured images at a plurality of viewpoints.
- FIG. 8 a wire mesh as an obstacle is shown in front of the desired subject (group) in the photographed image. However, in the obstacle-removed image, the wire mesh that appears in the photographed image is not reflected, and the wire mesh is displayed in the photographed image. Hidden parts that were hidden and not visible are visible.
- FIG. 9 is a flowchart for explaining an example of processing of the image processing system of FIG.
- step S11 the imaging device 11 performs an imaging process.
- shooting process the camera unit 21 1 to 21 7, as photographed images of a plurality of viewpoints, for example, captured image IP1 not seven viewpoints to IP7 and the like are taken.
- the imaging apparatus 11 supplies the captured image IP # i obtained as a result of the imaging process to the image processing apparatus 12, and the process proceeds from step S11 to step S12.
- step S12 the parallax information generation unit 31 of the image processing device 12 (FIG. 4) performs parallax information generation processing.
- the parallax information generation unit 31 uses the captured image IP # i for each viewpoint vp # i of the captured image IP # i supplied from the imaging device 11, and uses each captured image IP # i. Disparity information is generated, and a disparity map in which the disparity information is registered is generated.
- the disparity information of a certain viewpoint vp # i is obtained by, for example, stereo matching or multi-baseline stereo between the captured image IP # i of the viewpoint vp # i and the captured image IP # i 'of another viewpoint vp # i'. Can be obtained using the principle of triangulation.
- the parallax information generation unit 31 supplies the parallax map of each viewpoint vp # i to the obstacle removal image generation unit 32, and the processing proceeds from step S12 to step S13.
- step S13 the removal area setting unit 41 of the obstacle removal image generation unit 32 performs a removal area setting process.
- the removal picture area setting unit 41 is supplied to the captured image IP # i supplied from the imaging device 11 to the image processing device 12, or from the parallax information generation unit 31 to the obstacle removal image generation unit 32. Using a parallax map or the like as necessary, a removal area representing an area in real space where an obstacle appears in the captured image IP # i is set.
- the removal area setting unit 41 supplies the removal area to the removal unit 42, and the process proceeds from step S13 to step S14.
- step S14 the removal unit 42 performs an obstacle removal process.
- the removal unit 42 uses the parallax map supplied from the parallax information generation unit 31 to the obstacle removal image generation unit 32 and the removal area supplied from the removal area setting unit 41, 11, a removed photographed image RIP # i from which an obstacle in the removal area shown in the photographed image IP # i has been removed is generated from the photographed image IP # i supplied to the image processing apparatus 12. Further, in the obstacle removal process, a mask flag image representing a pixel in which an obstacle in the removal area appears in the photographed image IP # i is generated for the photographed photographed image RIP # i.
- the removal unit 42 supplies the removed captured image RIP # i and the mask flag image to the image generation unit 43, and the process proceeds to step S15.
- the image generation unit 43 receives the parallax map supplied from the parallax information generation unit 31 to the obstacle removal image generation unit 32, the removed captured image RIP # i and the mask flag supplied from the removal unit 42. Image generation processing for generating an obstacle removal image at a predetermined viewpoint is performed using the image.
- step S15 the viewpoint conversion unit 51 of the image generation unit 43 performs viewpoint conversion processing.
- the viewpoint conversion unit 51 uses the parallax map of the viewpoint vp # i from the parallax information generation unit 31 to extract the removed captured image RIP # i and the mask flag image from the removal unit 42 from a predetermined viewpoint.
- the geometric conversion is performed on the viewed viewpoint conversion image VCP # i and the conversion mask flag image, respectively.
- the viewpoint conversion unit 51 supplies the viewpoint conversion image VCP # i and the conversion mask flag image for each viewpoint vp # i to the superposition unit 52, and the process proceeds from step S15 to step S16.
- step S16 the superposition unit 52 performs superposition processing.
- the viewpoint conversion image VCP # i for each viewpoint vp # i from the viewpoint conversion unit 51 is converted into the conversion mask flag image for each viewpoint vp # i from the viewpoint conversion unit 51 (for each viewpoint vp # i).
- the superimposing unit 52 supplies the superimposed image and the unconfirmed flag image to the interpolating unit 53, and the process proceeds from step S16 to step S17.
- step S17 the interpolation unit 53 performs an interpolation process.
- the missing pixel of the superimposed image from the superimposing unit 52 is recognized using the indeterminate flag image from the superimposing unit 52, and the missing pixel is interpolated, thereby obstructing a predetermined viewpoint. A removed image is generated.
- Interpolation unit 53 supplies the obstacle removal image to display device 13 (FIG. 1), and the process proceeds from step S17 to step S18.
- step S18 the display device 13 displays the obstacle removal image from the interpolation unit 53, and the process proceeds to step S19.
- step S19 the control unit 33 (FIG. 4) determines whether an obstacle removal image intended by the user has been obtained.
- step S19 If it is determined in step S19 that the obstacle-removed image intended by the user has not been obtained, that is, for example, if the user performs an operation to regenerate the obstacle-removed image, the process is performed. Returning to step S13, the same processing is repeated thereafter.
- step S19 when it is determined in step S19 that the obstacle removal image intended by the user has been obtained, that is, for example, the user performs an operation to confirm the obstacle removal image displayed in the immediately preceding step S18. If so, the process ends.
- FIG. 10 is a diagram illustrating an example of generation of a parallax map in the parallax information generation unit 31 in FIG.
- FIG. 10 to no captured image IP1 taken by the camera unit 21 1 to 21 7 of the imaging device 11 shows an example of IP7.
- the photographed images IP1 to IP7 show a predetermined object obj as the foreground on the near side of the predetermined background. Since each viewpoint is different for each of the captured images IP1 to IP7, for example, the position of the object obj reflected in each of the captured images IP2 to IP7 (the position on the captured image) is different from the position of the object obj reflected in the captured image IP1. It differs by a different amount.
- the parallax information generating unit 31 when generating the parallax map of the viewpoint vp1 of the captured image IP1, the parallax information generating unit 31 sets the captured image IP1 as the focused image of interest IP1. Further, the parallax information generation unit 31 sequentially selects each pixel of the target image IP1 as the target pixel of interest, and sets the corresponding pixel (corresponding point) corresponding to the target pixel of each of the other captured images IP2 to IP7. Detect from.
- a method for detecting the corresponding pixel corresponding to the target pixel of the target image IP1 from each of the captured images IP2 to IP7 for example, as described above, a method using the principle of triangulation such as stereo matching or multi-baseline stereo There is.
- a vector representing a positional shift between the target pixel of the target image IP1 and the corresponding pixel of the captured image IP # i is referred to as a parallax vector v # i, 1.
- the disparity information generating unit 31 obtains disparity vectors v2,1 to v7,1 for each of the captured images IP2 to IP7. Then, the disparity information generating unit 31 performs, for example, a majority decision on the magnitudes of the disparity vectors v2,1 to v7,1, and determines the magnitude of the disparity vector v # i, 1 that has won the majority decision as the target pixel. The parallax of (position) is obtained.
- the imaging device 11 as described with reference to FIG. 2, the reference camera unit 21 1 for capturing a target image IP1, the distance between each surrounding the camera unit 21 2 to 21 7 to shoot IP7 to free the captured image IP2
- the direction is set as the parallax vectors v2,1 to v7,1. Different but equal magnitude vectors are sought.
- the disparity vectors v2,1 to v7,1 are vectors having the same magnitude in the directions of the viewpoints vp2 to vp7 of the other captured images IP2 to IP7 with respect to the viewpoint vp1 of the target image IP1.
- an image in which occlusion occurs that is, an image in which the real space point reflected in the target pixel of the target image IP1 is hidden behind the foreground.
- the disparity vector v # i having a different size from the disparity vector v # j, 1 of the captured image IP # j in which the real space point reflected in the target pixel of the target image IP1 is shown. , 1 is required.
- the disparity information generation unit 31 performs a majority vote on the magnitudes of the disparity vectors v2,1 to v7,1 and determines the magnitude of the disparity vector v # i, 1 that has won the majority vote. And obtained as the parallax of the pixel of interest.
- disparity vectors v2,1 to v7,1 three disparity vectors v2,1, v3,1, v7,1 are vectors having the same size. Further, for each of the disparity vectors v4, 1, v5, 1, v6, 1, there is no disparity vector having the same magnitude.
- the pixel of interest of the target image IP1 the direction of parallax with any captured image IP # i
- the target image IP1 viewpoint vp1 position of the camera unit 21 1
- the viewpoint vp # i of the photographed image IP # i It can be recognized from the positional relationship with (the position of the camera unit 21 i ).
- the parallax information generation unit 31 sequentially selects each pixel of the target image IP1 as the target pixel, and obtains the parallax. Then, the parallax information generation unit 31 generates, as a parallax map, a map in which the parallax of the pixel is registered for the position (xy coordinate) of each pixel of the target image IP1. Therefore, the parallax map is a map (table) in which the position of a pixel is associated with the parallax of the pixel.
- the parallax map of the viewpoint vp # i of the other captured image IP # i can be generated in the same manner as the parallax map of the viewpoint vp # 1.
- the majority of the parallax vectors is determined based on the viewpoint vp # i of the captured image IP # i and the captured image IP # j other than the captured image IP # i. This is performed by adjusting the magnitude of the parallax vector based on the positional relationship with the viewpoint vp # j (the positional relationship between the camera units 21 i and 21 j ).
- the parallax vector obtained between the focused image IP5 and the captured image IP2 is captured with the focused image IP5. It becomes twice the size of the disparity vector obtained between the image IP1.
- baseline length is the distance of the optical axis to each other with the camera unit 21 1 for capturing a photographic image IP1 is whereas the distance D, the image of interest IP5 baseline length between the camera unit 21 5 to shoot, the camera unit 21 2 for photographing a photographed image IP2 of is because that is a distance 2L.
- the distance D is a base length of the other camera units 21 i, when the fact that the reference base length, the majority of the disparity vector, the base line length reference base length D This is done by adjusting the magnitude of the parallax vector so that
- a camera unit 21 5 for capturing an image of interest IP5 base length D of the base camera unit 21 1 for capturing a photographic image IP1 is equal to the reference base length D, the target image IP5 and the photographed image IP1 The magnitude of the disparity vector obtained between them is adjusted to 1 time.
- a camera unit 21 5 for capturing an image of interest IP5 baseline length 2D of the camera unit 21 2 for photographing a photographed image IP2 is equal to twice the reference base length D, the target image IP5 and the photographed image IP2 resulting disparity vector between, its size is adjusted to 1/2 (the value times the ratio of the base length 2D of the reference base length D, the camera unit 21 5 and the camera unit 21 2) .
- the parallax vector obtained between the target image IP5 and the other captured image IP # i is also adjusted to a value multiplied by the ratio with the reference baseline length D.
- the majority of the disparity vectors is determined using the disparity vector after the size adjustment.
- the parallax of the captured image IP # i (each pixel thereof) can be obtained, for example, with the accuracy of the pixels of the captured image captured by the imaging device 11.
- the parallax of the captured image IP # i can be obtained, for example, with a pixel precision (for example, an accuracy of 1/4 pixel or the like) that is finer than the pixel of the captured image IP # i.
- the parallax with sub-pixel accuracy can be used as it is, and the decimal point of the sub-pixel accuracy is rounded down, rounded up, or rounded off. It can also be used as an integer.
- the accuracy of removing the obstacle reflected in the photographed image and reproducing the hidden part hidden behind the obstacle in the photographed image is the accuracy of the parallax generated by the disparity information generating unit 31. A big influence.
- FIG. 11 is a diagram illustrating an example of setting a removal area by the removal area setting unit 41 in FIG.
- a wire mesh as an obstacle reflected in the image img1 and raindrops attached to the glass as an obstacle reflected in the image img3 are distributed in a two-dimensional plane in real space.
- the removal area setting unit 41 can set a predetermined two-dimensional plane in the real space as the removal area in order to remove obstacles distributed in a two-dimensional plane in the real space.
- the removal area setting unit 41 can set a removal area by moving a two-dimensional plane serving as a removal area according to a user operation.
- the removal area setting unit 41 can automatically set the removal area.
- FIG. 12 is a diagram illustrating a GUI display example that the control unit 33 causes the display device 13 to display when the removal area is set by moving a two-dimensional plane serving as the removal area according to a user operation. .
- Control unit 33 the captured image (e.g., taken by the camera unit 21 1 shot image IP1, etc.), by superimposing the removal area of the two-dimensional plane (GUI) of, on the display device 13.
- GUI two-dimensional plane
- the photographed image includes a desired subject and a wire mesh as an obstacle on the front side of the desired subject.
- the control unit 33 moves the two-dimensional plane (GUI) serving as a removal area in the depth direction in accordance with a user operation.
- GUI two-dimensional plane
- the removal area is arranged on the front side of the desired subject and further on the front side of the obstacle in front of the desired subject. Therefore, both the desired subject and (part of) the wire mesh as an obstacle are hidden behind the removal area and are not visible.
- Whether or not the subject shown in the captured image is hidden behind the removal area is determined based on the positional relationship between the position in the depth direction of the subject obtained from the parallax map and the position in the depth direction of the two-dimensional plane as the removal area. be able to.
- the removal area is arranged behind the wire mesh as an obstacle and further to the desired subject behind the wire mesh. Therefore, both the desired subject and the wire mesh as an obstacle are visible.
- the removal area is arranged at the position of the wire mesh as an obstacle. Therefore, the desired subject behind the wire mesh as the obstacle is hidden behind the removal area, but the wire mesh as the obstacle is arranged on the two-dimensional plane as the removal area. It is displayed in a visible state.
- the user performs an operation of moving the removal area in the depth direction in the real space while viewing the GUI displayed on the display device 13 as shown in FIG. 12, and the removal area includes a wire mesh as an obstacle.
- a two-dimensional plane serving as a removal area can be set at such a position.
- FIG. 13 is a diagram for explaining an example of a method for automatically setting a two-dimensional plane as a removal area.
- the removal area setting unit 41 can set the removal area using a parallax map.
- FIG. 13A shows a state in which, using a parallax map, for example, a two-dimensional plane including an object distributed in a planar shape located closest to the front side in real space is set as a removal area.
- a parallax map for example, a two-dimensional plane including an object distributed in a planar shape located closest to the front side in real space is set as a removal area.
- a subject distributed in a planar shape located closest to the front is estimated to be an obstacle, and includes a subject distributed in such a planar shape 2
- a dimension plane is set as the removal area.
- a real space point corresponding to each pixel of the photographed image IP # i that is, a position in the real space of the subject shown in each pixel of the photographed image IP # i (for example, a position based on the photographing device 11) is a photographed image. It can be obtained from the pixel position (xy coordinate) of IP # i and the parallax of the pixel.
- the removal area setting unit 41 obtains a real space point corresponding to each pixel of the captured image IP # i, and a set (group) of real space points distributed in a plane exists in the real space point.
- the closest two-dimensional plane can be set as the removal area.
- an obstacle shown in the image img1 in FIG. 5 can be obtained by setting, for example, the nearest two-dimensional plane in the two-dimensional plane in which a collection of real space points is distributed as the removal area.
- a two-dimensional plane including a position where a raindrop or the like on the glass as an obstacle reflected in the image img3 is present can be set as the removal area.
- a two-dimensional plane in which a collection of real space points is distributed can be obtained by principal component analysis, for example.
- FIG. 13B is a diagram illustrating a method for obtaining a two-dimensional plane in which a collection of real space points is distributed by principal component analysis.
- the removal area setting unit 41 obtains a real space point corresponding to each pixel of the captured image IP # i using a parallax map (a parallax registered in), and in the real space reflected in the captured image IP # i, A rectangular parallelepiped space having a small thickness is set as an obstacle estimation space in which an obstacle is estimated to exist.
- the removal area setting unit 41 performs a principal component analysis on a real space point in the obstacle estimation space to obtain a first principal component and a second principal component.
- the removal area setting unit 41 obtains the average (centroid) coordinates of the real space points in the obstacle estimation space, passes through the average coordinates, sets the direction of the first principal component as the x-axis, and the second principal component.
- the removal area setting unit 41 obtains a two-dimensional plane as a candidate for the removal area, for example, while moving the obstacle estimation space from the front side to the back side of the real space reflected in the captured image IP # i.
- the removal area setting unit 41 varies the real space points in the obstacle estimation space with respect to the two-dimensional plane as the removal area candidate (for example, the two-dimensional plane as the removal area candidate and the obstacle estimation space). Sum of distances from real space points).
- the removal area setting unit 41 determines the two-dimensional as the removal area candidate. Set the plane as the removal area.
- FIG. 14 is a flowchart illustrating an example of removal area setting processing for setting a removal area using a parallax map as described in FIG.
- step S31 the removal area setting unit 41 uses a disparity map of a certain viewpoint vp # i, and a real space point in the real space reflected in the captured image IP # i of the viewpoint vp # i, that is, the captured image IP #. A real space point corresponding to each pixel of i is obtained, and the process proceeds to step S32.
- step S32 the removal area setting unit 41 sets the obstacle estimation space, for example, at the position closest to the real space shown in the captured image IP # i, and the process proceeds to step S33.
- step S33 the removal area setting unit 41 obtains the average coordinates of the real space point group in the obstacle estimation space, and the process proceeds to step S34.
- step S34 the removal area setting unit 41 obtains a first principal component by performing a principal component analysis of a real space point group in the obstacle estimation space, and passes the average coordinates in the direction of the first principal component.
- the axis is determined as the x-axis, and the process proceeds to step S35.
- step S35 the removal area setting unit 41 obtains a second principal component orthogonal to the first principal component by performing a principal component analysis of a real space point group in the obstacle estimation space, and determines the second principal component.
- the axis passing through the average coordinate of the direction is obtained as the y axis, and the process proceeds to step S36.
- step S36 the removal area setting unit 41 is defined by the x axis (first principal component) obtained in the immediately preceding step S34 and the y axis (second principal component) obtained in the immediately preceding step S35.
- a two-dimensional plane is obtained as a candidate for the removal area.
- the removal area setting unit 41 obtains the variation of the real space point in the obstacle estimation space with respect to the two-dimensional plane as the removal area candidate, and the process proceeds to step S37.
- step S37 the removal area setting unit 41 determines whether or not the variation of the real space point in the obstacle estimation space with respect to the removal area candidate is equal to or greater than a threshold value.
- step S37 when it is determined that the variation of the real space point in the obstacle estimation space with respect to the removal area candidate is equal to or greater than the threshold value, that is, (at least a part of) the real space point in the obstacle estimation space. If the distribution is not flat, the process returns to step S32.
- step S32 the removal area setting unit 41 newly sets an obstacle estimation space, for example, at a position moved a predetermined distance away from the current position of the obstacle estimation space. repeat.
- Step S37 when it is determined that the variation of the real space point in the obstacle estimation space with respect to the removal area candidate is not equal to or greater than the threshold value, that is, the real space points in the obstacle estimation space are distributed in a planar shape. If so, the process proceeds to step S38.
- step S38 the removal area setting unit 41 sets a two-dimensional plane as a removal area candidate as the removal area, and the removal area setting process ends.
- FIG. 15 is a diagram for explaining another example of setting of the removal area in the removal area setting unit 41 of FIG.
- the removal area setting unit 41 can set a two-dimensional plane as a removal area, and can also set an area occupied by a subject specified by the user in the real space as a removal area.
- a real space point corresponding to a pixel having one or both of a pixel value and a parallax similar to the pixel specified by the user is set in the removal area. be able to.
- a tower as a desired subject is reflected in the photographed image, and an electric wire as an obstacle is reflected in front of the tower.
- the control unit 33 (FIG. 4) can cause the display device 13 to display the photographed image as described above.
- the user can designate an obstacle by touching a part of the obstacle reflected in the captured image displayed on the display device 13 with a finger or a pointing device.
- the removal area setting unit 41 detects a pixel in which one or both of the pixel value and the parallax are similar to a pixel of the captured image (hereinafter, also referred to as a touch pixel) designated by the user by touching the captured image.
- a touch pixel a pixel of the captured image
- An area formed by real space points corresponding to such pixels is set as a removal area.
- the captured image is displayed on the display device by changing the color or luminance of the pixel so that the pixel corresponding to the real space point forming the removal area can be seen. 13 can be displayed.
- the control unit 33 can display the parallax map on the display device 13 so that the pixels corresponding to the real space points forming the removal area can be known.
- the horizontal axis and the vertical axis are the pixel positions, and the parallax of the pixels at each position is represented by shading.
- the user may check the removal area (whether or not it has been set as an obstacle area) by looking at the captured image or parallax map displayed so that the pixels corresponding to the real space points forming the removal area can be understood. it can.
- FIG. 16 is a diagram for explaining an outline of an example of obstacle removal processing by the removal unit 42 (FIG. 4).
- the removal unit 42 uses the parallax map of the viewpoint vp # i from the parallax information generation unit 31 and the removal area from the removal area setting unit 41, and uses the captured image IP # i from the imaging device 11 to capture the captured image.
- a removed photographed image RIP # i in which an obstacle in the removal area shown in IP # i is removed and a mask flag image are generated.
- the removal unit 42 displays the real space reflected in the captured image IP # i.
- the removed photographed image RIP # i is obtained by removing the pixels of the photographed image IP # i corresponding to the real space points in the removal area among the real space points of the subject in the image as obstacle pixels in which the obstacle is reflected. Generate.
- the removal unit 42 has a mask flag image having a pixel value of a 1-bit mask flag indicating the presence or absence of a pixel at the same position in the removed photographed image RIP # i, that is, a photographed image.
- a mask flag image representing a pixel that is an obstacle pixel in the image IP # i is generated.
- the mask flag as the pixel value of the pixel at the same position as the obstacle pixel represents the obstacle pixel, for example, is set to 1 as the pixel value of the pixel at the same position as the pixel that is not the obstacle pixel
- the mask flag is set to 0, for example, representing a pixel that is not an obstacle pixel.
- the part represented by white represents that the pixel of the photographed image IP # i is an obstacle pixel
- the part represented by black represents that the pixel of the photographed image IP # i is not an obstacle pixel.
- the pixel value of the photographed image IP # i is, for example, an 8-bit R (Red) value, an 8-bit G (Green) value, and an 8-bit B (Blue) value, for a total of 24 bits.
- the pixel value of the pixel of the removed photographed image RIP # i is composed of 24 bits, similar to the pixel value of the pixel of the photographed image IP # i.
- the pixel value of the pixel is expanded from 24 bits by 1 bit to 25 bits, and the pixel value (mask flag) of the mask flag image is set at the 25th bit. can do.
- the mask flag image is constituted by the 25th bit of the pixel value of each pixel of the removed photographed image RIP # i.
- FIG. 17 is a flowchart for explaining an example of obstacle removal processing by the removal unit 42.
- the flowchart of FIG. 17 represents an obstacle removal process performed using a pixel at a certain coordinate (x, y) of a captured image IP # i of a certain viewpoint vp # i as a target pixel.
- the obstacle removal process in FIG. 17 is performed using all pixels of the captured images of all viewpoints as the target pixel.
- the coordinates (x, y) of the captured image IP # i are, for example, 2 as the origin at the upper left point of the captured image IP # i, and the horizontal and vertical directions as the x axis and the y axis, respectively.
- the coordinates of the dimensional coordinate system are, for example, 2 as the origin at the upper left point of the captured image IP # i, and the horizontal and vertical directions as the x axis and the y axis, respectively.
- step S41 the removal unit 42 acquires the parallax d of the target pixel, which is the pixel at the coordinates (x, y) of the captured image IP # i of the viewpoint vp # i, from the parallax map. Furthermore, the removal unit 42 calculates a real space point corresponding to the target pixel (a real space point reflected in the target pixel) from the coordinate (x, y) of the target pixel and the parallax d of the target pixel. And the process proceeds from step S41 to step S42.
- step S42 the removal unit 42 determines whether or not the real space point of interest is in the removal area.
- step S42 If it is determined in step S42 that the real space point of interest is in the removal area, the processing is, that is, if the real space point of interest is a point on the subject that is an obstacle, Proceed to step S43.
- step S43 the removal unit 42 uses the mask flag that is the pixel value of the coordinates (x, y) of the mask flag image of the viewpoint vp # i (the mask flag image for the removed photographed image RIP # i), and the pixel of interest is an obstacle. It is set to 1 indicating that it is a pixel, and the process proceeds to step S44.
- step S44 the removal unit 42 sets the pixel value of the coordinates (x, y) of the removed photographed image RIP # i of the viewpoint vp # i to 0 that represents the removal of the obstacle pixel, and the obstacle removal process ends. To do.
- the pixel value of the obstacle pixel in the removed photographed image RIP # i is preferably 0.
- step S42 determines whether the real space point of interest is in the removal area. If it is determined in step S42 that the real space point of interest is not in the removal area, the process proceeds to step S45 if the real space point of interest is not a point on the obstacle. move on.
- step S45 the removal unit 42 sets the mask flag that is the pixel value of the coordinates (x, y) of the mask flag image of the viewpoint vp # i to 0 indicating that the pixel of interest is not an obstacle pixel, The process proceeds to step S46.
- step S46 the removal unit 42 sets the pixel value of the coordinate (x, y) of the removed captured image RIP # i of the viewpoint vp # i to the pixel value of the target pixel, and the obstacle removal process ends.
- FIG. 18 is a flowchart for explaining an example of viewpoint conversion processing by the viewpoint conversion unit 51 (FIG. 4).
- the flowchart of FIG. 18 represents a viewpoint conversion process performed by using a pixel at a certain coordinate (x, y) of a removed captured image RIP # i of a certain viewpoint vp # i as a target pixel.
- the viewpoint conversion process of FIG. 18 is performed using all pixels of the removed captured image of all viewpoints as the target pixel.
- step S51 the viewpoint conversion unit 51 acquires the parallax d of the target pixel at the coordinates (x, y) of the removed captured image RIP # i of the viewpoint vp # i from the parallax map. Furthermore, the removal unit 42 calculates a real space point corresponding to the target pixel (a real space point reflected in the target pixel) from the coordinate (x, y) of the target pixel and the parallax d of the target pixel. The process proceeds from step S51 to step S52.
- the real space point is coordinated by a three-dimensional coordinate system in which the optical axis direction of the imaging device 11 (camera unit 21 i ) is the z-axis and the two-dimensional plane orthogonal to the z-axis is the xy plane.
- a real space point with coordinates (x, y, z) is also referred to as a real space point (x, y, z).
- step S52 the viewpoint conversion unit 51 converts the target real space point (x, y, z) into pixel coordinates (x 0 , y 0 ) and parallax d 0 of a virtual image captured from a predetermined viewpoint. After conversion, the process proceeds to step S53.
- the predetermined viewpoint the viewpoint vp # i of one of the camera units 21 i constituting the imaging device 11, for example, can be adopted a reference camera unit 21 1 viewpoint vp1 like.
- the predetermined viewpoint a viewpoint different from the viewpoint vp # i of any camera unit 21 i constituting the photographing apparatus 11 can be adopted.
- step S52 when the target real space point (x, y, z) is photographed from a predetermined viewpoint, the coordinates (x 0 , y 0 ) of the pixel in which the target real space point (x, y, z) appears. And parallax d 0 are obtained.
- step S53 the viewpoint conversion unit 51 acquires a registered parallax d 0 ′ that is a parallax registered with respect to the coordinates (x 0 , y 0 ) from the viewpoint conversion parallax map for the viewpoint vp # i. The process proceeds to step S54.
- the viewpoint conversion parallax map for the viewpoint vp # i is a parallax map used for the viewpoint conversion processing of the removed captured image RIP # i of the viewpoint vp # i.
- the entity of the viewpoint conversion parallax map for the viewpoint vp # i is a storage area, and the storage area as the viewpoint conversion parallax map for the viewpoint vp # i is the removed captured image RIP # of the viewpoint vp # i. Secured before the i viewpoint conversion process starts.
- the initial value of the registered parallax d 0 ′ (for each pixel) in the parallax map for viewpoint conversion for the viewpoint vp # i is set to 0 (infinity), for example.
- step S54 the viewpoint conversion unit 51, the parallax d 0 of the coordinate on the virtual image (x 0, y 0) are perspective vp # disparity map coordinates for the viewpoint conversion for i (x 0, y 0) ( It is determined whether or not the parallax is closer to the registered parallax d 0 ′ than the registered parallax d 0 ′.
- step S54 when it is determined that the parallax d 0 is not a parallax before the registered parallax d 0 ′, that is, as a subject that can appear in the pixel at the coordinates (x 0 , y 0 ) on the virtual image, the parallax d If there is a real space point (x, y, z) of 0 and a real space point of registered parallax d 0 ′, the real space point (x, y, z) of parallax d 0 is registered parallax d When the real space point of interest (x, y, z) of parallax d 0 does not appear in the pixel of the coordinates (x 0 , y 0 ) on the virtual image because it is not in front of the real space point of 0 ' The viewpoint conversion process (of the target pixel) ends.
- step S54 when it is determined in step S54 that the parallax d 0 is a parallax before the registered parallax d 0 ′, that is, as a subject that can appear in the pixel at the coordinates (x 0 , y 0 ) on the virtual image.
- step S55 when there is a real space point of registration disparity d 0 ', focused real spatial point of the disparity d 0 (x, y, z ) is, There in front of the real spatial point of registration disparity d 0 ', therefore, focused real spatial point of the disparity d 0 (x, y, z ) is, projected on the pixel coordinates on the virtual image (x 0, y 0) If so, processing proceeds to step S55.
- step S55 the viewpoint conversion unit 51 sets the pixel value of the pixel at the coordinates (x 0 , y 0 ) of the viewpoint converted image VCP # i for the viewpoint vp # i to the target real space point (x, y, z).
- the corresponding pixel value of the target pixel at the coordinates (x, y) of the removed captured image RIP # i of the viewpoint vp # i is registered, and the process proceeds to step S56.
- the viewpoint conversion image VCP # i with respect to the viewpoint vp # i is an image obtained by photographing the subject shown in the removed photographed image RIP # i of the viewpoint vp # i from a predetermined viewpoint (if the photographed from the predetermined viewpoint) Image that will be obtained).
- the entity of the viewpoint converted image VCP # i with respect to the viewpoint vp # i is a storage area, and the storage area as the viewpoint converted image VCP # i with respect to the viewpoint vp # i is used for viewpoint conversion with respect to the viewpoint vp # i.
- the viewpoint vp # i is secured before the viewpoint conversion processing of the removed captured image RIP # i is started.
- the initial value of the pixel value of each pixel of the viewpoint converted image VCP # i for the viewpoint vp # i is set to 0, for example.
- step S56 the viewpoint conversion unit 51 overwrites the already registered registered parallax d 0 ′ with respect to the coordinates (x 0 , y 0 ) of the parallax map for viewpoint conversion for the viewpoint vp # i. , the pixel coordinates on the virtual image (x 0, y 0), i.e., registers the disparity d 0 of the pixel of the viewpoint vp # i viewpoint conversion image VCP # i of coordinates for (x 0, y 0).
- the registered parallax d 0 ′ instead of the registered parallax d 0 ′ already registered, the registered parallax d 0 ′ also disparity d 0 in front is registered.
- step S56 the viewpoint conversion processing unit 51, as the pixel value of the coordinate of the conversion mask flag images for viewpoints vp # i (x 0, y 0), the mask viewpoint vp # i A mask flag as a pixel value of the coordinates (x, y) of the flag image is registered, and the viewpoint conversion process ends.
- step S57 in response to the removal of the viewpoint vp # i from the viewpoint Vp # i converted to the viewpoint conversion image VCP # i for the predetermined viewpoint vp # i in step S55.
- the mask flag image of the viewpoint vp # i is converted into a conversion mask flag image for the viewpoint vp # i.
- the entity of the conversion mask flag image for the viewpoint vp # i is a storage area, and the storage area as the conversion mask flag image for the viewpoint vp # i is the same as the parallax map for viewpoint conversion for the viewpoint vp # i.
- the viewpoint vp # i is secured before the viewpoint conversion process of the removed captured image RIP # i is started.
- the initial value of the pixel value (mask flag) of each pixel of the conversion mask flag image for the viewpoint vp # i is set to 1, for example, representing an obstacle pixel (a pixel in which an obstacle appears).
- viewpoint conversion parallax map for the viewpoint vp # i is used to convert the removed captured image RIP # i of the viewpoint vp # i into the viewpoint converted image VCP # i of the predetermined viewpoint vp # i. It is not necessary to hold the parallax map after the end of the viewpoint conversion process.
- a total of 24 bits are assigned to the pixel value of the captured image IP # i, which is an 8-bit R value, an 8-bit G value, and an 8-bit B value. If so, the pixel value of the pixel of the viewpoint converted image VCP # i for the viewpoint vp # i is composed of 24 bits, similar to the pixel value of the pixel of the captured image IP # i.
- the pixel value is expanded from 24 bits by 1 bit to 25 bits, as in the removed captured image RIP # i described in FIG.
- the pixel value of the conversion mask flag image can be set.
- the conversion mask flag image is configured by the 25th bit of the pixel value of each pixel of the viewpoint conversion image VCP # i for the viewpoint vp # i.
- FIG. 19 is a diagram for explaining the outline of the overlay process by the overlay unit 52 (FIG. 4).
- imaging device 11 is, for example, as shown in FIG. 3, it consists of five camera units 21 1 to 21 5, to the photographed image IP1 not the five viewpoints and that IP5 is photographed .
- a predetermined viewpoint in the viewpoint conversion processing in the viewpoint conversion unit 51 for example, the adoption of the reference camera unit 21 1 viewpoint vp1.
- viewpoint conversion images VCP1 to VCP5 for the viewpoints vp1 to vp5 are obtained.
- the viewpoint conversion images VCP1 to VCP5 for the viewpoints vp1 to vp5 are all images taken from a predetermined viewpoint (images of a predetermined viewpoint), and the viewpoint conversion images VCP1 to VCP5 for the viewpoints vp1 to vp5 are respectively If the same real space point that is not an obstacle is seen from the viewpoints vp1 to vp5, the same real space point appears in the pixel at the same position.
- the superimposing unit 52 superimposes the viewpoint conversion images VCP1 to VCP5 on the viewpoints vp1 to vp5, so that the subject excluding the obstacle from the subjects shown in the captured images IP1 to IP5 is displayed from a predetermined viewpoint (here, the viewpoint vp1).
- the viewed image is generated as a superimposed image of a predetermined viewpoint.
- the superimposed image of the predetermined viewpoint is an obstacle removal image in which no obstacle is reflected when the desired subject is viewed from the predetermined viewpoint.
- the pixel value of the target pixel of interest in the superimposed image is the same as the target pixel of each of the viewpoint converted images VCP1 to VCP5. It is determined using one or more pixels at the position.
- a certain real space point on the desired subject is shown in the pixel at a predetermined position of the viewpoint conversion image VCP # i for a certain viewpoint vp # i, but for the other viewpoint vp # i ' There may be a case where the same real space point is not reflected behind the obstacle in the pixel at the predetermined position of the viewpoint conversion image VCP # i ′.
- the superposition unit 52 recognizes an obstacle pixel in which an obstacle appears in the viewpoint conversion image VCP # i for the viewpoint vp # i from the conversion mask flag image for the viewpoint vp # i. Then, the superimposing unit 52 superimposes predetermined viewpoints using pixels that are not obstacle pixels among the pixels at the same position as the target pixel in the viewpoint converted images VCP1 to VCP5 for the viewpoints vp1 to vp5. The pixel value of the target pixel of the image is obtained.
- each of the viewpoint converted images VCP1 to VCP5 for the viewpoints vp1 to vp5 has no pixel value in any of the pixels at the same position as the target pixel, that is, for example, the viewpoint converted images VCP1 to VCP1 to the viewpoints vp1 to vp5
- the target pixel of the superimposed image is a missing pixel having no pixel value.
- the superimposing unit 52 generates a superimposed image and generates an undetermined flag image indicating whether each pixel of the superimposed image is a missing pixel in which a pixel value is missing.
- the pixel value of each pixel of the indeterminate flag image is a 1-bit indeterminate flag indicating whether or not the pixel at the same position in the superimposed image is a missing pixel.
- FIG. 20 is a diagram for explaining an example of a method for obtaining the pixel value of the target pixel of interest in the superimposed image in the superimposing process by the superimposing unit 52 (FIG. 4).
- an average value of pixel values of pixels that are not obstacle pixels among the pixels at the same position as the target pixel of the viewpoint conversion images VCP1 to VCP5 for the viewpoints vp1 to vp5 It can be obtained as the pixel value of the target pixel of the superimposed image of the viewpoint.
- pixels that are not obstacle pixels (hereinafter also referred to as non-obstacle pixels) among the pixels at the same position as the target pixel in the viewpoint converted images VCP1 to VCP5 for the viewpoints vp1 to vp5. 1) is selected as the selected pixel, and the pixel value of the selected pixel can be obtained as the pixel value of the target pixel of the superimposed image at a predetermined viewpoint.
- a method of obtaining the pixel value of the selected pixel as the pixel value of the target pixel of the superimposed image at a predetermined viewpoint is referred to as a selected pixel method.
- FIG. 20 is a diagram for explaining the selected pixel method.
- the gravity center # 1 in the RGB color space of the pixel value of the non-obstacle pixel at the same position as the target pixel of each of the viewpoint converted images VCP1 to VCP5 for the viewpoints vp1 to vp5 is obtained.
- the non-obstacle pixel whose pixel value is closest to the centroid # 1 is selected.
- a pixel value is selected as the pixel, and the pixel value of the selected pixel is obtained as the pixel value of the target pixel of the superimposed image at a predetermined viewpoint.
- the non-obstacle pixels whose pixel values are farthest from the center of gravity # 1 are excluded from the non-obstacle pixels at the same position as the target pixel in the viewpoint conversion images VCP1 to VCP5 for the viewpoints vp1 to vp5. It is burned. Furthermore, in the selected pixel method, the non-obstacle pixels whose pixel values are farthest from the center of gravity # 1 are excluded from the non-obstacle pixels at the same position as the target pixel in the viewpoint conversion images VCP1 to VCP5 for the viewpoints vp1 to vp5. The center of gravity # 2 of the pixel values of the remaining non-obstacle pixels is obtained.
- the non-obstacle pixel whose pixel value is closest to the centroid # 2 is selected.
- a pixel value is selected as the pixel, and the pixel value of the selected pixel is obtained as the pixel value of the target pixel of the superimposed image at a predetermined viewpoint.
- FIG. 21 is a diagram for explaining interpolation processing by the interpolation unit 53 (FIG. 4).
- the interpolation unit 53 recognizes the missing pixel of the superimposed image using the unconfirmed flag image. Then, the interpolation unit 53 generates an obstacle-removed image of the viewpoint vp # 1 as a predetermined viewpoint by interpolating the missing pixels of the superimposed image using the pixel values of the pixels near the missing pixels. .
- one or more non-missing pixels among neighboring pixels adjacent to the missing pixel are not one or more missing pixels.
- the interpolation unit 53 can obtain, for example, an average value or a median value of pixel values of adjacent pixels and non-missing pixels as the pixel value of the missing pixel.
- the interpolation unit 53 uses, for example, the pixel value of the non-missing pixel in the direction around the missing pixel, Missing pixels can be interpolated.
- the interpolation unit 53 can obtain the pixel value of the missing pixel by, for example, weighted addition of the pixel values of the non-missing pixels in an equiangular direction around the missing pixel.
- FIG. 21 shows an example of a method of obtaining pixel values of missing pixels by weighted addition of pixel values of non-missing pixels in an equiangular direction around the missing pixels.
- the pixel value of the missing pixel is obtained by weighted addition of the pixel values of the non-missing pixels in an equiangular direction around the missing pixel, for example, the equiangular 8 around the missing pixel P, for example, every 45 degrees.
- the eight non-missing pixels P 1 to P 8 closest to the missing pixel P in the direction are detected as interpolation pixels used for interpolation of the missing pixel P.
- the pixel value of the missing pixel P and interpolated pixels P k together represent the P and P k, respectively, missing pixel P and the distance between the interpolation pixel P k, When is represented as L k, missing pixel P
- the pixel used as the interpolation pixel is the equiangular direction around the missing pixel. It is not limited to eight non-missing pixels. That is, as the interpolation pixel, for example, four or sixteen non-missing pixels in the same angle direction around the missing pixel can be employed.
- the pixel value of the missing pixel P has an R value, a B value, and a G value
- the R value, the B value, and the G value as the pixel value of the missing pixel P are the respective color components. Every one is required.
- a removed captured image from which a part of the subject has been removed is generated from the captured image, and the captured image is removed.
- An obstacle-removed image at a predetermined viewpoint is generated by superimposing images using parallax information. Therefore, it is possible to obtain an obstacle removal image in which no obstacle is reflected using the parallax information.
- the image processing apparatus 12 of the image processing system in FIG. 1 generates an obstacle removal image in which an obstacle is not reflected as described above from a plurality of photographed images, as well as a desired subject from a plurality of photographed images. Refocusing can be performed to generate an image in which an arbitrary subject is focused.
- a part of the image processing can be performed by a server on the cloud, and the rest of the image processing can be performed by a client on the user side.
- the client can transmit captured images from a plurality of viewpoints to the server, and the server can generate a high-precision parallax map and provide the parallax map to the client.
- the client uses the parallax map to set a removal area and transmits it to the server.
- the server uses the captured image and the removal area from the client and the previously generated parallax map to remove the obstacle removal image. Can be generated and provided to the client.
- the obstacle removal image from the server is displayed. If the obstacle removal image is not the image intended by the user, the process is repeated from the setting of the removal area on the client.
- the server performs the disparity information generation process in step S12 in FIG. 9, the obstacle removal process in step S14, the viewpoint conversion process in step S15, the overlay process in step S16, and the interpolation process in step S17.
- the other processes steps S11, S13, S18, S19 of FIG. 9 are performed.
- Figure 22 is a photographing device 11, for example, as shown in FIG. 3, it consists of five camera units 21 1 to 21 5, when the IP5 is taken to not photographed image IP1 of vp5 to five viewpoints vp1 no
- FIG. 10 is a diagram for explaining an overview of image processing of the image processing apparatus 12 performed on the captured images IP1 to IP5 of the five viewpoints vp1 to vp5.
- a parallax map is generated for each of the captured images IP1 to IP5.
- the image processing device 12 generates removed photographed images RIP1 to RIP5 from the photographed images IP1 to IP5 using the parallax map, and the removed photographed images RIP1 to RIP5 are used as predetermined viewpoints, for example.
- the viewpoint converted images VCP1 to VCP5 viewed from the viewpoint vp1 of the captured image IP1 are converted.
- the viewpoint conversion image VCP1 matches the removed captured image RIP1.
- the image processing device 12 superimposes the viewpoint conversion images VCP1 to VCP5, generates a superimposed image, and interpolates the missing pixels of the superimposed image, so that the obstacle viewed from the viewpoint vp1 as a predetermined viewpoint is detected. An obstacle removal image that is not shown is generated.
- FIG. 23 shows a case where the photographing apparatus 11 is composed of, for example, three camera units 21 1 to 21 3 and photographed images IP1 to IP3 of three viewpoints vp1 to vp3 are photographed as shown in FIG.
- FIG. 10 is a diagram for explaining an overview of image processing of the image processing apparatus 12 performed on the captured images IP1 to IP3 of the three viewpoints vp1 to vp3.
- a parallax map is generated for each of the captured images IP1 to IP3.
- the image processing device 12 generates removed photographed images RIP1 to RIP3 from the photographed images IP1 to IP3, respectively, using the parallax map. Further, the removed photographed images RIP1 to RIP3 are used as predetermined viewpoints, for example, The viewpoint converted images VCP1 to VCP3 viewed from the viewpoint vp1 of the captured image IP1 are converted. When the predetermined viewpoint is the viewpoint vp1, the viewpoint conversion image VCP1 matches the removed captured image RIP1.
- the image processing device 12 superimposes the viewpoint conversion images VCP1 to VCP3, generates a superimposed image, and interpolates the missing pixels of the superimposed image, so that the obstacle viewed from the viewpoint vp1 as a predetermined viewpoint is detected. An obstacle removal image that is not shown is generated.
- the series of image processing of the image processing apparatus 12 described above can be performed by hardware or software.
- a program constituting the software is installed in a general-purpose computer or the like.
- FIG. 24 is a block diagram illustrating a configuration example of an embodiment of a computer in which a program for executing the above-described series of processes is installed.
- the program can be recorded in advance in a hard disk 105 or a ROM 103 as a recording medium built in the computer.
- the program can be stored (recorded) in the removable recording medium 111.
- a removable recording medium 111 can be provided as so-called package software.
- examples of the removable recording medium 111 include a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto Optical) disc, a DVD (Digital Versatile Disc), a magnetic disc, and a semiconductor memory.
- the program can be installed on the computer from the removable recording medium 111 as described above, or can be downloaded to the computer via the communication network or the broadcast network and installed on the built-in hard disk 105. That is, the program is transferred from a download site to a computer wirelessly via a digital satellite broadcasting artificial satellite, or wired to a computer via a network such as a LAN (Local Area Network) or the Internet. be able to.
- a network such as a LAN (Local Area Network) or the Internet.
- the computer includes a CPU (Central Processing Unit) 102, and an input / output interface 110 is connected to the CPU 102 via the bus 101.
- CPU Central Processing Unit
- the CPU 102 executes a program stored in a ROM (Read Only Memory) 103 accordingly. .
- the CPU 102 loads a program stored in the hard disk 105 into a RAM (Random Access Memory) 104 and executes it.
- the CPU 102 performs processing according to the flowchart described above or processing performed by the configuration of the block diagram described above. Then, the CPU 102 outputs the processing result as necessary, for example, via the input / output interface 110, from the output unit 106, transmitted from the communication unit 108, and further recorded in the hard disk 105.
- the input unit 107 includes a keyboard, a mouse, a microphone, and the like.
- the output unit 106 includes an LCD (Liquid Crystal Display), a speaker, and the like.
- the technology according to the present disclosure can be applied to various products.
- the technology according to the present disclosure may be realized as an apparatus mounted on any type of vehicle such as an automobile, an electric vehicle, a hybrid electric vehicle, and a motorcycle.
- FIG. 25 is a block diagram illustrating an example of a schematic configuration of a vehicle control system 2000 to which the technology according to the present disclosure can be applied.
- the vehicle control system 2000 includes a plurality of electronic control units connected via a communication network 2010.
- the vehicle control system 2000 includes a drive system control unit 2100, a body system control unit 2200, a battery control unit 2300, an out-vehicle information detection unit 2400, an in-vehicle information detection unit 2500, and an integrated control unit 2600.
- the communication network 2010 that connects these multiple control units conforms to any standard such as CAN (Controller Area Network), LIN (Local Interconnect Network), LAN (Local Area Network), or FlexRay (registered trademark). It may be an in-vehicle communication network.
- Each control unit includes a microcomputer that performs arithmetic processing according to various programs, a storage unit that stores programs executed by the microcomputer or parameters used for various calculations, and a drive circuit that drives various devices to be controlled. Is provided.
- Each control unit includes a network I / F for performing communication with other control units via the communication network 2010, and wired or wireless communication with devices or sensors inside and outside the vehicle. A communication I / F for performing communication is provided. In FIG.
- a microcomputer 2610 As a functional configuration of the integrated control unit 2600, a microcomputer 2610, a general-purpose communication I / F 2620, a dedicated communication I / F 2630, a positioning unit 2640, a beacon receiving unit 2650, an in-vehicle device I / F 2660, an audio image output unit 2670, An in-vehicle network I / F 2680 and a storage unit 2690 are illustrated.
- other control units include a microcomputer, a communication I / F, a storage unit, and the like.
- the drive system control unit 2100 controls the operation of devices related to the drive system of the vehicle according to various programs.
- the drive system control unit 2100 includes a driving force generator for generating a driving force of a vehicle such as an internal combustion engine or a driving motor, a driving force transmission mechanism for transmitting the driving force to wheels, and a steering angle of the vehicle. It functions as a control device such as a steering mechanism that adjusts and a braking device that generates a braking force of the vehicle.
- the drive system control unit 2100 may have a function as a control device such as ABS (Antilock Brake System) or ESC (Electronic Stability Control).
- a vehicle state detection unit 2110 is connected to the drive system control unit 2100.
- the vehicle state detection unit 2110 includes, for example, a gyro sensor that detects the angular velocity of the axial rotation of the vehicle body, an acceleration sensor that detects the acceleration of the vehicle, or an operation amount of an accelerator pedal, an operation amount of a brake pedal, and steering of a steering wheel. At least one of sensors for detecting an angle, an engine speed, a rotational speed of a wheel, or the like is included.
- the drive system control unit 2100 performs arithmetic processing using a signal input from the vehicle state detection unit 2110, and controls an internal combustion engine, a drive motor, an electric power steering device, a brake device, or the like.
- the body system control unit 2200 controls the operation of various devices mounted on the vehicle body according to various programs.
- the body system control unit 2200 functions as a keyless entry system, a smart key system, a power window device, or a control device for various lamps such as a headlamp, a back lamp, a brake lamp, a blinker, or a fog lamp.
- the body control unit 2200 can be input with radio waves transmitted from a portable device that substitutes for a key or signals of various switches.
- the body system control unit 2200 receives the input of these radio waves or signals, and controls the vehicle door lock device, power window device, lamp, and the like.
- the battery control unit 2300 controls the secondary battery 2310 that is a power supply source of the drive motor according to various programs. For example, information such as battery temperature, battery output voltage, or remaining battery capacity is input to the battery control unit 2300 from a battery device including the secondary battery 2310. The battery control unit 2300 performs arithmetic processing using these signals, and controls the temperature adjustment control of the secondary battery 2310 or the cooling device provided in the battery device.
- the outside information detection unit 2400 detects information outside the vehicle on which the vehicle control system 2000 is mounted.
- the vehicle exterior information detection unit 2400 is connected to at least one of the imaging unit 2410 and the vehicle exterior information detection unit 2420.
- the imaging unit 2410 includes at least one of a ToF (Time Of Flight) camera, a stereo camera, a monocular camera, an infrared camera, and other cameras.
- the outside information detection unit 2420 detects, for example, current weather or an environmental sensor for detecting weather, or other vehicles, obstacles, pedestrians, etc. around the vehicle on which the vehicle control system 2000 is mounted. A surrounding information detection sensor is included.
- the environmental sensor may be, for example, at least one of a raindrop sensor that detects rainy weather, a fog sensor that detects fog, a sunshine sensor that detects sunlight intensity, and a snow sensor that detects snowfall.
- the ambient information detection sensor may be at least one of an ultrasonic sensor, a radar device, and a LIDAR (Light Detection and Ranging, Laser Imaging Detection and Ranging) device.
- the imaging unit 2410 and the outside information detection unit 2420 may be provided as independent sensors or devices, or may be provided as a device in which a plurality of sensors or devices are integrated.
- FIG. 26 shows an example of installation positions of the imaging unit 2410 and the vehicle outside information detection unit 2420.
- the imaging units 2910, 2912, 2914, 2916, and 2918 are provided at, for example, at least one position among a front nose, a side mirror, a rear bumper, a back door, and an upper portion of a windshield in the vehicle interior of the vehicle 2900.
- An imaging unit 2910 provided in the front nose and an imaging unit 2918 provided in the upper part of the windshield in the vehicle interior mainly acquire an image in front of the vehicle 2900.
- the imaging units 2912 and 2914 provided in the side mirror mainly acquire an image on the side of the vehicle 2900.
- An imaging unit 2916 provided in the rear bumper or the back door mainly acquires an image behind the vehicle 2900.
- An imaging unit 2918 provided on the upper part of the windshield in the passenger compartment is mainly used for detecting a preceding vehicle or a pedestrian, an obstacle, a traffic light, a traffic sign, a lane, or the like.
- FIG. 26 shows an example of shooting ranges of the respective imaging units 2910, 2912, 2914, and 2916.
- the imaging range a indicates the imaging range of the imaging unit 2910 provided in the front nose
- the imaging ranges b and c indicate the imaging ranges of the imaging units 2912 and 2914 provided in the side mirrors, respectively
- the imaging range d The imaging range of the imaging unit 2916 provided in the rear bumper or the back door is shown. For example, by superimposing the image data captured by the imaging units 2910, 2912, 2914, and 2916, an overhead image when the vehicle 2900 is viewed from above is obtained.
- the vehicle outside information detection units 2920, 2922, 2924, 2926, 2928, 2930 provided on the front, rear, side, corner, and upper windshield of the vehicle 2900 may be, for example, an ultrasonic sensor or a radar device.
- the vehicle outside information detection units 2920, 2926, and 2930 provided on the front nose, the rear bumper, the back door, and the windshield in the vehicle interior of the vehicle 2900 may be, for example, LIDAR devices.
- These vehicle outside information detection units 2920 to 2930 are mainly used for detecting a preceding vehicle, a pedestrian, an obstacle, and the like.
- the vehicle outside information detection unit 2400 causes the imaging unit 2410 to capture an image outside the vehicle and receives the captured image data.
- the vehicle exterior information detection unit 2400 receives detection information from the vehicle exterior information detection unit 2420 connected thereto.
- the vehicle outside information detection unit 2420 is an ultrasonic sensor, a radar device, or a LIDAR device
- the vehicle outside information detection unit 2400 transmits ultrasonic waves, electromagnetic waves, or the like, and receives received reflected wave information.
- the outside information detection unit 2400 may perform object detection processing or distance detection processing such as a person, a vehicle, an obstacle, a sign, or a character on a road surface based on the received information.
- the vehicle outside information detection unit 2400 may perform environment recognition processing for recognizing rainfall, fog, road surface conditions, or the like based on the received information.
- the vehicle outside information detection unit 2400 may calculate a distance to an object outside the vehicle based on the received information.
- the outside information detection unit 2400 may perform image recognition processing or distance detection processing for recognizing a person, a vehicle, an obstacle, a sign, a character on a road surface, or the like based on the received image data.
- the vehicle exterior information detection unit 2400 performs processing such as distortion correction or alignment on the received image data, and combines the image data captured by the different imaging units 2410 to generate an overhead image or a panoramic image. Also good.
- the vehicle exterior information detection unit 2400 may perform viewpoint conversion processing using image data captured by different imaging units 2410.
- the in-vehicle information detection unit 2500 detects in-vehicle information.
- a driver state detection unit 2510 that detects the driver's state is connected to the in-vehicle information detection unit 2500.
- the driver state detection unit 2510 may include a camera that captures an image of the driver, a biological sensor that detects biological information of the driver, a microphone that collects sound in the passenger compartment, and the like.
- the biometric sensor is provided, for example, on a seat surface or a steering wheel, and detects biometric information of an occupant sitting on the seat or a driver holding the steering wheel.
- the vehicle interior information detection unit 2500 may calculate the degree of fatigue or concentration of the driver based on the detection information input from the driver state detection unit 2510, and determines whether the driver is asleep. May be.
- the vehicle interior information detection unit 2500 may perform a process such as a noise canceling process on the collected audio signal.
- the integrated control unit 2600 controls the overall operation in the vehicle control system 2000 according to various programs.
- An input unit 2800 is connected to the integrated control unit 2600.
- the input unit 2800 is realized by a device that can be input by a passenger, such as a touch panel, a button, a microphone, a switch, or a lever.
- the input unit 2800 may be, for example, a remote control device using infrared rays or other radio waves, or may be an external connection device such as a mobile phone or a PDA (Personal Digital Assistant) that supports the operation of the vehicle control system 2000. May be.
- the input unit 2800 may be, for example, a camera. In this case, the passenger can input information using a gesture.
- the input unit 2800 may include, for example, an input control circuit that generates an input signal based on information input by a passenger or the like using the input unit 2800 and outputs the input signal to the integrated control unit 2600.
- a passenger or the like operates the input unit 2800 to input various data or instruct a processing operation to the vehicle control system 2000.
- the storage unit 2690 may include a RAM (Random Access Memory) that stores various programs executed by the microcomputer, and a ROM (Read Only Memory) that stores various parameters, calculation results, sensor values, and the like.
- the storage unit 2690 may be realized by a magnetic storage device such as an HDD (Hard Disc Drive), a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like.
- General-purpose communication I / F 2620 is a general-purpose communication I / F that mediates communication with various devices existing in the external environment 2750.
- the general-purpose communication I / F 2620 is a cellular communication protocol such as GSM (registered trademark) (Global System of Mobile communications), WiMAX, LTE (Long Term Evolution) or LTE-A (LTE-Advanced), or a wireless LAN (Wi-Fi). (Also referred to as (registered trademark)) may be implemented.
- the general-purpose communication I / F 2620 is connected to a device (for example, an application server or a control server) existing on an external network (for example, the Internet, a cloud network, or an operator-specific network) via, for example, a base station or an access point. May be. Further, the general-purpose communication I / F 2620 is connected to a terminal (for example, a pedestrian or a store terminal, or an MTC (Machine Type Communication) terminal) that exists in the vicinity of the vehicle using, for example, P2P (Peer To Peer) technology. May be.
- a terminal for example, a pedestrian or a store terminal, or an MTC (Machine Type Communication) terminal
- P2P Peer To Peer
- the dedicated communication I / F 2630 is a communication I / F that supports a communication protocol formulated for use in a vehicle.
- the dedicated communication I / F 2630 may implement a standard protocol such as WAVE (Wireless Access in Vehicle Environment) or DSRC (Dedicated Short Range Communications) which is a combination of the lower layer IEEE 802.11p and the upper layer IEEE 1609. .
- the dedicated communication I / F 2630 is typically a V2X concept that includes one or more of vehicle-to-vehicle communication, vehicle-to-infrastructure communication, and vehicle-to-pedestrian communication. Perform communication.
- the positioning unit 2640 receives, for example, a GNSS signal from a GNSS (Global Navigation Satellite System) satellite (for example, a GPS signal from a GPS (Global Positioning System) satellite), performs positioning, and performs latitude, longitude, and altitude of the vehicle.
- the position information including is generated.
- the positioning unit 2640 may specify the current position by exchanging signals with the wireless access point, or may acquire position information from a terminal such as a mobile phone, PHS, or smartphone having a positioning function.
- the beacon receiving unit 2650 receives, for example, radio waves or electromagnetic waves transmitted from radio stations installed on the road, and acquires information such as the current position, traffic jams, closed roads, or required time. Note that the function of the beacon receiving unit 2650 may be included in the dedicated communication I / F 2630 described above.
- the in-vehicle device I / F 2660 is a communication interface that mediates connections between the microcomputer 2610 and various devices existing in the vehicle.
- the in-vehicle device I / F 2660 may establish a wireless connection using a wireless communication protocol such as a wireless LAN, Bluetooth (registered trademark), NFC (Near Field Communication), or WUSB (Wireless USB).
- the in-vehicle device I / F 2660 may establish a wired connection via a connection terminal (and a cable if necessary).
- the in-vehicle device I / F 2660 exchanges a control signal or a data signal with, for example, a mobile device or wearable device that a passenger has, or an information device that is carried in or attached to the vehicle.
- the in-vehicle network I / F 2680 is an interface that mediates communication between the microcomputer 2610 and the communication network 2010.
- the in-vehicle network I / F 2680 transmits and receives signals and the like in accordance with a predetermined protocol supported by the communication network 2010.
- the microcomputer 2610 of the integrated control unit 2600 is connected via at least one of a general-purpose communication I / F 2620, a dedicated communication I / F 2630, a positioning unit 2640, a beacon receiving unit 2650, an in-vehicle device I / F 2660, and an in-vehicle network I / F 2680.
- the vehicle control system 2000 is controlled according to various programs.
- the microcomputer 2610 calculates a control target value of the driving force generation device, the steering mechanism, or the braking device based on the acquired information inside and outside the vehicle, and outputs a control command to the drive system control unit 2100. Also good.
- the microcomputer 2610 may perform cooperative control for the purpose of avoiding or reducing the collision of a vehicle, following traveling based on the inter-vehicle distance, traveling at a vehicle speed, automatic driving, and the like.
- the microcomputer 2610 is information acquired via at least one of the general-purpose communication I / F 2620, the dedicated communication I / F 2630, the positioning unit 2640, the beacon receiving unit 2650, the in-vehicle device I / F 2660, and the in-vehicle network I / F 2680. Based on the above, local map information including peripheral information on the current position of the vehicle may be created. Further, the microcomputer 2610 may generate a warning signal by predicting a danger such as collision of a vehicle, approach of a pedestrian or the like or approach to a closed road based on the acquired information. The warning signal may be, for example, a signal for generating a warning sound or lighting a warning lamp.
- the sound image output unit 2670 transmits an output signal of at least one of sound and image to an output device capable of visually or audibly notifying information to a vehicle occupant or outside the vehicle.
- an audio speaker 2710, a display unit 2720, and an instrument panel 2730 are illustrated as output devices.
- the display unit 2720 may include at least one of an on-board display and a head-up display, for example.
- the display unit 2720 may have an AR (Augmented Reality) display function.
- the output device may be another device such as a headphone, a projector, or a lamp other than these devices.
- the display device can display the results obtained by various processes performed by the microcomputer 2610 or information received from other control units in various formats such as text, images, tables, and graphs. Display visually. Further, when the output device is an audio output device, the audio output device converts an audio signal made up of reproduced audio data or acoustic data into an analog signal and outputs it aurally.
- At least two control units connected via the communication network 2010 may be integrated as one control unit.
- each control unit may be configured by a plurality of control units.
- the vehicle control system 2000 may include another control unit not shown.
- some or all of the functions of any of the control units may be given to other control units.
- the predetermined arithmetic processing may be performed by any one of the control units.
- a sensor or device connected to one of the control units may be connected to another control unit, and a plurality of control units may transmit / receive detection information to / from each other via the communication network 2010. .
- the imaging device 11 in FIG. 1 can be applied to, for example, the imaging unit 2410 in FIG.
- the image processing apparatus 12 of FIG. 1 can be applied to the vehicle exterior information detection unit 2400 of FIG. 25, for example.
- the display device 13 of FIG. 1 can be applied to the display unit 2720 of FIG. 25, for example.
- the imaging device 11 of FIG. 1 When the imaging device 11 of FIG. 1 is applied to the imaging unit 2410 of FIG. 25, the imaging device 11 can be installed, for example, as the imaging unit 2918 provided in the upper part of the windshield in the vehicle interior of FIG.
- the photographing unit 2918 as the photographing device 11 for example, an image showing a cityscape is photographed through a glass (windshield) with raindrops such as an image img3 in FIG. is there.
- the photographing unit 2918 as the photographing device 11 and the outside information detection unit 2400 as the image processing device 12 are applied to, for example, a drive recorder, an obstacle removal image in which no obstacle is reflected is recorded. can do.
- the processing performed by the computer according to the program does not necessarily have to be performed in chronological order in the order described as the flowchart. That is, the processing performed by the computer according to the program includes processing executed in parallel or individually (for example, parallel processing or object processing).
- the program may be processed by one computer (processor), or may be distributedly processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Accordingly, a plurality of devices housed in separate housings and connected via a network and a single device housing a plurality of modules in one housing are all systems. .
- the present technology can take a cloud computing configuration in which one function is shared by a plurality of devices via a network and is jointly processed.
- each step described in the above flowchart can be executed by one device or can be shared by a plurality of devices.
- the plurality of processes included in the one step can be executed by being shared by a plurality of apparatuses in addition to being executed by one apparatus.
- this technique can take the following structures.
- a removing unit that generates a plurality of viewpoint-removed photographed images obtained by removing some subjects from the plurality of viewpoint photographed images using disparity information of the plurality of viewpoint photographed images;
- An image processing apparatus comprising: an image generation unit that generates an obstacle removal image of a predetermined viewpoint by superimposing the removal photographed images of the plurality of viewpoints generated by the removal unit using the parallax information.
- the removal unit corresponds to a real space point that is in a removal area of the real space where there is an obstacle that is the subject among the real space points in the real space where the photographed image is taken,
- the image processing device according to ⁇ 1> or ⁇ 2>, wherein pixels of the photographed image are removed as pixels in which the obstacle appears.
- the image processing apparatus according to ⁇ 3>, further including a removal area setting unit that sets the removal area.
- ⁇ 6> The image processing apparatus according to ⁇ 5>, wherein the removal area setting unit sets a two-dimensional plane serving as the removal area in accordance with a user operation.
- the image processing apparatus according to ⁇ 6> further including a control unit that displays the removal area together with the captured image or the parallax information.
- the removal area setting unit sets the predetermined two-dimensional plane as the removal area using the parallax information.
- the removal area setting unit sets, in the removal area, a two-dimensional plane including a subject distributed in a planar shape, located closest to the real space, using the parallax information. Image processing apparatus.
- the removal area setting unit sets, in the removal area, a two-dimensional plane obtained by principal component analysis for the real space point corresponding to the pixel of the captured image, using the parallax information.
- the image processing apparatus described. ⁇ 11>
- the removal area setting unit sets, in the removal area, the real space point corresponding to a pixel having a pixel value or disparity information similar to a pixel specified by a user in the captured image.
- the image generation unit generates the obstacle-removed image by superimposing viewpoint-converted images obtained by viewing each of the plurality of viewpoint-removed captured images from the predetermined viewpoint. Any one of ⁇ 1> to ⁇ 11> An image processing apparatus according to 1.
- the image processing device wherein the image generation unit converts each of the plurality of viewpoint-removed captured images into a viewpoint conversion image viewed from the predetermined viewpoint using the parallax information.
- the image generation unit converts pixel values of the obstacle-removed image and pixel-removed captured images of the plurality of viewpoints in superimposing the viewpoint-converted images obtained by converting the removed captured images of the plurality of viewpoints.
- the image processing apparatus according to ⁇ 12>, wherein the image value is obtained using a pixel value of one or more pixels of the viewpoint conversion image.
- the image generation unit sets the center of gravity of the pixel values of the one or more pixels among the pixel values of the one or more pixels of the viewpoint conversion image obtained by converting each of the plurality of viewpoint removal photographed images.
- the image processing device according to ⁇ 14>, wherein the closest pixel value is obtained as a pixel value of the obstacle-removed image.
- the image generation unit is farthest from the pixel value of one or more pixels of the viewpoint conversion image obtained by converting each of the plurality of viewpoint-removed captured images in the superposition, to the center of gravity of the pixel values of the one or more pixels.
- the image processing device according to ⁇ 14>, wherein a pixel value closest to a centroid of the remaining pixel value among the remaining pixel values excluding the pixel value is obtained as a pixel value of the obstacle-removed image.
- the image generation unit detects a missing pixel having no pixel value of a superimposed image obtained by superimposing the viewpoint-converted images obtained by converting each of the plurality of viewpoint-removed photographed images, and a pixel in the vicinity of the missing pixel.
- the image processing device according to any one of ⁇ 12> to ⁇ 16>, wherein the obstacle-removed image is generated by interpolation using values.
- the image generation unit interpolates the missing pixel using a pixel value of a non-missing pixel that is not the missing pixel among neighboring pixels adjacent to the missing pixel.
- Image processing apparatus In the interpolation of the missing pixel, the image generation unit interpolates the missing pixel using a pixel value of a non-missing pixel that is not the missing pixel and is in an equiangular direction around the missing pixel. The image processing apparatus described.
- An image processing method comprising: generating an obstacle-removed image of a predetermined viewpoint by superimposing the removed photographed images of the plurality of viewpoints using the parallax information.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Human Computer Interaction (AREA)
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本技術は、視差情報を用いて、障害物が映っていない障害物除去画像を得ることができるようにする画像処理装置、及び、画像処理方法に関する。 除去部は、複数の視点の撮影画像の視差情報を用いて、複数の視点の撮影画像から、一部の被写体を除去した複数の視点の除去撮影画像をそれぞれ生成する。画像生成部は、複数の視点の除去撮影画像を、視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像を生成する。本技術は、例えば、複数の視点の撮影画像を用いて、障害物が映っていない障害物除去画像を生成する場合に適用することができる。
Description
本技術は、画像処理装置、及び、画像処理方法に関し、特に、例えば、視差情報を用いて、障害物が映っていない障害物除去画像を得ることができるようにする画像処理装置、及び、画像処理方法に関する。
例えば、複数の視点の画像を用いて、視差に関する視差情報を検出する技術や、視差情報を用いて、オブジェクトの合成を行う技術が提案されている(例えば、特許文献1,2,3を参照)。
ところで、カメラで撮影した撮影画像には、構図や、その場の状況等によって、一部の被写体が、ユーザが所望する所望被写体に対する障害物として映ることがあり、そのような障害物が映っていない障害物除去画像を得る技術の提案が要請されている。
また、視差情報を用いて、障害物除去画像を得る技術は、まだ提案されていない。
本技術は、このような状況に鑑みてなされたものであり、視差情報を用いて、障害物除去画像を得ることができるようにするものである。
本技術の画像処理装置は、複数の視点の撮影画像の視差情報を用いて、前記複数の視点の撮影画像から、一部の被写体を除去した複数の視点の除去撮影画像をそれぞれ生成する除去部と、前記除去部により生成された前記複数の視点の除去撮影画像を、前記視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像を生成する画像生成部とを備える画像処理装置である。
本技術の画像処理方法は、複数の視点の撮影画像の視差情報を用いて、前記複数の視点の撮影画像から、一部の被写体を除去した複数の視点の除去撮影画像をそれぞれ生成することと、前記複数の視点の除去撮影画像を、前記視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像を生成することとを含む画像処理方法である。
本技術においては、複数の視点の撮影画像の視差情報を用いて、前記複数の視点の撮影画像から、一部の被写体を除去した複数の視点の除去撮影画像がそれぞれ生成され、その複数の視点の除去撮影画像を、前記視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像が生成される。
なお、画像処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
また、画像処理装置は、コンピュータにプログラムを実行させることにより実現することができる。画像処理装置としてコンピュータを機能させるためのプログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して、提供することができる。
本技術によれば、障害物除去画像を得ることができる。
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
<本技術を適用した画像処理システムの一実施の形態>
図1は、本技術を適用した画像処理システムの一実施の形態の構成例を示すブロック図である。
図1において、画像処理システムは、撮影装置11、画像処理装置12、及び、表示装置13を有する。
撮影装置11は、被写体を、複数の視点から撮影し、その結果得られる複数の視点の撮影画像を、画像処理装置12に供給する。
画像処理装置12は、撮影装置11からの複数の視点の撮影画像を用いた画像処理を行うことで、撮影画像に映っている障害物としての一部の被写体が映っていない所定の視点の障害物除去画像を生成し、表示装置13に供給する。
表示装置13は、画像処理装置12からの障害物除去画像を表示する。さらに、表示装置13は、所定のGUI(Graphical User Interface)等を表示する。
ここで、表示装置13は、タッチパネル等で構成することができる。この場合、表示装置13は、障害物除去画像等を表示する他、ユーザの操作(入力)を受け付けることができる。
なお、図1において、画像処理システムを構成する撮影装置11、画像処理装置12、及び、表示装置13は、それらのすべてを、例えば、ディジタル(スチル/ビデオ)カメラや、スマートフォン等の携帯端末等のような、独立した装置に実装することができる。
また、撮影装置11、画像処理装置12、及び、表示装置13は、それぞれを別個に、独立した装置に実装することができる。
さらに、撮影装置11、画像処理装置12、及び、表示装置13は、それらのうちの任意の2つと、残りの1つとを、それぞれ別個に、独立した装置に実装することができる。
例えば、撮影装置11及び表示装置13を、ユーザが所持する携帯端末に実装し、画像処理装置12を、クラウド上のサーバに実装することができる。
また、画像処理装置12の一部のブロックを、クラウド上のサーバに実装し、画像処理装置12の残りのブロックと、撮影装置11及び表示装置13とを、携帯端末に実装することができる。
<撮影装置11の構成例>
図2は、撮影装置11の構成例を示す平面図である。
撮影装置11は、複数のカメラユニット21iを有し、その複数のカメラユニット21iによって、複数の視点の撮影画像を撮影する。
図2では、撮影装置11は、複数としての、例えば、7個のカメラユニット211,212,213,214,215,216、及び、217を有し、それらの7個のカメラユニット211ないし217は、2次元平面上に配置されている。
さらに、図2では、7個のカメラユニット211ないし217は、それらのうちの1つである、例えば、カメラユニット211を中心として、他の6個のカメラユニット212ないし217が、カメラユニット211の周辺に、正6角形を構成するように配置されている。
したがって、図2では、7個のカメラユニット211ないし217のうちの、任意の1つのカメラユニット21i(i=1,2,...,7)と、そのカメラユニット21iに最も近い他の1つのカメラユニット21j(i=1,2,...,7)との(光軸どうしの)距離は、同一の距離Dになっている。
カメラユニット21iと21jとの距離Dとしては、例えば、20mm程度を採用することができる。この場合、撮影装置11は、ICカード等のカードサイズ程度の大きさに構成することができる。
なお、撮影装置11を構成するカメラユニット21iの数は、7個に限定されるものではなく、2個以上6個以下の数や、8個以上の数を採用することができる。
また、撮影装置11において、複数のカメラユニット21iは、上述のような正6角形等の正多角形を構成するように配置する他、任意の位置に配置することができる。
さらに、複数のカメラユニット21iは、2次元平面上ではなく、奥行き方向の位置が異なるように配置することができる。
ここで、以下、カメラユニット211ないし217のうちの、中心に配置されたカメラユニット211を、基準カメラユニット211ともいい、その基準カメラユニット211の周辺に配置されたカメラユニット212ないし217を、周辺カメラユニット212ないし217ともいう。
図3は、撮影装置11の他の構成例を示す平面図である。
撮影装置11は、図3に示すように、複数としての、例えば、5個のカメラユニット211ないし215や、3個のカメラユニット211ないし213を、2次元平面上に配置して構成することができる。
撮影装置11を、5個のカメラユニット211ないし215で構成する場合には、例えば、基準カメラユニット211を中心として、周辺カメラユニット212,213,214、及び、215を、基準カメラユニット211の右、上、左、及び、下に、それぞれ配置することができる。
周辺カメラユニット212ないし215は、それぞれ、基準カメラユニット211から、同一の距離Dだけ離れた位置に配置することができる。
撮影装置11を、3個のカメラユニット211ないし213で構成する場合には、例えば、基準カメラユニット211を中心として、周辺カメラユニット212及び213を、基準カメラユニット211の右及び左や、上及び下に、それぞれ配置することができる。
周辺カメラユニット212及び213は、それぞれ、基準カメラユニット211から、同一の距離Dだけ離れた位置に配置することができる。
ここで、以下では、特に断らない限り、撮影装置11は、例えば、図2に示したように、7個のカメラユニット211ないし217で構成されることとする。
<画像処理装置12の構成例>
図4は、図1の画像処理装置12の構成例を示すブロック図である。
図4において、画像処理装置12は、視差情報生成部31、障害物除去画像生成部32、及び、制御部33を有する。
画像処理装置12には、撮影装置11から、カメラユニット211ないし217で撮影された7視点の撮影画像IP1ないしIP7が供給される。
画像処理装置12において、撮影画像IP#i(ここでは、#i=1,2,...7)は、視差情報生成部31、及び、障害物除去画像生成部32に供給される。
視差情報生成部31は、撮影装置11から供給される撮影画像IP#iを用いて、各撮影画像IP#iの視差情報を生成し(求め)、障害物除去画像生成部32に供給する。
すなわち、視差情報生成部31は、撮影装置11から供給される撮影画像IP#iそれぞれについて、他の撮影画像IP#jとの視差情報を求め、その視差情報が登録された視差マップを生成して、障害物除去画像生成部32に供給する。
ここで、視差情報としては、視差(disparity)そのものの他、視差に対応する距離(奥行き)を採用することができる。本実施の形態では、視差情報として、視差及び距離のうちの、例えば、視差を採用することとする。この場合、撮影画像IP#iの視差マップには、撮影画像IP#iの各画素(の座標)に対して、その画素の視差が登録される。
また、視差情報生成部31において、視差マップは、撮影画像IP#iから生成する他、例えば、距離を計測する距離センサを用いて、撮影画像IP#iに映る各被写体までの距離(奥行き)を計測することにより生成することができる。
障害物除去画像生成部32は、撮影装置11から供給される撮影画像IP#i、及び、視差情報生成部31からの視差情報を用いて、撮影画像IP#iに映る障害物としての一部に被写体が映っていない所定の視点の障害物除去画像を生成し、表示装置13(図1)に供給する。
すなわち、撮影装置11で撮影した撮影画像IP#iには、例えば、構図や、その場の状況等によって、一部の被写体が、ユーザが所望する所望被写体に対する障害物として映っていることがある。
障害物除去画像生成部32は、障害物が映っている撮影画像IP#iから、その障害物が映っていない障害物除去画像(障害物がない状態で撮影がされたかのような画像)を生成する。
障害物画像生成部32は、除去エリア設定部41、除去部42、及び、画像生成部43を有する。
除去エリア設定部41には、撮影装置11から撮影画像IP#iが供給されるとともに、視差情報生成部31から視差マップが供給される。
除去エリア設定部41は、撮影装置11からの撮影画像IP#iや、視差情報生成部31からの視差マップ等を必要に応じて用いて、除去エリアを設定し、その除去エリア(を表す情報)を、除去部42に供給する。
ここで、除去エリアとは、撮影画像IP#iを撮影した実空間内の障害物があるエリアを意味する。
除去部42には、除去エリア設定部41から除去エリアが供給される他、撮影装置11から撮影画像IP#iが供給されるとともに、視差情報生成部31から視差マップが供給される。
除去部42は、視差情報生成部31からの視差マップ、及び、除去エリア設定部41からの除去エリアを用いて、撮影装置11からの撮影画像IP#iから、その撮影画像IP#iに映る、除去エリア内の障害物を除去することで、その障害物が除去された除去撮影画像RIP#iを生成する。
ここで、除去撮影画像RIP#iは、例えば、撮影画像IP#iにおいて障害物が映っている画素の画素値がない画像(本実施の形態では、便宜的に、例えば、障害物が映っている画素の画素値が0になった画像)になっている。
除去部42は、撮影画像IP#iを撮影した実空間内の実空間点のうちの、除去エリア設定部41からの除去エリアに入っている実空間点に対応する、撮影画像IP#iの画素を、障害物が映る画素として除去すること、すなわち、ここでは、例えば、障害物が映る画素の画素値を0にすることで、除去撮影画像RIP#iを生成する。
除去部42は、除去撮影画像RIP#iを生成するとともに、各除去撮影画像RIP#iに対して、マスクフラグ画像を生成し、除去撮影画像RIP#i及びマスクフラグ画像を、画像生成部43に供給する。
ここで、除去撮影画像RIP#iに対するマスクフラグ画像とは、その除去撮影画像RIP#iの画素ごとに、画素値の有無を表す画像であり、マスクフラグ画像の各画素の画素値は、例えば、除去撮影画像RIP#iの同一位置の画素の画素値の有無を表す1ビットのマスクフラグになっている。したがって、マスクフラグ画像は、撮影画像IP#iにおいて、障害物が映っている画素(又は、障害物が映っていない画素)を表す画像であるともいうことができる。
また、ここでは、撮影画像IP#iの画素のうちの、障害物が映る画素の画素値を0にした画像を、除去撮影画像RIP#iとして採用したが、除去撮影画像RIP#iとしては、撮影画像IP#iそのものを採用することができる。
除去部42では、除去撮影画像RIP#iに対して、障害物が映っている画素を表すマスクフラグ画像が生成されるので、除去撮影画像RIP#iとして、撮影画像IP#iそのものを採用した場合であっても、マスクフラグ画像を参照することにより、撮影画像IP#iそのものである除去撮影画像RIP#iの、障害物が映る画素を画素値がない画素として扱うこと、すなわち、撮影画像IP#iそのものである除去撮影画像RIP#iを、障害物が除去がされた画像として扱うことができる。
画像生成部43には、除去部42から、除去撮影画像RIP#i及びマスクフラグ画像が供給される他、視差情報生成部31から、視差マップが供給される。
画像生成部43は、視差情報生成部31からの視差マップ、並びに、除去部42からの除去撮影画像RIP#i及びマスクフラグ画像を用い、所定の視点の(所定の視点から見た)障害物除去画像を生成して、表示装置13(図1)に供給する。
すなわち、画像生成部43は、除去撮影画像RIP#iを、視差マップを用いて重ね合わせることで、所定の視点の障害物除去画像を生成する。
画像生成部43は、視点変換部51、重ね合わせ部52、及び、補間部53を有する。
視点変換部51は、視差情報生成部31から供給される視差マップを用いた幾何学変換(イメージレジストレーション)によって、除去部42から供給される除去撮影画像RIP#i及びマスクフラグ画像を、所定の視点から見た視点変換画像VCP#i及び変換マスクフラグ画像に、それぞれ変換し、重ね合わせ部52に供給する。
重ね合わせ部52は、視点変換部51からの視点変換画像VCP#iを、同じく、視点変換部51からの変換マスクフラグ画像を用いて重ね合わせることにより、所定の視点の(所定の視点から見た)重ね合わせ画像を生成する。
さらに、重ね合わせ部52は、重ね合わせ画像の各画素が、画素値の欠落している欠落画素であるかどうかを表す未確定フラグ画像を生成し、重ね合わせ画像、及び、未確定フラグ画像を、補間部53に供給する。
ここで、未確定フラグ画像の各画素の画素値は、例えば、重ね合わせ画像の同一位置の画素が欠落画素であるかどうかを表す1ビットの未確定フラグになっている。
補間部53は、重ね合わせ部52からの重ね合わせ画像の欠落画素を、同じく重ね合わせ部52からの未確定フラグ画像を用いて認識する。そして、補間部53は、重ね合わせ画像の欠落画素を、その欠落画素の近傍の画素の画素値を用いて補間することで、所定の視点の障害物除去画像を生成し、表示装置13(図1)に供給する。
制御部33は、画像処理装置12全体を制御する。また、制御部33は、表示装置13に、所定のGUI(Graphical User Interface)等を表示させる表示制御を行う。さらに、制御部33は、表示装置13としてのタッチパネル等に対するユーザの操作に応じて、各種の処理を行う。
<撮影画像IP#iの例>
図5は、撮影装置11で撮影される撮影画像IP#iの例を示す図である。
すなわち、図5は、撮影画像IP#iの例としての画像img1,img2,img3,img4を示している。
画像img1では、動物が、金網越しに映っている。
画像img1については、ユーザが所望する所望被写体は、動物であり、その動物の手前側に映っている金網は、所望被写体に対する障害物になっている。
画像img2では、木の枝越しに、鳥が映っている。
画像img2については、所望被写体は、鳥であり、その鳥の手前側に映っている枝は、所望被写体に対する障害物になっている。
画像img3では、雨粒が付いたガラス越しに、街の風景が映っている。
画像img3については、所望被写体は、街の風景であり、その街の風景の手前側に映っている雨粒は、所望被写体に対する障害物になっている。
画像img4では、塔が、電線越しに映っている。
画像img4については、所望被写体は、塔であり、その塔の手前側に映っている電線は、所望被写体に対する障害物になっている。
画像処理装置12(図4)では、画像img1ないしimg4等のような撮影画像IP#iから、障害物としての、例えば、金網や、枝、雨粒、電線等が映っていない障害物除去画像が生成される。
<障害物除去画像を生成する原理>
図6は、画像処理装置12において障害物除去画像を生成する原理を説明する図である。
撮影装置11では、複数としての、例えば、7個のカメラユニット211なしい217で、それぞれ、撮影画像IP1ないしIP7が撮影される。
障害物除去画像の生成では、7個のカメラユニット211なしい217それぞれの撮影画像IP1ないしIP7、すなわち、7個の視点の撮影画像IP1ないしIP7から、障害物が映っている画素以外の画素の画素値を集めることで、障害物が映っていない障害物除去画像が生成される。
ここで、撮影画像IP#iから、視差マップ(視差情報)を生成する場合には、撮影装置11において、3視点以上の視点の撮影画像IP#iを撮影することが望ましい。
すなわち、所望被写体の手前側に、障害物が存在する場合に、ある撮影画像IP#iにおいて、障害物に隠れて見えない所望被写体の部分については、その部分が、少なくとも、異なる2視点以上の複数の視点の撮影画像に映っていないと、視差情報を求めることができず、オクルージョンが生じる。
撮影画像IP#iから、視差情報を求める(生成する)場合に、オクルージョンが生じることを抑制するためには、ある撮影画像において、障害物に隠れて見えない所望被写体の部分が存在するときに、その部分が、少なくとも、異なる2視点以上の複数の視点の撮影画像に映っている必要がある。したがって、撮影装置11では、障害物に隠れて見えない所望被写体の部分が存在する撮影画像と、その部分が映っている2視点の撮影画像との3視点の撮影画像が、少なくとも撮影される必要がある。
なお、ある撮影画像IP#iにおいて、障害物に隠れて見えない所望被写体の部分の視差情報が、何らかの方法で得られる場合には、撮影装置11では、少なくとも、2視点の撮影画像IP#iが撮影されれば良い。
図7は、障害物除去画像を生成する条件を説明する図である。
障害物除去画像の生成では、撮影画像に映っている障害物が映っていない画像(障害物がない状態で撮影が行われたかのような画像)が、障害物除去画像として生成される。
障害物除去画像には、撮影画像において、障害物に隠れて見えない所望被写体の部分(以下、所望被写体の隠れ部分ともいう)が映っている必要があるが、そのためには、ある視点の撮影画像IP#iに存在する、障害物に隠れて見えない所望被写体の部分が、他のいずれかの視点の撮影画像IP#i'において映っている必要がある。
所望被写体の隠れ部分が映る障害物除去画像が生成される条件は、カメラユニット21iと、障害物と、所望被写体との位置関係、障害物のサイズ、及び、異なる視点のカメラユニット21iと21i’との光軸どうしの距離である基線長によって決定する。
いま、説明を簡単にするため、撮影装置11が、2個のカメラユニット211及び212を有し、それらの2個のカメラユニット211及び212が、水平方向に並んで配置されていることとする。
また、2個のカメラユニット211及び212の基線長、すなわち、カメラユニット211及び212の光軸どうしの距離を、Dで表すこととする。
さらに、図7に示すように、実空間において、所望被写体の手前に、障害物があり、撮影装置11から、所望被写体までの距離と、障害物までの距離を、それぞれ、L1とL2と表すこととする。
また、障害物の水平方向の幅を、Wと表すこととする。
この場合、所望被写体の隠れ部分(のすべて)が見える障害物除去画像を生成するための最小の基線長Dは、式D=(L1×W)/(L1-L2)で表される。
図7のグラフGは、式D=(L1×W)/(L1-L2)によって表される、障害物までの距離L2と、隠れ部分が障害物除去画像に映るために必要な最小の基線長Dとの関係を表す。
例えば、所望被写体までの距離L1、及び、障害物までの距離L2が、それぞれ10m及び5mであり、障害物のサイズ(幅)が8mmである場合に、最小の基線長Dは、16mmになる。
したがって、この場合、カメラユニット211及び212を、水平方向に16mm以上離して配置することにより、そのカメラユニット211及び212で撮影された撮影画像IP1及びIP2を用いて、所望被写体の隠れ部分のすべてが見える障害物除去画像を生成することができる。
図8は、障害物除去画像生成部32での、複数の視点の撮影画像を用いての、障害物除去画像の生成の様子を示す図である。
障害物除去画像生成部32では、図8に示すように、複数の視点の撮影画像から、所定の視点の障害物除去画像が生成される。
図8では、撮影画像において、所望被写体(群)の手前に、障害物としての金網が映っているが、障害物除去画像では、撮影画像に映る金網が映っておらず、撮影画像において金網に隠れて見えていなかった隠れ部分が見えている。
なお、図8の障害物除去画像では、周囲に金網が残っているが、これは、周囲の金網に隠れて見えない隠れ部分が映っている撮影画像がなかったためである。
表示装置13(図1)において、図8の障害物除去画像を表示する際には、金網が映る障害物除去画像の周囲の部分をカットするトリミングを行ってから、そのトリミング後の障害物除去画像を表示することができる。
<画像処理システムの処理>
図9は、図1の画像処理システムの処理の例を説明するフローチャートである。
ステップS11において、撮影装置11は、撮影処理を行う。撮影処理では、カメラユニット211ないし217で、複数の視点の撮影画像としての、例えば、7視点の撮影画像IP1ないしIP7等が撮影される。
撮影装置11は、撮影処理の結果得られる撮影画像IP#iを、画像処理装置12に供給して、処理は、ステップS11からステップS12に進む。
ステップS12では、画像処理装置12(図4)の視差情報生成部31が、視差情報生成処理を行う。
視差情報生成処理では、視差情報生成部31は、撮影装置11から供給される撮影画像IP#iの各視点vp#iごとに、撮影画像IP#iを用いて、各撮影画像IP#iの視差情報を生成し、その視差情報が登録された視差マップを生成する。
ある視点vp#iの視差情報は、その視点vp#iの撮影画像IP#iと、他の視点vp#i'の撮影画像IP#i'との間で、ステレオマッチングやマルチベースラインステレオ等を行うことにより、三角測量の原理を利用して求めることができる。
視差情報生成部31は、各視点vp#iの視差マップを、障害物除去画像生成部32に供給し、処理は、ステップS12からステップS13に進む。
ステップS13では、障害物除去画像生成部32の除去エリア設定部41が、除去エリア設定処理を行う。
除去エリア設定処理では、除去絵エリア設定部41が、撮影装置11から画像処理装置12に供給される撮影画像IP#iや、視差情報生成部31から障害物除去画像生成部32に供給される視差マップ等を必要に応じて用いて、撮影画像IP#iに映る障害物がある実空間内のエリアを表す除去エリアを設定する。
除去エリア設定部41は、除去エリアを、除去部42に供給し、処理は、ステップS13からステップS14に進む。
ステップS14では、除去部42が、障害物除去処理を行う。
障害物除去処理では、除去部42において、視差情報生成部31から障害物除去画像生成部32に供給される視差マップ、及び、除去エリア設定部41から供給される除去エリアを用いて、撮影装置11から画像処理装置12に供給される撮影画像IP#iから、その撮影画像IP#iに映る、除去エリア内の障害物が除去された除去撮影画像RIP#iが生成される。さらに、障害物除去処理では、除去撮影画像RIP#iに対して、撮影画像IP#iにおいて除去エリア内の障害物が映る画素を表すマスクフラグ画像が生成される。
除去部42は、除去撮影画像RIP#i、及び、マスクフラグ画像を、画像生成部43に供給し、処理は、ステップS15に進む。
ステップS15ないしS17では、画像生成部43が、視差情報生成部31から障害物除去画像生成部32に供給される視差マップ、並びに、除去部42から供給される除去撮影画像RIP#i及びマスクフラグ画像を用いて、所定の視点の障害物除去画像を生成する画像生成処理を行う。
すなわち、ステップS15では、画像生成部43の視点変換部51が、視点変換処理を行う。
視点変換処理では、視点変換部51が、視差情報生成部31からの視点vp#iの視差マップを用いて、除去部42からの除去撮影画像RIP#i及びマスクフラグ画像を、所定の視点から見た視点変換画像VCP#i及び変換マスクフラグ画像に、それぞれ幾何学変換する。
視点変換部51は、各視点vp#iについての視点変換画像VCP#i及び変換マスクフラグ画像を、重ね合わせ部52に供給し、処理は、ステップS15からステップS16に進む。
ステップS16では、重ね合わせ部52が、重ね合わせ処理を行う。
重ね合わせ処理では、視点変換部51からの各視点vp#iについての視点変換画像VCP#iを、視点変換部51からの各視点vp#iについての変換マスクフラグ画像(各視点vp#iについての視点変換画像VCP#iに対する変換マスクフラグ画像)を用いて重ね合わせることにより、所定の視点の重ね合わせ画像が生成される。
さらに、重ね合わせ処理では、例えば、各視点vp#iについての変換マスクフラグ画像を用いて、重ね合わせ画像の各画素が、画素値の欠落している欠落画素であるかどうかを表す未確定フラグ画像が生成される。
重ね合わせ部52は、重ね合わせ画像、及び、未確定フラグ画像を、補間部53に供給し、処理は、ステップS16からステップS17に進む。
ステップS17では、補間部53が、補間処理を行う。
補間処理では、重ね合わせ部52からの重ね合わせ画像の欠落画素が、重ね合わせ部52からの未確定フラグ画像を用いて認識され、その欠落画素が補間されることで、所定の視点の障害物除去画像が生成される。
補間部53は、障害物除去画像を、表示装置13(図1)に供給し、処理は、ステップS17からステップS18に進む。
ステップS18では、表示装置13は、補間部53からの障害物除去画像を表示し、処理は、ステップS19に進む。
ステップS19では、制御部33(図4)が、ユーザが意図した障害物除去画像が得られたかどうかを判定する。
ステップS19において、ユーザが意図した障害物除去画像が得られていないと判定された場合、すなわち、例えば、ユーザが、障害物除去画像の生成のやり直しをするように操作を行った場合、処理は、ステップS13に戻り、以下、同様の処理が繰り返される。
また、ステップS19において、ユーザが意図した障害物除去画像が得られたと判定された場合、すなわち、例えば、ユーザが、直前のステップS18で表示された障害物除去画像を確定するように操作を行った場合、処理は終了する。
<視差マップの生成>
図10は、図4の視差情報生成部31での視差マップの生成の例を説明する図である。
すなわち、図10は、撮影装置11のカメラユニット211ないし217で撮影された撮影画像IP1ないしIP7の例を示している。
図10では、撮影画像IP1ないしIP7には、所定の背景の手前側に、前景としての所定の物体objが映っている。撮影画像IP1ないしIP7それぞれについては、視点が異なるため、例えば、撮影画像IP2ないしIP7それぞれに映る物体objの位置(撮影画像上の位置)は、撮影画像IP1に映る物体objの位置から、視点が異なる分だけずれている。
例えば、撮影画像IP1の視点vp1の視差マップを生成する場合には、視差情報生成部31は、撮影画像IP1を、注目する注目画像IP1とする。さらに、視差情報生成部31は、注目画像IP1の各画素を、順次、注目する注目画素に選択し、その注目画素に対応する対応画素(対応点)を、他の撮影画像IP2ないしIP7のそれぞれから検出する。
撮影画像IP2ないしIP7それぞれから、注目画像IP1の注目画素に対応する対応画素を検出する方法としては、例えば、上述したように、ステレオマッチングやマルチベースラインステレオ等の三角測量の原理を利用した方法がある。
ここで、注目画像IP1の注目画素と、撮影画像IP#iの対応画素との位置ずれを表すベクトルを、視差ベクトルv#i,1ということとする。
視差情報生成部31は、撮影画像IP2ないしIP7のそれぞれについて視差ベクトルv2,1ないしv7,1を求める。そして、視差情報生成部31は、例えば、視差ベクトルv2,1ないしv7,1の大きさを対象とした多数決を行い、その多数決に勝利した視差ベクトルv#i,1の大きさを、注目画素(の位置)の視差として求める。
ここで、撮影装置11において、図2で説明したように、注目画像IP1を撮影する基準カメラユニット211と、撮影画像IP2ないしIP7を撮影する周辺カメラユニット212ないし217それぞれとの距離が、同一の距離Dになっている場合に、注目画像IP1の注目画素に映る実空間点が、撮影画像IP2ないしIP7にも映っているときには、視差ベクトルv2,1ないしv7,1として、向きが異なるが、大きさが等しいベクトルが求められる。
すなわち、この場合、視差ベクトルv2,1ないしv7,1は、注目画像IP1の視点vp1に対する他の撮影画像IP2ないしIP7の視点vp2ないしvp7の方向の、大きさが等しいベクトルになる。
但し、撮影画像IP2ないしIP7の中には、オクルージョンが生じている画像、すなわち、注目画像IP1の注目画素に映る実空間点が、前景に隠れて映っていない画像があり得る。
注目画像IP1の注目画素に映る実空間点が映っていない撮影画像(以下、オクルージョン画像ともいう)IP#iについては、注目画素に対応する対応画素として、正しい画素を検出することが困難である。
そのため、オクルージョン画像IP#iについては、注目画像IP1の注目画素に映る実空間点が映っている撮影画像IP#jの視差ベクトルv#j,1とは、大きさが異なる視差ベクトルv#i,1が求められる。
撮影画像IP2ないしIP7の中で、注目画素について、オクルージョンが生じている画像は、オクルージョンが生じてる画像よりも少ないと推定される。そこで、視差情報生成部31は、上述のように、視差ベクトルv2,1ないしv7,1の大きさを対象とした多数決を行い、その多数決に勝利した視差ベクトルv#i,1の大きさを、注目画素の視差として求める。
図10では、視差ベクトルv2,1ないしv7,1の中で、3つの視差ベクトルv2,1,v3,1,v7,1が大きさが等しいベクトルになっている。また、視差ベクトルv4,1,v5,1,v6,1それぞれについては、大きさが等しい視差ベクトルが存在しない。
そのため、3つの視差ベクトルv2,1,v3,1,v7,1が大きさが、注目画素の視差として求められる。
なお、注目画像IP1の注目画素の、任意の撮影画像IP#iとの視差の方向は、注目画像IP1の視点vp1(カメラユニット211の位置)と、撮影画像IP#iの視点vp#i(カメラユニット21iの位置)との位置関係から認識することができる。
視差情報生成部31は、注目画像IP1の各画素を、順次、注目画素に選択し、視差を求める。そして、視差情報生成部31は、注目画像IP1の各画素の位置(xy座標)に対して、その画素の視差を登録したマップを、視差マップとして生成する。したがって、視差マップは、画素の位置と、その画素の視差とを対応付けたマップ(テーブル)である。
他の撮影画像IP#iの視点vp#iの視差マップも、視点vp#1の視差マップと同様に生成することができる。
但し、視点vp#1以外の視点vp#iの視差マップの生成にあたって、視差ベクトルの多数決は、撮影画像IP#iの視点vp#iと、その撮影画像IP#i以外の撮影画像IP#jの視点vp#jとの位置関係(カメラユニット21iと21jとの位置関係)に基づき、視差ベクトルの大きさを調整して行われる。
すなわち、例えば、図2の撮影装置11について、撮影画像IP5を注目画像IP5として、視差マップを生成する場合、注目画像IP5と撮影画像IP2との間で得られる視差ベクトルは、注目画像IP5と撮影画像IP1との間で得られる視差ベクトルの2倍の大きさになる。
これは、注目画像IP5を撮影するカメラユニット215と、撮影画像IP1を撮影するカメラユニット211との光軸どうしの距離である基線長が、距離Dであるのに対して、注目画像IP5を撮影するカメラユニット215と、撮影画像IP2を撮影するカメラユニット212との基線長は、距離2Lになっているためである。
そこで、いま、例えば、基準カメラユニット211と、他のカメラユニット21iとの基線長である距離Dを、基準基線長ということとすると、視差ベクトルの多数決は、基線長が基準基線長Dに換算されるように、視差ベクトルの大きさを調整して行われる。
すなわち、例えば、注目画像IP5を撮影するカメラユニット215と、撮影画像IP1を撮影する基準カメラユニット211の基線長Dは、基準基線長Dに等しいので、注目画像IP5と撮影画像IP1との間で得られる視差ベクトルは、その大きさが1倍に調整される。
また、例えば、注目画像IP5を撮影するカメラユニット215と、撮影画像IP2を撮影するカメラユニット212の基線長2Dは、基準基線長Dの2倍に等しいので、注目画像IP5と撮影画像IP2との間で得られる視差ベクトルは、その大きさが1/2倍(基準基線長Dと、カメラユニット215とカメラユニット212との基線長2Dとの比の値倍)に調整される。
注目画像IP5と他の撮影画像IP#iとの間で得られる視差ベクトルについても、同様に、その大きさが、基準基線長Dとの比の値倍に調整される。
そして、大きさの調整後の視差ベクトルを用いて、視差ベクトルの多数決が行われる。
なお、視差情報生成部31において、撮影画像IP#i(の各画素)の視差は、例えば、撮影装置11で撮影される撮影画像の画素の精度で求めることができる。また、撮影画像IP#iの視差は、例えば、その撮影画像IP#iの画素より細かい精度である画素以下精度(例えば、1/4画素等の精度)で求めることができる。
視差を画素以下精度で求める場合、視差を用いる処理では、その画素以下精度の視差を、そのまま用いることもできるし、画素以下精度の視差の小数点以下を、切り捨て、切り上げ、又は、四捨五入等して整数化して用いることもできる。
障害物除去画像の生成にあたり、撮影画像に映る障害物の除去、及び、撮影画像において障害物に隠れて見えない隠れ部分の再現の精度は、視差情報生成部31で生成される視差の精度が大きく影響する。
したがって、視差情報生成部31の視差の生成では、精度の良い視差が得られる方法を採用することが望ましい。
<除去エリア設定処理>
図11は、図4の除去エリア設定部41での除去エリアの設定の例を説明する図である。
例えば、図5において、画像img1に映る障害物としての金網や、画像img3に映る障害物としての、ガラスに付いた雨粒等は、実空間において2次元平面状に分布する。
除去エリア設定部41では、以上のように、実空間において2次元平面状に分布する障害物を除去するために、実空間内の所定の2次元平面を、除去エリアに設定することができる。
除去エリア設定部41では、除去エリアとなる2次元平面を、ユーザの操作に応じて移動して、除去エリアを設定することができる。
また、除去エリア設定部41では、除去エリアを、自動的に設定することができる。
図12は、除去エリアとなる2次元平面を、ユーザの操作に応じて移動して、除去エリアを設定する場合に、制御部33が表示装置13に表示させるGUIの表示例を示す図である。
制御部33は、撮影画像(例えば、カメラユニット211で撮影された撮影画像IP1等)に、2次元平面の除去エリア(のGUI)を重畳して、表示装置13に表示させる。
図12では、撮影画像には、所望被写体と、その所望被写体の手前側に、障害物としての金網が映っている。
制御部33は、ユーザの操作に応じて、除去エリアとなる2次元平面(のGUI)を、奥行き方向に移動させる。
図12の左から1番目の撮影画像では、除去エリアが、所望被写体、さらには、所望被写体より手前にある障害物よりも手前側に配置されている。そのため、所望被写体と障害物としての金網(の一部)の両方が、除去エリアに隠れて見えなくなっている。
撮影画像に映る被写体が、除去エリアに隠れて見えなくなるかどうかは、視差マップから得られる被写体の奥行き方向の位置と、除去エリアとしての2次元平面の奥行き方向の位置との位置関係から判定することができる。
図12の左から3番目(右から1番目)の撮影画像では、除去エリアが、障害物としての金網、さらには、その金網より奥にある所望被写体よりも奥側に配置されている。そのため、所望被写体も、障害物としての金網も、見える状態になっている。
図12の左から2番目の撮影画像では、除去エリアが、障害物としての金網の位置に配置されている。そのため、障害物としての金網より奥にある所望被写体は、除去エリアに隠れて見えなくなっているが、障害物としての金網は、除去エリアとしての2次元平面上に配置されているかのように、見える状態で表示されている。
ユーザは、図12に示したような、表示装置13に表示されるGUIを見ながら、除去エリアを、実空間内の奥行き方向に移動する操作を行い、除去エリアが障害物としての金網を包含するような位置に、除去エリアとなる2次元平面を設定することができる。
図13は、除去エリアとなる2次元平面を自動的に設定する方法の例を説明する図である。
除去エリア設定部41は、除去エリアを、視差マップを用いて設定することができる。
図13のAは、視差マップを用い、例えば、実空間において、最も手前側に位置する、平面状に分布する被写体を包含する2次元平面を、除去エリアに設定する様子を示している。
図13のAでは、撮影画像に映る実空間において、最も手前側に位置する、平面状に分布する被写体が、障害物であると推定され、そのような平面状に分布する被写体を包含する2次元平面が、除去エリアに設定される。
撮影画像IP#iの各画素に対応する実空間点、すなわち、撮影画像IP#iの各画素に映る被写体の実空間内の位置(例えば、撮影装置11を基準とする位置)は、撮影画像IP#iの画素の位置(xy座標)と、その画素の視差とから求めることができる。
そこで、除去エリア設定部41では、撮影画像IP#iの各画素に対応する実空間点を求め、その実空間点の中に、平面状に分布する実空間点の集まり(群)が存在する場合には、そのような実空間点の集まりが分布する2次元平面の中で、最も手前にある2次元平面を、除去エリアに設定することができる。
以上のように、実空間点の集まりが分布する2次元平面の中で、最も手前にある2次元平面を、除去エリアに設定することで、例えば、例えば、図5の画像img1に映る障害物としての金網や、画像img3に映る障害物としての、ガラスに付いた雨粒等が存在する位置を包含する2次元平面を、除去エリアに設定することができる。
実空間点の集まりが分布する2次元平面は、例えば、主成分分析により求めることができる。
図13のBは、主成分分析によって、実空間点の集まりが分布する2次元平面を求める方法を説明する図である。
除去エリア設定部41は、撮影画像IP#iの各画素に対応する実空間点を、視差マップ(に登録されている視差)を用いて求め、撮影画像IP#iに映る実空間内に、厚みの薄い直方体状の空間を、障害物が存在すると推定される障害物推定空間として設定する。
そして、除去エリア設定部41は、障害物推定空間内の実空間点を対象とした主成分分析を行い、第1主成分及び第2主成分を求める。
さらに、除去エリア設定部41は、障害物推定空間内の実空間点の平均(重心)座標を求め、その平均座標を通り、第1主成分の方向をx軸とするとともに、第2主成分の方向をy軸として規定される2次元平面を、除去エリアの候補として求める。
除去エリア設定部41は、例えば、障害物推定空間を、撮影画像IP#iに映る実空間の最も手前側から奥側に移動しながら、除去エリアの候補として2次元平面を求める。
さらに、除去エリア設定部41は、除去エリアの候補としての2次元平面に対する障害物推定空間内の実空間点のばらつき(例えば、除去エリアの候補としての2次元平面と、障害物推定空間内の実空間点との距離の総和等)を求める。
そして、除去エリアの候補としての2次元平面に対する障害物推定空間内の実空間点のばらつきが、所定の閾値以下であった場合、除去エリア設定部41は、その除去エリアの候補としての2次元平面を、除去エリアに設定する。
図14は、図13で説明したように、視差マップを用いて、除去エリアを設定する除去エリア設定処理の例を説明するフローチャートである。
ステップS31において、除去エリア設定部41は、ある視点vp#iの視差マップを用いて、その視点vp#iの撮影画像IP#iに映る実空間内の実空間点、すなわち、撮影画像IP#iの各画素に対応する実空間点を求め、処理は、ステップS32に進む。
ステップS32では、除去エリア設定部41は、例えば、撮影画像IP#iに映る実空間の最も手前の位置に、障害物推定空間を設定し、処理は、ステップS33に進む。
ステップS33では、除去エリア設定部41は、障害物推定空間内の実空間点群の平均座標を求め、処理は、ステップS34に進む。
ステップS34では、除去エリア設定部41は、障害物推定空間内の実空間点群の主成分分析を行うことにより、第1主成分を求め、その第1主成分の方向の、平均座標を通る軸をx軸として求めて、処理は、ステップS35に進む。
ステップS35では、除去エリア設定部41は、障害物推定空間内の実空間点群の主成分分析を行うことにより、第1主成分に直交する第2主成分を求め、その第2主成分の方向の、平均座標を通る軸をy軸として求めて、処理は、ステップS36に進む。
ステップS36では、除去エリア設定部41は、直前のステップS34で求められたx軸(第1主成分)と、直前のステップS35で求められたy軸(第2主成分)とで規定される2次元平面を、除去エリアの候補として求める。
さらに、除去エリア設定部41は、除去エリアの候補としての2次元平面に対する障害物推定空間内の実空間点のばらつきを求め、処理は、ステップS37に進む。
ステップS37では、除去エリア設定部41は、除去エリアの候補に対する障害物推定空間内の実空間点のばらつきが、閾値以上であるかどうかを判定する。
ステップS37において、除去エリアの候補に対する障害物推定空間内の実空間点のばらつきが、閾値以上であると判定された場合、すなわち、障害物推定空間内の実空間点(の少なくとも一部)が、平面状に分布しているとはいえない場合、処理は、ステップS32に戻る。
ステップS32では、除去エリア設定部41は、例えば、障害物推定空間の現在位置から、所定の距離だけ奥側に移動した位置に、障害物推定空間を新たに設定し、以下、同様の処理を繰り返す。
また、ステップS37において、除去エリアの候補に対する障害物推定空間内の実空間点のばらつきが、閾値以上でないと判定された場合、すなわち、障害物推定空間内の実空間点が、平面状に分布しているということができる場合、処理は、ステップS38に進む。
ステップS38では、除去エリア設定部41は、除去エリアの候補としての2次元平面を、除去エリアに設定し、除去エリア設定処理は終了する。
図15は、図4の除去エリア設定部41での除去エリアの設定の他の例を説明する図である。
除去エリア設定部41では、2次元平面を、除去エリアとして設定する他、ユーザが指定する被写体が実空間内に占めるエリアを、除去エリアとして設定することができる。
すなわち、除去エリア設定部41では、例えば、撮影画像において、ユーザが指定する画素に対して画素値及び視差のうちの一方又は両方が類似する画素に対応する実空間点を、除去エリアに設定することができる。
図15では、撮影画像に、所望被写体としての塔が映っているとともに、その塔の手前に、障害物としての電線が映っている。
制御部33(図4)は、以上のような撮影画像を、表示装置13に表示させることができる。
この場合、ユーザは、表示装置13に表示された撮影画像に映る障害物の一部を、指やポインティングデバイス等でタッチすること等により、障害物を指定することができる。
除去エリア設定部41は、ユーザがタッチによって指定した撮影画像の画素(以下、タッチ画素ともいう)に対して、画素値及び視差の一方又は両方が類似する画素を、撮影画像から検出し、そのような画素に対応する実空間点で形成されるエリアを、除去エリアに設定する。
この場合、制御部33では、図15に示すように、除去エリアを形成する実空間点に対応する画素が分かるように、例えば、その画素の色や輝度を変えて、撮影画像を、表示装置13に表示させることができる。同様に、制御部33では、除去エリアを形成する実空間点に対応する画素が分かるように、視差マップを、表示装置13に表示させることができる。
ここで、図15の視差マップでは、横軸及び縦軸を、画素の位置として、各位置の画素の視差が、濃淡で表されている。
ユーザは、除去エリアを形成する実空間点に対応する画素が分かるように表示された撮影画像や視差マップを見て、除去エリア(が障害物のエリアに設定されたかどうか)を確認することができる。
<障害物除去処理>
図16は、除去部42(図4)による障害物除去処理の例の概要を説明する図である。
除去部42は、視差情報生成部31からの視点vp#iの視差マップ、及び、除去エリア設定部41からの除去エリアを用いて、撮影装置11からの撮影画像IP#iから、その撮影画像IP#iに映る、除去エリア内の障害物を除去した除去撮影画像RIP#iと、マスクフラグ画像とを生成する。
図16の撮影画像IP#iには、所望被写体が映っており、さらに、所望被写体の手前に、障害物としての金網が映っている。
いま、除去エリア設定部41において、障害物としての金網が位置する実空間点が分布する2次元平面が、除去エリアに設定された場合、除去部42は、撮影画像IP#iに映る実空間内の被写体の実空間点のうちの、除去エリアに入っている実空間点に対応する、撮影画像IP#iの画素を、障害物が映る障害物画素として除去した除去撮影画像RIP#iを生成する。
さらに、除去部42は、除去撮影画像RIP#iに対して、その除去撮影画像RIP#iの同一位置の画素の有無を表す1ビットのマスクフラグを画素値とするマスクフラグ画像、すなわち、撮影画像IP#iにおいて障害物画素になっている画素を表すマスクフラグ画像を生成する。
マスクフラグ画像において、障害物画素と同一位置の画素の画素値としてのマスクフラグは、障害物画素を表す、例えば、1に設定され、障害物画素でない画素と同一位置の画素の画素値としてのマスクフラグは、障害物画素でない画素を表す、例えば、0に設定される。
図16のマスクフラグ画像では、白で表す部分が、撮影画像IP#iの画素が障害物画素であることを表し、黒で表す部分が撮影画像IP#iの画素が障害物画素でないことを表す。
ここで、撮影画像IP#iの画素値に、例えば、8ビットのR(Red)値、8ビットのG(Green)値、及び、8ビットのB(Blue)値の、合計で、24ビットが割り当てられていることとすると、除去撮影画像RIP#iの画素の画素値は、撮影画像IP#iの画素の画素値と同様に、24ビットで構成される。
但し、除去撮影画像RIP#iについては、その画素の画素値を、24ビットから1ビットだけ拡張して、25ビットにし、その25ビット目に、マスクフラグ画像の画素値(マスクフラグ)を設定することができる。この場合、マスクフラグ画像は、除去撮影画像RIP#iの各画素の画素値の25ビット目によって構成される。
図17は、除去部42による障害物除去処理の例を説明するフローチャートである。
ここで、図17のフローチャートは、ある1視点vp#iの撮影画像IP#iのある座標(x,y)の画素を、注目画素として行われる障害物除去処理を表している。
図17の障害物除去処理は、すべての視点の撮影画像のすべての画素を注目画素として行われる。
また、撮影画像IP#iの座標(x,y)とは、例えば、撮影画像IP#iの左上の点を原点とするとともに、水平方向及び垂直方向を、それぞれx軸及びy軸とする2次元座標系の座標である。
ステップS41において、除去部42は、視点vp#iの撮影画像IP#iの座標(x,y)の画素である注目画素の視差dを、視差マップから取得する。さらに、除去部42は、注目画素の座標(x,y)と、その注目画素の視差dとから、注目画素に対応する実空間点(注目画素に映る実空間点)を、注目実空間点として求め、処理は、ステップS41からステップS42に進む。
ステップS42では、除去部42は、注目実空間点が、除去エリアに入っているかどうかを判定する。
ステップS42において、注目実空間点が、除去エリアに入っていると判定された場合、処理は、すなわち、注目実空間点が、障害物となっている被写体上の点である場合、処理は、ステップS43に進む。
ステップS43では、除去部42は、視点vp#iのマスクフラグ画像(除去撮影画像RIP#iに対するマスクフラグ画像)の座標(x,y)の画素値であるマスクフラグを、注目画素が障害物画素であることを表す1に設定し、処理は、ステップS44に進む。
ステップS44では、除去部42は、視点vp#iの除去撮影画像RIP#iの座標(x,y)の画素値を、障害物画素の除去を表す0に設定し、障害物除去処理は終了する。
ここで、除去撮影画像RIP#iでは、障害物画素の画素値を0にする必要は必ずしもないが、後段の重ね合わせ部52での重ね合わせ処理において、混色が生じることを防止する観点からは、除去撮影画像RIP#iの障害物画素の画素値は0にすることが望ましい。
一方、ステップS42において、注目実空間点が、除去エリアに入っていないと判定された場合、処理は、すなわち、注目実空間点が、障害物上の点ではない場合、処理は、ステップS45に進む。
ステップS45では、除去部42は、視点vp#iのマスクフラグ画像の座標(x,y)の画素値であるマスクフラグを、注目画素が障害物画素でないことを表す0に設定し、処理は、ステップS46に進む。
ステップS46では、除去部42は、視点vp#iの除去撮影画像RIP#iの座標(x,y)の画素値を、注目画素の画素値に設定し、障害物除去処理は終了する。
<視点変換処理>
図18は、視点変換部51(図4)による視点変換処理の例を説明するフローチャートである。
ここで、図18のフローチャートは、ある1視点vp#iの除去撮影画像RIP#iのある座標(x,y)の画素を、注目画素として行われる視点変換処理を表している。
図18の視点変換処理は、すべての視点の除去撮影画像のすべての画素を注目画素として行われる。
ステップS51において、視点変換部51は、視点vp#iの除去撮影画像RIP#iの座標(x,y)の注目画素の視差dを、視差マップから取得する。さらに、除去部42は、注目画素の座標(x,y)と、その注目画素の視差dとから、注目画素に対応する実空間点(注目画素に映る実空間点)を、注目実空間点として求め、処理は、ステップS51からステップS52に進む。
ここで、実空間点については、撮影装置11(のカメラユニット21i)の光軸方向をz軸とするとともに、z軸に直交する2次元平面をxy平面とする3次元座標系によって、座標を表す。また、座標が(x,y,z)の実空間点を、実空間点(x,y,z)とも記載する。
ステップS52では、視点変換部51は、注目実空間点(x,y,z)を、所定の視点から撮影した仮想的な仮想画像の画素の座標(x0,y0)と視差d0に変換し、処理は、ステップS53に進む。
ここで、所定の視点としては、撮影装置11を構成するいずれかのカメラユニット21iの視点vp#i、例えば、基準カメラユニット211の視点vp1等を採用することができる。
また、所定の視点としては、撮影装置11を構成するいずれのカメラユニット21iの視点vp#iとも異なる視点を採用することができる。
ステップS52では、注目実空間点(x,y,z)を、所定の視点から撮影したときに、その注目実空間点(x,y,z)が映る画素の座標(x0,y0)と視差d0とが求められる。
ステップS53では、視点変換部51は、視点vp#iについての視点変換用の視差マップから、座標(x0,y0)に対して登録されている視差である登録視差d0'を取得し、処理は、ステップS54に進む。
ここで、視点vp#iについての視点変換用の視差マップは、視点vp#iの除去撮影画像RIP#iの視点変換処理に用いる視差マップである。視点vp#iについての視点変換用の視差マップの実体は、記憶領域であり、その視点vp#iについての視点変換用の視差マップとしての記憶領域は、視点vp#iの除去撮影画像RIP#iの視点変換処理が開始される前に確保される。視点vp#iについての視点変換用の視差マップの(各画素の)登録視差d0'の初期値は、例えば、0(無限遠)に設定される。
ステップS54では、視点変換部51は、仮想画像上の座標(x0,y0)の視差d0が、視点vp#iについての視点変換用の視差マップの座標(x0,y0)(の画素)に対して登録されている登録視差d0'よりも手前の視差であるかどうかを判定する。
ステップS54において、視差d0が、登録視差d0'よりも手前の視差でないと判定されたとき、すなわち、仮想画像上の座標(x0,y0)の画素に映り得る被写体として、視差d0の注目実空間点(x,y,z)と、登録視差d0'の実空間点とがある場合に、視差d0の注目実空間点(x,y,z)が、登録視差d0'の実空間点よりも手前にないために、視差d0の注目実空間点(x,y,z)が、仮想画像上の座標(x0,y0)の画素に映らないとき、(注目画素の)視点変換処理は終了する。
一方、ステップS54において、視差d0が、登録視差d0'よりも手前の視差であると判定された場合、すなわち、仮想画像上の座標(x0,y0)の画素に映り得る被写体として、視差d0の注目実空間点(x,y,z)と、登録視差d0'の実空間点とがある場合に、視差d0の注目実空間点(x,y,z)が、登録視差d0'の実空間点よりも手前にあり、したがって、視差d0の注目実空間点(x,y,z)が、仮想画像上の座標(x0,y0)の画素に映り得るとき、処理は、ステップS55に進む。
ステップS55では、視点変換部51は、視点vp#iについての視点変換画像VCP#iの座標(x0,y0)の画素の画素値として、注目実空間点(x,y,z)に対応する、視点vp#iの除去撮影画像RIP#iの座標(x,y)の注目画素の画素値を登録し、処理は、ステップS56に進む。
ここで、視点vp#iについての視点変換画像VCP#iとは、視点vp#iの除去撮影画像RIP#iに映る被写体を、所定の視点から撮影した画像(所定の視点から撮影したならば得られるであろう画像)である。視点vp#iについての視点変換画像VCP#iの実体は、記憶領域であり、その視点vp#iについての視点変換画像VCP#iとしての記憶領域は、視点vp#iについての視点変換用の視差マップと同様に、視点vp#iの除去撮影画像RIP#iの視点変換処理が開始される前に確保される。視点vp#iについての視点変換画像VCP#iの各画素の画素値の初期値は、例えば、0に設定される。
ステップS56では、視点変換部51は、視点vp#iについての視点変換用の視差マップの座標(x0,y0)に対して、既に登録されている登録視差d0'に上書きする形で、仮想画像上の座標(x0,y0)の画素、すなわち、視点vp#iについての視点変換画像VCP#iの座標(x0,y0)の画素の視差d0を登録する。
これにより、視点vp#iについての視点変換用の視差マップの座標(x0,y0)に対しては、既に登録されている登録視差d0'に代えて、その登録視差d0'よりも手前の視差d0が登録される。
そして、処理は、ステップS56からステップS57に進み、視点変換処理部51は、視点vp#iについての変換マスクフラグ画像の座標(x0,y0)の画素値として、視点vp#iのマスクフラグ画像の座標(x,y)の画素値としてのマスクフラグを登録し、視点変換処理は終了する。
ステップS57の処理によれば、ステップS55で、視点vp#iの除去撮影画像RIP#iが、所定の見た視点vp#iについての視点変換画像VCP#iに変換されるのに対応して、視点vp#iのマスクフラグ画像が、視点vp#iについての変換マスクフラグ画像に変換される。
視点vp#iについての変換マスクフラグ画像の実体は、記憶領域であり、その視点vp#iについての変換マスクフラグ画像としての記憶領域は、視点vp#iについての視点変換用の視差マップと同様に、視点vp#iの除去撮影画像RIP#iの視点変換処理が開始される前に確保される。視点vp#iについての変換マスクフラグ画像の各画素の画素値(マスクフラグ)の初期値は、例えば、障害物画素(障害物が映る画素)を表す1に設定される。
なお、視点vp#iについての視点変換用の視差マップは、視点vp#iの除去撮影画像RIP#iを、所定の見た視点vp#iの視点変換画像VCP#iに変換するために用いられる視差マップであり、視点変換処理の終了後は、保持しておく必要はない。
また、図16で説明したように、例えば、撮影画像IP#iの画素値に、8ビットのR値、8ビットのG値、及び、8ビットのB値の、合計で、24ビットが割り当てられていることとすると、視点vp#iについての視点変換画像VCP#iの画素の画素値は、撮影画像IP#iの画素の画素値と同様に、24ビットで構成される。
視点vp#iについての視点変換画像VCP#iについては、図16で説明した除去撮影画像RIP#iと同様に、画素値を、24ビットから1ビットだけ拡張して、25ビットにし、その25ビット目に、変換マスクフラグ画像の画素値を設定することができる。この場合、変換マスクフラグ画像は、視点vp#iについての視点変換画像VCP#iの各画素の画素値の25ビット目によって構成される。
<重ね合わせ処理>
図19は、重ね合わせ部52(図4)による重ね合わせ処理の概要を説明する図である。
なお、図19では、撮影装置11が、例えば、図3に示したように、5個のカメラユニット211ないし215で構成され、5視点の撮影画像IP1ないしIP5が撮影されることとする。
また、以下では、視点変換部51での視点変換処理における所定の視点として、例えば、基準カメラユニット211の視点vp1を採用することとする。
視点変換部51において視点変換処理が行われることにより、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5が得られる。
視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5は、いずれも、所定の視点から撮影した画像(所定の視点の画像)になっており、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの同一位置の画素には、視点vp1ないしvp5から、障害物でない同一の実空間点が見えるのであれば、その同一の実空間点が映っている。
重ね合わせ部52は、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5を重ね合わせることにより、撮影画像IP1ないしIP5に映る被写体から障害物を除く被写体を所定の視点(ここでは、視点vp1)から見た画像を、所定の視点の重ね合わせ画像として生成する。
所定の視点の重ね合わせ画像は、所定の視点から所望被写体を見た場合に、障害物が映っていない障害物除去画像になる。
重ね合わせ部52での、視点vp1ないしvp5の視点変換画像VCP1ないしVCP5の重ね合わせでは、重ね合わせ画像の注目する注目画素の画素値が、視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の1以上の画素を用いて求められる。
ここで、ある視点vp#iについての視点変換画像VCP#iの所定の位置の画素には、例えば、所望被写体上のある実空間点が映っているが、他の視点vp#i'についての視点変換画像VCP#i'の所定の位置の画素には、同一の実空間点が、障害物に隠れて映っていない場合がある。
重ね合わせ部52は、視点vp#iについての視点変換画像VCP#iにおいて、障害物が映っている障害物画素を、視点vp#iについての変換マスクフラグ画像から認識する。そして、重ね合わせ部52は、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の画素のうちの、障害物画素でない画素を用いて、所定の視点の重ね合わせ画像の注目画素の画素値を求める。
なお、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の画素のいずれにも画素値がない場合、すなわち、例えば、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の画素すべてが、障害物画素である場合、重ね合わせ画像の注目画素は、画素値がない欠落画素になる。
重ね合わせ部52は、重ね合わせ画像を生成するとともに、その重ね合わせ画像の各画素について、画素値が欠落している欠落画素であるかどうかを表す未確定フラグ画像を生成する。未確定フラグ画像の各画素の画素値は、重ね合わせ画像の同一位置の画素が欠落画素であるかどうかを表す1ビットの未確定フラグになっている。
図20は、重ね合わせ部52(図4)による重ね合わせ処理において、重ね合わせ画像の注目する注目画素の画素値を求める方法の例を説明する図である。
重ね合わせ処理では、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の画素のうちの、障害物画素でない画素を用いて、所定の視点の重ね合わせ画像の注目画素の画素値が求められる。
重ね合わせ処理では、例えば、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の画素のうちの、障害物画素でない画素の画素値の平均値等を、所定の視点の重ね合わせ画像の注目画素の画素値として求めることができる。
また、重ね合わせ処理では、例えば、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の画素の中で、障害物画素でない画素(以下、非障害物画素ともいう)のうちの1の画素を、選択画素として選択し、その選択画素の画素値を、所定の視点の重ね合わせ画像の注目画素の画素値として求めることができる。
いま、上述のように、選択画素の画素値を、所定の視点の重ね合わせ画像の注目画素の画素値として求める方法を、選択画素法ということとする。
図20は、選択画素法を説明する図である。
なお、図20では、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の画素は、すべて、非障害物画素であることとする。
選択画素法では、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の非障害物画素の画素値の、RGBの色空間での重心#1が求められる。
そして、例えば、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の非障害物画素のうちの、画素値が重心#1に最も近い非障害物画素が、選択画素として選択され、その選択画素の画素値が、所定の視点の重ね合わせ画像の注目画素の画素値として求められる。
あるいは、選択画素法では、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の非障害物画素から、画素値が重心#1から最も遠い非障害物画素が除かれる。さらに、選択画素法では、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の非障害物画素から、画素値が重心#1から最も遠い非障害物画素を除いた残りの非障害物画素の画素値の重心#2が求められる。
そして、例えば、視点vp1ないしvp5についての視点変換画像VCP1ないしVCP5それぞれの、注目画素と同一の位置の非障害物画素のうちの、画素値が重心#2に最も近い非障害物画素が、選択画素として選択され、その選択画素の画素値が、所定の視点の重ね合わせ画像の注目画素の画素値として求められる。
<補間処理>
図21は、補間部53(図4)による補間処理を説明する図である。
補間処理では、補間部53は、重ね合わせ画像の欠落画素を、未確定フラグ画像を用いて認識する。そして、補間部53は、重ね合わせ画像の欠落画素を、その欠落画素の近傍の画素の画素値を用いて補間することで、所定の視点としての視点vp#1の障害物除去画像を生成する。
例えば、欠落画素の周囲に隣接する隣接画素、すなわち、欠落画素の上、下、左、右、左上、左下、右上、及び、右下に隣接する画素の中に、1以上の欠落画素でない非欠落画素が存在する場合、補間部53は、例えば、隣接画素であって、かつ、非欠落画素の画素値の平均値や中央値を、欠落画素の画素値として求めることができる。
また、例えば、欠落画素の周囲に隣接する隣接画素の中に、非欠落画素が存在しない場合、補間部53は、例えば、欠落画素の周囲の方向にある非欠落画素の画素値を用いて、欠落画素を補間することができる。
すなわち、補間部53は、例えば、欠落画素の周囲の等角度の方向にある非欠落画素の画素値の重み付け加算によって、欠落画素の画素値を求めることができる。
図21は、欠落画素の周囲の等角度の方向にある非欠落画素の画素値の重み付け加算によって、欠落画素の画素値を求める方法の例を示している。
欠落画素の周囲の等角度の方向にある非欠落画素の画素値の重み付け加算によって、欠落画素の画素値を求める場合には、欠落画素Pの周囲の、例えば、45度ごとの等角度の8方向にある、欠落画素Pから最も近い8個の非欠落画素P1ないしP8が、欠落画素Pの補間に用いる補間用画素として検出される。
そして、欠落画素Pと補間用画素Pk(ここでは、k=1,2,...,8)との距離に対応する値を重みとして、補間用画素Pkの画素値の重み付け加算値が、欠落画素Pの画素値として求められる。
すなわち、欠落画素P及び補間用画素Pkの画素値を、それぞれP及びPkと表すとともに、欠落画素Pと補間用画素Pkとの距離を、Lkと表すこととすると、欠落画素Pの画素値Pは、例えば、式P=(P1/L1+P2/L2+...+P8/L8)/(1/L1+1/L2+...+1/L8)に従って求められる。
なお、欠落画素の周囲の等角度の方向にある非欠落画素の画素値の重み付け加算によって、欠落画素の画素値を求める場合、補間用画素として用いる画素は、欠落画素の周囲の等角度の方向にある8個の非欠落画素に限定されるものではない。すなわち、補間用画素としては、欠落画素の周囲の等角度の方向にある、例えば、4個や16個等の非欠落画素を採用することができる。
ここで、補間用画素とする非欠落画素の数は、多い方が望ましい。
また、欠落画素Pの画素値が、R値、B値、及び、G値を有する場合には、欠落画素Pの画素値としてのR値、B値、及び、G値は、それぞれの色成分ごとに求められる。
以上のように、図1の画像処理システムでは、複数の視点の撮影画像から生成された視差情報を用いて、撮影画像から、一部の被写体を除去した除去撮影画像を生成し、その除去撮影画像を、視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像を生成する。したがって、視差情報を用いて、障害物が映っていない障害物除去画像を得ることができる。
なお、図1の画像処理システムの画像処理装置12では、複数の撮影画像から、上述のように、障害物が映っていない障害物除去画像を生成する他、複数の撮影画像から、所望被写体等の任意の被写体にフォーカスがあった画像を生成するリフォーカスを行うことができる。
障害物除去画像の生成時に、リフォーカスを行うことにより、所望被写体にフォーカスが合っていない撮影画像が撮影された場合であっても、所望被写体にフォーカスが合い、かつ、障害物が映っていない障害物除去画像を得ることができる。
例えば、スポーツ観戦等では、金網越しに撮影を行わざるを得ないが、金網越しの撮影では、金網にフォーカスが合い、スポーツを行っているスポーツ選手等の所望被写体が、いわゆるピンぼけ状態になることがある。
このように、金網にフォーカスが合い、所望被写体が、いわゆるピンぼけ状態になっている撮影画像が撮影された場合であっても、所望被写体にフォーカスが合い、かつ、障害物としての金網が映っていない障害物除去画像を得ることができる。
なお、画像処理装置12の画像処理については、一部の画像処理を、クラウド上等のサーバで行い、残りの画像処理を、ユーザ側のクライアントで行うことができる。
例えば、クライアントでは、複数の視点の撮影画像を、サーバに送信し、サーバでは、高精度の視差マップを生成し、その視差マップを、クライアントに提供することができる。
クライアントでは、その視差マップを用いて、除去エリアを設定して、サーバに送信し、サーバでは、クライアントからの撮影画像及び除去エリアと、先に生成した視差マップとを用いて、障害物除去画像を生成し、クライアントに提供することができる。
クライアントでは、サーバからの障害物除去画像が表示される。そして、その障害物除去画像がユーザの意図する画像でない場合には、クライアントでの除去エリアの設定から、処理が繰り返される。
この場合、サーバでは、図9のステップS12の視差情報生成処理、ステップS14の障害物除去処理、ステップS15の視点変換処理、ステップS16の重ね合わせ処理、及び、ステップS17の補間処理が行われる。クライアントでは、図9のその他の処理(ステップS11,S13,S18,S19)が行われる。
<5視点vp1ないしvp5の撮影画像IP1ないしIP5を対象とする画像処理の概要>
図22は、撮影装置11が、例えば、図3に示したように、5個のカメラユニット211ないし215で構成され、5視点vp1ないしvp5の撮影画像IP1ないしIP5が撮影される場合の、その5視点vp1ないしvp5の撮影画像IP1ないしIP5を対象として行われる画像処理装置12の画像処理の概要を説明する図である。
画像処理装置12では、撮影画像IP1ないしIP5のそれぞれについて、視差マップが生成される。
さらに、画像処理装置12では、視差マップを用いて、撮影画像IP1ないしIP5から、除去撮影画像RIP1ないしRIP5がそれぞれ生成され、さらに、その除去撮影画像RIP1ないしRIP5が、所定の視点としての、例えば、撮影画像IP1の視点vp1から見た視点変換画像VCP1ないしVCP5に変換される。なお、所定の視点が視点vp1である場合、視点変換画像VCP1は、除去撮影画像RIP1に(理論上)一致する。
画像処理装置12は、視点変換画像VCP1ないしVCP5を重ね合わせ、重ね合わせ画像を生成し、その重ね合わせ画像の欠落画素を補間することで、所定の視点としての視点vp1から見た、障害物が映っていない障害物除去画像を生成する。
<3視点vp1ないしvp3の撮影画像IP1ないしIP3を対象とする画像処理の概要>
図23は、撮影装置11が、例えば、図3に示したように、3個のカメラユニット211ないし213で構成され、3視点vp1ないしvp3の撮影画像IP1ないしIP3が撮影される場合の、その3視点vp1ないしvp3の撮影画像IP1ないしIP3を対象として行われる画像処理装置12の画像処理の概要を説明する図である。
画像処理装置12では、撮影画像IP1ないしIP3のそれぞれについて、視差マップが生成される。
さらに、画像処理装置12では、視差マップを用いて、撮影画像IP1ないしIP3から、除去撮影画像RIP1ないしRIP3がそれぞれ生成され、さらに、その除去撮影画像RIP1ないしRIP3が、所定の視点としての、例えば、撮影画像IP1の視点vp1から見た視点変換画像VCP1ないしVCP3に変換される。なお、所定の視点が視点vp1である場合、視点変換画像VCP1は、除去撮影画像RIP1に一致する。
画像処理装置12は、視点変換画像VCP1ないしVCP3を重ね合わせ、重ね合わせ画像を生成し、その重ね合わせ画像の欠落画素を補間することで、所定の視点としての視点vp1から見た、障害物が映っていない障害物除去画像を生成する。
<本技術を適用したコンピュータの説明>
次に、上述した画像処理装置12の一連の画像処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の画像処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
図24は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示すブロック図である。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、リムーバブル記録媒体111に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。ここで、リムーバブル記録媒体111としては、例えば、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、通信網や放送網を介して、コンピュータにダウンロードし、内蔵するハードディスク105にインストールすることができる。すなわち、プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送することができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵しており、CPU102には、バス101を介して、入出力インタフェース110が接続されている。
CPU102は、入出力インタフェース110を介して、ユーザによって、入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、CPU102は、ハードディスク105に格納されたプログラムを、RAM(Random Access Memory)104にロードして実行する。
これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
なお、入力部107は、キーボードや、マウス、マイク等で構成される。また、出力部106は、LCD(Liquid Crystal Display)やスピーカ等で構成される。
<応用例>
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車などのいずれかの種類の車両に搭載される装置として実現されてもよい。
本開示に係る技術は、様々な製品へ応用することができる。例えば、本開示に係る技術は、自動車、電気自動車、ハイブリッド電気自動車、自動二輪車などのいずれかの種類の車両に搭載される装置として実現されてもよい。
図25は、本開示に係る技術が適用され得る車両制御システム2000の概略的な構成の一例を示すブロック図である。車両制御システム2000は、通信ネットワーク2010を介して接続された複数の電子制御ユニットを備える。図25に示した例では、車両制御システム2000は、駆動系制御ユニット2100、ボディ系制御ユニット2200、バッテリ制御ユニット2300、車外情報検出ユニット2400、車内情報検出ユニット2500、及び統合制御ユニット2600を備える。これらの複数の制御ユニットを接続する通信ネットワーク2010は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)、LAN(Local Area Network)又はFlexRay(登録商標)等の任意の規格に準拠した車載通信ネットワークであってよい。
各制御ユニットは、各種プログラムにしたがって演算処理を行うマイクロコンピュータと、マイクロコンピュータにより実行されるプログラム又は各種演算に用いられるパラメータ等を記憶する記憶部と、各種制御対象の装置を駆動する駆動回路とを備える。各制御ユニットは、通信ネットワーク2010を介して他の制御ユニットとの間で通信を行うためのネットワークI/Fを備えるとともに、車内外の装置又はセンサ等との間で、有線通信又は無線通信により通信を行うための通信I/Fを備える。図25では、統合制御ユニット2600の機能構成として、マイクロコンピュータ2610、汎用通信I/F2620、専用通信I/F2630、測位部2640、ビーコン受信部2650、車内機器I/F2660、音声画像出力部2670、車載ネットワークI/F2680及び記憶部2690が図示されている。他の制御ユニットも同様に、マイクロコンピュータ、通信I/F及び記憶部等を備える。
駆動系制御ユニット2100は、各種プログラムにしたがって車両の駆動系に関連する装置の動作を制御する。例えば、駆動系制御ユニット2100は、内燃機関又は駆動用モータ等の車両の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、車両の舵角を調節するステアリング機構、及び、車両の制動力を発生させる制動装置等の制御装置として機能する。駆動系制御ユニット2100は、ABS(Antilock Brake System)又はESC(Electronic Stability Control)等の制御装置としての機能を有してもよい。
駆動系制御ユニット2100には、車両状態検出部2110が接続される。車両状態検出部2110には、例えば、車体の軸回転運動の角速度を検出するジャイロセンサ、車両の加速度を検出する加速度センサ、あるいは、アクセルペダルの操作量、ブレーキペダルの操作量、ステアリングホイールの操舵角、エンジン回転数又は車輪の回転速度等を検出するためのセンサのうちの少なくとも一つが含まれる。駆動系制御ユニット2100は、車両状態検出部2110から入力される信号を用いて演算処理を行い、内燃機関、駆動用モータ、電動パワーステアリング装置又はブレーキ装置等を制御する。
ボディ系制御ユニット2200は、各種プログラムにしたがって車体に装備された各種装置の動作を制御する。例えば、ボディ系制御ユニット2200は、キーレスエントリシステム、スマートキーシステム、パワーウィンドウ装置、あるいは、ヘッドランプ、バックランプ、ブレーキランプ、ウィンカー又はフォグランプ等の各種ランプの制御装置として機能する。この場合、ボディ系制御ユニット2200には、鍵を代替する携帯機から発信される電波又は各種スイッチの信号が入力され得る。ボディ系制御ユニット2200は、これらの電波又は信号の入力を受け付け、車両のドアロック装置、パワーウィンドウ装置、ランプ等を制御する。
バッテリ制御ユニット2300は、各種プログラムにしたがって駆動用モータの電力供給源である二次電池2310を制御する。例えば、バッテリ制御ユニット2300には、二次電池2310を備えたバッテリ装置から、バッテリ温度、バッテリ出力電圧又はバッテリの残存容量等の情報が入力される。バッテリ制御ユニット2300は、これらの信号を用いて演算処理を行い、二次電池2310の温度調節制御又はバッテリ装置に備えられた冷却装置等の制御を行う。
車外情報検出ユニット2400は、車両制御システム2000を搭載した車両の外部の情報を検出する。例えば、車外情報検出ユニット2400には、撮像部2410及び車外情報検出部2420のうちの少なくとも一方が接続される。撮像部2410には、ToF(Time Of Flight)カメラ、ステレオカメラ、単眼カメラ、赤外線カメラ及びその他のカメラのうちの少なくとも一つが含まれる。車外情報検出部2420には、例えば、現在の天候又は気象を検出するための環境センサ、あるいは、車両制御システム2000を搭載した車両の周囲の他の車両、障害物又は歩行者等を検出するための周囲情報検出センサが含まれる。
環境センサは、例えば、雨天を検出する雨滴センサ、霧を検出する霧センサ、日照度合いを検出する日照センサ、及び降雪を検出する雪センサのうちの少なくとも一つであってよい。周囲情報検出センサは、超音波センサ、レーダ装置及びLIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)装置のうちの少なくとも一つであってよい。これらの撮像部2410及び車外情報検出部2420は、それぞれ独立したセンサないし装置として備えられてもよいし、複数のセンサないし装置が統合された装置として備えられてもよい。
ここで、図26は、撮像部2410及び車外情報検出部2420の設置位置の例を示す。撮像部2910,2912,2914,2916,2918は、例えば、車両2900のフロントノーズ、サイドミラー、リアバンパ、バックドア及び車室内のフロントガラスの上部のうちの少なくとも一つの位置に設けられる。フロントノーズに備えられる撮像部2910及び車室内のフロントガラスの上部に備えられる撮像部2918は、主として車両2900の前方の画像を取得する。サイドミラーに備えられる撮像部2912,2914は、主として車両2900の側方の画像を取得する。リアバンパ又はバックドアに備えられる撮像部2916は、主として車両2900の後方の画像を取得する。車室内のフロントガラスの上部に備えられる撮像部2918は、主として先行車両又は、歩行者、障害物、信号機、交通標識又は車線等の検出に用いられる。
なお、図26には、それぞれの撮像部2910,2912,2914,2916の撮影範囲の一例が示されている。撮像範囲aは、フロントノーズに設けられた撮像部2910の撮像範囲を示し、撮像範囲b,cは、それぞれサイドミラーに設けられた撮像部2912,2914の撮像範囲を示し、撮像範囲dは、リアバンパ又はバックドアに設けられた撮像部2916の撮像範囲を示す。例えば、撮像部2910,2912,2914,2916で撮像された画像データが重ね合わせられることにより、車両2900を上方から見た俯瞰画像が得られる。
車両2900のフロント、リア、サイド、コーナ及び車室内のフロントガラスの上部に設けられる車外情報検出部2920,2922,2924,2926,2928,2930は、例えば超音波センサ又はレーダ装置であってよい。車両2900のフロントノーズ、リアバンパ、バックドア及び車室内のフロントガラスの上部に設けられる車外情報検出部2920,2926,2930は、例えばLIDAR装置であってよい。これらの車外情報検出部2920~2930は、主として先行車両、歩行者又は障害物等の検出に用いられる。
図25に戻って説明を続ける。車外情報検出ユニット2400は、撮像部2410に車外の画像を撮像させるとともに、撮像された画像データを受信する。また、車外情報検出ユニット2400は、接続されている車外情報検出部2420から検出情報を受信する。車外情報検出部2420が超音波センサ、レーダ装置又はLIDAR装置である場合には、車外情報検出ユニット2400は、超音波又は電磁波等を発信させるとともに、受信された反射波の情報を受信する。車外情報検出ユニット2400は、受信した情報に基づいて、人、車、障害物、標識又は路面上の文字等の物体検出処理又は距離検出処理を行ってもよい。車外情報検出ユニット2400は、受信した情報に基づいて、降雨、霧又は路面状況等を認識する環境認識処理を行ってもよい。車外情報検出ユニット2400は、受信した情報に基づいて、車外の物体までの距離を算出してもよい。
また、車外情報検出ユニット2400は、受信した画像データに基づいて、人、車、障害物、標識又は路面上の文字等を認識する画像認識処理又は距離検出処理を行ってもよい。車外情報検出ユニット2400は、受信した画像データに対して歪補正又は位置合わせ等の処理を行うとともに、異なる撮像部2410により撮像された画像データを合成して、俯瞰画像又はパノラマ画像を生成してもよい。車外情報検出ユニット2400は、異なる撮像部2410により撮像された画像データを用いて、視点変換処理を行ってもよい。
車内情報検出ユニット2500は、車内の情報を検出する。車内情報検出ユニット2500には、例えば、運転者の状態を検出する運転者状態検出部2510が接続される。運転者状態検出部2510は、運転者を撮像するカメラ、運転者の生体情報を検出する生体センサ又は車室内の音声を集音するマイク等を含んでもよい。生体センサは、例えば、座面又はステアリングホイール等に設けられ、座席に座った搭乗者又はステアリングホイールを握る運転者の生体情報を検出する。車内情報検出ユニット2500は、運転者状態検出部2510から入力される検出情報に基づいて、運転者の疲労度合い又は集中度合いを算出してもよいし、運転者が居眠りをしていないかを判別してもよい。車内情報検出ユニット2500は、集音された音声信号に対してノイズキャンセリング処理等の処理を行ってもよい。
統合制御ユニット2600は、各種プログラムにしたがって車両制御システム2000内の動作全般を制御する。統合制御ユニット2600には、入力部2800が接続されている。入力部2800は、例えば、タッチパネル、ボタン、マイクロフォン、スイッチ又はレバー等、搭乗者によって入力操作され得る装置によって実現される。入力部2800は、例えば、赤外線又はその他の電波を利用したリモートコントロール装置であってもよいし、車両制御システム2000の操作に対応した携帯電話又はPDA(Personal Digital Assistant)等の外部接続機器であってもよい。入力部2800は、例えばカメラであってもよく、その場合搭乗者はジェスチャにより情報を入力することができる。さらに、入力部2800は、例えば、上記の入力部2800を用いて搭乗者等により入力された情報に基づいて入力信号を生成し、統合制御ユニット2600に出力する入力制御回路などを含んでもよい。搭乗者等は、この入力部2800を操作することにより、車両制御システム2000に対して各種のデータを入力したり処理動作を指示したりする。
記憶部2690は、マイクロコンピュータにより実行される各種プログラムを記憶するRAM(Random Access Memory)、及び各種パラメータ、演算結果又はセンサ値等を記憶するROM(Read Only Memory)を含んでいてもよい。また、記憶部2690は、HDD(Hard Disc Drive)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等によって実現してもよい。
汎用通信I/F2620は、外部環境2750に存在する様々な機器との間の通信を仲介する汎用的な通信I/Fである。汎用通信I/F2620は、GSM(登録商標)(Global System of Mobile communications)、WiMAX、LTE(Long Term Evolution)若しくはLTE-A(LTE-Advanced)などのセルラー通信プロトコル、又は無線LAN(Wi-Fi(登録商標)ともいう)などのその他の無線通信プロトコルを実装してよい。汎用通信I/F2620は、例えば、基地局又はアクセスポイントを介して、外部ネットワーク(例えば、インターネット、クラウドネットワーク又は事業者固有のネットワーク)上に存在する機器(例えば、アプリケーションサーバ又は制御サーバ)へ接続してもよい。また、汎用通信I/F2620は、例えばP2P(Peer To Peer)技術を用いて、車両の近傍に存在する端末(例えば、歩行者若しくは店舗の端末、又はMTC(Machine Type Communication)端末)と接続してもよい。
専用通信I/F2630は、車両における使用を目的として策定された通信プロトコルをサポートする通信I/Fである。専用通信I/F2630は、例えば、下位レイヤのIEEE802.11pと上位レイヤのIEEE1609との組合せであるWAVE(Wireless Access in Vehicle Environment)、又はDSRC(Dedicated Short Range Communications)といった標準プロトコルを実装してよい。専用通信I/F2630は、典型的には、車車間(Vehicle to Vehicle)通信、路車間(Vehicle to Infrastructure)通信及び歩車間(Vehicle to Pedestrian)通信のうちの1つ以上を含む概念であるV2X通信を遂行する。
測位部2640は、例えば、GNSS(Global Navigation Satellite System)衛星からのGNSS信号(例えば、GPS(Global Positioning System)衛星からのGPS信号)を受信して測位を実行し、車両の緯度、経度及び高度を含む位置情報を生成する。なお、測位部2640は、無線アクセスポイントとの信号の交換により現在位置を特定してもよく、又は測位機能を有する携帯電話、PHS若しくはスマートフォンといった端末から位置情報を取得してもよい。
ビーコン受信部2650は、例えば、道路上に設置された無線局等から発信される電波あるいは電磁波を受信し、現在位置、渋滞、通行止め又は所要時間等の情報を取得する。なお、ビーコン受信部2650の機能は、上述した専用通信I/F2630に含まれてもよい。
車内機器I/F2660は、マイクロコンピュータ2610と車内に存在する様々な機器との間の接続を仲介する通信インタフェースである。車内機器I/F2660は、無線LAN、Bluetooth(登録商標)、NFC(Near Field Communication)又はWUSB(Wireless USB)といった無線通信プロトコルを用いて無線接続を確立してもよい。また、車内機器I/F2660は、図示しない接続端子(及び、必要であればケーブル)を介して有線接続を確立してもよい。車内機器I/F2660は、例えば、搭乗者が有するモバイル機器若しくはウェアラブル機器、又は車両に搬入され若しくは取り付けられる情報機器との間で、制御信号又はデータ信号を交換する。
車載ネットワークI/F2680は、マイクロコンピュータ2610と通信ネットワーク2010との間の通信を仲介するインタフェースである。車載ネットワークI/F2680は、通信ネットワーク2010によりサポートされる所定のプロトコルに則して、信号等を送受信する。
統合制御ユニット2600のマイクロコンピュータ2610は、汎用通信I/F2620、専用通信I/F2630、測位部2640、ビーコン受信部2650、車内機器I/F2660及び車載ネットワークI/F2680のうちの少なくとも一つを介して取得される情報に基づき、各種プログラムにしたがって、車両制御システム2000を制御する。例えば、マイクロコンピュータ2610は、取得される車内外の情報に基づいて、駆動力発生装置、ステアリング機構又は制動装置の制御目標値を演算し、駆動系制御ユニット2100に対して制御指令を出力してもよい。例えば、マイクロコンピュータ2610は、車両の衝突回避あるいは衝撃緩和、車間距離に基づく追従走行、車速維持走行、自動運転等を目的とした協調制御を行ってもよい。
マイクロコンピュータ2610は、汎用通信I/F2620、専用通信I/F2630、測位部2640、ビーコン受信部2650、車内機器I/F2660及び車載ネットワークI/F2680のうちの少なくとも一つを介して取得される情報に基づき、車両の現在位置の周辺情報を含むローカル地図情報を作成してもよい。また、マイクロコンピュータ2610は、取得される情報に基づき、車両の衝突、歩行者等の近接又は通行止めの道路への進入等の危険を予測し、警告用信号を生成してもよい。警告用信号は、例えば、警告音を発生させたり、警告ランプを点灯させたりするための信号であってよい。
音声画像出力部2670は、車両の搭乗者又は車外に対して、視覚的又は聴覚的に情報を通知することが可能な出力装置へ音声及び画像のうちの少なくとも一方の出力信号を送信する。図25の例では、出力装置として、オーディオスピーカ2710、表示部2720及びインストルメントパネル2730が例示されている。表示部2720は、例えば、オンボードディスプレイ及びヘッドアップディスプレイの少なくとも一つを含んでいてもよい。表示部2720は、AR(Augmented Reality)表示機能を有していてもよい。出力装置は、これらの装置以外の、ヘッドホン、プロジェクタ又はランプ等の他の装置であってもよい。出力装置が表示装置の場合、表示装置は、マイクロコンピュータ2610が行った各種処理により得られた結果又は他の制御ユニットから受信された情報を、テキスト、イメージ、表、グラフ等、様々な形式で視覚的に表示する。また、出力装置が音声出力装置の場合、音声出力装置は、再生された音声データ又は音響データ等からなるオーディオ信号をアナログ信号に変換して聴覚的に出力する。
なお、図25に示した例において、通信ネットワーク2010を介して接続された少なくとも二つの制御ユニットが一つの制御ユニットとして一体化されてもよい。あるいは、個々の制御ユニットが、複数の制御ユニットにより構成されてもよい。さらに、車両制御システム2000が、図示されていない別の制御ユニットを備えてもよい。また、上記の説明において、いずれかの制御ユニットが担う機能の一部又は全部を、他の制御ユニットに持たせてもよい。つまり、通信ネットワーク2010を介して情報の送受信がされるようになっていれば、所定の演算処理が、いずれかの制御ユニットで行われるようになってもよい。同様に、いずれかの制御ユニットに接続されているセンサ又は装置が、他の制御ユニットに接続されるとともに、複数の制御ユニットが、通信ネットワーク2010を介して相互に検出情報を送受信してもよい。
以上説明した車両制御システム2000において、図1の撮影装置11は、例えば、図25の撮像部2410に適用することができる。また、図1の画像処理装置12は、例えば、図25の車外情報検出ユニット2400に適用することができる。さらに、図1の表示装置13は、例えば、図25の表示部2720に適用することができる。
図1の撮影装置11を、図25の撮像部2410に適用する場合、撮影装置11は、例えば、図26の、車室内のフロントガラスの上部に備えられる撮像部2918として設置することができる。
この場合、撮影装置11としての撮影部2918では、例えば、図5の画像img3のような、雨粒が付いたガラス(フロントガラス)越しに、街の風景が映っている画像が撮影されることがある。
画像処理装置12としての車外情報検出ユニット2400では、画像img3のような、雨粒が付いたガラス越しに、街の風景が映っている画像から、障害物としての雨粒が映っていない障害物除去画像を生成することができる。
したがって、撮影装置11としての撮影部2918、及び、画像処理装置12としての車外情報検出ユニット2400を、例えば、ドライブレコーダ等に適用した場合には、障害物が映っていない障害物除去画像を記録することができる。
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含む。
また、プログラムは、1のコンピュータ(プロセッサ)により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
さらに、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
なお、本技術は、以下の構成をとることができる。
<1>
複数の視点の撮影画像の視差情報を用いて、前記複数の視点の撮影画像から、一部の被写体を除去した複数の視点の除去撮影画像をそれぞれ生成する除去部と、
前記除去部により生成された前記複数の視点の除去撮影画像を、前記視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像を生成する画像生成部と
を備える画像処理装置。
<2>
3視点以上の前記複数の視点の撮影画像を用いて、前記視差情報を生成する視差情報生成部をさらに備える
<1>に記載の画像処理装置。
<3>
前記除去部は、前記撮影画像を撮影した実空間内の実空間点のうちの、前記一部の被写体である障害物がある前記実空間の除去エリアに入っている実空間点に対応する、前記撮影画像の画素を、前記障害物が映る画素として除去する
<1>又は<2>に記載の画像処理装置。
<4>
前記除去エリアを設定する除去エリア設定部をさらに備える
<3>に記載の画像処理装置。
<5>
前記除去エリア設定部は、前記実空間内の所定の2次元平面を、前記除去エリアに設定する
<4>に記載の画像処理装置。
<6>
前記除去エリア設定部は、ユーザの操作に応じて、前記除去エリアとなる2次元平面を設定する
<5>に記載の画像処理装置。
<7>
前記撮影画像又は前記視差情報とともに、前記除去エリアを表示させる制御部をさらに備える
<6>に記載の画像処理装置。
<8>
前記除去エリア設定部は、前記視差情報を用いて、前記所定の2次元平面を、前記除去エリアに設定する
<5>に記載の画像処理装置。
<9>
前記除去エリア設定部は、前記視差情報を用い、前記実空間において、最も手前側に位置する、平面状に分布する被写体を包含する2次元平面を、前記除去エリアに設定する
<8>に記載の画像処理装置。
<10>
前記除去エリア設定部は、前記視差情報を用い、前記撮影画像の画素に対応する前記実空間点を対象とした主成分分析により得られる2次元平面を、前記除去エリアに設定する
<8>に記載の画像処理装置。
<11>
前記除去エリア設定部は、前記撮影画像において、ユーザが指定する画素に対して画素値又は視差情報が類似する画素に対応する前記実空間点を、前記除去エリアに設定する
<4>に記載の画像処理装置。
<12>
前記画像生成部は、前記複数の視点の除去撮影画像それぞれを前記所定の視点から見た視点変換画像を重ね合わせることにより、前記障害物除去画像を生成する
<1>ないし<11>のいずれかに記載の画像処理装置。
<13>
前記画像生成部は、前記複数の視点の除去撮影画像それぞれを、前記視差情報を用いて、前記所定の視点から見た視点変換画像に変換する
<12>に記載の画像処理装置。
<14>
前記画像生成部は、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像を重ね合わせる重ね合わせにおいて、前記障害物除去画像の画素値を、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像の1以上の画素の画素値を用いて求める
<12>に記載の画像処理装置。
<15>
前記画像生成部は、前記重ね合わせにおいて、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像の1以上の画素の画素値の中で、前記1以上の画素の画素値の重心に最も近い画素値を、前記障害物除去画像の画素値として求める
<14>に記載の画像処理装置。
<16>
前記画像生成部は、前記重ね合わせにおいて、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像の1以上の画素の画素値から、前記1以上の画素の画素値の重心に最も遠い画素値を除いた、残りの画素値の中で、前記残りの画素値の重心に最も近い画素値を、前記障害物除去画像の画素値として求める
<14>に記載の画像処理装置。
<17>
前記画像生成部は、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像を重ね合わせにより得られる重ね合わせ画像の、画素値がない欠落画素を、その欠落画素の近傍の画素の画素値を用いて補間することにより、前記障害物除去画像を生成する
<12>ないし<16>のいずれかに記載の画像処理装置。
<18>
前記画像生成部は、前記欠落画素の補間において、前記欠落画素に隣接する隣接画素の中の、前記欠落画素でない非欠落画素の画素値を用いて、前記欠落画素を補間する
<17>に記載の画像処理装置。
<19>
前記画像生成部は、前記欠落画素の補間において、前記欠落画素の周囲の等角度の方向にある、前記欠落画素でない非欠落画素の画素値を用いて、前記欠落画素を補間する
<17>に記載の画像処理装置。
<20>
複数の視点の撮影画像の視差情報を用いて、前記複数の視点の撮影画像から、一部の被写体を除去した複数の視点の除去撮影画像をそれぞれ生成することと、
前記複数の視点の除去撮影画像を、前記視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像を生成することと
を含む画像処理方法。
複数の視点の撮影画像の視差情報を用いて、前記複数の視点の撮影画像から、一部の被写体を除去した複数の視点の除去撮影画像をそれぞれ生成する除去部と、
前記除去部により生成された前記複数の視点の除去撮影画像を、前記視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像を生成する画像生成部と
を備える画像処理装置。
<2>
3視点以上の前記複数の視点の撮影画像を用いて、前記視差情報を生成する視差情報生成部をさらに備える
<1>に記載の画像処理装置。
<3>
前記除去部は、前記撮影画像を撮影した実空間内の実空間点のうちの、前記一部の被写体である障害物がある前記実空間の除去エリアに入っている実空間点に対応する、前記撮影画像の画素を、前記障害物が映る画素として除去する
<1>又は<2>に記載の画像処理装置。
<4>
前記除去エリアを設定する除去エリア設定部をさらに備える
<3>に記載の画像処理装置。
<5>
前記除去エリア設定部は、前記実空間内の所定の2次元平面を、前記除去エリアに設定する
<4>に記載の画像処理装置。
<6>
前記除去エリア設定部は、ユーザの操作に応じて、前記除去エリアとなる2次元平面を設定する
<5>に記載の画像処理装置。
<7>
前記撮影画像又は前記視差情報とともに、前記除去エリアを表示させる制御部をさらに備える
<6>に記載の画像処理装置。
<8>
前記除去エリア設定部は、前記視差情報を用いて、前記所定の2次元平面を、前記除去エリアに設定する
<5>に記載の画像処理装置。
<9>
前記除去エリア設定部は、前記視差情報を用い、前記実空間において、最も手前側に位置する、平面状に分布する被写体を包含する2次元平面を、前記除去エリアに設定する
<8>に記載の画像処理装置。
<10>
前記除去エリア設定部は、前記視差情報を用い、前記撮影画像の画素に対応する前記実空間点を対象とした主成分分析により得られる2次元平面を、前記除去エリアに設定する
<8>に記載の画像処理装置。
<11>
前記除去エリア設定部は、前記撮影画像において、ユーザが指定する画素に対して画素値又は視差情報が類似する画素に対応する前記実空間点を、前記除去エリアに設定する
<4>に記載の画像処理装置。
<12>
前記画像生成部は、前記複数の視点の除去撮影画像それぞれを前記所定の視点から見た視点変換画像を重ね合わせることにより、前記障害物除去画像を生成する
<1>ないし<11>のいずれかに記載の画像処理装置。
<13>
前記画像生成部は、前記複数の視点の除去撮影画像それぞれを、前記視差情報を用いて、前記所定の視点から見た視点変換画像に変換する
<12>に記載の画像処理装置。
<14>
前記画像生成部は、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像を重ね合わせる重ね合わせにおいて、前記障害物除去画像の画素値を、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像の1以上の画素の画素値を用いて求める
<12>に記載の画像処理装置。
<15>
前記画像生成部は、前記重ね合わせにおいて、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像の1以上の画素の画素値の中で、前記1以上の画素の画素値の重心に最も近い画素値を、前記障害物除去画像の画素値として求める
<14>に記載の画像処理装置。
<16>
前記画像生成部は、前記重ね合わせにおいて、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像の1以上の画素の画素値から、前記1以上の画素の画素値の重心に最も遠い画素値を除いた、残りの画素値の中で、前記残りの画素値の重心に最も近い画素値を、前記障害物除去画像の画素値として求める
<14>に記載の画像処理装置。
<17>
前記画像生成部は、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像を重ね合わせにより得られる重ね合わせ画像の、画素値がない欠落画素を、その欠落画素の近傍の画素の画素値を用いて補間することにより、前記障害物除去画像を生成する
<12>ないし<16>のいずれかに記載の画像処理装置。
<18>
前記画像生成部は、前記欠落画素の補間において、前記欠落画素に隣接する隣接画素の中の、前記欠落画素でない非欠落画素の画素値を用いて、前記欠落画素を補間する
<17>に記載の画像処理装置。
<19>
前記画像生成部は、前記欠落画素の補間において、前記欠落画素の周囲の等角度の方向にある、前記欠落画素でない非欠落画素の画素値を用いて、前記欠落画素を補間する
<17>に記載の画像処理装置。
<20>
複数の視点の撮影画像の視差情報を用いて、前記複数の視点の撮影画像から、一部の被写体を除去した複数の視点の除去撮影画像をそれぞれ生成することと、
前記複数の視点の除去撮影画像を、前記視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像を生成することと
を含む画像処理方法。
11 撮影装置, 12 画像処理装置, 13 表示装置, 211ないし217 カメラユニット, 31 視差情報生成部, 32 障害物除去画像生成部, 33 制御部, 41 除去エリア設定部, 42 除去部, 43 画像生成部, 51 視点変換部, 52 重ね合わせ部, 53 補間部, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体
Claims (20)
- 複数の視点の撮影画像の視差情報を用いて、前記複数の視点の撮影画像から、一部の被写体を除去した複数の視点の除去撮影画像をそれぞれ生成する除去部と、
前記除去部により生成された前記複数の視点の除去撮影画像を、前記視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像を生成する画像生成部と
を備える画像処理装置。 - 3視点以上の前記複数の視点の撮影画像を用いて、前記視差情報を生成する視差情報生成部をさらに備える
請求項1に記載の画像処理装置。 - 前記除去部は、前記撮影画像を撮影した実空間内の実空間点のうちの、前記一部の被写体である障害物がある前記実空間の除去エリアに入っている実空間点に対応する、前記撮影画像の画素を、前記障害物が映る画素として除去する
請求項1に記載の画像処理装置。 - 前記除去エリアを設定する除去エリア設定部をさらに備える
請求項3に記載の画像処理装置。 - 前記除去エリア設定部は、前記実空間内の所定の2次元平面を、前記除去エリアに設定する
請求項4に記載の画像処理装置。 - 前記除去エリア設定部は、ユーザの操作に応じて、前記除去エリアとなる2次元平面を設定する
請求項5に記載の画像処理装置。 - 前記撮影画像又は前記視差情報とともに、前記除去エリアを表示させる制御部をさらに備える
請求項6に記載の画像処理装置。 - 前記除去エリア設定部は、前記視差情報を用いて、前記所定の2次元平面を、前記除去エリアに設定する
請求項5に記載の画像処理装置。 - 前記除去エリア設定部は、前記視差情報を用い、前記実空間において、最も手前側に位置する、平面状に分布する被写体を包含する2次元平面を、前記除去エリアに設定する
請求項8に記載の画像処理装置。 - 前記除去エリア設定部は、前記視差情報を用い、前記撮影画像の画素に対応する前記実空間点を対象とした主成分分析により得られる2次元平面を、前記除去エリアに設定する
請求項8に記載の画像処理装置。 - 前記除去エリア設定部は、前記撮影画像において、ユーザが指定する画素に対して画素値又は視差情報が類似する画素に対応する前記実空間点を、前記除去エリアに設定する
請求項4に記載の画像処理装置。 - 前記画像生成部は、前記複数の視点の除去撮影画像それぞれを前記所定の視点から見た視点変換画像を重ね合わせることにより、前記障害物除去画像を生成する
請求項1に記載の画像処理装置。 - 前記画像生成部は、前記複数の視点の除去撮影画像それぞれを、前記視差情報を用いて、前記所定の視点から見た視点変換画像に変換する
請求項12に記載の画像処理装置。 - 前記画像生成部は、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像を重ね合わせる重ね合わせにおいて、前記障害物除去画像の画素値を、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像の1以上の画素の画素値を用いて求める
請求項12に記載の画像処理装置。 - 前記画像生成部は、前記重ね合わせにおいて、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像の1以上の画素の画素値の中で、前記1以上の画素の画素値の重心に最も近い画素値を、前記障害物除去画像の画素値として求める
請求項14に記載の画像処理装置。 - 前記画像生成部は、前記重ね合わせにおいて、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像の1以上の画素の画素値から、前記1以上の画素の画素値の重心に最も遠い画素値を除いた、残りの画素値の中で、前記残りの画素値の重心に最も近い画素値を、前記障害物除去画像の画素値として求める
請求項14に記載の画像処理装置。 - 前記画像生成部は、前記複数の視点の除去撮影画像それぞれを変換した前記視点変換画像を重ね合わせにより得られる重ね合わせ画像の、画素値がない欠落画素を、その欠落画素の近傍の画素の画素値を用いて補間することにより、前記障害物除去画像を生成する
請求項12に記載の画像処理装置。 - 前記画像生成部は、前記欠落画素の補間において、前記欠落画素に隣接する隣接画素の中の、前記欠落画素でない非欠落画素の画素値を用いて、前記欠落画素を補間する
請求項17に記載の画像処理装置。 - 前記画像生成部は、前記欠落画素の補間において、前記欠落画素の周囲の等角度の方向にある、前記欠落画素でない非欠落画素の画素値を用いて、前記欠落画素を補間する
請求項17に記載の画像処理装置。 - 複数の視点の撮影画像の視差情報を用いて、前記複数の視点の撮影画像から、一部の被写体を除去した複数の視点の除去撮影画像をそれぞれ生成することと、
前記複数の視点の除去撮影画像を、前記視差情報を用いて重ね合わせることにより、所定の視点の障害物除去画像を生成することと
を含む画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/751,063 US10748264B2 (en) | 2015-09-09 | 2016-08-26 | Image processing apparatus and image processing method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015177594 | 2015-09-09 | ||
JP2015-177594 | 2015-09-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017043331A1 true WO2017043331A1 (ja) | 2017-03-16 |
Family
ID=58239631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/074916 WO2017043331A1 (ja) | 2015-09-09 | 2016-08-26 | 画像処理装置、及び、画像処理方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10748264B2 (ja) |
WO (1) | WO2017043331A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10694105B1 (en) * | 2018-12-24 | 2020-06-23 | Wipro Limited | Method and system for handling occluded regions in image frame to generate a surround view |
WO2020248640A1 (zh) * | 2019-06-10 | 2020-12-17 | 海信视像科技股份有限公司 | 一种显示设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200410210A1 (en) * | 2018-03-12 | 2020-12-31 | Carnegie Mellon University | Pose invariant face recognition |
SG11201811747XA (en) | 2018-11-15 | 2020-06-29 | Beijing Didi Infinity Technology & Development Co Ltd | Systems and methods for correcting a high-definition map based on detection of obstructing objects |
US11682140B1 (en) * | 2022-06-30 | 2023-06-20 | Plusai, Inc. | Methods and apparatus for calibrating stereo cameras using a time-of-flight sensor |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008281385A (ja) * | 2007-05-09 | 2008-11-20 | Olympus Corp | 画像処理装置 |
JP2010041586A (ja) * | 2008-08-07 | 2010-02-18 | Olympus Corp | 撮像装置 |
JP2012186781A (ja) * | 2011-02-18 | 2012-09-27 | Sony Corp | 画像処理装置および画像処理方法 |
JP2014010783A (ja) * | 2012-07-02 | 2014-01-20 | Canon Inc | 画像処理装置、画像処理方法およびプログラム |
JP2015005925A (ja) * | 2013-06-21 | 2015-01-08 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7085409B2 (en) * | 2000-10-18 | 2006-08-01 | Sarnoff Corporation | Method and apparatus for synthesizing new video and/or still imagery from a collection of real video and/or still imagery |
WO2008020734A1 (en) * | 2006-08-18 | 2008-02-21 | Gwangju Institute Of Science And Technology | A method and apparatus for encoding or decoding frames of different views in multiview video using global disparity |
KR100902343B1 (ko) * | 2007-11-08 | 2009-06-12 | 한국전자통신연구원 | 로봇 영상 시스템 및 검출 방법 |
KR101798408B1 (ko) * | 2011-01-03 | 2017-11-20 | 삼성전자주식회사 | 3d 디스플레이를 위한 고품질 멀티-뷰 영상의 생성 방법 및 장치 |
CN104584545B (zh) | 2012-08-31 | 2017-05-31 | 索尼公司 | 图像处理装置、图像处理方法、以及信息处理装置 |
US10134136B2 (en) | 2012-10-24 | 2018-11-20 | Sony Corporation | Image processing apparatus and image processing method |
JP6476658B2 (ja) | 2013-09-11 | 2019-03-06 | ソニー株式会社 | 画像処理装置および方法 |
-
2016
- 2016-08-26 WO PCT/JP2016/074916 patent/WO2017043331A1/ja active Application Filing
- 2016-08-26 US US15/751,063 patent/US10748264B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008281385A (ja) * | 2007-05-09 | 2008-11-20 | Olympus Corp | 画像処理装置 |
JP2010041586A (ja) * | 2008-08-07 | 2010-02-18 | Olympus Corp | 撮像装置 |
JP2012186781A (ja) * | 2011-02-18 | 2012-09-27 | Sony Corp | 画像処理装置および画像処理方法 |
JP2014010783A (ja) * | 2012-07-02 | 2014-01-20 | Canon Inc | 画像処理装置、画像処理方法およびプログラム |
JP2015005925A (ja) * | 2013-06-21 | 2015-01-08 | キヤノン株式会社 | 画像処理装置および画像処理方法 |
Non-Patent Citations (3)
Title |
---|
ATSUSHI YAMASHITA ET AL.: "Removal of Adherent Noises in Images by Using Multiple Cameras", THE TRANSACTIONS OF THE INSTITUTE OF ELECTRICAL ENGINEERS OF JAPAN C, vol. 127, no. 4, 1 April 2007 (2007-04-01), pages 480 - 488 * |
HAJIME MIHARA ET AL.: "Kosen Kukan o Mochiita Fuyo Buttai Jokyo Refocus Gazo no Seisei", IEICE TECHNICAL REPORT, vol. 114, no. 410, 15 January 2015 (2015-01-15), pages 293 - 296 * |
TOSHIHIRO HONDA ET AL.: "Real-Time Diminished Reality using Multiple Smartphone Cameras", TRANSACTIONS OF THE VIRTUAL REALITY SOCIETY OF JAPAN, vol. 17, no. 3, 30 September 2012 (2012-09-30), pages 181 - 190, XP055370310 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10694105B1 (en) * | 2018-12-24 | 2020-06-23 | Wipro Limited | Method and system for handling occluded regions in image frame to generate a surround view |
WO2020248640A1 (zh) * | 2019-06-10 | 2020-12-17 | 海信视像科技股份有限公司 | 一种显示设备 |
Also Published As
Publication number | Publication date |
---|---|
US10748264B2 (en) | 2020-08-18 |
US20180232868A1 (en) | 2018-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7047767B2 (ja) | 画像処理装置と画像処理方法 | |
WO2017159382A1 (ja) | 信号処理装置および信号処理方法 | |
CN111033571B (zh) | 图像处理设备和图像处理方法 | |
CN107211085B (zh) | 摄像装置和摄像方法 | |
EP3606057B1 (en) | Image processing device and image processing method | |
WO2018074252A1 (ja) | 画像処理装置および画像処理方法 | |
WO2017043331A1 (ja) | 画像処理装置、及び、画像処理方法 | |
US10704957B2 (en) | Imaging device and imaging method | |
JP2017220051A (ja) | 画像処理装置、画像処理方法、および車両 | |
JP7020434B2 (ja) | 画像処理装置、および画像処理方法、並びにプログラム | |
EP3585045B1 (en) | Information processing device, information processing method, and program | |
JPWO2018070266A1 (ja) | 画像処理装置および画像処理方法 | |
WO2018016150A1 (ja) | 画像処理装置と画像処理方法 | |
WO2018016151A1 (ja) | 画像処理装置と画像処理方法 | |
JP2023054293A (ja) | 固体撮像装置、補正方法、および電子装置 | |
JP6930541B2 (ja) | 画像処理装置および画像処理方法 | |
JP6981416B2 (ja) | 画像処理装置と画像処理方法 | |
JP6977725B2 (ja) | 画像処理装置および画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16844194 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15751063 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16844194 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |