WO2014192061A1 - 画像処理装置、画像処理方法及び画像処理プログラム - Google Patents

画像処理装置、画像処理方法及び画像処理プログラム Download PDF

Info

Publication number
WO2014192061A1
WO2014192061A1 PCT/JP2013/064637 JP2013064637W WO2014192061A1 WO 2014192061 A1 WO2014192061 A1 WO 2014192061A1 JP 2013064637 W JP2013064637 W JP 2013064637W WO 2014192061 A1 WO2014192061 A1 WO 2014192061A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
photographed
image processing
calculating
images
Prior art date
Application number
PCT/JP2013/064637
Other languages
English (en)
French (fr)
Inventor
達也 織茂
宏美 武居
Original Assignee
パイオニア株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パイオニア株式会社 filed Critical パイオニア株式会社
Priority to PCT/JP2013/064637 priority Critical patent/WO2014192061A1/ja
Publication of WO2014192061A1 publication Critical patent/WO2014192061A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • G01C11/06Interpretation of pictures by comparison of two or more pictures of the same area
    • G01C11/12Interpretation of pictures by comparison of two or more pictures of the same area the pictures being supported in the same relative position as when they were taken
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C11/00Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
    • G01C11/04Interpretation of pictures
    • G01C11/30Interpretation of pictures by triangulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C3/00Measuring distances in line of sight; Optical rangefinders
    • G01C3/10Measuring distances in line of sight; Optical rangefinders using a parallactic triangle with variable angles and a base of fixed length in the observation station, e.g. in the instrument

