WO2011111095A1 - ハレーションシミュレーション方法、装置、及びプログラム - Google Patents

ハレーションシミュレーション方法、装置、及びプログラム Download PDF

Info

Publication number
WO2011111095A1
WO2011111095A1 PCT/JP2010/001673 JP2010001673W WO2011111095A1 WO 2011111095 A1 WO2011111095 A1 WO 2011111095A1 JP 2010001673 W JP2010001673 W JP 2010001673W WO 2011111095 A1 WO2011111095 A1 WO 2011111095A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
halation
wide
lens
light source
Prior art date
Application number
PCT/JP2010/001673
Other languages
English (en)
French (fr)
Inventor
佐沢真一
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to JP2012504139A priority Critical patent/JP5413502B2/ja
Priority to PCT/JP2010/001673 priority patent/WO2011111095A1/ja
Publication of WO2011111095A1 publication Critical patent/WO2011111095A1/ja

Links

Images

Classifications

    • G06T3/047

Definitions

  • the present invention relates to a technique for simulating halation occurring on a photographed image by a photographing apparatus.
  • halation may occur due to an external strong light source.
  • This halation is an image of light formed by light from the light source.
  • This halation which is an image of light, usually makes a captured image unclear. In some cases, a portion in which nothing can be visually recognized is generated in the captured image. For these reasons, halation is a target to be prevented in a photographing apparatus that always requires a good photographed image, for example, a photographing apparatus that is mounted on an industrial product or used for manufacturing an industrial product. .
  • This halation is likely to occur with a wide-angle lens that can capture a relatively wide angle of view (viewing angle) at a time. This is because the wide-angle lens is often designed so that the front side of the wide-angle lens protrudes greatly. This protruding portion makes it easy for light from an external light source to enter.
  • Lenses are classified according to their focal length. Specifically, the focal length is 35 to 50 mm (35 mm version conversion. Unless otherwise specified, this conversion is assumed unless otherwise specified). Those shorter than that are often referred to as “wide”. Therefore, a lens having a focal length of 35 mm or less is usually called a wide angle lens.
  • An object of the present invention is to provide a technique for performing a simulation for simulating halation occurring in a photographing apparatus.
  • One system to which the present invention is applied synthesizes virtual captured images from a plurality of directions with respect to a three-dimensional model, generates a wide-angle image, generates a halation image for perspective projection for the three-dimensional model, and generates The wide-angle image and the halation image for perspective projection are synthesized to obtain a wide-angle image for the three-dimensional model with the synthesized halation.
  • FIG. 1 is a diagram illustrating a configuration of a simulation system constructed using the halation simulation apparatus according to the present embodiment. As shown in FIG. 1, this simulation system is constructed by connecting a halation simulation apparatus 1 to a user interface 2 corresponding to a keyboard, a pointing device such as a mouse, etc., and a display 3 operated by a user.
  • the halation simulation apparatus (hereinafter abbreviated as “simulation apparatus”) 1 according to the present embodiment is realized as a simulation for simulating halation occurring in a photographing apparatus such as a camera. More specifically, the simulation apparatus is realized by causing a data processing apparatus such as a computer to execute a halation simulation program (hereinafter, “simulation software”), which is a program for performing a simulation.
  • simulation software a halation simulation program
  • the simulation apparatus 1 performs a simulation by generating a photographed image that is assumed to be obtained under conditions of photographing by a photographing apparatus (hereinafter, “camera” is assumed for ease of understanding). Yes. Accordingly, when halation occurs under the conditions, the simulation apparatus 1 generates a captured image in which the halation has occurred.
  • the simulation is performed using 3D (three-dimensional) data 4 specified by the operator, lens data 5 and parameter group 6 specified or input by the operator.
  • the simulation is performed by generating a captured image ignoring halation and an image representing the content of halation, which are assumed to be obtained by shooting with a camera, and combining the generated images. I am doing so.
  • the captured image finally obtained by the simulation is “simulation image”
  • the captured image assumed to be obtained by the camera is “wide-angle image”
  • the image representing the content of the halation is “halation image” Or “reflection image”.
  • the photographed image assumed to be obtained by photographing with a camera is called a “wide-angle image” because a lens used for photographing a wide-angle image is likely to cause halation.
  • a camera that is prone to halation is assumed to be a simulation target.
  • the simulation apparatus 1 includes a data acquisition unit 11, a wide-angle image generation unit 12, a reflection image generation unit 13, a blend processing unit 14, and a display control unit 15. These constituent elements 11 to 15 have the following functions. This will be specifically described with reference to the explanatory diagrams of FIGS.
  • the data acquisition unit 11 acquires data necessary for the simulation.
  • 3D data 4 lens data 5, and parameter group 6 are shown as the data.
  • the data acquisition unit 11 outputs the acquired data to the wide-angle image generation unit 12 and the reflection image generation unit 13, respectively.
  • the parameter group 6 is output from the data acquisition unit 11 to the reflection image generation unit 13. Before describing the parameter group 6, a reflected image generation method by the reflected image generation unit 13 will be specifically described with reference to FIG. 2.
  • FIG. 2 is a diagram for explaining a reflection image generation method.
  • the camera 20 is configured to take an image by taking in light from the outside by a lens 21 disposed at the end of a lens barrel 22 and forming an image on an imaging surface (for example, a light receiving surface of a CCD) 23.
  • the halation is caused when light from an external light source 25 located outside the camera 20 enters the inside through the lens 21 and reaches the imaging surface 23.
  • the generation of the halation is performed by setting the strength and position of the external light source 25, and specifying the position on the imaging surface 23 where the light from the external light source 25 reaches and the amount of light. Done.
  • the generation of the reflection image corresponds to a simulation that simulates halation assuming a virtual model (virtual imaging device) that models the camera 20.
  • the external light source 25 that should take halation into consideration is present at a position relatively distant from the optical axis of the lens 21, as shown in FIG. Thereby, in the camera 20 in which the lens hood 24 is provided on the outer periphery of the lens 21, the external light source 25 located mainly in the vicinity of the boundary direction that can be blocked by the lens hood 24 is mainly considered or set. It becomes a target.
  • the light from the external light source 25 does not enter the lens 21 depending on the position of the external light source 25. Therefore, in the present embodiment, the reflection image is generated when the light enters the lens 21 and the light enters as a result of the check.
  • the generation is performed by arranging a virtual light source 26 in place of the external light source 25 in the lens 21.
  • a known interference check technique can be used for checking whether light enters the lens 21 or not.
  • the position inside the lens 21 where the virtual light source 26 is arranged is obtained by, for example, a range through which light from the external light source 25 passes in the radial direction orthogonal to the optical axis of the lens 21 by the reflected image generation unit 13. Or in the vicinity thereof. In this way, the reflected image generation unit 13 arranges the virtual light source 26 on the path where the light from the external light source 25 is considered to pass inside the lens 21.
  • the method for checking whether or not the light from the external light source 25 enters the lens 21 and the method for determining the position where the virtual light source 26 is disposed are not limited to those described here.
  • the position where the virtual light source 26 is disposed may be within the determined range. For this reason, the position may be determined in consideration so that the amount of light reaching the imaging surface 23 can be estimated larger.
  • the external light source 25 Whether or not the light emitted from the external light source 25 enters the lens 21 varies depending on the radiation position and the radiation direction. For this reason, the external light source 25 must check whether or not it enters the lens 21 for each light (light beam) emitted from the external light source 25.
  • the virtual light source 26 as described above is used instead of the external light source 25
  • such a check need not be performed. For this reason, when the virtual light source 26 is used instead of the external light source 25, the reflected image can be generated in a shorter time.
  • the light emitted from the virtual light source 26 also reaches the imaging surface 23 through various paths.
  • the light is attenuated by reflection at the lens barrel 22.
  • a reflected image is generated by calculating the position on the imaging surface 23 where the light reaches and the amount of light using a known ray tracing technique.
  • a path between a light source and a predetermined light receiving point is identified by tracing from the light receiving point side to the light source, and the light quantity at the light receiving point is calculated.
  • the light receiving point corresponds to each point on the imaging surface 23, and the light source corresponds to the virtual light source 26.
  • a technique other than the ray tracing technique may be used to generate the reflection image.
  • a photon mapping technique for specifying a light path from the light source side to the light receiving point may be used.
  • FIG. 3 is a diagram for explaining an example of a reflection image of the external light source generated as described above.
  • the reflection image generation unit 13 generates a reflection image that simulates halation due to light from the external light source 25 that is virtually arranged outside the camera 20, and the generated reflection image is input to the blend processing unit 14.
  • the parameter group 6 includes the specular reflectance of the lens 21, the reflectance of the lens barrel 22, the shape data of the camera 20, and data related to the external light source 25.
  • the shape data of the camera 20 includes the shapes of the lens 21 and the lens hood 24.
  • the data related to the external light source 25 includes the strength, position, etc. of the external light source 25.
  • the position can be designated by, for example, the angle and distance from the optical axis of the lens 21.
  • the parameters to be prepared as the parameter group 6 may be determined according to the model to be adopted or the equivalent to be considered.
  • components such as a diaphragm may be considered. From this point of view, there is no particular limitation.
  • the wide-angle image generation unit 12 obtains the 3D data 4 and the lens data 5 from the data acquisition unit 11 and generates a wide-angle image.
  • the wide-angle image is generated from a plurality of images.
  • the 3D data 4 is used to obtain the plurality of images.
  • the 3D data 4 includes 3D model data of the vehicle, roads, streetlights, buildings, other vehicles, and passers that exist on the shooting environment where the vehicle is placed. And the like model data (including arrangement information indicating the arrangement) and the like.
  • the 3D model data of the vehicle includes the arrangement of the back eye camera and the shooting direction thereof.
  • the camera 20 When the camera 20 is a surveillance camera, it includes position information of the surveillance camera, model data of an object existing in the shooting environment, and the like.
  • the position information of the monitoring camera includes the shooting direction in addition to the information indicating the arrangement location.
  • the image used for generating the wide-angle image is assumed to have a smaller viewing angle (shooting range) than that of the wide-angle image, and is therefore referred to as a “standard image” for convenience.
  • the acquisition of the standard image is performed by simulating a plurality of shootings by changing the shooting direction of the shooting environment represented by the 3D data 4 with a virtual camera (hereinafter “virtual camera”) from which the standard image can be obtained.
  • a cube map (Cubemap) is adopted for generating a captured image using a plurality of standard images.
  • 3D data 4 can be displayed using software (viewer) that supports still image display. From this, when the viewer is used, shooting in the shooting environment represented by the 3D data 4 (virtual shooting) corresponds to causing the viewer to generate a display image of the 3D data 4 under the shooting conditions.
  • This cube map is one of the texture mapping methods.
  • an infinite cube (cube map) that virtually surrounds the 3D model centered on the viewpoint is considered, and the texture to be pasted on a certain polygon is determined from the position where the normal of the polygon intersects the cube. Since a cube has six sides, standard images are acquired in six directions, front, back, up, down, left, and right, respectively. Each standard image is treated as a cubic surface determined by the shooting direction.
  • FIG. 4 is a diagram for explaining texture mapping performed using a cube map.
  • a cube 40 shown in FIG. 4 is a cube map, and a standard image in a corresponding shooting direction is assigned to each of the six faces 40ft, 40bk, 40tp, 40bm, 40lt, and 40rt of the cube map 40. Specifically, a forward standard image is assigned to the surface 40ft. Similarly, a standard image in each of the upper, lower, left, and right directions is assigned to each of the surfaces 40bk, 40tp, 40bm, 40lt, and 40rt.
  • FIG. 5 is a diagram for explaining a plane on which polygons are arranged.
  • the plane 50 seen from the front is shown.
  • the plane 50 is drawn simply, the plane 50 is actually divided by a large number of triangles (polygons) 51.
  • Each polygon 51 corresponds to a pixel in a wide-angle image that is actually displayed.
  • the plane 50 is used as a projection plane for projecting the texture.
  • the normal of each polygon 51 can be set individually. For this reason, in this embodiment, wide-angle images are generated from a plurality of standard images by setting normal lines of the polygons 51.
  • the normal is set using lens aberration data indicating the characteristics of the lens 21 of the camera 20.
  • FIG. 6 is a diagram for explaining a format example of the lens aberration data.
  • the aberration data is a set of image heights on a wide-angle image (indicated as “image height on the screen” in FIG. 6) and a view angle corresponding to the image height.
  • the angle of view is an angle from a line connecting the viewpoint and the center of the wide-angle image (hereinafter “line-of-sight direction”), and the image height corresponds to the distance from the line-of-sight direction on the plane 50.
  • the set of the image height and the angle of view indicates the relationship between the polygon 51 on the plane 50 and the portion of the cube map 40 to be determined as the texture of the polygon 51.
  • FIG. 7 is a diagram for explaining a polygon normal setting method based on lens aberration data.
  • the plane 50 is depicted only in the upper part from the line-of-sight direction.
  • W is a straight line of the field angle ⁇ paired with the image height.
  • v is a straight line connecting the image height of the set and the viewpoint.
  • P is a point corresponding to the image height combined with the angle of view ⁇ represented by the straight line W on the plane 50.
  • W ′ is a straight line starting from the image height (point P) and parallel to the straight line W.
  • This straight line W ′ is set as the normal line of the polygon 51 at the point P.
  • the normal W ′ of each polygon 51 ?
  • the image height of the polygon 51 that is, its position P?
  • the straight line W ′ set as the normal line of the polygon 51 at the point P has a steeper slope than the straight line v set when there is no lens aberration data.
  • Making the inclination of the normal line steeper means using a texture in a portion further away from the line-of-sight direction in the cube map 40.
  • the field angle ⁇ increases as the image height increases. From this, the texture determined for each polygon 51 becomes a part of the cube map 40 that is further away from the line-of-sight direction as it moves away from the line-of-sight direction (the center of the wide-angle image).
  • the generated wide-angle image has distortion (tal distortion) aberration that becomes smaller as the distance from the center increases (FIG. 9).
  • the angle of view ⁇ designates the position on the cube map 40 where the texture to be assigned to the polygon 51 having the combined image height exists.
  • the position is a position on the standard image, and the standard image is an actually obtained image.
  • the lens aberration data is not limited to that shown in FIG. 6 as long as the position on the cube map 40 where the texture to be assigned to the polygon 51 on the plane 50 exists can be specified.
  • the normal line of such a polygon 51 is determined by interpolation.
  • the interpolation method used for determining the normal is not particularly limited, but it is desirable to employ a method other than the primary interpolation method, for example, a secondary interpolation method or a polynomial interpolation method.
  • GPUs Graphics Processing ⁇ ⁇ ⁇ Units
  • a computer equipped with a GPU can generate a wide-angle image at a very high speed. This is one reason why the generation of a wide-angle image using the cube map 40 is employed.
  • FIG. 8A is a diagram illustrating a procedure for generating a wide-angle image.
  • an image 81 shows an example of an imaging environment
  • an image 82 shows six standard images obtained in the imaging environment
  • an image 83 shows an image 82, that is, an example of a wide angle image generated from the six standard images.
  • FIG. 8B shows an enlarged view of a standard image example.
  • the image 83 that is, the generated wide-angle image, has obvious distortion.
  • each surface 40ft, 40bk, 40tp, 40bm, 40lt, and 40rt of the cube map 40 to which the six standard images 82ft, 82bk, 82tp, 82bm, 82lt, and 82rt are assigned is shown.
  • the above wide-angle image is an image obtained by inverting the left and right sides, as is apparent from FIGS. 8A and 8B.
  • a back-eye camera of a vehicle is assumed as a camera for performing simulation. That is, when an image taken with the back eye camera is viewed forward (in the opposite direction to the direction in which the image is taken), it is desirable that the image be reversed left and right.
  • the wide-angle image generation unit 12 generates a wide-angle image as described above.
  • the lens data 5 includes, for example, the lens aberration data and position information of the camera 20 (including information such as an installation location and a shooting direction (line-of-sight direction)). Therefore, in addition to the 3D data 4, the lens data 5 is also used for acquiring the standard image.
  • the wide-angle image generation unit 12 includes a normal line setting unit 12a and a standard image generation unit 12b.
  • the normal setting unit 12a sets the normal of each polygon on the plane 50 according to the lens aberration data.
  • the standard image generation unit 12 b refers to the position information of the camera 20 of the lens data 5 and generates a standard image from the 3D data 4.
  • the generated standard image and the wide-angle image generated using the plane 50 are output to the blend processing unit 14.
  • the standard image to be generated changes depending on the installation location of the camera 20. This is why the 3D data 4 is used to generate the standard image. In other words, it is possible to easily cope with a change in the installation location of the camera 20 or the like. However, when the situation that should correspond to such a change does not occur so much and the necessity to cope with the change is small, it is not necessary to generate a standard image from the 3D data 4. Thereby, a standard image may be prepared in advance. Therefore, a captured image obtained by actual shooting may be used as the standard image.
  • the blend processing unit 14 obtains a wide-angle image and a reflection image generated by the wide-angle image generation unit 12 and the reflection image generation unit 13, respectively, and combines them to generate a simulation image.
  • the generated simulation image is output to the display control unit 15.
  • the display control unit 15 displays the simulation image input from the blend processing unit 14 on the display 3.
  • FIG. 9 is a diagram for explaining an example of a simulation image to be displayed. This simulation image is obtained by combining the reflection image of FIG. 3 and the wide-angle image represented as the image 83 of FIG. 8A.
  • FIG. 14 is a diagram illustrating an example of a hardware configuration of a computer to which the present embodiment is applicable.
  • a configuration example of a computer that can be used as the simulation apparatus 10 will be specifically described with reference to FIG.
  • the computer shown in FIG. 14 has a CPU 61, a memory 62, an input device 63, an output device 64, an external storage device 65, a medium drive device 66, a network connection device 67, and a GPU 68, which are connected to each other by a bus 69. It has a configuration. The configuration shown in the figure is an example, and the present invention is not limited to this.
  • the CPU 61 controls the entire computer. Although only one is shown in FIG. 14, a plurality of CPUs 61 may be mounted.
  • the memory 62 is a semiconductor memory such as a RAM that temporarily stores a program or data stored in the external storage device 65 (or the portable recording medium 70) during program execution, data update, or the like.
  • the CPU 61 performs overall control by reading the program into the memory 62 and executing it.
  • the input device 63 is a device that enables connection with an operation device operated by an operator such as a keyboard and a mouse, that is, the user interface 2 in FIG. A user operation on the connected operation device is detected, and the detection result is notified to the CPU 61.
  • the output device 64 is, for example, a display control device connected to a display device. In the configuration shown in FIG. 1, a display 3 is connected.
  • the external storage device 65 is a large-capacity storage device such as a hard disk device. Mainly used for storing various data and programs.
  • the medium driving device 66 accesses a portable recording medium 70 such as an optical disk or a magneto-optical disk.
  • the network connection device 67 enables communication with an external device via a communication network, for example.
  • the GPU 68 is a processing device corresponding to texture mapping using the cube map 40 that performs calculation processing necessary for displaying graphics.
  • the simulation software and the 3D data 4 are recorded in the external storage device 65 or the recording medium 70, or are acquired by the network connection device 67 via the communication network.
  • the simulation apparatus 1 is realized by reading the simulation software into the memory 62 and executing it by the CPU 61.
  • the result of the simulation is stored in the external storage device 65 or the recording medium 70.
  • the result can be stored in an external device via the network connection device 67.
  • the lens data 45 and the parameter group 46 are acquired via the input device 63 or the network connection device 67.
  • an external storage device 65 is used for storing them.
  • the simulation software and the 3D data 4 are stored in the external storage device 65 and the lens data 5 and the parameter group 6 are input via the input device 63, the data acquisition unit 11 , CPU 61, memory 62, input device 63, external storage device 65, and bus 69.
  • the wide-angle image generation unit 12, the reflection image generation unit 13, and the blend processing unit 14 are all realized by the CPU 61, the memory 62, the external storage device 65, and the bus 69.
  • the display control unit 15 is realized by the CPU 61, the memory 62, the output device 64, the external storage device 65, and the bus 69.
  • FIG. 10 is a flowchart of the simulation image generation process.
  • This halation image generation process is a process for generating a simulation image, and is realized by the CPU 61 executing simulation software in the configuration shown in FIG.
  • step S1 the CPU 61 executes a wide-angle image generation process for generating a wide-angle image.
  • step S2 the CPU 61 executes a reflection image generation process for generating a reflection image.
  • step S3 the CPU 61 executes a blending process for blending the wide-angle image and the reflection image.
  • the halation image generation process is terminated.
  • the wide-angle image generation unit 12 is realized by the CPU 61 executing the wide-angle image generation process in step S1.
  • the reflected image generation unit 13 is realized by the CPU 61 executing the reflected image generation process in step S2.
  • the blend processing unit 14 and the display control unit 15 are realized by the CPU 61 executing the blend process in step S3.
  • the simulation image generation process is executed using the 3D data 4, the lens data 5, and the parameter group 6. These data are designated or input on a dedicated input screen, for example.
  • 3D data 4 is designated by its storage location, and lens data 5 and parameter group 6 are input.
  • the simulation image generation process can be instructed to be executed on the input screen, for example.
  • Data input on the input screen is stored in the memory 62 or the external storage device 65 and is referred to as necessary. Thereby, the data acquisition unit 11 is realized by displaying the input screen and executing a process for data input.
  • FIG. 11 is a flowchart of wide-angle image generation processing.
  • the CPU 61 reads lens aberration data of the lens data 5.
  • the CPU 61 generates a plane 50 (indicated as “mesh for texture display” and “texture display mesh” in FIG. 11).
  • the normal line of each polygon 51 on the plane 50 is set from lens aberration data and its position (image height) as shown in FIG.
  • the normal line thus set has an angle of view corresponding to the position (image height) of the polygon 51.
  • the process proceeds to step S13.
  • the number of polygons 51 that divide the plane 50 is performed according to the operator's settings.
  • This setting (designation) is performed, for example, by selecting a resolution on the dedicated input screen.
  • the selected resolution is handled as one parameter constituting the parameter group 6.
  • the CPU 61 divides the plane 50 into polygons 51 according to the set resolution.
  • the operator can adjust the accuracy of the generated simulation image and the drawing speed by selecting the resolution.
  • a relatively low resolution is selected, a low-accuracy simulation image can be displayed in a shorter time.
  • a relatively high resolution is selected, a high-accuracy image can be displayed even if it takes a relatively long time.
  • a simulation image can be displayed.
  • step S13 assuming a virtual camera, the virtual camera is directed up, down, left and right, front and back, the shooting environment represented by the 3D data 4 is sequentially displayed by the viewer, and each display image is read from the frame buffer.
  • the display of the shooting environment that is, the acquisition of the standard image as the shooting result by the virtual camera is performed along the position information (installation location) of the camera 20 indicated by the lens data 5.
  • each read display image is registered as a texture of the cube map 40. Accordingly, each display image is assigned as a standard image to any one of the faces 40bk, 40tp, 40bm, 40lt, and 40rt of the cube map 40.
  • a wide-angle image 83 is generated from the cube map 40 using the plane 50 and registered.
  • the plane 50 is arranged at a position specified from the position information (installation location, shooting direction (line-of-sight direction), etc.) of the camera 20 indicated by the lens data 5. In this manner, after generating the wide-angle image 83 assuming the camera 20, the wide-angle image generation process is terminated.
  • the CPU 61 For generating a wide-angle image, the CPU 61 sends, for example, the plane 50, the registered standard image, and generation conditions used for specifying the arrangement of the plane 50 to the GPU 68, and generates the wide-angle image using the plane 50 and the standard image. It is done by instructing. For this reason, the CPU 61 does not actually generate a wide-angle image. A wide-angle image input from the GPU 68 is registered.
  • FIG. 12 is a flowchart of the reflection image generation process.
  • the CPU 61 refers to the parameter group 6 and checks the intersection of the straight line from the position of the external light source 25 and the parts of the camera 20. Thereby, it is confirmed whether or not the light from the external light source 25 enters the lens 21.
  • the CPU 61 determines whether or not there is an intersection from the check result. If the intersection cannot be confirmed, the determination is no, the process proceeds to step S23, and the CPU 61 ends the reflected image generation process with no reflected image. If the intersection is confirmed, the determination is yes and the process proceeds to step S24.
  • step S24 the CPU 61 arranges the virtual light source 26 in the lens 21, and generates light rays (mostly reflected light rays) reaching the imaging surface 23 from the virtual light source 26 in consideration of the reflectance of the lens barrel 22.
  • a reflection image is generated.
  • Such a reflection image is generated using a known ray tracing algorithm.
  • the light path of the virtual light source 26 and the imaging surface 23 is specified by tracing from the imaging surface 23 side, and the light amount of the light beam is attenuated according to the specified path and the reflectance.
  • step S25 which proceeds after the generation of the reflection image, the CPU 61 registers the reflection image. Thereafter, this reflection image generation process is terminated.
  • FIG. 13 is a flowchart of the blending process.
  • the CPU 61 checks whether or not a reflection image exists.
  • the CPU 61 determines whether or not a reflection image exists from the check result. If the reflection image has been registered, the determination is yes and the process moves to step S34. If the reflection image is not registered, the determination is no and the process moves to step S33, and the CPU 61 displays the wide-angle image as a simulation image. Thereafter, this blending process is terminated.
  • step S34 the pixels of the reflected image and the wide-angle image are associated with each other, and the RGB component values of each pixel are calculated (converted).
  • the simulation image (pixel value thereof) is P i
  • the wide-angle image (pixel value thereof) is P o
  • the reflection image (pixel value thereof) is Q
  • P i, P o + ⁇ * Q To do.
  • step S35 the CPU 61 displays the simulation image obtained by the conversion on the display 3. Thereafter, this blending process is terminated.
  • the simulation image is registered (saved) in the same manner as the wide-angle image and the reflection image. Thereby, it is possible to display as necessary.
  • the image storage destination can be specified on the input screen, for example.
  • the plane 50 is generated when the simulation image generation process is executed.
  • the plane 50 may be generated as necessary. This is because the plane 50 to be generated is the same unless the lens aberration data is changed.
  • the standard image does not change unless the 3D data 4, that is, the shooting environment, the arrangement of the camera 20, the shooting direction, or the like is changed.
  • the wide-angle image does not change unless at least one of the standard image and the plane 50 changes. For this reason, a standard image and a wide-angle image may be generated as necessary.
  • the standard image is not generated but may be prepared in advance.
  • the simulation software that realizes the simulation image generation processing is assumed to generate a wide-angle image by the GPU 68.
  • This simulation software may be a computer that does not include the GPU 68. Alternatively, the processing content may be changed depending on whether or not the GPU 68 is installed.

