WO2022018019A1 - Verfahren und system bzw. vorrichtung zum erkennen eines objektes in einem elektronischen bild - Google Patents

Verfahren und system bzw. vorrichtung zum erkennen eines objektes in einem elektronischen bild Download PDF

Info

Publication number
WO2022018019A1
WO2022018019A1 PCT/EP2021/070133 EP2021070133W WO2022018019A1 WO 2022018019 A1 WO2022018019 A1 WO 2022018019A1 EP 2021070133 W EP2021070133 W EP 2021070133W WO 2022018019 A1 WO2022018019 A1 WO 2022018019A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
scene
transformed
binarized
pixels
Prior art date
Application number
PCT/EP2021/070133
Other languages
English (en)
French (fr)
Inventor
Michael Engel
Original Assignee
Vision Components Gesellschaft Für Bildverarbeitungssysteme Mbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vision Components Gesellschaft Für Bildverarbeitungssysteme Mbh filed Critical Vision Components Gesellschaft Für Bildverarbeitungssysteme Mbh
Priority to JP2023504201A priority Critical patent/JP2023535005A/ja
Priority to EP21746686.1A priority patent/EP4185986A1/de
Publication of WO2022018019A1 publication Critical patent/WO2022018019A1/de
Priority to US18/099,834 priority patent/US20230154144A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/753Transform-based matching, e.g. Hough transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/754Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries involving a deformation of the sample pattern or of the reference pattern; Elastic matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes

Definitions

  • the invention relates to a method and a system and a device for machine vision and image recognition for recognizing an object in an electronic image. It refers to the field of pattern recognition, in which general regularities, repetitions, similarities or laws must be recognized in a quantity of data. Typical examples of the application areas of pattern recognition are speech recognition, text recognition and face recognition. Pattern recognition is also of central importance for more general areas such as artificial intelligence or data mining.
  • a pattern recognition process can be broken down into several sub-steps, starting with the detection and ending with a determined classification.
  • data or signals are recorded and digitized by means of sensors, e.g. B. recorded a digital image of a scene using a digital camera.
  • Patterns are obtained from the mostly analog signals, which can be represented mathematically in vectors, so-called feature vectors, and matrices.
  • the signals are pre-processed to reduce data and improve quality.
  • the patterns are then transformed into a feature space during feature extraction. mated.
  • the dimension of the feature space, in which the patterns are now represented as points, is limited to the essential features during feature reduction.
  • the final core step is the classification using a classifier, which assigns the features to different classes.
  • the classification method can be based on a learning process using a sample.
  • a pre-processing usually takes place.
  • the removal or reduction of unwanted or irrelevant signal components does not lead to a reduction in the data to be processed, this only happens when the feature is extracted.
  • Possible methods of pre-processing include signal averaging, application of a threshold value and normalization.
  • the desired results of the preprocessing are the reduction of noise and the mapping to a uniform range of values.
  • Methods of characteristic reduction are the analysis of variance, in which it is checked whether one or more characteristics can be separated, and the discriminant analysis, in which the smallest possible number of non-elementary characteristics that can be separated is formed by combining elementary characteristics.
  • the last and essential step in pattern recognition is the classification of features into classes. There are various classification methods for this.
  • the invention is directed to a sub-area of pattern recognition (English pattern recognition) and image processing (English digital image Pro cessing), namely image recognition (English image analysis).
  • image recognition an attempt is made from a digital image using automatic image processing techniques, e.g. B. by means of a computer, an electrical circuit rule, a digital camera or a mobile phone to extract useful information.
  • image processing techniques e.g. B. by means of a computer, an electrical circuit rule, a digital camera or a mobile phone to extract useful information.
  • two-dimensional images are recognized in machine vision and three-dimensional images in medicine.
  • the image processing techniques used include the recognition of two- and three-dimensional objects (object recognition) and segmentation. Segmentation is a subfield of digital image processing and machine vision.
  • segmentation The generation of content-related regions by combining neighboring pixels (pixel in a two-dimensional image) or voxel (pixel in a three-dimensional grid) according to a specific criterion of homogeneity is called segmentation. Objects in an image are segmented. A symbolic description is assigned to these. In the machine vision process, segmentation is usually the first step in image analysis, the sequence of which is as follows: scene, image acquisition, image preprocessing, segmentation, feature extraction, classification, statement.
  • Binarization is the preliminary stage of segmentation.
  • the most common binarization method is certainly the threshold value method. This method is based on a threshold that is best determined using a histogram.
  • a problem with many segmentation algorithms is their susceptibility to changing lighting within the image. This can result in only one part of the image being segmented correctly, but the segmentation in the other parts of the image is unusable.
  • the invention relates to the field of machine vision or image recognition (also called image understanding). These terms generally describe the computer-aided solution of tasks that are based on the capabilities of the human visual system.
  • Typical tasks of machine vision are object recognition and the measurement of the geometric structure of objects and of movements (external movement, own movement).
  • Image processing algorithms for example segmentation, and pattern recognition processes, for example for classifying objects, are used here.
  • object recognition is also referred to as pattern recognition.
  • Machine-seeing systems and devices are primarily used in industrial manufacturing processes in the areas of automation technology and quality assurance. Other areas of application can be found, for example, in traffic engineering - from simple radar traps to "seeing vehicles" - and in security engineering (access control, automatic detection of dangerous situations).
  • the following tasks are solved, for example: product control through automatic optical inspection, defect detection under surfaces, form and dimension inspection, position detection, surface inspection, object detection, layer thickness measurements, completeness check.
  • Image understanding techniques are used in industrial environments. For example, computers support quality control and measure simple objects. The advantages can be a higher level of quality, analysis of disturbance variables and process improvement, less waste, protection of the supply chain, monitoring of highly dynamic production processes and cost optimization. In the state of the art, it is important for the algorithms to run error-free that the specified environmental conditions are largely complied with (ca meraposition, lighting, speed of the assembly line, position of the objects, etc.).
  • Shims are checked on a conveyor belt to check dimensional accuracy and reduce the error rate in the end product by several powers of ten.
  • Welding robots are steered to the correct welding position.
  • Sorting and error detection of parts and workpieces such as bulk goods, circuit boards, photo prints.
  • imaging sensors For such tasks, electronic sensors that have integrated image processing are increasingly being used as imaging sensors. Typically, a two-dimensional image of the scene is captured with this type of image processing sensor. It is desirable if the recognition could already take place on parts of the complete pattern, because in practice the parts can often be partially covered.
  • a first known method for object recognition is based on contour-based pattern recognition of objects in an image, for example using the “VISOR® Object” sensor from SensoPart Industriesensorik GmbH with canny edge detection and generalized Hough transformation.
  • the advantage of this method is its high-resolution, precise part finding and orientation (position and orientation), largely independent of the orientation and scaling of the object. Its disadvantages, however, are that it requires a large amount of equipment and computing power and is therefore expensive and slow.
  • NCF normalized cross-correlation
  • a sensor with background comparison was therefore proposed in EP 3 118 812 A1, in which image reduction, smoothing, gradient calculation and a two-stage search method are used for image processing.
  • An image processing sensor with integrated image processing was also described in EP 3 258 442 A1, in which objects are recognized by comparison with a background image.
  • the solutions proposed there have the advantage that they can be implemented inexpensively and work very quickly.
  • object detection requires a constant background, which limits its practical usability.
  • a method for extracting 3D data is known from US 2015/0003736 A1. This document relates to a method for evaluating stereo images. In such methods, two images of a scene are recorded from different positions.
  • the two images are first epipolar-corrected (rectified) and then the images from both cameras can be matched by comparing them line by line using a correlation method. So you choose a pattern in one picture and look for a similar one in the other.
  • a census transform can be used in the correlation method, see e.g. BC Ahlberg et al., The genetic algorithm census transform: evaluation of census Windows of different size and level of sparseness through hardware in-the-loop training, Journal of Real-Time Image Processing (2021) 18:539-559, published online on 6 July 2020.
  • the pattern used to match the two stereo images is not part of an object that is recorded in the scene; instead, a predetermined, simple pattern, for example a bright spot, is used for this purpose a two-dimensional Gaussian intensity distribution, which is projected onto the scene when the images are recorded, for example by means of a laser.
  • a predetermined, simple pattern for example a bright spot
  • a two-dimensional Gaussian intensity distribution which is projected onto the scene when the images are recorded, for example by means of a laser.
  • the projected pattern is transformed and stored using the modified census transformation.
  • the two stereo images are also transformed by a modified census transform and the transformed images are compared to the transformed template to locate it therein. Since the projected pattern is relatively small or simple, small windows of 3 x 3, 5 x 5 or 7 x 7 pixels are sufficient for the comparison.
  • the known method is carried out iteratively in order to find the points of the projected pattern successively in different magnification levels of the images.
  • the present invention is based on the object of creating a method and a system or device for machine vision and image recognition for recognizing an object in an electronic image, with which an object in an image of a scene with little equipment and computing requirements and can therefore be recognized quickly and inexpensively.
  • a pattern can also be recognized instead of an object.
  • object and pattern or object and pattern recognition are treated as synonymous.
  • a method according to the invention for machine vision and image recognition for recognizing an object in an electronic image in which a scene is recorded by means of an optical sensor and an electronic image of the scene is generated, and the electronic image of the scene is checked for the presence of the Object is checked by using the correlation method to compare the electronic image of the scene with a reference image of the object, includes a learning phase in which a reference image of the object to be recognized is transformed and binarized using a modified census transformation by pixels of the transformed reference image with the mean value formed from these pixels of the transform th reference image are compared and the value of a pixel is set to 1 if it is greater than the mean value and to 0 if it is smaller than the mean value, and - the result of this transformation is stored in a transformed, binarized reference vector and includes a work phase
  • the method according to the invention has the special feature that a modified census transformation in combination with a maximum determination and a threshold value setting is carried out as a special, simplified correlation method with which the electronic image of the scene is checked for the presence of the object for object recognition will.
  • This enables a simplified binarized comparison, by means of which the invention can be implemented with significantly less effort and cost compared to the prior art and, moreover, results can be delivered with an extremely fast frame rate, so that object recognition is possible in real time.
  • a method according to the invention is very well suited for implementation in an electronic circuit, e.g. B. in a Field Programmable Gate Array (FPGA).
  • FPGA Field Programmable Gate Array
  • the algorithm of a method according to the invention for performing a pattern comparison or for recognizing an object in a scene comprises the modified census transformation of a pattern taught in the learning phase (of the object to be recognized) and the recorded image of the scene, combined with a binarization of transformed object and transformed scene, and subsequent binary comparison (exclusive OR) with calculation of the Hamming distance as a measure of the match between the taught pattern and the recorded image.
  • a census transformation the surroundings of the pixel are examined for each pixel of an image window and the pixel is transformed using this surroundings data. Very often these are the eight pixels around a central pixel of a 3x3 neighborhood. Each of the eight pixels is compared to the center pixel. If the value of the pixel is greater than or equal to the value of the central pixel, the pixel returns a binary 1 as the output of the census transformation, otherwise a 0. Transformation means that the brightness of different pixels in an image window is compared with a central pixel. A binary value is formed for each comparison from the respective comparisons with the central pixel, with a census vector being formed from all binary values, which describes the binarized relative brightness or gray value distribution in the image window. In a correlation method, for example, the generated census vectors can then be compared with one another in order to find the same object as reliably as possible in the camera image and the reference image.
  • the output for the pixel is a binary 1 if the value of the pixel is greater than or equal to the mean value of all pixels in the area under consideration, otherwise a 0.
  • the modified census occurs -Transform only assumes that the value of a pixel is set to 1 if it is greater than the mean and to 0 if it is less than the mean.
  • the case where the pixel is equal to the mean can be handled in two alternative ways.
  • the method can be performed such that the value of a pixel is set to 1 if it is greater than or equal to the mean and set to 0 if it is less than the mean, or it can be performed such that the value of a pixel set to 1 if it is greater than the mean and set to 0 if it is less than or equal to the mean.
  • n x m gray value pattern It is therefore possible to use the modified census transformation to describe an n x m gray value pattern. This is done by comparing each of the n x m pixels with the mean value formed from n x m pixels and storing the binary result of this comparison in an n x m bit result vector.
  • An important advantage for the method according to the invention is that the result vector is independent of a linear transformation of the input pixels, ie it is independent of the contrast and brightness offset of the image data.
  • the modified census transformation results in a vector with only n x m bits. This corresponds to a data reduction by a factor of 8 to 10. Nevertheless, essential properties of the original pattern are retained during the transformation, which are also independent of a linear transformation. If you want to check two patterns for their similarity, it is sufficient to compare the bit vectors of the two patterns in binary form after the modified census transformation (via bitwise XOR or EQUIV) and to count the number of matching or different bits, what is called the Hamming distance.
  • the inventive method is particularly simple and can be very easily on logic circuits such.
  • the storage requirement for a transformed, binarized reference vector of a reference image with n ⁇ m bits is also comparatively small.
  • a further advantage of the invention is that objects can also be recognized if they are not completely present in the image of the scene. This often happens in practice, for example when an object is placed at the edge of the picture or is partially covered or covered by another object. Since the method according to the invention does not search for a complete match but only for the maximum match, objects can also be recognized using a part of the complete object, ie the recognition can already take place on parts of the complete pattern. Practice has shown that objects can also be recognized if up to 10% of them are not visible in the scene image.
  • the reference image of the object to be recognized can be recorded by means of an optical sensor in the learning phase.
  • This can expediently be the same optical sensor that is used to record the scene in the working phase that is being checked for the presence of the object.
  • the optical sensor for recording the reference image or the scene is preferably an image acquisition device that supplies digital greyscale images, for example a CCD or a CMOS sensor, a camera module, a circuit board camera, a housing camera or a digital camera.
  • the optical sensor or the object to be taught is first positioned in such a way that the object to be taught lies in the image of the optical sensor.
  • the image section and the zoom size can then be adjusted so that the object to be taught fills the image well.
  • the object is then selected for teaching and saved as a reference. If several objects are to be taught, for example for later sorting tasks in the work phase, this teaching is carried out separately for each object.
  • the recorded scenes are then compared with the reference object or reference objects.
  • the reference image of the object to be recognized can be calculated theoretically in the learning phase, or the reference image of the object to be recognized or the transformed, binarized reference vector can be read from a database. If the reference image is not read in using the optical sensor, but is calculated theoretically from properties of the object, for example its shape or contour, or the reference image or the transformed, binarized reference vector is provided from a database, for example from an earlier acquisition using a optical sensor or an earlier theoretical calculation, the method according to the invention can be switched very quickly and easily between different detection tasks (e.g. the presence or the position of a changed object to be detected) without having to take an image of the detected object must be recorded with the optical sensor.
  • different detection tasks e.g. the presence or the position of a changed object to be detected
  • a further advantageous embodiment can consist in transforming and binarizing a reference image of a plurality of objects to be recognized in the learning phase using a modified census transformation and storing the results of these transformations in transformed, binarized reference vectors, and in the working phase the results of the scene transformation as transformed, binarized scene vectors are sequentially compared to the transformed, binarized reference vectors to detect the multiple objects to be recognized in the scene.
  • a further advantage of the method according to the invention is that in this way several objects to be recognized can be recognized very easily and the associated patterns can be compared.
  • the reference images are recorded in the learning phase using an optical sensor and the transformed, binarized reference vectors are formed therefrom and stored, or the reference images of the object to be recognized are calculated theoretically, or the reference images of the objects to be recognized or the transformed, binarized reference vectors are read from a database.
  • An advantageous modification of this embodiment can consist in the fact that in the learning phase a reference image of a plurality of objects to be recognized is transformed and binarized by means of a modified census transformation and the results of these transformations are stored in transformed, binarized reference vectors, and in During the work phase, the results of the scene transformation as transformed, binarized scene vectors are compared in parallel with the transformed, binarized reference vectors in order to simultaneously recognize the multiple objects to be recognized in the scene.
  • a further advantage of the method according to the invention is that in this way a number of objects to be recognized can also be recognized very easily and the associated patterns can be compared at the same time.
  • the reference images are recorded in the learning phase using an optical sensor and the transformed, binarized reference vectors are formed and stored, or the reference images of the object to be recognized are calculated theoretically, or the reference images of the objects to be recognized or the transformed, binarized reference vectors goals are read from a database.
  • reference images of the object can be recorded in different scales and rotational positions during the learning phase or these can be calculated synthetically from a recording (or calculated theoretically or the reference images of the object to be recognized or the transformed, binarized reference vectors from a database) and save the modified census transformation of these different manifestations of the same object as several transformed, binarized reference vectors, which are searched for in the scene one after the other or simultaneously during the work phase.
  • the comparison can then take place one after the other, just as with different objects, or - preferably in an integrated circuit or FPGA - even in parallel, and by searching for the highest match not only the existence and the position of the object will be determined, but also its rotational position and/or scaling.
  • the methods explained for reducing the image data can be combined in any way and carried out in any order.
  • a first advantageous embodiment can consist in the image of the scene recorded by the optical sensor not being checked completely in one step for the presence of the object, but by means of a search window, which each contains an image section of the scene and which is so over the image of the Scene is performed in that the search window sweeps over the image of the scene, with each search window being checked sequentially for the presence of the object by means of transformed, binarized scene vectors.
  • a moving average of the pixels can be determined in the search window, and both for the calculation of the moving average and for the modified census transformation, the storage of the image data is only necessary for as many lines as the vertical extension of the search window corresponds to .
  • the size of a search window can advantageously be between 8 ⁇ 8 and 128 ⁇ 128 pixels, preferably 48 ⁇ 48 pixels. It is therefore large enough that the reference image of the object to be recognized or the object to be recognized is completely contained in it, even if it is a complex or extensive object.
  • a second advantageous embodiment can consist in the number of pixels in the image of the scene recorded by the optical sensor being reduced before the transformed, binarized scene vectors are formed. In practice it is often necessary to reduce the image of the optical sensor (e.g.
  • CMOS sensor for use in the method according to the invention.
  • VGA resolution 640 x 480 pixels
  • higher resolutions (1280 x 800 pixels or more).
  • the large number of pixels leads to a high computational effort during processing, especially given that frame rates of over 100 frames per second are desirable for use in factory automation. For this reason, in one of the first processing steps, the number of pixels in the image of the scene captured by the optical sensor can be reduced. This can be done in a number of ways, which can be done individually or in combination.
  • a first variant consists in that a partial image (so-called “region of interest”) is selected from the image of the scene recorded by the optical sensor. Only the partial image is then checked for the presence of the object, the other parts of the scene are ignored.
  • a partial image can be selected, for example, by setting a window or by "cropping".
  • a second variant consists in the image of the scene recorded by the optical sensor being reduced in resolution.
  • This primarily means the reduction of the physical image resolution, i.e. the number of picture elements per length or the pixel density, but the gray value resolution (e.g. from 16 to 8 bits) can also be reduced.
  • the reduction of the resolution can be preferred by a suitable Binning (combining adjacent picture elements), for example by summation or averaging of adjacent pixels, or an image pyramid (smoothing and downsampling).
  • the reduction in resolution can be selected in variably adjustable steps.
  • a third variant consists in the image of the scene recorded by the optical sensor being processed by subsampling, with only individual or some pixels of the image of the scene being read out and processed to transformed, binarized scene vectors and the others are left out. Omitting pixels from the image of the scene, which can also be referred to as "thinning out", so that they are ignored and not taken into account in the object detection according to the invention, can have various advantages.
  • this reduces the memory requirement required for the comparison vectors, and on the other hand, the outlay on circuitry and the time required for sequential processing are also reduced. It is e.g. B. only necessary to compare the depleted pixels in the window with the mean value of the window.
  • the pixels of the image of the scene from which transformed, binarized scene vectors are formed can be selected in various ways, for example according to a fixed scheme (e.g. certain rows and columns or certain areas) or according to a random or pseudo-random scheme .
  • a fixed scheme e.g. certain rows and columns or certain areas
  • a random or pseudo-random scheme e.g. certain pseudo-random sequences.
  • common pseudo-random sequences often have the problem that they are intrinsically correlated, the use of a random sequence made from physical noise is preferred.
  • the object is quickly searched for and recognized using a method according to the invention, if necessary according to one or more of the advantageous further designs, for example the number of pixels in the image of the scene recorded by the optical sensor is reduced before the transformed, binarized scene vectors are formed.
  • the result found in the first stage is then verified by additionally carrying out a more precise object recognition in the area of the image of the scene in which the object was recognized in the first stage.
  • a method according to the invention can advantageously be used in the field of machine vision in industrial environments, manufacturing and applications as described above in the introductory part of this patent application. These include, in particular, recognizing the presence of an object (pattern), ie z. B. a distinction between an object present and not present or a qualitative statement about a scene such as good/bad or right/wrong, recognizing the position of an object (e.g. for bonders, placement machines and gluing processes), recognizing the rotational position of an object or performing pattern comparisons (e.g. to select one object among many, for example for sorting tasks).
  • a system according to the invention and a device according to the invention for detecting an object in an electronic image of a scene, comprising an optical sensor for recording an electronic image of a scene and a digital data processing unit for processing image data, is characterized in that the system or the Device is designed to carry out a method according to any one of the preceding claims.
  • a device can in particular be an image processing sensor which, integrated on a circuit board, comprises an optical sensor for recording an electronic image of a scene and a digital data processing unit for processing image data according to the method according to the invention.
  • the digital data processing unit can preferably be an FPGA module, a processor, a memory and a peripheral interface.
  • the method according to the invention can be modified in various ways. These modifications include, for example, the following (instead of modified census transformation and comparison):
  • a first modification consists in that the object in the image of the scene is not sought by comparing binarized vectors transformed with the modified census transformation, but by means of an absolute difference correlation (ADF).
  • ADF absolute difference correlation
  • the gray values of the image of the scene and the object (pattern) in the search window are subtracted and the amount of the difference is added up as an error measure.
  • the procedure works with any standard, e.g. B. also with the Euclidean norm.
  • a second variant consists in that the object in the image of the scene is not sought by comparing binarized vectors transformed with the modified census transformation, but by means of a Normalized Correlation Function (NCF).
  • NCF Normalized Correlation Function
  • brightness and contrast are normalized both for the search window in the image of the scene and for the object (pattern).
  • the standardization of the object (pattern) can already take place in the learning phase; the normalization for the search window is carried out using a telescopic method, that is to say with a sliding mean value in a search window.
  • a third modification consists in the fact that when the image of the scene is undersampled, the pixels of the image of the scene from which transformed, binarized scene vectors are formed are selected to lie along an object contour. This takes into account the fact that image areas with constant image brightness contain little information overall. keep. Rather, the information content lies in image areas with strong changes, i.e. in the contours. These are distinctive for a specific object. This saves the comparison of pixels, which contribute little to the description of the object anyway.
  • the disadvantage of the method is that if there are several reference patterns, the union set of all contour pixels for each object used must be compared, otherwise the generation of the maximum will not work. This can quickly lead to this strategy becoming inefficient.
  • a fourth modification may be as follows.
  • the objects to be searched for (pattern) or the object to be searched for (pattern) are typically taught once and no longer changed for a search task.
  • Use in an optical computer mouse is also possible. Since it is easily possible to compare several samples in parallel, this method makes it possible to measure not only a linear movement in the X and Y directions, but also a rotation.
  • FIG. 1 shows a simplified diagram of a method according to the invention
  • FIG. 2 shows a census transformation of a search window
  • FIG. 3 shows a modified census transformation of a search window
  • FIG. 4 shows a modified census transformation with a random selection of pixels in the search window
  • FIG. 5 the application principle of a search window
  • FIG. 6 shows an exemplary embodiment of a hardware implementation of the invention
  • FIG. 8 the acceleration of the method by means of several “embedded block RAMs” (EBR) and
  • FIG. 9 shows an exemplary basic sketch of components of a system according to the invention.
  • FIG. 1 illustrates the basic sequence of a pattern recognition method according to the invention for the case that in the learning phase L the reference image of the object to be recognized is recorded by means of an optical sensor 1 .
  • the learning phase L is shown in the upper part of FIG.
  • An optical sensor 1 is used to take a picture 2 of a reference image of the object to be recognized later in a scene.
  • Such an object can be any object that is characterized in particular by its shape, contour, size or rotational position, but can also be individualized by other parameters (surface texture, labeling, etc.).
  • an output image has 1280 x 800 pixels.
  • a pre-processing 3 of the image data which in particular sets a search window or data reduction by selecting a sub-image, reducing the resolution, for example by binning or an image pyramid, or undersampling, for example by using a fixed scheme, a random or pseudo-random scheme or physical noise. This reduces the image size to 128 x 128 pixels, for example.
  • the features are reduced by means of a modified census transformation 4, and the result of this transformation is stored in a transformed, binarized reference vector.
  • the learning phase L is carried out once for an object to be recognized.
  • the learning phase L is carried out once for each of several different objects.
  • the reference image of the object to be recognized can be calculated theoretically in the learning phase L, or the reference image of the object to be recognized or the transformed, binarized reference vector can be read from a database.
  • the work phase A is shown in the lower part of FIG.
  • an image 2 of a scene is generated by means of an optical sensor 1, which is checked for the presence of the object learned in the learning phase L to be recognized.
  • an output image has 1920 x 1080 or 1280 x 800 pixels with a refresh rate of 100 Hz.
  • the acquisition 2 is in turn followed by pre-processing 3 of the image data, which in particular involves setting a search window or data reduction by selecting a partial image, reducing the resolution, for example by binning or an image pyramid, or undersampling, for example by Using a fixed scheme, one random or pseudo-random schemes or physical noise.
  • the image can also be enlarged or reduced according to the settings selected by the user (zoom function).
  • the image size is reduced by preprocessing 3 to 48 x 48 or 128 x 128 pixels, for example. After that, the
  • Feature reduction using a modified census transformation 4 and the results of this scene transformation are stored and processed as transformed, binarized scene vectors.
  • the classification is also carried out with statement 8 using a pattern comparison 5, in which the transformed, binarized scene vectors are compared with the transformed, binarized reference vector, with the Hamming distances, i.e. the number of matching bits, between the transformed, binarized scene vectors and the transformed, binarized reference vector are determined as a measure of agreement and in a maximum determination 6 that transformed, binarized scene vector is determined which has the greatest agreement with the transformed, binarized reference vector.
  • a threshold value 7 is used. Images that do not meet the threshold are assumed not to contain the object.
  • the setting of the threshold value 7 thus determines the degree of correlation between the object and the scene required for a positive statement 8 .
  • the object to be recognized is classified as recognized in the scene or an affirmative statement 8 is made if the degree of agreement of the transformed, binarized scene vector, which has the greatest agreement with the transformed, binarized reference vector, exceeds the predetermined threshold value 7 increases.
  • the invention relates to a method for machine vision and image recognition for recognizing an object in an electronic image captured by an optical sensor 1 . It is proposed to teach in a learning phase L a reference image of the object to be recognized and to compare it with the image of the scene in a working phase A, with the pattern comparison 5 between the object and scene being seen by means of a modified census transformation 4 with maximum determination 6 takes place and for a positive statement 8 the degree of agreement must exceed a threshold value 7 .
  • the invention thus relates to the optical detection of objects, with an image of a scene being compared with a reference image of the object and the object being identified in the image using a correlation method.
  • the correlation method is based on a modified census transformation of object and image of the scene, the calculation of the Hamming distance of the vectors resulting from the transformation and a maximum determination with threshold value setting in order to identify the object to be recognized in the image of the scene.
  • the pattern comparison 5 can be carried out with a respective maximum search for each object in parallel between the (only once) transformed, binarized scene vectors and the transformed, binarized reference vector belonging to an object.
  • a match value is determined for each of the stored objects. This calculation can be done in parallel and at the same time for all objects.
  • Such an embodiment can be used, for example, when performing a sorting task when multiple objects need to be distinguished.
  • that object is then output that has the greatest correspondence to the recorded image.
  • the match value must be greater than a threshold value so that the object is classified as recognized.
  • work phase A can be repeated for this object with transformed, binarized scene vectors that belong to the object and its immediate surroundings in the image of the scene.
  • the pre-processing 3 of the image data no or less data reduction is carried out than in the first statement 8, so that the more precise repetition of the work phase A in the area of the scene belonging to the found object means that the statement 8 is more accurate, for example a higher resolution, is checked and thus becomes more reliable.
  • the preprocessing 3 in the preceding learning phase L is to be adapted accordingly to the changed preprocessing of the working phase A, if necessary. Additional checking of a specific detected area requires very little additional processing time.
  • the statement 8 on an object recognized in the work phase A can also be made using the recording 2 or its image data after a pre-processing 3 by a common, out-of-the-box computer vision and image recognition methods known in the art for detecting an object in an electronic image.
  • Figure 2 shows a census transform for a 3 x 3 pixel area. The comparison of pixels "1", “2", “3”, etc. is made with pixel C, for example in this order.
  • Figure 3 shows a modified census transform for a 3 x 3 pixel region.
  • the comparison of the pixels I 0 Ii ... Is takes place with the mean value avg
  • Figure 4 shows a modified census transform in a 48 x 48 window.
  • the comparison of the pixels I 0 , Ii ... I k with k ⁇ 2303 takes place with the mean value avg
  • FIG. 5 shows the application principle of a search window in the method according to the invention, in which the pattern comparison is carried out by means of a modified census transformation.
  • the image of the scene 9 recorded by the optical sensor 1, which may have been reduced in a preprocessing 3, is not completely checked in one step for the presence of the object in the exemplary embodiment shown with a resolution of 128 ⁇ 128 pixels , but by means of a search window 10.
  • the search window 10 includes in each case an image section 11 of the scene, in the exemplary embodiment shown with 48 x 48 pixels each, and it is guided over the image of the scene 9 in such a way that it sweeps over the image of the scene 9, with a search window 10 being sequentially created in each case by means of transformed, binarized scene vectors is checked for the presence of the object.
  • the transformed, binarized scene vectors in the search window 10 are randomly selected according to FIG.
  • the mean value avg is the mean value of all pixels in the 48 x 48 pixel search window 10
  • the bits b i of the scene vector, the length of which is k ⁇ 2303 bits, are set to 0 if l i ⁇ avg and to 1 set if I, > avg.
  • FIG. 6 shows an exemplary embodiment of a hardware implementation of the invention.
  • a CMOS sensor with a resolution of 1280 ⁇ 800 pixels and a global shutter is used as the optical sensor 1 .
  • Its video data is output as "Mipi CSI2", for example.
  • the image data output by the optical sensor 1 are reduced by means of a pre-processing 3 .
  • the preprocessing 3 comprises two areas, namely the selection 12 of image data on the optical sensor 1 itself or the limitation of the image data recorded by the optical sensor 1, and the reduction 13 of the image data output by the optical sensor 1.
  • the selection 12 binning to 640 ⁇ 400 pixels and the selection of a partial image of the scene (“region of interest”) are carried out by “cropping” with the control of shutter and gain.
  • the reduction 13 takes place by means of an image pyramid.
  • the factor of the image reduction in variably adjustable steps, e.g. B. integer increments to choose.
  • the selection 12 takes place directly on the CMOS sensor and the reduction 13 (Averaging, pyramid) in a stage that is implemented in the FPGA of the device, like all function blocks marked with (*) in FIG.
  • the resulting gray image of video data of the reduced image 14 then only has a resolution of 128 ⁇ 128 pixels.
  • the search window was realized with a fixed size of 48 x 48 pixels.
  • the moving average avg is first determined in the search window. This is preferably done with a so-called telescope, i.e. once the mean value for all image windows in the top line has been calculated, only two additions and two subtractions as well as normalization are required for each further result, because most pixels and also the sum of which agrees with the neighboring search windows. This speeds up the calculation of the mean value, since it does not have to be recalculated from scratch for all the pixels taken into account, but only the changed pixels resulting from the shifting of the search window are taken into account in the floating calculation. To calculate the moving average and also for the modified census transformation, it is necessary to store the image data for as many lines as the vertical extent of the search window corresponds to.
  • the memory 15 was implemented as an "embedded block RAM" in an FPGA, specifically in six EBR blocks of 1 kbyte each, each of which is configured as a dual-port RAM.
  • the RAM is loaded sequentially via a described random followed addressed.
  • the position of the selected pixels in the search window is distributed as randomly and evenly as possible in the window; However, the sequence is the same for all search windows, which is why it can be stored in the FPGA, e.g. B. in a ROM.
  • an address generator For each x-y position of the search window, an address generator generates the random sequence for the RAM, which outputs the corresponding gray value information for the pixel. This is compared in the pattern matching stage 18 with the previously calculated moving average avg, yielding one bit of the modified census transform for the search window.
  • This result bit can be compared immediately by means of an XOR logic comparison with the corresponding bit of a previously stored, transformed, binarized reference vector RI, which belongs to the object sought.
  • the reference vector RI is preferably stored in a shift register. The number of matching pixels is counted in a counter ZI. After sufficient (fixed value k) "samples" have been compared, the search window moves one pixel to the right or at the last pixel in a line to the beginning (left) of the next line.
  • FIG. 6 also shows that it is possible with relatively little effort to simultaneously compare several stored objects with the modified census transformation of the search window and thus to search in the search window or the image of the scene at the same time.
  • a transformed, binarized reference vector is stored for each object to be checked (in the exemplary embodiment RI, R2, R3 and R4) and the XOR comparison with the search window takes place in parallel and at the same time, with the number of matching pixels in one respective counter (in the exemplary embodiment ZI, Z2, Z3 and Z4) is stored.
  • the respective sliding maximum for the counter or correspondence value and its position in the x and y direction and the identification of the corresponding object are stored with a subsequent determination of the maximum.
  • these values or results become globally valid for the entire image and can be read out by a microprocessor via the readout 19 . It is also possible to use the microprocessor to read out the partial values immediately when they are generated and to use a program to determine the maximum.
  • the readout 19 takes place via a DMA channel 20 for the microprocessor, via which the video data for the reduced image 14 can also be transmitted.
  • This type of maximum determination is also referred to as a "winner-takes-AN" strategy.
  • a threshold value is used to enable an object to be recognized with sufficient accuracy. Images of the scene that do not meet the threshold are assumed not to contain the object.
  • FIG. 7 illustrates the determination of the maximum in detail.
  • the current modified census transformation values 21 provided by the pattern comparison stage are compared with the reference vectors R and the number of matching pixels is counted in a respective counter Z.
  • the current image position 22 is provided from the x and y registers.
  • the maximum determination 23 the respective maximum match is determined and the x-position, the y-position, the identification n of the associated object and the counter value 24 for the maximum found are saved. Via readout 19, these values are output once per image to a microprocessor for further evaluation.
  • the maximum determination can also be carried out in the FPGA instead of in a microprocessor.
  • FIG. 8 shows how the method can be accelerated by means of a number of “embedded block RAMs” (EBR).
  • EBR embedded block RAMs
  • additional acceleration is achieved by the fact that each of the EBRs used (a total of six block RAMs) can be read out in parallel, each with two ports, which makes parallelization and speed increase by a factor of 12 possible. 6144 bytes of buffer memory are required to store 48 lines with 128 pixels (eight bits each).
  • the FPGA used provides EBR memory with 1024 bytes each.
  • the EBRs can be configured as dual port RAM.
  • the pixel input 25 is compared in parallel with the comparison value avg by means of the six EBRs and twelve comparators 26 . In this way, twelve comparisons can be carried out simultaneously per cycle, which means a speedup by a factor of twelve. One cycle must be reserved per processing step only for entering and moving on new pixels.
  • FIG. 9 shows an exemplary basic sketch of components of a system according to the invention.
  • the optical sensor 1 has a resolution of 1280 ⁇ 800 pixels, for example.
  • the pre-processing 3 of the image data is carried out with an FPGA, for example by means of an image pyramid or by controlling the binning and cropping of the optical sensor 1.
  • the video data from the optical sensor 1 are transmitted via two Mipi CSI2 lanes to the FPGA, which transmits the optical sensor via controls an I 2 C interface.
  • the reduced video data is transferred from the FPGA in parallel to a microprocessor 27 or microcontroller with data memory (RAM), program memory (QSPI) and DMA.
  • the microprocessor controls the FGPA via an I 2 C and SPI interface.
  • Various peripheral Interfaces 28 e.g.
  • Ethernet, LAN, I 2 C, SPI, serial, IO-Link, Profinet can enable the microprocessor to communicate with the periphery.
  • a display and control unit 29 is optionally provided.
  • a power supply 30 can serve as a power sequencer, monitor and reset.

Abstract

Die Erfindung betrifft ein Verfahren zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objektes in einem elektronischen Bild, das mittels eines optischen Sensors (1) aufgenommen wird. Erfindungsgemäß wird vorgeschlagen, in einer Lernphase (L) ein Referenzbild des zu erkennenden Objektes einzulernen und in einer Arbeitsphase (A) mit dem Bild der Szene zu vergleichen, wobei der Mustervergleich (5) zwischen Objekt und Szene mittels einer modifizierten Census-Transformation (4) mit Maximumsermittlung (6) erfolgt und für eine positive Aussage (8) der Grad der Übereinstimmung einen Schwellwert (7) übersteigen muss.

Description

Verfahren und System bzw. Vorrichtung zum Erkennen eines Objektes in einem elektronischen Bild
Die Erfindung betrifft ein Verfahren und ein System bzw. eine Vorrichtung zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objek tes in einem elektronischen Bild. Sie bezieht sich auf das Gebiet der Mustererkennung (englisch pattern recognition), bei der allgemein in einer Menge von Daten Regelmäßigkeiten, Wiederholungen, Ähnlichkeiten oder Gesetzmäßigkeiten erkannt werden müssen. Typische Beispiele für die Anwendungsgebiete einer Mustererkennung sind Spracherkennung, Text erkennung und Gesichtserkennung. Die Mustererkennung ist auch für all- gemeinere Gebiete wie die Künstliche Intelligenz oder das Data-Mining von zentraler Bedeutung.
Ein Mustererkennungsprozess lässt sich in mehrere Teilschritte zerlegen, bei denen am Anfang die Erfassung und am Ende eine ermittelte Klassifi- kation stehen. Bei der Erfassung werden Daten oder Signale mittels Sen soren aufgenommen und digitalisiert, z. B. ein digitales Bild einer Szene mittels einer Digitalkamera aufgenommen. Aus den meist analogen Signa len werden Muster gewonnen, die sich mathematisch in Vektoren, soge nannten Merkmalsvektoren, und Matrizen darstellen lassen. Zur Daten- reduktion und zur Verbesserung der Qualität findet eine Vorverarbeitung der Signale statt. Durch Extraktion von Merkmalen werden die Muster bei der Merkmalsgewinnung anschließend in einen Merkmalsraum transfor- miert. Die Dimension des Merkmalsraums, in dem die Muster nun als Punkte repräsentiert sind, wird bei der Merkmalsreduktion auf die wesent lichen Merkmale beschränkt. Der abschließende Kernschritt ist die Klassifi kation durch einen Klassifikator, der die Merkmale verschiedenen Klassen zuordnet. Das Klassifikationsverfahren kann auf einem Lernvorgang mit Hilfe einer Stichprobe basieren.
Um in den erfassten Signalen oder Daten Muster besser erkennen zu kön nen, findet in der Regel eine Vorverarbeitung statt. Die Entfernung bzw. Verringerung unerwünschter oder irrelevanter Signalbestandteile führt nicht zu einer Reduktion der zu verarbeitenden Daten, dies geschieht erst bei der Merkmalsgewinnung. Mögliche Verfahren der Vorverarbeitung sind unter anderem die Signalmittelung, Anwendung eines Schwellwertes und Normierung. Gewünschte Ergebnisse der Vorverarbeitung sind die Verrin- gerung von Rauschen und die Abbildung auf einen einheitlichen Werte bereich.
Nach der Verbesserung des Musters durch Vorverarbeitung lassen sich aus seinem Signal verschiedene Merkmale gewinnen. Dies geschieht in der Regel empirisch nach durch Intuition und Erfahrung gewonnenen Verfah ren, da es wenige rein analytische Verfahren (z. B. die automatische Merkmalsynthese) gibt. Welche Merkmale wesentlich sind, hängt von der jeweiligen Anwendung ab. Merkmale können aus Symbolen beziehungs weise Symbolketten bestehen oder mit statistischen Verfahren aus ver- schiedenen Skalenniveaus gewonnen werden. Bei den numerischen Ver fahren unterscheidet man Verfahren im Originalbereich und Verfahren im Spektralbereich. Mögliche Merkmale sind beispielsweise Kennzahlen der Verteilungsfunktion, Momente wie Erwartungswert und Varianz, Korre lation und Faltung.
Mittels Transformationen wie der diskreten Fourier-Transformation (DFT) und diskreten Kosinustransformation (DCT) können die ursprünglichen Signalwerte in einen handlicheren Merkmalsraum gebracht werden. Die Grenzen zwischen Verfahren der Merkmalsgewinnung und Merkmals reduktion sind fließend. Da es wünschenswert ist, möglichst wenige, aber dafür umso aussagekräftigere Merkmale zu gewinnen, können Beziehun- gen wie die Kovarianz und der Korrelationskoeffizient zwischen mehreren Merkmalen berücksichtigt werden. Mit der Karhunen-Loeve-Transforma- tion (Hauptachsentransformation) lassen sich Merkmale dekorrelieren.
Zur Reduktion der Merkmale auf die für die Klassifikation wesentlichen wird geprüft, welche Merkmale für die Klassentrennung relevant sind und welche weggelassen werden können. Verfahren der Merkmalsreduktion sind die Varianzanalyse, bei der geprüft wird, ob ein oder mehrere Merk male Trennfähigkeit besitzen, und die Diskriminanzanalyse, bei der durch Kombination von elementaren Merkmalen eine möglichst geringe Zahl trennfähiger nichtelementarer Merkmale gebildet wird.
Der letzte und wesentliche Schritt der Mustererkennung ist die Klassifizie rung der Merkmale in Klassen. Dazu existieren verschiedene Klassifika tionsverfahren.
Die Erfindung richtet sich auf ein Teilgebiet der Mustererkennung (englisch pattern recognition) und der Bildverarbeitung (englisch digital image Pro cessing), nämlich auf die Bilderkennung (englisch image analysis). In der Bilderkennung versucht man, aus einem digitalen Bild durch automatische Bildverarbeitungstechniken, z. B. mittels eines Computers, einer elektri schen Schaltung, einer Digitalkamera oder eines Mobilphones, eine nütz liche Information zu extrahieren. Beispielweise werden zweidimensionale Bilder beim maschinellen Sehen und dreidimensionale Bilder in der Medi zin erkannt. Zu den dabei angewandten Bildverarbeitungstechniken zäh- len u.a. das Erkennen von zwei- und dreidimensionalen Objekten (eng lisch object recognition) und die Segmentierung. Die Segmentierung ist ein Teilgebiet der digitalen Bildverarbeitung und des maschinellen Sehens. Die Erzeugung von inhaltlich zusammenhän genden Regionen durch Zusammenfassung benachbarter Pixel (Bildpunkt in einem zweidimensionalen Bild) oder Voxel (Bildpunkt in einem drei- dimensionalen Gitter) entsprechend einem bestimmten Homogenitätskri terium bezeichnet man als Segmentierung. Dabei werden Objekte in einem Bild segmentiert. Diesen wird eine symbolische Beschreibung zuge wiesen. Die Segmentierung ist im Prozess des maschinellen Sehens übli cherweise der erste Schritt der Bildanalyse, deren Ablauf wie folgt ist: Szene, Bildaufnahme, Bildvorverarbeitung, Segmentierung, Merkmals extraktion, Klassifizierung, Aussage.
Es sind viele Verfahren zur automatischen Segmentierung bekannt. Grundsätzlich werden sie oft in pixel-, kanten- und regionenorientierte Verfahren eingeteilt. Zusätzlich unterscheidet man modellbasierte Verfah ren, bei denen man von einer bestimmten Form der Objekte ausgeht, und texturbasierte Verfahren, bei denen auch eine innere homogene Struktur der Objekte berücksichtigt wird. Die Grenzen zwischen den Verfahren sind oft fließend. Auch kann man verschiedene Verfahren kombinieren, um bessere Ergebnisse zu erzielen.
Von Segmentierung spricht man, wenn auf einem binarisierten Bild ein zelne Objekte abzählbar werden. Jedes segmentierte Objekt wird dann z. B. durch eine Lauflängencodierung der binarisierten Pixel beschrieben. Die Binarisierung ist die Vorstufe einer Segmentierung. Das verbreitetste Binarisierungsverfahren ist sicherlich das Schwell wert- Verfahren. Dieses Verfahren beruht auf einem Schwellwert, der am besten über ein Histo gramm bestimmt wird. Ein Problem vieler Segmentierungsalgorithmen ist die Anfälligkeit für wechselnde Beleuchtung innerhalb des Bildes. Dies kann dazu führen, dass immer nur ein Bildteil korrekt segmentiert wird, in den anderen Bildteilen die Segmentierung aber unbrauchbar ist. Die Erfindung betrifft das Gebiet des maschinellen Sehens bzw. des Bild- erkennens (auch Bildverstehen genannt). Diese Begriffe beschreiben im Allgemeinen die computergestützte Lösung von Aufgabenstellungen, die sich an den Fähigkeiten des menschlichen visuellen Systems orientieren. Typische Aufgaben des maschinellen Sehens sind die Objekterkennung und die Vermessung der geometrischen Struktur von Objekten sowie von Bewegungen (Fremdbewegung, Eigenbewegung). Dabei wird auf Algorith men aus der Bildverarbeitung zurückgegriffen, zum Beispiel die Segmen tierung, und auf Verfahren der Mustererkennung, beispielsweise zur Klas- sifizierung von Objekten. Die Objekterkennung wird vereinfacht auch als Mustererkennung bezeichnet.
Maschinell sehende Systeme und Vorrichtungen werden vor allem in industriellen Herstellungsprozessen in den Bereichen Automatisierungs- technik und Qualitätssicherung eingesetzt. Weitere Einsatzgebiete finden sich zum Beispiel in der Verkehrstechnik - von der einfachen Radarfalle bis hin zum "sehenden Fahrzeug" - und in der Sicherheitstechnik (Zu trittskontrolle, automatische Erkennung von Gefahrensituationen). Dabei werden beispielsweise folgende Aufgabenstellungen gelöst: Produktkon- trolle durch automatische optische Inspektion, Defekterkennung unter Oberflächen, Form- und Maßprüfung, Lageerkennung, Oberflächeninspek tion, Objekterkennung, Schichtdickenmessungen, Vollständigkeitsprüfung.
In industriellen Umgebungen werden Techniken des Bildverstehens einge- setzt. Computer unterstützen beispielsweise die Qualitätskontrolle und vermessen einfache Gegenstände. Die Vorteile können ein höheres Quali tätsniveau, Analyse von Störgrößen und Prozessverbesserung, weniger Ausschuss, Absicherung der Lieferanten kette, Überwachung hochdynami scher Produktionsprozesse und eine Kostenoptimierung sein. Wichtig für ein fehlerfreies Ablaufen der Algorithmen ist dabei im Stand der Technik die weitgehende Einhaltung vorgegebener Umgebungsbedingungen (Ka- meraposition, Beleuchtung, Geschwindigkeit des Fließbandes, Lage der Objekte usw.).
Beispiele für den Einsatz maschinellen Sehens in industriellen Umgebun- gen, Fertigungen und Anwendungen sind:
Auf einem Förderband werden Beilegscheiben kontrolliert, um die Maßhaltigkeit zu überprüfen und die Fehlerquote des Endprodukts um mehrere Zehnerpotenzen zu verkleinern.
Schweißroboter werden an die richtige Schweißposition gesteuert.
Automatische optische Qualitätskontrolle von Werkstücken (zum Beispiel: Ist das Bohrloch an der richtigen Stelle?)
Sortierung und Fehlererkennung von Teilen und Werkstücken, bei spielsweise von Schüttgut, Platinen, Fotodrucken.
In der Fabrikautomation gibt es häufig Vorgänge, bei denen Teile sortiert oder defekte von guten Teilen unterschieden werden müs sen. Beispielsweise ist es beim Zuführen von Teilen mit einem Schwingförderer oft erforderlich, eine oder mehrere Drehlagen von Teilen zu detektieren, um Teile in ungeeigneter Drehlage vor der Verarbeitung auszuschleusen.
Weitere ähnliche Aufgaben gibt es zum Beispiel bei dem Erkennen von Mustern auf Etiketten, etwa um Etiketten zu zählen, die Kor rektheit der Aufschrift zu prüfen oder um Rückschlüsse auf die Schnittkante zwischen zwei Etiketten zu schließen, bei denen diese auseinandergeschnitten werden können. Eine weitere Aufgabenstellung ist das Erkennen von Passermarken (englisch fiducial marker) zum Beispiel auf Leiterplatten oder inte grierten Schaltungen. Es werden elektronische Bauteile und Pas sermarken vermessen, um eine möglichst genaue Bestückung zu erzielen. Bei integrierten Schaltungen wird oft auch nur ein ein deutig identifizierbares Muster auf dem Chip zur Positionsbestim mung (englisch image registration) verwendet.
Für derartige Aufgaben werden zunehmend als abbildende Sensorik elek- ironische Sensoren verwendet, die eine integrierte Bildverarbeitung auf weisen. In der Regel wird mit dieser Art von Bildverarbeitungssensoren ein zweidimensionales Bild der Szene aufgenommen. Dabei ist es wün schenswert, wenn die Erkennung bereits auf Teilen des kompletten Mus ters erfolgen könnte, weil in der Praxis die Teile oft partiell verdeckt sein können.
Ein erstes bekanntes Verfahren für die Objekterkennung basiert auf einer konturbasierten Mustererkennung von Objekten in einem Bild, beispiels weise mittels des Sensors "VISOR® Object" der SensoPart Industriesen- sorik GmbH mit Canny Edge Detektion und generalisierter Hough-Trans- formation. Der Vorteil dieses Verfahrens ist seine hochauflösende, präzise Teilefindung und Lagebestimmung (Position und Drehlage), und zwar weitgehend unabhängig von Drehlage und Skalierung des Objektes. Seine Nachteile sind jedoch, dass es einen hohen apparativen Aufwand und Rechenbedarf erfordert und daher kostenaufwändig und langsam ist.
Ein anderes bekanntes Verfahren für die Objekterkennung basiert auf einem Mustervergleich mittels der normierten Kreuzkorrelation (NCF), bei der für jedes Muster ein Pixel-zu-Pixel Vergleich (Skalarprodukt der Grau- werte von Bild und Muster) durchgeführt werden muss. Dieses Verfahren wird beispielsweise bei Die- und Wafer-Bondern und bei Leiterplatten bestückungsmaschinen angewendet. Es hat die Vorteile, dass es ein jahr- zehntelang angewendeter Standard ist und eine gute Performance für nichtrotierte und nichtskalierte Muster (Objekte) aufweist. Seine Nachteile sind jedoch, dass es ebenfalls einen hohen apparativen Aufwand und Rechenbedarf erfordert und daher kostenaufwändig und langsam ist.
Die bekannten Verfahren, Systeme und Vorrichtungen erfordern allgemein einen hohen apparativen Aufwand und Rechenbedarf und sind somit kostenaufwändig und langsam. In der EP 3 118 812 Al wurde daher ein Sensor mit Hintergrundvergleich vorgeschlagen, bei dem zur Bildverarbei- tung eine Bildreduktion, Glättung, Gradientenberechnung und ein zweistu figes Suchverfahren verwendet werden. Auch in der EP 3 258 442 Al wurde ein Bildverarbeitungssensor mit einer integrierten Bildverarbeitung beschrieben, bei dem Objekte durch den Vergleich mit einem Hinter grundbild erkannt werden. Die dort vorgeschlagenen Lösungen haben den Vorteil, dass sie kostengünstig realisiert werden können und sehr schnell arbeiten. Der Nachteil besteht jedoch darin, dass für die Objekterkennung ein konstanter Hintergrund erforderlich ist, was die praktische Nutzbarkeit einschränkt. Aus der US 2015/0003736 Al ist ein Verfahren zum Extrahieren von 3D- Daten bekannt. Diese Druckschrift bezieht sich auf ein Verfahren zum Auswerten von Stereo-Bildern. Bei derartigen Verfahren werden aus unterschiedlichen Positionen zwei Bilder einer Szene aufgenommen. Die beiden Bilder werden typischerweise zunächst epipolar-korrigiert (rektifi- ziert) und danach kann man die Bilder beider Kameras matchen, indem man sie zeilenweise mittels eines Korrelationsverfahrens vergleicht. Man wählt also ein Muster in dem einen Bild und sucht ein ähnliches in dem anderen. In dem Korrelationsverfahren kann beispielsweise eine Census- Transformation verwendet werden, siehe z. B. C. Ahlberg et al., The gene- tic algorithm census transform: evaluation of census Windows of different size and level of sparseness through hardware in-the-loop training, Journal of Real-Time Image Processing (2021) 18:539-559, published online on 6 July 2020.
In der US 2015/0003736 Al ist das Muster, das zum Matchen der beiden Stereo-Bilder verwendet wird, kein Teil des eines Objektes, das in der Szene aufgenommen wird, sondern hierzu dient ein vorgegebenes, ein faches Muster, beispielsweise ein heller Fleck mit einer zweidimensionalen Gaußschen Intensitätsverteilung, das beim Aufnehmen der Bilder auf die Szene projiziert wird, beispielsweise mittels eines Lasers. Beim Auswerten der Stereo-Bilder werden die Positionen der Punkte dieses projizierten Musters in den Bildern bestimmt. Dabei wird das projizierte Muster mittels der modifizierten Census-Transformation transformiert und abgespeichert. Die beiden Stereo-Bilder werden ebenfalls durch eine modifizierte Census- Transformation transformiert und die transformierten Bilder werden mit dem transformierten Muster verglichen, um es darin zu lokalisieren. Da das projizierte Muster relativ klein oder simpel ist, reichen für den Ver gleich kleine Fenster der Größe 3 x 3, 5 x 5 oder 7 x 7 Pixel aus. Das bekannte Verfahren wird iterativ durchgeführt, um die Punkte des proji zierten Musters sukzessiv in verschiedenen Vergrößerungsstufen der Bi I- der zu finden.
Mit dem aus der US 2015/0003736 Al bekannten Verfahren ist es zwar möglich, die Position eines in eine Szene projizierten Musters in von der Szene aufgenommenen Stereobildern zu bestimmen, aber es ist damit nicht möglich, eine Objekterkennung in einem Bild durchzuführen, d. h. ein elektronisches Bild einer Szene durch maschinelles Sehen und Bild erkennen darauf zu überprüfen, ob ein zu erkennendes Objekt (ein Gegenstand) in der Szene vorhanden ist oder nicht. Mit dem bekannten Verfahren kann nicht vorgegeben werden, welches Objekt in einer durch das Verfahren unveränderten Szene gesucht werden soll, sondern es kann nur die Position eines Musters bestimmt werden, von dem bekannt ist, te) dass es in der aufgenommenen Szene vorhanden ist, weil es zusätzlich in die Szene projiziert wird.
Ausgehend von diesem Stand der Technik liegt der vorliegenden Erfindung die Aufgabe zugrunde, ein Verfahren und ein System bzw. eine Vorrich tung zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objektes in einem elektronischen Bild zu schaffen, mit denen ein Objekt in einem Bild einer Szene mit geringem apparativem Aufwand und Rechenbedarf und daher kostengünstig und schnell erkannt werden kann. Statt eines Objektes kann auch ein Muster erkannt werden. Im Folgenden werden die Begriffe Objekt und Muster bzw. Objekt- und Mustererkennung als gleichbedeutend behandelt.
Diese Aufgabe wird erfindungsgemäß durch ein Verfahren und ein System bzw. eine Vorrichtung mit den Merkmalen der beigefügten unabhängigen Ansprüche gelöst. Bevorzugte Ausgestaltungen, Weiterbildungen und Ver wendungen der Erfindung ergeben sich aus den abhängigen Ansprüchen und der nachfolgenden Beschreibung mit zugehörigen Zeichnungen. Ein erfindungsgemäßes Verfahren zum maschinellen Sehen und Bilderken nen für das Erkennen eines Objektes in einem elektronischen Bild, bei dem mittels eines optischen Sensors eine Szene aufgenommen und ein elektronisches Bild der Szene erzeugt wird und mittels eines Korrelations verfahrens das elektronische Bild der Szene auf das Vorhandensein des Objektes überprüft wird, indem mit dem Korrelationsverfahren das elek tronische Bild der Szene mit einem Referenzbild des Objektes verglichen wird, umfasst eine Lernphase, in der ein Referenzbild des zu erkennenden Objektes mittels einer modifizierten Census-Transformation transformiert und binari- siert wird, indem Pixel des transformierten Referenzbildes mit dem aus diesen Pixeln gebildeten Mittelwert des transformier ten Referenzbildes verglichen werden und der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert ist, und auf 0 gesetzt wird, wenn es kleiner als der Mittelwert ist, und - das Ergebnis dieser Transformation in einem transformierten, binarisierten Referenz vektor abgespeichert wird, und umfasst eine Arbeitsphase, in der mittels eines optischen Sensors ein Bild einer Szene auf genommen wird, die auf das Vorhandensein des zu erkennen- den Objektes geprüft werden soll, das Bild der Szene oder Bildausschnitte des Bildes mittels einer modifizierten Census-Transformation transformiert und binarisiert werden, indem Pixel des transformierten Bildes oder Bildausschnittes mit dem aus diesen Pixeln gebildeten Mittel- wert des transformierten Bildes bzw. Bildausschnitts vergli chen werden, wobei der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert ist, und auf 0 gesetzt wird, wenn es kleiner als der Mittelwert ist, und die Ergebnisse dieser Szenentransformation als transformierte, binarisierte Szenevektoren mit dem transformierten, binari sierten Referenz vektor verglichen werden, indem die Ham- ming-Distanzen zwischen den transformierten, binarisierten Szenevektoren und dem transformierten, binarisierten Refe renzvektor als Maß der Übereinstimmung bestimmt werden und derjenige transformierte, binarisierte Szenevektor bestimmt wird, der die höchste Übereinstimmung mit dem transformierten, binarisierten Referenz vektor aufweist, und das zu erkennende Objekt als in der Szene erkannt klassi fiziert wird, wenn der Grad der Übereinstimmung des trans- formierten, binarisierten Szenevektors, der die höchste Über einstimmung mit dem transformierten, binarisierten Referenz vektor aufweist, einen vorgegebenen Schwellwert übersteigt. Das erfindungsgemäße Verfahren weist die Besonderheit auf, dass als spezielles, vereinfachtes Korrelationsverfahren, mit dem zur Objekterken nung das elektronische Bild der Szene auf das Vorhandensein des Objek- tes überprüft wird, eine modifizierte Census-Transformation in Kombina tion mit einer Maximumsbestimmung und einer Schwellwertsetzung durchgeführt wird. Dies ermöglicht einen vereinfachten binarisierten Ver gleich, durch den die Erfindung gegenüber dem Stand der Technik mit erheblich geringerem Aufwand und geringeren Kosten realisierbar ist und zudem Ergebnisse mit extrem schneller Bildfolgefrequenz geliefert werden können, sodass eine Objekterkennung in Echtzeit möglich ist. Zudem eig net sich ein erfindungsgemäßes Verfahren sehr gut für die Implementie rung in einer elektronischen Schaltung, z. B. in einem Field Programmable Gate Array (FPGA).
Der Algorithmus eines erfindungsgemäßen Verfahrens zum Durchführen eines Mustervergleichs bzw. zum Erkennen eines Objektes in einer Szene umfasst die modifizierte Census-Transformation eines in der Lernphase eingelernten Musters (des zu erkennenden Objektes) und des aufgenom- menen Bildes der Szene, verbunden mit einer Binarisierung von transfor miertem Objekt und transformierter Szene, und anschließendem Binär vergleich (Exklusiv-Oder) mit Berechnung der Hamming-Distanz als Maß der Übereinstimmung zwischen dem eingelernten Muster und dem aufge nommenen Bild.
Bei einer Census-Transformation wird zu jedem Pixel eines Bildfensters die Umgebung des Pixels untersucht und das Pixel unter Einbeziehung dieser Umgebungsdaten transformiert. Sehr oft sind dies die acht Pixel um ein zentrales Pixel einer 3x3-Umgebung. Jedes der acht Pixel wird mit dem zentralen Pixel verglichen. Ist der Wert des Pixels größer oder gleich dem Wert des zentralen Pixels, so erhält man für das Pixel eine binäre 1 als Ausgabe der Census-Transformation, andernfalls eine 0. Bei einer Census- Transformation wird also in einem Bildfenster die Helligkeit verschiedener Pixel jeweils mit einem zentralen Pixel verglichen. Aus den jeweiligen Ver gleichen mit dem zentralen Pixel wird für jeden Vergleich ein Binärwert gebildet, wobei aus sämtlichen Binärwerten ein Census-Vektor gebildet wird, der die binarisierte relative Helligkeits- bzw. Grauwertverteilung in dem Bildfenster beschreibt. In einem Korrelationsverfahren können dann beispielsweise die erzeugten Census-Vektoren miteinander verglichen werden, um dasselbe Objekt möglichst sicher in dem Kamerabild und dem Referenzbild aufzufinden.
Bei der modifizierten Census-Transformation (siehe z. B. Bernhard Fröba, Andreas Ernst; Face Detection with the Modified Census Transform, in: Proceedings of the Sixth IEEE International Conference on Automatic Face and Gesture Recognition (FGR'04) 2004) verwendet man als Vergleichs- wert statt des zentralen Pixels den Mittelwert aller Pixel in der betrachte ten Umgebung. In einer 3x3-Umgebung sind dies also neun Pixel, aus denen man den Mittelwert berechnet. Bei der modifizierten Census-Trans formation in der 3x3-Umgebung erhält man somit neun 1- Bit Werte als Resultat; bei der klassischen Census-Transformation sind es nur 8.
Bei der klassischen modifizierten Census-Transformation erhält man als Ausgabe für das Pixel eine binäre 1, wenn der Wert des Pixels größer oder gleich dem Mittelwert aller Pixel in der betrachteten Umgebung ist, andernfalls eine 0. Bei einem erfindungsgemäßen Verfahren kommt es bei der modifizierten Census-Transformation nur darauf an, dass der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert ist, und auf 0 gesetzt wird, wenn es kleiner als der Mittelwert ist. Der Fall, dass das Pixel gleich dem Mittelwert ist, kann auf zwei alternative Weisen behandelt werden. Man kann das Verfahren so durchführen, dass der Wert eines Pixels auf 1 gesetzt wird, wenn es größer oder gleich dem Mittelwert ist, und auf 0 gesetzt wird, wenn es kleiner als der Mittelwert ist, oder man kann es so durchführen, dass der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert ist, und auf 0 gesetzt wird, wenn es kleiner oder gleich dem Mittelwert ist.
Es ist also möglich, mit Hilfe der modifizierten Census-Transformation ein n x m großes Grauwertmuster zu beschreiben. Dies erfolgt, indem jedes der n x m Pixel mit dem aus n x m Pixeln gebildeten Mittelwert verglichen wird und das binäre Ergebnis dieses Vergleichs in einem n x m Bit großen Ergebnisvektor abgelegt wird. Ein für das erfindungsgemäße Verfahren wichtiger Vorteil ist, dass der Ergebnisvektor dabei unabhängig gegenüber einer linearen Transformation der Eingangspixel ist, das heißt er ist unab hängig von Kontrast und Helligkeitsoffset der Bilddaten.
Aus n x m Pixeln des Ursprungsmusters mit jeweils typischen 8 oder 10 Bit Grauwertauflösung, also aus einem Muster mit n x m x 8 oder n x m x 10 Bit ergibt sich durch die modifizierte Census-Transformation ein Vektor mit nur noch n x m Bit. Dies entspricht einer Datenreduktion um den Faktor 8 bis 10. Dennoch bleiben wesentliche Eigenschaften des Ursprungsmusters bei der Transformation erhalten, die zudem noch unab hängig gegenüber einer linearen Transformation sind. Möchte man zwei Muster auf ihre Ähnlichkeit überprüfen, so genügt es, die Bitvektoren der beiden Muster nach der modifizierten Census-Transformation binär zu ver gleichen (über bitweises XOR bzw. EQUIV) und die Anzahl der überein stimmenden bzw. verschiedenen Bits zu zählen, was man als Hamming- Distanz bezeichnet.
Das erfindungsgemäße Verfahren ist damit besonders einfach und lässt sich sehr leicht auf Logikschaltkreisen wie z. B. CPLDs, FPGA, Standard- zellenarrays und Full-Custom ICs realisieren. Auch ist der Speicherbedarf für einen transformierten, binarisierten Referenz vektor eines Referenzbil- des mit n x m Bits vergleichsweise gering. Ein weiterer Vorteil der Erfindung besteht darin, dass Objekte auch erkannt werden können, wenn sie nicht vollständig in dem Bild der Szene vorhanden sind. Dies kommt in der Praxis oft vor, beispielsweise wenn ein Objekt am Bildrand platziert oder partiell von einem anderen Gegenstand überdeckt oder verdeckt ist. Da in dem erfindungsgemäßen Verfahren nicht nach einer vollständigen Übereinstimmung, sondern nur nach der maximalen Übereinstimmung gesucht wird, können Objekte auch anhand eines Teils des vollständigen Objekts erkannt werden, das heißt die Erken nung kann bereits auf Teilen des kompletten Musters erfolgen. In der Pra- xis hat sich gezeigt, dass Objekte auch erkannt werden können, wenn bis zu 10 % davon nicht in dem Bild der Szene sichtbar ist.
Gemäß einer Ausführungsform kann in der Lernphase das Referenzbild des zu erkennenden Objektes mittels eines optischen Sensors aufgenom- men werden. Dabei kann es sich zweckmäßigerweise um denselben opti schen Sensor handeln, mit dem in der Arbeitsphase die Szene aufgenom men wird, die auf das Vorhandensein des Objektes geprüft wird. Bei dem optischen Sensor zum Aufnehmen des Referenzbildes oder der Szene han delt es sich vorzugsweise um eine Bilderfassungseinrichtung, die digitale Grauwertbilder liefert, beispielsweise ein CCD oder ein CMOS-Sensor, ein Kameramodul, eine Platinenkamera, eine Gehäusekamera oder eine Digi talkamera.
Zum Aufnehmen des zu erkennenden Objektes in der Lernphase wird zunächst der optische Sensor oder das anzulernende Objekt so positio niert, dass das anzulernende Objekt in dem Bild des optischen Sensors liegt. Danach können der Bildausschnitt und die Zoomgröße so angepasst werden, dass das anzulernende Objekt das Bild gut ausfüllt. Das Objekt wird dann zum Anlernen ausgewählt und als Referenz gespeichert. Falls mehrere Objekte angelernt werden sollen, beispielsweise für spätere Sor tieraufgaben in der Arbeitsphase, wird dieses Anlernen für jedes Objekt separat durchgeführt. In der Arbeitsphase, beispielsweise bei Prüf- oder Sortieraufgaben, werden die aufgenommenen Szenen dann mit dem Refe renzobjekt bzw. den Referenzobjekten verglichen.
Gemäß einer anderen Ausführungsform kann in der Lernphase das Refe- renzbild des zu erkennenden Objektes theoretisch berechnet oder das Referenzbild des zu erkennenden Objektes oder der transformierte, bina- risierte Referenz vektor aus einer Datenbank eingelesen werden. Wenn das Referenzbild nicht mittels des optischen Sensors eingelesen wird, sondern aus Eigenschaften des Objektes, beispielsweise dessen Form oder Kontur, theoretisch berechnet wird oder das Referenzbild oder der transformierte, binarisierte Referenz vektor aus einer Datenbank bereitgestellt wird, bei spielsweise aus einer früheren Erfassung mittels eines optischen Sensors oder einer früheren theoretischen Berechnung, kann das erfindungs gemäße Verfahren sehr schnell und auf einfache Weise zwischen verschie- denen Erkennungsaufgaben (z. B. das Vorhandensein oder die Position eines geänderten zu erfassenden Objektes) umgeschaltet werden, ohne dass hierzu jeweils ein Bild des erkennenden Objektes mit dem optischen Sensor aufgenommen werden muss. Eine weitere vorteilhafte Ausführungsform kann darin bestehen, dass in der Lernphase jeweils ein Referenzbild mehrerer zu erkennender Objekte mittels einer modifizierten Census-Transformation transformiert und bina- risiert wird und die Ergebnisse dieser Transformationen jeweils in transfor mierten, binarisierten Referenzvektoren abgespeichert werden, und in der Arbeitsphase die Ergebnisse der Szenentransformation als transformierte, binarisierte Szenevektoren nacheinander mit den transformierten, binari sierten Referenzvektoren verglichen werden, um die mehreren zu erken nenden Objekte in der Szene zu erkennen. Ein weiterer Vorteil des erfin dungsgemäßen Verfahrens ist, dass auf diese Weise sehr einfach auch mehrere zu erkennende Objekte erkannt und die zugehörigen Muster ver glichen werden können. Dabei werden die Referenzbilder in der Lernphase mittels eines optischen Sensors aufgenommen und die transformierten, binarisierten Referenzvektoren daraus gebildet und abgespeichert, oder die Referenzbilder des zu erkennenden Objektes werden theoretisch berechnet oder die Referenzbilder der zu erkennenden Objekte oder die transformierten, binarisierten Referenzvektoren werden aus einer Daten- bank eingelesen.
Eine vorteilhafte Abwandlung dieser Ausführungsform kann darin beste hen, dass in der Lernphase jeweils ein Referenzbild mehrerer zu erken nender Objekte mittels einer modifizierten Census-Transformation trans- formiert und binarisiert wird und die Ergebnisse dieser Transformationen jeweils in transformierten, binarisierten Referenzvektoren abgespeichert werden, und in der Arbeitsphase die Ergebnisse der Szenentransformation als transformierte, binarisierte Szenevektoren parallel mit den transfor mierten, binarisierten Referenzvektoren verglichen werden, um gleichzei- tig die mehreren zu erkennenden Objekte in der Szene zu erkennen. Ein weiterer Vorteil des erfindungsgemäßen Verfahrens ist, dass auf diese Weise sehr einfach auch mehrere zu erkennende Objekte erkannt und die zugehörigen Muster gleichzeitig verglichen werden können. Dabei werden die Referenzbilder in der Lernphase mittels eines optischen Sensors auf- genommen und die transformierten, binarisierten Referenzvektoren dar aus gebildet und abgespeichert, oder die Referenzbilder des zu erkennen den Objektes werden theoretisch berechnet oder die Referenzbilder der zu erkennenden Objekte oder die transformierten, binarisierten Referenzvek toren werden aus einer Datenbank eingelesen.
In beiden Fällen braucht ein neu aufgenommenes Bild einer Szene nur einmal mit der modifizierten Census-Transformation bearbeitet zu werden, auch wenn mehrere verschiedene Objekte darin gesucht werden sollen, und der Vergleich mit den Referenzbildern erfolgt dann ohne großen Spei- cheraufwand entweder nacheinander oder parallel für alle Referenzbilder gleichzeitig. Dies ist ein großer Vorteil gegenüber Verfahren nach dem Stand der Technik, wie z. B. der normierten Kreuzkorrelation (NCF), bei der für jedes Muster ein Pixel-zu-Pixel Vergleich (Skalarprodukt der Grau werte von Bild und Muster) mit entsprechendem Rechenaufwand durch geführt werden muss. Statt einer Multiplikation von z. B. zwei 8-Bit Wer ten nach dem Stand der Technik erfordert die Erfindung nur einen 1- Bit Vergleich (XOR), und statt der Summation des Ergebnisses mit vielleicht 20 oder mehr Bits benötigt man nur die Bestimmung der Hamming- Distanz.
Diese zwei Ausführungsformen können nicht nur dazu dienen, unter- schiedlich geformte Objekte nacheinander oder gleichzeitig zu erkennen, sondern auch ein Objekt zu erkennen, das gedreht oder skaliert (ver größert oder verkleinert) ist. Das erfindungsgemäße Verfahren ist zwar in der Lage, ein Objekt unabhängig von seiner Position in dem Bild der Szene zu erkennen, es ist jedoch nicht darauf ausgelegt, größere Rota tionen oder Skalierungen des Objektes zu tolerieren. Sollen solche Rota tionen und/oder Skalierungen beim Erkennen eines Objektes berücksich tigt werden, kann man in der Lernphase Referenzbilder des Objektes in verschiedenen Skalierungen und Drehlagen aufnehmen oder diese aus einer Aufnahme synthetisch berechnen (oder theoretisch berechnen oder die Referenzbilder des zu erkennenden Objektes oder die transformierten, binarisierten Referenzvektoren aus einer Datenbank einiesen) und die modifizierte Census-Transformation dieser verschiedenen Ausprägungen desselben Objektes als mehrere transformierte, binarisierte Referenzvek toren abspeichern, die in der Arbeitsphase nacheinander oder gleichzeitig in der Szene gesucht werden. Der Vergleich kann dann genau so wie bei verschiedenen Objekten nacheinander oder - vorzugsweise in einer inte grierten Schaltung oder FPGA - sogar parallel erfolgen, und durch die Suche nach der höchsten Übereinstimmung wird nicht nur das Vorhanden sein und die Position des Objektes bestimmt, sondern auch seine Dreh- läge und/oder Skalierung. In der praktischen Anwendung der Erfindung kann es zum Verringern des Speicherbedarfs, zum Verringern des schaltungstechnischen Aufwandes, zum Verringern des Rechenaufwandes, zum Beschleunigen der Objekt erkennung oder zum Implementieren der Erfindung mit einer bestimmten Hardware vorteilhaft sein, einen oder mehrere der folgenden Schritte in Kombination durchzuführen. Die erläuterten Methoden zum Reduzieren der Bilddaten können in beliebiger Weise kombiniert und in beliebiger Rei henfolge durchgeführt werden. Dabei wird vorteilhafterweise eine Daten reduktion bei der Bildung der transformierten, binarisierten Referenzvek- toren in gleicher Weise wie bei der Bildung der transformierten, binarisier ten Szenevektoren durchgeführt, das heißt das Referenzbild und das Bild der Szene werden auf dieselbe Weise reduziert, um vergleichbare Vekto ren zu erhalten. Eine erste vorteilhafte Ausführungsform kann darin bestehen, dass das von dem optischen Sensor aufgenommene Bild der Szene nicht in einem Schritt vollständig auf das Vorhandensein des Objektes überprüft wird, sondern mittels eines Suchfensters, das jeweils einen Bildausschnitt der Szene beinhaltet und das derart über das Bild der Szene geführt wird, dass das Suchfenster das Bild der Szene überstreicht, wobei sequentiell jeweils ein Suchfenster mittels transformierter, binarisierter Szenevekto ren auf das Vorhandensein des Objektes überprüft wird. In dem Suchfens ter kann ein gleitender Mittelwert der Pixel bestimmt werden, und sowohl für die Berechnung des gleitenden Mittelwerts als auch für die modifizierte Census-Transformation ist die Speicherung der Bilddaten nur für so viele Zeilen nötig, wie sie der vertikalen Ausdehnung des Suchfensters ent spricht. Die Größe eines Suchfensters kann vorteilhafterweise zwischen 8 x 8 und 128 x 128 Pixel, vorzugsweise 48 x 48 Pixel betragen. Es ist damit groß genug, dass das Referenzbild des zu erkennenden Objektes bzw. das zu erkennende Objekt vollständig darin enthalten ist, auch wenn es sich um ein komplexes oder ausgedehntes Objekt handelt. Eine zweite vorteilhafte Ausführungsform kann darin bestehen, dass die Anzahl der Pixel in dem von dem optischen Sensor aufgenommenen Bild der Szene reduziert wird, bevor die transformierten, binarisierten Szene vektoren gebildet werden. In der Praxis ist es oft erforderlich, das Bild des optischen Sensors (z. B. eines CMOS-Sensors) für die Anwendung in dem erfindungsgemäßen Verfahren zu reduzieren. Das liegt daran, dass gebräuchliche, kommerziell erhältliche CMOS-Sensoren oft nicht unter einer gewissen Mindestauflösung erhältlich sind. Sehr verbreitet sind opti sche Sensoren mit VGA-Auflösung (640 x 480 Pixel), wobei eine deutliche Tendenz zu größeren Auflösungen (1280 x 800 Pixel oder mehr) besteht. Die große Anzahl an Pixeln führt ohne Reduktion der Bilddaten zu einem hohen Rechenaufwand bei der Verarbeitung, insbesondere vor dem Hin tergrund, dass für den Einsatz in der Fabrikautomation Bildraten von über 100 Bildern pro Sekunde wünschenswert sind. Aus diesem Grund kann in einem der ersten Verarbeitungsschritte die Anzahl der Pixel in dem von dem optischen Sensor aufgenommenen Bild der Szene reduziert werden. Dies kann auf verschiedene Weisen erfolgen, die einzeln oder in Kombina tion durchgeführt werden können. Eine erste Variante besteht darin, dass aus dem von dem optischen Sen sor aufgenommenen Bild der Szene ein Teilbild (sogenannte "region of interest") ausgewählt wird. Es wird dann nur das Teilbild auf das Vorhan densein des Objektes überprüft, die anderen Teile der Szene bleiben unberücksichtigt. Das Auswählen eines Teilbildes kann beispielsweise durch Setzen eines Fensters oder durch "Cropping" erfolgen.
Eine zweite Variante besteht darin, dass das von dem optischen Sensor aufgenommene Bild der Szene in der Auflösung verringert wird. Hiermit ist primär die Reduzierung der physikalischen Bildauflösung, das heißt die Anzahl der Bildelemente pro Länge bzw. die Pixeldichte, gemeint, es kann aber auch die Grauwertauflösung (z. B. von 16 auf 8 Bit) reduziert wer den. Die Reduzierung der Auflösung kann bevorzugt durch ein geeignetes Binning (Zusammenfassen benachbarter Bildelemente), beispielsweise durch Summation oder Mittelung benachbarter Pixel, oder eine Bildpyra mide (Glättung und Downsampling) erfolgen. Nach einem zusätzlichen vorteilhaften Merkmal kann die Reduzierung der Auflösung in veränderlich einstellbaren Schritten gewählt werden.
Eine dritte Variante besteht darin, dass das von dem optischen Sensor aufgenommene Bild der Szene durch Unterabtastung (englisch sub- sampling) verarbeitet wird, wobei nur einzelne bzw. manche Pixel des Bil- des der Szene ausgelesen und zu transformierten, binarisierten Szenevek toren verarbeitet und die anderen ausgelassen werden. Das Auslassen von Pixeln aus dem Bild der Szene, das auch als "ausdünnen" bezeichnet werden kann, sodass sie bei der erfindungsgemäßen Objekterkennung ignoriert und nicht berücksichtigt werden, kann verschiedene Vorteile haben.
Durch das Auslassen von Pixeln kann eine Größe der transformierten, binarisierten Szenevektoren erzielt werden, die sich besonders gut für eine digitale Verarbeitung eignet, beispielsweise indem ihre Wortgröße auf die der verwendeten Hardware abgestimmt ist. Wird beispielsweise der erfindungsgemäße Algorithmus mit einem Mikroprozessor oder digitalen Signalprozessor (DSP) realisiert, so ist es vorteilhaft, bei der Bildverarbei tung eine Größe zu verwenden, die ein Vielfaches der Wortgröße dieses Rechners ist (typisch 32 Bit). Dies ist von Vorteil, da sich damit der Ver- gleich (XOR, Hamming-Distanz) effizient in der Hardware implementieren lässt. Einige Mikroprozessorarchitekturen (z. B. TI TMS320C64xx, ARM NEON) haben zudem spezielle Befehle, mit denen sich auch die Hamming- Distanz effizient berechnen lässt. Ist es nicht möglich, die Größe von Bild, Bildausschnitt oder Suchfenster so zu wählen, kann man Pixel darin aus- lassen. So wurde beispielsweise ein erfindungsgemäßes Verfahren getes tet, das mit einem Suchfenster von 9 x 9 = 81 Pixeln arbeitet. Die mitt lere Zeile und die mittlere Spalte des Suchfensters wurden für den Ver- gleich ausgelassen, sodass ein sehr gut handhabbarer transformierter, binarisierter Szenevektor von 8 x 8 = 64 Bit erfolgreich verwendet werden konnte. Wird der erfindungsgemäße Algorithmus auf andere Weise, beispielsweise durch ein Complex Programmable Logic Device (CPLD), Field Program- mable Gate Array (FPGA), Application-Specific Integrated Circuit (ASIC) oder Custom-IC realisiert, gibt es in der Regel keine Beschränkung auf ein Vielfaches einer bestimmten Wortgröße. Das Auslassen von Pixeln ist aber dennoch oft sinnvoll. Einerseits reduziert sich dadurch der erforderliche Speicherbedarf für die Vergleichsvektoren, andererseits verringert sich auch der schaltungstechnische Aufwand bzw. der Zeitbedarf bei sequen tieller Verarbeitung. So ist es z. B. nur nötig, die ausgedünnten Pixel im Fenster mit dem Mittelwert des Fensters zu vergleichen.
Die Auswahl der Pixel des Bildes der Szene, aus denen transformierte, binarisierte Szenevektoren gebildet werden, kann auf verschiedene Weise erfolgen, beispielsweise nach einem festen Schema (z. B. bestimmte Zei len und Spalten oder bestimmte Bereiche) oder nach einem zufälligen oder pseudozufälligen Schema. Da gebräuchliche Pseudozufallsfolgen allerdings oft das Problem haben, dass sie in sich korreliert sind, ist die Verwendung einer Zufallsfolge aus physikalischem Rauschen bevorzugt.
Versuche haben ergeben, dass es in der Praxis zum sicheren Erkennen eines Objektes oft ausreicht, wenn zwischen 5 % und 50 %, bevorzugt zwischen 10 % und 40 %, besonders bevorzugt zwischen 20 % und 30 % der Pixel des Bildes der Szene ausgelesen und zu transformierten, binari- sierten Szenevektoren verarbeitet und die anderen Pixel ausgelassen wer den, je nachdem, welches Schema zum Auswählen der Pixel angewendet wird und wie die Objekte geformt sind. Ein besonders bedeutsamer Vorteil der Erfindung ist, dass damit sehr schnell und mit sehr hoher Frequenz eine Objekterkennung durchgeführt werden kann. In Fällen, in denen nicht eine besonders hohe Geschwindig keit, sondern auch eine besonders hohe Zuverlässigkeit der Objekterken- nung gewünscht wird, kann das erfindungsgemäße Verfahren in zwei Stu fen durchgeführt werden. Dabei wird in der ersten Stufe das Objekt mit einem erfindungsgemäßen Verfahren schnell gesucht und erkannt, gege benenfalls gemäß einer oder mehreren der vorteilhaften weiteren Aus gestaltungen, wobei beispielsweise die Anzahl der Pixel in dem von dem optischen Sensor aufgenommenen Bild der Szene reduziert wird, bevor die transformierten, binarisierten Szenevektoren gebildet werden. In der zweiten Stufe wird dann das in der ersten Stufe gefundene Ergebnis veri fiziert, indem in dem Bereich des Bildes der Szene, in dem in der ersten Stufe das Objekt erkannt wurde, zusätzlich eine genauere Objekterken- nung durchgeführt wird. Die genauere Objekterkennung in der zweiten Stufe kann beispielsweise mit einem erfindungsgemäßen Verfahren erfol gen, wobei die Anzahl der Pixel in dem von dem optischen Sensor auf genommenen Bild der Szene nicht oder in geringerem Umfang als in der ersten Stufe reduziert wird, bevor die transformierten, binarisierten Sze- nevektoren gebildet werden, oder mittels eines gebräuchlichen, aus dem Stand der Technik bekannten Verfahrens zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objektes in einem elektronischen Bild. In der ersten Stufe wird somit das Objekt schnell und grob erkannt und in der zweiten Stufe wird dieses Ergebnis durch eine feinere oder genauere Bilderkennung überprüft. Wenn das Ergebnis der zweiten Stufe das aus der ersten Stufe bestätigt, wird es als verifiziert übernommen, andernfalls wird das Ergebnis verworfen. Da in der zweiten Stufe nicht mehr das gesamte Bild der Szene nach dem Objekt durchsucht werden muss, son dern nur noch das aus der ersten Stufe bereits vorliegende Ergebnis über prüft wird, ist der Zeitbedarf für die zweite Stufe sehr gering, sodass das gesamte Verfahren immer noch sehr schnell ablaufen kann und dennoch eine höhere Genauigkeit und Zuverlässigkeit der Objekterkennung erreicht wird. Ein erfindungsgemäßes Verfahren kann vorteilhafterweise auf dem Gebiet des maschinellen Sehens in industriellen Umgebungen, Fertigungen und Anwendungen eingesetzt werden, wie sie oben im einleitenden Teil dieser Patentanmeldung beschrieben wurden. Hierzu zählen insbesondere das Erkennen des Vorhandenseins eines Objektes (Musters), das heißt z. B. eine Unterscheidung zwischen Objekt anwesend und nicht anwesend oder eine qualitative Aussage über eine Szene wie gut/schlecht oder rich tig/falsch, das Erkennen der Position eines Objektes (z. B. für Bonder, Bestückungsmaschinen und Klebeprozesse), das Erkennen der Drehlage eines Objektes oder das Durchführen von Mustervergleichen (z. B. zum Heraussuchen eines Objektes unter vielen, beispielsweise für Sortierauf gaben).
Ein erfindungsgemäßes System bzw. eine erfindungsgemäße Vorrichtung zum Erkennen eines Objektes in einem elektronischen Bild einer Szene, umfassend einen optischen Sensor zum Aufnehmen eines elektronischen Bildes einer Szene und eine digitale Datenverarbeitungseinheit zum Bear beiten von Bilddaten, ist dadurch gekennzeichnet, dass das System bzw. die Vorrichtung ausgebildet ist, ein Verfahren gemäß einem der vorher gehenden Ansprüche durchzuführen.
Eine erfindungsgemäße Vorrichtung kann insbesondere ein Bildverarbei tungssensor sein, der auf einer Platine integriert zusammengefasst einen optischen Sensor für das Aufnehmen eines elektronischen Bildes einer Szene und eine digitale Datenverarbeitungseinheit zum Bearbeiten von Bilddaten gemäß dem erfindungsgemäßen Verfahren umfasst. Dabei kann vorzugsweise die digitale Datenverarbeitungseinheit ein FPGA-Modul, einen Prozessor, einen Speicher und eine Peripherie-Schnittstelle umfas sen.
Das erfindungsgemäße Verfahren kann in verschiedener Weise modifiziert werden. Zu diesen Abwandlungen rechnen beispielsweise folgende (statt modifizierter Census-Transformation und Vergleich):
Eine erste Abwandlung besteht darin, dass das Objekt in dem Bild der Szene nicht durch den Vergleich von mit der modifizierten Census-Trans- formation transformierten, binarisierten Vektoren, sondern mittels einer Absolute-Differenzen-Korrelation (ADF) gesucht wird. Bei diesem alterna tiven Korrelationsverfahren werden die Grauwerte von Bild der Szene und Objekt (Muster) im Suchfenster subtrahiert und der Betrag der Differenz wird als Fehlermaß aufsummiert. Das Verfahren funktioniert natürlich mit jeder Norm, z. B. auch mit der euklidischen Norm.
Eine zweite Abwandlung besteht darin, dass das Objekt in dem Bild der Szene nicht durch den Vergleich von mit der modifizierten Census-Trans formation transformierten, binarisierten Vektoren, sondern mittels einer Normalized Correlation Function (NCF) gesucht wird. Bei diesem alternati ven Korrelationsverfahren erfolgt eine Hel ligkeits- und Kontrastnormie rung sowohl für das Suchfenster im Bild der Szene als auch für das Objekt (Muster). Die Normierung des Objektes (Musters) kann bereits in der Lernphase erfolgen; die Normierung für das Suchfenster erfolgt mit einem Teleskopverfahren, das heißt mit einem gleitenden Mittelwert in einem Suchfenster.
Eine dritte Abwandlung besteht darin, dass bei einer Unterabtastung des Bildes der Szene die Pixel des Bildes der Szene, aus denen transformierte, binarisierte Szenevektoren gebildet werden, entlang einer Objektkontur liegend ausgewählt werden. Dies trägt der Tatsache Rechnung, dass Bild bereiche mit konstanter Bildhelligkeit insgesamt wenig Information ent- halten. Der Informationsgehalt liegt vielmehr in Bildbereichen mit starker Änderung, das heißt in den Konturen. Diese sind für ein bestimmtes Objekt markant. Man spart sich somit den Vergleich von Pixeln, die ohne hin wenig zur Beschreibung des Objekts beitragen. Der Nachteil des Ver- fahrens besteht darin, dass bei mehreren Vergleichsmustern die Vereini gungsmenge sämtlicher Konturpixel für jedes verwendeten Objekts vergli chen werden muss, da sonst die Maximumsbildung nicht funktioniert. Dies kann schnell dazu führen, dass diese Strategie ineffizient wird. Eine vierte Abwandlung kann folgende sein. Bei dem erfindungsgemäßen Verfahren werden typischerweise die zu suchenden Objekte (Muster) bzw. das zu suchende Objekt (Muster) einmal eingelernt und für eine Suchauf gabe nicht mehr geändert. Lässt man jedoch ein kontinuierliches Update des Suchmusters oder der Suchmuster zu, was bei einer Hardwareimple- mentierung zumeist durch eine einfache Änderung des Steuerprogramms auf dem Mikroprozessor möglich ist, kann man das erfindungsgemäße Verfahren nicht nur zum Bestimmen des Vorhandenseins, der Position und der Lage eines Objektes, sondern auch zum Messen der Bewegung und der Geschwindigkeit nutzen. Es lässt sich damit zur berührungslosen Geschwindigkeits- und Positionsmessung von Industrieprozessen, z. B. von Förderbändern, in der Handhabung und in der Robotik verwenden. Es kann auch als Bewegungsmesser für Drohnen eingesetzt werden, wenn die problematische Kopplung der X/Y- und Winkelfreiheitsgrade zutreffend gelöst wird. Auch die Anwendung in einer optischen Computermaus ist möglich. Da es leicht möglich ist, mehrere Muster parallel zu vergleichen, ist es mit diesem Verfahren möglich, nicht nur eine lineare Bewegung in X- und Y-Richtung, sondern auch eine Rotation zu messen.
Die Erfindung wird nachfolgend anhand in den Figuren dargestellter Aus- führungsbeispiele näher erläutert. Die darin beschriebenen Besonderhei ten können einzeln oder in Kombination miteinander eingesetzt werden, um bevorzugte Ausgestaltungen der Erfindung zu schaffen. Gleiche oder gleich wirkende Teile werden in den verschiedenen Figuren mit denselben Bezugszeichen bezeichnet und gewöhnlich nur einmal beschrieben, auch wenn sie bei anderen Ausführungsformen vorteilhaft eingesetzt werden können. Es zeigen:
Figur 1 ein vereinfachtes Schaubild eines erfindungsgemäßen Verfah rens,
Figur 2 eine Census-Transformation eines Suchfensters,
Figur 3 eine modifizierte Census-Transformation eines Suchfensters, Figur 4 eine modifizierte Census-Transformation mit einer zufälligen Auswahl von Pixeln in dem Suchfenster,
Figur 5 das Anwendungsprinzip eines Suchfensters,
Figur 6 ein Ausführungsbeispiel einer hardwaremäßigen Realisierung der Erfindung,
Figur 7 die Maximumsbestimmung im Detail,
Figur 8 die Beschleunigung des Verfahrens mittels mehrerer "Embed- ded Block RAMs" (EBR) und
Figur 9 eine beispielhafte Prinzipskizze von Komponenten eines erfin dungsgemäßen Systems.
Die Figur 1 veranschaulicht den prinzipiellen Ablauf eines erfindungs gemäßen Verfahrens der Mustererkennung für den Fall, dass in der Lern phase L das Referenzbild des zu erkennenden Objektes mittels eines opti schen Sensors 1 aufgenommen wird. Die Lernphase L ist im oberen Teil der Figur 1 dargestellt. Mittels eines optischen Sensors 1 wird eine Auf nahme 2 eines Referenzbildes des später in einer Szene zu erkennenden Objektes aufgenommen. Ein solches Objekt kann ein beliebiger Gegen stand sein, der insbesondere durch seine Form, Kontur, Größe oder Dreh lage gekennzeichnet ist, aber auch durch andere Parameter (Oberflächen beschaffenheit, Beschriftung, etc.) individualisiert sein kann. Ein ausgege benes Bild hat beispielsweise 1280 x 800 Pixel. Daran schließt sich eine Vorverarbeitung 3 der Bilddaten an, die insbesondere das Setzen eines Suchfensters oder die Datenreduktion durch das Auswahlen eines Teilbil des, das Verringern der Auflösung, beispielsweise durch Binning oder eine Bildpyramide, oder die Unterabtastung, beispielsweise durch Verwendung eines festen Schemas, eines zufälligen oder pseudozufälligen Schemas oder physikalischen Rauschens, umfassen kann. Die Bildgröße wird dadurch beispielsweise auf 128 x 128 Pixel reduziert.
Im Anschluss an die Vorverarbeitung 3 erfolgt die Merkmalsreduktion mit tels einer modifizierten Census-Transformation 4, und das Ergebnis dieser Transformation wird in einem transformierten, binarisierten Referenzvek tor abgespeichert. Die Lernphase L wird für ein zu erkennendes Objekt einmal durchgeführt. Für mehrere, verschiedene Objekte wird die Lern phase L jeweils einmal durchgeführt. In alternativen Ausführungsformen kann in der Lernphase L das Referenzbild des zu erkennenden Objektes theoretisch berechnet oder das Referenzbild des zu erkennenden Objektes oder der transformierte, binarisierte Referenz vektor aus einer Datenbank eingelesen werden.
Im unteren Teil der Figur 1 ist die Arbeitsphase A dargestellt. Dabei wird in analoger Weise zu der Lernphase L mittels eines optischen Sensors 1 eine Aufnahme 2 einer Szene erzeugt, die auf das Vorhandensein des in der Lernphase L eingelernten zu erkennenden Objektes überprüft wird. Ein ausgegebenes Bild hat beispielsweise 1920 x 1080 oder 1280 x 800 Pixel bei einer Bildwiederholfrequenz von 100 Hz. Diese Zahlen machen deutlich, dass es eine anspruchsvolle Aufgabe darstellt, diesen großen Datenstrom durch einen Mustervergleich in Echtzeit zuverlässig auf das Vorhandensein von einem oder mehreren Mustern zu prüfen. An die Auf nahme 2 schließt sich wiederum eine Vorverarbeitung 3 der Bilddaten an, die insbesondere das Setzen eines Suchfensters oder die Datenreduktion durch das Auswählen eines Teilbildes, das Verringern der Auflösung, bei spielsweise durch Binning oder eine Bildpyramide, oder die Unterabtas tung, beispielsweise durch Verwendung eines festen Schemas, eines zufälligen oder pseudozufälligen Schemas oder physikalischen Rauschens, umfassen kann. Das Bild kann auch entsprechend den vom Benutzer gewählten Einstellungen vergrößert oder verkleinert werden (Zoom-Funk tion). Die Bildgröße wird durch die Vorverarbeitung 3 beispielsweise auf 48 x 48 oder 128 x 128 Pixel reduziert. Im Anschluss daran erfolgt die
Merkmalsreduktion mittels einer modifizierten Census-Transformation 4, und die Ergebnisse dieser Szenentransformation werden als transfor mierte, binarisierte Szenevektoren abgespeichert und verarbeitet. In der Arbeitsphase A erfolgt auch die Klassifikation mit Aussage 8 anhand eines Mustervergleichs 5, in dem die transformierten, binarisier- ten Szenevektoren mit dem transformierten, binarisierten Referenz vektor verglichen werden, wobei die Hamming-Distanzen, das heißt die Zahl der übereinstimmenden Bits, zwischen den transformierten, binarisierten Sze- nevektoren und dem transformierten, binarisierten Referenz vektor als Maß der Übereinstimmung bestimmt werden und in einer Maximums ermittlung 6 derjenige transformierte, binarisierte Szenevektor bestimmt wird, der die höchste Übereinstimmung mit dem transformierten, binari sierten Referenz vektor aufweist. Um das Erkennen eines Objekts mit hoher Genauigkeit zu ermöglichen, wird ein Schwellwert 7 verwendet. Bil dern, bei denen der Schwellwert nicht erreicht wird, wird unterstellt, dass sie das Objekt nicht enthalten. Das Setzen des Schwellwertes 7 bestimmt also das für eine positive Aussage 8 geforderte Maß der Korrelation zwi schen Objekt und Szene. Das zu erkennende Objekt wird als in der Szene erkannt klassifiziert bzw. eine bejahende Aussage 8 getroffen, wenn der Grad der Übereinstimmung des transformierten, binarisierten Szenevek tors, der die höchste Übereinstimmung mit dem transformierten, binari sierten Referenz vektor aufweist, den vorgegebenen Schwellwert 7 über steigt.
Vereinfacht zusammengefasst betrifft die Erfindung ein Verfahren zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objektes in einem elektronischen Bild, das mittels eines optischen Sensors 1 aufge nommen wird. Es wird vorgeschlagen, in einer Lernphase L ein Referenz bild des zu erkennenden Objekts einzulernen und in einer Arbeitsphase A mit dem Bild der Szene zu vergleichen, wobei der Mustervergleich 5 zwi- sehen Objekt und Szene mittels einer modifizierten Census-Transforma- tion 4 mit Maximumsermittlung 6 erfolgt und für eine positive Aussage 8 der Grad der Übereinstimmung einen Schwellwert 7 übersteigen muss. Die Erfindung bezieht sich somit auf das optische Erfassen von Objekten, wobei ein Bild einer Szene mit einem Referenzbild des Objektes verglichen und das Objekt in dem Bild mittels eines Korrelationsverfahrens identifi ziert wird. Erfindungsgemäß beruht das Korrelationsverfahren auf einer modifizierten Census-Transformation von Objekt und Bild der Szene, der Berechnung der Hamming-Distanz der aus der Transformation resultieren den Vektoren und einer Maximumsbestimmung mit Schwellwertsetzung, um das zu erkennende Objekt in dem Bild der Szene zu identifizieren.
Wenn mehrere Objekte gleichzeitig in der Aufnahme 2 erkannt werden sollen, kann der Mustervergleich 5 mit einer jeweiligen Maximumsuche für jedes Objekt parallelisiert zwischen den (nur einmal) transformierten, binarisierten Szenevektoren und dem jeweils zu einem Objekt gehörenden transformierten, binarisierten Referenz vektor durchgeführt werden. Beim Vergleich mehrerer abgespeicherter Objekte mit der Aufnahme 2 wird ein Übereinstimmungswert für jedes der abgespeicherten Objekte bestimmt. Diese Berechnung kann für alle Objekte parallel und gleichzeitig erfolgen. Eine solche Ausführungsform kann beispielsweise beim Durchführen einer Sortieraufgabe eingesetzt werden, wenn mehrere Objekte unterschieden werden müssen. In den jeweiligen Mustervergleichen 5 wird dann jeweils dasjenige Objekt ausgegebenen, das die größte Übereinstimmung zu dem aufgenommenen Bild aufweist. Auch hier muss der Übereinstimmungs- wert jeweils größer als ein Schwellwert sein, damit das Objekt als erkannt klassifiziert wird. Wenn in der Arbeitsphase A ein Objekt erkannt wird oder mehrere Objekte erkannt werden, kann nicht nur eine bejahende Aussage 8 getrof fen, sondern auch die Position (x- und y-Wert) des gefundenen Objektes in der Aufnahme 2, das heißt in dem Bild der Szene ausgegeben werden. Diese Positionsinformation kann für die weitere Verarbeitung wichtig sein, z. B. für Pick- und Place-Anwendungen eines Roboters. Entsprechendes gilt, wenn die tatsächliche Drehlage eines Objektes in einer Szene durch den Vergleich mit mehreren angelernten Rerefenzbildern des Objektes in verschiedenen Drehungen bestimmt wird
Wenn die in der Arbeitsphase A getroffene Aussage 8 zu einem erkannten Objekt verifiziert werden soll, kann für dieses Objekt die Arbeitsphase A mit transformierten, binarisierten Szenevektoren wiederholt werden, die in dem Bild der Szene zu dem Objekt und dessen unmittelbarer Umge- bung gehören. Dabei wird in der Vorverarbeitung 3 der Bilddaten keine oder eine geringere Datenreduktion als bei der ersten Aussage 8 durch geführt, sodass durch die genauere Wiederholung der Arbeitsphase A in dem zu dem gefundenen Objekt gehörenden Bereich der Szene die Aus sage 8 mit einer höheren Genauigkeit, beispielsweise einer höheren Auf- lösung, überprüft und dadurch zuverlässiger wird. Die Vorverarbeitung 3 in der vorausgehende Lernphase L ist hierzu gegebenenfalls entsprechend an die veränderte Vorverarbeitung der Arbeitsphase A anzupassen. Das zusätzliche Überprüfen eines bestimmten erkannten Bereichs erfordert nur sehr wenig zusätzliche Verarbeitungszeit.
Alternativ kann die Aussage 8 zu einem in der Arbeitsphase A erkannten Objekt statt mit einer genaueren Wiederholung der Arbeitsphase A für den zu dem erkannten Objekt gehörenden Bildbereich der Szene auch mittels der Aufnahme 2 oder deren Bilddaten nach einer Vorverarbeitung 3 durch ein gebräuchliches, aus dem Stand der Technik bekanntes Verfah ren zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objektes in einem elektronischen Bild verifiziert werden. Die Figur 2 zeigt eine Census-Transformation für einen Bereich mit 3 x 3 Pixeln. Der Vergleich der Pixel "1", "2", "3" usw. erfolgt mit dem Pixel C, beispielsweise in dieser Reihenfolge.
Die Figur 3 zeigt eine modifizierte Census-Transformation für einen Bereich mit 3 x 3 Pixeln. Der Vergleich der Pixel I0 Ii ... Is erfolgt mit dem Mittelwert avg
Figure imgf000034_0001
Die Figur 4 zeigt eine modifizierte Census-Transformation in einem 48 x 48 großen Fenster. Der Vergleich der Pixel I0, Ii ... Ik mit k < 2303 erfolgt mit dem Mittelwert avg
Figure imgf000034_0002
Es werden jedoch nicht alle Pixel transformiert, sondern nur eine Auswahl von Pixeln I,. Die Auswahl der Pixel I, erfolgt mittels einer physikalischen Zufallsfolge, wobei alle Pixel transformiert werden, das heißt das kom plette Fenster transformiert wird, wenn k = 2303 Pixel ausgewählt wer den. Die Figur 5 zeigt das Anwendungsprinzip eines Suchfensters in dem erfin dungsgemäßen Verfahren, bei dem der Mustervergleich mittels einer modifizierten Census-Transformation durchgeführt wird. Dabei wird das von dem optischen Sensor 1 aufgenommene Bild der Szene 9, das gege benenfalls in einer Vorverarbeitung 3 reduziert wurde, in dem dargestell- ten Ausführungsbeispiel in der Auflösung auf 128 x 128 Pixel, nicht in einem Schritt vollständig auf das Vorhandensein des Objektes überprüft, sondern mittels eines Suchfensters 10. Das Suchfenster 10 beinhaltet jeweils einen Bildausschnitt 11 der Szene, in dem dargestellten Ausfüh rungsbeispiel mit jeweils 48 x 48 Pixeln, und es wird derart über das Bild der Szene 9 geführt, dass es das Bild der Szene 9 überstreicht, wobei sequentiell jeweils ein Suchfenster 10 mittels transformierter, binarisierter Szenevektoren auf das Vorhandensein des Objektes überprüft wird. Die transformierten, binarisierten Szenevektoren in dem Suchfenster 10 wer den dabei der Figur 4 entsprechend zufällig ausgewählt. Der Mittelwert avg ist dabei der Mittelwert aller Pixel in dem 48 x 48 Pixel großen Such fenster 10, und die Bits b, des Szenevektors, dessen Länge k < 2303 Bits beträgt, werden auf 0 gesetzt, falls I, < avg, und auf 1 gesetzt, falls I, > avg. Alternativ ist es ebenso möglich, die Bits b, des Szenevektors auf 0 zu setzen, falls I, < avg, und auf 1, falls I, > avg, das heißt, den Fall I, = avg anders zu behandeln. Die Figur 6 zeigt ein Ausführungsbeispiel einer hardwaremäßigen Realisie rung der Erfindung. Als optischer Sensor 1 dient ein CMOS-Sensor mit einer Auflösung von 1280 x 800 Pixeln und global shutter. Dessen Video- Daten werden beispielsweise als "Mipi CSI2" ausgegeben. Mittels einer Vorverarbeitung 3 werden die von dem optischen Sensor 1 ausgegebenen Bilddaten reduziert. Die Vorverarbeitung 3 umfasst dabei zwei Bereiche, nämlich das Selektieren 12 von Bilddaten auf dem optischen Sensor 1 selbst bzw. das Begrenzen der von dem optischen Sensor 1 aufgenomme nen Bilddaten, und das Reduzieren 13 der von dem optischen Sensor 1 ausgegebenen Bilddaten. In dem Ausführungsbeispiel werden zum Selek- tieren 12 ein Binning auf 640 x 400 Pixel und die Auswahl eines Teilbildes der Szene ("region of interest") durch "Cropping" mit der Steuerung von Shutter und Gain durchgeführt. Das Reduzieren 13 erfolgt mittels einer Bildpyramide. Um das Verhältnis von kompletter Bildansicht und Such mustergröße variabel zu gestalten, kann es vorgesehen sein, den Faktor der Bildreduktion in veränderlich einstellbaren Schritten, z. B. Ganzzahl schritten, zu wählen. In der dargestellten konkreten Realisierung erfolgt das Selektieren 12 direkt auf dem CMOS-Sensor und das Reduzieren 13 (Mittelwertbildung, Pyramide) in einer Stufe, die in dem FPGA der Vorrich tung realisiert ist, wie alle in der Figur 6 mit (*) markierten Funktions blöcke. Das resultierende Graubild an Videodaten des reduzierten Bildes 14 hat dann nur noch eine Auflösung von 128 x 128 Pixeln. Das Such- fenster wurde in der konkreten Realisierung mit einer festen Größe von 48 x 48 Pixeln realisiert.
Im Suchfenster wird zunächst der gleitende Mittelwert avg bestimmt. Dies geschieht vorzugsweise mit einem sogenannten Teleskop, das heißt nach- dem einmal der Mittelwert für alle Bildfenster in der obersten Zeile berechnet wurde, werden für jedes weitere Ergebnis nur noch zwei Addi tionen und zwei Subtraktionen sowie eine Normierung benötigt, weil die meisten Pixel und auch deren Summe mit den benachbarten Suchfenstern übereinstimmen. Dies beschleunigt die Berechnung des Mittelwertes, da er nicht komplett neu für alle darin berücksichtigten Pixel berechnet wer den muss, sondern nur noch die sich durch das Verschieben des Such fensters ergebenden geänderten Pixel in der gleitenden Berechnung berücksichtigt werden. Für das Berechnen des gleitenden Mittelwerts und auch für die modifi zierte Census-Transformation ist das Speichern der Bilddaten für so viele Zeilen nötig, wie sie der vertikalen Ausdehnung des Suchfensters ent spricht. Dies sind im konkreten Fall 48 Zeilen mit je 128 Pixeln, was einem Speicherbedarf von 6 kByte entspricht. Diese Speicherung erfolgt in einem Speicher 15, der nach dem First-In - First Out Prinzip (FIFO) arbeitet. Der Speicher 15 wird von einem Input-Adressgenerator 16 und einem Output-Adressgenerator 17 (auch als Random möglich) gesteuert.
Der Speicher 15 wurde als "Embedded Block RAM" in einem FPGA real i- siert, und zwar in sechs EBR Blöcken ä 1 kByte, die jeweils als dual-port RAM konfiguriert sind. Für die Berechnung der modifizierten Census- Transformation wird das RAM sequenziell über eine beschriebene Zufalls- folge adressiert. Dabei ist die Position der ausgewählten Pixel im Such fenster zwar möglichst zufällig und gleichmäßig im Fenster verteilt; die Folge ist aber für alle Suchfenster gleich, weshalb sie im FPGA fest abge legt werden kann, z. B. in einem ROM.
Ein Adressgenerator erzeugt für jede x-y- Position des Suchfensters die Zufallsfolge für das RAM, das die entsprechende Grauwertinformation für das Pixel ausgibt. Dieses wird in der Mustervergleichsstufe 18 mit dem zuvor berechneten gleitenden Mittelwert avg verglichen, was ein Bit der modifizierten Census-Transformation für das Suchfenster liefert.
Dieses Ergebnisbit kann sofort mittels eines XOR-Logikvergleichs mit dem entsprechenden Bit eines zuvor abgelegten transformierten, binarisierten Referenz vektors RI verglichen werden, der zu dem gesuchten Objekt gehört. Der Referenz vektor RI ist vorzugsweise in einem Schieberegister abgelegt. Die Anzahl der übereinstimmenden Pixel wird in einem Zähler ZI gezählt. Nachdem genügend (fester Wert k) "Stichproben" verglichen wurden, bewegt sich das Suchfenster um ein Pixel nach rechts bzw. beim letzten Pixel in einer Zeile an den Anfang (links) der nächsten Zeile.
In Figur 6 ist auch veranschaulicht, dass es mit relativ geringem Aufwand möglich ist, gleichzeitig mehrere abgespeicherte Objekte mit der modifi zierten Census-Transformation des Suchfensters zu vergleichen und somit gleichzeitig in dem Suchfenster bzw. dem Bild der Szene zu suchen. Hier- zu wird für jedes zu überprüfende Objekt ein transformierter, binarisierter Referenz vektor abgelegt (in dem Ausführungsbeispiel RI, R2, R3 und R4) und der Vergleich XOR mit dem Suchfenster erfolgt parallel und gleichzei tig, wobei die Anzahl der jeweils übereinstimmenden Pixel in einem jewei ligen Zähler (in dem Ausführungsbeispiel ZI, Z2, Z3 und Z4) abgelegt wird. Es ist auch möglich, die Anzahl der Zufallsstichproben k zwar für eine konkrete Suchaufgabe fest, von der Bedienung her aber variabel zu halten. So ist es z. B. auch möglich, das komplette Muster zu vergleichen, ohne die Bildreduktion durch das Zufallsmuster. Nach k Takten steht in den jeweiligen Zählern die Anzahl der Übereinstimmungen für das jeweils verglichene Muster zur Verfügung. In der beispielhaften konkreten Realisierung werden mit einer anschlie ßenden Maximumsbestimmung das jeweilige gleitende Maximum für den Zähler- bzw. Übereinstimmungswert sowie dessen Position in x- und y- Richtung und die Identifikation des entsprechenden Objektes gespeichert. Nach Bearbeitung eines kompletten Bildes werden diese Werte bzw. Ergebnisse global für das ganze Bild gültig und können von einem Mikro prozessor über die Auslesung 19 ausgelesen werden. Es ist auch möglich, Teilwerte sofort bei der Entstehung mit dem Mikroprozessor auszulesen und die Maximumsbestimmung über ein Programm zu realisieren. Die Auslesung 19 erfolgt über einen DMA-Kanal 20 für den Mikroprozessor, über den auch die Videodaten für das reduzierte Bild 14 übertragen wer den können.
Diese Art der Maximumsbestimmung wird auch als "Winner-Takes-AN"- Strategie bezeichnet. Um das Erkennen eines Objekts mit hinreichender Genauigkeit zu ermöglichen, wird ein Schwellwert verwendet. Bildern der Szene, bei denen der Schwellwert nicht erreicht wird, wird unterstellt, dass sie das Objekt nicht enthalten.
Die Figur 7 veranschaulicht die Maximumsbestimmung im Detail. In den XOR-Logikvergleichen werden die aktuellen modifizierten Census-Transfor- mations-Werte 21, die von der Mustervergleichsstufe bereitgestellt wer den, mit den Referenzvektoren R verglichen und die Anzahl der überein stimmenden Pixel wird in einem jeweiligen Zähler Z gezählt. Die aktuelle Bildposition 22 wird aus dem x- und y-Register bereitgestellt. In der Maximumsbestimmung 23 wird die jeweilige maximale Übereinstimmung bestimmt und die x-Position, die y-Position, die Identifikation n des zuge hörigen Objektes und der Zählerwert 24 für das gefundene Maximum werden gespeichert. Uber die Auslesung 19 erfolgt einmal pro Bild die Ausgabe dieser Werte an einen Mikroprozessor zur weiteren Auswertung. Alternativ kann die Maximumsbestimmung auch im FPGA statt in einem Mikroprozessor durchgeführt werden.
In Figur 8 ist dargestellt, wie das Verfahren mittels mehrerer "Embedded Block RAMs" (EBR) beschleunigt werden kann. In der konkreten Realisie rung wird eine zusätzliche Beschleunigung dadurch erreicht, dass jedes der verwendeten EBRs (insgesamt sechs Block-RAMs) parallel auslesbar ist, und zwar jeweils mit zwei Ports, womit eine Parallelisierung und Geschwindigkeitssteigerung mit dem Faktor 12 möglich wird. Für das Speichern von 48 Zeilen mit 128 Pixeln (ä 8 Bit) werden 6144 Byte Puffer speicher benötigt. Das verwendete FPGA stellt EBR-Speicher mit je 1024 Byte zur Verfügung. Die EBRs können als Dual-Port-RAM konfiguriert wer- den. Der Pixelinput 25 wird mittels der sechs EBRs und zwölf Komparato ren 26 parallelisiert mit dem Vergleichswert avg verglichen. Auf diese Weise können pro Takt jeweils zwölf Vergleiche gleichzeitig ausgeführt werden, was eine Beschleunigung um den Faktor zwölf bedeutet. Lediglich für das Eingeben und das Weiterschieben neuer Pixel muss pro Verarbei- tungsschritt ein Takt reserviert werden.
Die Figur 9 zeigt eine beispielhafte Prinzipskizze von Komponenten eines erfindungsgemäßen Systems. Der optische Sensor 1 hat beispielsweise eine Auflösung von 1280 x 800 Pixel. Die Vorverarbeitung 3 der Bilddaten erfolgt mit einem FPGA, beispielsweise durch eine Bildpyramide oder die Steuerung von Binning und Cropping des optischen Sensors 1. Die Video- Daten des optischen Sensors 1 werden über zwei Mipi CSI2 Lanes an den FPGA übertragen, der den optischen Sensor über eine I2C-Schnittstelle steuert. Die reduzierten Videodaten werden von dem FPGA parallel an einen Mikroprozessor 27 bzw. Mikrocontroller mit Datenspeicher (RAM), Programmspeicher (QSPI) und DMA übertragen. Der Mikroprozessor steu ert das FGPA über eine I2C- und SPI-Schnittstelle. Diverse Peripherie- Schnittstellen 28 (z. B. Ethernet, LAN, I2C, SPI, seriell, IO-Link, Profinet) können die Kommunikation des Mikroprozessors mit der Peripherie ermöglichen. Optional ist eine Display- und Bedieneinheit 29 vorgesehen. Eine Stromversorgung 30 kann als Power-Sequenzer, zum Überwachen und zum Reset dienen.
Bezugszeichenliste
I Optischer Sensor 2 Aufnahme
3 Vorverarbeitung
4 Modifizierte Census-Transformation
5 Mustervergleich
6 Maximumsermittlung 7 Schwellwert
8 Aussage
9 Bild der Szene
10 Suchfenster
II Bildausschnitt 12 Selektieren
13 Reduzieren
14 Reduziertes Bild
15 Speicher
16 Input-Adressgenerator 17 Output-Adressgenerator
18 Mustervergleichsstufe
19 Auslesung
20 DMA- Kanal
21 Aktueller Census-Transformations-Wert 22 Aktuelle Bildposition
23 Maximumsbestimmung
24 Zählerwert
25 Pixelinput
26 Komparatoren 27 Mikroprozessor
28 Peripherie-Schnittstellen
29 Display- und Bedieneinheit 30 Stromversorgung
A Arbeitsphase avg Mittelwert
EBR Embedded Block RAM L Lernphase n Identifikation
R Referenzvektor
XOR Logikvergleich
Z Zähler

Claims

Patentansprüche
1. Verfahren zum maschinellen Sehen und Bilderkennen für das Erken nen eines Objektes in einem elektronischen Bild, bei dem mittels eines optischen Sensors (1) eine Szene aufgenommen und ein elek tronisches Bild der Szene (9) erzeugt wird und mittels eines Korrela tionsverfahrens das elektronische Bild der Szene (9) auf das Vorhan densein des Objektes überprüft wird, indem mit dem Korrelations verfahren das elektronische Bild der Szene (9) mit einem Referenz bild des Objektes verglichen wird, umfassend eine Lernphase (L), in der ein Referenzbild des zu erkennenden Objektes mittels einer modifizierten Census-Transformation (4) transformiert und binarisiert wird, indem Pixel des transformierten Referenzbil des mit dem aus diesen Pixeln gebildeten Mittelwert (avg) des transformierten Referenzbildes verglichen werden und der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert (avg) ist, und auf 0 gesetzt wird, wenn es klei ner als der Mittelwert (avg) ist, und das Ergebnis dieser Transformation in einem transformierten, binarisierten Referenz vektor (R) abgespeichert wird, und umfassend eine Arbeitsphase (A), in der mittels eines optischen Sensors (1) ein Bild einer Szene (9) aufgenommen wird, die auf das Vorhandensein des zu erken nenden Objektes geprüft werden soll, das Bild der Szene (9) oder Bildausschnitte des Bildes mittels einer modifizierten Census-Transformation (4) transformiert und binarisiert werden, indem Pixel des transformierten Bil des oder Bildausschnittes mit dem aus diesen Pixeln gebilde- ten Mittelwert (avg) des transformierten Bildes bzw. Bildaus schnitts verglichen werden, wobei der Wert eines Pixels auf 1 gesetzt wird, wenn es größer als der Mittelwert (avg) ist, und auf 0 gesetzt wird, wenn es kleiner als der Mittelwert (avg) ist, und die Ergebnisse dieser Szenentransformation als transfor mierte, binarisierte Szenevektoren mit dem transformierten, binarisierten Referenz vektor (R) verglichen werden, indem die Hamming-Distanzen zwischen den transformierten, bina- risierten Szenevektoren und dem transformierten, binarisier ten Referenz vektor (R) als Maß der Übereinstimmung bestimmt werden und derjenige transformierte, binarisierte Szenevektor bestimmt wird, der die höchste Übereinstim mung mit dem transformierten, binarisierten Referenz vektor (R) aufweist, und das zu erkennende Objekt als in der Szene erkannt klas sifiziert wird, wenn der Grad der Übereinstimmung des trans formierten, binarisierten Szenevektors, der die höchste Über einstimmung mit dem transformierten, binarisierten Refe- renzvektor (R) aufweist, einen vorgegebenen Schwellwert (7) übersteigt.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass in der Lernphase (L) das Referenzbild des zu erkennenden Objektes mittels eines optischen Sensors (1) aufgenommen wird.
3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in der Lernphase (L) das Referenzbild des zu erkennenden Objektes theoretisch berechnet oder das Referenzbild des zu erkennenden Objektes oder der transformierte, binarisierte Referenz vektor (R) aus einer Datenbank eingelesen wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in der Lernphase (L) jeweils ein Referenzbild mehrerer zu erkennender Objekte mittels einer modifizierten Census- Transformation (4) transformiert und binarisiert wird und die Ergeb- nisse dieser Transformationen jeweils in transformierten, binarisier- ten Referenzvektoren (R) abgespeichert werden, und in der Arbeits phase (A) die Ergebnisse der Szenentransformation als transfor mierte, binarisierte Szenevektoren nacheinander mit den transfor mierten, binarisierten Referenzvektoren (R) verglichen werden, um die mehreren zu erkennenden Objekte in der Szene zu erkennen.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass in der Lernphase (L) jeweils ein Referenzbild mehrerer zu erkennender Objekte mittels einer modifizierten Census- Transformation (4) transformiert und binarisiert wird und die Ergeb nisse dieser Transformationen jeweils in transformierten, binarisier ten Referenzvektoren (R) abgespeichert werden, und in der Arbeits phase (A) die Ergebnisse der Szenentransformation als transfor mierte, binarisierte Szenevektoren parallel mit den transformierten, binarisierten Referenzvektoren (4) verglichen werden, um gleichzei tig die mehreren zu erkennenden Objekte in der Szene zu erkennen.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das von dem optischen Sensor (1) aufgenom- mene Bild der Szene (9) nicht in einem Schritt vollständig auf das
Vorhandensein des Objektes überprüft wird, sondern mittels eines Suchfensters (10), das jeweils einen Bildausschnitt (11) der Szene beinhaltet und das derart über das Bild der Szene (9) geführt wird, dass das Suchfenster (10) das Bild der Szene (9) überstreicht, wobei sequentiell jeweils ein Suchfenster (10) mittels transformierter, bina- risierter Szenevektoren auf das Vorhandensein des Objektes über prüft wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass das Such fenster (10) eine Größe zwischen 8 x 8 und 128 x 128, vorzugsweise von 48 x 48 Pixeln hat.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Anzahl der Pixel in dem von dem optischen Sensor (1) aufgenommenen Bild der Szene (9) reduziert wird, bevor die transformierten, binarisierten Szenevektoren gebildet werden.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass aus dem von dem optischen Sensor (1) aufgenommenen Bild der Szene ein Teilbild ausgewählt wird, wobei nur das Teilbild auf das Vorhanden sein des Objektes überprüft wird und die anderen Teile der Szene unberücksichtigt bleiben.
10. Verfahren nach einem der Ansprüche 8 und 9, dadurch gekennzeich net, dass das von dem optischen Sensor (1) aufgenommene Bild der Szene (9) in der Auflösung verringert wird.
11. Verfahren nach dem vorhergehenden Anspruch, dadurch gekenn zeichnet, dass das von dem optischen Sensor (1) aufgenommene Bild der Szene (9) durch ein Binning oder eine Bildpyramide in der Auflösung verringert wird.
12. Verfahren nach einem der Ansprüche 8 bis 11, dadurch gekennzeich net, dass das von dem optischen Sensor (1) aufgenommene Bild der Szene (9) durch Unterabtastung verarbeitet wird, wobei nur einzelne bzw. manche Pixel des Bildes der Szene (9) ausgelesen und zu trans- formierten, binarisierten Szenevektoren verarbeitet und die anderen ausgelassen werden.
13. Verfahren nach dem vorhergehenden Anspruch, dadurch gekenn zeichnet, dass die Pixel des Bildes der Szene (9), aus denen transfor mierte, binarisierte Szenevektoren gebildet werden, nach einem fes ten Schema oder nach einem zufälligen oder pseudozufälligen Schema, bevorzugt unter Verwendung einer Zufallsfolge aus phy sikalischem Rauschen ausgewählt werden.
14. Verfahren nach einem der Ansprüche 12 und 13, dadurch gekenn zeichnet, dass zwischen 5 % und 50 %, bevorzugt zwischen 10 % und 40 %, besonders bevorzugt zwischen 20 % und 30 % der Pixel des Bildes der Szene (9) ausgelesen und zu transformierten, binari- sierten Szenevektoren verarbeitet und die anderen Pixel ausgelassen werden.
15. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es in zwei Stufen durchgeführt wird, wobei in der ersten Stufe das Objekt mit einem Verfahren nach einem der vorhergehenden Ansprüche schnell gesucht und erkannt wird und in der zweiten Stufe das in der ersten Stufe gefundene Ergebnis verifi- ziert wird, indem in dem Bereich des Bildes der Szene (9), in dem in der ersten Stufe das Objekt erkannt wurde, zusätzlich eine genauere Objekterkennung durchgeführt wird.
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass es in der ersten Stufe mit den Merkmalen des Anspruch 8 durchgeführt wird, und in der zweiten Stufe die genauere Objekterkennung mit einem Verfahren nach einem der vorhergehenden Ansprüche erfolgt, wobei die Anzahl der Pixel in dem von dem optischen Sensor (1) aufge nommenen Bild der Szene (9) nicht oder in geringerem Umfang als in der ersten Stufe reduziert wird, bevor die transformierten, binari- sierten Szenevektoren gebildet werden.
17. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass in der zweiten Stufe die genauere Objekterkennung mittels eines gebräuch lichen, aus dem Stand der Technik bekannten Verfahrens zum maschinellen Sehen und Bilderkennen für das Erkennen eines Objek- tes in einem elektronischen Bild durchgeführt wird.
18. Anwendung eines Verfahrens nach einem der vorhergehenden Ansprüche auf dem Gebiet des maschinellen Sehens in einer indus triellen Umgebung, Fertigung oder Anwendung, insbesondere zum Erkennen des Vorhandenseins eines Objektes (Musters), zum Erken nen der Position eines Objektes, zum Erkennen der Drehlage eines Objektes oder zum Durchführen eines Mustervergleiches.
19. Computerprogrammprodukt, insbesondere ein computerlesbares digitales Speichermedium, mit gespeicherten, computerlesbaren, computerausführbaren Anweisungen zum Durchführen eines Verfah rens nach einem der vorhergehenden Ansprüche, das heißt mit Anweisungen, die, wenn sie in einen Prozessor, einen Computer oder ein Computernetzwerk geladen wurden und ausgeführt werden, den Prozessor, den Computer oder das Computernetzwerk veranlassen,
Verfahrensschritte und Operationen gemäß einem der vorhergehen den Ansprüche durchzuführen.
20. System oder Vorrichtung zum Erkennen eines Objektes in einem elektronischen Bild einer Szene (9), umfassend einen optischen Sen sor (1) zum Aufnehmen eines elektronischen Bildes einer Szene (9) und eine digitale Datenverarbeitungseinheit zum Bearbeiten von Bilddaten, dadurch gekennzeichnet, dass das System bzw. die Vor richtung ausgebildet ist, ein Verfahren gemäß einem der vorher- gehenden Ansprüche durchzuführen.
21. Vorrichtung nach dem vorhergehenden Anspruch, dadurch gekenn zeichnet, dass die Vorrichtung ein Bildverarbeitungssensor ist, der auf einer Platine integriert zusammengefasst einen optischen Sensor (1) für das Aufnehmen eines elektronischen Bildes einer Szene (9) und eine digitale Datenverarbeitungseinheit zum Bearbeiten von
Bilddaten gemäß einem der vorhergehenden Ansprüche umfasst.
22. Vorrichtung nach dem vorhergehenden Anspruch, dadurch gekenn zeichnet, dass die digitale Datenverarbeitungseinheit ein FPGA- Modul, einen Prozessor, einen Speicher und eine Peripherie-Schnitt stelle (28) umfasst.
PCT/EP2021/070133 2020-07-21 2021-07-19 Verfahren und system bzw. vorrichtung zum erkennen eines objektes in einem elektronischen bild WO2022018019A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2023504201A JP2023535005A (ja) 2020-07-21 2021-07-19 電子画像内の物体を認識するための方法及びシステム又は装置
EP21746686.1A EP4185986A1 (de) 2020-07-21 2021-07-19 Verfahren und system bzw. vorrichtung zum erkennen eines objektes in einem elektronischen bild
US18/099,834 US20230154144A1 (en) 2020-07-21 2023-01-20 Method and system or device for recognizing an object in an electronic image

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102020119243.6 2020-07-21
DE102020119243.6A DE102020119243A1 (de) 2020-07-21 2020-07-21 Verfahren und System bzw. Vorrichtung zum Erkennen eines Objektes in einem elektronischen Bild

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/099,834 Continuation US20230154144A1 (en) 2020-07-21 2023-01-20 Method and system or device for recognizing an object in an electronic image

Publications (1)

Publication Number Publication Date
WO2022018019A1 true WO2022018019A1 (de) 2022-01-27

Family

ID=77104042

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2021/070133 WO2022018019A1 (de) 2020-07-21 2021-07-19 Verfahren und system bzw. vorrichtung zum erkennen eines objektes in einem elektronischen bild

Country Status (5)

Country Link
US (1) US20230154144A1 (de)
EP (1) EP4185986A1 (de)
JP (1) JP2023535005A (de)
DE (1) DE102020119243A1 (de)
WO (1) WO2022018019A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023249973A1 (en) * 2022-06-20 2023-12-28 Lean Ai Technologies Ltd. Neural networks related to manufactured items

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150003736A1 (en) 2013-07-01 2015-01-01 Electronics And Telecommunications Research Institute Method and apparatus for extracting pattern from image
US20150169638A1 (en) * 2013-12-12 2015-06-18 Nant Vision, Inc. Image Recognition Verification
EP3118812A1 (de) 2014-03-14 2017-01-18 Omron Corporation Bildverarbeitungsvorrichtung, bildsensor und bildverarbeitungsverfahren
EP3258442A1 (de) 2016-06-13 2017-12-20 Keyence Corporation Bildverarbeitungssensor, bildverarbeitungsverfahren, bildverarbeitungsprogramm und computerlesbares aufzeichnungsmedium und vorrichtung mit darauf aufgezeichnetem bildverarbeitungsprogramm

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150003736A1 (en) 2013-07-01 2015-01-01 Electronics And Telecommunications Research Institute Method and apparatus for extracting pattern from image
US20150169638A1 (en) * 2013-12-12 2015-06-18 Nant Vision, Inc. Image Recognition Verification
EP3118812A1 (de) 2014-03-14 2017-01-18 Omron Corporation Bildverarbeitungsvorrichtung, bildsensor und bildverarbeitungsverfahren
EP3258442A1 (de) 2016-06-13 2017-12-20 Keyence Corporation Bildverarbeitungssensor, bildverarbeitungsverfahren, bildverarbeitungsprogramm und computerlesbares aufzeichnungsmedium und vorrichtung mit darauf aufgezeichnetem bildverarbeitungsprogramm

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
"Chapter 1: Vision, the challenge ED - Davies E R", 31 December 2018 (2018-12-31), XP009530806, ISBN: 978-0-12-809284-2, Retrieved from the Internet <URL:https://doi.org/10.1016/C2015-0-05563-0> [retrieved on 20211021] *
AHLBERG ET AL.: "The genetic algorithm census transform: evaluation of census windows of different size and level of sparseness through hardware in-the-loop training", JOURNAL OF REAL-TIME IMAGE PROCESSING, vol. 18, 2021, pages 539 - 559, XP037460603, DOI: 10.1007/s11554-020-00993-w
BERNHARD FRÖBAANDREAS ERNST: "Face Detection with the Modified Census Transform", PROCEEDINGS OF THE SIXTH IEEE INTERNATIONAL CONFERENCE ON AUTOMATIC FACE AND GESTURE RECOGNITION (FGR'04, 2004
SPERKER HANS-CHRISTIAN ET AL: "Feature-based object recognition - A case study for car model detec", 2013 11TH INTERNATIONAL WORKSHOP ON CONTENT-BASED MULTIMEDIA INDEXING (CBMI), IEEE, 17 June 2013 (2013-06-17), pages 127 - 130, XP032474484, ISSN: 1949-3983, ISBN: 978-1-4799-0955-1, [retrieved on 20130807], DOI: 10.1109/CBMI.2013.6576568 *
SZELISKI RICHARD: "Computer Vision", COMPUTER VISION: ALGORITHMS AND APPLICATIONS, 3 September 2010 (2010-09-03), London [u.a.], XP055853782, ISBN: 978-1-84882-934-3, Retrieved from the Internet <URL:https://szeliski.org/Book/drafts/SzeliskiBook_20100903_draft.pdf> [retrieved on 20211021] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023249973A1 (en) * 2022-06-20 2023-12-28 Lean Ai Technologies Ltd. Neural networks related to manufactured items

Also Published As

Publication number Publication date
DE102020119243A1 (de) 2022-01-27
EP4185986A1 (de) 2023-05-31
JP2023535005A (ja) 2023-08-15
US20230154144A1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
DE112012005350B4 (de) Verfahren zum Schätzen der Stellung eines Objekts
DE19521346C2 (de) Bilduntersuchungs/-Erkennungsverfahren, darin verwendetes Verfahren zur Erzeugung von Referenzdaten und Vorrichtungen dafür
EP2417561B1 (de) Zweidimensionaler symbolcode und verfahren zum lesen des symbolcodes
EP0338677B1 (de) Bildverarbeitungsmethode zur Gestalterkennung
DE112011101695T5 (de) System und Verfahren zur Verarbeitung von Bilddaten in Bezug zu einer Konzentration innerhalb des gesamten Bildes
DE69629930T2 (de) Verfahren zum Festlegen eines auf einem Objekt angebrachten optischen Codes
WO2007039202A1 (de) Vorrichtung, verfahren und computerprogramm zum ermitteln einer information über eine form und/oder eine lage einer ellipse in einem graphischen bild
DE2703158A1 (de) Einrichtung zum erkennen einer zeichenposition
DE102013112040B4 (de) System und Verfahren zum Auffinden von sattelpunktartigen Strukturen in einem Bild und Bestimmen von Informationen daraus
DE102017220307A1 (de) Vorrichtung und Verfahren zum Erkennen von Verkehrszeichen
EP2028605A1 (de) Detektionsverfahren für symmetrische Muster
DE4133590A1 (de) Verfahren zur klassifikation von signalen
DE102019124810A1 (de) Bildverarbeitungsgerät und Bildverarbeitungsverfahren
EP0484935B1 (de) Verfahren und Vorrichtung zum Lesen und Identifizieren der Information einer Zeichenvorlage, insbesondere eines Barcodes, innerhalb eines zwei- oder drei-dimensionalen Feldes mittels einer Video-Kamera, die ein binäres Videosignal des Bildes zu erzeugen imstande ist
CN115641337B (zh) 一种线状缺陷检测方法、装置、介质、设备及系统
DE102006044595B4 (de) Bildverarbeitungsvorrichtung zur Segmentierung anhand von Konturpunkten
EP4185986A1 (de) Verfahren und system bzw. vorrichtung zum erkennen eines objektes in einem elektronischen bild
EP1709587B1 (de) Bildverarbeitungssystem
EP1766579A2 (de) Verfahren zur detektion geometrischer strukturen in bildern
DE102020209080A1 (de) Bildverarbeitungssystem
DE69817973T2 (de) Gerät und Verfahren zur Bilderkennung
DE10142457A1 (de) Digitale Bildmessung retroreflektierender Marken
Damaryam A Hough Transform Implementation for Line Detection for a Mobile Robot Self-Navigation System
DE19507059B9 (de) Verfahren zur omnidirektionalen Erfassung von OCR-Klarschrift auf Etiketten oder ähnlichen Datenträgern durch zufallsgesteuerte Suche und Dekodierung mit einem neuronalen Netzwerk
DE112022002410T5 (de) Informationsverarbeitungsvorrichtung, informationsverarbeitungsverfahren und steuerprogramm

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21746686

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
ENP Entry into the national phase

Ref document number: 2023504201

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021746686

Country of ref document: EP

Effective date: 20230221