Definitions

  • the present invention relates to a technical field for processing an image captured by a camera.
  • SfM Structure from Motion
  • the camera's three-dimensional position / posture and a subject are taken from a plurality of photographed images.
  • a technique for obtaining a three-dimensional position has been proposed.
  • SfM may be called SLAM (Simultaneously Localization and Mapping) or Visual SLAM when used for self-position estimation and mapping of a mobile robot or the like in an unknown environment.
  • Patent Document 1 discloses a relative positional relationship between cameras in a three-dimensional coordinate acquisition apparatus that acquires three-dimensional coordinates around a vehicle using images obtained by two or more cameras attached to the vehicle. What has the calibration function to acquire is described.
  • Patent Document 2 discloses that a frame image is divided into a first area including an appearance point of an optical flow and a second area other than the first area, and an optical flow in the first area is generated. It is described that the interval between one set of frame images used for the above and the interval between one set of frame images used for generating an optical flow in the second region are individually determined.
  • Patent Document 1 The technique described in Patent Document 1 is intended to improve the estimation accuracy of three-dimensional coordinates using a binocular stereo image processing result. Therefore, the processing cost in monocular stereo processing could not be reduced.
  • binocular stereo image processing a temporary three-dimensional position is estimated using only two images, so that robustness is low, and accuracy can be expected when matching cannot be achieved due to differences in occlusion or shooting range. There wasn't.
  • Patent Document 2 applies only to forward-facing cameras, and cannot be applied to cameras that face in a direction where vanishing points are not captured.
  • it is necessary to acquire the moving speed of the vehicle from another means such as a vehicle speed sensor.
  • the image is divided into two regions and processed, if one subject is present in both of the divided regions, the used frame interval is different. May occur.
  • Examples of the problem to be solved by the present invention include the above. It is an object of the present invention to provide an image processing apparatus, an image processing method, and an image processing program that can accurately determine a three-dimensional position of an object to be captured from a captured image while appropriately reducing processing costs. To do.
  • the image processing apparatus includes an acquisition unit that acquires a plurality of images obtained by photographing the object to be photographed from different positions, a position at which the object to be photographed based on the plurality of images, and the A first position calculating means for calculating the position of the object to be photographed, and a base line corresponding to a distance from the position where the object to be photographed is photographed to the object to be photographed based on a calculation result by the first position calculating means; A baseline length range calculating means for calculating a length range; an image selecting means for selecting a selected image from the plurality of captured images that satisfies the baseline length range; and the image selecting means selected by the image selecting means And second position calculating means for calculating at least one of a position where the object is photographed and a position of the object based on a selected image.
  • the image processing method executed by the image processing apparatus includes an acquisition step of acquiring a plurality of images obtained by photographing the object to be photographed from different positions, and the object based on the plurality of images.
  • a first position calculating step for calculating a position where the object is photographed and a position of the object to be photographed, and a position obtained by photographing the object to be photographed based on a calculation result obtained by the first position calculating step.
  • a baseline length range calculating step for calculating a range of a baseline length according to a distance to the photographed object, an image selecting step for selecting a selected image from the plurality of captured images that satisfy the baseline length range, and A second position calculating step of calculating at least one of a position where the object is photographed and a position of the object based on the selected image selected in the image selecting step.
  • an image processing program executed by an image processing apparatus having a computer includes: an acquisition unit configured to acquire a plurality of images obtained by capturing the object from different positions; Based on the image, the first position calculating means for calculating the position where the object is photographed and the position of the object to be photographed, and photographing the object based on the calculation result by the first position calculating means.
  • a baseline length range calculating means for calculating a baseline length range according to a distance from the captured position to the object to be captured, an image that satisfies the baseline length range and selects a selected image from the plurality of captured images
  • a second position for calculating at least one of a position where the object is photographed and a position of the object based on the selected image selected by the image selection means; Characterized thereby calculating means functions as a.
  • FIG. 1 shows a schematic configuration of a system to which an image processing apparatus according to a first embodiment is applied. It is a flowchart which shows the whole process of 1st Example. It is a flowchart which shows the specific process of step S108 and S109. The figure for demonstrating calculation of a base line and calculation of the distance of a camera and a feature point is shown. 1 shows a schematic configuration of an image processing apparatus according to a modification of the first embodiment. It is a flowchart which shows the whole process of 2nd Example. The schematic structure of the image processing apparatus which concerns on the modification of 2nd Example is shown. It is a flowchart which shows the whole process of 3rd Example. The schematic structure of the image processing apparatus which concerns on the modification of 3rd Example is shown.
  • an image processing apparatus includes an acquisition unit that acquires a plurality of images obtained by photographing a subject to be photographed from different positions, a position at which the subject to be photographed based on the plurality of images, A first position calculating means for calculating the position of the object to be photographed, and a base line corresponding to a distance from the position where the object to be photographed is photographed to the object to be photographed based on a calculation result by the first position calculating means; A baseline length range calculating means for calculating a length range; an image selecting means for selecting a selected image from the plurality of captured images that satisfies the baseline length range; and the image selecting means selected by the image selecting means Second position calculating means for calculating at least one of a position where the object is photographed and a position of the object based on a selected image.
  • the first position calculating unit calculates the position where the subject is photographed and the position of the subject based on a plurality of images obtained by photographing the subject from different positions.
  • the baseline length range calculation means calculates an optimum baseline length range according to the distance from the position where the subject is photographed to the subject based on the position obtained by the first position calculation means.
  • the image selection means selects a selected image satisfying such a range of the baseline length from the plurality of images. Note that the “baseline length” corresponds to the interval (baseline) between the captured positions.
  • the second position calculation means calculates at least one of the position where the subject is photographed and the position of the subject based on the selected image selected by the image selection means.
  • the first position calculation unit has a smaller processing amount for calculating the position than the second position calculation unit.
  • the position at which the subject is photographed and the position of the subject are calculated by a simple process having a smaller processing amount than the process normally performed to obtain the position, and the range of the baseline length is calculated based on the position. Ask for. Then, by performing normal processing on an image satisfying the range of the baseline length, the position where the subject is photographed and the position of the subject are calculated. Accordingly, normal processing can be performed by appropriately narrowing down to an image satisfying the range of the baseline length. In other words, an image that does not satisfy the baseline length range can be appropriately excluded from normal processing targets. Therefore, it is possible to improve the calculation accuracy of the three-dimensional position while appropriately reducing the overall processing cost.
  • the first position calculation unit performs a process of reducing a data amount of the plurality of images, and based on the image after the process, the position where the object is captured and The position of the object is calculated.
  • the first position calculation means performs a process of reducing the size of the plurality of images.
  • the first position calculating unit performs a process of thinning the plurality of images, and based on the image after the processing, the position where the object is captured and the object The position of the photographed object is calculated.
  • the first position calculating unit preferably includes, from the plurality of images, a feature point having a feature level equal to or higher than a predetermined value, or a predetermined number of higher-order feature points having a high feature level. , And the position where the object is photographed and the position of the object are calculated based on the extracted feature points.
  • the first and second position information calculation obtains position information based on SfM (StructureStructfrom Motion).
  • the image processing apparatus further includes a photographing unit that photographs the object to be photographed, and the obtaining unit obtains the plurality of images from the photographing unit.
  • an image processing method executed by an image processing apparatus includes an acquisition step of acquiring a plurality of images obtained by capturing a subject from different positions, and the subject based on the plurality of images. And a position of the object to be imaged, a first position calculating step for calculating the position of the object to be imaged, and a position of the object to be imaged based on a calculation result of the first position calculating step.
  • a baseline length range calculating step for calculating a baseline length range according to the distance to the image, an image selecting step for selecting a selected image from the plurality of captured images that satisfy the baseline length range, and the image
  • a second position calculating step of calculating at least one of a position where the object is photographed and a position of the object based on the selected image selected in the selecting step.
  • an image processing program executed by an image processing apparatus having a computer obtains a plurality of images obtained by photographing the subject from different positions, and the plurality of images. Based on the first position calculating means for calculating the position where the object is photographed and the position of the object, the object is photographed based on the calculation result by the first position calculating means.
  • Baseline length range calculating means for calculating a baseline length range according to a distance from a position to the object to be captured, image selection for selecting a selected image from the plurality of captured images that satisfy the baseline length range
  • a second position calculator that calculates at least one of a position where the object is photographed and a position of the object based on the selected image selected by the image selection means. It means, to function as.
  • the present invention is based on SfM technology from a plurality of captured images captured while a vehicle is mounted on a vehicle. This is used to determine the three-dimensional position of the subject. That is, it is used to perform three-dimensional restoration of the surrounding environment of the vehicle, vehicle position estimation, and the like.
  • the camera captures a landscape (lateral direction) of the vehicle.
  • SfM the outline of SfM is described.
  • feature points of each image are detected from a plurality of images photographed as described above, and each feature point of two image pairs is compared to detect a matching feature point as a corresponding point (this Thus, the process for detecting corresponding points for feature points is called “matching” as appropriate).
  • camera parameters basic matrix, basic matrix, internal parameter, and external parameter
  • the position and orientation of the camera are obtained based on the obtained camera parameters, and the three-dimensional position of the feature point of the subject is obtained.
  • the number of corresponding points in two image pairs and the distance between the cameras are important factors.
  • baseline length hereinafter referred to as “baseline” as appropriate.
  • a moving image continuously captured image
  • a captured image optimal for SfM is not always obtained depending on the traveling condition of the vehicle. This is because, for example, the vehicle speed changes depending on the driving conditions, and the baseline changes accordingly. In that case, if an inappropriate baseline photographed image is used, the accuracy of SfM will deteriorate.
  • images without change are continuously taken. If SfM is performed on such a redundant image sequence, useless processing costs are generated.
  • FIG. 2A shows a camera located at O 1 and O 2 (may be two cameras or one camera located at a different location by movement), and located at different locations 3.
  • a state in which two subjects P 1 , P 2 , and P 3 are photographed is shown.
  • FIG. 2B shows the relationship between the parallax defined by the camera and subject located at O 1 and O 2 and the distance from the camera to the subject.
  • FIG. 2B shows that the distance and the parallax are in an inversely proportional relationship, and that the parallax decreases as the distance increases (in other words, the parallax increases as the distance decreases).
  • the parallax when the subject P 1 is photographed with the cameras located at O 1 and O 2 is defined as “ ⁇ A 1 ”.
  • a simple processing with a smaller processing amount than that of normal SfM (hereinafter referred to as “normal SfM” as appropriate) is performed on a plurality of captured images obtained from the camera.
  • the optimal baseline that satisfies the desired accuracy for SfM is determined by performing a specific SfM (hereinafter referred to as “simple SfM” as appropriate). Specifically, the positions of the camera and the subject are obtained by performing simple SfM (this position is treated as a temporary position), and the optimum baseline corresponding to the distance between the camera and the subject is obtained from the obtained position. To decide. Note that the optimal baseline has a certain range. In this embodiment, the camera and subject positions are selected by selecting a captured image satisfying the determined optimal baseline from a plurality of captured images and performing normal SfM only on the selected captured image. Ask for.
  • FIG. 3 is a block diagram illustrating a schematic configuration of a system to which the image processing apparatus 1 according to the first embodiment is applied.
  • the image processing apparatus 1 mainly includes a control unit 11, a storage unit 12, and an interface 13.
  • the image processing apparatus 1 is a personal computer.
  • the control unit 11 includes a CPU (Central Processing Unit) (not shown) and the like, and performs processing according to a predetermined program stored in the storage unit 12. Although details will be described later, the control unit 11 corresponds to an example of a “first position calculation unit”, a “baseline length range calculation unit”, an “image selection unit”, and a “second position calculation unit” in the present invention.
  • a CPU Central Processing Unit
  • the interface 13 receives a photographed image obtained by photographing with the camera 2 (photographing means).
  • the interface 13 corresponds to an example of “acquiring means” in the present invention.
  • the camera 2 is mounted on a vehicle or the like and continuously captures images while the vehicle is moving.
  • the storage unit 12 includes various memories such as a ROM (Read Only Memory), a RAM (Random Access Memory), and a hard disk (not shown), and stores various control programs for controlling the image processing apparatus 1. In addition, a working area is provided to the control unit 11.
  • the storage unit 12 stores data of a captured image input to the interface 13.
  • the control unit 11 reduces the image size of the captured image obtained by capturing with the camera 2 as simple SfM (hereinafter, the reduced captured image is referred to as a “reduced image” as appropriate). SfM is performed on the reduced image. Specifically, the control unit 11 obtains positions of the camera 2 and the subject by performing SfM on the reduced image, determines an optimal baseline based on the positions, and takes a captured image that satisfies the optimal baseline (reduced size). The positions of the camera 2 and the subject are obtained by performing SfM on the original image that has not been performed.
  • FIG. 4 is a flowchart showing the overall processing of the first embodiment.
  • step S ⁇ b> 101 the interface 13 in the image processing apparatus 1 acquires a plurality of captured images from the camera 2. The captured image acquired in this way is stored in the storage unit 12. Then, the process proceeds to step S102.
  • step S102 the control unit 11 in the image processing apparatus 1 generates a reduced image by reducing the image size of all the captured images acquired in step S101. That is, the control unit 11 performs a process of reducing all target images for matching. Then, the process proceeds to step S103.
  • steps S103 to S107 SfM for the reduced image is executed, that is, simple SfM is executed.
  • step S103 the control unit 11 detects feature points (hereinafter referred to as “provisional feature points”) of a plurality of reduced images generated in step S102.
  • provisional feature points For example, the control unit 11 detects provisional feature points using SIFT (Scale Invariant Feature Transform), Harris Corner Detection, or the like.
  • SIFT Scale Invariant Feature Transform
  • Harris Corner Detection or the like.
  • the provisional feature points are corners that constitute the subject.
  • step S104 the control unit 11 compares the feature points detected in step S103 with respect to a pair of two reduced images in a plurality of reduced images, thereby matching the corresponding feature points (hereinafter referred to as “provisional”). This is detected as “corresponding point”. That is, the control unit 11 detects a provisional corresponding point by performing matching. For example, the control unit 11 detects provisional corresponding points by comparing feature points for all pairs obtained by combining a plurality of reduced images. Moreover, the control part 11 detects a provisional corresponding point using the approximate nearest neighbor search etc. which were described in the nonpatent literature 1, for example. Then, the process proceeds to step S105.
  • step S105 the control unit 11 uses the camera parameters (hereinafter referred to as basic matrix, basic matrix, internal parameters, and external parameters) related to the camera 2 that captured the pair of reduced images based on the provisional corresponding points detected in step S104.
  • camera parameters hereinafter referred to as basic matrix, basic matrix, internal parameters, and external parameters
  • the control unit 11 determines, based on the provisional corresponding points, a basic matrix corresponding to a transformation matrix between a two-dimensional position (position on the image) and a three-dimensional position (matrix with internal parameters added).
  • internal parameters such as the sensor center and focal length of the camera 2 included in the basic matrix.
  • the control unit 11 obtains a basic matrix by excluding internal parameters from the basic matrix and decomposes the basic matrix into a rotation matrix and a translation vector (note that the rotation matrix and the translation vector correspond to external parameters). ).
  • the control unit 11 obtains such provisional camera parameters using an 8-point algorithm described in Non-Patent Document 2, a DLT method described in Non-Patent Document 3, or the like.
  • the control part 11 decomposes
  • step S106 the control unit 11 refers to the three-dimensional position and orientation of the camera 2 (hereinafter referred to as “provisional camera position / orientation” based on the rotation matrix and the translation vector obtained in step S105. When only the three-dimensional position is indicated, it is simply called “provisional camera position”). Then, the process proceeds to step S107.
  • step S107 the control unit 11 projects each feature point of the reduced image on a three-dimensional space using the rotation matrix and the translation vector obtained in step S105, and thereby the three-dimensional position (hereinafter referred to as the feature point) of the subject. Will be referred to as “provisional feature point position”). Then, the process proceeds to step S108.
  • step S108 the control unit 11 obtains the distance from the camera 2 to the subject based on the provisional camera position obtained in step S106 and the provisional feature point position obtained in step S107, and responds to the distance. Determine the optimal baseline. Then, the process proceeds to step S109. Details of the process in step S108 will be described later.
  • step S109 the control unit 11 selects a captured image that satisfies the optimal baseline determined in step S108 from the captured images (original captured images that have not been reduced in size) acquired in step S101. .
  • the control unit 11 determines a plurality of camera pairs that satisfy the optimum baseline, and selects a plurality of captured image pairs obtained from the determined plurality of camera pairs (the pair of such captured images is In a later process, it is a matching target image). Then, the process proceeds to step S110.
  • steps S110 to S114 SfM is executed on the original photographed image selected in step S109 and not reduced in size, that is, normal SfM is executed.
  • step S110 the control unit 11 detects the feature point of the captured image selected in step S109. In this case, the control unit 11 detects feature points by the same method as in step S103 described above. Then, the process proceeds to step S111.
  • step S111 the control unit 11 detects matching feature points as corresponding points by comparing each feature point detected in step S110 for the pair of photographed images selected in step S109. In this case, the control unit 11 detects corresponding points by the same method as in step S104 described above. Then, the process proceeds to step S112.
  • step S112 the control unit 11 obtains the basic matrix, basic matrix, internal parameters, and external parameters related to the camera 2 that has captured the pair of captured images selected in step S109 based on the corresponding points detected in step S111. Determine the camera parameters including. In this case, the control unit 11 obtains camera parameters by the same method as in step S105 described above. Then, the process proceeds to step S113.
  • step S113 the control unit 11 obtains the three-dimensional position and orientation of the camera 2 based on the rotation matrix and the translation vector obtained in step S112. Then, the process proceeds to step S114.
  • step S113 it is not limited to obtaining both the three-dimensional position and posture of the camera 2, and only one of the three-dimensional position and posture of the camera 2 may be obtained.
  • step S114 the control unit 11 projects the feature points of the photographed image selected in step S109 on the three-dimensional space using the rotation matrix and the translation vector obtained in step S112, so that 3 of the feature points of the subject are obtained. Find the dimension position. Then, the process ends.
  • FIG. 5 is a flowchart showing specific processing of steps S108 and S109. Note that the processing from step S201 to S207 corresponds to the processing of step S108, and the processing from step S208 to S212 corresponds to the processing of step S109.
  • step S201 the control unit 11 selects an arbitrary camera pair, and based on the provisional camera position calculated in step S106 of FIG. 4 for each camera 2 of the camera pair, the baseline of the camera pair. Is calculated. Then, the process proceeds to step S202.
  • camera pair does not mean pairing physically different cameras, but means pairing the same cameras 2 located in different places (that is, use There is one camera 2).
  • step S202 the control unit 11 determines the feature points in both the provisional camera position calculated in step S106 of FIG. 4 and the captured images of each camera pair for each of the camera pairs selected in step S201.
  • the distance between each camera 2 and the feature point is calculated based on the temporary feature point position calculated in step S107 in FIG. In this case, the control unit 11 calculates the distance for each camera 2 of the camera pair by the number of feature points reflected in both cameras 2. Then, the process proceeds to step S203.
  • the provisional camera position (three-dimensional position) of the i-th camera 2 is represented as “O i (X i , Y i , Z i )”
  • the provisional feature point position (three-dimensional position) of the j-th feature point is represented by “P j (x j , y j , z j ) ”
  • the distance between the i-th camera 2 and the j-th feature point is calculated from the equation (1) in FIG.
  • step S201 the control unit 11 calculates the baseline of the camera pair using equation (2), and in step S202, calculates the distance between the camera 2 and the feature point using equation (1).
  • step S203 the control unit 11 determines the average distance to each camera 2 for each feature point included in both captured images of the camera pair based on the distance between the camera 2 and the feature point calculated in step S202. Is calculated. That is, the control unit 11 relates to the feature points shown in both cameras 2, the average value of the distance between the one camera 2 and the feature point and the distance between the other camera 2 and the feature point (hereinafter “average”). Called "distance”). In this case, the control unit 11 calculates the average distance by the number of feature points reflected in both cameras 2. Then, the process proceeds to steps S204 to S206.
  • step S204 the control unit 11 calculates an average value of the average distances calculated by the number of feature points in step S203.
  • step S205 the control unit 11 specifies the minimum value among the average distances calculated by the number of feature points in step S203.
  • step S206 the control unit 11 specifies the maximum value among the average distances calculated by the number of feature points in step S203.
  • step S207 the control unit 11 comprehensively determines the average value, the minimum value, and the maximum value obtained in steps S204 to S206, and determines an allowable range as the baseline of the camera pair as the optimum baseline.
  • the control unit 11 estimates an optimum baseline value based on the average value, and determines an optimum baseline by setting an allowable range based on the minimum value and the maximum value.
  • the control unit 11 sets, in advance, an optimum baseline to be applied to the average value, the minimum value, and the maximum value in association with a table or the like through experiments or simulations. Referring to the table, the optimum baseline corresponding to the average value, the minimum value, and the maximum value is determined. Then, the process proceeds to step S208.
  • step S208 the control unit 11 determines whether or not the baseline calculated in step S201 is within the range of the optimal baseline determined in step S207.
  • the control unit 11 employs the camera pair (camera pair selected in step S201) corresponding to the baseline (step S209).
  • the control unit 11 rejects the camera pair corresponding to the baseline (step S210). After steps S209 and S210, the process proceeds to step S211.
  • step S211 the control unit 11 determines whether or not the checks for all camera pairs have been completed. That is, the control unit 11 determines whether or not the processing of steps S201 to S210 has been performed for all assumed camera pairs.
  • step S211: No the process returns to step S201, and the control unit 11 performs the processes subsequent to step S201 on the other camera pairs again.
  • the control unit 11 repeats the processes of steps S201 to S210 until the checks for all camera pairs are completed.
  • step S212 the control unit 11 selects captured images obtained from all the camera pairs employed in step S209. In this case, the control unit 11 selects a pair of captured images obtained from the adopted camera pair. Then, the control part 11 performs the process after step S110 of FIG. That is, the control unit 11 obtains the three-dimensional position and orientation of the camera 2 and the three-dimensional position of the subject feature point by performing normal SfM only on the captured image selected in step S212.
  • the optimum baseline is determined by performing simple SfM using the reduced image obtained by reducing the photographed image, and the normal SfM is applied to the photographed image satisfying the optimum baseline. Do.
  • normal SfM can be performed by appropriately narrowing down the captured image that satisfies the optimal baseline.
  • a captured image that does not satisfy the optimal baseline can be appropriately excluded from the target of normal SfM.
  • still images that are included in continuous images, captured images that are close to still images, that do not have a sufficient baseline, or captured images that are difficult to match because the baseline is too long are appropriately excluded from the normal SfM targets. be able to.
  • FIG. 7 is a block diagram showing a schematic configuration of the image processing apparatus 50a when the configuration according to the first embodiment is realized by hardware.
  • the image processing device 50a includes a captured image acquisition unit 51, an image memory 52, an image size reduction unit 53, a feature point detection unit 54, a corresponding point matching unit 55, and a camera parameter calculation unit. 56, a camera position / posture calculation unit 57, a feature point position calculation unit 58, an optimal baseline determination unit 59, and an optimal captured image selection unit 60.
  • the captured image acquisition unit 51 corresponds to the interface 13 described above
  • the image memory 52 corresponds to the storage unit 12 described above, and temporarily stores the captured image data acquired by the captured image acquisition unit 51.
  • the captured image acquisition unit 51 functions to perform the process of step S101 in FIG.
  • the image size reduction unit 53 functions to perform the process of step S102 in FIG.
  • the feature point detection unit 54 functions to perform the processes of steps S103 and S110 in FIG.
  • the corresponding point matching unit 55 functions to perform the processes of steps S104 and S111 in FIG.
  • the camera parameter calculation unit 56 functions to perform the processes of steps S105 and S112 in FIG.
  • the camera position / orientation calculation unit 57 functions to perform the processes of steps S106 and S113 in FIG.
  • the feature point position calculation unit 58 functions to perform the processes of steps S107 and S114 in FIG.
  • the optimum baseline determination unit 59 functions to perform the process in step S108 in FIG. 4 (specifically, the processes in steps S201 to S207 in FIG. 5).
  • the optimum captured image selection unit 60 functions to perform the process of step S109 in FIG. 4 (specifically, the processes of steps S208 to S212 in FIG. 5).
  • SfM is performed on a reduced image obtained by reducing the image size of a captured image
  • SfM may be performed on an image with a reduced amount of captured image data, and various known methods can be applied as a method for reducing the amount of captured image data.
  • the control unit 11 in the image processing apparatus 1 performs a process of thinning out temporally continuous captured images obtained by capturing with the camera 2 instead of performing SfM on the reduced image as simple SfM.
  • SfM is performed on a captured image (hereinafter, referred to as “thinned image” as appropriate) after thinning.
  • the control unit 11 obtains the positions of the camera 2 and the subject by performing SfM on the thinned image, determines the optimum baseline based on the positions, and applies to the captured image that satisfies the optimum baseline. By performing SfM, the positions of the camera 2 and the subject are obtained.
  • FIG. 8 is a flowchart showing the overall processing of the second embodiment.
  • the flow according to the second embodiment differs from the flow according to the first embodiment in that the process of step S122 is performed instead of step S102 of FIG. Other steps are the same as in the first embodiment. Therefore, only the process of step S122 will be described here.
  • the flow shown in FIG. 5 is not different between the first embodiment and the second embodiment. Therefore, the description is omitted.
  • step S122 the control unit 11 in the image processing apparatus 1 generates a thinned image by performing a process of thinning out the temporally continuous captured images acquired in step S101. That is, the control unit 11 performs a process of reducing the number of captured images acquired in step S101.
  • the captured image (thinned image) after the number of images has been reduced in this manner is used as a matching target image in subsequent processing.
  • the control unit 11 uses, as a thinned image, an image obtained by skipping one captured image that is temporally continuous or an image obtained by skipping two. Then, the process proceeds to step S103.
  • steps S103 to S107 SfM for the thinned image is executed, that is, simple SfM is executed.
  • the optimum baseline is determined by performing the simple SfM using the thinned image obtained by thinning the photographed image, and the normal SfM is performed on the photographed image satisfying the optimum baseline.
  • the processing cost can be reduced more directly by thinning out the matching target images.
  • FIG. 9 is a block diagram showing a schematic configuration of the image processing apparatus 50b when the configuration according to the second embodiment is realized by hardware.
  • the image processing device 50b according to the second embodiment has an image thinning unit 73 instead of the image size reduction unit 53, and therefore the image processing device 50a according to the first embodiment (see FIG. 7). ) Is different.
  • the image thinning unit 73 functions to perform the process of step S122 in FIG. Even in such an image processing apparatus 50b, the same processing unit is used for the same processing part, so that the hardware cost can be reduced.
  • the control unit 11 in the image processing apparatus 1 calculates the feature strength of the feature point from the photographed image of the camera 2 instead of performing SfM on the reduced image or the thinned image as the simple SfM. It is different from the first and second embodiments in that a feature point having a higher degree of feature, which is an index to be shown, is extracted (hereinafter referred to as “upper feature point”) and SfM is performed using the higher feature point.
  • the control unit 11 detects only the corresponding points for the upper feature points, that is, performs matching using only the upper feature points, and obtains the positions of the camera 2 and the subject based on the matching result. Then, the control unit 11 determines the optimum baseline based on the obtained position, and obtains the positions of the camera 2 and the subject by performing SfM on the captured image satisfying the optimum baseline.
  • FIG. 10 is a flowchart showing the overall processing of the third embodiment.
  • the flow according to the third embodiment is different from the flow according to the first embodiment in that the processes of steps S132 and S133 are performed instead of steps S102 and S103 of FIG. Other steps are the same as in the first embodiment. Therefore, only the processes of steps S132 and S133 will be described here. Note that the flow shown in FIG. 5 is not different between the first embodiment and the third embodiment. Therefore, the description is omitted.
  • step S132 the control unit 11 in the image processing apparatus 1 detects feature points of all the captured images (original images not subjected to reduction processing or thinning processing) acquired in step S101. In this case, the control unit 11 detects feature points by the same method as in step S103 in FIG. Then, the process proceeds to step S133.
  • step S133 the control unit 11 extracts, from the feature points detected in step S132, an upper feature point having a higher feature degree (hereinafter, sometimes referred to as “temporary upper feature point”).
  • temporary upper feature point an upper feature point having a higher feature degree
  • the control unit 11 digitizes the feature degree, and extracts a feature point having a feature degree value equal to or greater than a threshold value as a provisional upper feature point.
  • the control unit 11 extracts a predetermined upper number of feature points having a high feature degree as provisional upper feature points.
  • steps S104 to S107 SfM is executed using the temporary upper feature point, that is, simple SfM is executed.
  • the optimum baseline is determined by performing the simple SfM using the temporary upper feature point, and the normal SfM is performed on the captured image that satisfies the optimum baseline.
  • the third embodiment as described above it is possible to improve the calculation accuracy of the three-dimensional position while appropriately reducing the entire processing cost.
  • matching is performed using only the provisional upper feature points, whereby the matching cost can be reduced and the overall processing cost can be reduced.
  • the result of the feature point detection in step S132 may be used as it is. In that case, the result of the feature point detection in step S132 may be stored. By doing so, the generation of new processing costs can be suppressed.
  • FIG. 11 is a block diagram illustrating a schematic configuration of the image processing device 50c when the configuration according to the third embodiment is realized by hardware.
  • the image processing device 50 c according to the third embodiment has a feature point detection unit 83 and an upper feature point extraction unit 84 instead of the image size reduction unit 53 and the feature point detection unit 54. This is different from the image processing apparatus 50a according to the first embodiment (see FIG. 7).
  • the feature point detection unit 83 functions to perform the processes of steps S132 and S110 in FIG.
  • the upper feature point extraction unit 84 functions to perform the process of step S133 in FIG. Even with such an image processing apparatus 50c, the same component is shared by the same component, so that the hardware cost can be reduced.
  • normal SfM may be executed instead of simple SfM. That is, normal SfM may be executed twice. In that case, the normal SfM is first executed to determine the optimal baseline, and then the normal SfM is performed only on the captured image satisfying the optimal baseline, thereby obtaining the positions of the camera 2 and the subject. good.
  • the present invention is also applicable to a system having a plurality of cameras.
  • a plurality of cameras be installed in different places.
  • a plurality of cameras be pointed in different directions to photograph a common object to be photographed among the cameras.
  • the present invention is applied to a system in which the camera 2 is mounted on a vehicle (see FIG. 1), but the application of the present invention is not limited to this. In other words, the present invention is not limited to being applied to a plurality of captured images captured by the camera 2 during movement. As described above, when a plurality of cameras installed at different places are used, it is not necessary to mount the camera 2 on the vehicle and move it.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Image Processing (AREA)

