WO2021117120A1 - 推定方法、推定装置及びプログラム - Google Patents

推定方法、推定装置及びプログラム Download PDF

Info

Publication number
WO2021117120A1
WO2021117120A1 PCT/JP2019/048228 JP2019048228W WO2021117120A1 WO 2021117120 A1 WO2021117120 A1 WO 2021117120A1 JP 2019048228 W JP2019048228 W JP 2019048228W WO 2021117120 A1 WO2021117120 A1 WO 2021117120A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
procedure
estimation
posture
feature amount
Prior art date
Application number
PCT/JP2019/048228
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 US17/783,601 priority Critical patent/US20230005182A1/en
Priority to PCT/JP2019/048228 priority patent/WO2021117120A1/ja
Priority to JP2021563480A priority patent/JP7255709B2/ja
Publication of WO2021117120A1 publication Critical patent/WO2021117120A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/75Determining position or orientation of objects or cameras using feature-based methods involving models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/766Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • the present invention relates to an estimation method, an estimation device and a program.
  • Non-Patent Document 1 a parametric eigenspace method
  • Non-Patent Document 2 a method for estimating a posture by a spherical function
  • Non-Patent Document 3 a method of capturing a point on the surface of a three-dimensional object and using the position of this point to calculate a posture matrix representing the posture of the three-dimensional object.
  • the regression model is trained from the paired data of the image and the physical quantity representing the posture to estimate the posture.
  • Hiroshi Murase S. K. Nayar, "3D object recognition by 2D collation-parametric eigenspace method-", IEICE Transactions, D-II, vol. 7, no. 11, pp. 2179-2187 , Nov. 1994.
  • Toru Tamaki Toshiyuki Amano, Kazufumi Kaneda, "Posture Expression and Posture Estimation by Sphere Function", Image Recognition and Understanding Symposium (MIRU2008), pp.1134-1141, 2008.
  • Non-Patent Document 1 and Non-Patent Document 2 since the image itself is used for estimating the posture, the estimation accuracy may decrease depending on changes in lighting conditions and the like. Further, for example, in the method described in Non-Patent Document 3, it is necessary to capture the points on the surface of the three-dimensional object, so that the posture cannot be estimated when these points cannot be observed.
  • the method using a regression model it is not easy to realize it including the concrete selection of input / output data for learning and the concrete structure and mechanism of the regression model. For example, if a part of the input data is missing, it becomes impossible to estimate the posture with one regression model. In addition, it is necessary to prepare a large number of regression models according to the missing situation in order to be able to estimate the posture even if a part of the input data is missing.
  • Non-Patent Document 1 and Non-Patent Document 2 even if the methods described in Non-Patent Document 1 and Non-Patent Document 2 and the methods using the regression model are combined, it is impossible to estimate the postures of a plurality of objects that cannot be distinguished from each other.
  • One embodiment of the present invention has been made in view of the above points, and an object of the present invention is to accurately estimate the position and orientation of an object in a three-dimensional space.
  • the estimation procedure according to the embodiment is described in the pixel region of the image by using a plurality of images taken by a plurality of photographing devices in a three-dimensional space in which a plurality of objects exist. From a calculation procedure for calculating a representative point of a pixel region representing an object, a position estimation procedure for estimating the position of the object in the three-dimensional space from the representative points calculated in the calculation procedure, and an image region representing the object.
  • the object in the three-dimensional space by a regression model learned in advance using an extraction procedure for extracting a predetermined feature amount, a position estimated by the position estimation procedure, and a feature amount extracted by the extraction procedure. It is characterized in that a computer executes a posture estimation procedure for estimating the posture of the object.
  • the estimation device 10 capable of accurately estimating the position and orientation of the three-dimensional object by using the two-dimensional image obtained by photographing the three-dimensional object will be described.
  • the two dimensions will be referred to as "2D” and the three dimensions will be referred to as "3D”.
  • a plurality of 2D images (hereinafter, also simply referred to as “images”) obtained by capturing a plurality of 3D objects of the same type (hereinafter, also simply referred to as “objects”) in a closed space are used.
  • images obtained by capturing a plurality of 3D objects of the same type (hereinafter, also simply referred to as “objects”) in a closed space are used.
  • the position and orientation of these objects shall be estimated.
  • the total number of objects can be easily estimated from the image. That is, it is assumed that the maximum number of the number of object images in each of the plurality of images can be estimated as the total number of objects. This guess is accurate if taken in an environment where each object is less likely to block other objects.
  • the object image is a connected pixel area representing an object projected in the image.
  • the object is an ellipsoidal rigid body having different lengths on three axes.
  • a living thing such as a fish in an aquarium, an insect flying around in a room, a drone, or the like is assumed.
  • an organism is not strictly a rigid body, but can be approximated to a rigid body.
  • the three-dimensional shape can also be approximated by ellipsoids having different lengths on the three axes.
  • the 3D position P of the object is represented by 3D absolute coordinates (X, Y, Z), and a representative point such as the 3D center of gravity point of the object is defined as the 3D position P.
  • the 3D posture of the object shall be represented by the posture matrix (or rotation matrix) R ⁇ R 3 ⁇ 3.
  • the representative point of the object is the 3D center of gravity point, and the 3D center of gravity point is assumed to be the volume center point on the assumption that the objects have the same density.
  • FIG. 1 is a diagram showing an example of the overall configuration of the estimation device 10 according to the present embodiment.
  • the estimation device 10 includes a position estimation unit 101, a feature amount extraction unit 102, a posture estimation unit 103, and a storage unit 104.
  • the storage unit 104 stores a plurality of images obtained by photographing a plurality of objects at each time.
  • images of a plurality of objects in a closed space represented by -1 ⁇ X, Y, Z ⁇ 1 taken by three photographing devices at each time are stored. It is assumed that there is.
  • the photographing device 20A in front of the object O in the closed space, the photographing device 20B above the object O, and the photographing device 20C on the side surface of the object O Each shall be photographed.
  • the camera parameters that is, internal parameters and external parameters
  • the visual axes of the imaging devices 20 are different, for example, even if the number of objects is large and they are three-dimensionally close to each other, the images without overlapping of the object images can be obtained. The probability of getting two or more increases. Therefore, there are more cases where the position estimation unit 101, which will be described later, can calculate the 3D position. It should be noted that the number of photographing devices 20 is an example, and there may be four or more.
  • each photographing apparatus 20 is out of these four regions D 1 to D 4 . It is assumed that at least one area can be photographed (observed). Further, it is assumed that these four regions D 1 to D 4 are projected as pixel regions having different brightness from each other on the image.
  • the major axis, the middle axis, and the minor axis are called the major axis, the middle axis, and the minor axis in descending order of the length of the three axes of the object (ellipsoid), and the major axis and the ellipsoid.
  • the regions including at least the vicinity of the intersection (2 points) with the body surface shall be D 1 and D 2 , and the regions D 4 and D 4 including at least the vicinity of the intersection (2 points) between the central axis and the ellipsoid surface shall be defined. Can be considered.
  • the surfaces of the ellipsoids D 1 to D 4 are divided without duplication, and the total area of the regions D 1 to D 4 is equal to the surface area of the ellipsoid.
  • the position estimation unit 101 estimates the 3D position from the 2D positions of the objects on the plurality of images at the same time by using the plurality of images stored in the storage unit 104.
  • the 3D center of gravity of the object is projected onto the 2D center of gravity of the object image (two-dimensional connected pixel region) in the image, and this 2D center of gravity is set as the 2D position of the object. ..
  • the position of the photographing device 20A U A shows a projection projecting process of 3D position P of a certain object seen from these imaging devices 20A and 20B in FIG.
  • FIG. 3 depicts the projection plane of the image capturing apparatus 20A (image) G A, the projection plane of the imaged device 20B (an image) in G B.
  • the positions U A and B are known (that is, the camera parameters are known). Therefore, if the 2D positions Q A and Q B of the object are obtained, the 3D position P of the object can be calculated.
  • a plurality of objects can be solved by solving the 2D position correspondence problem between a plurality of images at the same time under the epipolar constraint condition.
  • a 2D position correspondence of the same object image is obtained between the images of.
  • epipolar L A is the 2D positions Q A and the photographing device 20B viewpoint (i.e., U B) is a straight line on the point obtained by projecting the (epipoles e A) connecting the image G A
  • epipolar L B the perspective of the 2D position Q B and the imaging device 20A (i.e., U a) is a straight line on the point obtained by projecting the (epipoles e B) connecting the image G B.
  • the epipolar line is a projection of the line of sight when the object is viewed from another imaging device onto the imaging device. Therefore, ideally, the 2D position should exist on the epi pole line, but the 2D position may not always be on the epi pole line due to an error or the like.
  • the position estimation unit 101 solves the problem by associating the 2D positions having the smallest distance between a certain epipolar line and a certain 2D position as the same object in a certain image. It shall be solved.
  • the internal parameters which are the optical characteristics of the camera, are the same among the plurality of photographing devices 20, the ideal result is the same regardless of the distance of any image.
  • the distance 2D positions Q A from epipolars L A on the image G A, the distance of the 2D location Q B from epipolars L B in the image G B Two distances are possible, but if the internal parameters of the camera are the same for the two imaging devices 20A and 20B, ideally the 2D position will be the same for both images, one of them. You should pay attention to it.
  • the pair of the epi pole line with the shortest distance and the 2D position is the correspondence between the 2D positions of the same object. For example, in the example shown in FIG.
  • the pair of 2D positions where the distance between the 2D position of the 2D point where the 3D point is projected and the corresponding epi pole line is the shortest is defined as the correspondence between the 2D positions of the same object.
  • the 2D position of each object can be obtained from each of a plurality of images (however, at least two images) at the same time, so that the position estimation unit 101 can estimate the 3D position of the object from these 2D positions. it can.
  • a known method such as triangulation may be used.
  • the 3D point is a plurality of points (P 1 , P 2 , ,. ...) Exists.
  • epipolar L A1 is projected to 3D line connecting the a 3D point P 1 viewpoint of another imaging apparatus 20B, similarly and the viewpoint of the other imaging device 20B epipolar L A2, etc.
  • the feature amount extraction unit 102 extracts the feature amount from each object image on a plurality of images at the same time.
  • the attitude matrix is estimated by the regression model using this feature quantity.
  • Q is the 2D center of gravity point of the object image O'
  • the 3D center of gravity point of the ellipsoid that is, the object O
  • the product S 1 2 ⁇ l 1 of l 2 and l 1 is used. That is, the feature amount extraction unit 102 extracts the feature amount ( ⁇ , ⁇ , r, S) for each object image O'.
  • each object (ellipsoid) is divided into four regions D 1 to D 4, and these regions D 1 to D 4 are projected as pixel regions having different brightness on the image. Therefore, among the pixels included in the outer periphery of the object image O', the longest axis distance between any 2 pixels as the major axis A 1, the positive direction by the difference in luminance between the end points of the long axis A 1 You just have to decide.
  • an axis perpendicular to the major axis A 1 may be determined a positive direction by the brightness difference between the short axis A 2 endpoints.
  • a first intersection point of intersection included in the area D 1 the intersections included in the area D 2 as a second intersection, the first intersection from the second intersection
  • the direction toward is the positive direction of the long axis.
  • the pixel region on which the region D 1 is projected has higher brightness than the pixel region on which the region D 2 is projected.
  • the positive direction of the major axis A 1 from the end point towards a low luminance determined the direction of the end point towards high brightness.
  • the direction of the short axis A 2 can be determined a positive direction.
  • a predetermined direction is a positive direction of the short axis A 2.
  • the method of determining the positive direction of the major axis A 1 and the minor axis A 2 described above is an example, and the positive direction of the major axis A 1 and the minor axis A 2 may be determined by another method. ..
  • the 2D point projected on the image that is, the point where the peculiar 3D point is projected on the image.
  • the attitude estimation unit 103 calculates the attitude matrix by the regression model using the feature amount extracted by the feature amount extraction unit 102 and the 3D position estimated by the position estimation unit 101. As a result, the posture of the three-dimensional object is estimated.
  • the feature amount extracted by the feature amount extraction unit 102 depends not only on the posture of the object but also on the 3D position. Therefore, as the input data to be input to the regression model, not only the feature quantities extracted from each of a plurality of images (three images in this embodiment) at the same time, but also the 3D position estimated by the position estimation unit 101. Use. Further, ⁇ and ⁇ included in the feature quantity are not input to the regression model as they are, but the values of cos and sin are used.
  • the output data from the regression model is the attitude matrix R ⁇ R 3 ⁇ 3 .
  • the regression model is composed of a neural network that inputs 21-dimensional data and an orthonormalization processing unit that orthonormalizes the output of this neural network.
  • the reason why the orthonormalization processing unit is necessary is that the output of the neural network may not satisfy the condition of the attitude matrix (that is, the orthogonal matrix and de
  • 1).
  • An example of the neural network included in the regression model is shown in FIG. As shown in FIG. 5, the neural network included in the regression model includes a 21-dimensional input layer (that is, an input layer having 21 units), a 32-dimensional intermediate layer, a 16-dimensional and intermediate layer, and 9 It consists of a dimensional output layer.
  • each layer from the first layer to the fourth layer is a fully connected layer
  • linear conversion is used for the activation function of the input layer and the output layer
  • ReLU Rectified Linear Unit
  • the neural network shown in FIG. 5 is an example, and the dimension (number of units) of the intermediate layer, the number of layers of the intermediate layer, the activation function, and the like can be appropriately changed.
  • the above regression model may be trained by, for example, a supervised learning method, but in the present embodiment, the learning method is devised.
  • the learning method is devised.
  • the 3D position of an object can be calculated if there are two or more images in which the object images do not overlap. Therefore, it is considered that the 3D posture can be similarly calculated if there are two or more images in which the object images do not overlap.
  • a data set for learning represents a feature amount obtained from each of a plurality of images of a single object taken by a plurality of photographing devices at various 3D positions and postures, and a 3D position as input data and its posture. Create a posture matrix as teacher data.
  • the feature amount of the image in which the object images overlap cannot be obtained, in the present embodiment, it is outside the range of the feature amount value obtained from the image in which the object images do not overlap (that is, outside the range of the upper limit value and the lower limit value).
  • the object image is displayed.
  • Learning is performed using a data set that also includes learning data (learning data in which a feature amount fixed to a predetermined value and a 3D position are input data and an attitude matrix is used as teacher data) assuming an overlapping case. Since the function that the neural network can acquire by learning can also be a many-to-one mapping, a regression model can be constructed even by learning with such a training data set.
  • the value of the feature amount of the image is set to the above-mentioned predetermined value. Enter the value in the regression model.
  • FIG. 6 is a flowchart showing an example of the flow of the position estimation process according to the present embodiment.
  • the position estimating unit 101 acquires an image G A ⁇ G C at the time from the storage unit 104 (step S101).
  • the position estimating section 101 extracts the foreground portion representing the object image each object is projected projected from each image G A ⁇ G C (step S102). That is, the position estimating unit 101 cuts out the foreground portion from the images G A ⁇ G C. These foreground portions are also passed to the feature amount extraction unit 102. Note that these foreground parts are elliptical regions if the object images do not overlap (however, if the object images overlap each other, the number of connecting regions in the image overlaps with each other.
  • the position estimation unit 101 calculates the 2D position of each object from the foreground portion (object image) extracted in step S102 above (step S103). As described above, the position estimation unit 101 calculates the 2D center of gravity points of each object image, sets these 2D center of gravity points as 2D positions, and the distance between the epi pole line and the 2D position is the largest between the two images. The short 2D positions are associated with each other as the 2D positions of the same object image. As described above, when the object images overlap, the 2D center of gravity cannot be calculated. In this step, it is assumed that the object images do not overlap in at least two images of each object image, and the 2D center of gravity point (that is, the 2D position) can be calculated in at least two images.
  • the position estimation unit 101 estimates the 3D position of each object from the 2D position of each object obtained in step S103 above (step S104). As described above, a known method such as triangulation may be used for estimating the 3D position. These 3D positions are passed to the attitude estimation unit 103.
  • FIG. 7 is a flowchart showing an example of the flow of the posture estimation process according to the present embodiment.
  • the feature amount extraction unit 102 inputs the foreground portion passed from the position estimation unit 101 (step S201).
  • the feature amount extraction unit 102 indicates that, for each foreground portion input in step S201, the foreground portion corresponding to the object is an elliptical region (that is, the object images do not overlap). ), The feature amount is extracted from the elliptical region (step S202). Thus, for each object, a first feature amount extracted from the foreground portion of the image G A, the second feature amounts extracted from the foreground portion of the image G B, it is extracted from the foreground portion of the image G C A third feature amount is obtained.
  • the value of the feature amount is set to a predetermined value. For example, if the overlap of an object image in the foreground portion of the image G A has occurred, the respective values of the first feature amount, respectively a predetermined value.
  • the posture estimation unit 103 includes the 3D position (3D position of the object) passed from the position estimation unit 101 and the feature amount extracted in step S202 above (first feature of the object) for each object. Using the quantity to the third feature quantity), the posture matrix representing the posture of the object is calculated by the regression model (step S203). As described above, the attitude estimation unit 103 creates 21-dimensional input data using, for example, the 3D position and the first to third feature quantities, and returns the 21-dimensional input data. The attitude matrix R is obtained by inputting to the model. As a result, the posture represented by the posture matrix R is estimated as the posture of the object.
  • the upper row shows the true value
  • the lower row shows the estimation result, and from the left, the position and orientation of each object in the projection plane of the imaging device 20A, the position and orientation of each object in the projection plane of the imaging device 20B, and so on. It represents the position and orientation of each object in the projection plane of the imaging device 20C, and the position and orientation of each object in 3D space.
  • the true value and the estimation result are compared, it can be seen that the 3D position and the posture can be estimated with high accuracy, although there is a slight error.
  • the estimated apparatus 10 when the estimated apparatus 10 according to the present embodiment to estimate the 3D position and orientation of the object O 1 ⁇ O 3 at a certain time, shows the results when overlapping a portion of the object image occurs in Fig. 9 .. Also in FIG. 9, the upper row shows the true value, the lower row shows the estimation result, and from the left, the position and orientation of each object in the projection plane of the photographing device 20A, and the position and orientation of each object in the projection plane of the photographing device 20B. It represents the position and orientation of each object in the projection plane of the imaging device 20C, and the position and orientation of each object in 3D space. As shown in FIG. 9, the object O 1 and the object O 3 partially overlap in the projection plane of the photographing apparatus 20C.
  • the 2D positions of the objects O 1 and O 3 cannot be calculated, but as in the present embodiment, the three imaging devices By using 20, the 2D positions of the objects O 1 and O 3 can be calculated.
  • the estimation device 10 it is possible to estimate the 3D position and orientation of a plurality of indistinguishable 3D objects of the same type in a closed space with high accuracy by using a plurality of images.
  • the shape of the object is an ellipsoid, but as an approximate 3D shape other than the ellipsoid, the 3D posture can be calculated using the feature amount obtained from the image of the silhouette of the object. If there is, it can be used in the same way.
  • FIG. 10 is a diagram showing an example of the hardware configuration of the estimation device 10 according to the present embodiment.
  • the estimation device 10 is realized by a general computer or computer system, and includes an input device 201, a display device 202, an external I / F 203, a communication I / F 204, and a processor. It has 205 and a memory device 206. Each of these hardware is communicably connected via bus 207.
  • the input device 201 is, for example, a keyboard, a mouse, a touch panel, or the like.
  • the display device 202 is, for example, a display or the like.
  • the estimation device 10 does not have to have at least one of the input device 201 and the display device 202.
  • the external I / F 203 is an interface with an external device.
  • the external device includes a recording medium 203a and the like.
  • the estimation device 10 can read or write the recording medium 203a via the external I / F 203.
  • the recording medium 203a may store, for example, one or more programs that realize each functional unit (position estimation unit 101, feature amount extraction unit 102, and posture estimation unit 103) of the estimation device 10.
  • the recording medium 203a includes, for example, a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), a USB (Universal Serial Bus) memory card, and the like.
  • a CD Compact Disc
  • DVD Digital Versatile Disk
  • SD memory card Secure Digital memory card
  • USB Universal Serial Bus
  • the communication I / F 204 is an interface for connecting the estimation device 10 to the communication network.
  • One or more programs that realize each functional unit of the estimation device 10 may be acquired (downloaded) from a predetermined server device or the like via the communication I / F 204.
  • the processor 205 is, for example, various arithmetic units such as a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). Each functional unit included in the estimation device 10 is realized by, for example, a process of causing the processor 205 to execute one or more programs stored in the memory device 206 or the like.
  • a CPU Central Processing Unit
  • GPU Graphics Processing Unit
  • the memory device 206 is, for example, various storage devices such as HDD (Hard Disk Drive), SSD (Solid State Drive), RAM (Random Access Memory), ROM (Read Only Memory), and flash memory.
  • the storage unit 104 included in the estimation device 10 can be realized by using, for example, the memory device 206.
  • the storage unit 104 may be realized by using a storage device (for example, a database server or the like) connected to the estimation device 10 via a communication network.
  • the estimation device 10 can realize the above-mentioned position estimation process and posture estimation process by having the hardware configuration shown in FIG.
  • the hardware configuration shown in FIG. 10 is an example, and the estimation device 10 may have another hardware configuration.
  • the estimation device 10 may have a plurality of processors 205 or a plurality of memory devices 206.

