(19)
(11)EP 3 016 071 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
05.06.2019 Bulletin 2019/23

(21)Application number: 15184208.5

(22)Date of filing:  08.09.2015
(51)International Patent Classification (IPC): 
G06T 7/80(2017.01)
G06T 7/246(2017.01)
G06T 7/73(2017.01)

(54)

ESTIMATING DEVICE AND ESTIMATION METHOD

SCHÄTZUNGSVORRICHTUNG UND SCHÄTZUNGSVERFAHREN

PROCÉDÉ ET DISPOSITIF D'ESTIMATION


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 29.10.2014 JP 2014220869

(43)Date of publication of application:
04.05.2016 Bulletin 2016/18

(73)Proprietor: FUJITSU LIMITED
Kawasaki-shi, Kanagawa 211-8588 (JP)

(72)Inventor:
  • Yamaguchi, Nobuyasu
    Kanagawa, 211-8588 (JP)

(74)Representative: Hoffmann Eitle 
Patent- und Rechtsanwälte PartmbB Arabellastraße 30
81925 München
81925 München (DE)


(56)References cited: : 
EP-A2- 1 970 860
  
  • GUSTAVO TEODORO LAUREANO ET AL: "Topological Detection of Chessboard Pattern for Camera Calibration", PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON IMAGE PROCESSING, COMPUTER VISION, AND PATTERN RECOGNITION (IPCV), 25 July 2013 (2013-07-25), pages 1-7, XP055261045, Athens
  • SINCLAIR D ET AL: "QUANTITATIVE PLANAR REGION DETECTION", INTERNATIONAL JOURNAL OF COMPUTER VISION, KLUWER ACADEMIC PUBLISHERS, NORWELL, US, vol. 18, no. 1, 1 April 1996 (1996-04-01), pages 77-91, XP000591465, ISSN: 0920-5691, DOI: 10.1007/BF00126141
  • JOSÉ F MARTINS ET AL: "A Facade Tracking System for Outdoor Augmented Reality", 18TH INTERNATIONAL CONFERENCE ONCOMPUTER GRAPHICS, VISUALIZATION ANDCOMPUTER VISION'2010, 4 February 2010 (2010-02-04), pages 113-120, XP055261051, ISBN: 978-80-86-94388-6
  
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description

FIELD



[0001] The embodiments discussed herein are related to a technique for estimating the position and orientation of an imaging device.

BACKGROUND



[0002] In recent years, techniques related to augmented reality (AR) are actively being developed. AR is a collective term of techniques for expanding, by computers, real environments perceived by people.

[0003] As an example of AR, the following technique is known: the technique for using computer graphics or the like to superimpose additional information on an image (hereinafter referred to as acquired image) acquired by a camera connected to a mobile information terminal device such as a portable personal computer, a tablet, or a smartphone, displaying the acquired image and the additional information superimposed on the acquired image on a display screen of the mobile information terminal device, and achieving support for a user's task (refer to, for example, Hirotake Ishii, Proposal and Evaluation of Decommissioning Support Method of Nuclear Power Plants using Augmented Reality, Journal of the Virtual Reality Society of Japan, Vol. 13, No. 2, pp. 289-300, June, 2008).

[0004] In order to superimpose and display the additional information at an appropriate position, the position and orientation of the camera is estimated. The accuracy of the estimation is very important. As a method of estimating the position and orientation of the camera, techniques for estimating the position and orientation of the camera based on the acquired image are known.

[0005] As one of the techniques for estimating the position and orientation of the camera based on the acquired image, a method using characteristic points included in the acquired image is known (refer to, for example, Japanese Laid-open Patent Publication No. 2005-326274). Each of the characteristic points is normally a point detected as a standard by uniquely defining the position of the target point based on a variation in a gray level in a region located near the target point, while the variation in the gray level in the region located near the target point is large.

[0006] The method of estimating the position and orientation of the camera using the characteristic points is to estimate the position and orientation of the camera by using calculated three-dimensional coordinates of characteristic points (hereinafter referred to as map points) to associate the characteristic points within the acquired image to be processed with the map points in a matching process.

[0007] Further background is disclosed in the following documents.

[0008] The article "Topological Detection of Chessboard Pattern for Camera Calibration" by G. T. Laureano et al., from the Proceedings of the International Conference on Image Processing, Computer Vision, and Pattern Recognition (IPCU), July 25, 2013, pages 1-7, discloses a system for automated detection of chessboard patterns for camera calibration. Initially a fast and specific x-shaped corner operator is performed to retrieve the interesting points. A geometric mesh is created from all the x-corners by Delaunay triangulation. A topological filter is proposed. Triangles that match with the regularity of the pattern are taken as valid. The color and the neighborhood of the triangle are analyzed. Each remaining point defines a valid x-corner and a refinement location is performed locally.

[0009] The article "Quantitative Planar Region Detection" by D. Sinclair and A. Blake, International Journal of Computer Vision, Kluwer Academic Publishes, 18(1), 77-91 (1996), discloses a means of segmenting planar regions from two views of a scene using point correspondences. The initial selection of groups of coplanar points is performed on the basis of conservation of two five point projective invariants (groups for which this invariant is conserved are assumed to be coplanar). The five point correspondences are used to estimate a projectivity which is used to predict the change in position of other points assuming they lie on the same plane as the original four. The variance in any points new position is then used to define a distance threshold between actual and predicted position which is used as a coplanarity test to find extended planar regions. If two distinct planar regions can be found then a novel motion direction estimator suggests itself. The projection of the line of intersection of two planes in an image may also be recovered. An analytical error model is derived which relates image uncertainty in a corner's position to genuine perpendicular height of a point above a given plane in the world. The model may be used for example to predict the performance of given stereo ground plane prediction system or a monocular drivable region detection system on and AGV. The model may also be used in reverse to determine the camera resolution required if a vehicle in motion is to resolve obstacles of a given height a given distance from it.

[0010] The article "A Facade Tracking System for Outdoor Augmented Reality" by J. F. Martins et al., February 4, 2010, pages 113-120 (ISBN: 978-80-86-94388-6), discloses a real-time facade tracking system that uses, as setup information, only two images of a facade, captured on the moment. No more previous information is needed, such as a facade 3D model, dimensions or aspect ratio. Feature points and their local descriptors are extracted from that pair of images and used during the detection and tracking of the facade. Additionally, parallax and topological information is also used in order to increase the overall robustness of the tracking process. Experiments show that the system can detect and track a wide variety of facades, including those that are not entirely planar, partially occluded or have few distinguishable visual landmarks. The reliance on on-the-spot information, alone, makes this system useful for Outdoor Augmented Reality applications, in an Anywhere Augmentation urban context.

[0011] EP 1 970 860 A2 discloses a camera calibration apparatus and method. When a calibration jig which includes an image sensing device is moved within the image sensing range of an image sensing device, the image coordinates of an index on the image sensing device in a plurality of images sensed by the image sensing device are extracted. The image coordinates of environment allocation indices in a plurality of images sensed by the image sensing device are extracted. An information processing apparatus calculates camera parameters of the image sensing device based on the extracted image coordinates of the index and the environment allocation indices.

SUMMARY



[0012] The characteristic points, however, include a characteristic point located near a region in which a variation in a gray level due to a movement of the camera is small and a characteristic point located near a region in which a variation in a gray level due to the movement of the camera is large. A rate at which the characteristic point located near the region in which the variation in the gray level due to the movement camera is small causes erroneous matching in the matching process is low. In addition, the characteristic point located near the region in which the variation in the gray level due to the movement camera is small is easily detected, and the accuracy of detecting the position of the characteristic point located near the region in which the variation in the gray level due to the movement camera is small is high.

[0013] On the other hand, a rate at which the characteristic point located near the region in which the variation in the gray level due to the movement camera is large causes erroneous matching in the matching process is high, and the accuracy of detecting the position of the characteristic point located near the region in which the variation in the gray level due to the movement camera is large is low. Thus, the characteristic points include the characteristic point that causes erroneous matching at a high rate.

[0014] In a method disclosed in Japanese Laid-open Patent Publication No. 2005-326274, the position and orientation of the camera are estimated while all the characteristic points detected from the acquired image are treated in the same manner. Thus, the accuracy of estimating the position and orientation of the camera may be reduced due to erroneous matching.

[0015] Techniques disclosed in embodiments include an estimating device intended to improve the accuracy of estimating the position and orientation of a camera by reducing an effect of erroneous matching.

[0016] More particularly, the present invention provides a method of estimating a position and an orientation of an imaging device according to Claim 1, a program according to Claim 9, a device for estimating a position and an orientation of an imaging device according to Claim 10, and a device according to Claim 11. Optional features are set out in the dependent claims.

[0017] The techniques disclosed in the embodiments may reduce the effect of the erroneous matching. Thus, the techniques disclosed in the embodiments may improve the accuracy of estimating the position and orientation of the camera.

BRIEF DESCRIPTION OF DRAWINGS



[0018] 

FIG. 1 is a functional block diagram illustrating an example of a configuration of a communication device according to a first background example that is helpful for understanding the invention;

FIG. 2 is a diagram illustrating an example of a configuration of a map point information storage unit according to the first background example;

FIG. 3 is a diagram describing the types of characteristic points;

FIGs. 4A and 4B are diagrams describing characteristics of the types;

FIG. 5 is a diagram describing an example of a method of identifying the types according to the first background example;

FIG. 6A is a diagram describing a camera coordinate system and an image plane coordinate system;

FIG. 6B is a diagram describing a projected point;

FIG. 7 is a diagram describing an example of a method of estimating the position and orientation of a camera according to the first background example;

FIG. 8 is an example of a flowchart describing a process of setting map point information according to the first background example;

FIG. 9 is an example of a flowchart describing a process of estimating the position and orientation of the camera according to the first background example;

FIG. 10 is a functional block diagram illustrating an example of a configuration of a communication device according to an embodiment;

FIG. 11 is a diagram illustrating an example of a configuration of a map point information storage unit according to the embodiment;

FIG. 12 is a diagram illustrating an example of a configuration of a matching requirement storage unit according to the embodiment;

FIG. 13 is a diagram describing an example of a method of calculating priorities according to the embodiment;

FIG. 14 is a graph illustrating an example of a function for calculating priorities according to the embodiment;

FIG. 15 is an example of a flowchart describing a process of setting map point information according to the embodiment;

FIG. 16 is a part of an example of a flowchart describing a process of estimating the position and orientation of the camera according to the embodiment;

FIG. 17 is the other part of the example of the flowchart describing the process of estimating the position and orientation of the camera according to the embodiment;

FIG. 18 is a functional block diagram illustrating an example of a configuration of a communication device according to a second background example;

FIG. 19 is a diagram illustrating an example of a configuration of a weight information storage unit according to the second background example;

FIG. 20 is a diagram illustrating another example of the configuration of the weight information storage unit according to the second background example;

FIG. 21 is a functional block diagram illustrating an example of a configuration of a communication device according to a third background example;

FIG. 22 is a diagram describing an example of a method of identifying the types according to the third background example;

FIG. 23 is an example of a flowchart describing a process of setting map point information according to the third background example; and

FIG. 24 is a diagram illustrating an example of a hardware configuration of a communication device according to each of the background examples and embodiment.


DESCRIPTION OF EMBODIMENTS



[0019] Embodiments of the present invention, and background examples that are helpful for understanding the invention, are described in detail with reference to the accompanying drawings.