Abstract

 画像処理装置は、被撮影物を異なる位置から撮影した複数の画像を取得する取得手段と、複数の画像に基づき、被撮影物を撮影した位置と、被撮影物の位置と、を算出する第1位置算出手段と、第1位置算出手段による算出結果に基づいて、被撮影物を撮影した位置から被撮影物までの距離に応じた基線長の範囲を算出する基線長範囲算出手段と、基線長の範囲を満たし、撮影した複数の画像の中から、選択画像を選択する画像選択手段と、画像選択手段によって選択された選択画像に基づいて、被撮影物を撮影した位置及び被撮影物の位置の少なくとも一方を算出する第2位置算出手段と、を備える。

Description

画像処理装置、画像処理方法及び画像処理プログラム
 本発明は、カメラの撮影画像を処理する技術分野に関する。
 近年、SfM(Structure from Motion)を利用して、カメラによって撮影された複数の撮影画像から、カメラの3次元位置・姿勢や、被写体(言い換えると非撮影物である。以下同様とする。)の3次元位置を求める技術が提案されている。なお、SfMは、未知環境下で移動ロボット等の自己位置推定やマッピングに使用される場合には、SLAM(Simultaneously Localization and Mapping)やVisual SLAMと呼ばれることがある。
 この種の技術が、例えば特許文献1及び2に提案されている。特許文献1には、車両に取り付けられた2台以上のカメラにより得られた画像を用いて、車両周辺の3次元座標を取得する3次元座標取得装置において、カメラ間の相対的な位置関係を取得するキャリブレーション機能を有するものが記載されている。また、特許文献2には、オプティカルフローの出現点を含む第1の領域と当該第1の領域以外の第2の領域とにフレーム画像を分割し、第1の領域におけるオプティカルフローを生成するために用いる1組のフレーム画像の間隔と、第2の領域におけるオプティカルフローを生成するために用いる1組のフレーム画像の間隔とを個別に決定することが記載されている。
 その他にも、本発明に関連する技術が非特許文献1乃至4に記載されている。