Abstract

一実施形態に係る推定手順は、複数の物体が存在する三次元空間を複数の撮影装置でそれぞれ撮影した複数の画像を用いて、前記画像の画素領域の中で前記物体を表す画素領域の代表点を計算する計算手順と、前記計算手順で計算された代表点から、前記三次元空間における前記物体の位置を推定する位置推定手順と、前記物体を表す画像領域から所定の特徴量を抽出する抽出手順と、前記位置推定手順で推定された位置と、前記抽出手順で抽出された特徴量とを用いて、予め学習された回帰モデルによって前記三次元空間における前記物体の姿勢を推定する姿勢推定手順と、をコンピュータが実行することを特徴とする。

Description

推定方法、推定装置及びプログラム
 本発明は、推定方法、推定装置及びプログラムに関する。
 コンピュータビジョン(CV:Computer Vision)の分野では、3次元空間における物体の姿勢を2次元の画像から計算する方法が知られている。例えば、パラメトリック固有空間法(例えば、非特許文献1)や球関数によって姿勢を推定する方法(例えば、非特許文献2)等が知られている。これら以外にも、3次元物体の表面上の点を捉え、この点の位置を用いて3次元物体の姿勢を表す姿勢行列を計算する方法も知られている(例えば、非特許文献3)。また、画像と、姿勢を表す物理量との対データにより回帰モデルを学習させ、姿勢推定を行うことも想像できる。