First Background Example



[0020] FIG. 1 is a functional block diagram illustrating an example of a configuration of a communication device 1 according to a first background example. The communication device 1 according to the first background example is an estimating device configured to estimate the position and orientation of a camera (not illustrated) by associating characteristic points within an acquired image to be processed with map points held in advance in a matching process. The communication device 1 according to the first background example includes an image acquiring unit 10, a storage unit 20, an output unit 30, and a controlling unit 40, as illustrated in FIG. 1.

[0021] The image acquiring unit 10 includes a device interface, a communication module, or the like, for example. The image acquiring unit 10 sequentially acquires images acquired by the connected imaging device (camera). The image acquiring unit 10 outputs the acquired images to the controlling unit 40. In this case, the image acquiring unit 10 may cause the acquired images to be temporarily stored in a frame memory (not illustrated), and the controlling unit 40 may sequentially acquire the acquired images from the frame memory in coordination with the timing of executing a process.

[0022] The storage unit 20 includes a random access memory (RAM), a read only memory (ROM), a hard disk drive (HDD), and the like, for example. The storage unit 20 functions as, for example, a work area of a central processing unit (CPU) included in the controlling unit 40, a program area for storing various programs such as an operation program for controlling the overall communication device 1, and a data area for storing data of various types, for example.

[0023] In addition, the storage unit 20 functions as a map point information storage unit 21, as illustrated in FIG. 1. The map point information storage unit 21 stores information (hereinafter referred to as map point information) on map points, while the map point information is associated with the map points in the map point information storage unit 21. The map points are three-dimensional characteristic points and are candidates for points to be
subjected to matching with characteristic points on an acquired image, as described above.

[0024] FIG. 2 is a diagram illustrating an example of a configuration of the map point information storage unit 21 according to the first background example. The map point information storage unit 21 stores, as a table, the multiple map points and the map point information on the map points, as illustrated in FIG. 2, for example. The map point information storage unit 21 according to the first background example stores "map point identifiers", "three-dimensional coordinates", "types", "characteristic amounts", and "image pattern templates", while the "map point identifiers" are associated with the "three-dimensional coordinates", the "types", the "characteristic amounts", and the "image pattern templates" in the map point information storage unit 21. The map point information of the various types that is stored in the map point information storage unit 21 is extracted from the acquired image, as described later. If CAD data to be acquired exists, the map point information may be extracted from the CAD data and stored in advance.

[0025] The "map point identifiers" are identifiers that uniquely identify the map points. The "three-dimensional coordinates" are three-dimensional coordinates of the corresponding map points in a world coordinate system and are calculated by a map point information setting unit 42 (described later). The "types" are the types of the corresponding map points and are identified by the map point information setting unit 42.

[0026] The "characteristic amounts" are obtained by converting characteristics of variations in gray levels in regions located near the corresponding map points into numerical vector quantities and are used in the matching process. The "image pattern templates" are image data of the regions located near the corresponding map points and are used in the matching process so as to enable the matching of the characteristic points with the map points to be effectively executed using correlations.

[0027] In the first background example, the types of the map points (characteristic points) are two types, "planar pattern points" and "physical corner points". The "planer pattern points" are characteristic points located on planes excluding corners, while the "physical corner points" are characteristic points other than the "planar pattern points" or are characteristic points located at the corners of the planes, such as corners of an object.

[0028] FIG. 3 is a diagram describing the types of the characteristic points. As illustrated in FIG. 3, characteristic points MP1 to MP4 are located on planes excluding corners and are thus planer pattern points, while characteristic points MP5 and MP6 are located at corners of an object (cube) and are thus physical corner points.

[0029] FIGs. 4A and 4B are diagrams describing characteristics of the map points (characteristic points) of the types and describing changes in characteristics of variations in gray levels in regions located near the characteristic points MP3 and MP5 when the position and orientation of the camera are changed.

[0030] When the position and orientation of the camera are changed and an acquired image is changed from an image illustrated in FIG. 4A to an image illustrated in FIG. 4B, changes in characteristics of variations in gray levels in regions located near the characteristic point MP3 that is the planar pattern point are small, as illustrated in FIGs. 4A and 4B. In this manner, changes in characteristics of variations in gray levels in regions located near the characteristic points that are planer pattern points due to a movement of the camera are small. On the other hand, changes in characteristics of variations in gray level in regions located near the characteristic point MP5 that is the physical corner point are very large, as illustrated in FIGs. 4A and 4B. This is due to the fact that physical occlusion occurs due to changes in the position and orientation of the camera or a right side surface of the object (cube) is hidden by a front surface of the object and a wall of a background region is imaged in a region located near the characteristic point MP5. In this manner, changes in
characteristics of variations in gray levels in regions located near characteristic points that are physical corner points due to the movement of the camera are large.

[0031] Return to FIG. 1. The output unit 30 includes a device interface, a communication module, or the like, for example. The output unit 30 outputs information generated by an output information generating unit 46 (described later in detail) to a connected display device (not illustrated).

[0032] The controlling unit 40 includes a CPU and the like and executes the operation program stored in the program area of the storage unit 20 so as to function as a characteristic point detecting unit 41, the map point information setting unit 42, a matching requirement setting unit 43, a matching processing unit 44, an estimating unit 45, and the output information generating unit 46, as illustrated in FIG. 1. In addition, the controlling unit 40 executes the operation program and executes a process of controlling the overall communication device 1, a process (described later in detail) of setting map point information, and the like.

[0033] The characteristic point detecting unit 41 analyzes an input acquired image and detects, as characteristic points, points whose positions on the image are uniquely defined based on variations in gray levels in regions located near the target points, while the variations in the gray levels in the regions located near the target points are large. For the detection of the characteristic points, an arbitrary technique such as Harris operator or Feature from Accelerated Segment Test (FAST) characteristic detection may be used. In the following description, the characteristic points detected on the acquired image by the characteristic point detecting unit 41 are also referred to as detected points.

[0034] The map point information setting unit 42 sets the map point information storage unit 21. Specifically, the map point information setting unit 42 uses a stereo matching method such as a sequential similarity detection algorithm or an area correlation method to execute the matching of characteristic points detected by the characteristic point detecting unit 41 and located on two acquired images. Then, the map point information setting unit 42 calculates three-dimensional coordinates of successfully matched characteristic points by a stereo process.

[0035] Then, the map point information setting unit 42 detects positional relationships between the successfully matched characteristic points (target characteristic points) and characteristic points (hereinafter referred to as adjacent characteristic points) located adjacent to the target characteristic points. In this case, the map point information setting unit 42 selects a predetermined number (for example, 3 or more) of characteristic points located adjacent to each of the target characteristic points in ascending order of distance between the target characteristic point and characteristic points located adjacent to the target characteristic point, for example. Then, the map point information setting unit 42 identifies the types of the successfully matched characteristic points. Specifically, if a target characteristic point and selected characteristic points located adjacent to the target characteristic point are distributed on the same plane, the map point information setting unit 42 identifies that the type of the target characteristic point is a "planar pattern point". On the other hand, if the target characteristic point and the selected characteristic points located adjacent to the target characteristic point are not distributed on the same plane, the map point information setting unit 42 identifies that the type of the target characteristic point is a "physical corner point".

[0036] Furthermore, the map point information setting unit 42 calculates characteristic amounts of the successfully matched characteristic points and generates image pattern templates for the successfully matched characteristic points. Then, the map point information setting unit 42 associates map point information (three-dimensional coordinates, types, characteristic amounts, and image pattern templates) with map point identifiers and causes the map point information and the map point identifiers to be stored in the map point information storage unit 21.

[0037] A method of identifying the types of map points (characteristic points) according to the first background example is described using a specific example with reference to FIG. 5. FIG. 5 is a diagram describing an example of the method of identifying the types according to the first background example.

[0038] If characteristic points MP8 to MP11 are selected by the map point information setting unit 42 as characteristic points located adjacent to a target characteristic point MP7, the target characteristic point MP7 and the adjacent characteristic points MP8 to MP11 are not distributed on the same plane, as illustrated in FIG. 5. In this case, the map point information setting unit 42 identifies that the type of the target characteristic point MP7 is a "physical corner
point".

[0039] On the other hand, if characteristic points MP13 to MP16 are selected by the map point information setting unit 42 as characteristic points located adjacent to a target characteristic point MP12, all the target characteristic point MP12 and the adjacent characteristic points MP13 to MP16 are distributed on the same plane. In this case, the map point information setting unit 42 identifies that the type of the target characteristic point MP12 is a "planar pattern point".

[0040] Return to FIG. 1. The matching requirement setting unit 43 sets a matching requirement such as a requirement to select map points to be subjected to matching with characteristic points (detected points) detected by the characteristic point detecting unit 41 and located on an acquired image. In the first background example, the matching requirement setting unit 43 sets, as the matching requirement, a requirement to select map points whose types are "planar pattern points". Thus, the matching may be executed on points excluding "physical corner points" located near regions in which changes in characteristics of variations in gray levels due to a movement of the camera are large, and erroneous matching may be suppressed.

[0041] The matching processing unit 44 selects the map points in accordance with the matching requirement (selection requirement in the first
background example) set by the matching requirement setting unit 43 and executes the matching of the characteristic points (detected points) detected by the characteristic point detecting unit 41 and located on the acquired image with the selected map points. Specifically, the matching processing unit 44 executes the matching of the characteristic points (detected points) with the map points based on either characteristic amounts stored in the map point information storage unit 21 or image pattern templates stored in the map point information storage unit 21 or based on both characteristic amounts stored in the map point information storage unit 21 and image pattern templates stored in the map point information storage unit 21. As a method of the matching, various methods such as a frame-to-frame tracking method, a detection method, and a method using the frame-to-frame tracking method and the detection method may be used.

[0042] In the first background example, since the matching requirement setting unit 43 sets, as the matching requirement, the requirement to select map points whose types are planar pattern points and that are to be subjected to the matching, the matching processing unit 44 selects, from among map points stored in the map point information storage unit 21, map points whose types are "planar pattern points" and executes the matching of the selected map points with the detected points. Thus, the matching may be executed on points excluding "physical corner points" located near regions in which changes in characteristics of variations in gray levels due to a movement of the camera are large, and erroneous matching may be suppressed.

[0043] Coordinate systems including a camera coordinate system, and relationships between a characteristic point (hereinafter referred to as a three-dimensional point) on an object existing in the real world (world coordinate system) and to be imaged and a point (hereinafter referred to as a projected point) obtained by projecting a corresponding three-dimensional point on an acquired image, are briefly described with reference to FIGs. 6A and 6B. FIG. 6A is a diagram describing the camera coordinate system and an image plane coordinate system, while FIG. 6B is a diagram describing the projected point.

[0044] Referring to FIG. 6A, the origin Oi of the image plane coordinate system is located at a point intersecting with an optical axis and an image plane IP indicating the acquired image, Xi axis indicates a horizontal direction of the image plane IP, and Yi axis indicates a vertical direction of the image plane IP. In addition, the origin Oc of the camera coordinate system is located at a light spot of the camera, Zc axis of the camera coordinate system indicates a direction opposite to the optical axis, Xc axis of the camera coordinate system indicates a direction parallel to the horizontal direction of the image plane IP, and Yc axis of the camera coordinate system indicates a direction parallel to the vertical direction of the image plane IP.