Abstract

 本発明を適用した1システムでは、3次元モデルに対する複数の方向からの仮想の撮影画像を合成して、広角画像を生成し、その3次元モデルについての透視投影についてのハレーション画像を生成し、この広角画象と、この透視投影についてのハレーション画象とを合成して、ハレーションが合成されたその3次元モデルについての広角画像を得る。

Description

ハレーションシミュレーション方法、装置、及びプログラム
 本発明は、撮影装置による撮影画像上に生じるハレーションをシミュレーションする技術に関する。
 カメラ等の撮影装置による撮影では、外部の強い光源によってハレーションが発生することがある。このハレーションは、光源からの光によって形成される光の像である。この光の像であるハレーションは、撮影画像を不鮮明にさせるのが普通である。場合によっては、撮影画像中に何も視認できない部分を生じさせる。このようなことから、常に良好な撮影画像を要求されるような撮影装置、例えば工業製品に搭載される、或いは工業製品の製造に用いられる撮影装置では、ハレーションは防止すべき対象となっている。
 例えば自動車等の車両に取り付けられるバックアイカメラでは、街灯の光が強いと、撮影範囲内に入っている、或いは入ってくる物がハレーションにより視認でき難くなる場合がある。これは、安全上、非常に望ましくない。それにより、このような工業製品に搭載される撮影装置では、ハレーションの防止、つまりその発生を抑えることは非常に重要となっている。
 このハレーションは、一度に比較的に広い画角(視野角)を撮影できる広角レンズで発生しやすい。これは、広角レンズは設計上、この広角レンズの前面側が大きく突出した形となっていることが多いためである。この突出部分は、外部光源からの光を入射しやすくする。
 レンズは、その焦点距離によって分類される。具体的には、焦点距離が35~50mm(35mm版換算。以降、特に断らない限り、この換算を前提とする)あたりを「標準」、それより長いものを「望遠 (テレ)」、逆にそれよりも短いものを「広角 (ワイド)」と呼ぶことが多い。このことから、通常、焦点距離が35mm以下のレンズが広角レンズと呼ばれる。
 ハレーションの発生の抑制には、レンズフードを設ける、レンズのコーティングを行う、といった手法がある。しかし、何れの手法もコスト増を招く。レンズフードは、更に視野角を狭める可能性もある。このようなことから、ハレーションの発生を抑制する対応は、ハレーションの及ぼす影響を考慮して、必要に応じて採用すべきと考えられる。それにより、撮影装置では、ハレーションを模擬するシミュレーションを容易に行えるようにすることが重要と云える。
