US20220335650A1 - Methods and Systems for Training a Machine Learning Method for Determining Pre-Determined Points in an Image - Google Patents
Methods and Systems for Training a Machine Learning Method for Determining Pre-Determined Points in an Image Download PDFInfo
- Publication number
- US20220335650A1 US20220335650A1 US17/659,301 US202217659301A US2022335650A1 US 20220335650 A1 US20220335650 A1 US 20220335650A1 US 202217659301 A US202217659301 A US 202217659301A US 2022335650 A1 US2022335650 A1 US 2022335650A1
- Authority
- US
- United States
- Prior art keywords
- image
- machine
- learning method
- training
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000013528 artificial neural network Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4046—Scaling the whole image or part thereof using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/60—Rotation of a whole image or part thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/242—Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Definitions
- Digital imaging devices such as digital cameras, are used in automotive applications for a variety of tasks. However, it may be required to properly calibrate the digital imaging device.
- the present disclosure provides a computer-implemented method, a computer system and a non-transitory computer readable medium according to the additional example section and the independent claims. Embodiments are given in the subclaims, the description and the drawings.
- the present disclosure is directed at a computer-implemented method for training a (third) machine-learning method for determining pre-determined points in an image, the method comprising the following steps performed (in other words: carried out) by computer hardware components: training a first machine-learning method based on training data indicating whether or not a pre-determined point is present in a cell of the image; training a second machine-learning method based on a position of pre-determined points in the cell and based on training of the first machine-learning method; and training a third machine-learning method based on a modified version of the image and based on training of the second machine-learning method.
- overall training of a machine-learning method may be split into three phases, wherein in each phase an individual machine-learning method is trained, based on the training of the machine-learning method of the previous phase (it will be understood that in the first phase no previous phase is available, and as such, the training in the first phase does not involve any previously trained neural network).
- the complexity of the training may increase from phase-to-phase.
- one or more of the first machine-learning method, second machine-learning method, and third machine-learning method may be the machine-learning method as described herein.
- the modified version comprises the image after image processing.
- the modified version of the image may also be referred to as an adversarial-like image.
- the adversarial-like image may be created to intentionally confuse the method, and to provoke wrong results.
- the image processing comprises at least one of a rotation, a scaling, a flipping, and an embedding in another image (for example in a random image).
- the image comprises (or shows) a checkerboard.
- the pre-determined points comprise saddle points of the checkerboard.
- saddle points are crossings of black-white borders of the checkerboard.
- the machine-learning method comprises an artificial neural network.
- the present disclosure is directed at a computer-implemented method for determining pre-determined points in an image, 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 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.
- a machine-learning method may be provided which outputs respective probabilities for how many pre-determined points are present, and estimations of the position(s) of the pre-determined point(s).
- the respective position may be a position of a potential pre-determined point.
- the plurality of layers may include or may be fifteen (15) layers (which may form an artificial neural network or a part of an artificial neural network).
- the output is of a YOLO (You Only Look Once) type.
- the output of a YOLO type may be a grid.
- Each cell in the grid may include information about detection.
- Each cell may include one or more detections.
- a single detection may be described by three parameters: (1) probability of existence of a saddle point in a particular cell, (2) saddle point position in the x axis, and (3) saddle point position in the y axis within the cell (range from 0 to 1, wherein (0,0) may mean top left cell corner and (1,1) may mean bottom right cell corner).
- YOLO-like output may include dividing the image into regions which are described by an output grid.
- the last processing layer comprises a softmax layer.
- 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.
- the image comprises (or shows) a checkerboard.
- the pre-determined points comprise saddle points of the checkerboard.
- saddle points are crossings of black-white borders of the checkerboard.
- the present disclosure is directed at a computer system, said computer system comprising a plurality of computer hardware components configured to carry out several or all steps of the computer-implemented method described herein.
- the computer system may comprise a plurality of computer hardware components (for example a processor, for example processing unit or processing network, at least one memory, for example memory unit or memory network, and at least one non-transitory data storage). It will be understood that further computer hardware components may be provided and used for carrying out steps of the computer-implemented method in the computer system.
- the non-transitory data storage and/or the memory unit may comprise a computer program for instructing the computer to perform several or all steps or aspects of one or more of the computer-implemented methods described herein, for example using the processing unit and the at least one memory unit.
- the computer system further comprises a camera configured to acquire the image.
- the present disclosure is directed at a non-transitory computer readable medium comprising instructions for carrying out several or all steps or aspects of one or more of the computer-implemented methods described herein.
- the computer readable medium may be configured as: an optical medium, such as a compact disc (CD) or a digital versatile disk (DVD); a magnetic medium, such as a hard disk drive (HDD); a solid state drive (SSD); a read only memory (ROM), such as a flash memory; or the like.
- the computer readable medium may be configured as a data storage that is accessible via a data connection, such as an internet connection.
- the computer readable medium may, for example, be an online data repository or a cloud storage.
- the present disclosure is also directed at a computer program for instructing a computer to perform several or all steps or aspects of one or more of the computer-implemented methods described herein.
- a technique of using machine-learning to identify saddle points in camera calibration patterns may be provided.
- FIG. 1A is an illustration of an example of input data
- FIG. 1B is an illustration of a further example of input data
- FIG. 2 is an illustration of saddle point examples
- FIG. 3 is an illustration of an output structure according to various embodiments
- FIG. 4 is an illustration of an adversarial like data example
- FIG. 5 shows a flow diagram illustrating a method for training a machine-learning method for determining pre-determined points in an image according to various embodiments.
- FIG. 6 shows a flow diagram illustrating a method for determining pre-determined points in an image according to various embodiments.
- the present disclosure relates to methods and systems for training a machine-learning method for determining pre-determined points in an image.
- a machine-learning based saddle points detector may be provided.
- Saddle point on an image 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.
- 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 float 32 .
- FIG. 1A shows an illustration 100 of 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. 1B shows an illustration 150 of a further example of input data. It can be seen that checkerboards may be provided in more than one plane.
- FIG. 2 shows an illustration 200 of saddle point examples.
- 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.
- 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.
- the (artificial) neural network may be provided.
- 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.
- the core of the neural network may be based on a residual neural network (ResNet).
- 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. 3 shows an illustration 300 of 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 sign 302 .
- Each cell may be 8 pixels wide and 8 pixels high.
- An example of a saddle point 304 is illustrated.
- the training of the neural network may include three phases.
- a first phase only the confidence whether the saddle point/points exist in a cell or not may be taken into account.
- the saddle point position may be included during training.
- 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).
- the core of the neural network may be trained to only correctly predict the existence of saddle point in the cells.
- the resulting weights may be used as a starting point for the second phase.
- 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. 4 shows an illustration 400 of an adversarial like data example.
- 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.
- the method according to various embodiments may still perform very good and all or almost all the points may be detected.
- 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. 5 shows a flow diagram 500 illustrating a method for training a machine-learning method for determining pre-determined points in an image according to various embodiments.
- 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.
- 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.
- 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.
- the modified version may include or may be the input image after image processing.
- the image processing may include or may be at least one of a rotation, a scaling, a flipping, and an embedding in another image.
- the image may include or may show a checkerboard.
- the pre-determined points may include or may be saddle points of the checkerboard.
- saddle points may be crossings of black-white borders of the checkerboard.
- the machine-learning method may include or may be an artificial neural network.
- FIG. 6 shows a flow diagram 600 illustrating a method for determining pre-determined points in an image according to various embodiments.
- the image may be provided to a sequence of processing layers.
- 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.
- the output may be of a YOLO type.
- the last processing layer may include or may be a softmax layer.
- 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.
- the image may include or may show a checkerboard.
- Each of the steps 502 , 504 , 506 , 602 , 604 and the further steps described above may be performed by computer hardware components.
- 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.
- 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,
- 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
Abstract
Description
- This application claims priority to European Patent Application Number 21168669.6, filed Apr. 15, 2021, the disclosure of which is hereby incorporated by reference in its entirety.
- Digital imaging devices, such as digital cameras, are used in automotive applications for a variety of tasks. However, it may be required to properly calibrate the digital imaging device.
- Accordingly, there is a need to provide efficient and reliable methods for camera calibration.
- Disclosed are methods and systems for training a machine-learning method for determining pre-determined points in an image. The present disclosure provides a computer-implemented method, a computer system and a non-transitory computer readable medium according to the additional example section and the independent claims. Embodiments are given in the subclaims, the description and the drawings.
- In one aspect, the present disclosure is directed at a computer-implemented method for training a (third) machine-learning method for determining pre-determined points in an image, the method comprising the following steps performed (in other words: carried out) by computer hardware components: training a first machine-learning method based on training data indicating whether or not a pre-determined point is present in a cell of the image; training a second machine-learning method based on a position of pre-determined points in the cell and based on training of the first machine-learning method; and training a third machine-learning method based on a modified version of the image and based on training of the second machine-learning method.
- In other words, overall training of a machine-learning method may be split into three phases, wherein in each phase an individual machine-learning method is trained, based on the training of the machine-learning method of the previous phase (it will be understood that in the first phase no previous phase is available, and as such, the training in the first phase does not involve any previously trained neural network). The complexity of the training may increase from phase-to-phase.
- For example, one or more of the first machine-learning method, second machine-learning method, and third machine-learning method may be the machine-learning method as described herein.
- According to an embodiment, the modified version comprises the image after image processing. The modified version of the image may also be referred to as an adversarial-like image. The adversarial-like image may be created to intentionally confuse the method, and to provoke wrong results.
- According to an embodiment, the image processing comprises at least one of a rotation, a scaling, a flipping, and an embedding in another image (for example in a random image).
- According to an embodiment, the image comprises (or shows) a checkerboard.
- According to an embodiment, the pre-determined points comprise saddle points of the checkerboard.
- According to an embodiment, saddle points are crossings of black-white borders of the checkerboard.
- According to an embodiment, the machine-learning method comprises an artificial neural network.
- In another aspect, the present disclosure is directed at a computer-implemented method for determining pre-determined points in an image, 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 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.
- In other words, a machine-learning method may be provided which outputs respective probabilities for how many pre-determined points are present, and estimations of the position(s) of the pre-determined point(s).
- The respective position may be a position of a potential pre-determined point.
- The plurality of layers may include or may be fifteen (15) layers (which may form an artificial neural network or a part of an artificial neural network).
- According to an embodiment, the output is of a YOLO (You Only Look Once) type.
- The output of a YOLO type may be a grid. Each cell in the grid may include information about detection. Each cell may include one or more detections. According to various embodiments, a single detection may be described by three parameters: (1) probability of existence of a saddle point in a particular cell, (2) saddle point position in the x axis, and (3) saddle point position in the y axis within the cell (range from 0 to 1, wherein (0,0) may mean top left cell corner and (1,1) may mean bottom right cell corner).
- In other words, YOLO-like output may include dividing the image into regions which are described by an output grid.
- According to an embodiment, the last processing layer comprises a softmax layer.
- According to an embodiment, 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.
- According to an embodiment, the image comprises (or shows) a checkerboard.
- According to an embodiment, the pre-determined points comprise saddle points of the checkerboard.
- According to an embodiment, saddle points are crossings of black-white borders of the checkerboard.
- In another aspect, the present disclosure is directed at a computer system, said computer system comprising a plurality of computer hardware components configured to carry out several or all steps of the computer-implemented method described herein.
- The computer system may comprise a plurality of computer hardware components (for example a processor, for example processing unit or processing network, at least one memory, for example memory unit or memory network, and at least one non-transitory data storage). It will be understood that further computer hardware components may be provided and used for carrying out steps of the computer-implemented method in the computer system. The non-transitory data storage and/or the memory unit may comprise a computer program for instructing the computer to perform several or all steps or aspects of one or more of the computer-implemented methods described herein, for example using the processing unit and the at least one memory unit.
- According to an embodiment, the computer system further comprises a camera configured to acquire the image.
- In another aspect, the present disclosure is directed at a non-transitory computer readable medium comprising instructions for carrying out several or all steps or aspects of one or more of the computer-implemented methods described herein. The computer readable medium may be configured as: an optical medium, such as a compact disc (CD) or a digital versatile disk (DVD); a magnetic medium, such as a hard disk drive (HDD); a solid state drive (SSD); a read only memory (ROM), such as a flash memory; or the like. Furthermore, the computer readable medium may be configured as a data storage that is accessible via a data connection, such as an internet connection. The computer readable medium may, for example, be an online data repository or a cloud storage.
- The present disclosure is also directed at a computer program for instructing a computer to perform several or all steps or aspects of one or more of the computer-implemented methods described herein.
- With the methods and devices as described herein, a technique of using machine-learning to identify saddle points in camera calibration patterns may be provided.
- Aspects of embodiments and functions of the present disclosure are described herein in conjunction with the following drawings, showing schematically:
-
FIG. 1A is an illustration of an example of input data; -
FIG. 1B is an illustration of a further example of input data; -
FIG. 2 is an illustration of saddle point examples; -
FIG. 3 is an illustration of an output structure according to various embodiments; -
FIG. 4 is an illustration of an adversarial like data example; -
FIG. 5 shows a flow diagram illustrating a method for training a machine-learning method for determining pre-determined points in an image according to various embodiments; and -
FIG. 6 shows a flow diagram illustrating a method for determining pre-determined points in an image according to various embodiments. - 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 float 32.
-
FIG. 1A shows anillustration 100 of 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. 1B shows anillustration 150 of a further example of input data. It can be seen that checkerboards may be provided in more than one plane. -
FIG. 2 shows anillustration 200 of 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. 3 shows anillustration 300 of an output structure according to various embodiments. The input image may be divided into a plurality of cells, one of which is denoted exemplarily byreference sign 302. Each cell may be 8 pixels wide and 8 pixels high. An example of asaddle point 304 is 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. 4 shows anillustration 400 of 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. 5 shows a flow diagram 500 illustrating a method for training a machine-learning method for determining pre-determined points in an image according to various embodiments. At 502, 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. At 504, 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. At 506, 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. 6 shows a flow diagram 600 illustrating a method for determining pre-determined points in an image according to various embodiments. At 602, the image may be provided to a sequence of processing layers. At 604, 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
steps - 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.
Claims (16)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21168669.6A EP4075327A1 (en) | 2021-04-15 | 2021-04-15 | Methods and systems for training a machine learning method for determining pre-determined points in an image |
EP21168669.6 | 2021-04-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220335650A1 true US20220335650A1 (en) | 2022-10-20 |
Family
ID=75539229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/659,301 Pending US20220335650A1 (en) | 2021-04-15 | 2022-04-14 | Methods and Systems for Training a Machine Learning Method for Determining Pre-Determined Points in an Image |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220335650A1 (en) |
EP (1) | EP4075327A1 (en) |
CN (1) | CN115222017A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220382293A1 (en) * | 2021-05-31 | 2022-12-01 | Ubtech North America Research And Development Center Corp | Carpet detection method, movement control method, and mobile machine using the same |
-
2021
- 2021-04-15 EP EP21168669.6A patent/EP4075327A1/en active Pending
-
2022
- 2022-04-14 US US17/659,301 patent/US20220335650A1/en active Pending
- 2022-04-14 CN CN202210388896.XA patent/CN115222017A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220382293A1 (en) * | 2021-05-31 | 2022-12-01 | Ubtech North America Research And Development Center Corp | Carpet detection method, movement control method, and mobile machine using the same |
Also Published As
Publication number | Publication date |
---|---|
EP4075327A1 (en) | 2022-10-19 |
CN115222017A (en) | 2022-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110298298B (en) | Target detection and target detection network training method, device and equipment | |
US11321937B1 (en) | Visual localization method and apparatus based on semantic error image | |
CN111325716B (en) | Screen scratch and fragmentation detection method and equipment | |
US11042742B1 (en) | Apparatus and method for detecting road based on convolutional neural network | |
CN111325717B (en) | Mobile phone defect position identification method and equipment | |
CN111833237A (en) | Image registration method based on convolutional neural network and local homography transformation | |
CN112434618A (en) | Video target detection method based on sparse foreground prior, storage medium and equipment | |
CN111626295A (en) | Training method and device for license plate detection model | |
US20220335650A1 (en) | Methods and Systems for Training a Machine Learning Method for Determining Pre-Determined Points in an Image | |
CN111178363B (en) | Character recognition method, character recognition device, electronic equipment and readable storage medium | |
CN115533902A (en) | Visual guidance-based unstacking method and device, electronic equipment and system | |
CN114155285B (en) | Image registration method based on gray histogram | |
CN113962980A (en) | Glass container flaw detection method and system based on improved YOLOV5X | |
CN115861922B (en) | Sparse smoke detection method and device, computer equipment and storage medium | |
CN115345895B (en) | Image segmentation method and device for visual detection, computer equipment and medium | |
US20220198258A1 (en) | Saliency Prioritization for Image Processing | |
WO2022188102A1 (en) | Depth image inpainting method and apparatus, camera assembly, and electronic device | |
CN111709951B (en) | Target detection network training method and system, network, device and medium | |
CN113706636A (en) | Method and device for identifying tampered image | |
CN113870262A (en) | Printed circuit board classification method and device based on image processing and storage medium | |
EP4075384A1 (en) | Methods and systems for determining pre-determined points in an input image | |
CN112287938A (en) | Text segmentation method, system, device and medium | |
TWI807854B (en) | Method for detecting defects, computer device and storage medium | |
CN106778780B (en) | GPU-based edge detection image binarization method | |
US20230401691A1 (en) | Image defect detection method, electronic device and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: APTIV TECHNOLOGIES LIMITED, BARBADOS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LELOWICZ, KAMIL;NOWAK, MARIUSZ;SIGNING DATES FROM 20220409 TO 20220411;REEL/FRAME:059604/0727 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
AS | Assignment |
Owner name: APTIV TECHNOLOGIES (2) S.A R.L., LUXEMBOURG Free format text: ENTITY CONVERSION;ASSIGNOR:APTIV TECHNOLOGIES LIMITED;REEL/FRAME:066746/0001 Effective date: 20230818 Owner name: APTIV TECHNOLOGIES AG, SWITZERLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:APTIV MANUFACTURING MANAGEMENT SERVICES S.A R.L.;REEL/FRAME:066551/0219 Effective date: 20231006 Owner name: APTIV MANUFACTURING MANAGEMENT SERVICES S.A R.L., LUXEMBOURG Free format text: MERGER;ASSIGNOR:APTIV TECHNOLOGIES (2) S.A R.L.;REEL/FRAME:066566/0173 Effective date: 20231005 |