[0045] Referring to FIG. 6B, a point that intersects with the image plane IP and a line connecting the origin Oc (light spot of the camera) of the camera coordinate system with a three-dimensional point Spi = (xi, yi, zi) is a projected point Xp'i = (u'i, v'i) corresponding to the three-dimensional point Spi. Specifically, the origin Oc of the camera coordinate system, the projected point Xp'i of the image plane coordinate system, and the three-dimensional point Spi of the world coordinate system satisfy a collinear constraint.

[0046] Return to FIG. 1. The estimating unit 45 estimates the position and orientation of the camera based on successfully matched pairs of map points subjected to the matching by the matching processing unit 44 and characteristic points (detected points) subjected to the matching by the matching processing unit 44. Specifically, the estimating unit 45 estimates the position and orientation of the camera in accordance with a conventional technique by calculating a camera orientation matrix M that minimizes the sum of the squares of distances between the characteristic points (detected points) and points obtained by projecting the corresponding map points on the acquired image or minimizes the sum E of the squares of deviations of the characteristic points (detected points) from the points obtained by projecting the map points. The average of the deviations, the sum of the deviations, or the like may be used instead of the sum of the squares of the deviations.

[0047] If coordinates of successfully matched characteristic points (detected point) are Xpi = (ui, vi), and coordinates of points obtained by projecting corresponding map points are Xp'i = (u'i, v'i), the sum E of the squares of deviations of the successfully matched characteristic points (detected points) from the points obtained by projecting the corresponding map points may be expressed by the following Equation 1.



[0048] FIG. 7 is a diagram describing an example of a method of estimating the position and orientation of the camera according to the first background example. In the example illustrated in FIG. 7, the following relationships are schematically illustrated: the relationships between three-dimensional points Sp1 to Sp6 that are map points, points Xp'1 to Xp'6 obtained by projecting the map points, and characteristic points (detected points) Xp1 to Xp6 successfully matched with the three-dimensional points Sp1 to Sp6 and located on an acquired image.

[0049] Return to FIG. 1. The output information generating unit 46 generates, based on the position and orientation of the camera that have been estimated by the estimating unit 45, information that is to be output and indicates details to be superimposed and displayed on an acquired image displayed on a display screen of the display device (not illustrated).

[0050] Next, the flow of a process of setting map point information according to the first background example is described with reference to FIG. 8. FIG. 8 is an example of a flowchart of the process of setting map point information according to the first background example. The process of setting map point information is started by a predetermined operation (the activation of a specific application or the like) performed by a user through an operating unit (not illustrated) as a trigger, for example. The process of setting map point information may be repeatedly executed at predetermined time intervals or every time an acquired image is received.

[0051] The image acquiring unit 10 acquires a first image and outputs the first acquired image to the controlling unit 40 (in step S001). The characteristic point detecting unit 41 detects characteristic points of the first input acquired image (in step S002).

[0052] Then, the image acquiring unit 10 acquires a second image and outputs the second acquired image to the controlling unit 40 (in step S003). The characteristic point detecting unit 41 detects characteristic points of the second input acquired image (in step S004).

[0053] Then, the map point information setting unit 42 executes stereo matching on the characteristic points of the first and second acquired images (in step S005) and calculates three-dimensional coordinates of successfully matched characteristic points (in step S006). Then, the map point information setting unit 42 selects a predetermined number of characteristic points located adjacent to each of the successfully matched characteristic points (in step S007) and detects positional relationships between the successfully matched characteristic points and the characteristic points located adjacent to the successfully matched characteristic points (in step S008).

[0054] Then, the map point information setting unit 42 identifies the types of the successfully matched characteristic points (in step S009). Then, the map point information setting unit 42 calculates characteristic amounts of the successfully matched characteristic points and generates image pattern templates for the successfully matched characteristic points (in step S010).

[0055] Then, the map point information setting unit 42 associates map point information (the three-dimensional coordinates, the types, the characteristic amounts, and the image pattern templates) with map point identifiers and causes the map point information and the map point identifiers to be stored in the map point information storage unit 21 (in step SOU). Then, this process is terminated.

[0056] Next, the flow of a process of estimating the position and orientation of the camera according to the first background example is described with
reference to FIG. 9. FIG. 9 is an example of a flowchart of the process of estimating the position and orientation of the camera according to the first background example. The process of estimating the position and orientation of the camera according to the first background example is started when the process of setting map point information is executed and the map point information is stored in the map point information storage unit 21 as a trigger, for example.

[0057] The image acquiring unit 10 acquires an image and outputs the acquired image to the controlling unit 40 (in step S201). Then, the characteristic point detecting unit 41 detects characteristic points of the input acquired image (in step S202). Then, the matching requirement setting unit 43 sets the matching requirement to select map points whose types are "plane pattern points" and that are to be subjected to the matching (in step S203).

[0058] The matching processing unit 44 selects the map points whose types are the plane pattern points (in step S204) and executes the matching of the detected characteristic points (detected points) with the selected map points (in step S205). Then, the estimating unit 45 estimates the position and orientation of the camera based on successfully matched pairs of map points and characteristic points (detected points) (in step S206).

[0059] Then, the controlling unit 40 determines whether or not an instruction to terminate the process is provided (in step S207). For example, the controlling unit 40 determines whether or not a predetermined operation (for example, the termination of the application) is performed by the user through the operating unit (not illustrated) and thereby determines whether or not the instruction to terminate the process is provided. If the controlling unit 40 determines that the instruction to terminate the process is yet to be provided (NO in step S207), the process returns to step S201 and the aforementioned processes are repeated. On the other hand, if the controlling unit 40 determines that the instruction to terminate the process is provided (YES in step S207), the process is terminated.

[0060] According to the first background example, the communication device 1 identifies the types of map points to be subjected to the matching with characteristic points (detected points) on an acquired image and selects, from among the map points, map points whose types are planer pattern points. Then, the communication device 1 executes the matching of the characteristic points (detected points) with the selected map points and estimates the position and orientation of the camera based on deviations of successfully matched characteristic points (detected points) from points obtained by projecting successfully matched map points. Specifically, physical corner points that are likely to cause erroneous matching are excluded from the points to be subjected to the matching, and rates of causing physical corner points to contribute to the estimation of the position and orientation of the camera are 0. Thus, erroneous matching may be suppressed and the accuracy of estimating the position and orientation of the camera may be improved.

[0061] In addition, according to the first background example, the communication device 1 executes the stereo matching on two acquired images and calculates three-dimensional coordinates of detected characteristic points. Then, the communication device 1 identifies the types of the characteristic points based on positional relationships between each of the characteristic points and a predetermined number of characteristic points located adjacent to the target characteristic point.

Embodiment



[0062] In the first background example, only map points whose types are planer pattern points are subjected to the process of executing the matching of characteristic points (detected points) detected on an acquired image with map points. In an embodiment, if the number of successfully matched pairs of map points and characteristic points (detected points) is smaller than a predetermined threshold Z (described later in detail), the matching requirement is adjusted so as to ensure that the number of successfully matched pairs is
equal to or larger than the predetermined threshold Z and that a map point whose type is a physical corner point is subjected to the matching.

[0063] Thus, the number of successfully matched pairs, to be used upon the estimation, of characteristic points (detected points) and map points may be maintained at a value equal to or larger than a predetermined number. Even if the number of planar pattern points is small and it is predicted to reduce the accuracy of estimating the position and orientation of the camera, the accuracy of the estimation may be improved.

[0064] FIG. 10 is a functional block diagram illustrating an example of a configuration of a communication device 1 according to the embodiment. A basic configuration of the communication device 1 according to the embodiment is the same as the basic configuration described in the first background example. As illustrated in FIG. 10, however, the embodiment is different from the first background example in that the storage unit 20 further functions as a matching requirement storage unit 22 and that the controlling unit 40 further functions as a priority calculating unit 47. In addition, the embodiment is different from the first background example in that the map point information storage unit 21 further stores information of priorities. Furthermore, functions of the map point information setting unit 42, matching requirement setting unit 43, and matching processing unit 44 are slightly different from those described in the first background example.

[0065] A configuration of the map point information storage unit 21 according to the embodiment is described with reference to FIG. 11. FIG. 11 is a diagram illustrating an example of the configuration of the map point information storage unit 21 according to the embodiment. As illustrated in FIG. 11, the map point information storage unit 21 according to the embodiment further stores "priorities" for map points whose types are physical corner points, while the "priorities" are associated with the identifiers of the map points. Thus, as map points to be subjected to the matching, map points whose types are physical corner points may be selected based on the priorities.

[0066] The "priorities" are a criterion to be used for the matching processing unit 44 to select map points whose types are physical corner points. The "priorities" are calculated by the priority calculating unit 47. In the embodiment, the higher values of the priorities, the higher the priorities. The priorities are described later.

[0067] Next, a configuration of the matching requirement storage unit 22 is described with reference to FIG. 12. FIG. 12 is a diagram illustrating an example of the configuration of the matching requirement storage unit 22 according to the embodiment. The matching requirement storage unit 22 stores information as a table, as illustrated in FIG. 12, for example. The matching requirement setting unit 43 references the matching requirement storage unit 22 in order to set a matching requirement such as a requirement to select map points. As illustrated in FIG. 12, the matching requirement storage unit 22 stores setting numbers and matching requirements associated with the setting numbers.

[0068] Each of the "setting numbers" indicates the number of times when a matching requirement is set. If a matching requirement is set for the second time, the matching requirement setting unit 43 sets a matching requirement associated with a setting number "2". In the embodiment, a matching requirement (associated with a setting number "1") initially set is a requirement to select map points whose types are "planar pattern points" and that are to be subjected to the matching.

[0069] The "matching requirements" are related to the matching process and are requirements such as a requirement to select map points whose types are physical corner points and that are to be subjected to the matching. A matching requirement may be a requirement to select a predetermined number of physical corner points in descending order of priority, for example. In addition, the matching requirement may be a requirement to randomly select a predetermined number of physical corner points regardless of priorities, for example. In addition, the matching requirement may be a requirement to select
physical corner points having priorities equal to or larger than a predetermined value, for example. In addition, the matching requirement may be a requirement that reduces a threshold for similarities between characteristic points (detected points) and map points, while the threshold is used to determine whether or not the characteristic points (detected points) successfully match the map points in the matching process, for example. The predetermined number may be a fixed value or may be variable (for example, may be reduced) based on a setting number. It is preferable that physical corner points be selected in descending order of priority, since the priorities are set to ensure that the smaller a change in a characteristic of a variation in a gray level in a region located near a physical corner point due to a movement of the camera, the higher a priority of the physical corner point. The matching requirements are set to ensure that the higher a setting number, the more a matching requirement associated with the setting number is relaxed.

[0070] Return to FIG. 10. The controlling unit 40 includes a CPU and the like, for example. The controlling unit 40 executes the operation program stored in the program area of the storage unit 20 and achieves functions as the characteristic point detecting unit 41, the map point information setting unit 42, the matching requirement setting unit 43, the matching processing unit 44, the estimating unit 45, the output information generating unit 46, and the priority calculating unit 47, as illustrated in FIG. 10. In addition, the controlling unit 40 executes the operation program and executes a process of controlling the overall communication device 1, a process (described later) of setting map point information, and the like.