村瀬洋, S. K. Nayar, "2次元照合による3次元物体認識 -パラメトリック固有空間法-", 電子情報通信学会論文誌, D-II, vol. 7, no. 11, pp. 2179-2187, Nov. 1994. 玉木徹, 天野敏之, 金田和文, "球関数による姿勢表現と姿勢推定", 画像の認識・理解シンポジウム(MIRU2008), pp.1134-1141, 2008. 西村邦裕, 下坂正倫, 谷川智洋, 中村衛, 田中雅行, 中垣好之, "機械情報工学科 演習 メディアインタフェース(1) カメラインタフェース", インターネット<URL:http://www.cyber.t.u-tokyo.ac.jp/~kuni/enshu2010/enshu2010mi1.pdf>
 しかしながら、例えば、非特許文献1や非特許文献2に記載されている手法では、姿勢の推定に画像そのものを用いているため、照明条件等の変化によってはその推定精度が低下する場合がある。また、例えば、非特許文献3に記載されている手法では、3次元物体の表面の点を捉える必要があるため、これらの点が観測できない場合等には姿勢を推定することができない。
 また、例えば、回帰モデルを用いる方法では、学習のための入出力データの具体的な選択や回帰モデルの具体的な構造、仕組み等を含めてその実現が容易ではない。例えば、入力データの一部に欠損がある場合には、一つの回帰モデルで姿勢を推定することが不可能になる。また、入力データの一部に欠損があっても姿勢の推定を可能にするために、欠損状況に応じた多数の回帰モデルを準備する必要がある。
 更に、非特許文献1や非特許文献2に記載されている手法や回帰モデルを用いる方法を組み合わせても、互いに区別できない複数の物体の姿勢推定は不可能である。
 本発明の一実施形態は、上記の点に鑑みてなされたもので、3次元空間における物体の位置及び姿勢を精度良く推定することを目的とする。
 上記目的を達成するため、一実施形態に係る推定手順は、複数の物体が存在する三次元空間を複数の撮影装置でそれぞれ撮影した複数の画像を用いて、前記画像の画素領域の中で前記物体を表す画素領域の代表点を計算する計算手順と、前記計算手順で計算された代表点から、前記三次元空間における前記物体の位置を推定する位置推定手順と、前記物体を表す画像領域から所定の特徴量を抽出する抽出手順と、前記位置推定手順で推定された位置と、前記抽出手順で抽出された特徴量とを用いて、予め学習された回帰モデルによって前記三次元空間における前記物体の姿勢を推定する姿勢推定手順と、をコンピュータが実行することを特徴とする。
 3次元空間における物体の位置及び姿勢を精度良く推定することができる。