特開2007-263669号公報 特開2010-286985号公報
S. Arya, D. Mount, R. Silverman and A. Y. Wu: "An optimal algorithm for approximate nearest neighbor searching", Journal of the ACM, 45, 6, pp. 891-923 (1998). ディジタル画像処理、CG-ARTS協会、ISBN4-906665-47-0, p266 Y.I. Abdel-Aziz and H. M. Karara. "Direct linear transformation from comparator coordinates into object space coordinates in close-range photogrammetry. In Proceedings of the Symposium on Close-Range Photogrammetry", pp. 1-18. American Society of Photogrammetry, Falls Church, 1971. R.Hartley, A.Zisserman, "Mutiview Geometry in computer vision", 2nd Edition, Cambridge University Press, 2004.
 特許文献1に記載の技術は、2眼ステレオ画像処理結果を利用し、3次元座標の推定精度を向上させることを目的としていた。そのため、単眼ステレオ処理における処理コストを低減することはできなかった。また、2眼ステレオ画像処理では、2枚の画像のみで仮の3次元位置を推定するため、ロバスト耐性が低く、オクルージョンや撮影範囲の相違等によりマッチングが取れない場合に、精度向上が期待できなかった。
 他方で、特許文献2に記載の技術は、前向きカメラのみを適用対象としており、消失点が写らない方向に向いたカメラには適用することができなかった。また、車速センサ等の別の手段から車の移動速度を取得する必要があった。更に、画像を2領域に分割して処理するため、1つの被写体が分割領域の両方に存在する場合には使用フレーム間隔が異なることから、1つの被写体で部分的に復元精度が異なることで違和感が発生する場合があった。
 本発明が解決しようとする課題は上記のようなものが例として挙げられる。本発明は、処理コストを適切に削減しつつ、撮影画像から被撮影物の3次元位置などを精度よく求めることが可能な画像処理装置、画像処理方法及び画像処理プログラムを提供することを課題とする。
 請求項に記載の発明では、画像処理装置は、被撮影物を異なる位置から撮影した複数の画像を取得する取得手段と、前記複数の画像に基づき、前記被撮影物を撮影した位置と、前記被撮影物の位置と、を算出する第1位置算出手段と、前記第1位置算出手段による算出結果に基づいて、前記被撮影物を撮影した位置から前記被撮影物までの距離に応じた基線長の範囲を算出する基線長範囲算出手段と、前記基線長の範囲を満たし、前記撮影した複数の画像の中から、選択画像を選択する画像選択手段と、前記画像選択手段によって選択された前記選択画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置の少なくとも一方を算出する第2位置算出手段と、を備えることを特徴とする。
 また、請求項に記載の発明では、画像処理装置によって実行される画像処理方法は、被撮影物を異なる位置から撮影した複数の画像を取得する取得工程と、前記複数の画像に基づき、前記被撮影物を撮影した位置と、前記被撮影物の位置と、を算出する第1位置算出工程と、前記第1位置算出工程による算出結果に基づいて、前記被撮影物を撮影した位置から前記被撮影物までの距離に応じた基線長の範囲を算出する基線長範囲算出工程と、前記基線長の範囲を満たし、前記撮影した複数の画像の中から、選択画像を選択する画像選択工程と、前記画像選択工程によって選択された前記選択画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置の少なくとも一方を算出する第2位置算出工程と、を備えることを特徴とする。
 また、請求項に記載の発明では、コンピュータを有する画像処理装置によって実行される画像処理プログラムは、前記コンピュータを、被撮影物を異なる位置から撮影した複数の画像を取得する取得手段、前記複数の画像に基づき、前記被撮影物を撮影した位置と、前記被撮影物の位置と、を算出する第1位置算出手段、前記第1位置算出手段による算出結果に基づいて、前記被撮影物を撮影した位置から前記被撮影物までの距離に応じた基線長の範囲を算出する基線長範囲算出手段、前記基線長の範囲を満たし、前記撮影した複数の画像の中から、選択画像を選択する画像選択手段、前記画像選択手段によって選択された前記選択画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置の少なくとも一方を算出する第2位置算出手段、として機能させることを特徴とする。