[0071] The priority calculating unit 47 calculates distortions (warpage) of shapes located near map points (characteristic points) whose types are physical corner points and calculates, based on the calculated distortions (warpage), priorities of the map points (characteristic points) whose types are physical corner points. Specifically, the priority calculating unit 47 extracts, for each physical corner point, map points (characteristic points) separated by a predetermined distance or less from the physical corner point (target physical corner point) and arbitrarily selects a predetermined number (for example, three) of map points (characteristic points) from among the extracted map points (characteristic points) for each physical corner point.

[0072] Then, the priority calculating unit 47 detects, for each selected combination of map points, positional relationships between the map points (characteristic points) and a target physical corner point. Then, the priority calculating unit 47 calculates angles θ formed between a plane on which other map points (characteristic points) and the target physical corner point are distributed and lines connecting the target physical corner point to map points (characteristic points) that are not distributed on the plane. The priority calculating unit 47 calculates the average of the angles. Specifically, the priority calculating unit 47 calculates a distortion (warpage) of a shape located near the target physical corner point.

[0073] Referring to FIG. 13, it is assumed that the priority calculating unit 47 selects a combination of map points (characteristic points) MP18 to MP20 separated by the predetermined distance or less from a target physical corner point MP17. The map point (characteristic point) MP20 is not distributed on a plane on which the target physical corner point MP17 and the map points (characteristic points) MP18 and MP19 are distributed, as illustrated in FIG. 13. In this case, the priority calculating unit 47 calculates an angle θ formed between the plane on which the target physical corner point MP17 and the map points (characteristic points) MP18 and MP19 are distributed and a line connecting the target physical corner point MP17 to the map point (characteristic point) MP20. FIG. 13 is a diagram describing an example of a method of calculating priorities according to the second embodiment.

[0074] For example, as illustrated in FIG. 14, the priority calculating unit 47 calculates a priority based on a calculated average angle (distortion of a shape located near a target physical corner point) in accordance with a function F that is defined to ensure that the smaller a distortion (warpage) of a shape located near a target physical corner point, the higher a priority of the target physical corner point. Specifically, as the shape located near the physical corner point is closer to the plane, the priority of the physical corner point that is calculated by the priority calculating unit 47 is higher. FIG. 14 is a graph illustrating an example of the function F to be used to calculate priorities according to the second embodiment.

[0075] The distortion of the shape located near the physical corner point may be calculated by approximating, to a plane, the target physical corner point and the map points (characteristic points) separated by the predetermined distance or less from the target physical corner point and calculating the average of deviations from the approximated plane, the sum of the deviations, the sum of the squares of the deviations, or the like.

[0076] If the approximated plane is aX + bY + cZ = d, the sum D (distortion of the shape located near the target physical corner point) of the squares of the deviations from the approximated plane of the target physical corner point and the map points (characteristic points) separated by the predetermined distance or less from the target physical corner point may be calculated according to the following Equation 2.



[0077] Return to FIG. 10. The map point information setting unit 42 sets the map point information storage unit 21. Specifically, for example, the map point information setting unit 42 uses the stereo matching method such as the sequential similarity detection algorithm or the area correlation method to execute the matching of characteristic points detected by the characteristic point detecting unit 41 and located on two acquired images. Then, the map point information setting unit 42 calculates three-dimensional coordinates of successfully matched characteristic points by the stereo process.

[0078] Then, the map point information setting unit 42 detects, for each of the successfully matched characteristic points, positional relationships between the successfully matched characteristic point and characteristic points located adjacent to the successfully matched characteristic point (target characteristic point). In this case, the map point information setting unit 42 selects, for each of the successfully matched characteristic points, a predetermined number (for example, three or more) of characteristic points located near the successfully matched characteristic point in ascending order of distance between the successfully matched characteristic point and characteristic points located adjacent to the successfully matched characteristic point, for example. Then, the map point information setting unit 42 identifies the types of the successfully matched characteristic points. Specifically, if the target physical corner point and the selected characteristic points located adjacent to the target physical corner points are distributed on the same plane, the map point information setting unit 42 identifies that the type of the target physical corner point is a "planar pattern point". On the other hand, if the target physical corner point and the selected characteristic points located adjacent to the target physical corner point are not distributed on the same plane, the map point information setting unit 42 identifies that the type of the target physical corner point is a "physical corner point".

[0079] In addition, the map point information setting unit 42 calculates characteristic amounts of the successfully matched characteristic points and generates image pattern templates for the successfully matched characteristic points. Then, the map point information setting unit 42 associates map point information including priorities calculated by the priority calculating unit 47 with the identifiers of map points whose types are physical corner points and causes the map point information and the map point identifiers to be stored in the map point information storage unit 21.

[0080] The matching requirement setting unit 43 references the matching requirement storage unit 22 and sets a matching requirement such as a requirement to select map points to be subjected to the matching with characteristic points (detected points) detected by the character point detecting unit 41 and located on an acquired image. Specifically, the matching requirement setting unit 43 references the matching requirement storage unit 22, identifies the matching requirement based on a setting number associated with the matching requirement, and sets the identified matching requirement. In the second embodiment, the matching requirement setting unit 43 sets, as an initial matching requirement, a requirement to select map points whose types are "planar pattern points" and that are to be subjected to the matching.

[0081] Then, if the number of successfully matched pairs of characteristic points (detected points) and map points is smaller than the predetermined threshold Z as a result of the matching executed by the matching processing unit 44, the matching requirement setting unit 43 references the matching requirement storage unit 22 and sets another matching requirement so as to relax the matching requirement. The matching requirement setting unit 43 repeats this process until the number of successfully matched pairs becomes equal to or larger than the predetermined threshold Z or until an unselected physical corner point does not exist.

[0082] The predetermined threshold Z is a value that is obtained by experimentally calculating the number of pairs of map points and characteristic points (detected points) and enables the removal of a variation in the accuracy of the estimation of the position and orientation of the camera.

[0083] If the matching requirement set by the matching requirement setting unit 43 is a requirement to select map points, the matching processing unit 44 selects the map points in accordance with the selection requirement. Then, the matching processing unit 44 executes the matching of the characteristic points (detected points) detected by the characteristic point detecting unit 41 and located on the acquired image with the selected map points again. If the matching requirement is changed and the change causes a change in the requirement to select map points, the matching processing unit 44 selects map points in accordance with the matching requirement after the change and executes the matching of the selected map points with the characteristic points (detected points) located on the acquired image in accordance with the matching requirement after the change.

[0084] On the other hand, if the matching requirement after the change does not cause a change in the requirement to select map points, the matching processing unit 44 executes the matching of the characteristic points (detected points) with previously selected map points. As the matching requirement that does not cause a change in the requirement to select map points, there is the matching requirement that reduces the threshold for similarities between characteristic points (detected points) and map points, or the like, for example. The threshold is used to determine whether or not the characteristic points (detected points) successfully match the map points in the matching process.

[0085] Next, the flow of a process of setting map point information according to the embodiment is described with reference to FIG. 15. FIG. 15 is an example of a flowchart of the process of setting map point information according to the embodiment. The process of setting map point information is started by a predetermined operation performed by the user through the operating unit (not illustrated) as a trigger, for example. The process of setting map point information may be repeatedly executed at predetermined time intervals or every time when an image is acquired.

[0086] The image acquiring unit 10 acquires a first image and outputs the first acquired image to the controlling unit 40 (in step S001). The characteristic point detecting unit 41 detects characteristic points of the first input acquired image (in step S002).

[0087] Then, the image acquiring unit 10 acquires a second image and outputs the second acquired image to the controlling unit 40 (in step S003). The characteristic point detecting unit 41 detects characteristic points of the second input acquired image (in step S004).

[0088] Then, the map point information setting unit 42 executes the stereo matching on the characteristic points of the first and second acquired images (in step S005) and calculates three-dimensional coordinates of successfully matched
characteristic points (in step S006). Then, the map point information setting unit 42 selects a predetermined number of characteristic points located adjacent to each of the successfully matched characteristic points (in step S007) and detects positional relationships between each of the successfully matched characteristic points and characteristic points located adjacent to each of the successfully matched characteristic points (in step S008).

[0089] Then, the map point information setting unit 42 identifies the types of the successfully matched characteristic points (in step S009). Then, the map point information setting unit 42 calculates characteristic amounts of the successfully matched characteristic points and generates image pattern templates for the successfully matched characteristic points (in step S010).

[0090] Then, the priority calculating unit 47 calculates distortions of shapes located near map points (characteristic points) whose types are physical corner points (in step S301) and calculates, based on the calculated distortions of the shapes, priorities of the map points (characteristic points) whose types are the physical corner points (in step S302).

[0091] Then, the map point information setting unit 42 associates map point information including the priorities calculated by the priority calculating unit 47 with the identifiers of the map points whose types are the physical corner points and causes the map point information and the map point identifiers to be stored in the map point information storage unit 21 (in step S011A). Then, the process is terminated.

[0092] Next, the flow of a process of estimating the position and orientation of the camera according to the embodiment is described with reference to FIGs. 16 and 17. FIG. 16 is a part of an example of a flowchart of the process of estimating the position and orientation of the camera according to the embodiment, while FIG. 17 is the other part of the example of the flowchart of the process of estimating the position and orientation of the camera according to the embodiment. The process of estimating the position and orientation of the camera is started when the process of setting map point
information is executed and the map point information is stored in the map point information storage unit 21 as a trigger, for example.

[0093] The image acquiring unit 10 acquires an image and outputs the acquired image to the controlling unit 40 (in step S201). Then, the characteristic point detecting unit 41 detects characteristic points of the input acquired image (in step S202). Then, the matching requirement setting unit 43 sets a matching requirement to select map points whose types are planar pattern points (in step S203).

[0094] The matching processing unit 44 selects the map points whose types are the planar pattern points (in step S204) and executes the matching of the detected characteristic points (detected points) with the selected map points (in step S205). Then, the matching requirement setting unit 43 determines whether or not the number of successfully matched pairs of characteristic points (detected points) and map points is equal to or larger than the predetermined threshold Z (in step S401).

[0095] If the matching requirement setting unit 43 determines that the number of the successfully matched pairs is equal to or larger than the predetermined threshold Z (YES in step S401), the process proceeds to the process of step S206. On the other hand, if the matching requirement setting unit 43 determines that the number of the successfully matched pairs is smaller than the predetermined threshold Z (NO in step S401), the matching requirement setting unit 43 references the matching requirement storage unit 22 and changes (relaxes) the matching requirement (in step S402).

[0096] Then, the matching processing unit 44 determines whether or not the matching requirement after the change includes a change in a requirement to select map points (in step S403). If the matching processing unit 44 determines that the matching requirement after the change includes the change in the requirement to select map points (YES in step S403), the matching processing unit 44 determines whether or not an unselected physical corner point exists (in step S404).

[0097] If the matching processing unit 44 determines that the unselected physical corner point exists (YES in step S404), the matching processing unit 44 selects the physical corner point in accordance with the matching requirement after the change (in step S405). Then, the matching processing unit 44 executes the matching of the selected physical corner point with the characteristic points (detected points) again in accordance with the matching requirement after the change (in step S406). Then, the process proceeds to a process of step S407 described later. On the other hand, if the matching processing unit 44 determines that the unselected physical corner point does not exist (NO in step S404), the process proceeds to the process of step S206.

[0098] If the matching processing unit 44 determines that the matching requirement after the change does not include the change in the requirement to select map points (NO in step S403), the matching processing unit 44 executes the matching of a previously selected physical corner point with the characteristic points (detected points) again in accordance with the matching requirement after the change (in step S406).