本実施形態に係る推定装置の全体構成の一例を示す図である。 複数の撮影装置による撮影の一例を説明するための図である。 3D位置の射影投影過程の一例を説明するための図である。 楕円の物体像の一例を説明するための図である。 回帰モデルに含まれるニューラルネットワークの一例を説明するための図である。 本実施形態に係る位置推定処理の流れの一例を示すフローチャートである。 本実施形態に係る姿勢推定処理の流れの一例を示すフローチャートである。 3D位置及び姿勢の推定結果の一例を示す図(その1)である。 3D位置及び姿勢の推定結果の一例を示す図(その2)である。 本実施形態に係る推定装置のハードウェア構成の一例を示す図である。
 以下、本発明の一実施形態について説明する。本実施形態では、3次元物体を撮影した2次元の画像を用いて、3次元物体の位置及び姿勢を精度良く推定することができる推定装置10について説明する。なお、以降では、2次元を「2D」、3次元を「3D」とも表記する。
 ここで、本実施形態では、閉空間内で複数同種の3D物体(以下、単に「物体」とも表す。)を撮影した複数の2D画像(以下、単に「画像」とも表す。)を用いて、これらの物体の位置及び姿勢を推定するものとする。このとき、物体の総数は、画像により、容易に推測することができるものとする。すなわち、複数の画像の各々での物体像の数のうち、その最大数が物体の総数と推測することができるものとする。各物体が他の物体を遮蔽することが少ない環境での撮影ならば、この推測は正確である。なお、物体像とは、画像中に投影された物体を表す連結画素領域のことである。
 物体は、一例として、三軸の長さが互いに異なる楕円体の剛体であるものとする。このような物体としては、例えば、水槽中の魚等の生物、部屋の中を飛び回る昆虫、ドローン等が想定する。なお、例えば生物は厳密には剛体ではないが、剛体と近似できるものとする。また、その三次元形状も、三軸の長さが互いに異なる楕円体で近似できるものとする。
 物体の3D位置Pは3D絶対座標(X,Y,Z)で表し、物体の3D重心点等の代表点を3D位置Pとする。また、物体の3D姿勢は姿勢行列(又は回転行列)R∈R3×3で表すものとする。なお、本実施形態では物体の代表点は3D重心点であり、物体は等密度であると仮定して3D重心点は容積中心点であるものとする。
 <全体構成>
 まず、本実施形態に係る推定装置10の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係る推定装置10の全体構成の一例を示す図である。
 図1に示すように、本実施形態に係る推定装置10は、位置推定部101と、特徴量抽出部102と、姿勢推定部103と、記憶部104とを有する。
 記憶部104には、複数の物体を各時刻で撮影した複数の画像が記憶されている。ここで、本実施形態では、一例として、-1≦X,Y,Z≦1で表される閉空間内の複数の物体を各時刻で3台の撮影装置によってそれぞれ撮影した画像が記憶されているものとする。例えば、図2に示すように、各時刻で、閉空間内の物体Oの正面にある撮影装置20Aと、物体Oの上部にある撮影装置20Bと、物体Oの側面にある撮影装置20Cとでそれぞれ撮影されるものとする。なお、図2に示す例では1つの物体Oのみが閉空間内に存在するが、閉空間内には複数の物体が存在する。なお、撮影装置20A~20Cのカメラパラメータ(つまり、内部パラメータ及び外部パラメータ)は既知であるものとする。
 図2に示す例のように、各撮影装置20の視軸が異なれば、例えば物体数が多く、三次元的に接近しているような場合であっても、物体像の重なりのない画像が2つ以上得られる確率が増える。このため、後述する位置推定部101によって3D位置の計算ができる場合が増えることになる。なお、撮影装置20が3台であることは一例であって、4台以上であってもよい。
 ここで、図2に示すように、本実施形態では各物体の表面が4つの領域D~Dに分けられており、各撮影装置20は、これら4つの領域D~Dのうち少なくとも1つの領域を撮影(観測)可能であるものとする。また、これら4つの領域D~Dは画像上で互いに輝度が異なる画素領域として投影されるものとする。これら4つの領域D~Dの分け方としては、例えば、物体(楕円体)の三軸についてその長さが大きい順に、長軸、中軸、短軸と呼ぶことにして、長軸と楕円体表面との交点(2点)の近傍をそれぞれ少なくとも含む領域をD及びD、中軸と楕円体表面との交点(2点)の近傍をそれぞれ少なくとも含む領域D及びDとすることが考えられる。なお、領域D~Dは楕円体の表面を重複なく分けたものであり、領域D~Dの面積の合計は楕円体の表面積に等しい。
 位置推定部101は、記憶部104に記憶されている複数の画像を用いて、同一時刻における複数の画像上の物体の2D位置から3D位置を推定する。ここで、本実施形態では、物体の3D重心点は、画像中の物体像(2次元の連結画素領域)の2D重心点に投影されているとして、この2D重心点を物体の2D位置とする。
 一例として、撮影装置20Aの位置をU、撮影装置20Bの位置Uとして、これらの撮影装置20A及び20Bから見た或る物体の3D位置Pの射影投影過程を図3に示す。図3に示す例では、撮影装置20Aの投影面(画像)をG、撮影装置20Bの投影面(画像)をGで表している。このとき、閉空間内の物体が1つである場合には、位置U及び位置Uや撮影装置20A及び撮影装置20Bの視軸の向き等は既知(つまり、カメラパラメータは既知)であるため、物体の2D位置Q及びQが得られれば、当該物体の3D位置Pを計算することができる。
 本実施形態では閉空間内には同種で個々の区別ができない複数の物体が存在するため、同一時刻の複数の画像間で2D位置の対応問題をエピ極拘束条件の下で解くことで、複数の画像間で同一物体像の2D位置の対応を得る。ここで、エピ極線Lは2D位置Qと撮影装置20Bの視点(つまり、U)を投影した点(エピ極点e)とを結んだ画像G上の直線であり、同様に、エピ極線Lは2D位置Qと撮影装置20Aの視点(つまり、U)を投影した点(エピ極点e)とを結んだ画像G上の直線である。つまり、エピ極線は、他の撮影装置から物体を見たときの視線を、当該撮影装置に投影させたものになっている。このため、理想的には、エピ極線上に2D位置が存在するはずであるが、誤差等の理由により、必ずしも2D位置がエピ極線上とならない場合もある。また、エピ極線上に物体の2D位置がある場合であっても、エピ極平面T上に他の物体の3D位置が存在する場合には、同一エピ極線上に複数の2D位置があり、エピ極拘束条件の下でも同一物体像の2D位置同士の対応を得ることができなくなる。なお、エピ極点やエピ極線等のエピポーラ幾何の用語等の意味については、上記の非特許文献3等を参照されたい。
 そこで、本実施形態では、位置推定部101により、或る画像で、或るエピ極線と或る2D位置との間の距離が最も小さい2D位置同士を同一物体として対応付けることで、対応問題を解くものとする。なお、カメラの光学的特性である内部パラメータが複数の撮影装置20間で同じ場合、どの画像の距離に基づいて対応を取っても、理想的には同じ結果となる。
 すなわち、例えば、図3に示す例の場合、画像G上のエピ極線Lからの2D位置Qの距離と、画像G上のエピ極線Lからの2D位置Qの距離との2つの距離が考えられるが、カメラの内部パラメータが2つの撮影装置20A及び20Bで同じである場合、理想的には、2D位置はどちらの画像でも同じになり、どちらか片方のものに着目すればよい。距離が最も小さいエピ極線と2D位置との組を同一物体の2D位置同士の対応とする。例えば、図3に示す例の場合、画像G上のエピ極線Lからの2D位置Qの距離と、画像G上のエピ極線Lからの2D位置Qの距離とのどちらかに着目して、3D点が射影された2D点の2D位置とそれに相当するエピ極線との距離が最も小さい2D位置の組を同一物体の2D位置同士の対応とする。これにより、同一時刻の複数の画像(ただし、少なくとも2つの画像)の各々で各物体の2D位置が得られるため、位置推定部101は、これらの2D位置から物体の3D位置を推定することができる。なお、3D位置は、例えば、三角測量等の既知の手法を用いればよい。
 ここで、図3に示す例では、簡単のため、3D点を1点(P)のみ記載しているが、複数の物体が存在する場合は、3D点は複数点(P,P,・・・)存在する。この場合、これら複数の3D点がそれぞれの画像に射影された複数の2D点の2D位置(QA1,QA2,・・・又はQB1,QB2・・・)が存在する。例えば、2D位置Qが存在する画像Gには、他の撮影装置20Bの視点と3D点Pとを結ぶ3D線を射影したエピ極線LA1、同じく他の撮影装置20Bの視点と3D点Pとを結ぶ3D線を射影したエピ極線LA2等、エピ極線が3D点の数(LA1,LA2,・・・)だけ存在する。したがって、2D位置Qとそれらのエピ極線の距離の最も小さい組を同一物体の2D位置の対応とする。
 なお、上述したように、或る物体の3D位置を推定するためには、同一時刻で少なくとも2つの画像上で当該物体の2D位置を得る必要がある。一方で、画像上で複数の物体像(連結画素領域)が重なった場合、各々の物体の2D重心点を計算することができない。このため、図2に示したように、視軸が異なる複数の撮影装置20で各物体を撮影することが好ましい。これにより、物体像の重なりのない画像が2つ以上得られる確率が増え、3D位置の計算ができる場合を増やすことができる。
 特徴量抽出部102は、同一時刻における複数の画像上の各物体像からそれぞれ特徴量を抽出する。本実施形態では、この特徴量を用いて、回帰モデルにより姿勢行列を推定する。ここで、本実施形態では、三軸の長さが互いに異なる楕円体は画像上で楕円に近似的に射影投影されるものとする。すると、例えば、図4に示すように、画像上には或る物体Oを射影投影した物体像O´として楕円領域が含まれることになる。
 図4に示す例では、Qが物体像O´の2D重心点であり、楕円体(つまり、物体O)の3D重心点が投影された点である。姿勢行列を推定するための特徴量として、物体像O´の長軸Aの正の向きと画像の水平方向の正の向きとが成す角度θと、物体像O´の短軸Aの正の向きと画像の水平方向の正の向きとが成す角度φと、直軸Aの長さlと短軸Aの長さlとの比r=l/lと、lとlとの積S=1×lとを用いる。すなわち、特徴量抽出部102は、物体像O´毎に、その特徴量(θ,φ,r,S)を抽出する。
 ここで、上記の特徴量(θ,φ,r,S)のうち、角度θ,φを抽出するためには、長軸A及び短軸Aの正の向きを決める必要がある。上述したように、各物体(楕円体)は4つの領域D~Dに分けられており、これら領域D~Dは画像上で互いに異なる輝度の画素領域として投影される。このため、物体像O´の外周に含まれる画素のうち、任意の2画素間の距離が最も長い軸を長軸Aとして、この長軸Aの端点間の輝度差により正の向きを決めればよい。同様に、物体像O´の2D重心点Qを通り、長軸Aに垂直な軸を短軸Aとして、この短軸Aの端点間の輝度差により正の向きを決めればよい。
 例えば、長軸と楕円体表面との交点のうち、領域Dに含まれる交点を第1の交点、領域Dに含まれる交点を第2の交点として、第2の交点から第1の交点へ向かう方向を長軸の正の方向とする。また、例えば、領域Dが投影された画素領域の方が、領域Dが投影された画素領域よりも輝度が高いものとする。この場合、長軸Aの正の方向は、輝度が低い方の端点から、輝度が高い方の端点への方向と決まる。短軸Aの方向についても同様に正の方向を決めることができる。
 ただし、例えば、短軸Aが楕円体の短軸に該当する場合には、端点間で輝度差がないことが有り得る。この場合には、予め決められた方向を短軸Aの正の方向とすればよい。
 或る3D位置・姿勢のとき、画像上の楕円領域の長軸、短軸の角度θ,φを常に定まった方向に規定することにより、上記の特徴量(θ,φ,r,S)と姿勢行列との一対一関係ができる。これにより、後述するように、3D位置と特徴量(より正確には、この特徴量から得られる特徴量)とを用いて姿勢行列を計算する回帰モデルが構成可能となる。
 なお、上記で説明した長軸A及び短軸Aの正の方向を決める方法は一例であって、他の方法により長軸A及び短軸Aの正の方向を決めてもよい。例えば、楕円体の表面と三軸の正方向との交点に特異な3D点が存在する場合には、画像上に投影された2D点(つまり、特異な3D点を画像上に投影した点)を用いて、長軸A及び短軸Aの正の方向を決めることが可能である。
 姿勢推定部103は、特徴量抽出部102により抽出された特徴量と、位置推定部101により推定された3D位置とを用いて、回帰モデルにより姿勢行列を計算する。これにより、3次元物体の姿勢が推定される。
 ここで、特徴量抽出部102により抽出される特徴量は、物体の姿勢だけでなく、3D位置にも依存する。このため、回帰モデルに入力する入力データとしては、同一時刻における複数の画像(本実施形態では3枚の画像)からそれぞれ抽出した特徴量だけでなく、位置推定部101により推定された3D位置も用いる。また、特徴量に含まれるθ及びφはそのまま回帰モデルに入力するのではなく、cos及びsinの値を用いる。したがって、画像G,G及びGからそれぞれ抽出された特徴量を(θ,φ,r,S),(θ,φ,r,S)及び(θ,φ,r,S)、3D位置をP=(X,Y,Z)とすれば、回帰モデルへの入力データは、(cosθ,cosφ,sinθ,sinφ,r,S,cosθ,cosφ,sinθ,sinφ,r,S,cosθ,cosφ,sinθ,sinφ,r,S,X,Y,Z)と表される21次元のデータである。なお、回帰モデルからの出力データは、姿勢行列R∈R3×3である。
 ここで、回帰モデルは、21次元のデータを入力とするニューラルネットワークと、このニューラルネットワークの出力を正規直交化する正規直交化処理部とで構成される。正規直交化処理部が必要な理由は、ニューラルネットワークの出力は、姿勢行列の条件(つまり、直行行列かつdet|R|=1)を満たさない場合があるためである。回帰モデルに含まれるニューラルネットワークの一例を図5に示す。図5に示すように、回帰モデルに含まれるニューラルネットワークは、21次元の入力層(つまり、ユニット数が21個の入力層)と、32次元の中間層と、16次元と中間層と、9次元の出力層とで構成される。また、第1層目~第4層目までの各層は全結合層であり、入力層及び出力層の活性化関数には線形変換、中間層の活性化関数にはReLU(Rectified Linear Unit)を用いる。なお、図5に示すニューラルネットワークは一例であって、中間層の次元(ユニット数)や中間層の層数、活性化関数等は適宜変更し得る。
 上記の回帰モデルは、例えば、教師あり学習の手法により学習させればよいが、本実施形態ではその学習方法を工夫する。ここで、例えば、同一時刻における全ての画像からの特徴量を回帰モデルに入力するように構成した場合、物体像が重なり、或る画像で特徴量が得られないときに回帰モデルのへの入力データの一部が欠損し、姿勢行列が推定できなくなる。通常、物体の3D位置は物体像が重ならない画像が2つ以上あれば計算することができる。このため、3D姿勢も同様に、物体像が重ならない画像が2以上あれば計算することができると考えられる。物体像が重なった場合に対応するためには、通常、あらゆる重なりの場合に対応した、任意の2つの画像だけの特徴量を入力した回帰モデルが全て必要なる。本実施形態では、この手間を省くために、重なりが起こっても単一の回帰モデルで姿勢行列が計算できるようにするため、ニューラルネットワークの学習用のデータセットに対して以下の工夫を行う。
 通常、学習用のデータセットは、物体単体を様々な3D位置かつ姿勢で複数の撮影装置によって撮影した複数の画像の各々から得られた特徴量と、3D位置とを入力データ、その姿勢を表す姿勢行列を教師データとして作成する。このとき、物体像が重なった画像の特徴量は得られないため、本実施形態では、物体像が重ならない画像から得られる特徴量の値の範囲外(つまり、上限値及び下限値の範囲外)の所定の値に固定して、物体像が重なった場合の特徴量の値とする。すなわち、本実施形態では、通常の学習用データ(複数の画像の各々から得られた特徴量と3D位置とを入力データ、姿勢行列を教師データとする学習用データ)に加えて、物体像が重なった場合を想定した学習用データ(所定の値に固定した特徴量と3D位置とを入力データ、姿勢行列を教師データとする学習用データ)も含まれるデータセットを用いて学習を行う。ニューラルネットワークが学習により獲得できる関数は多対一の写像も可能であるため、このような学習用のデータセットで学習しても回帰モデルを構成することができる。なお、実際に姿勢を推定する場合(つまり、学習済みのニューラルネットワークが含まれる回帰モデルを用いる場合)に、画像の物体像が重なったときは、当該画像の特徴量の値を上記の所定の値にして回帰モデルに入力する。
 <3D位置及び姿勢の推定>
 次に、本実施形態に係る推定装置10により物体の位置及び姿勢を推定する場合の処理の流れについて説明する。なお、以降では、或る時刻における3枚の画像G~G(つまり、撮影装置20A~20Cでそれぞれ撮影された画像)を用いて物体の位置及び姿勢を推定する場合について説明する。
  ≪位置推定処理≫
 以降では、各物体の3D位置を推定するための位置推定処理の流れについて、図6を参照しながら説明する。図6は、本実施形態に係る位置推定処理の流れの一例を示すフローチャートである。
 まず、位置推定部101は、当該時刻における画像G~Gを記憶部104から取得する(ステップS101)。
 次に、位置推定部101は、各物体がそれぞれ射影投影された物体像を表す前景部分を各画像G~Gから抽出する(ステップS102)。すなわち、位置推定部101は、各画像G~Gから前景部分の切り出しを行う。これらの前景部分は特徴量抽出部102にも渡される。なお、これらの前景部分は、物体像同士の重なりがなければ、楕円領域である(ただし、物体像同士が互いに重なりあっている場合は、その画像内の連結領域の数が、他の重なっていない画像より少ないことにより、検出でき、このような場合には、重なっていない画像間で、対応問題を解けばよい。)。また、物体像同士の重なりがない場合には、どの前景部分がどの物体の物体像であるかは既知又は容易に推測可能であるものとする。
 次に、位置推定部101は、上記のステップS102で抽出した前景部分(物体像)から、各物体の2D位置を計算する(ステップS103)。上述したように、位置推定部101は、各物体像の2D重心点を計算し、これらの2D重心点を2D位置として、2つの画像間でエピ極線と2D位置との間の距離が最も短い2D位置同士を同一物体像の2D位置として対応付ける。なお、上述したように、物体像が重なっている場合、その2D重心点を計算することはできない。本ステップでは、各物体像は少なくとも2つの画像で物体像が重なっておらず、少なくとも2つの画像で2D重心点(つまり、2D位置)が計算できたものとする。
 最後に、位置推定部101は、上記のステップS103で得られた各物体の2D位置から、各物体の3D位置を推定する(ステップS104)。上述したように、3D位置の推定には、例えば、三角測量等の既知の手法を用いればよい。これらの3D位置は姿勢推定部103に渡される。
  ≪姿勢推定処理≫
 以降では、各物体の姿勢を推定するための姿勢推定処理の流れについて、図7を参照しながら説明する。図7は、本実施形態に係る姿勢推定処理の流れの一例を示すフローチャートである。
 まず、特徴量抽出部102は、位置推定部101から渡された前景部分を入力する(ステップS201)。
 次に、特徴量抽出部102は、上記のステップS201で入力された各前景部分について、物体毎に、当該物体に対応する前景部分が楕円領域である場合(つまり、物体像が重なっていない場合)には当該楕円領域から特徴量を抽出する(ステップS202)。これにより、物体毎に、画像Gの前景部分から抽出された第1の特徴量と、画像Gの前景部分から抽出された第2の特徴量と、画像Gの前景部分から抽出された第3の特徴量とが得られる。なお、上述したように、物体像が重なっている場合には、特徴量の値を所定の値とする。例えば、画像Gの前景部分に物体像の重なりが生じている場合には、第1の特徴量の各値のそれぞれを、それぞれ所定の値とする。
 最後に、姿勢推定部103は、物体毎に、位置推定部101から渡された3D位置(当該物体の3D位置)と、上記のステップS202で抽出された特徴量(当該物体の第1の特徴量~第3の特徴量)とを用いて、回帰モデルによって当該物体の姿勢を表す姿勢行列を計算する(ステップS203)。なお、上述したように、姿勢推定部103は、例えば、3D位置と第1の特徴量~第3の特徴量とを用いて21次元の入力データを作成し、この21次元の入力データを回帰モデルに入力することで姿勢行列Rを得る。これにより、当該物体の姿勢として、この姿勢行列Rにより表される姿勢が推定される。
 <推定結果の評価>
 以降では、本実施形態に係る推定装置10によって或る時刻における各物体の3D位置及び姿勢を推定した結果の評価について説明する。なお、この評価に使用した回帰モデルに含まれるニューラルネットワークとしては、図5に示すニューラルネットワークを用いた。また、このニューラルネットワークの学習では、損失関数には平均二乗誤差(MSE:Mean Squared Error)、最適化手法にはAdamを用いた。また、ミニバッチ数は90、エポック数は100とした。
 このとき、本実施形態に係る推定装置10で或る時刻における物体O~Oの3D位置及び姿勢を推定した結果を図8に示す。図8は、上段が真値、下段が推定結果を表し、左から撮影装置20Aの投影面内での各物体の位置及び姿勢、撮影装置20Bの投影面内での各物体の位置及び姿勢、撮影装置20Cの投影面内での各物体の位置及び姿勢、及び3D空間内での各物体の位置及び姿勢を表している。図8に示すように、真値と推定結果とを比較すると、僅かな誤差はあるものの、3D位置及び姿勢ともに高精度で推定できていることがわかる。
 また、本実施形態に係る推定装置10で或る時刻における物体O~Oの3D位置及び姿勢を推定したときに、一部の物体像に重なりが生じた場合の結果を図9に示す。図9でも、上段が真値、下段が推定結果を表し、左から撮影装置20Aの投影面内での各物体の位置及び姿勢、撮影装置20Bの投影面内での各物体の位置及び姿勢、撮影装置20Cの投影面内での各物体の位置及び姿勢、及び3D空間内での各物体の位置及び姿勢を表している。図9に示すように、撮影装置20Cの投影面内で物体Oと物体Oとが一部重なっている。なお、例えば、この場合、撮影装置20Cを含む2台の撮影装置20を用いた場合には物体O及びOの2D位置は計算できないが、本実施形態のように、3台の撮影装置20を用いることで、物体O及びOの2D位置を計算することができる。
 図9に示すように、物体像に重なりある場合であっても、僅かな誤差はあるものの、3D位置及び姿勢ともに高精度で推定できていることがわかる。
 なお、この評価では撮影装置20A~20Cの3台でそれぞれ1000時刻分の画像(合計3000画像)を撮影したが、1つの画像で物体像の重なりが生じるが、残り2つの画像で物体像が重なっていない画像が71時刻分得られた。したがって、この場合、3台の撮影装置20を用いることで、2台の撮影装置20を用いる場合と比べて全体の0.071だけ新たな2D位置が計算可能になったといえる。ただし、どの程度、新たな2D位置が計算可能になるかは評価に使用する動画に依存する。
 このように、本実施形態に係る推定装置10を用いることで、複数の画像を用いて、閉空間内の複数同種の区別できない3D物体の3D位置と姿勢とを高精度に推定するが可能となる。なお、本実施形態では、物体の形状は楕円体であるものとしたが、楕円体以外の近似3D形状として、物体のシルエットの画像から得られる特徴量を用いて3D姿勢を計算可能なものであれば同様に用いることが可能である。
 <ハードウェア構成>
 最後に、本実施形態に係る推定装置10のハードウェア構成について、図10を参照しながら説明する。図10は、本実施形態に係る推定装置10のハードウェア構成の一例を示す図である。
 図10に示すように、本実施形態に係る推定装置10は一般的なコンピュータ又はコンピュータシステムで実現され、入力装置201と、表示装置202と、外部I/F203と、通信I/F204と、プロセッサ205と、メモリ装置206とを有する。これら各ハードウェアは、それぞれがバス207を介して通信可能に接続されている。
 入力装置201は、例えば、キーボードやマウス、タッチパネル等である。表示装置202は、例えば、ディスプレイ等である。なお、推定装置10は、入力装置201及び表示装置202のうちの少なくとも一方を有していなくてもよい。
 外部I/F203は、外部装置とのインタフェースである。外部装置には、記録媒体203a等がある。推定装置10は、外部I/F203を介して、記録媒体203aの読み取りや書き込み等を行うことができる。記録媒体203aには、例えば、推定装置10が有する各機能部(位置推定部101、特徴量抽出部102及び姿勢推定部103)を実現する1以上のプログラムが格納されていてもよい。
 なお、記録媒体203aには、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等がある。
 通信I/F204は、推定装置10を通信ネットワークに接続するためのインタフェースである。なお、推定装置10が有する各機能部を実現する1以上のプログラムは、通信I/F204を介して、所定のサーバ装置等から取得(ダウンロード)されてもよい。
 プロセッサ205は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。推定装置10が有する各機能部は、例えば、メモリ装置206等に格納されている1以上のプログラムがプロセッサ205に実行させる処理により実現される。
 メモリ装置206は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。推定装置10が有する記憶部104は、例えば、メモリ装置206を用いて実現可能である。なお、例えば、記憶部104は、推定装置10と通信ネットワークを介して接続される記憶装置(例えば、データベースサーバ等)を用いて実現されていてもよい。
 本実施形態に係る推定装置10は、図10に示すハードウェア構成を有することにより、上述した位置推定処理及び姿勢推定処理を実現することができる。なお、図10に示すハードウェア構成は一例であって、推定装置10は、他のハードウェア構成を有していてもよい。例えば、推定装置10は、複数のプロセッサ205を有していてもよいし、複数のメモリ装置206を有していてもよい。
 本発明は、具体的に開示された上記の実施形態に限定されるものではなく、請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
 10    推定装置
 101   位置推定部
 102   特徴量抽出部
 103   姿勢推定部
 104   記憶部
 201   入力装置
 202   表示装置
 203   外部I/F
 203a  記録媒体
 204   通信I/F
 205   プロセッサ
 206   メモリ装置
 207   バス

