Information processing apparatus, information processing method, and program

The information processing device and method address the challenge of determining a suitable threshold in RANSAC by classifying error spaces and updating geometric parameter estimates, resulting in improved accuracy for separating outliers and inliers.

JP2025076647APending Publication Date: 2025-05-16NEC CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023188378
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-02
Publication Date
2025-05-16

AI Technical Summary

Technical Problem

In RANSAC, determining an appropriate threshold for separating inliers and outliers is challenging due to the unknown probability distribution of inliers, leading to potential inaccuracies in estimating geometric parameters.

Method used

An information processing device and method that estimates provisional geometric parameters, calculates errors, determines a threshold by classifying the logarithmic space of errors, and updates the best geometric parameters and inlier count based on increasing error counts below the threshold.

Benefits of technology

This approach allows for accurate separation of outliers and inliers in RANSAC, improving the estimation of geometric parameters by automatically determining the threshold value.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025076647000001_ABST
    Figure 2025076647000001_ABST
Patent Text Reader

Abstract

To make it possible to determine a threshold value for separating between outliers and inliers in RANSAC.SOLUTION: An information processing apparatus includes: an estimating unit that estimates, using sample points extracted from a plurality of data points, tentative geometric parameters that fit the sample points; an error calculating unit that calculates errors between the plurality of data points and the tentative geometric parameters; a threshold value determining unit that calculates a boundary value for classifying a logarithmic space of the calculated errors into two or more classes, and determines a threshold value by transforming the calculated boundary value; and an updating unit that counts a number of inliers for which the calculated errors are less than or equal to the calculated threshold value, and when the number of inliers counted increases, updates current best geometric parameters and a current best number of inliers with the tentative geometric parameters and the number of inliers.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an information processing device, an information processing method, and a program for estimating a geometric parameter. [Background technology]

[0002] Techniques for estimating geometric parameters that fit multiple data points are used in fields such as statistics, signal processing, and computer vision. Examples of geometric parameters include lines, ellipses, planes, spheres, hyperplanes, etc. In computer vision, examples of geometric parameters include camera positions and projective transformations.

[0003] However, data points generally contain observation noise. In such cases, it is known that the least squares method, which assumes that the probability distribution of the observation noise is a normal distribution with an expected value of zero, is statistically optimal (or maximum likelihood estimation) as a method for estimating geometric parameters from multiple data points. Statistically optimal means that the error (or distance) between the multiple data points and the calculated geometric parameters is minimal under a normal distribution.

[0004] As a method for estimating geometric parameters from data points, it is known that the least absolute value method is the maximum likelihood estimation method when the probability distribution of the observation noise is assumed to be a Laplace distribution. Furthermore, when the probability distribution is unknown, it is known that the geometric parameters can be estimated from data points using a normal distribution, following the empirical rule that most natural phenomena follow a normal distribution.

[0005] Here, when estimating geometric parameters from data points, data points that follow a probability distribution assumed in advance are called inliers, and data points that do not follow the probability distribution are called outliers.

[0006] Outliers are generated, for example, by unusual individuals, the observation limits of measuring instruments, etc. For example, when an image is captured by a camera, pixel values ​​are discretized, so values ​​that are above or below the sampling limit may be unusual values.

[0007] If even one such outlier that does not follow a normal distribution is present in the data points, the least squares method estimates geometric parameters that fit the outlier, and the accuracy of fitting the geometric parameters to many inliers decreases.

[0008] As a related technique, Non-Patent Document 1 discloses M-estimation and RANSAC (Random Sample Consensus) as a method for estimating geometric parameters with high accuracy by removing outliers. M-estimation is also called weighted least squares method, and estimates parameters by weighting so that the larger the error of a data point is, the smaller the contribution rate is.

[0009] As a related technique, Patent Document 1 discloses M-estimation that automatically adjusts the threshold of a weighting function. However, stable convergence of M-estimation depends heavily on the initial values ​​of parameters. Therefore, depending on the initial values, outliers may not be completely removed, resulting in convergence to inaccurate parameters.

[0010] RANSAC randomly extracts the minimum number of samples required for parameter estimation from the input data points, estimates the parameters, and calculates the error with all data points. Data points with an error smaller than a predefined threshold are then counted as inliers, and data points with an error larger than a predefined threshold are counted as outliers. After repeating the above random sampling and error calculation a certain number of times, the parameter with the most inliers is determined to be the best value.

[0011] As a related technique, Patent Document 2 discloses a method for estimating the relative position and orientation of a camera from two images as an example of using RANSAC.

[0012] As a related technique, Non-Patent Document 2 discloses LO-RANSAC, which stabilizes the convergence of RANSAC by performing the least squares method using provisional inliers during the iterations. [Prior art documents] [Patent documents]

[0013] [Patent Document 1] Patent No. 6954346 [Patent Document 2] Patent No. 6571225 [Non-patent literature]