[0099] Then, the matching requirement setting unit 43 determines again whether or not the number of successfully matched pairs of characteristic points (detected points) and map points is equal to or larger than the predetermined threshold Z (in step S407). If the matching requirement setting unit 43 determines that the number of the successfully matched pairs is smaller than the predetermined threshold Z (NO in step S407), the process returns to the process of S402, and the aforementioned processes are repeated.

[0100] On the other hand, if the matching requirement setting unit 43 determines that the number of the successfully matched pairs is equal to or larger than the predetermined threshold Z (YES in step S407), the estimating unit 45 estimates the position and orientation of the camera based on the successfully matched pairs of map points and characteristic points (detected points) (in step S206).

[0101] Then, the controlling unit 40 determines whether or not an instruction to terminate the process is provided (in step S207). The controlling unit 40 determines whether or not a predetermined operation (for example, the termination of the application) is performed by the user through the operating unit (not illustrated), and thereby determines whether or not the instruction to terminate the process is provided. If the controlling unit 40 determines that the instruction to terminate the process is not provided (NO in step S207), the process returns to the process of step S201, and the aforementioned processes are repeated. On the other hand, if the controlling unit 40 determines that the instruction to terminate the process is provided (YES in step S207), the process is terminated.

[0102] According to the embodiment, the communication device 1 identifies the types of map points to be subjected to the matching with characteristic points (detected points) on an acquired image, compares rates of causing planar pattern points to contribute to the estimation of the position and orientation of the camera with rates of causing physical corner points to contribute to the estimation of the position and orientation of the camera, and reduces the rates of causing the physical corner points to contribute to the estimation of the position and orientation of the camera. Thus, an effect of erroneous matching may be reduced and the accuracy of estimating the position and orientation of the camera may be improved.

[0103] In addition, according to the embodiment, the communication device 1 identifies the types of map points to be subjected to the matching with characteristic points (detected points) on an acquired image and initially selects map points whose types are planar pattern points and that are to be subjected to the matching. Thus, the communication device 1 compares rates of causing the planar pattern points to contribute to the estimation of the position and orientation of the camera with rates of causing physical corner points to contribute to the estimation of the position and orientation of the camera and reduces the rates of causing the physical corner points to contribute
to the estimation of the position and orientation of the camera. Thus, an effect of erroneous matching may be reduced and the accuracy of estimating the position and orientation of the camera may be improved.

[0104] In addition, according to the embodiment, if the number of successfully matched pairs of characteristic points (detected points) and map points is smaller than the predetermined threshold Z in the matching of only planar pattern points, the communication device 1 changes (relaxes) a matching requirement and executes the matching of characteristic points (detected points) with map points in accordance with the matching requirement after the change. Thus, the number of successfully matched pairs may increase, a variation in the accuracy of estimating the position and orientation of the camera may be removed, and the accuracy of estimating the position and orientation of the camera may be improved.

[0105] In addition, according to the embodiment, if the number of successfully matched pairs of characteristic points (detected points) and map points is smaller than the predetermined threshold Z, the communication device 1 relaxes the matching requirement until the number of successfully matched pairs reaches the predetermined threshold Z, and the communication device 1 repeats the matching of characteristic points (detected points) and map points. Thus, the number of pairs that enable the removal of a variation in the accuracy of estimating the position and orientation of the camera may be maintained and the accuracy of estimating the position and orientation of the camera may be improved.

[0106] In addition, according to the embodiment, if the number of successfully matched pairs of characteristic points (detected points) and map points is smaller than the predetermined threshold Z, the communication device 1 arbitrarily selects a physical corner point and executes the matching of the characteristic points (detected points) and the selected physical corner point again. Thus, the number of successfully matched pairs may increase, a variation in the accuracy of estimating the position and orientation of the camera may be removed, and the accuracy of estimating the position and orientation of the camera may be improved.

[0107] In addition, according to the embodiment, the communication device 1 calculates priorities for physical corner points. If the number of successfully matched pairs of characteristic points (detected points) and map points is smaller than the predetermined threshold Z, the communication device 1 selects a physical corner point based on the priorities. Then, the communication device 1 executes the matching of the characteristic points (detected points) and the selected physical corner point again. The smaller a distortion of a shape located near the physical corner point, the higher the priority of the physical corner point. Thus, a physical corner point that is less likely to cause erroneous matching may be subjected to the matching on a priority basis, and erroneous matching may be suppressed. Thus, the accuracy of estimating the position and orientation of the camera may be improved.

Second Background Example



[0108] In a second background example, if physical corner points are subjected to the matching, an effect of erroneous matching is reduced by reducing rates of causing the physical corner points to contribute to the estimation of the position and orientation of the camera. Thus, the accuracy of estimating the position and orientation of the camera is improved. A configuration described in the second background example is applicable to both first background example and embodiment. An example in which the configuration described in the second background example is applied to the first background example is described below.

[0109] FIG. 18 is a functional block diagram illustrating an example of a configuration of a communication device 1 according to the second background example. A basic configuration of the communication device 1 according to the second background example is the same as the basic configuration described in the first background example. As illustrated in FIG. 18, however, the second background example is different from the first background example in that the storage unit 20 further functions as a weight information storage unit 23. In addition, functions of the matching
requirement setting unit 43, matching processing unit 44, and estimating unit 45 are slightly different from those described in the first background example.

[0110] FIG. 19 is a diagram illustrating an example of a configuration of the weight information storage unit 23 according to the second background example. The weight information storage unit 23 according to the second background example stores "types" and "weights" associated with the "types".

[0111] The "weights" are weights to be added to deviations (for example, the squares of the deviations) of successfully matched characteristic points (detected points) from points obtained by projecting corresponding map points upon the estimation of the position and orientation of the camera. In the second background example, a weight W1 for planar pattern points is larger than a weight W2 for physical corner points. For example, the weight W1 is 1, while the weight W2 for physical corner points is 0.6. Specifically, in the third embodiment, the same weight W2 is applied to all physical corner points.

[0112] The matching requirement setting unit 43 sets a matching requirement such as a requirement to select map points to be subjected to the matching with characteristic points (detected points) detected by the character point detecting unit 41 and located on an acquired image. In the second background example, the matching requirement setting unit 43 sets, as the matching requirement, a requirement to select all map points to be subjected to the matching.

[0113] The matching processing unit 44 selects the map points in accordance with the matching requirement set by the matching requirement setting unit 43 and executes the matching of the characteristic points (detected points) detected by the characteristic point detecting unit 41 and located on the acquired image with the selected map points.

[0114] In the second background example, since the matching requirement setting unit 43 sets, as the matching requirement, the requirement to select all the map points to be subjected to the matching, the matching processing unit 44 selects all the map points stored in the map point information storage unit 21 and
executes the matching of the selected points with the characteristic points (detected points).

[0115] The estimating unit 45 estimates the position and orientation of the camera based on successfully matched pairs of characteristic points (detected points) subjected to the matching by the matching processing unit 44 and map points subjected to the matching by the matching processing unit 44. In this case, the estimating unit 45 compares rates of causing planar pattern points to contribute to the estimation of the position and orientation of the camera with rates of causing physical corner points to contribute to the estimation of the position and orientation of the camera and reduces the rates of causing the physical corner points to contribute to the estimation of the position and orientation of the camera. Thus, even if the physical corner points are to be subjected to the matching, an effect of erroneous matching may be reduced and the accuracy of estimating the position and orientation of the camera may be improved.

[0116] For example, the estimating unit 45 estimates the position and orientation of the camera in accordance with the conventional technique by calculating the camera orientation matrix M that minimizes the sum E' of squares Wpi |Xpi-Xp'i|2, weighted by adding a weight Wpi for the map points to the squares of deviations of the characteristic points (detected points) from points obtained by projecting the corresponding map points, of the deviations. The estimating unit 45 references the weight information storage unit 23 and identifies the weight Wpi for the map points based on the types of the map points.

[0117] The sum E' of the squares of the deviations of the successfully matched characteristic points (detected points) from the points obtained by projecting the corresponding map points may be expressed according to the following Equation 3.

If the configuration described in the second background example is applied to the embodiment, and the map points are physical corner points, the weight Wpi to be added may be variable based on set priorities. In this case, the weight Wpi to be added is set so as to ensure that the smaller a priority, the smaller the weight Wpi to be added. Thus, the weight Wpi to be added may be set so as to ensure that the larger a distortion (warpage) of a shape located near a physical corner point that is likely to cause erroneous matching, the smaller the weight Wpi to be added. Thus, an effect of erroneous matching may be reduced.

[0118] In the aforementioned case, the weight information storage unit 23 may be configured as illustrated in FIG. 20, for example. Specifically, it is sufficient if the weights are associated based on the priorities. FIG. 20 is a diagram illustrating another example of the configuration of the weight information storage unit 23.

[0119] The aforementioned method is an example of a method of comparing rates of causing planar pattern points to contribute to the estimation of the position and orientation of the camera with rates of causing physical corner points to contribute to the estimation of the position and orientation of the camera and reducing the rates of causing the physical corner points to contribute to the estimation of the position and orientation of the camera. For example, the matching may be executed on all physical corner points, and the estimating unit 45 may remove (exclude) physical corner points so as to reduce the ratio of the number of successfully matched physical corner points to all the physical corner points to a predetermined value (for example, 10%) or less and thereby reduce the rates of causing the physical corner points to contribute to the estimation of the position and orientation of the camera.

[0120] According to the second background example, the communication device 1 estimates the position and orientation of the camera while excluding successfully matched pairs of characteristic points (detected points) and map points whose types are physical corner points so as to ensure that the ratio of the number of
successfully matched pairs of characteristic points (detected points) and map points whose types are physical corner points to the number of successfully matched pairs of characteristic points (detected points) and map points is equal to or smaller than a predetermined value. Thus, rates of causing physical corner points to contribute to the estimation of the position and orientation of the camera may be reduced. Thus, an effect of erroneous matching may be reduced and the accuracy of estimating the position and orientation of the camera may be improved.

[0121] In addition, according to the second background example, the communication device 1 adds the weights associated with the types of map points to deviations of successfully matched characteristic points (detected points) from points obtained by projecting successfully matched map points and estimates the position and orientation of the camera based on the deviations. The weight to be added to deviations corresponding to physical corner points is smaller than the weight to be added to deviations corresponding to planar pattern points. Thus, the rates of causing the physical corner points to contribute to the estimation of the position and orientation of the camera may be reduced. Thus, an effect of erroneous matching may be reduced and the accuracy of estimating the position and orientation of the camera may be improved.

[0122] In addition, according to the second background example, the weight to be added to deviations corresponding to physical corner points may be variable based on priorities set for the physical corner points. Specifically, the smaller a priority of a physical corner point, the smaller the weight to be added to an deviation corresponding to the physical corner point. Thus, as the possibility that a physical corner point causes erroneous matching increases, a rate of causing the physical corner point to contribute to the estimation of the position and orientation of the camera may be reduced.

Third Background Example



[0123] The first background example describes the example in which the stereo matching method is used for the calculation of three-dimensional coordinates of map points.

[0124] A third background example describes a process of setting map point information in a case where three-dimensional coordinates of map points are acquired using a three-dimensional distance sensor (3D distance sensor) (not illustrated). If the 3D distance sensor is used, three-dimensional coordinates of pixels on an acquired image may be acquired in real time by the correction of a positional relationship with the camera. A configuration described in the third background example is applicable to the aforementioned background examples and embodiment. An example in which the configuration described in the third background example is applied to the embodiment is described below.