Claims (8)

  1.  複数の物体が存在する三次元空間を複数の撮影装置でそれぞれ撮影した複数の画像を用いて、前記画像の画素領域の中で前記物体を表す画素領域の代表点を計算する計算手順と、
     前記計算手順で計算された代表点から、前記三次元空間における前記物体の位置を推定する位置推定手順と、
     前記物体を表す画像領域から所定の特徴量を抽出する抽出手順と、
     前記位置推定手順で推定された位置と、前記抽出手順で抽出された特徴量とを用いて、予め学習された回帰モデルによって前記三次元空間における前記物体の姿勢を推定する姿勢推定手順と、
     をコンピュータが実行することを特徴とする推定方法。
  2.  前記回帰モデルは、物体が存在する三次元空間を複数の撮影装置でそれぞれ撮影した複数の画像から抽出された所定の特徴量と前記三次元空間における前記物体の位置とを入力データ、前記物体の姿勢を表す姿勢行列を教師データとした第1の学習用データと、
     2以上の物体間で前記画像領域が重なった場合の特徴量として所定の値を設定した特徴量と前記三次元空間における前記物体の位置とを入力データ、前記物体の姿勢を表す姿勢行列を教師データとした第2の学習用データと、を含むデータセットを用いて学習され、
     前記抽出手順は、
     2以上の物体間で前記物体を表す画像領域同士の少なくとも一部が重なっている場合、前記所定の値を前記特徴量とする、ことを特徴とする請求項1に記載の推定方法。
  3.  前記複数の物体は同種の互いに区別できない物体であり、
     前記位置推定手順は、
     前記複数の画像のうちの2つの画像間で、前記複数の物体のそれぞれを表す複数の画像領域の代表点の対応問題をエピ極拘束条件の下で解くことで、前記2つの画像で同一物体に対応する代表点の組を特定し、特定した代表点の組から前記物体の位置を推定する、ことを特徴とする請求項1又は2に記載の推定方法。
  4.  前記位置推定手順は、
     前記2つの画像間でエピ極線との距離の合計が最小の代表点同士を、同一物体に対応する代表点の組と特定する、ことを特徴とする請求項3に記載の推定方法。
  5.  前記抽出手順は、
     前記物体を表す画像領域が楕円領域に近似できる場合、前記楕円領域によって表される楕円の長軸の正の向きと前記画像の水平方向の正の向きとが成す第1の角度と、前記楕円の短軸の正の向きと前記画像の水平方向の正の向きとが成す第2の角度と、前記長軸の長さと前記短軸の長さとの比と、前記長軸の長さと前記短軸の長さとの積とを前記特徴量として抽出する、ことを特徴とする請求項1乃至4の何れか一項に記載の推定方法。
  6.  前記抽出手順は、
     前記画像の画素領域の中で、前記物体の表面を分割する4つの領域の各々を表す画素領域の輝度の差を用いて、前記長軸の正の方向と前記短軸の正の方向とを決定する、ことを特徴とする請求項5に記載の推定方法。
  7.  複数の物体が存在する三次元空間を複数の撮影装置でそれぞれ撮影した複数の画像を用いて、前記画像の画素領域の中で前記物体を表す画素領域の代表点を計算する計算手段と、
     前記計算手段で計算された代表点から、前記三次元空間における前記物体の位置を推定する位置推定手段と、
     前記物体を表す画像領域から所定の特徴量を抽出する抽出手段と、
     前記位置推定手段で推定された位置と、前記抽出手段で抽出された特徴量とを用いて、予め学習された回帰モデルによって前記三次元空間における前記物体の姿勢を推定する姿勢推定手段と、
     を有することを特徴とする推定装置。
  8.  コンピュータに、請求項1乃至6の何れか一項に記載の推定方法における各手順を実行させるためのプログラム。
