Patent ID: 12211233

DETAILED DESCRIPTION

The present disclosure relates to methods and systems for training a machine-learning method for determining pre-determined points in an image. According to various embodiments, a machine-learning based saddle points detector may be provided.

Saddle point on an image (or picture) may be one of the most characteristic features that can be extracted from the image. Saddle points may be widely used for intrinsic calibration of a camera, extrinsic calibration of a camera, and/or matching characteristic points.

An accuracy of finding saddle points may have critical impact to quality of camera calibration. Moreover, each camera mounted in a car may need to be calibrated. The main goal of a method may be to find all saddle points in a picture with subpixel accuracy under all light conditions.

According to various embodiments, the input may be an image with one grayscale channel. The maximum resolution may be smaller or equal to 1920×1080; otherwise, the input image may be divided in smaller part. Each pixel may be coded as a float32.

FIG.1Ashows an illustration100of an example of input data, i.e. an input image. It can be seen how big distortion appears in the picture. The image shows a checkerboard.

FIG.1Bshows an illustration150of a further example of input data. It can be seen that checkerboards may be provided in more than one plane.

FIG.2shows an illustration200of saddle point examples. In the top portion ofFIG.2, the pixel values are shown over the pixel coordinates. The bottom portion shows the image, and the saddle point is at the crossing between the borders between dark areas and light areas.

According to various embodiments, a machine-learning based saddle point detector may be provided and may improve robustness of algorithm under all light conditions and may reduce execution time.

According to various embodiments, the (artificial) neural network may be provided.

According to various embodiments, a training method of an (artificial) neural network may be provided, and a training stage may utilize adversarial-like samples, as will be described in more detail below.

According to various embodiments, the core of the neural network may be based on a residual neural network (ResNet). For example, the network may include (or may be made up) of fifteen (15) layers and may contain about 1 million parameters. The input to the neural network may be a grayscale picture with shape (or dimensions) (1080, 1920); in other words, the input image may be grayscale image which is 1920 pixels wide and 1080 pixels high. The output from the neural network may be YOLO (You Only Look Once) type. The grid may have size 135 px by 240 px (sixty-four (64) times smaller than the input). Each cell may consist of seven (7) numbers, which describe corresponding 8 px by 8 px on original image. First three (3) numbers may describe probability of no saddle point in cell, one saddle point in cell or two (2) saddle points in a cell. These values are calculated using a softmax layer. The next four (4) numbers may describe position of saddle points (x, y) for first and second detection. The position may be measured from upper left corner of the cell. The x and y may be in the range from 0 to 1, they are outputted using hard-sigmoid function.

FIG.3shows an illustration300of an output structure according to various embodiments. The input image may be divided into a plurality of cells, one of which is denoted exemplarily by reference sign302. Each cell may be 8 pixels wide and 8 pixels high. An example of a saddle point304is illustrated.

According to various embodiments, the training of the neural network may include three phases. In a first phase, only the confidence whether the saddle point/points exist in a cell or not may be taken into account. In a second phase, the saddle point position may be included during training. In a third (in other words: last) stage, in order to minimize the number of false positive cases, adversarial-like training may be used. The random parts of checkerboards may be rotated, scaled, flipped and then embedded in random pictures.

All three phases may be performed on the same neural network (i.e. each phase may modify the preliminary weights obtained from the previous phase).

In the first phase, the core of the neural network (NN) may be trained to only correctly predict the existence of saddle point in the cells. When the network performs well in predicting the existence of saddle points, the resulting weights may be used as a starting point for the second phase.

In the second stage, the NN may also be trained to predict the position of each detected saddle point.

The third phase may be the adversarial training phase, where the network may be fed with input that consists of parts of the checkerboard and real-life images stitched together.

FIG.4shows an illustration400of an adversarial like data example.

In good light conditions and when the checkerboard is placed in the center of the image (and hence the distortion is small) and is perpendicular to the camera, the method according to various embodiments may find all or almost all the saddle points. Even if for example the floor, especially with a carpet, may be noisy, no false positive detections may be observed. Thus, under favorable conditions, the method according to various embodiments works very well.

Even situations where the checkerboard is no longer perpendicular to camera may not affect the performance of the method according to various embodiments.