[0014] [Non-Patent Document 1] MA Fischler and RC Bolles, "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography" [online], July 1981, Communications of the ACM(Association for Computing Machinery), vol.24, no.6, pp.381-395, 1981. [Retrieved October 23, 2023], Internet<URL:https: / / doi.org / 10.1145 / 358669.358692> [Non-Patent Document 2] O. Chum, J. Matas, and J. Kittler, "Locally optimized RANSAC", [online], September 2003, Pattern Recognition: 25th DAGM Symposium, Magdeburg, Germany, September 10-12, 2003. Proceedings 25. Springer Berlin Heidelberg, 2003. [Retrieved October 23, 2023], Internet<URL:https: / / doi.org / 10.1007 / 978-3-540-45243-0_31> Summary of the Invention [Problem to be solved by the invention]

[0015] However, in RANSAC, since the probability distribution of the actual inliers is unknown, it is difficult to determine an appropriate threshold in advance.

[0016] Specifically, if the threshold is inappropriate, inliers and outliers will be erroneously determined, lowering the accuracy of the estimation of geometric parameters. In addition, empirical values ​​are generally used as the threshold. For example, in the case of straight line fitting on an image, the geometric distance between a point and a straight line is set to 3 pixels or less.

[0017] However, in reality, if the image resolution is high, one pixel may be appropriate, and if the point error is large, five pixels may be appropriate. Also, the unit of error is not necessarily intuitive, like pixel values. For example, if the parameter to be calculated is a hyperplane, a unitless scale called algebraic distance is used. Because this scale is unrealistic, unlike image pixels, it is difficult to determine the threshold value empirically or intuitively in advance.

[0018] One example of the objective of this disclosure is to determine a threshold that separates outliers and inliers in RANSAC. [Means for solving the problem]

[0019] In order to achieve the above object, an information processing device according to one aspect of the present disclosure includes: an estimation unit that estimates provisional geometric parameters that fit sample points extracted from a plurality of data points using the sample points; an error calculation unit that calculates an error between the plurality of data points and the provisional geometric parameters; a threshold value determination unit that calculates a boundary value for classifying the logarithmic space of the calculated error into two or more classes, and converts the calculated boundary value to determine a threshold value; an update unit that counts up a number of inliers whose calculated error is equal to or smaller than the calculated threshold value, and when the counted number of inliers increases, updates a current best geometric parameter and a current best number of inliers to the tentative geometric parameter and the inlier number; It is characterized by having:

[0020] In order to achieve the above object, an information processing method according to one aspect of the present disclosure includes: The information processing device includes: Using sample points extracted from the plurality of data points, estimate provisional geometric parameters that fit the sample points; Calculating an error between the plurality of data points and the provisional geometric parameters; Calculating a boundary value for classifying the logarithmic space of the calculated error into two or more classes, and converting the calculated boundary value to determine a threshold value; counting up the number of inliers whose calculated error is equal to or less than the calculated threshold value, and if the counted number of inliers increases, updating the current best geometric parameters and the current best number of inliers to the provisional geometric parameters and the number of inliers; It is characterized by:

[0021] Furthermore, in order to achieve the above object, a program according to one aspect of the present disclosure includes: On the computer, using sample points extracted from the plurality of data points to estimate provisional geometric parameters that fit the sample points; Calculating an error between the plurality of data points and the provisional geometric parameters; Calculating boundary values ​​for classifying the calculated logarithmic space of the errors into two or more classes, and converting the calculated boundary values ​​to determine a threshold value; counting up the number of inliers whose calculated error is equal to or less than the calculated threshold value, and when the counted number of inliers increases, updating the current best geometric parameters and the current best number of inliers to the provisional geometric parameters and the number of inliers; It is characterized by: Effect of the Invention

[0022] As described above, according to the present disclosure, it is possible to determine a threshold value for separating outliers and inliers in RANSAC. [Brief description of the drawings]

[0023] [Figure 1] FIG. 1 is a diagram illustrating an example of an information processing device. [Diagram 2] FIG. 2 is a diagram illustrating an example of a system having an information processing device. [Diagram 3] FIG. 3 is a diagram illustrating an example of the operation of the information processing device. [Figure 4] FIG. 4 is a diagram for explaining the effect. [Diagram 5] FIG. 5 is a diagram illustrating an example of a computer that realizes an information processing device in the embodiment and the modified example. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0024] Hereinafter, an embodiment will be described with reference to the drawings. In the drawings described below, elements having the same or corresponding functions are denoted by the same reference numerals, and repeated description thereof may be omitted.

[0025] (Embodiment) The configuration of an information processing device in an embodiment will be described with reference to Fig. 1. Fig. 1 is a diagram for explaining an example of an information processing device.

[0026] [Device configuration] The information processing device 10 shown in Fig. 1 is a device (geometric parameter estimation device) that calculates a threshold for separating points corresponding to a plurality of data into inliers and outliers, and estimates geometric parameters that fit the inliers. The information processing device 10 shown in Fig. 1 includes an estimation unit 11, an error calculation unit 12, a threshold determination unit 13, and an update unit 14.

[0027] The estimation unit 11 uses sample points extracted from a plurality of data points to estimate provisional geometric parameters that fit the sample points. The error calculation unit 12 calculates the error between the plurality of data points and the provisional geometric parameters. The threshold determination unit 13 calculates a boundary value for classifying the logarithmic space of the calculated error into two or more classes, and converts the boundary value to determine a threshold. The update unit 14 counts up the number of inliers whose calculated error is equal to or less than the threshold, and updates the current best geometric parameters and the current best number of inliers to the provisional geometric parameters and the number of inliers when the number of inliers counted increases.