PCT/JP2019/048228 2019-12-10 2019-12-10 推定方法、推定装置及びプログラム WO2021117120A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/783,601 US20230005182A1 (en) 2019-12-10 2019-12-10 Estimation method, estimation apparatus and program
PCT/JP2019/048228 WO2021117120A1 (ja) 2019-12-10 2019-12-10 推定方法、推定装置及びプログラム
JP2021563480A JP7255709B2 (ja) 2019-12-10 2019-12-10 推定方法、推定装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/048228 WO2021117120A1 (ja) 2019-12-10 2019-12-10 推定方法、推定装置及びプログラム

Publications (1)

Publication Number Publication Date
WO2021117120A1 true WO2021117120A1 (ja) 2021-06-17

Family

ID=76329919

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/048228 WO2021117120A1 (ja) 2019-12-10 2019-12-10 推定方法、推定装置及びプログラム

Country Status (3)

Country Link
US (1) US20230005182A1 (ja)
JP (1) JP7255709B2 (ja)
WO (1) WO2021117120A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007066094A (ja) * 2005-08-31 2007-03-15 Matsushita Electric Ind Co Ltd 姿勢推定装置および姿勢推定方法
JP2010211746A (ja) * 2009-03-12 2010-09-24 Omron Corp 3次元認識結果の表示方法および3次元視覚センサ
JP2013020578A (ja) * 2011-07-14 2013-01-31 Nippon Telegr & Teleph Corp <Ntt> 3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
JP2015184743A (ja) * 2014-03-20 2015-10-22 日本ユニシス株式会社 画像処理装置および物体認識方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007066094A (ja) * 2005-08-31 2007-03-15 Matsushita Electric Ind Co Ltd 姿勢推定装置および姿勢推定方法
JP2010211746A (ja) * 2009-03-12 2010-09-24 Omron Corp 3次元認識結果の表示方法および3次元視覚センサ
JP2013020578A (ja) * 2011-07-14 2013-01-31 Nippon Telegr & Teleph Corp <Ntt> 3次元姿勢推定装置、3次元姿勢推定方法、及びプログラム
JP2015184743A (ja) * 2014-03-20 2015-10-22 日本ユニシス株式会社 画像処理装置および物体認識方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ICHIHARA, KENGO ET AL.: "Accuracy Evaluation of Machine Learning- based Human Anomaly Motion Recognition using Human Pose Estimation", IEICE TECHNICAL REPORT, vol. 117, no. 485, 1 March 2018 (2018-03-01), pages 89 - 94, ISSN: 0913-5685 *