Even when the checkerboard is off-center (from the camera central axis), as there are distorted corners, the method according to various embodiments may still perform very good and all or almost all the points may be detected.

Even when the lighting conditions are harder, and very bright background (for example behind a window) and dark interior lead to smaller contrast on checkerboard, so that the checkerboard lighting is not uniform, the method according to various embodiments may still perform very well.

The method according to various embodiments may be fast and may give good numerical results.

The method according to various embodiments may be very accurate in corners where distortion is very high and contrast very low.

The method according to various embodiments may be very robust.

FIG.5shows a flow diagram500illustrating a method for training a machine-learning method for determining pre-determined points in an image according to various embodiments. At502, a first machine-learning method may be trained based on training data indicating whether or not a pre-determined point is present in a cell of the image. At504, a second machine-learning method may be trained based on a position of pre-determined points in the cell and based on training of the first machine-learning method. At506, a third machine-learning method may be trained based on a modified version of the image and based on training of the second machine-learning method.

According to various embodiments, the modified version may include or may be the input image after image processing.

According to various embodiments, the image processing may include or may be at least one of a rotation, a scaling, a flipping, and an embedding in another image.

According to various embodiments, the image may include or may show a checkerboard.

According to various embodiments, the pre-determined points may include or may be saddle points of the checkerboard.

According to various embodiments, saddle points may be crossings of black-white borders of the checkerboard.

According to various embodiments, the machine-learning method may include or may be an artificial neural network.

FIG.6shows a flow diagram600illustrating a method for determining pre-determined points in an image according to various embodiments. At602, the image may be provided to a sequence of processing layers. At604, the pre-determined points in the image may be determined based on the output of the last processing layer of the sequence of processing layers. The last processing layer may include or may be a respective output data set for each of a plurality of cells of the image. Each output data set may include or may be a plurality of probabilities and a plurality of positions, each probability indicating a probability of a pre-determined number of pre-determined points in the respective cell, and each position indicating a position in the respective cell.

According to various embodiments, the output may be of a YOLO type.

According to various embodiments, the last processing layer may include or may be a softmax layer.

According to various embodiments, the plurality of probabilities may include or may be an integer number of probabilities, wherein the pre-determined numbers of pre-determined points in the respective cell comprises integer numbers between zero and one less than the integer number of probabilities.

According to various embodiments, the image may include or may show a checkerboard.

Each of the steps502,504,506,602,604and the further steps described above may be performed by computer hardware components.

Additional Examples

Some additional examples of methods and systems for training a machine-learning method for determining pre-determined points in an image are as follows:

Example 1. A computer-implemented method for training a machine-learning method for determining pre-determined points in an image, wherein the image is divided into a plurality of cells, wherein the image comprises a checkerboard, and wherein the pre-determined points comprise saddle points of the checkerboard, the method comprising the following steps carried out by computer hardware components: training the machine-learning method in a first phase based on training data indicating whether or not a pre-determined point is present in a cell of the image; training the machine-learning method in a second phase based on a position of pre-determined points in the cell and based on training of the machine-learning method in the first phase; and training the machine-learning method in a third phase based on a modified version of the image and based on training of the machine-learning method in the second phase, wherein the modified version comprises the image after image processing.

Example 2. The computer-implemented method of example 1, wherein the image processing comprises at least one of a rotation, a scaling, a flipping, and an embedding in another image.

Example 3. The computer-implemented method of example 1, wherein saddle points are crossings of black-white borders of the checkerboard.

Example 4. The computer-implemented method of example 1, wherein the machine-learning method comprises an artificial neural network.

Example 5. A computer-implemented method for determining pre-determined points in an image using a machine-learning method trained according to a computer-implemented method for training a machine-learning method for determining pre-determined points in an image, wherein the image is divided into a plurality of cells, wherein the image comprises a checkerboard, and wherein the pre-determined points comprise saddle points of the checkerboard, the method for training comprising the following steps carried out by computer hardware components: training the machine-learning method in a first phase based on training data indicating whether or not a pre-determined point is present in a cell of the image; training the machine-learning method in a second phase based on a position of pre-determined points in the cell and based on training of the machine-learning method in the first phase; and training the machine-learning method in a third phase based on a modified version of the image and based on training of the machine-learning method in the second phase, wherein the modified version comprises the image after image processing.

Example 6. The computer-implemented method of example 5, the method comprising the following steps carried out by computer hardware components: providing the image to a sequence of processing layers; and determining the pre-determined points in the image based on the output of the last processing layer of the sequence of processing layers; wherein the last processing layer comprises a respective output data set for each of a plurality of cells of the image; wherein each output data set comprises a plurality of probabilities for how many pre-determined points are present and a plurality of estimations of the positions of the pre-determined points, each probability indicating a probability of a pre-determined number of pre-determined points in the respective cell, and each position indicating a position in the respective cell.

Example 7. The computer-implemented method of example 6, wherein the output is of a YOLO type.

Example 8. The computer-implemented method of example 6, wherein the last processing layer comprises a softmax layer.

Example 9. The computer-implemented method of example 6, wherein the plurality of probabilities comprises an integer number of probabilities, wherein the pre-determined numbers of pre-determined points in the respective cell comprises integer numbers between zero and one less than the integer number of probabilities.

Example 10. A computer system, the computer system comprising a plurality of computer hardware components configured to carry out steps of a computer-implemented method for training a machine-learning method for determining pre-determined points in an image, wherein the image is divided into a plurality of cells, wherein the image comprises a checkerboard, and wherein the pre-determined points comprise saddle points of the checkerboard, the method comprising the following steps carried out by computer hardware components: training the machine-learning method in a first phase based on training data indicating whether or not a pre-determined point is present in a cell of the image; training the machine-learning method in a second phase based on a position of pre-determined points in the cell and based on training of the machine-learning method in the first phase; and training the machine-learning method in a third phase based on a modified version of the image and based on training of the machine-learning method in the second phase, wherein the modified version comprises the image after image processing.

Example 11. The computer system of example 10, further comprising a camera configured to acquire the image.

Example 12. Non-transitory computer readable medium comprising instructions for carrying out a computer-implemented method for training a machine-learning method for determining pre-determined points in an image, wherein the image is divided into a plurality of cells, wherein the image comprises a checkerboard, and wherein the pre-determined points comprise saddle points of the checkerboard, the method comprising the following steps carried out by computer hardware components: training (502) the machine-learning method in a first phase based on training data indicating whether or not a pre-determined point is present in a cell of the image; training (504) the machine-learning method in a second phase based on a position of pre-determined points in the cell and based on training of the machine-learning method in the first phase; and training (506) the machine-learning method in a third phase based on a modified version of the image and based on training of the machine-learning method in the second phase, wherein the modified version comprises the image after image processing.

Example 13. A computer system, the computer system comprising a plurality of computer hardware components configured to carry out steps of a computer-implemented method for determining pre-determined points in an image using a machine-learning method trained according to a computer-implemented method for training a machine-learning method for determining pre-determined points in an image, wherein the image is divided into a plurality of cells, wherein the image comprises a checkerboard, and wherein the pre-determined points comprise saddle points of the checkerboard, the method for training comprising the following steps carried out by computer hardware components: training the machine-learning method in a first phase based on training data indicating whether or not a pre-determined point is present in a cell of the image; training the machine-learning method in a second phase based on a position of pre-determined points in the cell and based on training of the machine-learning method in the first phase; and training the machine-learning method in a third phase based on a modified version of the image and based on training of the machine-learning method in the second phase, wherein the modified version comprises the image after image processing.

Example 14. The computer system of example 13, further comprising a camera configured to acquire the image.

Example 15. A non-transitory computer readable medium comprising instructions for carrying out a computer-implemented method for determining pre-determined points in an image using a machine-learning method trained according to a computer-implemented method for training a machine-learning method for determining pre-determined points in an image, wherein the image is divided into a plurality of cells, wherein the image comprises a checkerboard, and wherein the pre-determined points comprise saddle points of the checkerboard, the method for training comprising the following steps carried out by computer hardware components: training the machine-learning method in a first phase based on training data indicating whether or not a pre-determined point is present in a cell of the image; training the machine-learning method in a second phase based on a position of pre-determined points in the cell and based on training of the machine-learning method in the first phase; and training the machine-learning method in a third phase based on a modified version of the image and based on training of the machine-learning method in the second phase, wherein the modified version comprises the image after image processing.