[0125] FIG. 21 is a functional block diagram illustrating an example of a configuration of a communication device 1 according to the third background example. A basic configuration of the communication device 1 according to the third background example is the same as the basic configuration described in the embodiment. As illustrated in FIG. 21, however, the third background example is different from the embodiment in that the communication device 1 further includes a positional information acquiring unit 50. In addition, functions of the map point information setting unit 42 and priority calculating unit 47 are slightly different from those described in the embodiment.

[0126] The positional information acquiring unit 50 includes a device interface, a communication module, or the like, for example. The positional information acquiring unit 50 acquires, from the connected 3D distance sensor, information (hereinafter referred to as three-dimensional positional information (3D positional information)) indicating three-dimensional coordinates of points of an object to be imaged. Then, the positional information acquiring unit 50 outputs the acquired 3D positional information to the controlling unit 40.

[0127] The map point information setting unit 42 sets the map point information storage unit 21. Specifically, the map point information setting unit
42 according to the third background example identifies, based on the input 3D positional information, three-dimensional coordinates of characteristic points detected by the characteristic point detecting unit 41.

[0128] Then, the map point information setting unit 42 detects positional relationships between the detected characteristic points (target characteristic points) and characteristic points located adjacent to the target characteristic points. In this case, the map point information setting unit 42 selects a predetermined number of characteristic points located adjacent to each of the target characteristic points in ascending order of distance, for example. Specifically, if a target characteristic point and selected characteristic points located adjacent to the target characteristic point are distributed on the same plane, the map point information setting unit 42 identifies that the type of the target characteristic point is a "planar pattern point". On the other hand, if the target characteristic point and the selected characteristic points located adjacent to the target characteristic point are not distributed on the same plane, the map point information setting unit 42 identifies that the type of the target characteristic point is a "physical corner point".

[0129] In addition, the map point information setting unit 42 calculates characteristic amounts of the detected characteristic points and generates image pattern templates for the detected characteristic points. Then, the map point information setting unit 42 associates map point information including priorities calculated by the priority calculating unit 47 with the identifiers of map points whose types are physical corner points and causes the map point information and the map point identifiers to be stored in the map point information storage unit 21.

[0130] By using the 3D positional information acquired from the 3D distance sensor, the map point information setting unit 42 may arbitrarily select a predetermined number (for example, three or more) of pixels separated by a predetermined distance or less from each of target characteristic points and
identify the types of the detected characteristic points based on positional relationships between the selected pixels and the target characteristic points.

[0131] A method of identifying the types of the characteristic points based on the positional relationships between the selected pixels and the target characteristic points is described with reference to FIG. 22. FIG. 22 is a diagram describing an example of the method of identifying the types according to the third background example.

[0132] An image acquired from the 3D distance sensor is an image in which the brightness (luminance) of pixels varies based on distances from the 3D distance sensor. Specifically, the image acquired from the 3D distance sensor is the image in which the farther from the 3D distance sensor a part corresponding to a pixel, the darker the brightness of the pixel (or the lower the luminance of the pixel). It is apparent that, in an image of a region located near a characteristic point MP21 on the image acquired from the 3D distance sensor, a light pixel region and a dark pixel region exist.

[0133] On the other hand, it is apparent that, in an image of a region located near a characteristic point MP22 on the image acquired from the 3D distance sensor, the brightness (luminance) of pixels is nearly uniform. If the 3D distance sensor is used, three-dimensional coordinates of pixels on the acquired image may be accurately acquired. Thus, the map point information setting unit 42 may arbitrarily select a predetermined number (for example, three or more) of pixels separated by the predetermined distance or less from each target characteristic point on the acquired image, identify three-dimensional coordinates of the selected pixels based on the 3D positional information, and identify the types of detected characteristic points.

[0134] Return to FIG. 21. The priority calculating unit 47 calculates distortions (warpage) of shapes located near map points (characteristic points) whose types are physical corner points, and the priority calculating unit 47 calculates, based on the calculated distortions (warpage) of the shapes, priorities of the map points (characteristic points) whose types are the physical corner
points. The priorities may be calculated using the method described in the second embodiment. Specifically, the priority calculating unit 47 arbitrarily selects, for each of the physical corner points, a plurality of pixels separated from the predetermined distance or less from the physical corner point (target physical corner point) and arbitrarily selects combinations of predetermined numbers (for example, three) of characteristic points (map points) from among the selected pixels. The selected pixels may be pixels corresponding to map points (characteristic points).

[0135] Then, the priority calculating unit 47 detects positional relationships between the selected combinations of pixels and the target physical corner points based on the 3D positional information. Then, the priority calculating unit 47 calculates, for each of the target physical corner points, angles θ formed between a plane on which the target physical corner point and at least one pixel (corresponding point in the world coordinate system) are distributed and lines connecting the target physical corner point to pixels (corresponding points in the world coordinate system) that are not distributed on the plane, and the priority calculating unit 47 calculates the average of the angles for each of the target physical corner points. Specifically, the priority calculating unit 47 calculates distortions (warpage) of shapes located near the target physical corner points.

[0136] Then, the priority calculating unit 47 calculates priorities based on the calculated averages of the angles in accordance with the function F exemplified in FIG. 14. Specifically, as a shape located near a physical corner point is more similar to a plane, the priority calculating unit 47 calculates a higher priority for the physical corner point.

[0137] The priority calculating unit 47 may calculate, for each of the target physical corner points, a distortion of a shape located near the target physical corner point by approximating, to a plane, the target physical corner point and pixels (corresponding points in the world coordinate system) separated by the predetermined distance or less from the target characteristic point and calculating the average of deviations from the approximated plane, the sum of the deviations, the sum of the square of the deviations, or the like.

[0138] Next, the flow of a process of setting map point information according to the third background example is described with reference to FIG. 23. FIG. 23 is an example of a flowchart of the process of setting map point information according to the third background example. The process of setting map point information is started by a predetermined operation (the activation of the specific application or the like) performed by the user through the operating unit (not illustrated) as a trigger, for example. The process of setting map point information may be repeatedly executed at predetermined time intervals or every time an image is acquired.

[0139] The image acquiring unit 10 acquires an image and outputs the acquired image to the controlling unit 40 (in step S501). The characteristic point detecting unit 41 detects characteristic points of the input acquired image (in step S502). Then, the positional information acquiring unit 50 acquires the 3D positional information and outputs the acquired 3D positional information to the controlling unit 40 (in step S503).

[0140] Then, the map point information setting unit 42 identifies the three-dimensional coordinates of the detected characteristic points based on the input 3D positional information (in step S504). Then, the map point information setting unit 42 selects a predetermined number of characteristic points located adjacent to each of the detected characteristic points (in step S505) and detects, based on the 3D positional information, positional relationships between the characteristic points (target characteristic points) and characteristic points located adjacent to the target characteristic points (in step S506).

[0141] Then, the map point information setting unit 42 identifies the types of the detected characteristic points (in step S507). The, the map point information setting unit 42 calculates characteristic amounts of the detected characteristic points and generates image pattern templates for the detected characteristic points (in step S508).

[0142] Then, the priority calculating unit 47 calculates distortions of shapes located near map points (characteristic points) whose types are physical corner points (in step S509) and calculates, based on the calculated distortions of the shapes, priorities of the map points (characteristic points) whose types are the physical corner points (in step S510).

[0143] Then, the map point information setting unit 42 associates map point information including the priorities calculated by the priority calculating unit 47 with the identifiers of the map points whose types are the physical corner points and causes the map point information and the map point identifiers to be stored in the map point information storage unit 21 (in step S511). Then, the process is terminated.

[0144] According to the third background example, the communication device 1 detects characteristic points on an acquired image, identifies three-dimensional coordinates of the detected characteristic points based on the 3D positional information acquired by the 3D distance sensor, and thereby sets map points. Thus, map point information may be set in real time.

[0145] In addition, according to the third background example, the communication device 1 arbitrarily selects a plurality of pixels located near each of the detected characteristic points (detected points) and identifies the types of the characteristic points (detected points) based on positional relationships between the selected pixels (corresponding points in the world coordinate system) and the characteristic points (detected points).

[0146] FIG. 24 is a diagram illustrating an example of a hardware configuration of a communication device 1 according to each of the above background examples and embodiment. The communication device 1 illustrated in FIG. 1 and the like may be achieved by various types of hardware illustrated in FIG. 24. In the example illustrated in FIG. 24, the communication device 1 includes a CPU 201, a RAM 202, a ROM 203, an HDD 204, a device interface 205, a communication module 206, and a reading device 207. The device interface 205 is connected to the
camera, the display device, the 3D distance sensor, and the like. The hardware parts are connected to each other through a bus 208.

[0147] The CPU 201 loads the operation program stored in the HDD 204 into the RAM 202 and executes the various processes while using the RAM 202 as a working memory. The CPU 201 may achieve the functional units of the controlling unit 40 illustrated in FIG. 1 and the like by executing the operation program.

[0148] The aforementioned processes may be executed by distributing and storing the operation program to be used to execute the aforementioned operations to and in a computer-readable recording medium 209 such as a flexible disk, a compact disc-read only memory (CD-ROM), a digital versatile disc (DVD), or a magneto optical (MO) disc, reading the operation program by the reading device 207 of the communication device 1, and installing the operation program into a computer. In addition, the operation program may be stored in a disk device included in a server device on the Internet and downloaded into the computer of the communication device 1.

[0149] In each of the background examples and embodiment, another type of a storage device other than the RAM 202, the ROM 203, and the HDD 204 may be used. For example, the communication device 1 may include storage devices such as a content addressable memory (CAM), a static random access memory (SRAM), and a synchronous dynamic random access memory (SDRAM).

[0150] In each of the background examples and embodiment, the hardware configuration of the communication device 1 may be different from the configuration illustrated in FIG. 24, and the communication device 1 may include hardware other than the standards illustrated in FIG. 24 and the types illustrated in FIG. 24.

[0151] For example, the functional units included in the controlling unit 40 of the communication device 1 and illustrated in FIG. 1 and the like may be achieved by a hardware circuit. Specifically, the functional units included in the controlling unit 40 and illustrated in FIG. 1 and the like may be achieved by a reconfigurable circuit such as a field programmable gate array (FPGA), an
application specific integrated circuit (ASIC), or the like, instead of the CPU 201. The functional units may be achieved by the CPU 201 and the hardware circuit.

[0152] The embodiment and the modified examples of the embodiment are described above. The embodiments, however, are not limited to the aforementioned embodiments and may be understood to include the modified examples of the embodiments and alternative examples. For example, it may be understood that the constituent elements may be modified and detailed in the embodiments without departing from the scope of the invention, which is defined by the claims. In addition, it may be understood that various embodiments may be achieved by combining the constituent elements disclosed in the embodiments. Furthermore, a person skilled in the art may understand that various embodiments may be achieved by removing some of all the constituent elements described in the embodiments, replacing some of all the constituent elements described in the embodiments with other constituent elements, or adding some constituent elements to the constituent elements described in the embodiments.

REFERENCE SIGNS LIST