[0028] In this manner, in the embodiment, the current best geometric parameters and the current best number of inliers are updated to the provisional geometric parameters and the number of inliers counted, so that a threshold for classifying inliers and outliers can be determined in RANSAC.

[0029] [System Configuration] Next, the configuration of the information processing device 10 in the embodiment will be described in more detail with reference to Fig. 2. Fig. 2 is a diagram showing an example of a system having an information processing device. The system has the information processing device 10, a terminal device (or a storage device) 20, and an output device 30. The information processing device 10, the storage device 20, and the output device 30 are electrically connected via a communication network.

[0030] The information processing device 10 is, for example, an information processing device such as a CPU (Central Processing Unit), a programmable device such as an FPGA (Field-Programmable Gate Array), a GPU (Graphics Processing Unit), or a circuit equipped with any one or more of them, a server computer, a personal computer, a mobile terminal, or the like.

[0031] The terminal device 20 is, for example, an information processing device such as a personal computer or a mobile terminal equipped with a CPU, an FPGA, or both. The terminal device 20 may also be a storage device. The storage device may be a database, a server computer, a circuit having a memory, or the like. In the example of FIG. 2, the storage device is provided outside the information processing device 10, but may be provided inside the information processing device 10.

[0032] The output device 30 acquires output information, which will be described later, that has been converted into an outputtable format, and outputs generated images and sounds based on the output information. The output device 30 is, for example, an image display device using a liquid crystal, an organic EL (Electro Luminescence), or a CRT (Cathode Ray Tube). Furthermore, the image display device may also include an audio output device such as a speaker. The output device 30 may also be a printing device such as a printer.

[0033] The network is a general network constructed using communication lines such as the Internet, a LAN (Local Area Network), a dedicated line, a telephone line, an in-house network, a mobile communication network, Bluetooth (registered trademark), or Wi-Fi (Wireless Fidelity) (registered trademark).

[0034] As shown in FIG. 2, the information processing device 10 in the embodiment has an extraction unit 15, an estimation unit 11, an error calculation unit 12, a threshold determination unit 13 (classification unit 13a, conversion unit 13b), an update unit 14, and an output information generation unit 16.

[0035] The extraction unit 15 extracts sample points from a plurality of data points. Specifically, the extraction unit 15 first acquires a plurality of data points and information required for parameter estimation from the terminal device 20 or the like. Next, the extraction unit 15 extracts sample points from the plurality of data points by a preset extraction process. The extraction process extracts sample points at random, for example.

[0036] Information necessary for parameter estimation includes, for example, the minimum number of sample points, the initial value of the best number of inliers, and the upper limit of the number of iterations.

[0037] The minimum number of sample points is, for example, two points if the estimated parameters are a line, and three points if they are a plane. The initial value of the best inlier number is a number larger than the minimum number of sample points. This is because the provisional geometric parameters are perfectly matched to the sample points, and the error is theoretically zero.

[0038] The upper limit of the number of iterations is the upper limit of the number of iterations of the series of processes executed by the extraction unit 15, the estimation unit 11, the error calculation unit 12, the threshold determination unit 13 (the classification unit 13a and the conversion unit 13b), and the update unit .

[0039] The estimation unit 11 estimates provisional geometric parameters that match the sample points by using the extracted sample points. Specifically, the estimation unit 11 estimates provisional geometric parameters (provisional model) that match the randomly extracted sample points by using, for example, a minimal solution method, a least squares method, or the like.

[0040] The error calculation unit 12 calculates errors between the multiple data points and the provisional geometric parameters. Specifically, the error calculation unit 12 first acquires the estimated provisional geometric parameters from the estimation unit 11. Next, the error calculation unit 12 calculates errors (geometric errors or algebraic errors) between the provisional geometric parameters and the multiple data points.

[0041] For example, if the estimated provisional geometric parameters (provisional model) are an ellipse, the error can be defined as a geometric error or an algebraic error. Users may also select either one depending on the calculation cost and implementation form. For example, the geometric error of an ellipse is defined by a fourth-order equation for each sample point, so the calculation cost is high, while the algebraic error is defined by the inner product of a five-dimensional vector, so the calculation cost is low. Therefore, implementation using algebraic error is suitable for applications that prioritize speed over accuracy.

[0042] The threshold determination unit 13 calculates boundary values ​​(class discrimination boundary values) for classifying the logarithmic space of the calculated errors into two or more classes, and converts the calculated boundary values ​​to determine threshold values.

[0043] Specifically, the classification unit 13a of the threshold determination unit 13 first obtains the errors calculated by the error calculation unit 12. Next, the classification unit 13a of the threshold determination unit 13 calculates the logarithm of each error, classifies the logarithmic error distribution, and calculates boundary values. Next, the conversion unit 13b of the threshold determination unit 13 converts the boundary values ​​in the logarithmic error space into values ​​in the original error distribution, and sets the converted values ​​as thresholds.

[0044] For the classification, for example, the K-means method, the EM (Expectation Maximization) algorithm, linear discriminant analysis, logistic regression, etc. are used.