SfMを用いた技術の一例を説明するための図を示す。 視差と距離との関係などを説明するための図を示す。 第1実施例に係る画像処理装置が適用されたシステムの概略構成を示す。 第1実施例の全体処理を示すフローチャートである。 ステップS108及びS109の具体的な処理を示すフローチャートである。 ベースラインの算出、及びカメラと特徴点との距離の算出を説明するための図を示す。 第1実施例の変形例に係る画像処理装置の概略構成を示す。 第2実施例の全体処理を示すフローチャートである。 第2実施例の変形例に係る画像処理装置の概略構成を示す。 第3実施例の全体処理を示すフローチャートである。 第3実施例の変形例に係る画像処理装置の概略構成を示す。
 本発明の1つの観点では、画像処理装置は、被撮影物を異なる位置から撮影した複数の画像を取得する取得手段と、前記複数の画像に基づき、前記被撮影物を撮影した位置と、前記被撮影物の位置と、を算出する第1位置算出手段と、前記第1位置算出手段による算出結果に基づいて、前記被撮影物を撮影した位置から前記被撮影物までの距離に応じた基線長の範囲を算出する基線長範囲算出手段と、前記基線長の範囲を満たし、前記撮影した複数の画像の中から、選択画像を選択する画像選択手段と、前記画像選択手段によって選択された前記選択画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置の少なくとも一方を算出する第2位置算出手段と、を備える。
 上記の画像処理装置では、まず、第1位置算出手段が、被撮影物を異なる位置から撮影した複数の画像に基づいて、被撮影物を撮影した位置及び被撮影物の位置を算出する。次に、基線長範囲算出手段は、第1位置算出手段によって求められた位置に基づいて、被撮影物を撮影した位置から被撮影物までの距離に応じた、最適な基線長の範囲を算出し、画像選択手段は、複数の画像の中から、そのような基線長の範囲を満たす選択画像を選択する。なお、「基線長」は、撮影した位置の間隔(ベースライン)に相当する。次に、第2位置算出手段は、画像選択手段によって選択された選択画像に基づいて、被撮影物を撮影した位置及び被撮影物の位置の少なくとも一方を算出する。これにより、求められた基線長の範囲を満たす画像に適切に絞って、被撮影物を撮影した位置や被撮影物の位置を算出するための処理を行うことができる。したがって、3次元位置の算出精度を向上させることが可能となる。
 上記の画像処理装置の一態様では、前記第1位置算出手段は、前記第2位置算出手段よりも、前記位置を算出するための処理量が少ない。
 この態様では、位置を求めるために通常行う処理よりも処理量が少ない簡易的な処理によって、被撮影物を撮影した位置や被撮影物の位置を算出し、その位置に基づいて基線長の範囲を求める。そして、基線長の範囲を満たす画像に対して通常の処理を行うことで、被撮影物を撮影した位置や被撮影物の位置を算出する。これにより、基線長の範囲を満たす画像に適切に絞って通常の処理を行うことができる。言い換えると、基線長の範囲を満たさない画像を通常の処理の対象から適切に除外することができる。したがって、全体の処理コストを適切に削減しつつ、3次元位置の算出精度を向上させることが可能となる。
 上記の画像処理装置において好適には、前記第1位置算出手段は、前記複数の画像のデータ量を削減する処理を行い、当該処理後の画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置を算出する。好適な例では、前記第1位置算出手段は、前記複数の画像のサイズを縮小する処理を行う。
 また、上記の画像処理装置において好適には、前記第1位置算出手段は、前記複数の画像を間引く処理を行い、当該処理後の画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置を算出する。
 また、上記の画像処理装置において好適には、前記第1位置算出手段は、前記複数の画像から、特徴度合いが所定値以上である特徴点、又は前記特徴度合いが高い上位の所定数の特徴点を抽出し、抽出した前記特徴点に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置を算出する。
 好適な実施例では、前記第1及び第2位置情報算出は、SfM(Structure from Motion)に基づいて位置情報を求める。
 また、好適には、上記の画像処理装置は、前記被撮影物を撮影する撮影手段を更に備え、前記取得手段は、前記撮影手段から、前記複数の画像を取得する。
 本発明の他の観点では、画像処理装置によって実行される画像処理方法は、被撮影物を異なる位置から撮影した複数の画像を取得する取得工程と、前記複数の画像に基づき、前記被撮影物を撮影した位置と、前記被撮影物の位置と、を算出する第1位置算出工程と、前記第1位置算出工程による算出結果に基づいて、前記被撮影物を撮影した位置から前記被撮影物までの距離に応じた基線長の範囲を算出する基線長範囲算出工程と、前記基線長の範囲を満たし、前記撮影した複数の画像の中から、選択画像を選択する画像選択工程と、前記画像選択工程によって選択された前記選択画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置の少なくとも一方を算出する第2位置算出工程と、を備える。
 本発明の更に他の観点では、コンピュータを有する画像処理装置によって実行される画像処理プログラムは、前記コンピュータを、被撮影物を異なる位置から撮影した複数の画像を取得する取得手段、前記複数の画像に基づき、前記被撮影物を撮影した位置と、前記被撮影物の位置と、を算出する第1位置算出手段、前記第1位置算出手段による算出結果に基づいて、前記被撮影物を撮影した位置から前記被撮影物までの距離に応じた基線長の範囲を算出する基線長範囲算出手段、前記基線長の範囲を満たし、前記撮影した複数の画像の中から、選択画像を選択する画像選択手段、前記画像選択手段によって選択された前記選択画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置の少なくとも一方を算出する第2位置算出手段、として機能させる。
 以下、図面を参照して本発明の好適な実施例について説明する。
 1.基本概念
 まず、本発明の実施例の内容を説明する前に、本発明の基本概念などについて説明する。
 図1に示すように、例えば、本発明は、車両に搭載されたカメラによって車両の移動中に撮影された複数の撮影画像から、SfMの技術に基づいて、カメラの3次元位置、姿勢や、被写体の3次元位置を求めるために利用される。つまり、車両の周囲環境の3次元復元や自車位置推定などを行うために利用される。1つの例では、カメラは、車両の測方(横方向)の風景を撮影する。
 一般的には、SfMでは以下のような処理が行われる(ここではSfMの概要を述べるものとする)。まず、上記のように撮影された複数の画像から各画像の特徴点を検出して、2枚の画像ペアの各特徴点を比較することで、一致する特徴点を対応点とし検出する(このように特徴点についての対応点を検出するための処理を適宜「マッチング」と呼ぶ)。次に、検出された対応点から、2枚の画像ペアを撮影したカメラのカメラパラメータ(基礎行列や基本行列や内部パラメータや外部パラメータ)を求める。次に、求められたカメラパラメータに基づいて、カメラの位置及び姿勢を求めると共に、被写体の特徴点の3次元位置を求める。
 ここで、SfMでは、2つの画像ペアでの対応点数や、カメラ間の距離(言い換えると「基線長」であり、以下では適宜「ベースライン」と呼ぶ。)が、重要なファクターとなる。通常、車載のカメラによりSfMを行う場合は、動画像(連続撮影画像)が使用されるが、車両の走行条件により、常にSfMに最適な撮影画像が得られるとは限らない。それは、例えば、走行条件により車速が変化することで、それに伴ってベースラインも変化するからである。その場合、不適切なベースラインの撮影画像を用いると、SfMの精度が悪化してしまう。他方で、停止時には、変化のない画像が連続的に撮影される。そのような冗長な画像列に対してSfMを行うと、無駄な処理コストが発生してしまう。
 上記した問題について、図2を参照して具体的に説明する。図2(a)は、O、Oに位置するカメラ(2台のカメラであっても良いし、移動により異なる場所に位置する1台のカメラでも良い)で、異なる場所に位置する3つの被写体P、P、Pを撮影した様子を示している。図2(b)は、O、Oに位置するカメラと被写体とによって規定される視差と、カメラから被写体までの距離との関係を示している。図2(b)より、距離と視差とは反比例の関係にあり、距離が大きくなると視差が小さくなることがわかる(言い換えると、距離が小さくなると視差が大きくなることがわかる)。
 カメラから被写体までの距離を三角測量にて求める場合、視差が小さくなるにつれて、求められる距離に誤差が多く含まれるようになる。これを、図2(c)を用いて具体的に説明する。O、Oに位置するカメラで被写体Pを撮影した場合の視差を「ΔA」とする。この視差ΔAを被写体P、Pについて得ようとすると、Oに対してOよりも離れた位置から被写体P、Pを撮影する必要がある、つまりベースラインを大きくする必要がある。具体的には、Oに位置するカメラで被写体Pを撮影する必要があると共に、Oに位置するカメラで被写体Pを撮影する必要がある。
 このように、カメラからの距離が異なる複数の被写体に対して同じ距離精度を求めようとすると、カメラから被写体までの距離に応じて、適用するベースラインを変えることが望ましい。つまり、カメラから被写体までの距離に応じた最適なベースラインが存在すると言える。
 以上のことを勘案して、本実施例では、まず、カメラから得られた複数の撮影画像に対して、通常のSfM(以下では適宜「通常SfM」と呼ぶ。)よりも処理量が少ない簡易的なSfM(以下では適宜「簡易SfM」と呼ぶ。)を行うことで、SfMについての所望の精度を満たす最適ベースラインを決定する。具体的には、簡易SfMを行うことでカメラ及び被写体の位置を求めて(この位置は暫定的な位置として扱われる)、求められた位置から、カメラと被写体との距離に応じた最適ベースラインを決定する。なお、最適ベースラインは、ある程度の範囲を有するものとする。そして、本実施例では、複数の撮影画像の中から、決定された最適ベースラインを満たす撮影画像を選択し、選択された撮影画像のみに対して通常SfMを行うことで、カメラ及び被写体の位置を求める。
 以下では、上記した実施例の具体例(第1乃至第3実施例)について説明する。
 2.第1実施例
 次に、本発明の第1実施例について説明する。
 2-1.装置構成
 図3は、第1実施例に係る画像処理装置1が適用されたシステムの概略構成を示すブロック図である。画像処理装置1は、主に、制御部11と、記憶部12と、インターフェース13と、を有する。例えば、画像処理装置1は、パーソナルコンピュータである。
 制御部11は、図示しないCPU(Central Processing Unit)などを備えて構成され、記憶部12に記憶された所定のプログラムに応じて処理を行う。詳細は後述するが、制御部11は、本発明における「第1位置算出手段」、「基線長範囲算出手段」、「画像選択手段」及び「第2位置算出手段」の一例に相当する。
 インターフェース13は、カメラ2(撮影手段)による撮影によって得られた撮影画像が入力される。インターフェース13は、本発明における「取得手段」の一例に相当する。なお、例えば、カメラ2は車両などに搭載され、車両の移動中に連続して撮影を行う。
 記憶部12は、図示しないROM(Read Only Memory)やRAM(Random Access Memory)やハードディスクなどの各種のメモリを備えて構成され、画像処理装置1を制御するための種々の制御プログラムなどが格納されると共に、制御部11に対してワーキングエリアを提供する。また、記憶部12には、インターフェース13に入力された撮影画像のデータが記憶される。
 2-2.処理内容
 次に、図4及び図5を参照して、第1実施例において制御部11が行う処理内容について説明する。まず、簡単に、第1実施例に係る処理内容について説明する。第1実施例では、制御部11は、簡易SfMとして、カメラ2の撮影によって得られた撮影画像の画像サイズを縮小し(以下では縮小された撮影画像を適宜「縮小画像」と呼ぶ。)、縮小画像に対してSfMを行う。具体的には、制御部11は、縮小画像に対してSfMを行うことでカメラ2及び被写体の位置を求め、その位置に基づいて最適ベースラインを決定し、最適ベースラインを満たす撮影画像(縮小していない元の画像)に対してSfMを行うことで、カメラ2及び被写体の位置を求める。
 図4は、第1実施例の全体処理を示すフローチャートである。まず、ステップS101では、画像処理装置1内のインターフェース13が、カメラ2から複数の撮影画像を取得する。こうして取得された撮影画像は、記憶部12に記憶される。そして、処理はステップS102に進む。
 ステップS102では、画像処理装置1内の制御部11が、ステップS101で取得された全ての撮影画像の画像サイズを縮小することで、縮小画像を生成する。つまり、制御部11は、マッチングの全ての対象画像を縮小する処理を行う。そして、処理はステップS103に進む。ステップS103~S107では、縮小画像に対するSfMが実行される、つまり簡易SfMが実行される。
 ステップS103では、制御部11は、ステップS102で生成された複数の縮小画像の特徴点(以下では「暫定特徴点」と呼ぶ。)を検出する。例えば、制御部11は、SIFT(Scale Invariant Feature Transform)や、Harris Corner Detection等を用いて、暫定特徴点を検出する。1つの例では、暫定特徴点は被写体を構成するコーナーなどである。以上のステップS103の後、処理はステップS104に進む。
 ステップS104では、制御部11は、複数の縮小画像における2枚の縮小画像のペアについて、ステップS103で検出された各特徴点を比較することで、一致する特徴点を対応点(以下では「暫定対応点」と呼ぶ。)として検出する。つまり、制御部11は、マッチングを行うことで暫定対応点を検出する。例えば、制御部11は、複数の縮小画像を組み合わせることで得られる全てのペアについて、特徴点を比較することで暫定対応点を検出する。また、制御部11は、例えば非特許文献1に記載された近似最近傍探索などを用いて、暫定対応点を検出する。そして、処理はステップS105に進む。
 ステップS105では、制御部11は、ステップS104で検出された暫定対応点に基づいて、縮小画像のペアを撮影したカメラ2に関する、基礎行列や基本行列や内部パラメータや外部パラメータを含むカメラパラメータ(以下では「暫定カメラパラメータ」と呼ぶ。)を求める。具体的には、制御部11は、暫定対応点に基づいて、2次元位置(画像上での位置)と3次元位置との間の変換行列に相当する基礎行列(内部パラメータが加味された行列である)を求めると共に、その基礎行列に含まれる内部パラメータ(カメラ2のセンサ中心や焦点距離など)を求める。そして、制御部11は、基礎行列から内部パラメータを除外することで基本行列を求めて、当該基本行列を回転行列と並進ベクトルとに分解する(なお、回転行列及び並進ベクトルは外部パラメータに相当する)。例えば、制御部11は、非特許文献2に記載された8点アルゴリズムや、非特許文献3に記載されたDLT法などを用いて、このような暫定カメラパラメータを求める。また、制御部11は、例えば非特許文献4に記載された特異値分解を用いて、基本行列を回転行列と並進ベクトルとに分解する。そして、処理はステップS106に進む。
 ステップS106では、制御部11は、ステップS105で求められた回転行列及び並進ベクトルに基づいて、カメラ2の3次元位置及び姿勢(以下では「暫定カメラ位置・姿勢」と呼ぶ。なお、カメラ2の3次元位置のみを指す場合には単に「暫定カメラ位置」と呼ぶ。)を求める。そして、処理はステップS107に進む。
 ステップS107では、制御部11は、ステップS105で求められた回転行列及び並進ベクトルを用いて、縮小画像の各特徴点を3次元空間に投影することにより、被写体の特徴点の3次元位置(以下では「暫定特徴点位置」と呼ぶ。)を求める。そして、処理はステップS108に進む。
 ステップS108では、制御部11は、ステップS106で求められた暫定カメラ位置とステップS107で求められた暫定特徴点位置とに基づいて、カメラ2から被写体までの距離を求めて、その距離に応じた最適ベースラインを決定する。そして、処理はステップS109に進む。なお、ステップS108の処理の詳細は後述する。
 ステップS109では、制御部11は、ステップS101で取得された撮影画像(画像サイズを縮小していない元の撮影画像)の中から、ステップS108で決定された最適ベースラインを満たす撮影画像を選択する。この場合、制御部11は、最適ベースラインを満たす複数のカメラペアを決定し、決定された複数のカメラペアから得られた複数の撮影画像のペアを選択する(このような撮影画像のペアは、後の処理においてマッチングの対象画像とされる)。そして、処理はステップS110に進む。ステップS110~S114では、ステップS109で選択された、画像サイズを縮小していない元の撮影画像に対するSfMが実行される、つまり通常SfMが実行される。
 なお、上記したステップS108及びS109の処理の詳細は後述する。
 ステップS110では、制御部11は、ステップS109で選択された撮影画像の特徴点を検出する。この場合、制御部11は、上記したステップS103と同様の手法により、特徴点を検出する。そして、処理はステップS111に進む。
 ステップS111では、制御部11は、ステップS109で選択された撮影画像のペアについて、ステップS110で検出された各特徴点を比較することで、一致する特徴点を対応点として検出する。この場合、制御部11は、上記したステップS104と同様の手法により、対応点を検出する。そして、処理はステップS112に進む。
 ステップS112では、制御部11は、ステップS111で検出された対応点に基づいて、ステップS109で選択された撮影画像のペアを撮影したカメラ2に関する、基礎行列や基本行列や内部パラメータや外部パラメータを含むカメラパラメータを求める。この場合、制御部11は、上記したステップS105と同様の手法により、カメラパラメータを求める。そして、処理はステップS113に進む。
 ステップS113では、制御部11は、ステップS112で求められた回転行列及び並進ベクトルに基づいて、カメラ2の3次元位置及び姿勢を求める。そして、処理はステップS114に進む。なお、ステップS113において、カメラ2の3次元位置及び姿勢の両方を求めることに限定はされず、カメラ2の3次元位置及び姿勢の一方のみを求めても良い。
 ステップS114では、制御部11は、ステップS112で求められた回転行列及び並進ベクトルで、ステップS109で選択された撮影画像の各特徴点を3次元空間に投影することにより、被写体の特徴点の3次元位置を求める。そして、処理は終了する。
 次に、図5を参照して、ステップS108及びS109の処理の詳細について説明する。図5は、ステップS108及びS109の具体的な処理を示すフローチャートである。なお、ステップS201~S207までの処理がステップS108の処理に相当し、ステップS208~S212までの処理がステップS109の処理に相当する。
 まず、ステップS201では、制御部11は、任意のカメラペアを選択し、当該カメラペアのそれぞれのカメラ2について図4のステップS106で算出された暫定カメラ位置に基づいて、当該カメラペアのベースラインを算出する。そして、処理はステップS202に進む。
 なお、「カメラペア」とは、物理的に異なるカメラをペアにすることを意味するのではなく、異なる場所に位置する同一のカメラ2をペアにすることを意味するものとする(つまり、使用するカメラ2は1台である)。
 ステップS202では、制御部11は、ステップS201で選択されたカメラペアのそれぞれについて図4のステップS106で算出された暫定カメラ位置と、カメラペアのそれぞれの撮影画像の両方に写っている特徴点について図4のステップS107で算出された暫定特徴点位置とに基づいて、各カメラ2と特徴点との距離を算出する。この場合、制御部11は、カメラペアのそれぞれのカメラ2ごとに、両方のカメラ2に写っている特徴点の数だけ距離を算出する。そして、処理はステップS203に進む。
 ここで、図6を参照して、ステップS201でのカメラペアのベースラインの算出、及びステップS202でのカメラ2と特徴点との距離の算出について、具体的に説明する。i番目のカメラ2の暫定カメラ位置(3次元位置)を「O(X,Y,Z)」と表し、j番目の特徴点の暫定特徴点位置(3次元位置)を「P(x,y,z)」と表すと、図6中の式(1)より、i番目のカメラ2とj番目の特徴点との距離が算出される。また、k番目のカメラ2の暫定カメラ位置(3次元位置)を「O(X,Y,Z)」と表すと、図6中の式(2)より、i番目のカメラ2とk番目のカメラ2との距離(ベースライン)が算出される。制御部11は、ステップS201では、式(2)を用いてカメラペアのベースラインの算出し、ステップS202では、式(1)を用いてカメラ2と特徴点との距離を算出する。
 図5に戻って、ステップS203以降の処理を説明する。ステップS203では、制御部11は、ステップS202で算出されたカメラ2と特徴点との距離に基づいて、カメラペアの撮影画像の両方に含まれる特徴点ごとに、各カメラ2に対する平均的な距離を算出する。つまり、制御部11は、両方のカメラ2に写っている特徴点に関して、一方のカメラ2と特徴点との距離と、他方のカメラ2と特徴点との距離との平均値(以下では「平均距離」と呼ぶ。)を算出する。この場合、制御部11は、両方のカメラ2に写っている特徴点の数だけ平均距離を算出する。そして、処理はステップS204~S206に進む。
 ステップS204では、制御部11は、ステップS203で特徴点の数だけ算出された平均距離の平均値を算出する。ステップS205では、制御部11は、ステップS203で特徴点の数だけ算出された平均距離の中の最小値を特定する。ステップS206では、制御部11は、ステップS203で特徴点の数だけ算出された平均距離の中の最大値を特定する。以上のステップS204~S206の後、処理はステップS207に進む。
 ステップS207では、制御部11は、ステップS204~S206で得られた平均値、最小値及び最大値を総合的に判断して、カメラペアのベースラインとして許容できる範囲を最適ベースラインとして決定する。1つの例では、制御部11は、平均値に基づいてベースラインの最適値を推定し、最小値及び最大値に基づいて許容範囲を設定することで、最適ベースラインを決定する。他の例では、制御部11は、予め実験やシミュレーションなどにより、上記した平均値、最小値及び最大値に対して適用すべき最適ベースラインをテーブルなどに対応付けて設定しておき、そのようなテーブルを参照して、平均値、最小値及び最大値に応じた最適ベースラインを決定する。そして、処理はステップS208に進む。
 ステップS208では、制御部11は、ステップS201で算出されたベースラインが、ステップS207で決定された最適ベースラインの範囲内か否かを判定する。ベースラインが最適ベースラインの範囲内である場合(ステップS208:Yes)、制御部11は、そのベースラインに対応するカメラペア(ステップS201で選択されたカメラペア)を採用する(ステップS209)。これに対して、ベースラインが最適ベースラインの範囲内でない場合(ステップS208:No)、制御部11は、そのベースラインに対応するカメラペアを不採用とする(ステップS210)。ステップS209、S210の後、処理はステップS211に進む。
 ステップS211では、制御部11は、全カメラペアに対するチェックが完了したか否かを判定する。つまり、制御部11は、想定される全てのカメラペアに対して、ステップS201~S210の処理を行ったか否かを判定する。全カメラペアに対するチェックが完了していない場合(ステップS211:No)、処理はステップS201に戻り、制御部11は、他のカメラペアに対してステップS201以降の処理を再度行う。制御部11は、全カメラペアに対するチェックが完了するまで、ステップS201~S210の処理を繰り返し行う。
 他方で、全カメラペアに対するチェックが完了した場合(ステップS211:Yes)、処理はステップS212に進む。ステップS212では、制御部11は、ステップS209で採用した全てのカメラペアから得られた撮影画像を選択する。この場合、制御部11は、採用したカメラペアから得られた撮影画像のペアを選択する。この後、制御部11は、図4のステップS110以降の処理を行う。つまり、制御部11は、ステップS212で選択された撮影画像に対してのみ通常SfMを行うことで、カメラ2の3次元位置及び姿勢と、被写体の特徴点の3次元位置とを求める。
 2-3.作用効果
 以上説明したように、第1実施例では、撮影画像を縮小した縮小画像を用いて簡易SfMを行うことで最適ベースラインを決定し、最適ベースラインを満たす撮影画像に対して通常SfMを行う。これにより、最適ベースラインを満たす撮影画像に適切に絞って通常SfMを行うことができる。言い換えると、最適ベースラインを満たさない撮影画像を通常SfMの対象から適切に除外することができる。例えば、連続画像に含まれる静止画像や静止画像に近い、十分なベースラインを有しない撮影画像や、ベースラインが長すぎてマッチングの取りにくい撮影画像等を、通常SfMの対象から適切に除外することができる。以上より、第1実施例によれば、全体の処理コストを適切に削減しつつ、3次元位置の算出精度を向上させることが可能となる。
 2-4.第1実施例の変形例
 上記では、第1実施例に係る構成を、制御部11によるソフトウェア的な処理によって実現していたが、これに限定はされず、ハードウェアにより第1実施例に係る構成を実現しても良い。図7は、ハードウェアにより第1実施例に係る構成を実現する場合の、画像処理装置50aの概略構成を示すブロック図である。
 図7に示すように、画像処理装置50aは、撮影画像取得部51と、画像メモリ52と、画像サイズ縮小部53と、特徴点検出部54と、対応点マッチング部55と、カメラパラメータ算出部56と、カメラ位置・姿勢算出部57と、特徴点位置算出部58と、最適ベースライン決定部59と、最適撮影画像選択部60と、を備える。撮影画像取得部51は、上記したインターフェース13に相当し、画像メモリ52は、上記した記憶部12に相当し、撮影画像取得部51が取得した撮影画像のデータを一時的に記憶する。
 具体的には、撮影画像取得部51は、図4のステップS101の処理を行うように機能する。画像サイズ縮小部53は、図4のステップS102の処理を行うように機能する。特徴点検出部54は、図4のステップS103及びS110の処理を行うように機能する。対応点マッチング部55は、図4のステップS104及びS111の処理を行うように機能する。カメラパラメータ算出部56は、図4のステップS105及びS112の処理を行うように機能する。カメラ位置・姿勢算出部57は、図4のステップS106及びS113の処理を行うように機能する。特徴点位置算出部58は、図4のステップS107及びS114の処理を行うように機能する。最適ベースライン決定部59は、図4のステップS108の処理(詳しくは図5のステップS201~S207の処理)を行うように機能する。最適撮影画像選択部60は、図4のステップS109の処理(詳しくは図5のステップS208~S212の処理)を行うように機能する。
 このような画像処理装置50aによれば、同様の処理を行う部分を同一の構成部にて兼用しているため、ハードウェアコストを削減することができる。
 なお、上記では、簡易SfMとして、撮影画像の画像サイズを縮小することで得られた縮小画像に対してSfMを行う例を示したが、これに限定はされない。要は、撮影画像のデータ量を削減した画像に対してSfMを行えば良く、撮影画像のデータ量を削減する手法としては公知の種々の手法を適用することができる。
 3.第2実施例
 次に、本発明の第2実施例について説明する。なお、以下では、第1実施例と異なる構成について主に説明を行い、第1実施例と同様の構成については適宜説明を省略する。つまり、特に説明しない構成要素や動作や処理などについては、第1実施例と同様であるものとする。
 3-1.処理内容
 まず、簡単に、第2実施例に係る処理内容について説明する。第2実施例では、画像処理装置1内の制御部11は、簡易SfMとして、縮小画像に対してSfMを行う代わりに、カメラ2の撮影によって得られた時間的に連続する撮影画像を間引く処理を行い、間引いた後の撮影画像(以下では適宜「間引き画像」と呼ぶ。)に対してSfMを行う点で、第1実施例と異なる。具体的には、制御部11は、間引き画像に対してSfMを行うことでカメラ2及び被写体の位置を求め、その位置に基づいて最適ベースラインを決定し、最適ベースラインを満たす撮影画像に対してSfMを行うことで、カメラ2及び被写体の位置を求める。
 図8は、第2実施例の全体処理を示すフローチャートである。第2実施例に係るフローは、図4のステップS102の代わりにステップS122の処理が行われる点で、第1実施例に係るフローと異なる。その他のステップは、第1実施例と同様である。したがって、ここでは、ステップS122の処理のみを説明する。なお、図5に示したフローについては、第1実施例と第2実施例とで異なる点はない。したがって、その説明を省略する。
 ステップS122では、画像処理装置1内の制御部11が、ステップS101で取得された時間的に連続する撮影画像を間引く処理を行うことで、間引き画像を生成する。つまり、制御部11は、ステップS101で取得された撮影画像の枚数を削減する処理を行う。こうして枚数が削減された後の撮影画像(間引き画像)は、後の処理においてマッチングの対象画像とされる。例えば、制御部11は、時間的に連続する撮影画像を1つ飛ばしにした画像や2つ飛ばしにした画像を、間引き画像として用いる。そして、処理はステップS103に進む。ステップS103~S107では、間引き画像に対するSfMが実行される、つまり簡易SfMが実行される。
 以上説明した第2実施例によれば、撮影画像を間引いた間引き画像を用いて簡易SfMを行うことで最適ベースラインを決定し、最適ベースラインを満たす撮影画像に対して通常SfMを行う。このような第2実施例によっても、全体の処理コストを適切に削減しつつ、3次元位置の算出精度を向上させることが可能となる。この場合、第2実施例によれば、マッチングの対象画像を間引くことで、より直接的に処理コストを低減することができる。
 3-2.第2実施例の変形例
 上記では、第2実施例に係る構成を、制御部11によるソフトウェア的な処理によって実現していたが、これに限定はされず、ハードウェアにより第2実施例に係る構成を実現しても良い。図9は、ハードウェアにより第2実施例に係る構成を実現する場合の、画像処理装置50bの概略構成を示すブロック図である。図9に示すように、第2実施例に係る画像処理装置50bは、画像サイズ縮小部53の代わりに画像間引き部73を有する点で、第1実施例に係る画像処理装置50a(図7参照)と異なる。画像間引き部73は、図8のステップS122の処理を行うように機能する。このような画像処理装置50bによっても、同様の処理を行う部分を同一の構成部にて兼用しているため、ハードウェアコストを削減することができる。
 4.第3実施例
 次に、本発明の第3実施例について説明する。なお、以下では、第1実施例と異なる構成について主に説明を行い、第1実施例と同様の構成については適宜説明を省略する。つまり、特に説明しない構成要素や動作や処理などについては、第1実施例と同様であるものとする。
 4-1.処理内容
 まず、簡単に、第3実施例に係る処理内容について説明する。第3実施例では、画像処理装置1内の制御部11は、簡易SfMとして、縮小画像や間引き画像に対してSfMを行う代わりに、カメラ2の撮影画像から、特徴点についての特徴の強度を示す指標である特徴度合いが上位の特徴点(以下では「上位特徴点」と呼ぶ。)を抽出し、上位特徴点を用いてSfMを行う点で、第1及び第2実施例と異なる。具体的には、制御部11は、上位特徴点についての対応点のみを検出し、つまり上位特徴点のみを用いてマッチングを行い、そのマッチングの結果に基づいてカメラ2及び被写体の位置を求める。そして、制御部11は、求められた位置に基づいて最適ベースラインを決定し、最適ベースラインを満たす撮影画像に対してSfMを行うことで、カメラ2及び被写体の位置を求める。
 図10は、第3実施例の全体処理を示すフローチャートである。第3実施例に係るフローは、図4のステップS102、S103の代わりにステップS132、S133の処理が行われる点で、第1実施例に係るフローと異なる。その他のステップは、第1実施例と同様である。したがって、ここでは、ステップS132及びS133の処理のみを説明する。なお、図5に示したフローについては、第1実施例と第3実施例とで異なる点はない。したがって、その説明を省略する。
 ステップS132では、画像処理装置1内の制御部11が、ステップS101で取得された全ての撮影画像(縮小処理や間引き処理などが行われていない元の画像)の特徴点を検出する。この場合、制御部11は、図4のステップS103と同様の手法により、特徴点を検出する。そして、処理はステップS133に進む。
 ステップS133では、制御部11は、ステップS132で検出された特徴点の中から、特徴度合いが上位である上位特徴点(以下では「暫定上位特徴点」と呼ぶことがある。)を抽出する。1つの例では、制御部11は、特徴度合いを数値化し、特徴度合いの値が閾値以上である特徴点を暫定上位特徴点として抽出する。他の例では、制御部11は、特徴度合いが高い上位の所定数の特徴点を、暫定上位特徴点として抽出する。そして、処理はステップS104に進む。ステップS104~S107では、暫定上位特徴点を用いてSfMが実行される、つまり簡易SfMが実行される。
 以上説明した第3実施例によれば、暫定上位特徴点を用いて簡易SfMを行うことで最適ベースラインを決定し、最適ベースラインを満たす撮影画像に対して通常SfMを行う。このような第3実施例によっても、全体の処理コストを適切に削減しつつ、3次元位置の算出精度を向上させることが可能となる。この場合、第3実施例によれば、暫定上位特徴点のみを用いてマッチングを行うことで、マッチングコストを低減し、全体の処理コストを削減することができる。
 なお、図10のステップS110の特徴点検出では、ステップS132の特徴点検出の結果をそのまま用いると良い。その場合、ステップS132の特徴点検出の結果を記憶させておけば良い。こうすることで、新たな処理コストの発生を抑制することができる。
 4-2.第3実施例の変形例
 上記では、第3実施例に係る構成を、制御部11によるソフトウェア的な処理によって実現していたが、これに限定はされず、ハードウェアにより第3実施例に係る構成を実現しても良い。図11は、ハードウェアにより第3実施例に係る構成を実現する場合の、画像処理装置50cの概略構成を示すブロック図である。図11に示すように、第3実施例に係る画像処理装置50cは、画像サイズ縮小部53及び特徴点検出部54の代わりに、特徴点検出部83及び上位特徴点抽出部84を有する点で、第1実施例に係る画像処理装置50a(図7参照)と異なる。特徴点検出部83は、図10のステップS132及びS110の処理を行うように機能する。上位特徴点抽出部84は、図10のステップS133の処理を行うように機能する。このような画像処理装置50cによっても、同様の処理を行う部分を同一の構成部にて兼用しているため、ハードウェアコストを削減することができる。
 5.その他の変形例
 上記した実施例では、画像サイズ縮小、画像間引き、及び上位特徴点抽出のいずれか1つのみを実行していたが、画像サイズ縮小、画像間引き、及び上位特徴点抽出のいずれか2以上を組み合わせて実行しても良い。つまり、簡易SfMとして、画像サイズ縮小、画像間引き、及び上位特徴点抽出のいずれか2以上を実行することで得られたデータを用いたSfMを行っても良い。これにより、全体の処理コストをより削減することが可能となる。
 上記した実施例では、簡易SfMと通常SfMとを実行していたが、簡易SfMの代わりに通常SfMを実行しても良い。つまり、通常SfMを2回実行しても良い。その場合、最初に、最適ベースラインを決定するために通常SfMを実行し、その後に、最適ベースラインを満たす撮影画像のみに対して通常SfMを行うことで、カメラ2及び被写体の位置を求めれば良い。
 上記した実施例では、本発明を、単一のカメラ2を有するシステムに適用する例を示したが(図1及び図3参照)、本発明は、複数のカメラを有するシステムにも適用することができる。但し、その場合には、複数のカメラが異なる場所に設置されていることが望ましい。例えば、複数のカメラを異なる方向に向けて、カメラ間で共通の被撮影物を撮影することが望ましい。
 また、上記した実施例では、本発明を、カメラ2が車両に搭載されたシステムに適用する例を示したが(図1参照)、本発明の適用はこれに限定はされない。言い換えると、本発明は、移動時にカメラ2で撮影された複数の撮影画像に対して適用することに限定はされない。上記したように異なる場所に設置された複数のカメラを用いた場合には、カメラ2を車両に搭載して移動させる必要はない。
 1 画像処理装置
 2 カメラ
 11 制御部
 12 記憶部
 13 インターフェース