特開平10-105734号公報
James D. Foley等、佐藤 義雄 監訳、"コンピュータグラフィックス 理論と実践"、2001.3
 本発明は、撮影装置で発生するハレーションを模擬するシミュレーションを行うための技術を提供することを目的とする。
 本発明を適用した1システムは、3次元モデルに対する複数の方向からの仮想の撮影画像を合成して、広角画像を生成し、その3次元モデルについての透視投影についてのハレーション画像を生成し、生成した広角画象と、透視投影についてのハレーション画象とを合成して、ハレーションが合成された前記3次元モデルについての広角画像を得る。
 本発明を適用した1システムでは、撮影装置で発生するハレーションを模擬するシミュレーションを行うことができる。
本実施形態によるハレーションシミュレーション装置を用いて構築されたシミュレーションシステムの構成を説明する図である。 反射画像の生成方法を説明する図である。 生成される、外部光源の反射画像例を説明する図である。 キューブマップを用いて行われるテクスチャ・マッピングを説明する図である。 ポリゴンが配置された平面を説明する図である。 レンズ収差データの形式例を説明する図である。 レンズ収差データによるポリゴンの法線の設定方法を説明する図である。 広角画像の生成手順を説明する図である。 図8Aの標準画像例の拡大図である。 表示されるシミュレーション画像例を説明する図である。 シミュレーション画像生成処理のフローチャートである。 広角画像生成処理のフローチャートである。 反射画像生成処理のフローチャートである。 ブレンド処理のフローチャートである。 本実施形態を適用可能なコンピュータのハードウェア構成の一例を示す図である。
 以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
 図1は、本実施形態によるハレーションシミュレーション装置を用いて構築されたシミュレーションシステムの構成を説明する図である。図1に示すように、このシミュレーションシステムは、ハレーションシミュレーション装置1に、ユーザが操作するキーボード、マウス等のポインティングデバイス等が相当するユーザインタフェース2、及びディスプレイ3を接続することで構築されている。
 本実施形態によるハレーションシミュレーション装置(以降「シミュレーション装置」と略記)1は、カメラ等の撮影装置に発生するハレーションを模擬するシミュレーションを行うものとして実現されている。そのシミュレーション装置は、より具体的には、シミュレーションを行うためのプログラムであるハレーションシミュレーションプログラム(以降「シミュレーションソフト」)をコンピュータ等のデータ処理装置に実行させることで実現させている。
 このシミュレーション装置1は、撮影装置(以降、理解を容易とするために「カメラ」を想定する)による撮影時の条件で得られると想定する撮影画像を生成することでシミュレーションを行うようになっている。それにより、シミュレーション装置1は、その条件でハレーションが発生する場合には、そのハレーションが発生した撮影画像を生成する。シミュレーションは、オペレータによって指定された3D(3次元)データ4、オペレータが指定、或いは入力したレンズデータ5及びパラメータ群6を用いて行う。
 本実施形態では、シミュレーションは、カメラによる撮影によって得られると想定する、ハレーションを無視した撮影画像と、ハレーションの内容を表す画像とをそれぞれ生成し、生成したそれらの画像を合成することで、行うようにしている。以降、混乱を避けるために、シミュレーションによって最終的に得られる撮影画像は「シミュレーション画像」、カメラによる撮影によって得られると想定する撮影画像は「広角画像」、ハレーションの内容を表す画像は「ハレーション画像」或いは「反射画像」とそれぞれ呼ぶことにする。カメラによる撮影によって得られると想定する撮影画像を「広角画像」と呼ぶのは、広角画像の撮影に用いられるレンズはハレーションが発生し易いからである。言い換えれば、ハレーションが発生し易いカメラをシミュレーションの対象と想定しているからである。
 シミュレーション装置1は、データ取得部11、広角画像生成部12、反射画像生成部13、ブレンド処理部14及び表示制御部15を備えた構成となっている。それらの構成要素11~15は以下のような機能を備えている。図2~図9の説明図を参照して具体的に説明する。
 データ取得部11は、シミュレーションに必要なデータを取得する。図1では、そのデータとして、3Dデータ4、レンズデータ5及びパラメータ群6を示している。データ取得部11は、取得したデータを広角画像生成部12、及び反射画像生成部13にそれぞれ出力する。
 反射画像生成部13には、データ取得部11からパラメータ群6が出力される。そのパラメータ群6を説明する前に、図2を参照して、反射画像生成部13による反射画像生成方法について具体的に説明する。その図2は、反射画像の生成方法を説明する図である。
 図2に概略構成を示すカメラ20は、シミュレーションの対象とする撮影装置である。そのカメラ20は、鏡胴22の端に配置されたレンズ21により外部から光を取り込み、撮像面(例えばCCDの受光面)23に結像させることにより、撮影を行う構成となっている。ハレーションは、カメラ20の外に位置する外部光源25からの光がレンズ21を通って内部に入射し、撮像面23に達することによって生じる。このことから、ハレーション(反射画像)の生成は、外部光源25の強さ、及び位置を設定し、その外部光源25からの光が達する撮像面23上の位置、及びその光量を特定することで行われる。反射画像の生成は、カメラ20をモデル化した仮想的なもの(仮想撮影装置)を想定してハレーションを模擬するシミュレーションに相当する。
 レンズ21の光軸上、或いは光軸に近い位置に強い光を放つ外部光源が存在する場合、ハレーションは防ぐことはできない。このことから、ハレーションを考慮すべき外部光源25は、図2に示すように、レンズ21の光軸上から比較的に離れた位置に存在するものとなる。それにより、レンズ21の外周にレンズフード24を設けているカメラ20では、主に、レンズフード24によって遮ることができる境界の方向の近傍に位置する外部光源25が、特に考慮の対象つまり設定の対象となる。
 そのような外部光源25から放射されて撮像面23に達する光の経路は、様々である。しかし、カメラ20との位置関係から、その光の大部分は鏡胴22に反射する。ハレーションにより生じる光の像を「反射画像」と呼ぶのはこのためである。
 外部光源25からの光は、外部光源25の位置によってはレンズ21内部に進入しない。このことから本実施形態では、反射画像の生成は、光がレンズ21内部に進入するか否かチェックし、そのチェック結果として光が進入する場合に行う。その生成は、レンズ21内に外部光源25の代わりとする仮想光源26を配置して行う。
 光がレンズ21内部に進入するか否かのチェックには、既知の干渉チェック技術を用いることができる。仮想光源26を配置するレンズ21内部の位置は、反射画像生成部13により、例えばレンズ21の光軸と直交する径方向上で外部光源25からの光が通過する範囲を求め、その範囲の中央、或いはその近傍に決定する。そのようにして、反射画像生成部13は、レンズ21内部で外部光源25からの光が通ると考えられる経路上に仮想光源26を配置する。外部光源25からの光がレンズ21内部に進入するか否かのチェック方法、及び仮想光源26を配置する位置の決定方法は、ここに挙げたものに限定されるものではない。仮想光源26を配置する位置は、求めた範囲内であれば良い。このことから、その位置は、撮像面23に達する光量をより大きく見積もれるように考慮して決定するようにしても良い。
 外部光源25から放射された光がレンズ21内部に進入するか否かは、その放射位置や放射方向によって変化する。このため、外部光源25では、その外部光源25から放射される光(光線)毎に、レンズ21内部に進入するか否かのチェックを行わなければならない。しかし、上記のような仮想光源26を外部光源25の代わりに用いる場合、そのようなチェックを行わなくとも済む。このことから、外部光源25の代わりに仮想光源26を用いる場合、反射画像の生成をより短時間に行えるようになる。
 その仮想光源26から放射された光も、様々な経路で撮像面23に達する。また、光は鏡胴22での反射によって減衰する。このようなことから、本実施形態では、既知のレイトレーシング技術を用いて光が達する撮像面23上の位置、及びその光量を算出することにより、反射画像を生成するようにしている。
 周知のように、レイトレーシング技術では、光源と、定めた受光点の間の経路をその受光点側から光源まで辿ることにより特定し、その受光点の光量を算出する。上記のようなケースでは、受光点は撮像面23上の各点に相当し、光源は仮想光源26に相当する。このレイトレーシング技術には、美しい画像を作りやすい、必要なメモリ容量が比較的に小さい、といった利点がある。
 反射画像の生成には、レイトレーシング技術以外の技術を用いても良い。例えばレイトレーシング技術とは逆に、光源側から受光点までの光の経路を特定するフォトンマッピング技術を用いても良い。
 図3は、そのようにして生成される、外部光源の反射画像例を説明する図である。この反射画像例では、外部光源25からの光が中央付近に多く集まっている。
 反射画像生成部13は、上述したようにして、カメラ20の外部に仮想的に配置した外部光源25からの光によるハレーションを模擬した反射画像を生成し、生成した反射画像をブレンド処理部14に出力する。そのように反射画像を生成することから、パラメータ群6は、レンズ21の鏡面反射率、鏡胴22の反射率、カメラ20の形状データ、及び外部光源25に係わるデータを含むものとしている。カメラ20の形状データは、レンズ21及びレンズフード24の各形状を含むものである。外部光源25に係わるデータは、外部光源25の強さ、位置等を含むものである。その位置は、例えばレンズ21の光軸からの角度、及び距離により指定することができる。
 パラメータ群6として用意すべきパラメータは、採用するモデル、或いは考慮すべき対等に応じて決定すれば良いものである。例えばカメラ20では、絞り等の不図示の構成要素を考慮しても良い。このようなことからも、特に限定されるものではない。
 広角画像生成部12は、データ取得部11から3Dデータ4及びレンズデータ5を得て、広角画像を生成する。その広角画像は、複数の画像から生成される。3Dデータ4は、その複数の画像を得るために用いられる。例えば、カメラ20が車両のバックアイカメラであった場合、3Dデータ4は、車両の3Dモデルデータ、車両が置かれた撮影環境上に存在する道路、街灯、建物、他の車両、及び通行者等の物体のモデルデータ(配置を示す配置情報を含む)等を含むものである。車両の3Dモデルデータは、バックアイカメラの配置、及びその撮影方向を含むものである。カメラ20が監視カメラであった場合には、その監視カメラの位置情報、及び撮影環境上に存在する物体のモデルデータ等を含むものである。監視カメラの位置情報は、配置場所を示す情報の他に、撮影方向を含むものである。以降、広角画像の生成に用いる画像は視野角(撮影範囲)が広角画像よりも小さいと想定することから、便宜的に「標準画像」と呼ぶことにする。
 標準画像の取得は、3Dデータ4が表現する撮影環境を、その標準画像が得られる仮想的なカメラ(以降「仮想カメラ」)で撮影方向を変えての複数の撮影をシミュレーションする形で行われる。本実施形態では、複数の標準画像を用いた撮影画像の生成にキューブマップ(Cubemap)を採用している。
 3Dデータ4の表示は、静止画の表示に対応したソフトウェア(ビューア)を用いて行うことができる。このことから、ビューアを用いる場合には、その3Dデータ4が表現する撮影環境の撮影(仮想的な撮影)は、その撮影条件で3Dデータ4の表示画像をビューアに生成させることに相当する。
 このキューブマップは、テクスチャ・マッピングの手法の一つである。キューブマップでは、視点を中心とした3Dモデルを仮想的に囲む無限大の立方体(キューブマップ)を考え、あるポリゴンに貼り付けるテクスチャをそのポリゴンの法線が立方体と交わる位置から決定する。立方体は6面であることから標準画像は、前後上下左右の6方向でそれぞれ取得する。各標準画像はそれぞれ撮影方向によって決定される立方体の面として扱われる。
 図4は、キューブマップを用いて行われるテクスチャ・マッピングを説明する図である。図4に示す立方体40はキューブマップであり、そのキューブマップ40の6つの面40ft、40bk、40tp、40bm、40lt及び40rtにはそれぞれ、対応する撮影方向の標準画像が割り当てられる。具体的には、面40ftには前方向の標準画像が割り当てられる。同様に、面40bk、40tp、40bm、40lt及び40rtにはそれぞれ、後上下左右の各方向の標準画像が割り当てられる。
 キューブマップによるテクスチャ・マッピングは、多数のポリゴン51が配置された仮想的な平面(仮想面)50を用いて行われる。図5は、ポリゴンが配置された平面を説明する図である。図5では、正面から見た平面50を示している。この平面50は簡略的に描いているが、実際には平面50は多数の3角形(ポリゴン)51で分割されている。各ポリゴン51は、実際に表示する広角画像では画素に相当する。
 図4の41は平面50上のあるポリゴン51における法線である。そのポリゴン51のテクスチャとして、法線41がキューブマップ40の面と交わる部分42のテクスチャが決定される。このことから平面50は、テクスチャを投影する投影面として用いられる。
 各ポリゴン51の法線は個別に設定することができる。このことから本実施形態では、各ポリゴン51の法線の設定により、複数の標準画像から広角画像を生成するようにしている。その法線の設定は、カメラ20のレンズ21の特性を示すレンズ収差データを用いて行うようにしている。
 図6は、そのレンズ収差データの形式例を説明する図である。その収差データは、広角画像上の像高(図6中「画面上の像高」と表記)とその像高に対応させる画角の組をまとめたものとしている。図7に示すように、画角は、視点と広角画像の中心を結ぶ線(以降「視線方向」)からの角度であり、像高は、平面50上の視線方向からの距離に相当する。それにより像高と画角の組は、平面50上のポリゴン51と、そのポリゴン51のテクスチャとして決定すべきキューブマップ40の部分との関係を示すものとなっている。
 図7は、レンズ収差データによるポリゴンの法線の設定方法を説明する図である。図7には便宜的に、平面50は視線方向から上の部分のみ描いている。
 図7において、Wは、像高と組となった画角αの直線である。vはその組の像高と視点を結ぶ直線である。Pは、平面50上で直線Wが表す画角αと組み合わされた像高に対応する点である。W’はその像高(点P)を起点とする、直線Wと平行な直線である。この直線W’は、点Pのポリゴン51の法線として設定される。それにより、各ポリゴン51の法線W’?には、そのポリゴン51の像高、つまりその位置P?と視線方向(広角画像の中心)の間の距離に対応する画角αの直線が設定される。
 図7に示すように、点Pのポリゴン51の法線として設定される直線W’は、レンズ収差データが無い場合に設定される直線vよりも傾きが急となっている。法線の傾きをより急にすることは、キューブマップ40における視線方向からより離れた部分のテクスチャを用いることを意味する。収差データは、図6に示すように、像高が大きくなるほど、画角αもより大きくなっている。このことから、各ポリゴン51に決定されるテクスチャは、視線方向(広角画像の中心)から離れるほど、キューブマップ40上では視線方向から更に離れた部分のものとなる。その結果、生成される広角画像は、その中心から離れるにつれて像が小さくなる歪曲(タル型歪曲)収差が生じたものとなる(図9)。
 このようにして画角αは、組み合わされた像高のポリゴン51に割り当てるテクスチャが存在するキューブマップ40上の位置を指定する。その位置は、標準画像上の位置であり、標準画像は実際に得られた画像である。レンズ収差データは、平面50上のポリゴン51に割り当てるテクスチャが存在するキューブマップ40上の位置を特定できるのであれば良いことから、図6に示すようなものに限定されない。
 多くのポリゴン51は、像高と画角αと組み合わされた何れの像高とも一致しない。そのようなポリゴン51の法線は、補間により決定する。法線の決定に用いる補間方法は、特に限定するものではないが、1次補間方法以外の方法、例えば2次補間方法、或いは多項式補間方法等を採用するのが望ましい。
 広角レンズを用いた撮影では、歪曲収差が生じるのが普通である。そのような歪曲収差が生じた広角画像を生成するのは、このためである。キューブマップ40を用いたテクスチャ・マッピングでは、平面50上の各ポリゴン51の法線の設定を通して、そのような広角画像を生成することができる。
 グラフィックスの表示に必要な計算処理を行なうGPU(Graphics Processing Unit)の大部分は、キューブマップ40を用いたテクスチャ・マッピングに対応している。このため、GPUを搭載したコンピュータでは、広角画像の生成は極めて高速に行うことができる。キューブマップ40を用いた広角画像の生成を採用しているのは、このことも理由の一つである。
 図8Aは、広角画像の生成手順を説明する図である。図8Aにおいて、画像81は撮影環境例、画像82はその撮影環境で得られる6つの標準画像例、画像83は画像82つまり6つの標準画像から生成される広角画像例、をそれぞれ示している。図8Bには、標準画像例の拡大図を示している。画像83、つまり生成される広角画像には、明らかな歪曲収差が生じている。
 図8Bに示す6つの標準画像にそれぞれ付した82ft、82bk、82tp、82bm、82lt及び82rtには、括弧書きでキューブマップ40の各面の符号40ft、40bk、40tp、40bm、40lt或いは40rtを続けて付している。それにより、図8Bでは、6つの各標準画像82ft、82bk、82tp、82bm、82lt及び82rtが割り当てられるキューブマップ40の各面40ft、40bk、40tp、40bm、40lt及び40rtを示している。
 上記広角画像は、図8A及び図8Bから明らかなように、左右を反転させたものとなっている。これは、シミュレーションを行うカメラとして、車両のバックアイカメラを想定しているためである。つまり、バックアイカメラにより撮影した画像は前(撮影する方向の逆方向)を向いて見る場合、その画像は左右を反転させたほうが望ましいと考えられるためである。
 広角画像生成部12は、上記のようにして、広角画像を生成する。レンズデータ5は、例えば上記レンズ収差データ、及びカメラ20の位置情報(設置場所や撮影方向(視線方向)等の情報を含む)を含むものである。そのため、標準画像の取得には3Dデータ4の他に、レンズデータ5も用いられる。
 広角画像生成部12は、法線設定部12a、及び標準画像生成部12bを備えている。法線設定部12aは、レンズ収差データに従って、平面50上の各ポリゴンの法線を設定する。標準画像生成部12bは、レンズデータ5のカメラ20の位置情報を参照し、3Dデータ4から標準画像を生成する。生成した標準画像、及び平面50を用いて生成した広角画像は、ブレンド処理部14に出力する。
 生成すべき標準画像は、カメラ20の設置場所の変更により変化する。標準画像の生成に3Dデータ4を用いるのは、このためである。言い換えれば、カメラ20の設置場所の変更等に容易に対応できるようにするためである。しかし、そのような変更に対応すべき状況があまり発生しない、その変更に対応する必要性は小さいような場合には、3Dデータ4から標準画像を生成しなくとも良い。それにより、標準画像を予め用意しても良い。このことから、標準画像として、実際の撮影によって得られた撮影画像を用いるようにしても良い。
 ブレンド処理部14は、広角画像生成部12、及び反射画像生成部13がそれぞれ生成した広角画像及び反射画像を得て、それらを合成することにより、シミュレーション画像を生成する。生成したシミュレーション画像は、表示制御部15に出力する。
 表示制御部15は、ブレンド処理部14から入力したシミュレーション画像をディスプレイ3に表示させる。図9は、表示されるシミュレーション画像例を説明する図である。このシミュレーション画像は、図3の反射画像と、図8Aの画像83として表す広角画像を合成して得られるものである。
 図14は、本実施形態を適用可能なコンピュータのハードウェア構成の一例を示す図である。ここで図14を参照して、上記シミュレーション装置10として使用可能なコンピュータの構成例について具体的に説明する。
 図14に示すコンピュータは、CPU61、メモリ62、入力装置63、出力装置64、外部記憶装置65、媒体駆動装置66、ネットワーク接続装置67、及びGPU68を有し、これらがバス69によって互いに接続された構成となっている。同図に示す構成は一例であり、これに限定されるものではない。
 CPU61は、当該コンピュータ全体の制御を行う。図14には一つのみ示しているが、CPU61は複数、搭載されていても良い。
 メモリ62は、プログラム実行、データ更新等の際に、外部記憶装置65(あるいは可搬型の記録媒体70)に記憶されているプログラムあるいはデータを一時的に格納するRAM等の半導体メモリである。CPU61は、プログラムをメモリ62に読み出して実行することにより、全体の制御を行う。
 入力装置63は、例えば、キーボード、マウス等のオペレータが操作する操作装置、つまり図1のユーザインタフェース2との接続を可能にする装置である。接続された操作装置に対するユーザの操作を検出し、その検出結果をCPU61に通知する。
 出力装置64は、例えば表示装置と接続された表示制御装置である。図1に示す構成では、ディスプレイ3が接続される。外部記憶装置65は、例えばハードディスク装置等の大容量の記憶装置である。主に各種データやプログラムの保存に用いられる。
 媒体駆動装置66は、光ディスクや光磁気ディスク等の可搬型の記録媒体70にアクセスするものである。ネットワーク接続装置67は、例えば通信ネットワークを介した外部装置との通信を可能とさせるものである。GPU68は、グラフィックスの表示に必要な計算処理を行う、キューブマップ40を用いたテクスチャ・マッピングに対応した処理装置である。
 上記シミュレーションソフト、及び3Dデータ4は、外部記憶装置65、若しくは記録媒体70に記録されているか、或いは通信ネットワークを介してネットワーク接続装置67により取得される。そのシミュレーションソフトをメモリ62に読み出してCPU61が実行することにより、シミュレーション装置1は実現される。
 シミュレーションの結果、つまりシミュレーション画像は、外部記憶装置65、或いは記録媒体70に保存される。その結果はネットワーク接続装置67を介して外部装置に保存させることも可能である。レンズデータ45、及びパラメータ群46は、入力装置63、或いはネットワーク接続装置67を介して取得される。それらの保存には、例えば外部記憶装置65が用いられる。
 図14に示す構成では、シミュレーションソフト、及び3Dデータ4が外部記憶装置65に格納され、レンズデータ5及びパラメータ群6が入力装置63を介して入力されると想定する場合、データ取得部11は、CPU61、メモリ62、入力装置63、外部記憶装置65及びバス69によって実現される。広角画像生成部12、反射画像生成部13及びブレンド処理部14は共に、CPU61、メモリ62、外部記憶装置65及びバス69によって実現される。表示制御部15は、CPU61、メモリ62、出力装置64、外部記憶装置65及びバス69によって実現される。
 以降は、図10~図13に示す各処理のフローチャートを参照して、シミュレーション装置1の動作について詳細に説明する。
 図10は、シミュレーション画像生成処理のフローチャートである。このハレーション画像生成処理は、シミュレーション画像を生成するための処理であり、図14に示す構成において、CPU61がシミュレーションソフトを実行することで実現される。
 先ず、ステップS1では、CPU61は広角画像を生成するための広角画像生成処理を実行する。続くステップS2では、CPU61は反射画像を生成するための反射画像生成処理を実行する。その後はステップS3に移行して、CPU61は広角画像と反射画像をブレンドするブレンド処理を実行する。そのブレンド処理の実行後、このハレーション画像生成処理を終了する。
 広角画像生成部12は、ステップS1の広角画像生成処理をCPU61が実行することで実現される。反射画像生成部13は、ステップS2の反射画像生成処理をCPU61が実行することで実現される。ブレンド処理部14及び表示制御部15は、ステップS3のブレンド処理をCPU61が実行することで実現される。
 シミュレーション画像生成処理は、3Dデータ4、レンズデータ5、及びパラメータ群6を用いて実行される。これらのデータは、例えば専用の入力画面により指定、或いは入力されるようになっている。例えば3Dデータ4がその格納場所によって指定され、レンズデータ5及びパラメータ群6が入力されるようになっている。シミュレーション画像生成処理は、例えばその入力画面上で実行を指示できるようになっている。この入力画面上に入力されたデータはメモリ62、或いは外部記憶装置65に保存され、必要に応じて参照される。それにより、データ取得部11は、この入力画面の表示、及びデータ入力のための処理の実行によって実現される。
 図11は、広角画像生成処理のフローチャートである。次に図11を参照して、この広角画像生成処理について詳細に説明する。
 先ず、ステップS11では、CPU61はレンズデータ5のレンズ収差データを読み込む。次のステップS12では、CPU61は平面50(図11では「テクスチャ表示用のメッシュ」及び「テクスチャ表示メッシュ」と表記)を生成する。その平面50の各ポリゴン51の法線は、図7に示すように、レンズ収差データ、及びその位置(像高)から設定される。そのようにして設定する法線は、ポリゴン51の位置(像高)に相当する画角を有するものである。各ポリゴン51の法線の設定が終了した後はステップS13に移行する。
 本実施形態では、平面50を分割するポリゴン51の数、つまりポリゴンのマイクロポリゴンへの分割は、オペレータの設定に沿って行うようにしている。この設定(指定)は、例えば上記専用の入力画面上で解像度の選択により行うようになっている。この選択された解像度は、パラメータ群6を構成する1パラメータとして扱われる。CPU61は、設定された解像度に従って平面50をポリゴン51に分割する。
 オペレータは、この解像度の選択により、生成されるシミュレーション画像の精度、及び描画速度を調整することができる。比較的に低い解像度を選択した場合、低精度のシミュレーション画像をより短時間に表示させることができ、比較的に高い解像度を選択した場合には、比較的に長い時間がかかっても高精度のシミュレーション画像を表示させることができる。
 ステップS13では、仮想カメラを想定し、その仮想カメラを上下左右前後に向けて、3Dデータ4によって表現される撮影環境をビューアにより順次、表示し、各表示画像をフレームバッファから読み込む。撮影環境の表示、つまり仮想カメラによる撮影結果とする標準画像の取得は、レンズデータ5が示すカメラ20の位置情報(設置場所)に沿って行う。次のステップS14では、読み込んだ各表示画像をキューブマップ40のテクスチャとして登録する。それにより、各表示画像は標準画像として、キューブマップ40の各面40bk、40tp、40bm、40lt及び40rtの何れかに割り当てる。その次に移行するステップS15では、平面50を用いて、キューブマップ40から広角画像83を生成し登録する。その平面50は、レンズデータ5が示すカメラ20の位置情報(設置場所や撮影方向(視線方向)等)から特定される位置に配置する。そのようにして、カメラ20を想定した広角画像83を生成した後、この広角画像生成処理を終了する。
 広角画像の生成は、CPU61がGPU68に、例えば平面50、登録した標準画像、及び平面50の配置の特定等に用いられる生成条件を送出し、その平面50及び標準画像を用いた広角画像の生成を指示することで行われる。このことからCPU61は、実際には広角画像の生成は行わない。GPU68から入力した広角画像を登録する。
 図12は、反射画像生成処理のフローチャートである。次に図12を参照して、この反射画像生成処理について詳細に説明する。
 先ず、ステップS21では、CPU61はパラメータ群6を参照し、外部光源25の位置からの直線とカメラ20の部品の交差をチェックする。それにより、外部光源25からの光がレンズ21に入射するか否か確認する。続くステップS22では、CPU61はそのチェック結果から、交差があるか否か判定する。交差が確認できなかった場合、判定はNOとなり、ステップS23に移行して、CPU61は反射画像無しとして反射画像生成処理を終了する。その交差が確認できた場合には、判定はYESとなってステップS24に移行する。
 ステップS24では、CPU61はレンズ21内に仮想光源26を配置し、鏡胴22の反射率を考慮して、その仮想光源26から撮像面23に達する光線(大部分は反射光線)を生成することにより、反射画像を生成する。そのような反射画像の生成は、既知のレイトレーシング・アルゴリズムを用いて行う。それにより、仮想光源26と撮像面23の光の経路は撮像面23側から辿ることで特定し、光線の光量は特定した経路、及び反射率に応じて減衰させる。反射画像の生成後に移行するステップS25では、CPU61は反射画像を登録する。その後、この反射画像生成処理を終了する。
 図13は、ブレンド処理のフローチャートである。最後に図13を参照して、このブレンド処理について詳細に説明する。
 先ず、ステップS31では、CPU61は反射画像が存在するか否かのチェックを行う。次のステップS32では、CPU61はそのチェック結果から、反射画像が存在するか否か判定する。反射画像が登録されていた場合、判定はYESとなって、ステップS34に移行する。反射画像が登録されていない場合には、判定はNOとなってステップS33に移行し、CPU61は広角画像をシミュレーション画像として表示させる。その後、このブレンド処理を終了する。
 ステップS34では、反射画像、広角画像の画素を対応付けて、各画素のRGB成分の値を算出(変換)する。その変換は、シミュレーション画像(の画素値)をPi、広角画像(の画素値)をP、反射画像(の画素値)をQとした場合、
   Pi、=P+α*Q