[0045] When the number of inliers (inlier count) for which the calculated error is less than or equal to the calculated threshold value increases from the current best inlier count, the update unit 14 updates the current best geometric parameters and the current best inlier count to the provisional geometric parameters and the number of inliers (inlier count) counted up.

[0046] Specifically, the update unit 14 first counts up the number of inliers whose calculated error is equal to or smaller than a threshold value, and then, if the number of inliers exceeds the current best number of inliers, the update unit 14 updates the current tentative geometric parameters and the current best number of inliers to the geometric parameters and the counted number of inliers.

[0047] The information processing device 10 repeats a series of processes executed by the estimation unit 11, error calculation unit 12, threshold determination unit 13, and update unit 14 until the number of iterations reaches a preset upper limit value. Next, when the upper limit is reached, the best parameters are output and the operation is terminated.

[0048] The output information generating unit 16 generates output information to be displayed on the output device 30 by combining at least one of a plurality of data points, sample points, inliers, outliers, thresholds, geometric parameters, and the number of inliers. Then, the output information generating unit 16 outputs the output information to the output device 30.

[0049] [Device operation] Next, the operation of the information processing device in the embodiment will be described with reference to FIG. 3. FIG. 3 is a diagram for explaining an example of the operation of the information processing device. In the following description, the diagram will be referred to as appropriate. Also, in the embodiment, an information processing method is implemented by operating the information processing device. Therefore, the description of the information processing method in the embodiment will be replaced with the description of the operation of the information processing device below.

[0050] 3, the extraction unit 15 extracts sample points from a plurality of data points (step A1). Specifically, in step A1, the extraction unit 15 first acquires a plurality of data points and information required for parameter estimation from the terminal device 20 or the like. Next, the extraction unit 15 randomly extracts sample points from the plurality of data points.

[0051] Next, the estimation unit 11 estimates provisional geometric parameters that fit the sample points by using the extracted sample points (step A2). Specifically, in step A2, the estimation unit 11 estimates provisional geometric parameters (provisional model) that fit the randomly extracted sample points by using the least squares method or the like.

[0052] Next, the error calculation unit 12 calculates errors between the multiple data points and the provisional geometric parameters (step A3). Specifically, in step A3, the error calculation unit 12 first acquires the estimated provisional geometric parameters from the estimation unit 11. Next, in step A3, the error calculation unit 12 calculates errors (geometric errors or algebraic errors) between the provisional geometric parameters and the multiple data points.

[0053] Next, the threshold determination unit 13 calculates boundary values ​​(class discrimination boundary values) for classifying the logarithmic space of the calculated errors into two or more classes, and converts the calculated boundary values ​​to determine threshold values ​​(step A4).

[0054] Specifically, in step A4, the classification unit 13a of the threshold determination unit 13 first acquires the errors calculated by the error calculation unit 12. Next, in step A4, the classification unit 13a of the threshold determination unit 13 calculates the logarithm of each error, classifies the logarithmic error distribution, and calculates boundary values. Next, in step A4, the conversion unit 13b of the threshold determination unit 13 converts the boundary values ​​in the logarithmic error space into values ​​in the original error distribution, and sets the converted values ​​as thresholds.

[0055] Next, if the number of inliers (inlier count) for which the calculated error is less than or equal to the calculated threshold value increases from the current best inlier count, the update unit 14 updates the current best geometric parameters and the current best inlier count to the provisional geometric parameters and the number of inliers (inlier count) (step A5).

[0056] Specifically, in step A5, the update unit 14 first counts up the number of inliers whose calculated error is equal to or smaller than a threshold value. Next, in step A5, if the number of inliers exceeds the current best number of inliers, the update unit 14 updates the current tentative geometric parameters and the current best number of inliers to the geometric parameters and the number of inliers.

[0057] Next, the information processing device 10 repeats the processes from steps A1 to A5 until the number of iterations reaches the upper limit (step A6). Specifically, if the number of iterations is not the upper limit (step A6: No), the process proceeds to step A1. If the number of iterations is the upper limit (step A6: Yes), the process proceeds to step A1.

[0058] Next, the output information generation unit 16 combines at least one or more of the data points, sample points, inliers, outliers, thresholds, geometric parameters, and the number of inliers to generate output information to be displayed on the output device 30. Thereafter, the output information generation unit 16 outputs the output information to the output device 30 (step A7).

[0059] (Example) A specific example of the embodiment will be described. In this embodiment, the geometric parameters to be estimated are a two-dimensional straight line Θ=[a, b, c], and the i-th data point is p i =[x i ,y i ], and the error of the i-th data point relative to the line Θ is ε i (x i ;Θ)=|a×x i +b×y i +c| / sqrt(a 2 +b 2 )

[0060] In addition, the provisional geometric parameters are temp , the best parameters are Θ best , the number of inliers is N temp , the number of best inliers is N best , the threshold is λ, and the upper limit of the number of iterations is I max Since it is a straight line, the minimum number of sample points is s = 2. Also, the initial value of the best inlier number is N best =s+1=3. For two-class classification, we use the K-means method.

[0061] The operation of this embodiment will now be described. First, in step A2, the estimation unit 11 randomly selects two sample points x from a plurality of data points. j , x kSelect and click x j and x k A straight line Θ temp Calculate.