Claims (10)

  1.  被撮影物を異なる位置から撮影した複数の画像を取得する取得手段と、
     前記複数の画像に基づき、前記被撮影物を撮影した位置と、前記被撮影物の位置と、を算出する第1位置算出手段と、
     前記第1位置算出手段による算出結果に基づいて、前記被撮影物を撮影した位置から前記被撮影物までの距離に応じた基線長の範囲を算出する基線長範囲算出手段と、
     前記基線長の範囲を満たし、前記撮影した複数の画像の中から、選択画像を選択する画像選択手段と、
     前記画像選択手段によって選択された前記選択画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置の少なくとも一方を算出する第2位置算出手段と、
     を備えることを特徴とする画像処理装置。
  2.  前記第1位置算出手段は、前記第2位置算出手段よりも、前記位置を算出するための処理量が少ないことを特徴とする請求項1に記載の画像処理装置。
  3.  前記第1位置算出手段は、前記複数の画像のデータ量を削減する処理を行い、当該処理後の画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置を算出することを特徴とする請求項2に記載の画像処理装置。
  4.  前記第1位置算出手段は、前記複数の画像のサイズを縮小する処理を行うことを特徴とする請求項3に記載の画像処理装置。
  5.  前記第1位置算出手段は、前記複数の画像を間引く処理を行い、当該処理後の画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置を算出することを特徴とする請求項2に記載の画像処理装置。
  6.  前記第1位置算出手段は、前記複数の画像から、特徴度合いが所定値以上である特徴点、又は前記特徴度合いが高い上位の所定数の特徴点を抽出し、抽出した前記特徴点に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置を算出することを特徴とする請求項2に記載の画像処理装置。
  7.  前記第1及び第2位置算出手段は、SfM(Structure from Motion)に基づいて前記位置を求めることを特徴とする請求項1乃至6のいずれか一項に記載の画像処理装置。
  8.  前記被撮影物を撮影する撮影手段を更に備え、
     前記取得手段は、前記撮影手段から、前記複数の画像を取得することを特徴とする請求項1乃至7のいずれか一項に記載の画像処理装置。
  9.  画像処理装置によって実行される画像処理方法であって、
     被撮影物を異なる位置から撮影した複数の画像を取得する取得工程と、
     前記複数の画像に基づき、前記被撮影物を撮影した位置と、前記被撮影物の位置と、を算出する第1位置算出工程と、
     前記第1位置算出工程による算出結果に基づいて、前記被撮影物を撮影した位置から前記被撮影物までの距離に応じた基線長の範囲を算出する基線長範囲算出工程と、
     前記基線長の範囲を満たし、前記撮影した複数の画像の中から、選択画像を選択する画像選択工程と、
     前記画像選択工程によって選択された前記選択画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置の少なくとも一方を算出する第2位置算出工程と、
     を備えることを特徴とする画像処理方法。
  10.  コンピュータを有する画像処理装置によって実行される画像処理プログラムであって、
     前記コンピュータを、
     被撮影物を異なる位置から撮影した複数の画像を取得する取得手段、
     前記複数の画像に基づき、前記被撮影物を撮影した位置と、前記被撮影物の位置と、を算出する第1位置算出手段、
     前記第1位置算出手段による算出結果に基づいて、前記被撮影物を撮影した位置から前記被撮影物までの距離に応じた基線長の範囲を算出する基線長範囲算出手段、
     前記基線長の範囲を満たし、前記撮影した複数の画像の中から、選択画像を選択する画像選択手段、
     前記画像選択手段によって選択された前記選択画像に基づいて、前記被撮影物を撮影した位置及び前記被撮影物の位置の少なくとも一方を算出する第2位置算出手段、
     として機能させることを特徴とする画像処理プログラム。