により行う。そのような変換を各画素でRGB成分ごとに行うことにより、広角画像と反射画像のブレンドが実現される。それにより、ステップS35には、全ての画素の変換を行った後に移行する。
 シミュレーション画像の生成、つまり広角画像と反射画像のブレンドは、全ての画素の変換を行うことで完了する。ステップS35では、CPU61は変換によって得られたシミュレーション画像をディスプレイ3に表示させる。その後、このブレンド処理を終了する。
 シミュレーション画像は、広角画像や反射画像と同様に、登録(保存)される。それにより、必要に応じて表示させることが可能となっている。画像の保存先は、例えば上記入力画面上で指定できるようになっている。
 なお、本実施形態では、シミュレーション画像生成処理の実行時に平面50を生成するようにしているが、その平面50の生成は必要に応じて行うようにしても良い。これは、レンズ収差データを変更しなければ、生成する平面50は同じとなるからである。同様に、標準画像も3Dデータ4、つまり撮影環境、或いはカメラ20の配置、若しくは撮影方向等が変更されない限り、変化しない。広角画像は、標準画像、及び平面50のうちの少なくとも一方が変化しない限り、変化しない。このようなことから、標準画像、及び広角画像も必要に応じて生成するようにしても良い。標準画像は、生成するのではなく、予め用意しても良い。
 シミュレーション画像生成処理を実現させるシミュレーションソフトは、GPU68による広角画像の生成を想定したものである。このシミュレーションソフトは、GPU68を搭載していないコンピュータを想定したものであっても良い。或いはGPU68を搭載しているか否かに応じて処理内容を変更するようなものであっても良い。

Claims (6)

  1.  コンピュータに、
     3次元モデルに対する複数の方向からの仮想の撮影画像を合成して、広角画像を生成し、
     該3次元モデルについての透視投影についてのハレーション画像を生成し、
     前記広角画象と、前記透視投影についてのハレーション画象とを合成して、ハレーションが合成された前記3次元モデルについての広角画像を得る、
     処理を実行させるためのシュミレーションプログラム。
  2.  コンピュータに、
     撮影対象に対して複数の方向から得られた複数の第1の画像から、撮影装置のレンズによる収差を反映させて第2の画像を生成する第1の画像生成手順と、
     前記撮影装置の外部に位置する光源からの光が該撮影装置に入射することによって生じるハレーションの第3の画像を生成する第2の画像生成手順と、
     前記第2の画像と前記第3の画像を合成して、前記光源によって生じるハレーションを反映させた第4の画像を生成する第3の画像生成手順と、
     を実行させるためのハレーションシミュレーションプログラム。
  3.  前記複数の第1の画像は、前後上下左右の6方向から得られた画像群であり、
     前記第1の画像生成手順では、各ポリゴンの法線を設定した仮想面を用いたキューブ・マッピングにより前記撮影装置のレンズによる収差を反映して、前記複数の第1の画像から前記第2の画像を生成する、
     ことを特徴とする請求項2記載のハレーションシミュレーションプログラム。
  4.  前記第1の画像生成手順では、前記仮想面を分割するポリゴン数を変更する、
     ことを特徴とする請求項3記載のハレーションシミュレーションプログラム。
  5.  コンピュータが、
     撮影対象に対して複数の方向から得られた複数の第1の画像から、撮影装置のレンズによる収差を反映させて第2の画像を生成し、
     前記撮影装置の外部に位置する光源からの光が該撮影装置に入射することによって生じるハレーションの第3の画像を生成し、
     前記第2の画像と前記第3の画像を合成して、前記光源によって生じるハレーションを反映させた第4の画像を生成する、
     ことを特徴とするハレーションシミュレーション方法。
  6.  撮影対象に対して複数の方向から得られた複数の第1の画像から、撮影装置のレンズによる収差を反映させて第2の画像を生成する第1の画像生成手段と、
     前記撮影装置の外部に位置する光源からの光が該撮影装置に入射することによって生じるハレーションの第3の画像を生成する第2の画像生成手段と、
     前記第2の画像と前記第3の画像を合成して、前記光源によって生じるハレーションを反映させた第4の画像を生成する第3の画像生成手段と、
     を具備することを特徴とするハレーションシミュレーション装置。
PCT/JP2010/001673 2010-03-09 2010-03-09 ハレーションシミュレーション方法、装置、及びプログラム WO2011111095A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012504139A JP5413502B2 (ja) 2010-03-09 2010-03-09 ハレーションシミュレーション方法、装置、及びプログラム
PCT/JP2010/001673 WO2011111095A1 (ja) 2010-03-09 2010-03-09 ハレーションシミュレーション方法、装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/001673 WO2011111095A1 (ja) 2010-03-09 2010-03-09 ハレーションシミュレーション方法、装置、及びプログラム

Publications (1)

Publication Number Publication Date
WO2011111095A1 true WO2011111095A1 (ja) 2011-09-15

Family

ID=44562944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/001673 WO2011111095A1 (ja) 2010-03-09 2010-03-09 ハレーションシミュレーション方法、装置、及びプログラム

Country Status (2)

Country Link
JP (1) JP5413502B2 (ja)
WO (1) WO2011111095A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015008373A1 (ja) * 2013-07-19 2015-01-22 富士通株式会社 情報処理装置、検査範囲の計算方法、及びプログラム
CN111899157A (zh) * 2020-07-16 2020-11-06 中国人民解放军海军航空大学 一种利用蒙版技术对杂散光干扰模拟方法
CN113886910A (zh) * 2021-09-14 2022-01-04 襄阳达安汽车检测中心有限公司 仿真路灯的创建方法、装置、设备及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215974A (ja) * 2004-01-29 2005-08-11 Namco Ltd プログラム、情報記憶媒体及びゲーム装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215974A (ja) * 2004-01-29 2005-08-11 Namco Ltd プログラム、情報記憶媒体及びゲーム装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015008373A1 (ja) * 2013-07-19 2015-01-22 富士通株式会社 情報処理装置、検査範囲の計算方法、及びプログラム
CN105378573A (zh) * 2013-07-19 2016-03-02 富士通株式会社 信息处理装置、检查范围的计算方法以及程序
JPWO2015008373A1 (ja) * 2013-07-19 2017-03-02 富士通株式会社 情報処理装置、検査範囲の計算方法、及びプログラム
CN105378573B (zh) * 2013-07-19 2017-12-22 富士通株式会社 信息处理装置、检查范围的计算方法
US10133256B2 (en) 2013-07-19 2018-11-20 Fujitsu Limited Information processing apparatus and method for calculating inspection ranges
CN111899157A (zh) * 2020-07-16 2020-11-06 中国人民解放军海军航空大学 一种利用蒙版技术对杂散光干扰模拟方法
CN113886910A (zh) * 2021-09-14 2022-01-04 襄阳达安汽车检测中心有限公司 仿真路灯的创建方法、装置、设备及可读存储介质
CN113886910B (zh) * 2021-09-14 2023-05-30 襄阳达安汽车检测中心有限公司 仿真路灯的创建方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
JPWO2011111095A1 (ja) 2013-06-27
JP5413502B2 (ja) 2014-02-12

Similar Documents

Publication Publication Date Title
US11379948B2 (en) Mixed reality system with virtual content warping and method of generating virtual content using same
US10964119B2 (en) Mixed reality system with multi-source virtual content compositing and method of generating virtual content using same
JP4764305B2 (ja) 立体画像生成装置、方法およびプログラム
JP4990852B2 (ja) 3次元移動の自由視点映像生成システムおよび記録媒体
US20180012397A1 (en) Immersive content framing
US6621925B1 (en) Image processing apparatus and method and information providing medium
US20130021445A1 (en) Camera Projection Meshes
JP7201869B1 (ja) 前の目線からのレンダリングされたコンテンツおよびレンダリングされなかったコンテンツを使用した新しいフレームの生成
KR20130008606A (ko) 화상생성장치 및 조작지원 시스템
JPWO2017217296A1 (ja) 画像処理装置
JP5413502B2 (ja) ハレーションシミュレーション方法、装置、及びプログラム
KR20110088995A (ko) 3차원 모델 안에서 감시 카메라 영상을 시각화하기 위한 방법 및 시스템, 및 기록 매체
US10382679B2 (en) Drawing apparatus, drawing method, and drawing program
JP3629243B2 (ja) モデリング時の距離成分を用いてレンダリング陰影処理を行う画像処理装置とその方法
US20230162442A1 (en) Image processing apparatus, image processing method, and storage medium
KR101208767B1 (ko) 곡면 투사를 이용한 입체 영상 생성 방법, 장치 및 시스템, 이를 위한 기록 매체
JP6545033B2 (ja) 三次元温度分布表示装置
CN113836337A (zh) Bim的展示方法、装置、设备及存储介质
CN113132708A (zh) 利用鱼眼相机获取三维场景图像的方法和装置、设备和介质
JP5846373B2 (ja) 画像処理装置、画像処理方法、画像処理プログラム、および、画像処理システム
KR102611481B1 (ko) 이미지 내의 좌표들 간의 실제 거리를 계산하는 방법 및 장치
JP2020160756A (ja) 画像生成装置、画像生成方法、及びプログラム
US20230245378A1 (en) Information processing apparatus, information processing method, and medium
JP5106378B2 (ja) 画像処理装置、方法及びプログラム
Schmeing et al. Real-time depth fusion using a low-cost depth sensor array

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012504139

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10847330

Country of ref document: EP

Kind code of ref document: A1