[0062] Next, in step A3, the error calculation unit 12 calculates the errors ε i Calculate.

[0063] Next, in step A4, the threshold determination unit 13 calculates the logarithm of each error, and the logarithmic error log(|ε i |) and classify it into two classes. Then, we use the decision boundary value in the logarithmic error space to determine the original error distribution ε i and the converted value is determined as the threshold λ.

[0064] Next, in step A5, the update unit 14 updates ε i < λ i are judged to be inliers, and the total number of inliers is called the inlier number N temp Then, N temp >N best If so, Θ best ←Θ temp , N temp ←N best and update.

[0065] Next, the information processing device 10 checks whether the number of executions (repetitions) of steps A1 to A5 is an upper limit value I max If the upper limit value has not been reached, the process of steps A1 to A5 is repeated again.

[0066] On the other hand, when the number of iterations reaches the upper limit, the output information generating unit 16 outputs at least a plurality of data points, sample points, inliers, outliers, the threshold λ, and the geometric parameters (Θ temp , Θ best , the number of inliers (N temp , N best ), and generates output information to be displayed on the output device 30. After that, the output information generating unit 16 outputs the output information to the output device 30.

[0067] [Effects of the embodiment] As described above, according to the embodiment, when estimating parameters that fit multiple data points using RANSAC, a threshold for separating outliers and inliers can be automatically determined. As a result, outliers and inliers can be separated with high accuracy, and parameters that fit inliers can be estimated with high accuracy.

[0068] FIG. 4 is a diagram for explaining the effect. FIG. 4 shows the best parameter Θ best The squared error ε of each data point for i 2 and logarithmic error log(|ε i The histograms (frequency values) of the squared errors are shown below. First, the histogram of the squared errors is explained.

[0069] In Figure 4A, the frequency of inliers is on the left side where the error is small (ε i <λ), while the outliers are concentrated in the region i > λ. This is because the distribution of outliers is not restricted and can take many values. In practice, the optimal threshold λ is unknown a priori, so it is not obvious whether a data point is an inlier or an outlier.

[0070] Therefore, if we plot the histogram of squared error, it will be a distribution that combines the line indicating inliers and the dotted line indicating outliers in Figure 4A. The distribution of outliers has a very broad base, a so-called long-tail distribution, and its peak value is not clear. Therefore, it is not easy to separate the combined distribution of inliers and outliers into two classes and determine the threshold λ that is the boundary between them.

[0071] Next, by applying a logarithm to the combined distribution to narrow the range, a histogram like that shown in Figure 4B is obtained. With the range narrowed, inliers and outliers are distributed as two clusters, each with a clear peak. Therefore, if any class discriminator is used, a logarithmic threshold (log λ) can be obtained as the discrimination boundary. For convenience, in Figure 4B, inliers and outliers are depicted as having a normal distribution, but this does not necessarily have to be the case. As long as they can be separated into inliers and outliers, it is not necessary to be able to approximate them with any distribution function. Therefore, a variety of classifiers can be used.

[0072] The above observations are based on the unknown best parameter Θ best Since this is a histogram for N best Θ where is the maximum best The effect of the embodiment can be achieved by searching for the above.

[0073] [Variations] This embodiment is not limited to the above-mentioned example. This embodiment can be modified in various ways that can be understood by a person skilled in the art to the above-mentioned example. For example, this embodiment can be implemented in the following modified examples.

[0074] (Variation 1) The embodiment can be applied to various derived methods of RANSAC and is not limited to the original RANSAC. For example, it may be combined with LO-RANSAC described in Non-Patent Document 1.

[0075] (Variation 2) The threshold value determination unit 13 applies a predetermined probability distribution to the classified classes and determines a provisional threshold value from the statistics.

[0076] The method of determining the threshold is not limited to the above embodiment. For example, since the determination of inliers and outliers may be uncertain near the boundary value of the cluster, the boundary value may be multiplied by a value smaller than 1 (0.9, 0.8, etc.) to provide a margin.

[0077] Also, for example, the original error distribution (ε i ) is assumed to be normally distributed, and the error ε i The threshold value may be μ+βσ, where μ is the mean value μ and σ is the standard deviation. β is a constant that determines the confidence interval of the normal distribution. For example, if β=2, it will include approximately 95% of the data points that are determined to be inliers.

[0078] In addition, in order to prevent the threshold λ from being too small or too large, the minimum threshold λ is set in advance, such as when the error unit is a pixel value. min or maximum threshold λ max In cases where it is possible to estimate, the estimated threshold λ is λ min <λ<λ max In the case of pixel values, λ min =0.5 [pixels] and λ max = 20 [pixels], or the angle between two vectors, λ min =1[degrees] and λ max =10[degrees].

[0079] (Variation 3) The threshold determination unit 13 determines whether the calculated threshold λ is equal to or smaller than a minimum threshold λ determined in advance. min and the maximum threshold λ max If the threshold value λ is within the range, the threshold value λ is output. If the threshold value λ is outside the range, the minimum threshold value λ is output. min Or the maximum threshold λ max Furthermore, if the number of inliers smaller than the previous maximum threshold or a threshold determined in advance is greater than the minimum number of sample points, the threshold determination unit 13 classifies the class.

[0080] For example, the threshold determination unit 13 calculates the logarithmic error log(|ε i A pre-determined maximum threshold λ maxThen, from among the provisional inliers, data points for performing the minimum number of sample points or the least squares method are randomly extracted, and the provisional geometric parameters are calculated again. After that, a provisional threshold value may be calculated by classifying the logarithmic errors of multiple data points.

[0081] As disclosed in Non-Patent Document 1, the probability that all randomly extracted sample points are inliers is not high. In Modification 3, since it is not necessary to execute class classification (operate the classifier) ​​every time, the amount of calculation can be reduced and the device operation can be accelerated.

[0082] (Variation 4) Upper limit of iterations I max does not have to be a fixed value. When the best inlier is updated in step SA5, the upper limit I is set based on the proportion of the inlier among the multiple data points. max may be changed.

[0083] (Variation 5) In the fifth modification, the error calculation unit 12 uses a plurality of error functions to calculate the error between a plurality of data points and the provisional geometric parameters for each error function. The threshold determination unit 13 determines a threshold for each calculated error. The update unit 14 then counts up the number of inliers for each threshold, and updates the number of inliers when all or any one of the counted numbers of inliers increases.

[0084] As described above, the error calculation unit 12 does not have to use only one error function. For example, an algebraic error and a geometric error may be used in combination to calculate the error for each of them. In this case, the threshold determination unit 13 determines a threshold for each error. The update unit 14 may determine as provisional inliers those data points for which all, any one, or the majority of the errors are equal to or less than the threshold.

[0085] In addition, when multiple algebraic or geometric errors can be defined, they may be used together. For example, multiple geometric errors (one-sided transformation error, symmetric transformation error, reprojection error) exist in the planar projective transformation of an image.

[0086] (Variation 6) The classifier used in the threshold determination unit 13 is not limited to a two-class classifier. For example, since there is a possibility that the outliers have a distribution with multiple peaks, a multi-class classifier may be used.

[0087] [program] The program in the embodiment and the modified example may be a program that causes a computer to execute steps A1 to A7 shown in Fig. 3. By installing and executing this program in a computer, the information processing device and the information processing method in the embodiment can be realized. In this case, the processor of the computer functions as the extraction unit 15, the estimation unit 11, the error calculation unit 12, the threshold determination unit 13 (classification unit 13a, conversion unit 13b), the update unit 14, and the output information generation unit 16, and performs the processing.

[0088] The program in the embodiment may be executed by a computer system constructed by a plurality of computers. In this case, for example, each computer may function as any one of the extracting unit 15, the estimating unit 11, the error calculating unit 12, the threshold determining unit 13 (classifying unit 13a, converting unit 13b), the updating unit 14, and the output information generating unit 16.

[0089] [Physical configuration] Here, a computer that realizes an information processing device by executing a program in the embodiment and the modified example will be described with reference to Fig. 5. Fig. 5 is a diagram for explaining an example of a computer that realizes an information processing device in the embodiment and the modified example.

[0090] 5, the computer 110 includes a CPU (Central Processing Unit) 111, a main memory 112, a storage device 113, an input interface 114, a display controller 115, a data reader / writer 116, and a communication interface 117. These components are connected to each other via a bus 121 so as to be able to communicate data with each other. Note that the computer 110 may include a GPU or an FPGA in addition to the CPU 111 or instead of the CPU 111.

[0091] The CPU 111 loads a program in the embodiment, which is composed of a group of codes and is stored in the storage device 113, into the main memory 112, and executes each code in a predetermined order to perform various calculations. The main memory 112 is typically a volatile storage device such as a DRAM (Dynamic Random Access Memory).

[0092] Moreover, the program in the embodiment is provided in a state stored in a computer-readable recording medium 120. Note that the program in the embodiment may be distributed on the Internet connected via the communication interface 117.

[0093] Specific examples of the storage device 113 include a hard disk drive and a semiconductor storage device such as a flash memory. The input interface 114 mediates data transmission between the CPU 111 and input devices 118 such as a keyboard and a mouse. The display controller 115 is connected to a display device 119 and controls the display on the display device 119.

[0094] Data reader / writer 116 mediates data transmission between CPU 111 and recording medium 120, reads programs from recording medium 120, and writes processing results in computer 110 to recording medium 120. Communication interface 117 mediates data transmission between CPU 111 and other computers.

[0095] Specific examples of recording medium 120 include general-purpose semiconductor storage devices such as CF (Compact Flash (registered trademark)) and SD (Secure Digital), magnetic recording media such as a flexible disk, or optical recording media such as a CD-ROM (Compact Disk Read Only Memory).

[0096] The information processing device 10 in the embodiment can be realized not by a computer with a program installed, but by hardware corresponding to each part, for example, an electronic circuit. Furthermore, the information processing device 10 may be partially realized by a program and the remaining part by hardware. In the embodiment, the computer is not limited to the computer shown in FIG. 5.

[0097] [Note] The following supplementary notes are further disclosed regarding the above-described embodiments. A part or all of the above-described embodiments can be expressed by (Supplementary Note 1) to (Supplementary Note 21) described below, but are not limited to the following descriptions.

[0098] (Appendix 1) an estimation unit that estimates provisional geometric parameters that fit sample points extracted from a plurality of data points using the sample points; an error calculation means for calculating an error between the plurality of data points and the provisional geometric parameters; a threshold value determination unit that calculates a boundary value for classifying the logarithmic space of the calculated error into two or more classes, and converts the calculated boundary value to determine a threshold value; an update unit that counts up a number of inliers whose calculated error is equal to or smaller than the calculated threshold value, and when the counted number of inliers increases, updates a current best geometric parameter and a current best number of inliers to the tentative geometric parameter and the inlier number; An information processing device having the above configuration.

[0099] (Appendix 2) a series of processes executed by the estimation unit, the error calculation unit, the threshold determination unit, and the update unit are repeatedly executed until a preset upper limit value of the number of iterations is reached; 2. An information processing device according to claim 1.

[0100] (Appendix 3) the threshold determination unit applies a predetermined probability distribution to the classified classes and determines the threshold from statistics. 3. An information processing device according to claim 2.

[0101] (Appendix 4) the threshold determination unit outputs the threshold when the calculated threshold is within a range between a minimum threshold and a maximum threshold determined in advance, and outputs either the minimum threshold or a threshold close to the maximum threshold when the calculated threshold is outside the range. 4. The information processing device according to claim 3.

[0102] (Appendix 5) The threshold determination unit classifies the class when the number of inliers smaller than a previous maximum threshold or a previously determined threshold is greater than a minimum number of sample points. 5. The information processing device according to claim 4.

[0103] (Appendix 6) the error calculation unit uses a plurality of error functions to calculate the errors between the plurality of data points and the provisional geometric parameters for each of the error functions; The threshold determination unit determines the threshold for each of the errors; the updating unit counts up the number of inliers for each of the thresholds, and updates the number of inliers when all, any one, or a majority of the counted number of inliers increases. 3. An information processing device according to claim 2.

[0104] (Appendix 7) when the best geometric parameters are updated by the update unit, an upper limit value of the number of iterations is changed based on a ratio of inliers to the plurality of data points. 3. An information processing device according to claim 2.

[0105] (Appendix 8) The information processing device includes: an estimation process for estimating provisional geometric parameters that fit sample points extracted from a plurality of data points using the sample points; an error calculation means for calculating an error between the plurality of data points and the provisional geometric parameters; a threshold determination process for calculating a boundary value for classifying the logarithmic space of the calculated error into two or more classes, and converting the calculated boundary value to determine a threshold value; an update process of counting up the number of inliers whose calculated error is equal to or less than the calculated threshold value, and updating the current best geometric parameters and the current best number of inliers to the provisional geometric parameters and the number of inliers when the counted number of inliers increases; An information processing method for performing the above.

[0106] (Appendix 9) a series of processes including the estimation process, the error calculation process, the threshold determination process, and the update process are repeatedly executed until a preset upper limit value of the number of iterations is reached; 10. An information processing method as described in Appendix 8.

[0107] (Appendix 10) The threshold value determination process applies a predetermined probability distribution to the classified classes and determines the threshold value from statistics. 10. An information processing method as described in Supplementary Note 9.

[0108] (Appendix 11) The threshold determination process outputs the calculated threshold when the calculated threshold is within a range between a minimum threshold and a maximum threshold determined in advance, and outputs either the minimum threshold or a threshold close to the maximum threshold when the calculated threshold is outside the range. 11. The information processing method according to claim 10.

[0109] (Appendix 12) The threshold determination process classifies the class when the number of inliers smaller than a previous maximum threshold or a previously determined threshold is greater than a minimum number of sample points. 12. The information processing method according to claim 11.

[0110] (Appendix 13) the error calculation process uses a plurality of error functions to calculate the errors between the plurality of data points and the provisional geometric parameters for each of the error functions; The threshold determination process determines the threshold for each of the errors; The updating process counts up the number of inliers for each of the thresholds, and updates the number of inliers when all, any one, or a majority of the counted number of inliers increases. 10. The information processing method according to claim 9.

[0111] (Appendix 14) when the best geometric parameters are updated in the update process, the upper limit of the number of iterations is changed based on a ratio of inliers to the plurality of data points. 10. The information processing method according to claim 9.

[0112] (Appendix 15) On the computer, an estimation process for estimating provisional geometric parameters that fit sample points extracted from a plurality of data points using the sample points; an error calculation means for calculating an error between the plurality of data points and the provisional geometric parameters; a threshold determination process for calculating a boundary value for classifying the logarithmic space of the calculated error into two or more classes, and converting the calculated boundary value to determine a threshold value; an update process of counting up the number of inliers whose calculated error is equal to or less than the calculated threshold value, and updating the current best geometric parameters and the current best number of inliers to the provisional geometric parameters and the number of inliers when the counted number of inliers increases; A program that executes the following.

[0113] (Appendix 16) a series of processes including the estimation process, the error calculation process, the threshold determination process, and the update process are repeatedly executed until a preset upper limit value of the number of iterations is reached; 16. The program according to claim 15.

[0114] (Appendix 17) The threshold value determination process applies a predetermined probability distribution to the classified classes and determines the threshold value from statistics. 17. The program according to claim 16.

[0115] (Appendix 18) The threshold determination process outputs the calculated threshold when the calculated threshold is within a range between a minimum threshold and a maximum threshold determined in advance, and outputs either the minimum threshold or a threshold close to the maximum threshold when the calculated threshold is outside the range. 18. The program according to claim 17.

[0116] (Appendix 19) The threshold determination process classifies the class when the number of inliers smaller than a previous maximum threshold or a previously determined threshold is greater than a minimum number of sample points. 19. The program according to claim 18.

[0117] (Appendix 20) the error calculation process uses a plurality of error functions to calculate the errors between the plurality of data points and the provisional geometric parameters for each of the error functions; The threshold determination process determines the threshold for each of the errors; The updating process counts up the number of inliers for each of the thresholds, and updates the number of inliers when all, any one, or a majority of the counted number of inliers increases. 17. The program according to claim 16.

[0118] (Appendix 21) when the best geometric parameters are updated in the update process, the upper limit of the number of iterations is changed based on a ratio of inliers to the plurality of data points. 17. The program according to claim 16.

[0119] Although the invention has been described above with reference to the embodiments, the invention is not limited to the above-described embodiments. Various modifications that can be understood by those skilled in the art can be made to the configuration and details of the invention within the scope of the invention. [Industrial Applicability]

[0120] According to the above description, it is possible to determine a threshold value for separating outliers and inliers in RANSAC, which is useful in fields where estimation of geometric parameters is required. [Explanation of symbols]

[0121] 10. Information processing device 11 Estimation part 12 Error calculation section 13 Threshold determination unit 13a Classification section 13b Conversion section 14 Update section 15 Extraction part 16 Output information generation unit 20 Terminal Equipment 30 Output Device 110 Computer 111 CPU 112 Main memory 113 Storage device 114 Input Interface 115 Display Controller 116 Data Reader / Writer 117 Communication Interface 118 Input Devices 119 Display device 120 Recording media 121 Bus

Claims

1. an estimation means for estimating provisional geometric parameters that fit sample points extracted from a plurality of data points; an error calculation means for calculating an error between the plurality of data points and the provisional geometric parameters; a threshold value determining means for calculating a boundary value for classifying the calculated logarithmic space of the error into two or more classes, and for determining a threshold value by converting the calculated boundary value; an update means for counting up a number of inliers whose calculated error is equal to or smaller than the calculated threshold value, and updating a current best geometric parameter and a current best number of inliers to the provisional geometric parameter and the number of inliers when the counted number of inliers increases; An information processing device having the above configuration.

2. a series of processes executed by the estimation means, the error calculation means, the threshold determination means, and the update means are repeatedly executed until a preset upper limit value of the number of iterations is reached; The information processing device according to claim 1 .

3. The threshold value determination means applies a predetermined probability distribution to the classified classes and determines the threshold value from statistics. The information processing device according to claim 2 .

4. the threshold value determining means outputs the threshold value when the calculated threshold value is within a range between a minimum threshold value and a maximum threshold value determined in advance, and outputs either the minimum threshold value or a value close to the maximum threshold value when the calculated threshold value is outside the range. The information processing device according to claim 3 .

5. The threshold value determination means classifies the class when the number of inliers smaller than the previous maximum threshold value or a predetermined threshold value is greater than the minimum number of sample points. The information processing device according to claim 4.

6. the error calculation means calculates the errors between the plurality of data points and the provisional geometric parameters for each of the error functions using a plurality of error functions; The threshold determination means determines the threshold for each of the errors; the updating means counts up the number of inliers for each of the thresholds, and updates the number of inliers when all, any one, or a majority of the counted number of inliers increases. The information processing device according to claim 2 .

7. when the best geometric parameters are updated by the updating means, the upper limit of the number of iterations is changed based on a ratio of inliers to the plurality of data points. The information processing device according to claim 2 .

8. The information processing device includes: Using sample points extracted from the plurality of data points, estimate provisional geometric parameters that fit the sample points; Calculating an error between the plurality of data points and the provisional geometric parameters; Calculating a boundary value for classifying the calculated logarithmic space of the error into two or more classes, and converting the calculated boundary value to determine a threshold value; counting up the number of inliers whose calculated error is equal to or less than the calculated threshold value, and if the counted number of inliers increases, updating the current geometric parameters and the current best number of inliers to the provisional geometric parameters and the number of inliers; Information processing methods.

9. On the computer, using sample points extracted from the plurality of data points to estimate provisional geometric parameters that fit the sample points; Calculating an error between the plurality of data points and the provisional geometric parameters; Calculating boundary values ​​for classifying the calculated logarithmic space of the errors into two or more classes, and converting the calculated boundary values ​​to determine a threshold value; counting up the number of inliers whose calculated error is equal to or less than the calculated threshold value, and when the counted number of inliers increases, updating the current best geometric parameters and the current best number of inliers to the provisional geometric parameters and the number of inliers; program.

Citation Information

Patent Citations

  • Camera pose estimation method and system

    JP6571225B2

  • Parameter estimation device, parameter estimation method, and program

    JP6954346B2