PCT/JP2013/064637 2013-05-27 2013-05-27 画像処理装置、画像処理方法及び画像処理プログラム WO2014192061A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/064637 WO2014192061A1 (ja) 2013-05-27 2013-05-27 画像処理装置、画像処理方法及び画像処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/064637 WO2014192061A1 (ja) 2013-05-27 2013-05-27 画像処理装置、画像処理方法及び画像処理プログラム

Publications (1)

Publication Number Publication Date
WO2014192061A1 true WO2014192061A1 (ja) 2014-12-04

Family

ID=51988139

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/064637 WO2014192061A1 (ja) 2013-05-27 2013-05-27 画像処理装置、画像処理方法及び画像処理プログラム

Country Status (1)

Country Link
WO (1) WO2014192061A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019049515A1 (ja) * 2017-09-08 2019-03-14 株式会社小松製作所 作業機械の計測システム、作業機械、及び作業機械の計測方法
JP2020057187A (ja) * 2018-10-02 2020-04-09 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096947A (ja) * 1995-06-23 1997-01-10 Toyota Central Res & Dev Lab Inc 物体追跡装置
JP2001319224A (ja) * 2000-05-08 2001-11-16 Fujitsu Ltd 3次元物体検出装置と3次元物体検出方法及び記録媒体
JP2003006616A (ja) * 2001-06-18 2003-01-10 Olympus Optical Co Ltd 3次元情報取得装置、3次元情報取得方法および3次元情報取得プログラム
JP2007263669A (ja) * 2006-03-28 2007-10-11 Denso It Laboratory Inc 3次元座標取得装置
JP2007322357A (ja) * 2006-06-05 2007-12-13 Fujitsu Ltd 距離測定プログラム、距離測定装置、距離測定方法
JP2007327938A (ja) * 2006-05-10 2007-12-20 Topcon Corp 画像処理装置及びその処理方法
JP2010210486A (ja) * 2009-03-11 2010-09-24 Omron Corp 画像処理装置および方法、並びに、プログラム
JP2010286985A (ja) * 2009-06-10 2010-12-24 Fujitsu Ten Ltd 物体検出装置および物体検出方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH096947A (ja) * 1995-06-23 1997-01-10 Toyota Central Res & Dev Lab Inc 物体追跡装置
JP2001319224A (ja) * 2000-05-08 2001-11-16 Fujitsu Ltd 3次元物体検出装置と3次元物体検出方法及び記録媒体
JP2003006616A (ja) * 2001-06-18 2003-01-10 Olympus Optical Co Ltd 3次元情報取得装置、3次元情報取得方法および3次元情報取得プログラム
JP2007263669A (ja) * 2006-03-28 2007-10-11 Denso It Laboratory Inc 3次元座標取得装置
JP2007327938A (ja) * 2006-05-10 2007-12-20 Topcon Corp 画像処理装置及びその処理方法
JP2007322357A (ja) * 2006-06-05 2007-12-13 Fujitsu Ltd 距離測定プログラム、距離測定装置、距離測定方法
JP2010210486A (ja) * 2009-03-11 2010-09-24 Omron Corp 画像処理装置および方法、並びに、プログラム
JP2010286985A (ja) * 2009-06-10 2010-12-24 Fujitsu Ten Ltd 物体検出装置および物体検出方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019049515A1 (ja) * 2017-09-08 2019-03-14 株式会社小松製作所 作業機械の計測システム、作業機械、及び作業機械の計測方法
JP2019049460A (ja) * 2017-09-08 2019-03-28 株式会社小松製作所 作業機械の計測システム、作業機械、及び作業機械の計測方法
JP2020057187A (ja) * 2018-10-02 2020-04-09 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム
JP7225647B2 (ja) 2018-10-02 2023-02-21 カシオ計算機株式会社 自律移動装置、自律移動方法及びプログラム