[0153] 
1
Communication device
10
Image acquirer
20
Storage unit
21
Map point information storage unit
22
Matching requirement storage unit
23
Weight information storage unit
30
Output unit
40
Controller
41
Characteristic point detector
42
Map point information setting unit
43
Matching requirement setting unit
44
Matching processing unit
45
Estimator
46
Output information generator
47
Priority calculator
50
Positional information acquirer
201
CPU
202
RAM
203
ROM
204
HDD
205
Device interface
206
Communication module
207
Reading device
208
Bus
209
Recording medium



Claims

1. A method of estimating a position and an orientation of an imaging device, the method comprising:

extracting (S002, S004), from an image, a plurality of characteristic points (MP7 to MP16) satisfying a certain requirement regarding changes in gray levels between the plurality of characteristic points and surrounding points;

identifying (S009), as map points (MP1 to MP4, MP12) from the plurality of characteristic points, characteristic points existing on planes, by excluding corners of an object depicted on the image;

identifying, as another map point (MP5; MP6; MP7), a characteristic point from among the plurality of characteristic points, the characteristic point (MP5; MP6; MP7) existing at a corner of the object;

extracting (S202), from another image, another plurality of characteristic points satisfying the certain requirement;

executing matching (S205) of the another plurality of characteristic points with the map points (MP1 to MP4, MP12) based on a region including the map points, and another matching using the another map point (MP5; MP6; MP7) when the number of successfully matched characteristic points that have been subjected to the matching is smaller than a certain value;

estimating (S206), based on results of the matching, a position and an orientation of an imaging device while the another image is captured; and

storing the map points (MP1 to MP4, MP12) and the another map point (MP5; MP6; MP7) into a storage unit (20) while distinguishing the map points (MP1 to MP4, MP12) from the another map point (MP5; MP6; MP7).


 
2. The method according to claim 1, wherein
the identifying includes:

determining, for each of the plurality of characteristic points (MP7 to MP16), whether or not a target characteristic point (MP7; MP12) from among the plurality of characteristic points and adjacent characteristic points (MP8 to MP11; MP13 to MP16) are distributed on a same plane in the image, and

identifying, for each of the plurality of characteristic points, the target characteristic point (MP12) as a map point from among the map points when the target characteristic point (MP12) and the adjacent characteristic points (MP13 to MP16) are distributed on the same plane, and

the adjacent characteristic points are located adjacent to the target characteristic point.
 
3. The method according to claim 1 or 2, further comprising:

storing image data of the region including the map points into a storage unit (20), and

wherein the matching is executed using the image data stored in the storage unit (20) when the another image is acquired.


 
4. The method according to any preceding claim, wherein
the another matching is executed based on priorities of another map points including the another map point (MP5; MP6; MP7), and
the priorities are calculated for the another map points (MP5; MP6; MP7) based on a positional relationship between a first map point from among the another map points and a second map point which is separated by a certain distance or less from the first map point.
 
5. The estimation method according to any of claims 1 to 3, wherein the estimating (S206) is executed using a successfully matched characteristic point, from among the another plurality of characteristic points, which has been subjected to the matching or the another matching.
 
6. The method according to claim 5, wherein the estimating (S206) is executed using a first group which succeeds in the matching and a second group which succeeds in the another matching, while a weight added to the first group is larger than another weight added to the second group.
 
7. The method according to claim 3, wherein three-dimensional positions of the map points are acquired from the imaging device provided with a three-dimensional distance sensor.
 
8. The method according to any preceding claim, wherein
the another image is captured following the image, and
the image is captured by the imaging device.
 
9. A program which, when executed on the computer (1), causes the computer (1) to carry out the method according to any preceding claim.
 
10. A device (1) for estimating a position and an orientation of an imaging device, the device (1) comprising:

a characteristic point detecting unit (41) configured to extract, from an image, a plurality of characteristic points (MP7 to MP16) satisfying a certain requirement regarding changes in gray levels between the plurality of characteristic points and

surrounding points, and to extract, from another image, another plurality of characteristic points satisfying the certain requirement;

a map point information setting unit (42) configured to:

identify, as map points (MP1 to MP4, MP12) from the plurality of characteristic points, characteristic points existing on planes, by excluding corners of an object depicted on the image; and

identify, as another map point (MP5; MP6; MP7), a characteristic point from among the plurality of characteristic points, the characteristic point (MP5; MP6; MP7) existing at a corner of the object;

a matching processing unit (44) configured to execute matching of the another plurality of characteristic points with the map points (MP1 to MP4, MP12) based on a region including the map points, and execute another matching using the another map point (MP5; MP6; MP7) when the number of successfully matched characteristic points that have been subjected to the matching is smaller than a certain value;

an estimating unit (45) configured to estimate, based on results of the matching, a position and an orientation of an imaging device while the another image is captured; and

a storage unit (20) configured to store the map points (MP1 to MP4, MP12) and the another map point (MP5; MP6; MP7) while distinguishing the map points (MP1 to MP4, MP12) from the another map point (MP5; MP6; MP7).


 
11. A device configured to execute matching of a plurality of map points with a plurality of characteristic points extracted from an image captured by a camera, and estimate a position and an orientation of the camera based on deviations of successfully matched characteristic points from among the characteristic points subjected to the matching from points obtained by projecting map points corresponding to the successfully matched characteristic points on the image, comprising:

a determining unit configured to identify shapes of regions each having a certain range and including a certain map point from among the plurality of map points and determine whether or not the shapes are planes; and

an adjusting unit configured to adjust contributions from the plurality of map points to an estimation of the position and the orientation of the camera,

wherein the adjusted contributions from map points included in a planar region to the estimation of the position and the orientation of the camera is larger than the adjusted contributions from other map points included in a non-planar region to the estimation of the position and the orientation of the camera.


 


Ansprüche

1. Verfahren zum Abschätzen einer Position und einer Ausrichtung einer Bildgebungsvorrichtung, wobei das Verfahren Folgendes umfasst:

Extrahieren (S002, S004) einer Vielzahl charakteristischer Punkte (MP7 bis MP16) aus einem Bild, die eine gewisse Anforderung betreffend Änderungen der Graustufen zwischen der Vielzahl charakteristischer Punkte und Umgebungspunkte erfüllen;

Identifizieren (S009) solcher charakteristischen Punkte aus der Vielzahl charakteristischer Punkte, die auf Ebenen vorliegen, als Kartenpunkte (MP1 bis MP4, MP12) durch Ausschließen von Ecken eines auf dem Bild abgebildeten Objekts;

Identifizieren eines charakteristischen Punktes aus der Vielzahl charakteristischer Punkte als einen weiteren Kartenpunkt (MP5; MP6; MP7), wobei der charakteristische Punkt (MP5; MP6; MP7) an einer Ecke des Objekts vorliegt;

Extrahieren (S202) einer weiteren Vielzahl charakteristischer Punkte, die die gewisse Anforderung erfüllen, aus einem weiteren Bild;

Durchführen eines Abgleichs (S205) der weiteren Vielzahl charakteristischer Punkte mit den Kartenpunkten (MP1 bis MP4, MP12) basierend auf einem Gebiet, das die Kartenpunkte einschließt, und eines weiteren Abgleichs unter Verwendung des weiteren Kartenpunktes (MP5; MP6; MP7), wenn die Zahl erfolgreich abgeglichener charakteristischer Punkte, die dem Abgleich unterzogen wurden, unterhalb eines gewissen Wertes liegt;

Abschätzen (S206) einer Position und einer Ausrichtung einer Bildgebungsvorrichtung, während das weitere Bild aufgenommen wird, basierend auf Ergebnissen des Abgleichs; und

Speichern der Kartenpunkte (MP1 bis MP4, MP12) und des weiteren Kartenpunktes (MP5; MP6; MP7) in einer Speicherungseinheit (20), wobei die Kartenpunkte (MP1 bis MP4, MP12) von dem weiteren Kartenpunkt (MP5; MP6; MP7) unterschieden werden.


 
2. Verfahren nach Anspruch 1, wobei
das Identifizieren Folgendes einschließt:

Bestimmen für jeden aus der Vielzahl charakteristischer Punkte (MP7 bis MP16), ob ein charakteristischer Zielpunkt (MP7; MP12) aus der Vielzahl charakteristischer Punkte und benachbarte charakteristische Punkte (MP8 bis MP11; MP13 bis MP16) auf einer selben Ebene in dem Bild verteilt sind oder nicht, und

Identifizieren des charakteristischen Zielpunktes (MP12) als einen Kartenpunkt aus den Kartenpunkten für jeden aus der Vielzahl charakteristischer Punkte, wenn der charakteristische Zielpunkt (MP12) und die benachbarten charakteristischen Punkte (MP13 bis MP16) auf derselben Ebene verteilt sind und

die benachbarten charakteristischen Punkte zu dem charakteristischen Zielpunkt benachbart angeordnet sind.
 
3. Verfahren nach Anspruch 1 oder 2, weiter umfassend:

Speichern von Bilddaten des Gebiets, das die Kartenpunkte einschließt, in einer Speicherungseinheit (20), und

wobei der Abgleich unter Verwendung der in der Speicherungseinheit (20) gespeicherten Bilddaten durchgeführt wird, wenn das weitere Bild erfasst ist.


 
4. Verfahren nach einem der vorstehenden Ansprüche, wobei
der weitere Abgleich basierend auf Prioritäten weiterer Kartenpunkte durchgeführt wird, die den weiteren Kartenpunkt (MP5; MP6; MP7) einschließen, und
die Prioritäten für die weiteren Kartenpunkte (MP5; MP6; MP7) basierend auf einer Positionsbeziehung zwischen einem ersten Kartenpunkt innerhalb der weiteren Kartenpunkte und einem zweiten Kartenpunkt berechnet werden, der in einem gewissen Abstand oder weniger von dem ersten Kartenpunkt entfernt ist.
 
5. Abschätzverfahren nach einem der Ansprüche 1 bis 3, wobei das Abschätzen (S206) unter Verwendung eines erfolgreich abgeglichenen charakteristischen Punktes aus der weiteren Vielzahl charakteristischer Punkte durchgeführt wird, der dem Abgleich oder dem weiteren Abgleich unterzogen wurde.
 
6. Verfahren nach Anspruch 5, wobei das Abschätzen (S206) unter Verwendung einer ersten Gruppe, die aus dem Abgleich erfolgreich hervorgeht, und einer zweiten Gruppe, die aus dem weiteren Abgleich erfolgreich hervorgeht, durchgeführt wird, wobei ein der ersten Gruppe beigemessenes Gewicht stärker wiegt als ein der zweiten Gruppe beigemessenes Gewicht.
 
7. Verfahren nach Anspruch 3, wobei dreidimensionale Positionen der Kartenpunkte von der Bildgebungsvorrichtung erfasst werden, die mit einem dreidimensionalen Abstandssensor versehen ist.
 
8. Verfahren nach einem der vorstehenden Ansprüche, wobei das weitere Bild nach dem Bild aufgenommen wird und
das Bild durch die Bildgebungsvorrichtung aufgenommen wird.
 
9. Programm, das bei Durchführung auf dem Computer (1) bewirkt, dass der Computer (1) das Verfahren nach einem der vorstehenden Ansprüche ausführt.
 
10. Vorrichtung (1) zum Abschätzen einer Position und einer Ausrichtung einer Bildgebungsvorrichtung, wobei die Vorrichtung (1) Folgendes umfasst:

eine Einheit zum Feststellen charakteristischer Punkte (41), die dazu ausgelegt ist, aus einem Bild eine Vielzahl charakteristischer Punkte (MP7 bis MP16) zu extrahieren, die eine gewisse Anforderung betreffend Änderungen der Graustufen zwischen der Vielzahl charakteristischer Punkte und der Umgebungspunkte erfüllen, und aus einem weiteren Bild eine weitere Vielzahl charakteristischer Punkte zu extrahieren, die die gewisse Anforderung erfüllen;

eine Einheit zum Einrichten von Kartenpunktinformationen (42), die zu Folgendem ausgelegt ist:

solche charakteristischen Punkte aus der Vielzahl charakteristischer Punkte, die auf Ebenen vorliegen, durch Ausschließen von Ecken eines auf dem Bild abgebildeten Objekts als Kartenpunkte (MP1 bis MP4, MP12) zu identifizieren;

einen charakteristischen Punkt aus der Vielzahl charakteristischer Punkte als einen weiteren Kartenpunkt (MP5; MP6; MP7) zu identifizieren, wobei der charakteristische Punkt (MP5; MP6; MP7) an einer Ecke des Objekts vorliegt;

eine Einheit zum Verarbeiten eines Abgleichs (44), die dazu ausgelegt ist, einen Abgleich der weiteren Vielzahl charakteristischer Punkte mit den Kartenpunkten (MP1 bis MP4, MP12) basierend auf einem Gebiet durchzuführen, das die Kartenpunkte einschließt, und einen weiteren Abgleich unter Verwendung des weiteren Kartenpunktes (MP5; MP6; MP7) durchzuführen, wenn die Zahl erfolgreich abgeglichener charakteristischer Punkte, die dem Abgleich unterzogen wurden, unterhalb eines gewissen Wertes liegt;

eine Abschätzeinheit (45), die dazu ausgelegt ist, basierend auf Ergebnissen des Abgleichs eine Position und eine Ausrichtung einer Bildgebungsvorrichtung abzuschätzen, während das weitere Bild aufgenommen wird; und

eine Speicherungseinheit (20), die dazu ausgelegt ist, die Kartenpunkte (MP1 bis MP4, MP12) und den weiteren Kartenpunkt (MP5; MP6; MP7) zu speichern, wobei die Kartenpunkte (MP1 bis MP4, MP12) von dem weiteren Kartenpunkt (MP5; MP6; MP7) unterschieden werden.


 
11. Vorrichtung, die dazu ausgelegt ist, einen Abgleich einer Vielzahl von Kartenpunkten mit einer Vielzahl charakteristischer Punkte durchzuführen, die aus einem durch eine Kamera aufgenommenen Bild extrahiert wurden, und eine Position und eine Ausrichtung der Kamera basierend auf Abweichungen erfolgreich abgeglichener charakteristischer Punkte aus der dem Abgleich unterzogenen charakteristischen Punkte von Punkten abzuschätzen, die durch Projizieren von Kartenpunkten erhalten wurden, die den erfolgreich abgeglichenen charakteristischen Punkten auf dem Bild entsprechen, umfassend:

eine Bestimmungseinheit, die dazu ausgelegt ist, Formen von Gebieten zu identifizieren, die jeweils einen gewissen Bereich aufweisen und einen gewissen Kartenpunkt innerhalb der Vielzahl von Kartenpunkten einschließen, und zu bestimmen, ob die Formen Ebenen sind oder nicht; und

eine Justiereinheit, die dazu ausgelegt ist, Beiträge aus der Vielzahl von Kartenpunkten zu einer Abschätzung der Position und der Ausrichtung der Kamera zu justieren,

wobei die justierten Beiträge von in einem ebenen Gebiet eingeschlossenen Kartenpunkten zu der Abschätzung der Position und der Ausrichtung der Kamera größer sind als die justierten Beiträge von anderen, in einem nicht ebenen Gebiet eingeschlossenen Kartenpunkten zu der Abschätzung der Position und der Ausrichtung der Kamera.


 


Revendications

1. Procédé d'estimation d'une position et d'une orientation d'un dispositif d'imagerie, le procédé comprenant :

l'extraction (S002, S004), à partir d'une image, d'une pluralité de points caractéristiques (MP7 à MP16) satisfaisant une certaine exigence concernant des changements de niveaux de gris entre la pluralité de points caractéristiques et des points environnants ;

l'identification (S009), en tant que points de carte (MP1 à MP4, MP12) à partir de la pluralité de points caractéristiques, de points caractéristiques existant sur des plans, par exclusion des coins d'un objet illustré sur l'image ;

l'identification, en tant qu'autre point de carte (MP5; MP6; MP7), d'un point caractéristique parmi la pluralité de points caractéristiques, le point caractéristique (MP5 ; MP6 ; MP7) existant au niveau d'un coin de l'objet ;

l'extraction (S202), à partir d'une autre image, d'une autre pluralité de points caractéristiques satisfaisant la certaine exigence ;

l'exécution d'un appariement (S205) de l'autre pluralité de points caractéristiques avec les points de carte (MP1 à MP4, MP12) sur la base d'une région incluant les points de carte, et d'un autre appariement à l'aide de l'autre point de carte (MP5 ; MP6; MP7) lorsque le nombre de points caractéristiques appariés avec succès qui ont été soumis à l'appariement est plus petit qu'une certaine valeur ;

l'estimation (S206), sur la base de résultats de l'appariement, d'une position et d'une orientation d'un dispositif d'imagerie pendant que l'autre image est capturée ; et

le stockage des points de carte (MP1 à MP4, MP12) et de l'autre point de carte (MP5 ; MP6 ; MP7) dans une unité de stockage (20) pendant la distinction des points de carte (MP1 à MP4, MP12) de l'autre point de carte (MP5 ; MP6 ; MP7).


 
2. Procédé selon la revendication 1, dans lequel
l'identification inclut :

la détermination, pour chacun de la pluralité de points caractéristiques (MP7 à MP16), qu'un point caractéristique cible (MP7 ; MP12) parmi la pluralité de points caractéristiques et des points caractéristiques adjacents (MP8 à MP11 ; MP13 à MP16) sont distribués ou non sur un même plan dans l'image, et

l'identification, pour chacun de la pluralité de points caractéristiques, du point caractéristique cible (MP12) en tant que point de carte parmi les points de carte lorsque le point caractéristique cible (MP12) et les points caractéristiques adjacents (MP13 à MP16) sont distribués sur le même plan, et

les points caractéristiques adjacents sont situés adjacents au point caractéristique cible.
 
3. Procédé selon la revendication 1 ou 2, comprenant en outre :

le stockage de données d'image de la région incluant les points de carte dans une unité de stockage (20), et

dans lequel l'appariement est exécuté à l'aide des données d'image stockées dans l'unité de stockage (20) lorsque l'autre image est acquise.


 
4. Procédé selon l'une quelconque des revendications précédentes, dans lequel
l'autre appariement est exécuté sur la base de priorités d'autres points de carte incluant l'autre point de carte (MP5 ; MP6 ; MP7), et
les priorités sont calculées pour les autres points de carte (MP5 ; MP6 ; MP7) sur la base d'une relation de position entre un premier point de carte parmi les autres points de carte et un second point de carte qui est espacé d'une certaine distance ou moins du premier point de carte.
 
5. Procédé d'estimation selon l'une quelconque des revendications 1 à 3, dans lequel l'estimation (S206) est exécutée à l'aide d'un point caractéristique apparié avec succès, parmi l'autre pluralité de points caractéristiques, qui a été soumis à l'appariement ou à l'autre appariement.
 
6. Procédé selon la revendication 5, dans lequel l'estimation (S206) est exécutée à l'aide d'un premier groupe qui réussit l'appariement et d'un second groupe qui réussit l'autre appariement, pendant qu'une pondération ajoutée au premier groupe est plus grande qu'une autre pondération ajoutée au second groupe.
 
7. Procédé selon la revendication 3, dans lequel des positions tridimensionnelles des points de carte sont acquises à partir du dispositif d'imagerie équipé d'un capteur de distance tridimensionnel.
 
8. Procédé selon l'une quelconque des revendications précédentes, dans lequel l'autre image est capturée à la suite de l'image, et
l'image est capturée par le dispositif d'imagerie.
 
9. Programme qui, lorsqu'il est exécuté sur l'ordinateur (1), amène l'ordinateur (1) à effectuer le procédé selon l'une quelconque des revendications précédentes.
 
10. Dispositif (1) d'estimation d'une position et d'une orientation d'un dispositif d'imagerie, le dispositif (1) comprenant :

une unité de détection de point caractéristique (41) configurée pour extraire, à partir d'une image, une pluralité de points caractéristiques (MP7 à MP16) satisfaisant une certaine exigence concernant des changements de niveaux de gris entre la pluralité de points caractéristiques et des points environnants, et pour extraire, à partir d'une autre image, une autre pluralité de points caractéristiques satisfaisant la certaine exigence ;

une unité de réglage d'informations de point de carte (42) configurée pour :

identifier, en tant que points de carte (MP1 à MP4, MP12) à partir de la pluralité de points caractéristiques, des points caractéristiques existant sur des plans, par exclusion de coins d'un objet illustré sur l'image ; et

identifier, en tant qu'autre point de carte (MP5 ; MP6; MP7), un point caractéristique parmi la pluralité de points caractéristiques, le point caractéristique (MP5 ; MP6 ; MP7) existant au niveau d'un coin de l'objet ;

une unité de traitement d'appariement (44) configurée pour exécuter un appariement de l'autre pluralité de points caractéristiques avec les points de carte (MP1 à MP4, MP12) sur la base d'une région incluant les points de carte, et exécuter un autre appariement à l'aide de l'autre point de carte (MP5 ; MP6 ; MP7) lorsque le nombre de points caractéristiques appariés avec succès, qui ont été soumis à l'appariement, est plus petit qu'une certaine valeur ;

une unité d'estimation (45) configurée pour estimer, sur la base de résultats de l'appariement, une position et une orientation d'un dispositif d'imagerie pendant que l'autre image est capturée ; et

une unité de stockage (20) configurée pour stocker les points de carte (MP1 à MP4, MP12) et l'autre point de carte (MP5; MP6; MP7) pendant la distinction des points de carte (MP1 à MP4, MP12) de l'autre point de carte (MP5 ; MP6 ; MP7).


 
11. Dispositif configuré pour exécuter un appariement d'une pluralité de points de carte avec une pluralité de points caractéristiques extraits à partir d'une image capturée par une caméra, et estimer une position et une orientation de la caméra sur la base d'écarts de points caractéristiques, appariés avec succès parmi les points caractéristiques soumis à l'appariement, par rapport à des points obtenus par projection de points de carte correspondant aux points caractéristiques appariés avec succès sur l'image, comprenant :

une unité de détermination configurée pour identifier des formes de régions ayant chacune une certaine étendue et incluant un certain point de carte parmi la pluralité de points de carte et déterminer si les formes sont ou non des plans ; et

une unité d'ajustement configurée pour ajuster des contributions à partir de la pluralité de points de carte à une estimation de la position et de l'orientation de la caméra,

dans lequel les contributions, ajustées à partir de points de carte inclus dans une région plane, à l'estimation de la position et de l'orientation de la caméra sont plus grandes que les contributions, ajustées à partir d'autres points de carte inclus dans une région non plane, à l'estimation de la position et de l'orientation de la caméra.


 




Drawing













































































Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description




Non-patent literature cited in the description