Also Published As

Publication number Publication date
JPWO2021117120A1 (ja) 2021-06-17
JP7255709B2 (ja) 2023-04-11
US20230005182A1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
US11238606B2 (en) Method and system for performing simultaneous localization and mapping using convolutional image transformation
US10977818B2 (en) Machine learning based model localization system
US11747898B2 (en) Method and apparatus with gaze estimation
CN107230225B (zh) 三维重建的方法和装置
CN111857329B (zh) 注视点计算方法、装置及设备
EP3428875A1 (en) Methods and apparatuses for panoramic image processing
WO2015135323A1 (zh) 一种摄像机跟踪方法及装置
WO2016146001A1 (zh) 一种三维建模的方法及装置
US9551579B1 (en) Automatic connection of images using visual features
US20220092802A1 (en) Method and apparatus with feature embedding
JP2020173795A5 (ja)
WO2021000390A1 (zh) 一种点云融合方法、装置、电子设备和计算机存储介质
Chen et al. A particle filtering framework for joint video tracking and pose estimation
CN111415420A (zh) 空间信息确定方法、装置及电子设备
JP2023532285A (ja) アモーダル中心予測のためのオブジェクト認識ニューラルネットワーク
Angladon et al. The toulouse vanishing points dataset
Zhao et al. Three‐dimensional face modeling technology based on 5G virtual reality binocular stereo vision
Lin et al. Multiview textured mesh recovery by differentiable rendering
WO2021117120A1 (ja) 推定方法、推定装置及びプログラム
JP2016513842A (ja) 異なる精度のソフトウェアアルゴリズム及びハードウェアアルゴリズムを実施する評価層を備えた画像プロセッサ
US20240013477A1 (en) Point-based neural radiance field for three dimensional scene representation
EP4163873A1 (en) Method and apparatus with global localization
JP2022516298A (ja) 対象物を3d再構築するための方法
EP4174774A1 (en) Planar surface detection apparatus and method
WO2023140990A1 (en) Visual inertial odometry with machine learning depth

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021563480

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

Country of ref document: EP

Kind code of ref document: A1