Similar Documents

Publication Publication Date Title
CN110992356B (zh) 目标对象检测方法、装置和计算机设备
Kang et al. Automatic targetless camera–lidar calibration by aligning edge with gaussian mixture model
US8199977B2 (en) System and method for extraction of features from a 3-D point cloud
CN110348454B (zh) 匹配局部图像特征描述符
KR101798041B1 (ko) 3차원 물체 인식 및 자세 추정 장치 및 그 방법
CN109472820B (zh) 单目rgb-d相机实时人脸重建方法及装置
US10853960B2 (en) Stereo matching method and apparatus
US8503730B2 (en) System and method of extracting plane features
KR20160003776A (ko) 자세 추정 방법 및 로봇
Knorr et al. Online extrinsic multi-camera calibration using ground plane induced homographies
JP2007263669A (ja) 3次元座標取得装置
JP6172432B2 (ja) 被写体識別装置、被写体識別方法および被写体識別プログラム
WO2021195939A1 (zh) 一种双目拍摄装置的外参的标定方法、可移动平台及系统
JP2016152027A (ja) 画像処理装置、画像処理方法およびプログラム
JP6922348B2 (ja) 情報処理装置、方法、及びプログラム
US20190313082A1 (en) Apparatus and method for measuring position of stereo camera
US20240087162A1 (en) Map processing device and method thereof
WO2021193672A1 (ja) 三次元モデル生成方法及び三次元モデル生成装置
JP2015121524A (ja) 画像処理装置およびその制御方法、撮像装置、プログラム
US20150063637A1 (en) Image recognition method and robot
WO2014192061A1 (ja) 画像処理装置、画像処理方法及び画像処理プログラム
JP2006113832A (ja) ステレオ画像処理装置およびプログラム
Lui et al. An Iterative 5-pt Algorithm for Fast and Robust Essential Matrix Estimation.
US20110085699A1 (en) Method and apparatus for tracking image patch considering scale
JPWO2017090097A1 (ja) 車両用外界認識装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13885794

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13885794

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP