WO2019230813A1 - 三次元再構成方法および三次元再構成装置 - Google Patents

三次元再構成方法および三次元再構成装置 Download PDF

Info

Publication number
WO2019230813A1
WO2019230813A1 PCT/JP2019/021330 JP2019021330W WO2019230813A1 WO 2019230813 A1 WO2019230813 A1 WO 2019230813A1 JP 2019021330 W JP2019021330 W JP 2019021330W WO 2019230813 A1 WO2019230813 A1 WO 2019230813A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional
point
points
patch
images
Prior art date
Application number
PCT/JP2019/021330
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 JP2020522255A priority Critical patent/JP7227969B2/ja
Publication of WO2019230813A1 publication Critical patent/WO2019230813A1/ja
Priority to US17/081,410 priority patent/US20210044787A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/25Image signal generators using stereoscopic image cameras using two or more image sensors with different characteristics other than in their location or field of view, e.g. having different resolutions or colour pickup characteristics; using image signals from one sensor to control the characteristics of another sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/296Synchronisation thereof; Control thereof

Definitions

  • the present disclosure relates to a three-dimensional reconstruction method and a three-dimensional reconstruction device that generate a three-dimensional model using a plurality of images obtained by a plurality of cameras.
  • a plurality of two-dimensional images are associated with each other to estimate the camera position, orientation, and subject three-dimensional position.
  • camera calibration and three-dimensional point group reconstruction are performed.
  • Patent Document 1 discloses three-dimensional modeling by a multi-view stereo method based on a three-dimensional patch having a normal vector on a small plane centered on a three-dimensional point.
  • Non-Patent Document 1 discloses small area matching of image pairs by the phase-only correlation method.
  • an object of the present disclosure is to provide a three-dimensional reconstruction method or a three-dimensional reconstruction device that can generate a high-precision three-dimensional model at high speed.
  • the three-dimensional reconstruction method is arranged at different positions from each other, and uses a plurality of images obtained from a plurality of imaging devices that image a common three-dimensional space, and a three-dimensional point cloud
  • a three-dimensional reconstruction method for generating a three-dimensional model configured by: acquiring the plurality of images captured at timings corresponding to each other by the plurality of imaging devices, and based on the acquired plurality of images
  • a plurality of three-dimensional points, and in the generation of the plurality of three-dimensional points, two or more first images of the plurality of images, and the similarity of the visual field of the plurality of imaging devices is First matching is performed between the two or more first images for points in each of the two or more first images respectively obtained by two or more first imaging devices that are equal to or greater than a predetermined threshold value, and the obtained first matching is obtained.
  • one or more first three-dimensional points are generated, two or more second images of the plurality of images, and the similarity of the plurality of imaging devices is less than the predetermined threshold Obtained by performing a second matching, which is less accurate than the first matching, between the two or more second images for points in each of the two or more second images respectively obtained by the two or more second imaging devices.
  • One or more second 3D points are generated based on the second matching result.
  • the 3D reconstruction method or 3D reconstruction device of the present disclosure can generate a highly accurate 3D model.
  • FIG. 1 is a diagram illustrating an overview of a three-dimensional reconstruction system according to an embodiment.
  • FIG. 2 is a diagram for explaining the three-dimensional reconstruction process according to the embodiment.
  • FIG. 3 is a diagram for explaining the synchronous shooting according to the embodiment.
  • FIG. 4 is a diagram for explaining the synchronous shooting according to the embodiment.
  • FIG. 5 is a block diagram illustrating an example of the three-dimensional reconstruction system according to the embodiment.
  • FIG. 6 is a flowchart illustrating an example of processing performed by the three-dimensional reconstruction device according to the embodiment.
  • FIG. 7 is a diagram illustrating an example of a multi-view frame set according to the embodiment.
  • FIG. 8 is a block diagram illustrating an example of the structure of the three-dimensional reconstruction unit according to the embodiment.
  • FIG. 1 is a diagram illustrating an overview of a three-dimensional reconstruction system according to an embodiment.
  • FIG. 2 is a diagram for explaining the three-dimensional reconstruction process according to the embodiment.
  • FIG. 3 is a diagram
  • FIG. 9 is a flowchart illustrating an example of the operation of the three-dimensional reconstruction unit according to the embodiment.
  • FIG. 10 is a block diagram illustrating an example of the structure of the three-dimensional modeling unit.
  • FIG. 11 is a diagram for explaining the three-dimensional patch.
  • FIG. 12 is a flowchart illustrating an example of the operation of the three-dimensional modeling unit.
  • FIG. 13 is a block diagram illustrating an example of the structure of the initial generation unit.
  • FIG. 14 is a flowchart illustrating an example of the operation of the initial generation unit.
  • FIG. 15A is a diagram for describing an index used for visual field similarity between two cameras.
  • FIG. 15B is a diagram for describing an index used for the degree of visual field similarity between two cameras.
  • FIG. 15A is a diagram for describing an index used for visual field similarity between two cameras.
  • FIG. 15B is a diagram for describing an index used for the degree of visual field similarity between two cameras.
  • FIG. 16 is a diagram for explaining processing by the feature point correspondence unit.
  • FIG. 17 is a diagram for explaining processing by the patch calculation unit.
  • FIG. 18 is a diagram for explaining processing by the frame selection unit.
  • FIG. 19 is a diagram for explaining processing by the optimization unit.
  • FIG. 20 is a diagram for explaining processing by the corresponding point candidate selection unit and the candidate patch calculation unit.
  • FIG. 21 is a diagram for explaining processing by the frame selection unit.
  • FIG. 22 is a diagram for explaining processing by the optimization unit.
  • FIG. 23 is a diagram for explaining processing by the optimization unit.
  • FIG. 24 is a block diagram illustrating an example of the structure of the extension unit.
  • FIG. 25 is a flowchart illustrating an example of the operation of the extension unit.
  • FIG. 26 is a diagram for explaining processing by the extension unit.
  • FIG. 27 is a diagram for explaining processing by the corresponding unit.
  • FIG. 28 is a diagram for explaining processing by the evaluation unit and the patch calculation unit.
  • FIG. 29 is a diagram for explaining processing by the frame selection unit.
  • FIG. 30 is a diagram for explaining processing by the optimization unit.
  • FIG. 31 is a diagram for explaining processing by the extension unit.
  • FIG. 32 is a diagram for explaining processing by the candidate patch calculation unit.
  • FIG. 33 is a diagram for explaining processing by the frame selection unit.
  • FIG. 34 is a diagram for explaining processing by the optimization unit.
  • FIG. 35 is a diagram for explaining processing by the evaluation unit.
  • a sparse three-dimensional point is calculated by associating feature points between two-dimensional images, and a sparse three-dimensional point is increased by expanding the sparse three-dimensional point. Points are calculated. In the expansion of the three-dimensional point, first, a three-dimensional point candidate is calculated, and a process of adding to the dense three-dimensional point is performed only when the evaluation value of the three-dimensional candidate point is smaller than the threshold value.
  • the evaluation value used here is composed of the degree of mismatch between the small regions of the image pairs in the multiple viewpoint images in which the three-dimensional candidate points are reflected.
  • Non-Patent Document 1 discloses that corresponding points are calculated with decimal pixel accuracy by performing small region matching of image pairs by the phase-only correlation method. Specifically, each small region of the image pair is Fourier-transformed, converted into an amplitude signal and a phase signal, and the phase signal of the image pair is synthesized and inversely converted, thereby corresponding points with 1/100 pixel accuracy. Is calculated.
  • Non-Patent Document 1 a higher accuracy result can be obtained as the visual field similarity between the imaging devices from which the image pairs are obtained is higher, but the accuracy is lowered in an image pair having a lower visual field similarity. There are challenges. Further, when the processing according to the method of Non-Patent Document 1 is executed on an image pair with a low field of view similarity, there is a problem that the processing takes a long time.
  • the three-dimensional reconstruction method is arranged at a position different from each other, and uses a plurality of images obtained from a plurality of imaging devices that capture a common three-dimensional space by using a three-dimensional point group.
  • a three-dimensional reconstruction method for generating a configured three-dimensional model wherein the plurality of images captured at timings corresponding to each other by the plurality of imaging devices are acquired, and based on the acquired plurality of images
  • a plurality of three-dimensional points are generated, and in the generation of the plurality of three-dimensional points, two or more first images of the plurality of images, and the similarity of the visual field of the plurality of imaging devices is predetermined.
  • First matching is performed between the two or more first images for points in each of the two or more first images respectively obtained by the two or more first imaging devices that are equal to or more than the threshold value, and the first matching result obtained is obtained. Based on Two or more second images of the plurality of images, wherein the similarity of the plurality of imaging devices is less than the predetermined threshold value.
  • a second matching that is less accurate than the first matching is performed between the two or more second images with respect to the points in each of the two or more second images respectively obtained by the second imaging device.
  • One or more second 3D points are generated based on the two matching results.
  • one or more first tertiary is performed by performing highly accurate first matching. Since the original point is generated, a highly accurate three-dimensional point can be obtained at high speed.
  • one or more second three-dimensional points are obtained by performing second matching with low accuracy. Therefore, it is possible to reduce the generation of low-precision three-dimensional points and the time required for processing.
  • one of the first matching and the second matching is selectively executed according to the similarity of the visual field, a highly accurate three-dimensional model can be generated at high speed.
  • the plurality of feature points included in the acquired plurality of images are matched between the plurality of images to generate the plurality of three-dimensional points.
  • a plurality of feature points are detected for each of the acquired plurality of images, and the first matching is performed for the plurality of feature points in each of the two or more first images. Is performed between the two or more first images, and based on the obtained first matching result, the one or more first three-dimensional points are generated, and the plurality of the plurality of second images in each of the two or more second images are generated.
  • the second matching may be performed between the two or more second images, and the one or more second three-dimensional points may be generated based on the obtained second matching result.
  • one of the first matching and the second matching is selectively executed according to the visual field similarity, so that a highly accurate three-dimensional model is generated at high speed. can do.
  • Each of the plurality of three-dimensional points is a three-dimensional patch indicating a three-dimensional position of a point on the surface of the subject and a normal direction perpendicular to the surface at the point, and the first generation In generating one or more first three-dimensional points, a plurality of feature points of one first image of the first combination to be processed, including two first images of the two or more first images.
  • the first matching point corresponding to the feature point of the processing target is calculated from the other first image of the first combination of the processing target by performing the first matching, and the processing target ,
  • the calculated first corresponding point, the camera parameter of the third imaging device from which the one first image was obtained, and the camera of the fourth imaging device from which the other first image was obtained
  • the first 3D patch is calculated using the parameters And the first three-dimensional patch and one or more first two-dimensional points on which the first three-dimensional patch is projected on each of the one or more first visible images in which the first three-dimensional patch is reflected. Is used to correct the normal direction of the first three-dimensional patch so that the evaluation value representing the projection consistency is minimized, and the corrected first three-dimensional patch is generated as the first three-dimensional point. May be.
  • a highly accurate three-dimensional model can be generated at high speed.
  • one of the second combinations to be processed including two second images of the two or more second images.
  • a second corresponding point corresponding to the feature point of the processing target is determined as the second of the second combinations of the processing target.
  • a second 3D patch is calculated using the obtained camera parameters of the seventh imaging device, and the second 3D patch and one or more second visible images in which the second 3D patch is reflected
  • the second three-dimensional patch is projected on each of 1 Using the second 2D point above, the three-dimensional position and normal direction of the second 3D patch and the one or more second 2D points so that the evaluation value representing the projection consistency is minimized.
  • the corrected second 3D patch may be generated as the second 3D point.
  • the second combination obtained when the similarity of the visual field is not similar is obtained by using the second matching based on the geometric matching and the third order. Since the original point group is generated, it is possible to reduce generation of low-accuracy three-dimensional points and the time required for processing.
  • the generation of the plurality of three-dimensional points further includes the plurality of images, the one or more first three-dimensional points and the one or more second three-dimensional points generated in the first generation. Generating a new three-dimensional point using the first three-dimensional point group and adding the generated new three-dimensional point to the first three-dimensional point group, and performing the second generation Then, for each of a plurality of neighboring three-dimensional points in the vicinity of the plurality of third three-dimensional points constituting the first three-dimensional point group, based on the neighboring three-dimensional points and the two or more first images, The first matching is performed between the two or more first images, and based on the obtained first matching result, one or more new first three-dimensional points are generated, and the first three-dimensional point group is configured.
  • Each of a plurality of neighboring 3D points in the vicinity of a plurality of third 3D points Based on the neighboring three-dimensional point and the two or more second images, the second matching is performed between the two or more second images, and one or more new second images are obtained based on the obtained second matching result.
  • a second 3D point group to which points are added may be generated, and the second 3D model may be reconstructed using the second 3D point group.
  • one of the first matching and the second matching is selectively executed according to the similarity of the visual field, so a highly accurate 3D model is generated at high speed. can do.
  • each of the plurality of third three-dimensional points is set as one first image of the first combination to be processed.
  • a third corresponding point corresponding to a fourth two-dimensional point in a second cell adjacent to the first cell including the specified third two-dimensional point is defined as the first combination of the processing target.
  • the fourth two-dimensional point, the calculated third corresponding point, the camera parameter of the ninth imaging device from which the one first image is obtained, and the other one calculated from the other first image Using the camera parameters of the tenth imaging device that obtained the first image of , Calculating a third 3D patch that is the neighboring 3D point, and the third 3D patch and one or more third visible images in which the third 3D patch is reflected. Is used to correct the normal direction of the third three-dimensional patch so that the evaluation value indicating the projection consistency is minimized, using one or more fifth two-dimensional points on which are projected.
  • a three-dimensional patch may be generated as the new first three-dimensional point.
  • a highly accurate three-dimensional model can be generated at high speed.
  • one second image of the second combination to be processed is set. Projecting a third 3D point to be processed to calculate a sixth 2D point in the one second image, and a reference patch plane of a fourth 3D patch of the third 3D point to be processed; Passing through the seventh 2D point in the fourth cell adjacent to the third cell including the specified sixth 2D point among the plurality of cells constituting the one second image, and the one
  • the third three-dimensional position of the intersection with the optical axis of the twelfth imaging device from which the second image is obtained is calculated as the three-dimensional position of the fourth three-dimensional patch that is the neighboring three-dimensional point, and the fourth three-dimensional patch
  • the fourth visible image including one or more fourth visible images in which the fourth three-dimensional patch is reflected.
  • the 3D position and normal direction of the fourth 3D patch and the 1st direction so that the evaluation value indicating the projection consistency is minimized.
  • the position of the eighth 2D point may be corrected, and the corrected fourth 3D patch may be generated as the new second 3D point.
  • a 3D point cloud is generated using geometric consistency for the second combination obtained when the visual field similarity is not similar. Therefore, it is possible to reduce the generation of low-accuracy three-dimensional points and the time required for processing.
  • a new three-dimensional point is generated using the plurality of images and the first three-dimensional point group stored in the storage unit, and the generated three-dimensional point is generated.
  • a second generation for adding a new three-dimensional point to the first three-dimensional point group is performed, and in the second generation, a plurality of points in the vicinity of a plurality of third three-dimensional points constituting the first three-dimensional point group
  • the first matching is performed between the two or more first images based on the neighboring three-dimensional points and the two or more first images.
  • the second matchon Is performed between the two or more second images, and based on the obtained second matching result one or more new second three-dimensional points are generated, and the one or more second three-dimensional points are added to the first three-dimensional point group.
  • a second three-dimensional point group to which a three-dimensional point is added is generated, and the second three-dimensional point is generated.
  • the group may be used to reconstruct the second 3D model.
  • one of the first matching and the second matching is selectively executed according to the similarity of the visual field, so a highly accurate 3D model is generated at high speed. can do.
  • each of the plurality of third three-dimensional points is set as one first image of the first combination to be processed.
  • a third corresponding point corresponding to a fourth two-dimensional point in a second cell adjacent to the first cell including the specified third two-dimensional point is defined as the first combination of the processing target.
  • the fourth two-dimensional point, the calculated third corresponding point, the camera parameter of the ninth imaging device from which the one first image is obtained, and the other one calculated from the other first image Using the camera parameters of the tenth imaging device that obtained the first image of , Calculating a third 3D patch that is the neighboring 3D point, and the third 3D patch and one or more third visible images in which the third 3D patch is reflected. Is used to correct the normal direction of the third three-dimensional patch so that the evaluation value indicating the projection consistency is minimized, using one or more fifth two-dimensional points on which are projected.
  • a three-dimensional patch may be generated as the new first three-dimensional point.
  • a highly accurate three-dimensional model can be generated at high speed.
  • one second image of the second combination to be processed is set. Projecting a third 3D point to be processed to calculate a sixth 2D point in the one second image, and a reference patch plane of a fourth 3D patch of the third 3D point to be processed; Passing through the seventh 2D point in the fourth cell adjacent to the third cell including the specified sixth 2D point among the plurality of cells constituting the one second image, and the one
  • the three-dimensional position of the intersection with the optical axis of the twelfth imaging device from which the second image is obtained is calculated as the three-dimensional position of the fourth three-dimensional patch, and the fourth three-dimensional patch and the fourth three-dimensional patch are calculated.
  • the fourth three-dimensional patch is projected onto one or more fourth visible images in which is reflected Using the above-described eighth two-dimensional point, the three-dimensional position and normal direction of the fourth three-dimensional patch and the one or more eighth two-dimensional points so that the evaluation value representing the projection consistency is minimized. And the corrected fourth 3D patch may be generated as the new second 3D point.
  • a 3D point cloud is generated using geometric consistency for the second combination obtained when the visual field similarity is not similar. Therefore, it is possible to reduce the generation of low-accuracy three-dimensional points and the time required for processing.
  • a corresponding point in the other image corresponding to a point in one image of two or more images is specified with decimal pixel accuracy
  • one image of two or more images is specified.
  • the corresponding point in the other image corresponding to the point in may be specified with integer pixel accuracy.
  • a highly accurate three-dimensional model can be generated at high speed.
  • the first matching may be matching using a phase only correlation method.
  • the result of the first matching can be obtained with decimal pixel accuracy.
  • the first matching may be a matching using a phase only correlation method
  • the second matching may be a matching using a normalized cross correlation
  • the result of the first matching can be obtained with decimal pixel accuracy, and the result of the second matching can be obtained with lower accuracy than the result of the first matching.
  • a recording medium such as a system, an apparatus, an integrated circuit, a computer program, or a computer-readable CD-ROM, and the system, apparatus, integrated circuit, and computer program. Also, any combination of recording media may be realized.
  • the three-dimensional reconstruction apparatus can reconstruct a time-series three-dimensional model in which coordinate axes coincide between times. Specifically, first, the three-dimensional reconstruction apparatus acquires a three-dimensional model at each time by performing three-dimensional reconstruction independently for each time. Next, the three-dimensional reconstruction device detects a stationary camera and a stationary object (stationary three-dimensional point), and uses the detected stationary camera and stationary object to perform coordinate alignment of the three-dimensional model between time points. Generate a matched 3D time-series model.
  • FIG. 1 is a diagram showing an outline of a three-dimensional reconstruction system.
  • a photographing space 1000 that is a space for photographing a plurality of cameras in common can be reconstructed in three dimensions (three-dimensional space).
  • the imaging space 1000 is an example of a three-dimensional space.
  • FIG. 2 is a diagram illustrating a mechanism of three-dimensional reconstruction.
  • 3D reconstruction device reconstructs image plane points into the world coordinate system using camera parameters.
  • a subject reconstructed in a three-dimensional space is called a three-dimensional model.
  • the three-dimensional model of the subject indicates the three-dimensional position of each of a plurality of points on the subject shown in a multi-view two-dimensional image.
  • the three-dimensional position is represented by, for example, ternary information including an X component, a Y component, and an X component in a three-dimensional coordinate space including XYZ axes.
  • the three-dimensional model may include not only the three-dimensional position but also information representing the color of each point or the surface shape of each point and its surroundings.
  • the 3D reconstruction device may acquire the camera parameters of each camera in advance, or may estimate them simultaneously with the creation of the 3D model.
  • the camera parameters include internal parameters including the camera focal length and image center, and external parameters indicating the three-dimensional position and orientation of the camera.
  • FIG. 2 shows an example of a typical pinhole camera model. This model does not take into account camera lens distortion.
  • the three-dimensional reconstruction apparatus uses a correction position obtained by normalizing the position of a point in image plane coordinates with a distortion model.
  • 3D reconstruction the calculation of camera parameters is called camera calibration, and the generation of 3D models is called 3D modeling.
  • a three-dimensional reconstruction method such as Structure from Motion
  • camera calibration and three-dimensional modeling can be performed simultaneously, and a three-dimensional model composed of camera parameters and a sparse three-dimensional point group can be calculated.
  • a three-dimensional model composed of a dense three-dimensional point group can be calculated using camera parameters calculated in advance.
  • FIGS. 3 and 4 are diagrams for explaining synchronous shooting.
  • the horizontal direction in FIGS. 3 and 4 indicates time, and the time when the rectangular signal is raised indicates that the camera is exposed.
  • the exposure time When an image is acquired by the camera, the time during which the shutter is opened is called the exposure time.
  • a scene exposed to the image sensor through the lens is obtained as an image.
  • the exposure times overlap in images (hereinafter also referred to as “frames”) taken by two cameras with different viewpoints.
  • the frames acquired by the two cameras are determined as synchronization frames including scenes at the same time.
  • the frames acquired by the two cameras are determined to be asynchronous frames that do not include the scene at the same time.
  • capturing a synchronized frame with a plurality of cameras is called synchronized capturing.
  • FIG. 5 is a block diagram showing an example of the three-dimensional reconstruction system according to the present embodiment.
  • a three-dimensional reconstruction system 1 shown in FIG. 5 includes a plurality of cameras 100-1 to 100-n and a three-dimensional reconstruction device 200.
  • the plurality of cameras 100-1 to 100-n capture a subject and output a multi-viewpoint image that is a plurality of captured images.
  • the transmission of the multi-view video may be performed via either a public communication network such as the Internet or a dedicated communication network.
  • the plurality of cameras 100-1 to 100-n is an example of a plurality of imaging devices.
  • the multi-viewpoint video may be once stored in an external storage device such as a hard disk drive (HDD) or a solid state drive (SSD) and input to the three-dimensional reconstruction device 200 when necessary.
  • the multi-viewpoint video is once transmitted to an external storage device such as a cloud server via a network and stored. Then, it may be transmitted to the three-dimensional reconstruction device 200 when necessary.
  • each of the n cameras 100-1 to 100-n is a fixed camera such as a surveillance camera. That is, the n cameras 100-1 to 100-n are, for example, fixed cameras that are fixed in different postures at different positions. In addition, n is an integer of 2 or more. The n cameras 100-1 to 100-n may not be all fixed cameras, but may include non-fixed cameras that are not fixed and can move.
  • camera identification information such as a camera ID that identifies the photographed camera may be added to the multi-view video as header information of the video or frame.
  • Synchronous shooting for shooting a subject at the same time in each frame may be performed using a plurality of cameras 100-1 to 100-n.
  • the time of clocks built in the plurality of cameras 100-1 to 100-n may be set, and shooting time information may be added for each video or frame without synchronous shooting, and an index number indicating the shooting order may be set. It may be added.
  • Information indicating whether the video is taken synchronously or asynchronously for each video set, video, or frame of the multi-view video may be added as header information.
  • the three-dimensional reconstruction device 200 includes a reception unit 210, a storage unit 220, an acquisition unit 230, a three-dimensional reconstruction unit 240, and a transmission unit 250.
  • FIG. 6 is a flowchart showing an example of the operation of the three-dimensional reconstruction apparatus 200 according to the present embodiment.
  • the receiving unit 210 receives multi-view images captured by a plurality of cameras 100-1 to 100-n (S101).
  • the storage unit 220 stores the received multi-view video (S102).
  • the acquisition unit 230 selects a frame from the multi-view video and outputs it to the three-dimensional reconstruction unit 240 as a multi-view frame set (S103).
  • the multi-viewpoint frame set may be configured by a plurality of frames selected one frame at a time from all viewpoint videos, or may be configured by a plurality of frames selected by at least one frame from all viewpoint videos.
  • Two or more viewpoint videos may be selected from the multi-view videos, and may be composed of a plurality of frames selected from the selected videos one by one, or two or more viewpoint videos may be selected from the multi-view videos. It may be composed of a plurality of frames selected and selected from at least one frame from each selected video.
  • the acquisition unit 230 may add the camera specifying information individually to the header information of each frame, or the multi-view frame set The header information may be added collectively.
  • the acquisition unit 230 adds the shooting time or the index number individually to the header information of each frame. Alternatively, it may be added collectively to the header information of the frame set.
  • the 3D reconstruction unit 240 generates a 3D model by executing camera calibration processing and 3D modeling processing using the multi-viewpoint frame set (S104).
  • steps S103 and S104 are repeated for each multi-viewpoint frame set.
  • the transmission unit 250 transmits at least one of the camera parameters and the three-dimensional model of the subject to the external device (S105).
  • FIG. 7 is a diagram illustrating an example of a multi-view frame set.
  • the acquisition unit 230 determines a multi-view frame set by selecting one frame at a time from five cameras 100-1 to 100-5.
  • each frame is assigned camera IDs 100-1 to 100-5 that identify the photographed camera.
  • frame numbers 001 to N indicating the shooting order in each camera are assigned to the header information of each frame, and frames having the same frame number between the cameras indicate that the subject at the same time was shot. Show.
  • the acquisition unit 230 sequentially outputs the multi-viewpoint frame sets 200-1 to 200-n to the three-dimensional reconstruction unit 240.
  • the 3D reconstruction unit 240 sequentially performs 3D reconstruction using the multi-viewpoint frame sets 200-1 to 200-n through repetitive processing.
  • the multi-viewpoint frame set 200-1 includes the frame number 001 of the camera 100-1, the frame number 001 of the camera 100-2, the frame number 001 of the camera 100-3, the frame number 001 of the camera 100-4, and the camera 100-5. It consists of five frames with frame number 001.
  • the three-dimensional reconstruction unit 240 uses the multi-view frame set 200-1 as a set of the first frames of the multi-view video in the iterative process 1 so that the three-dimensional model at the time when the frame number 001 is captured is used. Reconfigure.
  • the multi-view frame set 200-2 includes the frame number 002 of the camera 100-1, the frame number 002 of the camera 100-2, the frame number 002 of the camera 100-3, the frame number 002 of the camera 100-4, and the camera 100-5. It consists of five frames with frame number 002.
  • the three-dimensional reconstruction unit 240 reconstructs the three-dimensional model at the time when the frame number 002 is captured by using the multi-viewpoint frame set 200-2 in the repetition process 2.
  • the frame number is updated in all the cameras in the same manner after the repetition process 3 and thereafter.
  • the three-dimensional reconstruction unit 240 can reconstruct the three-dimensional model at each time.
  • a shooting time is given to each frame, and the acquisition unit 230 creates a multi-view frame set that combines a synchronous frame and an asynchronous frame based on the shooting time.
  • the acquisition unit 230 creates a multi-view frame set that combines a synchronous frame and an asynchronous frame based on the shooting time.
  • the shooting time of the frame selected from the camera 100-1 is T1
  • the shooting time of the frame selected from the camera 100-2 is T2
  • the exposure time of the camera 100-1 is TE1
  • the exposure time of the camera 100-2 is TE2.
  • the photographing times T1 and T2 indicate the time when the exposure is started in the examples of FIGS. 3 and 4, that is, the rising time of the rectangular signal.
  • the exposure end time of the camera 100-1 is T1 + TE1.
  • the two cameras are photographing subjects at the same time, that is, at timings corresponding to each other, and the two frames are synchronized. It is determined as a frame.
  • the frame corresponding to the timing at a certain time t1 may be a frame imaged at a timing included in a time having a width of several tens of msec with respect to the time t1.
  • FIG. 8 is a block diagram illustrating an example of the structure of the three-dimensional reconstruction unit 240.
  • the three-dimensional reconstruction unit 240 includes a control unit 241, a camera calibration unit 310, and a three-dimensional modeling unit 311.
  • the control unit 241 determines the optimum number of viewpoints in each process in the camera calibration unit 310 and the three-dimensional modeling unit 311.
  • the number of viewpoints determined here indicates the number of different viewpoints.
  • the control unit 241 determines the number of viewpoints of the multi-view frame set used in the three-dimensional modeling process in the three-dimensional modeling unit 311 to be, for example, the same number as the n cameras 100-1 to 100-n, that is, n. Then, the control unit 241 determines the number of viewpoints of the multi-view frame set used for the camera calibration process, which is another process, based on the viewpoint number n in the three-dimensional modeling process.
  • FIG. 9 is a flowchart showing an example of the operation of the three-dimensional reconstruction unit 240. In the process shown in FIG. 9, a multi-view frame set having the number of viewpoints determined by the control unit 241 is used.
  • the camera calibration unit 310 uses a plurality of cameras 100-1 to 100- 100 using n frames captured at different n viewpoints by n cameras 100-1 to 100-n arranged at different positions. n camera parameters are calculated (S310).
  • the n viewpoints are based on the number of viewpoints determined by the control unit 241.
  • the camera calibration unit 310 calculates internal parameters, external parameters, and lens distortion coefficients of the plurality of cameras 100-1 to 100-n as camera parameters.
  • the internal parameters indicate the characteristics of the optical system such as the camera focal length, aberration, and image center.
  • the external parameter indicates the position and orientation of the camera in the three-dimensional space.
  • the camera calibration unit 310 separately sets internal parameters, external parameters, and lens distortion coefficients using n frames obtained by a plurality of cameras 100-1 to 100-n photographing black and white intersections of the checker board.
  • internal parameters, external parameters, and lens distortion coefficients may be calculated collectively using corresponding points between n frames, and overall optimization may be performed.
  • the n frames in the latter case may not be an image obtained by capturing the checker board.
  • the camera calibration unit 310 performs camera calibration processing using n frames obtained by the n cameras 100-1 to 100-n.
  • camera calibration processing the larger the number of cameras, the closer the distance between the cameras, and the closer the field of view of multiple cameras at close distances, making it easier to associate multiple frames obtained from multiple cameras at close distances Become.
  • the camera calibration unit 310 may not always perform the camera calibration process in step S310 in the three-dimensional reconstruction process in the three-dimensional reconstruction unit 240, and every time the three-dimensional reconstruction process is performed a predetermined number of times. It may be performed once.
  • the three-dimensional modeling unit 311 uses the n frames captured by each of the n cameras 100-1 to 100-n and the camera parameters obtained in the camera calibration process to use the imaging space 1000. Is reconstructed as a three-dimensional model composed of a three-dimensional point group that is a set of three-dimensional points (S311).
  • the n frames used in the three-dimensional modeling process are images captured by each of the n cameras 100-1 to 100-n at an arbitrary timing. That is, an n-view multi-view frame set formed by n frames is a multi-view frame set obtained by synchronous shooting.
  • FIG. 10 is a block diagram illustrating an example of the structure of the three-dimensional modeling unit 311.
  • FIG. 11 is a diagram for explaining the three-dimensional patch.
  • FIG. 12 is a flowchart illustrating an example of the operation of the three-dimensional modeling unit 311.
  • each block of the three-dimensional modeling unit 311 will be described with reference to FIG. 10, and the flow of processing performed in each block will be described with reference to FIG.
  • the three-dimensional modeling unit 311 includes an initial generation unit 410, an expansion unit 411, and a filtering unit 412.
  • the initial generation unit 410 performs first generation for generating an initial three-dimensional model composed of a sparse three-dimensional point group by associating feature points between frames (S411).
  • the process of associating feature points between frames is also referred to as matching.
  • the initial generation unit 410 generates a plurality of three-dimensional points by performing matching between a plurality of feature points respectively included in a plurality of frames. Thereby, the initial generation unit 410 generates an initial three-dimensional model including a sparse three-dimensional point group including a plurality of generated three-dimensional points.
  • the initial generation unit 410 generates, as a plurality of three-dimensional points, a plurality of three-dimensional patches each indicating a three-dimensional position of a point on the surface of the subject and a normal direction perpendicular to the surface at the point.
  • the sparse three-dimensional point group is an example of the first three-dimensional point group.
  • Each of the plurality of three-dimensional points includes a three-dimensional position, a normal direction, a visible frame that is a frame in which the three-dimensional point is seen, and a projection point (two (Dimensional point) may be included.
  • Each of the plurality of three-dimensional patches may be represented by a three-dimensional vector having a three-dimensional position constituted by an x coordinate, a y coordinate, and a z coordinate, and a normal direction. Specifically, as shown in FIG. 11, the three-dimensional patch is approximated by a small plane centered on a small area c on the surface of the subject (object) at the three-dimensional position c with the three-dimensional position c as a reference. It may be expressed as a direction in a three-dimensional space as a vector indicating the normal of the facet.
  • step S411 The detailed process of the first generation in step S411 will be described later with reference to FIGS.
  • the three-dimensional modeling unit 311 repeats the loop 1 at an arbitrary number of times.
  • steps S412 and S413 are performed.
  • the extension unit 411 generates an extended three-dimensional model composed of dense three-dimensional point groups by expanding the sparse three-dimensional point group constituting the initial three-dimensional model and increasing the three-dimensional points ( S412).
  • the extension unit 411 generates a new three-dimensional point using the plurality of frames and the three-dimensional point group of the initial three-dimensional model generated by the first generation, and uses the generated three-dimensional point as the initial three-dimensional model.
  • the second generation to be added to the three-dimensional point group is performed.
  • the dense three-dimensional point group is an example of a second three-dimensional point group.
  • step S412 The detailed processing of the second generation in step S412 will be described later with reference to FIGS.
  • the filtering unit 412 removes outliers using a predetermined method from the dense three-dimensional point group constituting the expanded three-dimensional model generated by the expanding unit 411 (S413).
  • the 3D modeling unit 311 outputs the 3D model from which the outliers are removed. In this way, the three-dimensional model is reconstructed by the three-dimensional modeling unit 311.
  • FIG. 13 is a block diagram illustrating an example of the structure of the initial generation unit 410.
  • FIG. 14 is a flowchart illustrating an example of the operation of the initial generation unit 410.
  • each block of the initial generation unit 410 will be described with reference to FIG. 13 and the flow of processing performed in each block will be described with reference to FIG.
  • the initial generation unit 410 includes a similarity calculation unit 510, a feature point detection unit 511, a switching unit 512, a feature point correspondence unit 513, an evaluation unit 514, a patch calculation unit 515, a frame selection unit 516, and an optimum A conversion unit 517, a corresponding point candidate selection unit 518, a candidate patch calculation unit 519, a frame selection unit 520, an optimization unit 521, and an evaluation unit 522.
  • the feature point detection unit 511 detects each feature point of n frames captured by each of the n cameras 100-1 to 100-n (S511).
  • the feature points detected for each of the n frames may be temporarily stored in a memory (not shown).
  • loop 2 is performed in which the processing of steps S512 to S522 is repeated for each of n frames imaged at the corresponding timing. Specifically, the loop 2 selects one frame out of n frames as a reference frame, and selects the selected reference frame and n ⁇ 1 frames obtained by removing the reference frame from the n frames. A plurality of sets with each of the above are generated, and each of the generated sets is executed. That is, loop 2 is executed for each of all possible combinations when two of the n frames are selected. Loop 2 is an example of a first loop.
  • the switching unit 512 determines whether or not the fields of view of the two cameras that respectively image two frames of the combination to be processed are similar to each other (S512). In addition, it shows that both are more similar, so that the similarity of the visual field between the two cameras used by this determination is a large value.
  • an index indicating that the smaller the value is, the more similar the two may be used. For example, the reciprocal number of the index may be used as the similarity in this case.
  • an index indicating that the closer to 1, the more similar to both may be used.
  • the similarity for example, if the index is smaller than 0, a value multiplied by 100 may be used, and if the index is larger than 1, a value obtained by multiplying the reciprocal of 100 by 100 is used. May be.
  • the similarity is calculated by the similarity calculation unit 510.
  • FIGS. 15A and 15B are diagrams for explaining an index used for the visual field similarity between two cameras.
  • the index used for the similarity of the visual field between the two cameras is the convergence angle ⁇ , which is the angle formed by the two optical axes of the two cameras. Good.
  • the index used for the visual field similarity between the two cameras may be the distance d between the two cameras.
  • Each of the convergence angle ⁇ and the distance d can be used as an index indicating that the smaller the value is, the more similar the two are.
  • the index used for the similarity of the field of view between the two cameras may be the first ratio ⁇ 1 / ⁇ 2 of the field angles ⁇ 1 and ⁇ 2 of the two cameras.
  • the index used for the visual field similarity between the two cameras may be the second ratio s1 / s2 of the sensor sizes s1, s2 of the two cameras.
  • the index used for the visual field similarity between the two cameras may be a third ratio f1 / f2 of the focal lengths f1 and f2 of the two cameras.
  • Each of the first ratio ⁇ 1 / ⁇ 2, the second ratio s1 / s2, and the third ratio f1 / f2 can be used as an indicator that the closer the value is to 1, the more similar the two are. .
  • the visual field similarity between the two cameras can be calculated using the camera parameters of the two cameras.
  • the visual field similarity between the two cameras may be indicated by a combination of the convergence angle ⁇ , the distance d, and the ratio ⁇ 1 / ⁇ 2.
  • the similarity of the visual field between two cameras is calculated by a combination of a plurality of indices, the similarity is converted into a value indicating that each index is more similar as the index is larger, It may be a value obtained by weighted addition of each converted value.
  • the switching unit 512 determines that the two cameras are similar when, for example, the similarity between the visual fields of the two cameras is equal to or greater than a predetermined threshold. On the other hand, when the similarity is less than a predetermined threshold, the switching unit 512 determines that the two cameras are not similar.
  • the combination of two frames obtained by two cameras whose visual field similarity is equal to or greater than a predetermined threshold is defined as the first combination, and two cameras whose visual field similarity is less than the predetermined threshold
  • the combination of the two frames obtained by the above is set as the second combination.
  • step S512 If it is determined in step S512 that the fields of view of the two cameras are similar to each other, loop 3 is executed.
  • the loop 3 is executed for each of the plurality of first combinations.
  • the process of loop 3 is two or more first frames out of the n frames, and the visual field similarity among the plurality of cameras 100-1 to 100-n is two or more.
  • First matching is performed between two or more first frames for a plurality of feature points in each of two or more first frames obtained by the first camera, and one or more feature points are obtained based on the obtained first matching results. It is an example of the process which produces
  • the first camera is an example of a first imaging device
  • the first frame is an example of a first image.
  • loop 4 is executed.
  • the loop 4 is executed for each of the plurality of second combinations.
  • the process of loop 4 is two or more second cameras having two or more frames out of the n frames and having a visual field similarity of a plurality of cameras 100-1 to 100-n less than a predetermined threshold.
  • a second matching with a lower accuracy than the first matching is performed between the two or more second frames for a plurality of feature points in each of the two or more second frames respectively obtained by This is an example of processing for generating one or more second three-dimensional points.
  • the second camera is an example of a second imaging device, and the second frame is an example of a second image.
  • FIG. 16 is a diagram for describing processing by the feature point correspondence unit 513.
  • FIG. 17 is a diagram for explaining processing by the patch calculation unit 515.
  • FIG. 18 is a diagram for explaining processing by the frame selection unit 516.
  • FIG. 19 is a diagram for explaining processing by the optimization unit 517.
  • Loop 3 is performed for each of a plurality of feature points included in the reference frame, which is one of the two frames of the first combination to be processed, and steps S513 to S517 are performed. Loop 3 is an example of a second loop.
  • the plurality of feature points used here are a plurality of feature points detected by the feature point detection unit 511 for every n frames.
  • the feature point correspondence unit 513 uses the other frame (that is, the reference) of the first combination to be processed as the corresponding point P2 corresponding to the feature point P1 to be processed. It is calculated with the decimal pixel accuracy from another frame I2) different from the frame I1 (S513).
  • the feature point correspondence unit 513 corresponds to the feature point P1 of the reference frame I1 by performing high-precision first matching with decimal pixel precision as in the phase-only correlation method described in Non-Patent Document 1, for example.
  • the corresponding point P2 is calculated from the other frame I2.
  • Corresponding point P2 is an example of a first corresponding point.
  • step S514 the evaluation unit 514 evaluates the corresponding point P2 calculated by the feature point corresponding unit 513 (S514).
  • the evaluation unit 514 determines whether or not the evaluation value obtained by the evaluation is greater than or equal to the first evaluation value. If the evaluation value is greater than or equal to the first evaluation value, the evaluation unit 514 uses the corresponding point P2 later. It is determined that the three-dimensional patch calculated by the patch calculation unit 515 is added to the three-dimensional point group. In this case, after this, the next step S515 is executed. On the other hand, when the evaluation value is less than the first evaluation value, steps S513 to S571 are executed for the next feature point without executing the processing of subsequent steps S515 to S517. Specifically, the evaluation unit 514 calculates the peak value of the evaluation function of the phase only correlation method as the evaluation value.
  • step S515 the patch calculation unit 515 performs processing on the feature point P1 to be processed, the corresponding point P2 calculated by the feature point corresponding unit 513, and the camera of the camera from which the reference frame I1 is obtained.
  • the three-dimensional position of the three-dimensional patch p1 is calculated by triangulation using the parameters and the camera parameters of the camera from which the other frame I2 was obtained (S515).
  • the patch calculation unit 515 temporarily uses a direction parallel to a straight line connecting the three-dimensional position of the camera from which the reference frame I1 is obtained and the three-dimensional position of the three-dimensional patch p1 as a temporary normal direction of the three-dimensional patch p1. To decide.
  • the camera from which one frame I1 is obtained is an example of a third imaging device.
  • the camera from which the other frame I2 is obtained is an example of a fourth imaging device.
  • the three-dimensional patch p1 calculated here is an example of the first three-dimensional patch.
  • step S516 the frame selection unit 516 uses the patch calculation unit 515 to select a plurality of frames other than the first combination frames I1 and I2 to be processed from the plurality of first frames.
  • One or more first visible frames I3 in which the calculated three-dimensional patch p1 is reflected are specified.
  • the frame selection unit 516 projects the three-dimensional patch p1 for each of the specified one or more first visible frames I3 using the camera parameters of the camera from which the first visible frame I3 was obtained.
  • a projection point P3 that is a two-dimensional point in the first visible frame I3 is calculated (S516).
  • one first visible frame I3 is shown, but a plurality of first visible frames I3 may be specified.
  • each of the plurality of first visible frames I3 is specified.
  • a projection point P3 is calculated for.
  • the first visible frame I3 is an example of a first visible image.
  • the camera from which the first visible frame I3 is obtained is an example of a fifth imaging device.
  • the projection point P3 is an example of a first two-dimensional point.
  • step S517 the optimization unit 517 uses the three-dimensional patch p1 calculated by the patch calculation unit 515 and one or more projection points P3 calculated by the frame selection unit 516.
  • the normal direction of the three-dimensional patch p1 is corrected so that the evaluation value representing the projection consistency is minimized, and the corrected three-dimensional patch p2 is generated as the first three-dimensional point (S517).
  • the optimization unit 517 fixes the normal direction of the three-dimensional patch p1 and the correspondence on the other frame I2 while fixing the position of the feature point P1 of the reference frame I1 and the three-dimensional position of the three-dimensional patch p1.
  • the position of the point P2 and the position of the projection point P3 of the first visible frame I3 are optimized.
  • the optimization unit 517 performs normalized cross correlation (NCC) between small regions around feature points in a combination of the reference frame I1, each of the other frame I2 and one or more first visible frames I3 with N (I , J, p) and is calculated using Equation 3. Then, the calculated total value of NCC is set as an evaluation value indicating the consistency of projection of the three-dimensional patch p2 onto the visible camera.
  • the visible camera is a camera from which each of the other frame I2 and one or more first visible frames I3 is obtained, and is a camera that captures the three-dimensional patch p2.
  • the calculated three-dimensional patch p2 indicates the three-dimensional position, the normal direction, the other frame I2 that is a visible frame in which the three-dimensional patch p2 is photographed, and one or more first visible frames I3. Visible frame information.
  • the calculated three-dimensional patch p2 is stored in the memory as the first three-dimensional point.
  • the first matching that matches feature points with high accuracy for two frames of the first combination obtained by two cameras having a visual field similarity equal to or greater than a predetermined threshold value. Is used to calculate the three-dimensional position of the three-dimensional point. For this reason, the error of a three-dimensional position can be reduced. In addition, since the error at the start of the processing of the optimization unit 517 is small and the number of parameters can be reduced, convergence by optimization can be accelerated and the processing time can be shortened.
  • FIG. 20 is a diagram for explaining processing by the corresponding point candidate selection unit 518 and the candidate patch calculation unit 519.
  • FIG. 21 is a diagram for explaining processing by the frame selection unit 520. 22 and 23 are diagrams for explaining the processing by the optimization unit 521.
  • FIG. 20 is a diagram for explaining processing by the corresponding point candidate selection unit 518 and the candidate patch calculation unit 519.
  • FIG. 21 is a diagram for explaining processing by the frame selection unit 520.
  • 22 and 23 are diagrams for explaining the processing by the optimization unit 521.
  • Loop 4 is performed for each of the plurality of feature points included in the reference frame, which is one of the two frames of the second combination to be processed, and steps S518 to S522 are performed. Loop 4 is an example of a third loop.
  • the plurality of feature points used here are a plurality of feature points detected by the feature point detection unit 511 for every n frames.
  • the second matching a plurality of feature points calculated in each of the two frames are used between two frames of the second combination to be processed, and camera parameters of the two cameras from which the two frames are obtained are used.
  • the matching process is based on the geometric consistency between the reference frame I11 and the other frame I12.
  • the corresponding point candidate selection unit 518 uses the camera parameter of the camera from which the reference frame I11 is obtained and the camera parameter of the camera from which the other frame I12 is obtained, and the feature point P11 of the reference frame I11.
  • An epipolar line L1 is drawn on another frame I12.
  • the corresponding point on the other frame I12 with respect to the feature point P11 of the reference frame I11 exists on the epipolar line L1 drawn on the other frame I12.
  • one or more feature points whose distance from the epipolar line L1 is not more than an arbitrary threshold value are calculated as corresponding point candidates P12.
  • the corresponding point candidate P12 is an example of a second corresponding point.
  • loop 5 is executed for each of the one or more corresponding point candidates obtained in step S518.
  • steps S519 to S522 are performed.
  • step S519 the candidate patch calculation unit 519 performs processing target feature point P11, processing target corresponding point candidate P12, camera parameters of the camera from which the reference frame I11 is obtained, and the like.
  • the three-dimensional position and normal direction of the three-dimensional patch p11 are calculated using the camera parameters of the camera from which the frame I12 is obtained (S519).
  • the candidate patch calculation unit 519 calculates the three-dimensional position of the three-dimensional patch p11 by triangulation using the camera parameters for the feature point P11 of the reference frame I11 and the corresponding point candidate P12 of the other frame I12.
  • the candidate patch calculation unit 519 determines the direction of a straight line connecting the three-dimensional position coordinates of the camera that has captured the reference frame I11 and the three-dimensional position of the three-dimensional patch p11 as the temporary normal direction of the three-dimensional patch p11. As temporarily determined.
  • the camera from which one frame I11 is obtained is an example of a sixth imaging device.
  • the camera from which the other frame I12 is obtained is an example of a seventh imaging device.
  • the three-dimensional patch p2 calculated here is an example of a second three-dimensional patch.
  • step S520 the frame selection unit 520 selects a candidate patch calculation unit 519 from a plurality of frames excluding the second combination frames I11 and I12 to be processed among the plurality of second frames.
  • the one or more second visible frames I13 in which the three-dimensional patch p11 calculated by the above is reflected are specified.
  • the frame selection unit 520 projects the three-dimensional patch p11 for each of the specified one or more second visible frames I13 using the camera parameters of the camera from which the second visible frame I13 was obtained.
  • a projection point P13 which is a two-dimensional point in the second visible frame I13 is calculated (S520).
  • one second visible frame I13 is shown, but a plurality of second visible frames I13 may be specified.
  • each of the plurality of second visible frames I13 is specified.
  • a projection point P13 is calculated for.
  • the second visible frame I13 is an example of a second visible image.
  • the camera from which the second visible frame I13 is obtained is an example of an eighth imaging device.
  • the projection point P13 is an example of a second two-dimensional point.
  • the optimization unit 521 includes the three-dimensional patch p11 calculated by the candidate patch calculation unit 519 and one or more projection points P13 calculated by the frame selection unit 520. Are used to correct the three-dimensional position and normal direction of the three-dimensional patch p11, the position of the corresponding point candidate P12, and the position of one or more projection points P13 so that the evaluation value indicating the projection consistency is minimized. Then, the corrected three-dimensional patch p12 is generated as the second three-dimensional point (S521).
  • the optimization unit 521 fixes the three-dimensional position and normal direction of the three-dimensional patch p11 and the position of the corresponding point candidate P12 on the other frame I12 while fixing the position of the feature point P11 of the reference frame I11. And the position of the projection point P13 of the second visible frame I13 is optimized.
  • the optimization unit 521 moves the three-dimensional position of the three-dimensional patch p11 so as not to deviate from the straight line connecting the three-dimensional position of the camera from which the reference frame I11 is obtained and the three-dimensional position of the three-dimensional patch p11.
  • the optimization unit 521 converts the normalized cross correlation (NCC) between the small regions around the feature points to N (I , J, p) and is calculated using the above-described equation 3. Then, the calculated total value of NCC is used as an evaluation value indicating the consistency of projection of the three-dimensional patch p12 onto the visible camera.
  • the visible camera is a camera from which each of the other frame I12 and one or more second visible frames I13 is obtained, and is a camera that captures the three-dimensional patch p12.
  • the calculated three-dimensional patch p12 shows a three-dimensional position, a normal direction, another frame I12 that is a visible frame in which the three-dimensional patch p12 is photographed, and one or more second visible frames I13. Visible frame information.
  • the three-dimensional position and normal direction of the three-dimensional patch p11, the position of the corresponding point candidate P12 on the other frame I12, and one or more projection points P13 on one or more second visible frames I13 The value of each parameter that maximizes the total value of N (I, J, p) or minimizes 1- ⁇ total value of N (I, J, p) ⁇ while slightly shifting the position of Is calculated.
  • the three-dimensional patch p12 in which the three-dimensional position and the normal direction of the three-dimensional patch p11 are optimized is obtained, and the corresponding point candidate P12a in which the position of the corresponding point candidate P12 on the other frame I12 is optimized.
  • a projection point P13a in which the positions of one or more projection points P13 on one or more second visible frames I13 are optimized is obtained.
  • step S522 the evaluation unit 522 determines that the total value of N (I, J, p) after optimization is greater than or equal to an arbitrary threshold value, or 1 ⁇ ⁇ the total value of N (I, J, p) ⁇ is arbitrary. It is determined whether or not the threshold value is equal to or less than the threshold value, and the total value of N (I, J, p) after optimization is equal to or greater than an arbitrary threshold value, or 1 ⁇ ⁇ the total value of N (I, J, p) ⁇ is If it is equal to or less than the arbitrary threshold value, the calculated three-dimensional patch p12 is stored in the memory as the second three-dimensional point.
  • the second matching based on the geometric matching is performed on two frames of the second combination obtained by two cameras having a visual field similarity less than a predetermined threshold. Since the three-dimensional point group is generated using, it is possible to reduce the generation of low-precision three-dimensional points and the time required for processing.
  • the three-dimensional patch p1 is generated by performing the loop 3
  • the three-dimensional patch p12 is generated by performing the loop 4.
  • a sparse three-dimensional point group is generated, and an initial three-dimensional model composed of the sparse three-dimensional point group is generated.
  • FIG. 24 is a block diagram illustrating an example of the structure of the extension unit 411.
  • FIG. 25 is a flowchart illustrating an example of the operation of the extension unit 411.
  • each block of the extension unit 411 will be described with reference to FIG. 24, and the flow of processing performed in each block will be described with reference to FIG.
  • the expansion unit 411 includes a switching unit 611, a correspondence unit 612, an evaluation unit 613, a patch calculation unit 614, a frame selection unit 615, an optimization unit 616, a candidate patch calculation unit 617, and a frame selection unit 618. , An optimization unit 619 and an evaluation unit 620 are provided.
  • a loop 6 is performed in which the processes of steps S611 to S620 are repeated for each of the n frames imaged at the corresponding timing.
  • loop 6 the following is executed. Specifically, the loop 6 selects one frame out of n frames as a reference frame, and selects the selected reference frame and n ⁇ 1 frames obtained by removing the reference frame from the n frames. A plurality of sets with each of the above are generated, and each of the generated sets is executed. That is, the loop 6 is executed for each of all combinations that can be taken when two of the n frames are selected.
  • the loop 6 is an example of a fifth loop.
  • the switching unit 611 determines whether or not the fields of view of the two cameras that respectively image two frames of the combination to be processed are similar to each other (S611). Note that the visual field similarity between the two cameras used in this determination is the same value as the similarity used in step S512. That is, the similarity calculated by the similarity calculation unit 510 is used.
  • the switching unit 611 acquires the similarity calculated by the similarity calculation unit 510 of the initial generation unit 410 from the initial generation unit 410, and performs the determination in step S611 using the acquired similarity.
  • loop 7 is executed.
  • the loop 7 is executed for each of a plurality of third 3D points constituting a sparse 3D point group.
  • the processing of the loop 7 is performed for each of a plurality of neighboring three-dimensional points in the vicinity of the plurality of third three-dimensional points, based on the neighboring three-dimensional points and two or more first frames, with two or more first matchings. It is an example of the process which produces
  • loop 8 is executed. For each of a plurality of neighboring three-dimensional points in the vicinity of a plurality of third three-dimensional points constituting a sparse three-dimensional point group, the loop 8 is based on the neighboring three-dimensional points and two or more second frames. It is an example of the process which performs 2nd matching between 2 or more 2nd frames, and produces
  • FIG. 26 is a diagram for explaining the processing by the extension unit 411.
  • FIG. 27 is a diagram for explaining the processing by the correspondence unit 612.
  • FIG. 28 is a diagram for describing processing performed by the evaluation unit 613 and the patch calculation unit 614.
  • FIG. 29 is a diagram for explaining processing by the frame selection unit 615.
  • FIG. 30 is a diagram for explaining the processing by the optimization unit 616.
  • the process is performed for each of the plurality of third 3D points, and the 3D points are expanded (increased) based on the reference patch p21 that is the third 3D point. Processing is performed.
  • the loop 7 is an example of a sixth loop. Further, the processing of the loop 7 is performed in each of one or more visible frames in which the reference patch p21 to be processed is reflected.
  • the process of the loop 7 may be performed in units of pixels of each frame, or may be performed in units of small areas composed of 2 ⁇ 2 pixels, for example. That is, one three-dimensional point may be generated for a processing unit. This processing unit is called a cell.
  • a cell is indicated by one cell in frames I21 to I23 in FIGS.
  • the extension will be described as an example using the frame I22 as a reference frame.
  • the correspondence unit 612 calculates the projection point P22 in the reference frame I22 by projecting the reference patch p21 to be processed onto the reference frame I22 in the first combination to be processed. . Then, the corresponding unit 612 performs the first matching, and among the plurality of cells constituting the reference frame I22, the two-dimensional in the second cell C22a adjacent to the first cell C22 including the specified projection point P22. The corresponding point P23a corresponding to the point P22a is calculated with the decimal pixel accuracy from the other frame I23 in the first combination to be processed (S612).
  • the correspondence unit 612 performs the first matching with high precision with decimal pixel accuracy as in the phase-only correlation method described in Non-Patent Document 1, thereby corresponding to the two-dimensional point P22a of the reference frame I22.
  • a point P23a is calculated from another frame I23.
  • the corresponding point P23a is an example of a third corresponding point.
  • step S612 the corresponding points are calculated for the other frame I23 that is paired with the reference frame I22 in the first combination, but the present invention is not limited to this.
  • the calculation of the corresponding points corresponding to the two-dimensional point P22a in the second cell C22a of the reference frame I22 may be performed for all of the plurality of visible frames in which the reference patch p21 is reflected, or the reference frame I22 is imaged. This may be performed on a neighboring frame imaged by a camera in the vicinity of the captured camera, or a camera having a high visual field similarity with the camera on which the reference frame I22 is imaged among all the frames other than the reference frame It may be performed on the frame imaged by.
  • step S613 the evaluation unit 613 evaluates the corresponding point P23a calculated in the corresponding unit 612 (S613).
  • the evaluation unit 613 determines whether or not the evaluation value obtained by the evaluation is equal to or higher than the first evaluation value, and when the evaluation value is equal to or higher than the second evaluation value, the corresponding point P23a is used later. It is determined that the three-dimensional patch calculated by the patch calculation unit 614 is added to the three-dimensional point group. In this case, after this, the next step S614 is executed. On the other hand, when the evaluation value is less than the first evaluation value, the subsequent steps S614 to S616 are not executed, and the next two-dimensional points in the cell different from the first cell and the second cell are stepped. Steps S612 to S616 are executed. Specifically, the evaluation unit 613 calculates the peak value of the evaluation function of the phase only correlation method as the evaluation value.
  • step S614 the patch calculation unit 614 performs the two-dimensional point P22a, the corresponding point P23a calculated by the corresponding unit 612, the camera parameters of the camera from which the reference frame I22 is obtained, and the like.
  • the three-dimensional position of the three-dimensional patch q21 is calculated by triangulation using the camera parameters of the camera from which the frame I23 is obtained (S614).
  • the three-dimensional patch q21 is an example of a neighboring three-dimensional point.
  • the patch calculation unit 614 temporarily uses a direction parallel to a straight line connecting the three-dimensional position of the camera from which the reference frame I22 is obtained and the three-dimensional position of the three-dimensional patch q21 as a temporary normal direction of the three-dimensional patch q21.
  • the obtained three-dimensional patch q21 since it has already been determined to be added as a dense three-dimensional point group, it may be stored in the memory as a new first three-dimensional point.
  • the camera from which the reference frame I22 is obtained is an example of a ninth imaging device.
  • the camera from which the other frame I23 is obtained is an example of a tenth imaging device.
  • the three-dimensional patch q21 calculated here is an example of a third three-dimensional patch.
  • step S615 the frame selection unit 615 uses the patch calculation unit 614 to select a plurality of frames other than the first combination frames I22 and I23 to be processed from the plurality of first frames.
  • One or more third visible frames I21 in which the calculated three-dimensional patch q21 is reflected are specified.
  • the frame selection unit 615 projects the three-dimensional patch q21 for each of the specified one or more third visible frames I21 using the camera parameters of the camera from which the third visible frame I21 is obtained.
  • a projection point P21a which is a two-dimensional point in the third visible frame I21 is calculated (S615).
  • one third visible frame I21 is shown, but a plurality of third visible frames I21 may be specified.
  • each of the plurality of third visible frames I21 is specified.
  • a projection point P21a is calculated for.
  • the third visible frame I21 is an example of a third visible image.
  • the camera from which the third visible frame I21 is obtained is an example of an eleventh imaging device.
  • the projection point P21a is an example of a fifth two-dimensional point.
  • step S616 the optimization unit 616 uses the three-dimensional patch q21 calculated by the patch calculation unit 614 and one or more projection points P21a calculated by the frame selection unit 615.
  • the normal direction of the three-dimensional patch q21 is corrected so that the evaluation value representing the projection consistency is minimized, and the corrected three-dimensional patch q22 is generated as a new first three-dimensional point (S616).
  • the optimization unit 616 fixes the position of the two-dimensional point P22a of the reference frame I22 and the three-dimensional position of the three-dimensional patch q21 while fixing the normal direction of the three-dimensional patch q21 and other frames I23.
  • the position of the corresponding point P23a and the position of the projection point P21a of the third visible frame I21 are optimized.
  • the optimization unit 616 converts the normalized cross correlation (NCC) between the small regions around the feature points to N (I , J, p) and is calculated using Equation 3. Then, the calculated total value of NCC is set as an evaluation value indicating the consistency of projection of the three-dimensional patch q22 onto the visible camera.
  • the visible camera is a camera from which each of the other frame I23 and one or more third visible frames I21 is obtained, and is a camera that captures the three-dimensional patch q22.
  • the calculated three-dimensional patch q22 shows a three-dimensional position, a normal direction, another frame I23 that is a visible frame in which the three-dimensional patch q22 is photographed, and one or more third visible frames I21. Visible frame information.
  • the calculated three-dimensional patch q22 is stored in the memory as a new first three-dimensional point.
  • the first matching that matches feature points with high accuracy with respect to two frames of the first combination obtained by two cameras having a visual field similarity equal to or greater than a predetermined threshold value. Is used to calculate the three-dimensional position of the three-dimensional point. Therefore, the error of the three-dimensional position can be reduced. Further, since the error at the start of the process of the optimization unit 616 is small and the number of parameters can be reduced, convergence by optimization can be accelerated and the processing time can be shortened.
  • FIG. 31 is a diagram for explaining the processing by the extension unit 411.
  • FIG. 32 is a diagram for explaining processing by the candidate patch calculation unit 617.
  • FIG. 33 is a diagram for explaining the processing by the frame selection unit 618.
  • FIG. 34 is a diagram for explaining processing by the optimization unit 619.
  • FIG. 35 is a diagram for explaining the processing by the evaluation unit 620.
  • the loop 8 is an example of a seventh loop.
  • the process of loop 8 is performed in each of one or more visible frames in which the reference patch p31 to be processed is reflected.
  • the process of the loop 8 may be performed in units of pixels of each frame, or may be performed in units of small areas composed of 2 ⁇ 2 pixels, for example. That is, one three-dimensional point may be generated for a processing unit.
  • This processing unit is called a cell.
  • a cell is indicated by one cell in frames I31 to I33 in FIGS.
  • the extension will be described by taking the frame I32 as a reference frame.
  • step S617 the candidate patch calculation unit 617 projects the reference patch p31 to be processed on the reference frame I32 of the second combination to be processed, thereby projecting the reference frame I32.
  • a point P32 is calculated.
  • the candidate patch calculation unit 617 includes a fourth patch adjacent to the third cell C32 including the identified projection point P32 among the plurality of cells constituting the reference patch plane I31 and the reference patch plane I32 of the reference frame I32.
  • the three-dimensional position of the intersection with the optical axis r of the camera that passes through the two-dimensional point P32a in the cell C32a and from which the reference frame I32 is obtained is calculated as the three-dimensional position of the three-dimensional patch q31 (S617).
  • the three-dimensional patch q31 is an example of a neighboring three-dimensional point.
  • the optical axis r of the camera from which the reference frame I32 is obtained is calculated using the camera parameters of the camera.
  • the candidate patch calculation unit 617 temporarily determines the normal direction of the reference patch p31 as the normal direction of the three-dimensional patch q31.
  • the projection point P32 is an example of a sixth two-dimensional point.
  • the camera from which the reference frame I32 is obtained is an example of a twelfth imaging device.
  • step S618 the frame selection unit 618 selects a candidate patch calculation unit 617 from a plurality of frames excluding the second combination frames I32 and I33 to be processed among the plurality of second frames.
  • the one or more fourth visible frames I31 in which the three-dimensional patch q31 calculated by (1) is reflected are specified.
  • the frame selection unit 618 projects the three-dimensional patch q31 for each of the specified one or more fourth visible frames I31 and I33 using the camera parameters of the camera from which the fourth visible frames I31 and I33 are obtained.
  • the projection points P31a and P33a which are two-dimensional points in the fourth visible frames I31 and I33 are calculated (S618).
  • the fourth visible frames I31 and I33 are shown, but three or more fourth visible frames may be specified. In this case, three or more fourth visible frames are specified. Projection points are calculated for each of.
  • the fourth visible frames I31 and I33 are an example of a fourth visible image.
  • the camera from which the fourth visible frames I31 and I33 are obtained is an example of a thirteenth imaging device.
  • the projection points P31a and P33a are examples of the eighth two-dimensional point.
  • the optimization unit 619 includes the three-dimensional patch q31 calculated by the candidate patch calculation unit 617 and one or more projection points P31a calculated by the frame selection unit 618. Are used to correct the three-dimensional position and normal direction of the three-dimensional patch q31 and the positions of one or more projection points P31a and P33a so that the evaluation value indicating the projection consistency is minimized.
  • a three-dimensional patch q32 is generated as a new second three-dimensional point (S619).
  • the optimization unit 619 fixes the three-dimensional position and normal direction of the three-dimensional patch q31, the projection point P31a of the fourth visible frames I31 and I33 while fixing the position of the two-dimensional point P32a of the reference frame I32. , P33a is optimized.
  • the optimization unit 619 optimizes the three-dimensional position of the three-dimensional patch q31 while moving it so as not to deviate from the optical axis r.
  • the optimization unit 619 converts the normalized cross correlation (NCC) between the small regions around the feature points to N (I, J, p) and calculated using the above-described equation (3).
  • the visible camera is a camera from which one or more fourth visible frames I31 and I33 are obtained, and is a camera that captures the three-dimensional patch q32.
  • the calculated three-dimensional patch q32 is the visible frame information indicating the three-dimensional position, the normal direction, and one or more fourth visible frames I31 and I33 that are visible frames in which the three-dimensional patch q32 is captured. Including.
  • the three-dimensional position and normal direction of the three-dimensional patch q31 and the positions of one or more projection points P31a and P33a on the one or more fourth visible frames I31 and I33 are slightly displaced, while N
  • the value of each parameter is calculated so that the total value of (I, J, p) is maximized or 1- ⁇ total value of N (I, J, p) ⁇ is minimized.
  • a three-dimensional patch q32 in which the three-dimensional position and normal direction of the three-dimensional patch q31 are optimized is obtained, and the positions of one or more projection points P31a, P33a on one or more fourth visible frames I31, I33. Are obtained as projection points P31b and P33b.
  • step S620 the evaluation unit 620 determines that the total value of N (I, J, p) after optimization is equal to or greater than an arbitrary threshold value, or 1 ⁇ ⁇ the total value of N (I, J, p) ⁇ is arbitrary. It is determined whether or not the threshold value is equal to or less than the threshold value, and the total value of N (I, J, p) after optimization is equal to or greater than an arbitrary threshold value, or 1 ⁇ ⁇ the total value of N (I, J, p) ⁇ is If it is equal to or less than the arbitrary threshold value, the calculated three-dimensional patch q32 is stored in the memory as a new second three-dimensional point.
  • a new three-dimensional patch q22 is generated by performing the loop 7
  • a new three-dimensional patch q32 is generated by performing the loop 8.
  • the second matching based on the geometric matching is performed on two frames of the second combination obtained by the two cameras whose visual field similarity is less than a predetermined threshold. Since the three-dimensional point group is generated using, it is possible to reduce the generation of low-precision three-dimensional points and the time required for processing.
  • the three-dimensional reconstruction method According to the three-dimensional reconstruction method according to the present embodiment, highly accurate first matching is performed on the first combination of frames obtained by two or more cameras having similar visual field similarities. Since one or more first three-dimensional points are generated, a highly accurate three-dimensional point can be obtained at high speed.
  • the second combination of frames obtained by two or more cameras having similar visual field similarity one or more second cubics are obtained by performing second matching based on geometric matching. Since the original point is generated, it is possible to reduce generation of a low-accuracy three-dimensional point and a long time for processing. Thus, since one of the first matching and the second matching is selectively executed according to the similarity of the visual field, a highly accurate three-dimensional model can be generated at high speed.
  • the high-precision first matching is matching with decimal pixel accuracy as in S513 and S612, and the second matching with lower accuracy is matching with integer pixel accuracy as in S518 and S617.
  • Both the first matching and the second matching may be matching with decimal pixel accuracy.
  • the phase only correlation method is used in S513 and S612, and the Normalized Cross Correlation is used in S518 and S617.
  • the phase-only correlation method has high accuracy among the matching methods with small pixel accuracy.
  • the expansion unit 411 adds three-dimensional points based on a plurality of three-dimensional points generated by the initial generation unit 410 of the three-dimensional modeling unit 311, but the initial generation unit 410 is not necessarily required.
  • a three-dimensional point group acquired from the outside or a three-dimensional point group generated in the past by the three-dimensional reconstruction device 200 is stored in the storage unit 220, and the expansion unit 411 is based on the three-dimensional point group, Three-dimensional points may be added.
  • the first generation is performed by switching the loop 3 or the loop 4 according to the similarity of the visual field between the cameras, and the loop 7 or the loop 8 is performed according to the similarity of the visual field between the cameras in the second generation.
  • the switching unit 512 may switch the loop 3 or the loop 4 in accordance with the visual field similarity between the cameras in the first generation, and only one of the loop 7 and the loop 8 may be performed in the second generation.
  • only one of the loop 3 and the loop 4 may be performed in the first generation, and the loop 7 or the loop 8 may be switched in the second generation according to the similarity of the field of view between the cameras.
  • Each processing unit included in the three-dimensional reconstruction system according to the above embodiment is typically realized as an LSI that is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of them.
  • circuits are not limited to LSI, and may be realized by a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • reconfigurable processor that can reconfigure the connection and setting of circuit cells inside the LSI may be used.
  • each component may be configured by dedicated hardware, or may be realized by executing a software program suitable for each component.
  • Each component may be realized by a program execution unit such as a CPU or a processor reading and executing a software program recorded on a recording medium such as a hard disk or a semiconductor memory.
  • the present disclosure may be realized as various methods executed by the three-dimensional reconstruction system.
  • division of functional blocks in the block diagram is an example, and a plurality of functional blocks can be realized as one functional block, a single functional block can be divided into a plurality of functions, or some functions can be transferred to other functional blocks. May be.
  • functions of a plurality of functional blocks having similar functions may be processed in parallel or time-division by a single hardware or software.
  • the three-dimensional reconstruction system according to one or more aspects has been described based on the embodiment.
  • the present disclosure is not limited to this embodiment. Unless it deviates from the gist of the present disclosure, various modifications conceived by those skilled in the art have been made in this embodiment, and forms constructed by combining components in different embodiments are also within the scope of one or more aspects. May be included.
  • the present disclosure can be applied to a three-dimensional reconstruction method and a three-dimensional reconstruction device, and can be applied to, for example, a three-dimensional space recognition system, a three-dimensional reconstruction system, and a next generation monitoring system.

Abstract

共通する三次元空間を撮像する複数の撮像装置からそれぞれ得られた複数の画像を用いて三次元点群を含む三次元モデルを生成する三次元再構成方法であって、対応するタイミングで撮像された複数の画像を取得し(S101)、取得された複数の画像に基づいて複数の三次元点を生成し(S104)、複数の三次元点の生成では、複数の撮像装置のうちの視野の類似度が所定の閾値より大きい2以上の第1撮像装置によりそれぞれ得られた2以上の第1画像それぞれにおける点について行われた第1マッチングの結果に基づいて、1以上の第1三次元点を生成し、複数の撮像装置のうちの類似度が所定の閾値未満の2以上の第2撮像装置によりそれぞれ得られた2以上の第2画像それぞれにおける点について行われた第2マッチングの結果に基づいて、1以上の第2三次元点を生成する。

Description

三次元再構成方法および三次元再構成装置
 本開示は、複数のカメラにより得られた複数の画像を用いて三次元モデルを生成する三次元再構成方法および三次元再構成装置に関する。
 コンピュータビジョンの分野における三次元再構成技術では、複数の二次元画像間で対応付けを行い、カメラの位置、向き、及び被写体の三次元位置を推定する。また、カメラキャリブレーション及び三次元点群再構成が行われる。
 例えば、特許文献1には、三次元点を中心とした小平面で法線ベクトルを有する三次元パッチに基づく多視点ステレオ法による三次元モデリングについて開示されている。
 非特許文献1には、位相限定相関法による画像対の小領域マッチングについて開示されている。
米国特許出願公開第2013/0083966号明細書
K. TAKITA, M A MUQUIT, T AOKI, T HIGUCHI, "A Sub-Pixel Correspondence Search Technique for Computer Vision Applications", IEICE TRANS. FUNDAMENTALS, VOL.E87-A. Aug. 2004.
 このような、三次元再構成方法または三次元再構成装置では、三次元モデルの精度を向上させること、および、三次元モデルを再構成する処理速度を向上させることが望まれている。
 そこで本開示は、高精度な三次元モデルを高速に生成することができる三次元再構成方法または三次元再構成装置を提供することを目的とする。
 上記目的を達成するために、三次元再構成方法は、互いに異なる位置に配置されており、共通する三次元空間を撮像する複数の撮像装置から得られた複数の画像を用いて三次元点群により構成される三次元モデルを生成する三次元再構成方法であって、前記複数の撮像装置により互いに対応するタイミングで撮像された前記複数の画像を取得し、取得された前記複数の画像に基づいて複数の三次元点を生成し、前記複数の三次元点の生成では、前記複数の画像のうちの2以上の第1画像であって、前記複数の撮像装置のうちの視野の類似度が所定の閾値以上である2以上の第1撮像装置によりそれぞれ得られた2以上の第1画像それぞれにおける点について、第1マッチングを前記2以上の第1画像間で行い、得られた第1マッチング結果に基づいて、1以上の第1三次元点を生成し、前記複数の画像のうちの2以上の第2画像であって、前記複数の撮像装置のうちの前記類似度が前記所定の閾値未満の2以上の第2撮像装置によりそれぞれ得られた2以上の第2画像それぞれにおける点について、前記第1マッチングよりも精度の低い第2マッチングを前記2以上の第2画像間で行い、得られた第2マッチング結果に基づいて、1以上の第2三次元点を生成する。
 なお、これらの全般的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 本開示の三次元再構成方法または三次元再構成装置は、高精度な三次元モデルを生成することができる。
図1は、実施の形態に係る三次元再構成システムの概要を示す図である。 図2は、実施の形態に係る三次元再構成処理を説明するための図である。 図3は、実施の形態に係る同期撮影を説明するための図である。 図4は、実施の形態に係る同期撮影を説明するための図である。 図5は、実施の形態に係る三次元再構成システムの一例を示すブロック図である。 図6は、実施の形態に係る三次元再構成装置による処理の一例を示すフローチャートである。 図7は、実施の形態に係る多視点フレームセットの一例を示す図である。 図8は、実施の形態に係る三次元再構成部の構造の一例を示すブロック図である。 図9は、実施の形態に係る三次元再構成部の動作の一例を示すフローチャートである。 図10は、三次元モデリング部の構造の一例を示すブロック図である。 図11は、三次元パッチについて説明するための図である。 図12は、三次元モデリング部の動作の一例を示すフローチャートである。 図13は、初期生成部の構造の一例を示すブロック図である。 図14は、初期生成部の動作の一例を示すフローチャートである。 図15Aは、2台のカメラ間の視野の類似度に用いられる指標について説明するための図である。 図15Bは、2台のカメラ間の視野の類似度に用いられる指標について説明するための図である。 図16は、特徴点対応部による処理について説明するための図である。 図17は、パッチ算出部による処理について説明するための図である。 図18は、フレーム選択部による処理について説明するための図である。 図19は、最適化部による処理について説明するための図である。 図20は、対応点候補選択部および候補パッチ算出部による処理について説明するための図である。 図21は、フレーム選択部による処理について説明するための図である。 図22は、最適化部による処理を説明するための図である。 図23は、最適化部による処理を説明するための図である。 図24は、拡張部の構造の一例を示すブロック図である。 図25は、拡張部の動作の一例を示すフローチャートである。 図26は、拡張部による処理について説明するための図である。 図27は、対応部による処理について説明するための図である。 図28は、評価部およびパッチ算出部による処理について説明するための図である。 図29は、フレーム選択部による処理について説明するための図である。 図30は、最適化部による処理について説明するための図である。 図31は、拡張部による処理について説明するための図である。 図32は、候補パッチ算出部による処理について説明するための図である。 図33は、フレーム選択部による処理について説明するための図である。 図34は、最適化部による処理について説明するための図である。 図35は、評価部による処理について説明するための図である。
 (本開示の基礎となった知見)
 特許文献1では、二次元画像間で特徴点同士を対応づけることにより、疎な三次元点を算出し、疎な三次元点を拡張することにより三次元点を増加させることで蜜な三次元点を算出している。三次元点の拡張では、まず、三次元点候補を算出し、その三次元候補点の評価値が閾値より小さい時のみ密な三次元点に追加する処理を行う。ここで用いられる評価値は、三次元候補点の映る複数視点画像中の画像対の小領域の不一致度合いから構成される。
 しかしながら、特許文献1の方法では、疎な三次元点に基づいて三次元点を拡張する処理を行うため、元の疎な三次元点に誤差が生じていれば、拡張されて追加された三次元点にも誤差が伝搬してしまうという課題がある。
 このため、非特許文献1のような高精度の手法を用いて三次元点を生成することが考えられる。非特許文献1では、位相限定相関法による画像対の小領域マッチングを行うことで、小数画素精度で対応点を算出することが開示されている。具体的には、画像対の小領域をそれぞれフーリエ変換し、振幅信号と位相信号に変換し、このうち画像対の位相信号を合成し、逆変換することにより、1/100画素精度の対応点を算出している。
 しかしながら、非特許文献1の方法では、画像対が得られた撮像装置同士の視野の類似度が高いほど高精度の結果が得られるが、視野の類似度が低い画像対では精度が低下するという課題がある。また、視野の類似度が低い画像対に対して、非特許文献1の方法による処理を実行すると、処理に多くの時間を要するという課題がある。
 そこで本開示では、高精度な三次元モデルを高速に生成することができる三次元再構成方法または三次元再構成装置について説明する。
 本開示の一態様に係る三次元再構成方法は、互いに異なる位置に配置されており、共通する三次元空間を撮像する複数の撮像装置から得られた複数の画像を用いて三次元点群により構成される三次元モデルを生成する三次元再構成方法であって、前記複数の撮像装置により互いに対応するタイミングで撮像された前記複数の画像を取得し、取得された前記複数の画像に基づいて複数の三次元点を生成し、前記複数の三次元点の生成では、前記複数の画像のうちの2以上の第1画像であって、前記複数の撮像装置のうちの視野の類似度が所定の閾値以上である2以上の第1撮像装置によりそれぞれ得られた2以上の第1画像それぞれにおける点について、第1マッチングを前記2以上の第1画像間で行い、得られた第1マッチング結果に基づいて、1以上の第1三次元点を生成し、前記複数の画像のうちの2以上の第2画像であって、前記複数の撮像装置のうちの前記類似度が前記所定の閾値未満の2以上の第2撮像装置によりそれぞれ得られた2以上の第2画像それぞれにおける点について、前記第1マッチングよりも精度の低い第2マッチングを前記2以上の第2画像間で行い、得られた第2マッチング結果に基づいて、1以上の第2三次元点を生成する。
 これによれば、視野の類似度が類似している2以上の第1撮像装置によって得られた2以上の第1画像については、精度の高い第1マッチングを行うことで1以上の第1三次元点を生成しているため、高精度な三次元点を高速で得ることができる。一方で、視野の類似度が類似していない2以上の第2撮像装置によって得られた2以上の第2画像については、精度の低い第2マッチングを行うことで1以上の第2三次元点を生成しているため、低精度な三次元点が生成されること、および、処理に多くの時間を要してしまうことを低減することができる。このように、視野の類似度に応じて、第1マッチングおよび第2マッチングの一方を選択的に実行するため、高精度な三次元モデルを高速に生成することができる。
 また、前記複数の三次元点の生成では、取得された前記複数の画像にそれぞれ含まれる複数の特徴点のマッチングを前記複数の画像間で行うことにより前記複数の三次元点を生成する第1生成を行い、前記第1生成では、取得された前記複数の画像のそれぞれについて、複数の特徴点を検出し、前記2以上の第1画像のそれぞれにおける前記複数の特徴点について、前記第1マッチングを前記2以上の第1画像間で行い、得られた前記第1マッチング結果に基づいて、前記1以上の第1三次元点を生成し、前記2以上の第2画像のそれぞれにおける前記複数の特徴点について、前記第2マッチングを前記2以上の第2画像間で行い、得られた前記第2マッチング結果に基づいて、前記1以上の第2三次元点を生成してもよい。
 これによれば、疎な三次元点群の生成において、視野の類似度に応じて、第1マッチングおよび第2マッチングの一方を選択的に実行するため、高精度な三次元モデルを高速に生成することができる。
 また、前記複数の三次元点のそれぞれは、被写体の表面上の点の三次元位置、および、当該点における当該表面に垂直な法線方向を示す三次元パッチであり、前記第1生成の前記1以上の第1三次元点の生成では、前記2以上の第1画像のうちの2つの第1画像を含む、処理対象の第1の組み合わせのうちの一方の第1画像の複数の特徴点のそれぞれについて、前記第1マッチングを行うことで、処理対象の特徴点に対応する第1対応点を、前記処理対象の第1の組み合わせのうちの他方の第1画像から算出し、前記処理対象の特徴点と、算出された前記第1対応点と、前記一方の第1画像が得られた第3撮像装置のカメラパラメータと、前記他方の第1画像が得られた第4撮像装置のカメラパラメータとを用いて、第1三次元パッチを算出し、前記第1三次元パッチと、前記第1三次元パッチが映り込んでいる1以上の第1可視画像のそれぞれに前記第1三次元パッチが投影された1以上の第1二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第1三次元パッチの法線方向を補正し、補正後の第1三次元パッチを前記第1三次元点として生成してもよい。
 これによれば、疎な三次元点群の生成において、視野の類似度が類似している場合に得られた第1の組み合わせについて、第1マッチングを用いて三次元点群を生成するため、高精度な三次元モデルを高速に生成することができる。
 また、前記第1生成の前記1以上の第2三次元点の生成では、前記2以上の第2画像のうちの2つの第2画像を含む、処理対象の第2の組み合わせのうちの一方の第2画像の複数の特徴点のそれぞれについて、前記第2マッチングを行うことで、前記処理対象の特徴点に対応する第2対応点を、前記処理対象の第2の組み合わせのうちの他方の第2画像から算出し、前記処理対象の特徴点と、算出された前記第2対応点と、前記一方の第2画像が得られた第6撮像装置のカメラパラメータと、前記他方の第2画像が得られた第7撮像装置のカメラパラメータとを用いて、第2三次元パッチを算出し、前記第2三次元パッチと、前記第2三次元パッチが映り込んでいる1以上の第2可視画像のそれぞれに前記第2三次元パッチが投影された1以上の第2二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第2三次元パッチの三次元位置および法線方向と前記1以上の第2二次元点の位置とを補正し、補正後の第2三次元パッチを前記第2三次元点として生成してもよい。
 これによれば、疎な三次元点群の生成において、視野の類似度が類似していない場合に得られた第2の組み合わせについて、幾何学的な整合性に基づく第2マッチングを用いて三次元点群を生成するため、低精度な三次元点が生成されること、および、処理に多くの時間を要してしまうことを低減することができる。
 また、前記複数の三次元点の生成では、さらに、前記複数の画像と、前記第1生成で生成された前記1以上の第1三次元点および前記1以上の第2三次元点により構成される第1三次元点群とを用いて新たな三次元点を生成し、生成された前記新たな三次元点を前記第1三次元点群に追加する第2生成を行い、前記第2生成では、前記第1三次元点群を構成する複数の第3三次元点の近傍にある複数の近傍三次元点のそれぞれについて、当該近傍三次元点および前記2以上の第1画像に基づいて、前記第1マッチングを前記2以上の第1画像間で行い、得られた第1マッチング結果に基づいて、1以上の新たな第1三次元点を生成し、前記第1三次元点群を構成する複数の第3三次元点の近傍にある複数の近傍三次元点のそれぞれについて、当該近傍三次元点および前記2以上の第2画像に基づいて、前記第2マッチングを前記2以上の第2画像間で行い、得られた第2マッチング結果に基づいて、1以上の新たな第2三次元点を生成し、前記第1三次元点群に、前記1以上の新たな第1三次元点、および、前記1以上の新たな第2三次元点を追加することにより、三次元点が追加された第2三次元点群を生成し、前記第2三次元点群を用いて第2三次元モデルを再構成してもよい。
 これによれば、密な三次元点群の生成において、視野の類似度に応じて、第1マッチングおよび第2マッチングの一方を選択的に実行するため、高精度な三次元モデルを高速に生成することができる。
 また、前記第2生成の前記1以上の新たな第1三次元点の生成では、前記複数の第3三次元点のそれぞれについて、処理対象の第1の組み合わせのうちの一方の第1画像に、処理対象の第3三次元点を投影することで当該一方の第1画像における第3二次元点を算出し、前記第1マッチングを行うことで、前記一方の第1画像を構成する複数のセルのうち、特定された前記第3二次元点を含む第1セルに隣接する第2セル内の第4二次元点に対応する第3対応点を、前記処理対象の前記第1の組み合わせのうちの他方の第1画像から算出し、前記第4二次元点と、算出された前記第3対応点と、前記一方の第1画像が得られた第9撮像装置のカメラパラメータと、前記他方の第1画像が得られた第10撮像装置のカメラパラメータとを用いて、前記近傍三次元点である第3三次元パッチを算出し、前記第3三次元パッチと、前記第3三次元パッチが映り込んでいる1以上の第3可視画像に前記第3三次元パッチが投影された1以上の第5二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第3三次元パッチの法線方向を補正し、補正後の第3三次元パッチを前記新たな第1三次元点として生成してもよい。
 これによれば、密な三次元点群の生成において、視野の類似度が類似している場合に得られた第1の組み合わせについて、第1マッチングを用いて三次元点群を生成するため、高精度な三次元モデルを高速に生成することができる。
 また、前記第2生成の前記1以上の新たな第2三次元点の生成では、前記複数の第3三次元点のそれぞれについて、処理対象の第2の組み合わせのうちの一方の第2画像に、処理対象の第3三次元点を投影することで当該一方の第2画像における第6二次元点を算出し、処理対象の第3三次元点の第4三次元パッチの基準パッチ平面と、前記一方の第2画像を構成する複数のセルのうち、特定された前記第6二次元点を含む第3セルに隣接する第4セル内の第7二次元点を通過し、かつ、前記一方の第2画像が得られた第12撮像装置の光軸との交点の三次元位置を、前記近傍三次元点である第4三次元パッチの三次元位置として算出し、前記第4三次元パッチと、前記第4三次元パッチが映り込んでいる1以上の第4可視画像に前記第4三次元パッチが投影された1以上の第8二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第4三次元パッチの三次元位置および法線方向と前記1以上の第8二次元点の位置とを補正し、補正後の第4三次元パッチを前記新たな第2三次元点として生成してもよい。
 これによれば、密な三次元点群の生成において、視野の類似度が類似していない場合に得られた第2の組み合わせについて、幾何学的な整合性を用いて三次元点群を生成するため、低精度な三次元点が生成されること、および、処理に多くの時間を要してしまうことを低減することができる。
 また、前記複数の三次元点の生成では、さらに、前記複数の画像と、記憶部に記憶されている第1三次元点群とを用いて新たな三次元点を生成し、生成された前記新たな三次元点を前記第1三次元点群に追加する第2生成を行い、前記第2生成では、前記第1三次元点群を構成する複数の第3三次元点の近傍にある複数の近傍三次元点のそれぞれについて、当該近傍三次元点および前記2以上の第1画像に基づいて、前記第1マッチングを前記2以上の第1画像間で行い、得られた第1マッチング結果に基づいて、1以上の新たな第1三次元点を生成し、前記第1三次元点群を構成する複数の第3三次元点の近傍にある複数の近傍三次元点のそれぞれについて、当該近傍三次元点および前記2以上の第2画像に基づいて、前記第2マッチングを前記2以上の第2画像間で行い、得られた第2マッチング結果に基づいて、1以上の新たな第2三次元点を生成し、前記第1三次元点群に、前記1以上の新たな第1三次元点、および、前記1以上の新たな第2三次元点を追加することにより、三次元点が追加された第2三次元点群を生成し、前記第2三次元点群を用いて第2三次元モデルを再構成してもよい。
 これによれば、密な三次元点群の生成において、視野の類似度に応じて、第1マッチングおよび第2マッチングの一方を選択的に実行するため、高精度な三次元モデルを高速に生成することができる。
 また、前記第2生成の前記1以上の新たな第1三次元点の生成では、前記複数の第3三次元点のそれぞれについて、処理対象の第1の組み合わせのうちの一方の第1画像に、処理対象の第3三次元点を投影することで当該一方の第1画像における第3二次元点を算出し、前記第1マッチングを行うことで、前記一方の第1画像を構成する複数のセルのうち、特定された前記第3二次元点を含む第1セルに隣接する第2セル内の第4二次元点に対応する第3対応点を、前記処理対象の前記第1の組み合わせのうちの他方の第1画像から算出し、前記第4二次元点と、算出された前記第3対応点と、前記一方の第1画像が得られた第9撮像装置のカメラパラメータと、前記他方の第1画像が得られた第10撮像装置のカメラパラメータとを用いて、前記近傍三次元点である第3三次元パッチを算出し、前記第3三次元パッチと、前記第3三次元パッチが映り込んでいる1以上の第3可視画像に前記第3三次元パッチが投影された1以上の第5二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第3三次元パッチの法線方向を補正し、補正後の第3三次元パッチを前記新たな第1三次元点として生成してもよい。
 これによれば、密な三次元点群の生成において、視野の類似度が類似している場合に得られた第1の組み合わせについて、第1マッチングを用いて三次元点群を生成するため、高精度な三次元モデルを高速に生成することができる。
 また、前記第2生成の前記1以上の新たな第2三次元点の生成では、前記複数の第3三次元点のそれぞれについて、処理対象の第2の組み合わせのうちの一方の第2画像に、処理対象の第3三次元点を投影することで当該一方の第2画像における第6二次元点を算出し、処理対象の第3三次元点の第4三次元パッチの基準パッチ平面と、前記一方の第2画像を構成する複数のセルのうち、特定された前記第6二次元点を含む第3セルに隣接する第4セル内の第7二次元点を通過し、かつ、前記一方の第2画像が得られた第12撮像装置の光軸との交点の三次元位置を第4三次元パッチの三次元位置として算出し、前記第4三次元パッチと、前記第4三次元パッチが映り込んでいる1以上の第4可視画像に前記第4三次元パッチが投影された1以上の第8二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第4三次元パッチの三次元位置および法線方向と前記1以上の第8二次元点の位置とを補正し、補正後の第4三次元パッチを前記新たな第2三次元点として生成してもよい。
 これによれば、密な三次元点群の生成において、視野の類似度が類似していない場合に得られた第2の組み合わせについて、幾何学的な整合性を用いて三次元点群を生成するため、低精度な三次元点が生成されること、および、処理に多くの時間を要してしまうことを低減することができる。
 また、前記第1マッチングでは、2以上の画像の一方の画像における点に対応する、他方の画像における対応点を小数画素精度で特定し、前記第2マッチングでは、2以上の画像の一方の画像における点に対応する、他方の画像における対応点を整数画素精度で特定してもよい。
 これによれば、疎な三次元点群の生成において、視野の類似度に応じて、小数画素精度の第1マッチング、および、整数画素精度の第2マッチングの一方を選択的に実行するため、高精度な三次元モデルを高速に生成することができる。
 また、前記第1マッチングは、位相限定相関法を用いたマッチングであってもよい。
 このため、第1マッチングの結果を小数画素精度で求めることができる。
 また、前記第1マッチングは、位相限定相関法を用いたマッチングであり、前記第2マッチングは、Normalized Cross Correlationを用いたマッチングであってもよい。
 このため、第1マッチングの結果を小数画素精度で求めることができ、第2マッチングの結果を第1マッチングの結果よりも低い精度で求めることができる。
 なお、これらの包括的または具体的な態様は、システム、装置、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、装置、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 以下、実施の形態について、図面を参照しながら具体的に説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 (実施の形態)
 本実施の形態に係る三次元再構成装置は、時刻間で座標軸の一致した時系列三次元モデルを再構成できる。具体的には、まず、三次元再構成装置は、時刻毎に独立して三次元再構成を行うことで、各時刻の三次元モデルを取得する。次に、三次元再構成装置は、静止カメラ及び静止物体(静止三次元点)を検出し、検出した静止カメラ及び静止物体を用いて、時刻間で三次元モデルの座標合せを行い、座標軸の一致した時系列三次元モデルを生成する。
 図1は、三次元再構成システムの概要を示す図である。例えば、校正済みのカメラ(例えば固定カメラ)を用いて同一空間を多視点から撮影することにより、複数のカメラで共通して撮影する空間である撮影空間1000を三次元再構成できる(三次元空間再構成)。撮影空間1000は、三次元空間の一例である。この三次元再構成されたデータを用いて、トラッキング、シーン解析、及び映像レンダリングを行うことで、任意の視点(自由視点カメラ)から見た映像を生成できる。これにより、次世代広域監視システム、及び三次元再構成システムを実現できる。
 本開示における三次元再構成を定義する。実空間上に存在する被写体を複数のカメラにより異なる視点で撮影した映像又は画像を多視点映像又は多視点画像と呼ぶ。つまり、多視点画像は、同一の被写体を異なる視点から撮影した複数の二次元画像を含む。また、時系列に撮影された多視点画像を多視点映像と呼ぶ。この多視点画像を用いて被写体を三次元空間に再構成することを三次元再構成と呼ぶ。図2は、三次元再構成の仕組みを示す図である。
 三次元再構成装置は、カメラパラメータを用いて、画像面の点を世界座標系に再構成する。三次元空間に再構成された被写体を三次元モデルと呼ぶ。被写体の三次元モデルは、多視点の二次元画像に映る被写体上の複数の点それぞれの三次元位置を示す。三次元位置は、例えば、XYZ軸からなる三次元座標空間のX成分、Y成分、X成分からなる三値情報で表される。なお、三次元モデルは、三次元位置のみだけでなく、各点の色又は各点及びその周辺の表面形状を表す情報を含んでもよい。
 この時、三次元再構成装置は、各カメラのカメラパラメータを、予め取得してもよいし、三次元モデルの作成と同時に推定してもよい。カメラパラメータは、カメラの焦点距離及び画像中心などからなる内部パラメータと、カメラの三次元位置及び向きを示す外部パラメータとを含む。
 図2は、代表的なピンホールカメラモデルの例を示している。このモデルではカメラのレンズ歪みは考慮されていない。レンズ歪みを考慮する場合は、三次元再構成装置は、画像面座標における点の位置を歪みモデルにより正規化した補正位置を用いる。
 三次元再構成の中では、カメラパラメータの算出をカメラ校正といい、三次元モデルの生成を三次元モデリングという。Structure from Motion等の3次元再構成方式では、カメラ校正および三次元モデリングを同時に行い、カメラパラメータ、および疎な三次元点群からなる三次元モデルを算出できる。また、多視点ステレオでは、予め算出されたカメラパラメータを用いて、密な三次元点群からなる三次元モデルを算出できる。
 次に、多視点映像の同期撮影について説明する。図3及び図4は同期撮影を説明するための図である。図3及び図4の横方向は時間を示し、矩形信号が立っている時間はカメラが露光していることを示す。カメラにより画像を取得する際、シャッタが開放されている時間を露光時間と呼ぶ。
 露光時間中、レンズを通して撮像素子にさらされたシーンが画像として得られる。図3では、視点の異なる2台のカメラで撮影された画像(以下、「フレーム」とも言う。)では、露光時間が重複している。これにより2台のカメラにより取得したフレームは、同一時刻のシーンを含んでいる同期フレームと判定される。
 一方、図4では、2台のカメラで露光時間の重複が無いため、2台のカメラにより取得したフレームは、同一時刻のシーンを含まない非同期フレームと判定される。図3のように、同期フレームを複数のカメラで撮影することを同期撮影と呼ぶ。
 次に、本実施の形態に係る三次元再構成システムの構成を説明する。図5は、本実施の形態に係る三次元再構成システムの一例を示すブロック図である。図5に示す三次元再構成システム1は、複数のカメラ100-1~100-nと、三次元再構成装置200とを含む。
 複数のカメラ100-1~100-nは被写体を撮影し、撮影された複数の映像である多視点映像を出力する。多視点映像の送信は、インターネットなどの公衆通信網、又は専用通信網のいずれを介してもよい。複数のカメラ100-1~100-nは、複数の撮像装置の一例である。あるいは、多視点映像は、一度ハードディスクドライブ(HDD)又はソリッドステートドライブ(SSD)などの外部記憶装置に記憶され、必要な時に三次元再構成装置200へ入力されてもよい。あるいは、多視点映像は、クラウドサーバ等の外部記憶装置に一旦ネットワークを介して送信され、記憶される。そして、必要な時に三次元再構成装置200へ送信されてもよい。
 また、n台のカメラ100-1~100-nの各々は、監視カメラなどの固定カメラである。つまり、n台のカメラ100-1~100-nは、例えば、それぞれ、互いに異なる位置において、互いに異なる姿勢で固定されている固定カメラである。また、なお、nは、2以上の整数である。n台のカメラ100-1~100-nは、全てが固定カメラでなくてもよく、固定されておらず移動することが可能な非固定カメラを含んでいてもよい。
 また、多視点映像には、映像又はフレームのヘッダ情報として、撮影したカメラを特定するカメラIDなどのカメラ特定情報が付加されてもよい。
 複数のカメラ100-1~100-nを用いて、毎フレームで同じ時刻の被写体を撮影する同期撮影が行われてもよい。あるいは、複数のカメラ100-1~100-nに内蔵された時計の時刻を合せ、同期撮影せずに、映像又はフレーム毎に撮影時刻情報が付加されてもよし、撮影順序を示すインデックス番号が付加されてもよい。
 多視点映像の映像セット毎、映像毎、又はフレーム毎に、同期撮影されたか、非同期撮影されたかを示す情報がヘッダ情報として付加されてもよい。
 また、三次元再構成装置200は、受信部210と、記憶部220と、取得部230と、三次元再構成部240と、送信部250とを備える。
 次に、三次元再構成装置200の動作を説明する。図6は、本実施の形態に係る三次元再構成装置200の動作の一例を示すフローチャートである。
 まず、受信部210は、複数のカメラ100-1~100-nで撮影された多視点映像を受信する(S101)。記憶部220は、受信された多視点映像を記憶する(S102)。
 次に、取得部230は、多視点映像からフレームを選択し、多視点フレームセットとして三次元再構成部240へ出力する(S103)。
 例えば、多視点フレームセットは、全ての視点の映像から1フレームずつ選択した複数フレームにより構成されてもよいし、全ての視点の映像から少なくとも1フレーム選択した複数フレームにより構成されてもよいし、多視点映像のうち2つ以上の視点の映像を選択し、選択された各映像から1フレームずつ選択した複数フレームにより構成されてもよいし、多視点映像のうち2つ以上の視点の映像を選択し、選択された各映像から少なくとも1フレーム選択した複数フレームにより構成されてもよい。
 また、多視点フレームセットの各フレームにカメラ特定情報が付加されていない場合は、取得部230は、カメラ特定情報を、各フレームのヘッダ情報に個別に付加してもよいし、多視点フレームセットのヘッダ情報に一括して付加してもよい。
 また、多視点フレームセットの各フレームに撮影時刻又は撮影順を示すインデックス番号が付加されていない場合は、取得部230は、撮影時刻又はインデックス番号を、各フレームのヘッダ情報に個別に付加してもよいし、フレームセットのヘッダ情報に一括して付加してもよい。
 次に、三次元再構成部240は、多視点フレームセットを用いて、カメラ校正処理および三次元モデリング処理を実行することで三次元モデルを生成する(S104)。
 また、ステップS103及びS104の処理は、多視点フレームセット毎に繰り返し行われる。
 最後に、送信部250は、カメラパラメータおよび被写体の三次元モデルの少なくとも1つを外部装置へ送信する(S105)。
 次に、多視点フレームセットの詳細について説明する。図7は、多視点フレームセットの一例を示す図である。ここでは、取得部230が、5台のカメラ100-1~100-5から1フレームずつを選択することで多視点フレームセットを決定する例を説明する。
 また、複数のカメラが同期撮影することを仮定している。各フレームのヘッダ情報には、撮影されたカメラを特定するカメラIDがそれぞれ100-1~100-5として付与されている。また、各フレームのヘッダ情報には、各カメラ内での撮影順序を示すフレーム番号001~Nが付与されており、カメラ間で同じフレーム番号を持つフレームは同時刻の被写体が撮影されたことを示す。
 取得部230は、多視点フレームセット200-1~200-nを三次元再構成部240へ順次出力する。三次元再構成部240は、繰り返し処理により多視点フレームセット200-1~200-nを用いて、順次三次元再構成を行う。
 多視点フレームセット200-1は、カメラ100-1のフレーム番号001、カメラ100-2のフレーム番号001、カメラ100-3のフレーム番号001、カメラ100-4のフレーム番号001、カメラ100-5のフレーム番号001の5枚のフレームから構成される。三次元再構成部240は、この多視点フレームセット200-1を、多視点映像の最初のフレームの集合として、繰り返し処理1で使用することにより、フレーム番号001を撮影した時刻の三次元モデルを再構成する。
 多視点フレームセット200-2では、全てのカメラでフレーム番号が更新される。多視点フレームセット200-2は、カメラ100-1のフレーム番号002、カメラ100-2のフレーム番号002、カメラ100-3のフレーム番号002、カメラ100-4のフレーム番号002、カメラ100-5のフレーム番号002の5枚のフレームから構成される。三次元再構成部240は、多視点フレームセット200-2を繰り返し処理2で使用することにより、フレーム番号002を撮影した時刻の三次元モデルを再構成する。
 以下、繰り返し処理3以降でも同様に全てのカメラでフレーム番号が更新される。これにより、三次元再構成部240は、各時刻の三次元モデルを再構成できる。
 ただし、各時刻で独立して三次元再構成を行うため、再構成された複数の三次元モデルの座標軸とスケールが一致しているとは限らない。つまり、動く被写体の三次元モデルを取得するためには、各時刻の座標軸及びスケールを合せる必要がある。
 その場合、各フレームには撮影時刻が付与されており、その撮影時刻を基に取得部230は、同期フレームと非同期フレームを組み合わせた多視点フレームセットを作成する。以下、2台のカメラ間での撮影時刻を用いた同期フレームと非同期フレームの判定方法を説明する。
 カメラ100-1から選択したフレームの撮影時刻をT1とし、カメラ100-2から選択したフレームの撮影時刻をT2とし、カメラ100-1の露光時間をTE1とし、カメラ100-2の露光時間をTE2とする。ここで、撮影時刻T1、T2は、図3及び図4の例で露光が開始された時刻、つまり矩形信号の立ち上がりの時刻を指している。
 この場合、カメラ100-1の露光終了時刻はT1+TE1である。この時、(式1)又は(式2)が成立していれば、2台のカメラは、同じ時刻、つまり互いに対応するタイミングの被写体を撮影していることになり、2枚のフレームは同期フレームと判定される。
  T1≦T2≦T1+TE1  (式1)
  T1≦T2+TE2≦T1+TE1  (式2)
 なお、ある時刻t1のタイミングに対応するフレームとは、時刻t1を基準として数十msecの幅の時間に含まれるタイミングで撮像されたフレームであってもよい。
 次に、三次元再構成部240の詳細について説明する。図8は、三次元再構成部240の構造の一例を示すブロック図である。図8に示すように三次元再構成部240は、制御部241と、カメラ校正部310と、三次元モデリング部311とを備える。
 制御部241は、カメラ校正部310および三次元モデリング部311における各処理で最適な視点数を決定する。ここで決定する視点数とは、互いに異なる視点の数を示す。
 制御部241は、三次元モデリング部311における三次元モデリング処理において用いる多視点フレームセットの視点数を、例えば、n台のカメラ100-1~100-nと同じ数、つまり、nに決定する。そして、制御部241は、三次元モデリング処理における視点数nを基準として、他の処理であるカメラ校正処理に用いる多視点フレームセットの視点数を決定する。
 図9は、三次元再構成部240の動作の一例を示すフローチャートである。なお、図9に示す処理では、制御部241において決定された視点数の多視点フレームセットが用いられる。
 まず、カメラ校正部310は、互いに異なる位置に配置されるn台のカメラ100-1~100-nによって異なるn視点において撮像されたn枚のフレームを用いて複数のカメラ100-1~100-nのカメラパラメータを算出する(S310)。なお、ここでのn視点は、制御部241において決定された視点数に基づく。
 カメラ校正部310は、具体的には、複数のカメラ100-1~100-nのそれぞれの内部パラメータ、外部パラメータ及びレンズ歪み係数をカメラパラメータとして算出する。内部パラメータとは、カメラの焦点距離、収差、画像中心等の光学系の特性を示す。外部パラメータとは、三次元空間におけるカメラの位置及び姿勢を示す。
 カメラ校正部310は、複数のカメラ100-1~100-nがチェッカボードの白黒の交点を撮影することにより得られたn枚のフレームを用いて内部パラメータ、外部パラメータ及びレンズ歪み係数を別々に算出してもよいし、Structure from Motionのようにn枚のフレーム間の対応点を用いて内部パラメータ、外部パラメータ及びレンズ歪み係数を一括して算出し、全体最適化を行ってもよい。後者の場合のn枚のフレームは、チェッカボードが撮像された画像でなくてもよい。
 なお、カメラ校正部310は、n台のカメラ100-1~100-nによって得られたn枚のフレームを用いてカメラ校正処理を行う。カメラ校正処理では、カメラの数が多いほどカメラ間の距離が近くなり、距離が近い複数のカメラの視野が近くなるため、距離が近い複数のカメラから得られる複数のフレームの対応付けが容易になる。
 なお、カメラ校正部310は、三次元再構成部240における三次元再構成処理において、ステップS310のカメラ校正処理を常に行われなくてもよく、三次元再構成処理が所定の回数行われる毎に1回行われてもよい。
 次に、三次元モデリング部311は、n台のカメラ100-1~100-nのそれぞれによって撮像されたn枚のフレーム、および、カメラ校正処理において得られたカメラパラメータを用いて、撮影空間1000における被写体を、三次元点の集合である三次元点群により構成される三次元モデルとして再構成する(S311)。三次元モデリング処理において用いられるn枚のフレームは、任意のタイミングでn台のカメラ100-1~100-nのそれぞれによって撮像された画像である。つまり、n枚のフレームが構成するn視点の多視点フレームセットは、同期撮影により得られた多視点フレームセットである。
 次に、三次元モデリング部311の詳細について、図10~図12を用いて説明する。図10は、三次元モデリング部311の構造の一例を示すブロック図である。図11は、三次元パッチについて説明するための図である。図12は、三次元モデリング部311の動作の一例を示すフローチャートである。
 ここでは、三次元モデリング部311の各ブロックについて図10を用いて説明すると共に、各ブロックで行われる処理の流れについて図12を用いて説明する。
 三次元モデリング部311は、初期生成部410と、拡張部411と、フィルタリング部412とを備える。
 初期生成部410は、フレーム間の特徴点を対応付けることにより疎な三次元点群により構成される初期三次元モデルを生成する第1生成を行う(S411)。なお、フレーム間において特徴点を対応付ける処理をマッチングとも言う。このように、初期生成部410は、複数のフレームにそれぞれ含まれる複数の特徴点のマッチングを複数のフレーム間で行うことにより複数の三次元点を生成する。これにより、初期生成部410は、生成された複数の三次元点を含む、疎な三次元点群により構成される初期三次元モデルを生成する。初期生成部410は、複数の三次元点として、被写体の表面上の点の三次元位置、および、当該点における当該表面に垂直な法線方向をそれぞれが示す複数の三次元パッチを生成する。疎な三次元点群は、第1三次元点群の一例である。
 複数の三次元点のそれぞれは、三次元位置と、法線方向と、当該三次元点が見えているフレームである可視フレーム、および、当該三次元点が可視フレームへ投影された投影点(二次元点)を含んでいてもよい。複数の三次元パッチのそれぞれは、x座標、y座標およびz座標により構成される三次元位置と、法線方向とを有する三次元ベクトルで表されてもよい。三次元パッチは、図11に示されるように、具体的には、三次元位置cを基準とし、三次元位置cにおける被写体(物体)表面の小領域cを中心とした小平面で近似され、当該小平面の法線を示すベクトルとして、三次元空間内での向きとして表されてもよい。
 なお、ステップS411の第1生成の詳細な処理は、図13~図23を用いて後述する。
 次に、三次元モデリング部311は、任意の回数でループ1を繰り返し行う。ループ1では、ステップS412およびステップS413が行われる。
 拡張部411は、初期三次元モデルを構成する疎な三次元点群を拡張して、三次元点を増加させることにより、密な三次元点群により構成される拡張三次元モデルを生成する(S412)。拡張部411は、複数のフレームと、第1生成で生成された初期三次元モデルの三次元点群とを用いて新たな三次元点を生成し、生成された三次元点を初期三次元モデルの三次元点群に追加する第2生成を行う。密な三次元点群は、第2三次元点群の一例である。
 なお、ステップS412の第2生成の詳細な処理は、図24~図35を用いて後述する。
 そして、フィルタリング部412は、拡張部411で生成された拡張三次元モデルを構成する密な三次元点群から所定の方法を用いて外れ点を除去する(S413)。
 これにより、三次元モデリング部311は、外れ点が除去された三次元モデルを出力する。このようにして、三次元モデルは、三次元モデリング部311により再構成される。
 次に、第1生成の詳細な処理について、図13~図23を用いて説明する。
 図13は、初期生成部410の構造の一例を示すブロック図である。図14は、初期生成部410の動作の一例を示すフローチャートである。
 ここでは、初期生成部410の各ブロックについて図13を用いて説明すると共に、各ブロックで行われる処理の流れについて図14を用いて説明する。
 初期生成部410は、類似度算出部510と、特徴点検出部511と、切替部512と、特徴点対応部513と、評価部514と、パッチ算出部515と、フレーム選択部516と、最適化部517と、対応点候補選択部518と、候補パッチ算出部519と、フレーム選択部520と、最適化部521と、評価部522とを備える。
 第1生成では、まず、特徴点検出部511は、n台のカメラ100-1~100-nのそれぞれによって撮像されたn枚のフレームのそれぞれの特徴点を検出する(S511)。n枚のフレームのそれぞれについて検出された特徴点は、図示しないメモリに一時的に記憶されてもよい。
 次に、対応するタイミングで撮像されたn枚のフレームのそれぞれについてステップS512~S522の処理を繰り返すループ2が行われる。ループ2は、具体的には、n枚のフレームのうちの1枚のフレームを参照フレームとして選択し、選択された参照フレームと、n枚のフレームから参照フレームを除いたn-1枚のフレームのそれぞれとの組を複数生成し、生成された複数の組のそれぞれについて、実行される。つまり、n枚のフレームをのうちの2枚のフレームを選んだときに取り得る全ての組み合わせそれぞれについて、ループ2が実行される。ループ2は、第1ループの一例である。
 切替部512は、処理対象の組み合わせの2枚のフレームをそれぞれ撮像した2台のカメラの視野が互いに類似しているか否かを判定する(S512)。なお、この判定で用いられる2台のカメラ間の視野の類似度は、大きい値であるほど両者がより類似していることを示す。なお、類似度の算出には、小さい値であるほど両者がより類似していることを示す指標が用いられてもよい。この場合の類似度には、例えば、当該指標の逆数が用いられてもよい。また、類似度の算出には、1に近いほど両者が類似していることを示す指標が用いられてもよい。この場合の類似度には、例えば、当該指標が0より小さければ100を乗じた値が用いられてもよいし、当該指標が1より大きければ当該指標の逆数の100を乗じた値が用いられてもよい。類似度は、類似度算出部510により算出される。
 2台のカメラ間の類似度について図15Aおよび図15Bを用いて説明する。図15Aおよび図15Bは、2台のカメラ間の視野の類似度に用いられる指標について説明するための図である。
 図15Aに示されるように、2台のカメラ間の視野の類似度に用いられる指標は、当該2台のカメラがそれぞれ有する2つの光軸の為す角の角度である輻輳角θであってもよい。また、2台のカメラ間の視野の類似度に用いられる指標は、当該2台のカメラ間の距離dであってもよい。輻輳角θおよび距離dのそれぞれは、値が小さいほど両者がより類似していることが示される指標として用いることができる。
 また、図15Bに示されるように、2台のカメラ間の視野の類似度に用いられる指標は、当該2台のカメラそれぞれの画角φ1、φ2の第1の比率φ1/φ2であってもよい。また、2台のカメラ間の視野の類似度に用いられる指標は、2台のカメラそれぞれのセンササイズs1、s2の第2の比率s1/s2であってもよい。また、2台のカメラ間の視野の類似度に用いられる指標は、2台のカメラそれぞれの焦点距離f1、f2の第3の比率f1/f2であってもよい。第1の比率φ1/φ2、第2の比率s1/s2および第3の比率f1/f2のそれぞれは、値が1に近いほど両者がより類似していることが示される指標として用いることができる。
 このように、2台のカメラ間の視野の類似度は、当該2台のカメラのカメラパラメータを用いて算出することができる。
 また、2台のカメラ間の視野の類似度は、輻輳角θ、距離dおよび比率φ1/φ2の組み合わせにより示されてもよい。2台のカメラ間の視野の類似度が複数の指標の組み合わせにより算出される場合、当該類似度は、各指標を大きい値であるほど両者がより類似していることを示す値に変換し、変換された各値の重み付け加算することにより得られた値としてもよい。
 切替部512は、例えば、2台のカメラの視野の類似度が所定の閾値以上である場合、2台のカメラが類似していると判定する。一方で、切替部512は、類似度が所定の閾値未満である場合、2台のカメラが類似していないと判定する。以下では、視野の類似度が所定の閾値以上である2台のカメラにより得られた2枚のフレームの組み合わせを第1の組み合わせとし、視野の類似度が所定の閾値未満である2台のカメラにより得られた2枚のフレームの組み合わせを第2の組み合わせとする。
 ステップS512において2台のカメラの視野が互いに類似していると判定された場合、ループ3が実行される。ループ3は、複数の第1の組み合わせのそれぞれについて実行される。ループ3の処理は、n枚のフレームのうちの2以上の第1フレームであって、複数のカメラ100-1~100-nのうちの視野の類似度が所定の閾値以上である2以上の第1カメラによりそれぞれ得られた2以上の第1フレームそれぞれにおける複数の特徴点について、第1マッチングを2以上の第1フレーム間で行い、得られた第1マッチング結果に基づいて、1以上の第1三次元点を生成する処理の一例である。第1カメラは、第1撮像装置の一例であり、第1フレームは、第1画像の一例である。
 一方で、ステップS512において2台のカメラが互いに類似していないと判定された場合、ループ4が実行される。ループ4は、複数の第2の組み合わせのそれぞれについて実行される。ループ4の処理は、n枚のフレームのうちの2以上のフレームであって、複数のカメラ100-1~100-nのうちの視野の類似度が所定の閾値未満の2以上の第2カメラによりそれぞれ得られた2以上の第2フレームそれぞれにおける複数の特徴点について、第1マッチングよりも精度の低い第2マッチングを2以上の第2フレーム間で行い、得られた第2マッチング結果に基づいて、1以上の第2三次元点を生成する処理の一例である。第2カメラは、第2撮像装置の一例であり、第2フレームは、第2画像の一例である。
 以下、ループ3の具体例について図16~図19を用いて説明する。図16は、特徴点対応部513による処理について説明するための図である。図17は、パッチ算出部515による処理について説明するための図である。図18は、フレーム選択部516による処理について説明するための図である。図19は、最適化部517による処理について説明するための図である。
 ループ3では、処理対象の第1の組み合わせの2枚のフレームのうちの一方のフレームである参照フレームに含まれる複数の特徴点のそれぞれについて行われ、ステップS513~S517が行われる。ループ3は、第2ループの一例である。ここで用いられる複数の特徴点は、n枚のフレーム毎に特徴点検出部511により検出された複数の特徴点である。
 ステップS513では、図16に示されるように、特徴点対応部513は、処理対象の特徴点P1に対応する対応点P2を、処理対象の第1の組み合わせのうちの他方のフレーム(つまり、参照フレームI1とは異なる他のフレームI2)から小数画素精度で算出する(S513)。特徴点対応部513は、例えば、非特許文献1に記載されている位相限定相関法のように小数画素精度の高精度な第1マッチングを行うことで、参照フレームI1の特徴点P1に対応する対応点P2を他のフレームI2から算出する。対応点P2は、第1対応点の一例である。
 ステップS514では、評価部514は、特徴点対応部513において算出された対応点P2を評価する(S514)。評価部514は、評価することで得られた評価値が第1評価値以上であるか否かを判定し、評価値が第1評価値以上である場合に、当該対応点P2を用いて後でパッチ算出部515により算出される三次元パッチを三次元点群に追加すると決定する。この場合、この後で、次のステップS515が実行される。一方で、評価値が第1評価値未満である場合に、その後のステップS515~S517の処理を実行せずに、次の特徴点についてステップS513~S571を実行する。なお、評価部514は、具体的には、位相限定相関法の評価関数のピーク値を評価値として算出する。
 ステップS515では、図17に示されるように、パッチ算出部515は、処理対象の特徴点P1と、特徴点対応部513により算出された対応点P2と、参照フレームI1が得られたカメラのカメラパラメータと、他のフレームI2が得られたカメラのカメラパラメータとを用いて、三角測量により、三次元パッチp1の三次元位置を算出する(S515)。パッチ算出部515は、参照フレームI1が得られたカメラの三次元位置と三次元パッチp1の三次元位置とを結んだ直線と平行な方向を、三次元パッチp1の仮の法線方向として一時的に決定する。なお、一方のフレームI1が得られたカメラは、第3撮像装置の一例である。他方のフレームI2が得られたカメラは、第4撮像装置の一例である。ここで算出された三次元パッチp1は、第1三次元パッチの一例である。
 ステップS516では、図18に示されるように、フレーム選択部516は、複数の第1フレームのうち、処理対象の第1の組み合わせのフレームI1、I2を除く複数のフレームから、パッチ算出部515により算出された三次元パッチp1が映り込んでいる1以上の第1可視フレームI3を特定する。そして、フレーム選択部516は、特定された1以上の第1可視フレームI3のそれぞれについて、当該第1可視フレームI3が得られたカメラのカメラパラメータを用いて三次元パッチp1を投影することで当該第1可視フレームI3における二次元点である投影点P3を算出する(S516)。なお、図18では、1枚の第1可視フレームI3が示されているが、複数の第1可視フレームI3が特定される場合もあり、この場合には、複数の第1可視フレームI3のそれぞれについて投影点P3が算出される。なお、第1可視フレームI3は、第1可視画像の一例である。また、第1可視フレームI3が得られたカメラは、第5撮像装置の一例である。また、投影点P3は、第1二次元点の一例である。
 ステップS517では、図19に示されるように、最適化部517は、パッチ算出部515により算出された三次元パッチp1と、フレーム選択部516により算出された1以上の投影点P3とを用いて、投影一貫性を表す評価値が最小となるように、三次元パッチp1の法線方向を補正し、補正後の三次元パッチp2を第1三次元点として生成する(S517)。最適化部517は、具体的には、参照フレームI1の特徴点P1の位置および三次元パッチp1の三次元位置を固定したまま、三次元パッチp1の法線方向、他のフレームI2上の対応点P2の位置および第1可視フレームI3の投影点P3の位置を最適化する。最適化部517は、例えば、参照フレームI1と、他のフレームI2および1以上の第1可視フレームI3のそれぞれとの組み合わせにおいて特徴点周辺の小領域間のNormalized Cross Correlation(NCC)をN(I,J,p)とし、式3を用いて算出する。そして、算出されたNCCの合計値を三次元パッチp2の可視カメラへの投影一貫性を示す評価値とする。なお、可視カメラとは、他のフレームI2および1以上の第1可視フレームI3のそれぞれのフレームが得られたカメラであり、三次元パッチp2が撮像されるカメラである。
Figure JPOXMLDOC01-appb-M000001
 これにより、算出された三次元パッチp2は、三次元位置と、法線方向と、当該三次元パッチp2が撮影される可視フレームである他のフレームI2および1以上の第1可視フレームI3を示す可視フレーム情報とを含む。算出された三次元パッチp2は、第1三次元点としてメモリに記憶される。
 第1生成におけるループ3では、視野の類似度が所定の閾値以上の関係にある2台のカメラにより得られた第1の組み合わせの2つのフレームについて、高精度に特徴点をマッチングする第1マッチングを用いて三次元点の三次元位置を算出する。このため、三次元位置の誤差を低減することができる。また、最適化部517の処理の開始時の誤差が少なく、かつ、パラメータの数も少なくすることができるため、最適化による収束を早めることができ、処理時間を短縮することができる。
 次に、ループ4の具体例について図20~図23を用いて説明する。図20は、対応点候補選択部518および候補パッチ算出部519による処理について説明するための図である。図21は、フレーム選択部520による処理について説明するための図である。図22および図23は、最適化部521による処理を説明するための図である。
 ループ4では、処理対象の第2の組み合わせの2枚のフレームのうちの一方のフレームである参照フレームに含まれる複数の特徴点のそれぞれについて行われ、ステップS518~S522が行われる。ループ4は、第3ループの一例である。ここで用いられる複数の特徴点は、n枚のフレーム毎に特徴点検出部511により検出された複数の特徴点である。
 ステップS518では、図20に示されるように、対応点候補選択部518は、第2マッチングを行うことで、処理対象の特徴点P11に対応する1以上の対応点候補を、処理対象の第2の組み合わせのうちの他方のフレーム(つまり、参照フレームI11とは異なる他のフレームI12)から整数画素精度で算出する(S518)。第2マッチングは、処理対象の第2の組み合わせの2つのフレーム間において、2つのフレームのそれぞれで算出された複数の特徴点を、2つのフレームが得られた2台のカメラのカメラパラメータを用いて、参照フレームI11と他のフレームI12との間の幾何学的な整合性に基づいてマッチングする処理である。対応点候補選択部518は、具体的には、参照フレームI11が得られたカメラのカメラパラメータ、および、他のフレームI12が得られたカメラのカメラパラメータを用いて、参照フレームI11の特徴点P11に対するエピポーラ線L1を他のフレームI12上に引く。このとき、参照フレームI11の特徴点P11に対する他のフレームI12上の対応点は、他のフレームI12上に引かれたエピポーラ線L1上に存在する。他のフレームI2上で検出された複数の特徴点のうち、エピポーラ線L1との距離が任意の閾値以下である1以上の特徴点を対応点候補P12として算出する。対応点候補P12は、第2対応点の一例である。
 次に、ステップS518で得られた1以上の対応点候補のそれぞれについてループ5が実行される。ループ5では、ステップS519~S522が行われる。
 ステップS519では、図20に示されるように、候補パッチ算出部519は、処理対象の特徴点P11と、処理対象の対応点候補P12と、参照フレームI11が得られたカメラのカメラパラメータと、他のフレームI12が得られたカメラのカメラパラメータとを用いて、三次元パッチp11の三次元位置および法線方向を算出する(S519)。候補パッチ算出部519は、参照フレームI11の特徴点P11と、他のフレームI12の対応点候補P12とについて、上記カメラパラメータを用いた三角測量により、三次元パッチp11の三次元位置を算出する。また、候補パッチ算出部519は、参照フレームI11を撮像したカメラの三次元位置座標と、三次元パッチp11の三次元位置とを結んだ直線の方向を、三次元パッチp11の仮の法線方向として一時的に決定する。なお、一方のフレームI11が得られたカメラは、第6撮像装置の一例である。他方のフレームI12が得られたカメラは、第7撮像装置の一例である。ここで算出された三次元パッチp2は、第2三次元パッチの一例である。
 ステップS520では、図21に示されるように、フレーム選択部520は、複数の第2フレームのうち、処理対象の第2の組み合わせのフレームI11、I12を除く複数のフレームから、候補パッチ算出部519により算出された三次元パッチp11が映り込んでいる1以上の第2可視フレームI13を特定する。そして、フレーム選択部520は、特定された1以上の第2可視フレームI13のそれぞれについて、当該第2可視フレームI13が得られたカメラのカメラパラメータを用いて三次元パッチp11を投影することで当該第2可視フレームI13における二次元点である投影点P13を算出する(S520)。なお、図21では、1枚の第2可視フレームI13が示されているが、複数の第2可視フレームI13が特定される場合もあり、この場合には、複数の第2可視フレームI13のそれぞれについて投影点P13が算出される。なお、第2可視フレームI13は、第2可視画像の一例である。また、第2可視フレームI13が得られたカメラは、第8撮像装置の一例である。また、投影点P13は、第2二次元点の一例である。
 ステップS521では、図22および図23に示されるように、最適化部521は、候補パッチ算出部519により算出された三次元パッチp11と、フレーム選択部520により算出された1以上の投影点P13とを用いて、投影一貫性を示す評価値が最小となるように、三次元パッチp11の三次元位置および法線方向と対応点候補P12の位置と1以上の投影点P13の位置とを補正し、補正後の三次元パッチp12を第2三次元点として生成する(S521)。最適化部521は、具体的には、参照フレームI11の特徴点P11の位置を固定したまま、三次元パッチp11の三次元位置および法線方向、他のフレームI12上の対応点候補P12の位置および第2可視フレームI13の投影点P13の位置を最適化する。最適化部521は、三次元パッチp11の三次元位置を、参照フレームI11が得られたカメラの三次元位置と、三次元パッチp11の三次元位置とを結んだ直線上から外れないように移動させながら最適化する。最適化部521は、例えば、参照フレームI11と、他のフレームI12および1以上の第2可視フレームI13のそれぞれとの組み合わせにおいて特徴点周辺の小領域間のNormalized Cross Correlation(NCC)をN(I,J,p)とし、上述した式3を用いて算出する。そして、算出されたNCCの合計値を三次元パッチp12の可視カメラへの投影一貫性を示す評価値とする。なお、可視カメラとは、他のフレームI12および1以上の第2可視フレームI13のそれぞれのフレームが得られたカメラであり、三次元パッチp12が撮像されるカメラである。
 これにより、算出された三次元パッチp12は、三次元位置と、法線方向と、当該三次元パッチp12が撮影される可視フレームである他のフレームI12および1以上の第2可視フレームI13を示す可視フレーム情報とを含む。
 なお、最適化では、三次元パッチp11の三次元位置および法線方向、他のフレームI12上の対応点候補P12の位置、および、1以上の第2可視フレームI13上の1以上の投影点P13の位置を微小に変位させながら、N(I,J,p)の合計値が最大化、または、1-{N(I,J,p)の合計値}が最小化される各パラメータの値を算出する。これにより、三次元パッチp11の三次元位置および法線方向が最適化された三次元パッチp12が得られ、他のフレームI12上の対応点候補P12の位置が最適化された対応点候補P12aが得られ、1以上の第2可視フレームI13上の1以上の投影点P13の位置が最適化された投影点P13aが得られる。
 ステップS522では、評価部522は、最適化後のN(I,J,p)の合計値が任意の閾値以上、または、1-{N(I,J,p)の合計値}が任意の閾値以下であるか否かを判定し、最適化後のN(I,J,p)の合計値が任意の閾値以上、または、1-{N(I,J,p)の合計値}が任意の閾値以下である場合、算出された三次元パッチp12を第2三次元点としてメモリに記憶する。
 第1生成におけるループ4では、視野の類似度が所定の閾値未満の関係にある2台のカメラにより得られた第2の組み合わせの2つのフレームについて、幾何学的な整合性に基づく第2マッチングを用いて三次元点群を生成するため、低精度な三次元点が生成されること、および、処理に多くの時間を要してしまうことを低減することができる。
 このように、第1生成では、ループ3が行われることにより三次元パッチp1が生成され、ループ4が行われることにより三次元パッチp12が生成される。これにより、第1生成では、疎な三次元点群が生成され、疎な三次元点群から構成される初期三次元モデルが生成される。
 次に、第2生成の詳細な処理について、図24~図35を用いて説明する。
 図24は、拡張部411の構造の一例を示すブロック図である。図25は、拡張部411の動作の一例を示すフローチャートである。
 ここでは、拡張部411の各ブロックについて図24を用いて説明すると共に、各ブロックで行われる処理の流れについて図25を用いて説明する。
 拡張部411は、切替部611と、対応部612と、評価部613と、パッチ算出部614と、フレーム選択部615と、最適化部616と、候補パッチ算出部617と、フレーム選択部618と、最適化部619と、評価部620とを備える。
 第2生成では、まず、対応するタイミングで撮像されたn枚のフレームのそれぞれについてステップS611~S620の処理を繰り返すループ6が行われる。ループ6では、以下を実行する。ループ6は、具体的には、n枚のフレームのうちの1枚のフレームを参照フレームとして選択し、選択された参照フレームと、n枚のフレームから参照フレームを除いたn-1枚のフレームのそれぞれとの組を複数生成し、生成された複数の組のそれぞれについて、実行される。つまり、n枚のフレームをのうちの2枚のフレームを選んだときに取り得る全ての組み合わせそれぞれについて、ループ6が実行される。ループ6は、第5ループの一例である。
 切替部611は、処理対象の組み合わせの2枚のフレームをそれぞれ撮像した2台のカメラの視野が互いに類似しているか否かを判定する(S611)。なお、この判定で用いられる2台のカメラ間の視野の類似度は、ステップS512において用いられる類似度と同じ値が用いられる。つまり、類似度算出部510により算出された類似度が用いられる。切替部611は、初期生成部410の類似度算出部510において算出された類似度を初期生成部410から取得し、取得された類似度を用いてステップS611の判定を行う。
 ステップS611において2台のカメラが互いに類似していると判定された場合、ループ7が実行される。ループ7は、疎な三次元点群を構成する複数の第3三次元点のそれぞれについて実行される。ループ7の処理は、複数の第3三次元点の近傍にある複数の近傍三次元点のそれぞれについて、当該近傍三次元点および2以上の第1フレームに基づいて、第1マッチングを2以上の第1フレーム間で行い、得られた第1マッチングの結果に基づいて、1以上の新たな第1三次元点を生成する処理の一例である。
 一方で、ステップS611において2台のカメラが互いに類似していないと判定された場合、ループ8が実行される。ループ8は、疎な三次元点群を構成する複数の第3三次元点の近傍にある複数の近傍三次元点のそれぞれについて、当該近傍三次元点および2以上の第2フレームに基づいて、第2マッチングを2以上の第2フレーム間で行い、得られた第2マッチング結果に基づいて、1以上の新たな第2三次元点を生成する処理の一例である。
 以下、ループ7の具体例について、図26~図30を用いて説明する。図26は、拡張部411による処理について説明するための図である。図27は、対応部612による処理について説明するための図である。図28は、評価部613およびパッチ算出部614による処理について説明するための図である。図29は、フレーム選択部615による処理について説明するための図である。図30は、最適化部616による処理について説明するための図である。
 ループ7では、図26に示されるように、複数の第3三次元点のそれぞれについて行われ、当該第3三次元点である基準パッチp21に基づいて、三次元点を拡張する(増加させる)処理が行われる。ループ7は、第6ループの一例である。また、ループ7の処理は、処理対象の基準パッチp21が映り込んでいる1以上の可視フレームそれぞれにおいて行われる。ループ7の処理は、各フレームの画素単位で行われてもよいし、例えば2×2画素で構成される小領域単位で行われてもよい。つまり、処理単位に対し、1つの三次元点が生成されてもよい。この処理単位は、セルと呼ばれる。セルは、図26~図30におけるフレームI21~I23において、1マスで示される。ここでは、フレームI22を参照フレームとして拡張を例に説明する。
 対応部612は、図27に示されるように、処理対象の第1の組み合わせのうちの参照フレームI22に、処理対象の基準パッチp21を投影することで当該参照フレームI22における投影点P22を算出する。そして、対応部612は、第1マッチングを行うことで、参照フレームI22を構成する複数のセルのうち、特定された投影点P22を含む第1セルC22に隣接する第2セルC22a内の二次元点P22aに対応する対応点P23aを、処理対象の第1の組み合わせのうちの他のフレームI23から小数画素精度で算出する(S612)。対応部612は、例えば、非特許文献1に記載されている位相限定相関法のように小数画素精度の高精度な第1マッチングを行うことで、参照フレームI22の二次元点P22aに対応する対応点P23aを他のフレームI23から算出する。対応点P23aは、第3対応点の一例である。
 ステップS612では、第1の組み合わせにおいて、参照フレームI22と組となる他のフレームI23について対応点を算出するとしたが、これに限らない。参照フレームI22の第2セルC22a内の二次元点P22aに対応する対応点の算出は、基準パッチp21が映り込んでいる複数の可視フレームの全てについて行われてもよいし、参照フレームI22が撮像されたカメラの近傍にあるカメラにより撮像された近傍フレームについて行われてもよいし、参照フレーム以外の全フレームの中で参照フレームI22が撮像されたカメラとの間で視野の類似度の高いカメラにより撮像されたフレームについて行われてもよい。
 ステップS613では、評価部613は、対応部612において算出された対応点P23aを評価する(S613)。評価部613は、評価することで得られた評価値が第1評価値以上であるか否かを判定し、評価値が第2評価値以上である場合に、当該対応点P23aを用いて後でパッチ算出部614により算出される三次元パッチを三次元点群に追加すると決定する。この場合、この後で、次のステップS614が実行される。一方で、評価値が第1評価値未満である場合に、その後のステップS614~S616の処理を実行せずに、次の第1セルおよび第2セルとは異なるセル内の二次元点についてステップS612~S616を実行する。なお、評価部613は、具体的には、位相限定相関法の評価関数のピーク値を評価値として算出する。
 ステップS614では、図28に示されるように、パッチ算出部614は、二次元点P22aと、対応部612により算出された対応点P23aと、参照フレームI22が得られたカメラのカメラパラメータと、他のフレームI23が得られたカメラのカメラパラメータとを用いて、三角測量により、三次元パッチq21の三次元位置を算出する(S614)。三次元パッチq21は、近傍三次元点の一例である。パッチ算出部614は、参照フレームI22が得られたカメラの三次元位置と三次元パッチq21の三次元位置とを結んだ直線と平行な方向を、三次元パッチq21の仮の法線方向として一時的に決定する。ここで、得られた三次元パッチq21は、既に密な三次元点群として追加することが決定しているため、新たな第1三次元点としてメモリに記憶されてもよい。なお、参照フレームI22が得られたカメラは、第9撮像装置の一例である。他方のフレームI23が得られたカメラは、第10撮像装置の一例である。ここで算出された三次元パッチq21は、第3三次元パッチの一例である。
 ステップS615では、図29に示されるように、フレーム選択部615は、複数の第1フレームのうち、処理対象の第1の組み合わせのフレームI22、I23を除く複数のフレームから、パッチ算出部614により算出された三次元パッチq21が映り込んでいる1以上の第3可視フレームI21を特定する。そして、フレーム選択部615は、特定された1以上の第3可視フレームI21のそれぞれについて、当該第3可視フレームI21が得られたカメラのカメラパラメータを用いて三次元パッチq21を投影することで当該第3可視フレームI21における二次元点である投影点P21aを算出する(S615)。なお、図29では、1枚の第3可視フレームI21が示されているが、複数の第3可視フレームI21が特定される場合もあり、この場合には、複数の第3可視フレームI21のそれぞれについて投影点P21aが算出される。なお、第3可視フレームI21は、第3可視画像の一例である。また、第3可視フレームI21が得られたカメラは、第11撮像装置の一例である。また、投影点P21aは、第5二次元点の一例である。
 ステップS616では、図30に示されるように、最適化部616は、パッチ算出部614により算出された三次元パッチq21と、フレーム選択部615により算出された1以上の投影点P21aとを用いて、投影一貫性を表す評価値が最小となるように、三次元パッチq21の法線方向を補正し、補正後の三次元パッチq22を新たな第1三次元点として生成する(S616)。最適化部616は、具体的には、参照フレームI22の二次元点P22aの位置および三次元パッチq21の三次元位置を固定したまま、三次元パッチq21の法線方向、他のフレームI23上の対応点P23aの位置および第3可視フレームI21の投影点P21aの位置を最適化する。最適化部616は、例えば、参照フレームI22と、他のフレームI23および1以上の第3可視フレームI21のそれぞれとの組み合わせにおいて特徴点周辺の小領域間のNormalized Cross Correlation(NCC)をN(I,J,p)とし、式3を用いて算出する。そして、算出されたNCCの合計値を三次元パッチq22の可視カメラへの投影一貫性を示す評価値とする。なお、可視カメラとは、他のフレームI23および1以上の第3可視フレームI21のそれぞれのフレームが得られたカメラであり、三次元パッチq22が撮像されるカメラである。
 これにより、算出された三次元パッチq22は、三次元位置と、法線方向と、当該三次元パッチq22が撮影される可視フレームである他のフレームI23および1以上の第3可視フレームI21を示す可視フレーム情報とを含む。算出された三次元パッチq22は、新たな第1三次元点としてメモリに記憶される。
 第2生成におけるループ7では、視野の類似度が所定の閾値以上の関係にある2台のカメラにより得られた第1の組み合わせの2つのフレームについて、高精度に特徴点をマッチングする第1マッチングを用いて三次元点の三次元位置を算出する。ため、三次元位置の誤差を低減することができる。また、最適化部616の処理の開始時の誤差が少なく、かつ、パラメータの数も少なくすることができるため、最適化による収束を早めることができ、処理時間を短縮することができる。
 次に、ループ8の具体例について図31~図35を用いて説明する。図31は、拡張部411による処理について説明するための図である。図32は、候補パッチ算出部617による処理について説明するための図である。図33は、フレーム選択部618による処理について説明するための図である。図34は、最適化部619による処理について説明するための図である。図35は、評価部620による処理について説明するための図である。
 ループ8では、図31に示されるように、複数の第3三次元点のそれぞれについて行われ、当該第3三次元点である基準パッチp31に基づいて、三次元点を拡張する(増加させる)処理が行われる。ループ8は、第7ループの一例である。また、ループ8の処理は、処理対象の基準パッチp31が映り込んでいる1以上の可視フレームそれぞれにおいて行われる。ループ8の処理は、各フレームの画素単位で行われてもよいし、例えば2×2画素で構成される小領域単位で行われてもよい。つまり、処理単位に対し、1つの三次元点が生成されてもよい。この処理単位は、セルと呼ばれる。セルは、図31~図35におけるフレームI31~I33において、1マスで示される。ここでは、フレームI32を参照フレームとして拡張を例に説明する。
 ステップS617では、図32に示されるように、候補パッチ算出部617は、処理対象の第2の組み合わせのうちの参照フレームI32に、処理対象の基準パッチp31を投影することで参照フレームI32における投影点P32を算出する。そして、候補パッチ算出部617は、処理対象の基準パッチp31の基準パッチ平面と、参照フレームI32を構成する複数のセルのうち、特定された投影点P32を含む第3セルC32に隣接する第4セルC32a内の二次元点P32aを通過し、かつ、参照フレームI32が得られたカメラの光軸rとの交点の三次元位置を三次元パッチq31の三次元位置として算出する(S617)。三次元パッチq31は、近傍三次元点の一例である。参照フレームI32が得られたカメラの光軸rは、当該カメラのカメラパラメータを用いて算出される。候補パッチ算出部617は、基準パッチp31の法線方向を、三次元パッチq31の法線方向として一時的に決定する。投影点P32は、第6二次元点の一例である。参照フレームI32が得られたカメラは、第12撮像装置の一例である。
 ステップS618では、図33に示されるように、フレーム選択部618は、複数の第2フレームのうち、処理対象の第2の組み合わせのフレームI32、I33を除く複数のフレームから、候補パッチ算出部617により算出された三次元パッチq31が映り込んでいる1以上の第4可視フレームI31を特定する。そして、フレーム選択部618は、特定された1以上の第4可視フレームI31、I33のそれぞれについて、当該第4可視フレームI31、I33が得られたカメラのカメラパラメータを用いて三次元パッチq31を投影することで当該第4可視フレームI31、I33における二次元点である投影点P31a、P33aを算出する(S618)。なお、図33では、2枚の第4可視フレームI31、I33が示されているが、3以上の第4可視フレームが特定される場合もあり、この場合には、3以上の第4可視フレームのそれぞれについて投影点が算出される。なお、第4可視フレームI31、I33は、第4可視画像の一例である。また、第4可視フレームI31、I33が得られたカメラは、第13撮像装置の一例である。また、投影点P31a、P33aは、第8二次元点の一例である。
 ステップS619では、図34および図35に示されるように、最適化部619は、候補パッチ算出部617により算出された三次元パッチq31と、フレーム選択部618により算出された1以上の投影点P31aとを用いて、投影一貫性を示す評価値が最小となるように、三次元パッチq31の三次元位置および法線方向と1以上の投影点P31a、P33aの位置とを補正し、補正後の三次元パッチq32を新たな第2三次元点として生成する(S619)。最適化部619は、具体的には、参照フレームI32の二次元点P32aの位置を固定したまま、三次元パッチq31の三次元位置および法線方向、第4可視フレームI31、I33の投影点P31a、P33aの位置を最適化する。最適化部619は、三次元パッチq31の三次元位置を、光軸r上から外れないように移動させながら最適化する。最適化部619は、例えば、参照フレームI32と、1以上の第4可視フレームI31、I33のそれぞれとの組み合わせにおいて特徴点周辺の小領域間のNormalized Cross Correlation(NCC)をN(I,J,p)とし、上述した式3を用いて算出する。そして、算出されたNCCの合計値を三次元パッチq32の可視カメラへの投影一貫性を示す評価値とする。なお、可視カメラとは、1以上の第4可視フレームI31、I33のそれぞれのフレームが得られたカメラであり、三次元パッチq32が撮像されるカメラである。
 これにより、算出された三次元パッチq32は、三次元位置と、法線方向と、当該三次元パッチq32が撮影される可視フレームである1以上の第4可視フレームI31、I33を示す可視フレーム情報とを含む。
 なお、最適化では、三次元パッチq31の三次元位置および法線方向と、1以上の第4可視フレームI31、I33上の1以上の投影点P31a、P33aの位置を微小に変位させながら、N(I,J,p)の合計値が最大化、または、1-{N(I,J,p)の合計値}が最小化される各パラメータの値を算出する。これにより、三次元パッチq31の三次元位置および法線方向が最適化された三次元パッチq32が得られ、1以上の第4可視フレームI31、I33上の1以上の投影点P31a、P33aの位置が最適化された投影点P31b、P33bが得られる。
 ステップS620では、評価部620は、最適化後のN(I,J,p)の合計値が任意の閾値以上、または、1-{N(I,J,p)の合計値}が任意の閾値以下であるか否かを判定し、最適化後のN(I,J,p)の合計値が任意の閾値以上、または、1-{N(I,J,p)の合計値}が任意の閾値以下である場合、算出された三次元パッチq32を新たな第2三次元点としてメモリに記憶する。
 このように、第2生成では、ループ7が行われることにより新たな三次元パッチq22が生成され、ループ8が行われることにより新たな三次元パッチq32が生成される。これにより、第2生成では、疎な三次元点群に基づいて密な三次元点群が生成され、密な三次元点群から構成される三次元モデルが生成される。
 第2生成におけるループ4では、視野の類似度が所定の閾値未満の関係にある2台のカメラにより得られた第2の組み合わせの2つのフレームについて、幾何学的な整合性に基づく第2マッチングを用いて三次元点群を生成するため、低精度な三次元点が生成されること、および、処理に多くの時間を要してしまうことを低減することができる。
 (効果など)
 本実施の形態に係る三次元再構成方法によれば、視野の類似度が類似している2以上のカメラによって得られた第1の組み合わせのフレームについては、精度の高い第1マッチングを行うことで1以上の第1三次元点を生成しているため、高精度な三次元点を高速で得ることができる。一方で、視野の類似度が類似していない2以上のカメラによって得られた第2の組み合わせのフレームについては、幾何学的な整合性に基づく第2マッチングを行うことで1以上の第2三次元点を生成しているため、低精度な三次元点が生成されること、および、処理に多くの時間を要してしまうことを低減することができる。このように、視野の類似度に応じて、第1マッチングおよび第2マッチングの一方を選択的に実行するため、高精度な三次元モデルを高速に生成することができる。
 (その他)
 上記実施の形態では、高精度の第1マッチングはS513およびS612のように小数画素精度でのマッチングであり、それより精度の低い第2マッチングはS518およびS617のように整数画素精度のマッチングとしているが、これに限らない。第1マッチングおよび第2マッチングは、共に小数画素精度のマッチングでも構わない。このとき、上記実施の形態で例に挙げたように、S513およびS612では位相限定相関法を使用し、S518およびS617ではNormalized Cross Correlationを使用する。一般に、視野の類似度の高い画像間でマッチングを行う際は、少数画素精度のマッチング方式の中では位相限定相関法の精度が高い。上記実施の形態では、三次元モデリング部311の初期生成部410において生成した複数の三次元点を基にして、拡張部411において三次元点を追加するが、初期生成部410は必ずしも必要ない。外部から取得した三次元点群、あるいは三次元再構成装置200で過去に生成した三次元点群を記憶部220に記憶しておき、拡張部411は、この三次元点群を基にして、三次元点の追加を実施してもよい。
 上記実施の形態では、第1生成においてカメラ間の視野の類似度に応じてループ3またはループ4を切り替えて行い、第2生成においてカメラ間の視野の類似度に応じてループ7またはループ8を切り替えて行うとしたがこれに限らない。例えば、第1生成において切替部512によりカメラ間の視野の類似度に応じてループ3またはループ4を切り替えて行い、第2生成ではループ7およびループ8のうちの一方のみを行ってもよい。また、例えば、第1生成においてループ3およびループ4のうちの一方のみを行い、第2生成においてカメラ間の視野の類似度に応じてループ7またはループ8を切り替えて行ってもよい。
 以上、本開示の実施の形態に係る三次元再構成システムについて説明したが、本開示は、この実施の形態に限定されるものではない。
 また、上記実施の形態に係る三次元再構成システムに含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。
 また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
 また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
 また、本開示は、三次元再構成システムにより実行される各種方法として実現されてもよい。
 また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
 また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
 以上、一つまたは複数の態様に係る三次元再構成システムについて、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
 本開示は、三次元再構成方法及び三次元再構成装置に適用でき、例えば、三次元空間認識システム、三次元再構成システム、及び次世代監視システム等に適用できる。
 100-1~100-n カメラ
 200 三次元再構成装置
 200-1、200-2、200-3、200-4、200-5、200-6、200-n 多視点フレームセット
 210 受信部
 220 記憶部
 230 取得部
 240 三次元再構成部
 241 制御部
 250 送信部
 310 カメラ校正部
 311 三次元モデリング部
 410 初期生成部
 411 拡張部
 412 フィルタリング部
 510 類似度算出部
 511 特徴点検出部
 512、611 切替部
 513 特徴点対応部
 514、613 評価部
 515、614 パッチ算出部
 516、520、615、618 フレーム選択部
 517、521、616、619 最適化部
 518 対応点候補選択部
 519、617 候補パッチ算出部
 522、620 評価部
 612 対応部
1000 撮影空間

Claims (14)

  1.  互いに異なる位置に配置されており、共通する三次元空間を撮像する複数の撮像装置から得られた複数の画像を用いて三次元点群により構成される三次元モデルを生成する三次元再構成方法であって、
     前記複数の撮像装置により互いに対応するタイミングで撮像された前記複数の画像を取得し、
     取得された前記複数の画像に基づいて複数の三次元点を生成し、
      前記複数の三次元点の生成では、
      前記複数の画像のうちの2以上の第1画像であって、前記複数の撮像装置のうちの視野の類似度が所定の閾値以上である2以上の第1撮像装置によりそれぞれ得られた2以上の第1画像それぞれにおける点について、第1マッチングを前記2以上の第1画像間で行い、得られた第1マッチング結果に基づいて、1以上の第1三次元点を生成し、
      前記複数の画像のうちの2以上の第2画像であって、前記複数の撮像装置のうちの前記類似度が前記所定の閾値未満の2以上の第2撮像装置によりそれぞれ得られた2以上の第2画像それぞれにおける点について、前記第1マッチングよりも精度の低い第2マッチングを前記2以上の第2画像間で行い、得られた第2マッチング結果に基づいて、1以上の第2三次元点を生成する
     三次元再構成方法。
  2.  前記複数の三次元点の生成では、取得された前記複数の画像にそれぞれ含まれる複数の特徴点のマッチングを前記複数の画像間で行うことにより前記複数の三次元点を生成する第1生成を行い、
     前記第1生成では、
      取得された前記複数の画像のそれぞれについて、複数の特徴点を検出し、
      前記2以上の第1画像のそれぞれにおける前記複数の特徴点について、前記第1マッチングを前記2以上の第1画像間で行い、得られた前記第1マッチング結果に基づいて、前記1以上の第1三次元点を生成し、
      前記2以上の第2画像のそれぞれにおける前記複数の特徴点について、前記第2マッチングを前記2以上の第2画像間で行い、得られた前記第2マッチング結果に基づいて、前記1以上の第2三次元点を生成する
     請求項1に記載の三次元再構成方法。
  3.  前記複数の三次元点のそれぞれは、被写体の表面上の点の三次元位置、および、当該点における当該表面に垂直な法線方向を示す三次元パッチであり、
     前記第1生成の前記1以上の第1三次元点の生成では、
      前記2以上の第1画像のうちの2つの第1画像を含む、処理対象の第1の組み合わせのうちの一方の第1画像の複数の特徴点のそれぞれについて、前記第1マッチングを行うことで、処理対象の特徴点に対応する第1対応点を、前記処理対象の第1の組み合わせのうちの他方の第1画像から算出し、
      前記処理対象の特徴点と、算出された前記第1対応点と、前記一方の第1画像が得られた第3撮像装置のカメラパラメータと、前記他方の第1画像が得られた第4撮像装置のカメラパラメータとを用いて、第1三次元パッチを算出し、
      前記第1三次元パッチと、前記第1三次元パッチが映り込んでいる1以上の第1可視画像のそれぞれに前記第1三次元パッチが投影された1以上の第1二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第1三次元パッチの法線方向を補正し、補正後の第1三次元パッチを前記第1三次元点として生成する
     請求項2に記載の三次元再構成方法。
  4.  前記第1生成の前記1以上の第2三次元点の生成では、
      前記2以上の第2画像のうちの2つの第2画像を含む、処理対象の第2の組み合わせのうちの一方の第2画像の複数の特徴点のそれぞれについて、前記第2マッチングを行うことで、前記処理対象の特徴点に対応する第2対応点を、前記処理対象の第2の組み合わせのうちの他方の第2画像から算出し、
      前記処理対象の特徴点と、算出された前記第2対応点と、前記一方の第2画像が得られた第6撮像装置のカメラパラメータと、前記他方の第2画像が得られた第7撮像装置のカメラパラメータとを用いて、第2三次元パッチを算出し、
      前記第2三次元パッチと、前記第2三次元パッチが映り込んでいる1以上の第2可視画像のそれぞれに前記第2三次元パッチが投影された1以上の第2二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第2三次元パッチの三次元位置および法線方向と前記1以上の第2二次元点の位置とを補正し、補正後の第2三次元パッチを前記第2三次元点として生成する
     請求項3に記載の三次元再構成方法。
  5.  前記複数の三次元点の生成では、さらに、前記複数の画像と、前記第1生成で生成された前記1以上の第1三次元点および前記1以上の第2三次元点により構成される第1三次元点群とを用いて新たな三次元点を生成し、生成された前記新たな三次元点を前記第1三次元点群に追加する第2生成を行い、
     前記第2生成では、
      前記第1三次元点群を構成する複数の第3三次元点の近傍にある複数の近傍三次元点のそれぞれについて、当該近傍三次元点および前記2以上の第1画像に基づいて、前記第1マッチングを前記2以上の第1画像間で行い、得られた第1マッチング結果に基づいて、1以上の新たな第1三次元点を生成し、
      前記第1三次元点群を構成する複数の第3三次元点の近傍にある複数の近傍三次元点のそれぞれについて、当該近傍三次元点および前記2以上の第2画像に基づいて、前記第2マッチングを前記2以上の第2画像間で行い、得られた第2マッチング結果に基づいて、1以上の新たな第2三次元点を生成し、
      前記第1三次元点群に、前記1以上の新たな第1三次元点、および、前記1以上の新たな第2三次元点を追加することにより、三次元点が追加された第2三次元点群を生成し、
      前記第2三次元点群を用いて第2三次元モデルを再構成する
     請求項2から4のいずれか1項に記載の三次元再構成方法。
  6.  前記第2生成の前記1以上の新たな第1三次元点の生成では、
      前記複数の第3三次元点のそれぞれについて、処理対象の第1の組み合わせのうちの一方の第1画像に、処理対象の第3三次元点を投影することで当該一方の第1画像における第3二次元点を算出し、
      前記第1マッチングを行うことで、前記一方の第1画像を構成する複数のセルのうち、特定された前記第3二次元点を含む第1セルに隣接する第2セル内の第4二次元点に対応する第3対応点を、前記処理対象の前記第1の組み合わせのうちの他方の第1画像から算出し、
      前記第4二次元点と、算出された前記第3対応点と、前記一方の第1画像が得られた第9撮像装置のカメラパラメータと、前記他方の第1画像が得られた第10撮像装置のカメラパラメータとを用いて、前記近傍三次元点である第3三次元パッチを算出し、
      前記第3三次元パッチと、前記第3三次元パッチが映り込んでいる1以上の第3可視画像に前記第3三次元パッチが投影された1以上の第5二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第3三次元パッチの法線方向を補正し、補正後の第3三次元パッチを前記新たな第1三次元点として生成する
     請求項5に記載の三次元再構成方法。
  7.  前記第2生成の前記1以上の新たな第2三次元点の生成では、
      前記複数の第3三次元点のそれぞれについて、処理対象の第2の組み合わせのうちの一方の第2画像に、処理対象の第3三次元点を投影することで当該一方の第2画像における第6二次元点を算出し、
      処理対象の第3三次元点の第4三次元パッチの基準パッチ平面と、前記一方の第2画像を構成する複数のセルのうち、特定された前記第6二次元点を含む第3セルに隣接する第4セル内の第7二次元点を通過し、かつ、前記一方の第2画像が得られた第12撮像装置の光軸との交点の三次元位置を、前記近傍三次元点である第4三次元パッチの三次元位置として算出し、
      前記第4三次元パッチと、前記第4三次元パッチが映り込んでいる1以上の第4可視画像に前記第4三次元パッチが投影された1以上の第8二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第4三次元パッチの三次元位置および法線方向と前記1以上の第8二次元点の位置とを補正し、補正後の第4三次元パッチを前記新たな第2三次元点として生成する
     請求項6に記載の三次元再構成方法。
  8.  前記複数の三次元点の生成では、さらに、前記複数の画像と、記憶部に記憶されている第1三次元点群とを用いて新たな三次元点を生成し、生成された前記新たな三次元点を前記第1三次元点群に追加する第2生成を行い、
     前記第2生成では、
      前記第1三次元点群を構成する複数の第3三次元点の近傍にある複数の近傍三次元点のそれぞれについて、当該近傍三次元点および前記2以上の第1画像に基づいて、前記第1マッチングを前記2以上の第1画像間で行い、得られた第1マッチング結果に基づいて、1以上の新たな第1三次元点を生成し、
      前記第1三次元点群を構成する複数の第3三次元点の近傍にある複数の近傍三次元点のそれぞれについて、当該近傍三次元点および前記2以上の第2画像に基づいて、前記第2マッチングを前記2以上の第2画像間で行い、得られた第2マッチング結果に基づいて、1以上の新たな第2三次元点を生成し、
      前記第1三次元点群に、前記1以上の新たな第1三次元点、および、前記1以上の新たな第2三次元点を追加することにより、三次元点が追加された第2三次元点群を生成し、
      前記第2三次元点群を用いて第2三次元モデルを再構成する
     請求項1に記載の三次元再構成方法。
  9.  前記第2生成の前記1以上の新たな第1三次元点の生成では、
      前記複数の第3三次元点のそれぞれについて、処理対象の第1の組み合わせのうちの一方の第1画像に、処理対象の第3三次元点を投影することで当該一方の第1画像における第3二次元点を算出し、
      前記第1マッチングを行うことで、前記一方の第1画像を構成する複数のセルのうち、特定された前記第3二次元点を含む第1セルに隣接する第2セル内の第4二次元点に対応する第3対応点を、前記処理対象の前記第1の組み合わせのうちの他方の第1画像から算出し、
      前記第4二次元点と、算出された前記第3対応点と、前記一方の第1画像が得られた第9撮像装置のカメラパラメータと、前記他方の第1画像が得られた第10撮像装置のカメラパラメータとを用いて、前記近傍三次元点である第3三次元パッチを算出し、
      前記第3三次元パッチと、前記第3三次元パッチが映り込んでいる1以上の第3可視画像に前記第3三次元パッチが投影された1以上の第5二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第3三次元パッチの法線方向を補正し、補正後の第3三次元パッチを前記新たな第1三次元点として生成する
     請求項8に記載の三次元再構成方法。
  10.  前記第2生成の前記1以上の新たな第2三次元点の生成では、
      前記複数の第3三次元点のそれぞれについて、処理対象の第2の組み合わせのうちの一方の第2画像に、処理対象の第3三次元点を投影することで当該一方の第2画像における第6二次元点を算出し、
      処理対象の第3三次元点の第4三次元パッチの基準パッチ平面と、前記一方の第2画像を構成する複数のセルのうち、特定された前記第6二次元点を含む第3セルに隣接する第4セル内の第7二次元点を通過し、かつ、前記一方の第2画像が得られた第12撮像装置の光軸との交点の三次元位置を第4三次元パッチの三次元位置として算出し、
      前記第4三次元パッチと、前記第4三次元パッチが映り込んでいる1以上の第4可視画像に前記第4三次元パッチが投影された1以上の第8二次元点とを用いて、投影一貫性を表す評価値が最小となるように、前記第4三次元パッチの三次元位置および法線方向と前記1以上の第8二次元点の位置とを補正し、補正後の第4三次元パッチを前記新たな第2三次元点として生成する
     請求項9に記載の三次元再構成方法。
  11.  前記第1マッチングでは、2以上の画像の一方の画像における点に対応する、他方の画像における対応点を小数画素精度で特定し、
     前記第2マッチングでは、2以上の画像の一方の画像における点に対応する、他方の画像における対応点を整数画素精度で特定する
     請求項1から10のいずれか1項に記載の三次元再構成方法。
  12.  前記第1マッチングは、位相限定相関法を用いたマッチングである
     請求項1から11のいずれか1項に記載の三次元再構成方法。
  13.  前記第1マッチングは、位相限定相関法を用いたマッチングであり、
     前記第2マッチングは、Normalized Cross Correlationを用いたマッチングである
     請求項1から11のいずれか1項に記載の三次元再構成方法。
  14.  互いに異なる位置に配置されており、共通する三次元空間を撮像する複数の撮像装置から得られた複数の画像を用いて三次元点群を含む三次元モデルを生成する三次元再構成装置であって、
     対応するタイミングで前記複数の撮像装置により撮像された前記複数の画像を取得する取得部と、
     取得された前記複数の画像に基づいて複数の三次元点を生成する生成部と、を備え、
     前記生成部は、
      前記複数の画像のうちの2以上の第1画像であって、前記複数の撮像装置のうちの視野の類似度が所定の閾値より大きい2以上の第1撮像装置によりそれぞれ得られた2以上の第1画像それぞれにおける点について、第1マッチングを前記2以上の第1画像間で行い、得られた第1マッチング結果に基づいて、1以上の第1三次元点を生成し、
      前記複数の画像のうちの2以上の第2画像であって、前記複数の撮像装置のうちの前記類似度が前記所定の閾値未満の2以上の第2撮像装置によりそれぞれ得られた2以上の第2画像それぞれにおける点について、前記第1マッチングよりも精度の低い第2マッチングを前記2以上の第2画像間で行い、得られた第2マッチング結果に基づいて、1以上の第2三次元点を生成する
     三次元再構成装置。
PCT/JP2019/021330 2018-05-30 2019-05-29 三次元再構成方法および三次元再構成装置 WO2019230813A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020522255A JP7227969B2 (ja) 2018-05-30 2019-05-29 三次元再構成方法および三次元再構成装置
US17/081,410 US20210044787A1 (en) 2018-05-30 2020-10-27 Three-dimensional reconstruction method, three-dimensional reconstruction device, and computer

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862677933P 2018-05-30 2018-05-30
US62/677,933 2018-05-30

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/081,410 Continuation US20210044787A1 (en) 2018-05-30 2020-10-27 Three-dimensional reconstruction method, three-dimensional reconstruction device, and computer

Publications (1)

Publication Number Publication Date
WO2019230813A1 true WO2019230813A1 (ja) 2019-12-05

Family

ID=68698896

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/021330 WO2019230813A1 (ja) 2018-05-30 2019-05-29 三次元再構成方法および三次元再構成装置

Country Status (3)

Country Link
US (1) US20210044787A1 (ja)
JP (1) JP7227969B2 (ja)
WO (1) WO2019230813A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112150612A (zh) * 2020-09-23 2020-12-29 上海眼控科技股份有限公司 三维模型构建方法、装置、计算机设备及存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7223978B2 (ja) * 2018-05-23 2023-02-17 パナソニックIpマネジメント株式会社 校正装置および校正方法
US11483540B2 (en) * 2018-08-22 2022-10-25 I-Conic Vision Ab Method and corresponding system for generating video-based 3-D models of a target such as a dynamic event
CN113470002B (zh) * 2021-07-22 2023-11-10 中国科学院空天信息创新研究院 一种层析sar三维点云重建质量评价方法及装置
CN113593043B (zh) * 2021-08-19 2024-03-08 中山大学 一种基于生成对抗网络的点云三维重建方法与系统
CN113888695A (zh) * 2021-09-21 2022-01-04 西北工业大学 基于分支重构配准的非合作目标三维重建方法
CN114722226B (zh) * 2022-06-09 2022-11-15 深圳大学 一种可匹配影像自适应检索方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004286465A (ja) * 2003-03-19 2004-10-14 Minolta Co Ltd 画像による対象物の計測方法および撮像装置
JP2009077092A (ja) * 2007-09-20 2009-04-09 Hitachi Ltd マルチカメラシステム
JP2017103602A (ja) * 2015-12-01 2017-06-08 キヤノン株式会社 位置検出装置、位置検出方法及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4217876B2 (ja) * 2002-12-20 2009-02-04 財団法人生産技術研究奨励会 画像における移動物体の追跡方法及び装置
KR101214536B1 (ko) * 2010-01-12 2013-01-10 삼성전자주식회사 뎁스 정보를 이용한 아웃 포커스 수행 방법 및 이를 적용한 카메라
WO2012014708A1 (ja) * 2010-07-26 2012-02-02 富士フイルム株式会社 画像処理装置、方法およびプログラム
JPWO2013038833A1 (ja) * 2011-09-16 2015-03-26 コニカミノルタ株式会社 画像処理システム、画像処理方法および画像処理プログラム
KR20130127868A (ko) * 2012-05-15 2013-11-25 삼성전자주식회사 점 대응을 찾기 위한 방법, 상기 방법을 수행할 수 있는 장치, 및 이를 포함하는 시스템
JP5893601B2 (ja) * 2013-10-31 2016-03-23 富士重工業株式会社 車両制御システム
US20150332464A1 (en) * 2014-05-19 2015-11-19 Occipital, Inc. Methods for automatic registration of 3d image data
US9571819B1 (en) * 2014-09-16 2017-02-14 Google Inc. Efficient dense stereo computation
US10855971B2 (en) * 2015-09-16 2020-12-01 HashD, Inc. Systems and methods of creating a three-dimensional virtual image
US10194089B2 (en) * 2016-02-08 2019-01-29 Qualcomm Incorporated Systems and methods for implementing seamless zoom function using multiple cameras

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004286465A (ja) * 2003-03-19 2004-10-14 Minolta Co Ltd 画像による対象物の計測方法および撮像装置
JP2009077092A (ja) * 2007-09-20 2009-04-09 Hitachi Ltd マルチカメラシステム
JP2017103602A (ja) * 2015-12-01 2017-06-08 キヤノン株式会社 位置検出装置、位置検出方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112150612A (zh) * 2020-09-23 2020-12-29 上海眼控科技股份有限公司 三维模型构建方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
US20210044787A1 (en) 2021-02-11
JP7227969B2 (ja) 2023-02-22
JPWO2019230813A1 (ja) 2021-07-08

Similar Documents

Publication Publication Date Title
JP7227969B2 (ja) 三次元再構成方法および三次元再構成装置
JP7159057B2 (ja) 自由視点映像生成方法及び自由視点映像生成システム
US10789765B2 (en) Three-dimensional reconstruction method
US11100706B2 (en) Three-dimensional reconstruction method, three-dimensional reconstruction apparatus, and generation method for generating three-dimensional model
Zhuang et al. Learning structure-and-motion-aware rolling shutter correction
US8928736B2 (en) Three-dimensional modeling apparatus, three-dimensional modeling method and computer-readable recording medium storing three-dimensional modeling program
JP7170224B2 (ja) 三次元生成方法および三次元生成装置
JP2014192613A (ja) 画像処理装置及び方法、及び撮像装置
CN115035235A (zh) 三维重建方法及装置
CN111882655B (zh) 三维重建的方法、装置、系统、计算机设备和存储介质
JP2024052755A (ja) 三次元変位計測方法及び三次元変位計測装置
JPWO2020183711A1 (ja) 画像処理装置及び3次元計測システム
EP3832600A1 (en) Image processing device and three-dimensional measuring system
JP2019016230A (ja) 学習装置、画像合成装置、学習方法、画像合成方法、及びプログラム
WO2019211970A1 (ja) 三次元再構成方法及び三次元再構成装置
US11967096B2 (en) Methods and apparatuses of depth estimation from focus information
JP2017059998A (ja) 画像処理装置およびその方法、並びに、撮像装置
KR20110133677A (ko) 3d 영상 처리 장치 및 그 방법
KR20160049639A (ko) 부분 선형화 기반의 3차원 영상 정합 방법
JP2018049396A (ja) 形状推定方法、形状推定装置および形状推定プログラム
JP6641313B2 (ja) 領域抽出装置及びプログラム
JP7074694B2 (ja) 情報端末装置及びプログラム
WO2021100681A1 (ja) 三次元モデル生成方法及び三次元モデル生成装置
JP2024021218A (ja) カメラ校正装置、カメラ校正方法及びプログラム
CN117765046A (zh) 一种基于深度学习的立体数字图像相关测量方法及系统

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020522255

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19810838

Country of ref document: EP

Kind code of ref document: A1