Method and system for processing plurality of poultry eggs
Using trained learning models to process multiple egg images from different angles addresses inefficiencies in egg quality determination, achieving accurate and cost-effective classification and packaging.
Patent Information
- Application Number
- CN202380074024.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-10-19
- Filing Date
- 2023-10-19
- Publication Date
- 2025-07-15
AI Technical Summary
It is difficult for the prior art to efficiently and economically classify and classify large amounts of poultry eggs in a short period of time, especially the quality of unfertilized eggs.
Using a trained learning model, multiple cameras are used to take images of bird eggs from different perspectives, and the quality of eggs is determined through a digital image processor, especially using a convolutional neural network (CNN) for image processing and quality prediction.
It realizes high-precision and reliable quality estimation of large amounts of poultry eggs in a short time, supports rapid classification and sorting, and reduces equipment costs and energy consumption.
Smart Images

Figure CN120322150A_ABST
Abstract
Description
Field of the Invention
[0001] The present application relates to methods and systems for processing multiple poultry eggs, such as eggs of poultry, in particular unfertilized eggs. Background Art
[0002] Egg detection systems are known and sold by the applicant. One example is the MOBA Egg Inspector (see www.moba.com ), which includes a camera and special lighting, as well as software for detecting cracked and dirty eggs on the feed section of an egg grader.
[0003] In addition, WO2010074572 discloses a method for classifying eggs (each egg having different parts, namely eggshell, egg liquid and air chamber), the method comprising: performing a light transmission inspection on each egg to obtain at least one image of the egg such that different parts of the egg are distinguishable in the image; and processing the at least one image to classify the eggs. The volume of the egg liquid of the egg can be determined by processing the at least one image. According to a further detailed description of the known method, the at least one image is processed using reference values to determine the quality of each of the egg parts in the egg. According to a particularly advantageous detailed description, the quality of the egg is determined by processing at least one image and by determining the quality of each of the egg parts (for example, by determining the quality of the shell and the quality of the egg liquid and using relevant reference values). Summary of the Invention
[0004] The present application aims to provide an improved method for processing multiple eggs, in particular for classifying eggs. The object of the present application is to provide a method that can accurately and effectively determine the mass of eggs in a reliable and economical manner, in particular such that a large number of eggs can be processed within a relatively short processing cycle.
[0005] According to one aspect of the present application, this is achieved by the features of claim 1.
[0006] The present disclosure provides a method for processing multiple poultry eggs, in particular unfertilized eggs, the method comprising:
[0007] - conveying each egg along a conveying path;
[0008] - using illumination light to generate multiple images of each egg from different sides of the egg; and
[0009] processing the multiple images of each egg by a digital image processor, using a trained learning model to determine the mass of the egg, and outputting the determined mass of the egg, for example for classifying the eggs.
[0010] It has been found that in this way, in the case of processing a relatively large number of eggs, unexpectedly good and reliable egg mass estimation can be achieved. The determined egg mass can be used, for example, subsequently for grading / sorting the eggs and for packaging the eggs during the packaging process (e.g., in cardboard boxes or on pallets). In particular, the process does not have to determine the mass of the individual egg parts (e.g., the shell mass and the egg liquid mass). The process can use only relatively unprocessed images of the eggs (e.g., raw image data, or partially processed image data, and the image data of each egg preferably includes the entire contour of the egg) as input to a trained learning model to provide a good determination of the egg mass for each of the eggs. Additionally, in this way, efficient image processing can be achieved.
[0011] Good results can be obtained when the learning model has been trained by machine learning with training data regarding a plurality of (learning model training) eggs, where the training data includes a plurality of images of each of the plurality of (learning model training) eggs and the determined mass of the (learning model training) eggs. According to a preferred embodiment, the trained learning model includes a neural network, preferably a convolutional neural network (CNN). It has been found that in this way, optimal data processing can be achieved in real time to provide sufficiently reliable egg mass detection results, thereby allowing the processing to be performed by a relatively low-power (and relatively inexpensive from an economic perspective) image processing device. In particular, it has been found that the egg mass can be determined with high precision, especially providing a low standard deviation of 1 gram or even better.
[0012] Preferably, a relatively large number of images are taken from each egg for use in the processing, where the images are preferably from mutually different perspectives (i.e., each image is taken from another angle relative to the outer surface of the egg), and it has been found that this significantly helps to improve the mass estimation accuracy. For example, the plurality of images can include at least 4 images of the egg, and preferably include at least 10 or at least 20 images, such as 25 or more images, e.g., in the range of 20 - 30 images. Preferably, a set (i.e., a plurality) of images of each egg covers / displays the entire outer surface of the egg. The plurality of images of each egg can be generated by a single camera, but preferably at least two (spaced apart from each other) cameras are used to image each egg. The trained learning model can use, for example, the basic raw (i.e., substantially unprocessed) image data provided by each camera, or partially processed image data.
[0013] One aspect of the present application provides a system for processing a plurality of poultry eggs, such as a system configured to perform the method according to the present application, where the poultry eggs are in particular unfertilized eggs. The system includes:
[0014] - a conveyor for conveying each egg along a conveying path;
[0015] - An imaging system having at least one camera and at least one light source for generating a plurality of images of each egg conveyed by a conveyor, wherein the at least one camera and the at least one light source are arranged on opposite sides of a conveying path;
[0016] - A digital image processor configured to receive the plurality of images from the imaging system and to process the plurality of images of each egg using a trained learning model to determine the quality of the egg, wherein the image processor is configured to output the determined quality of the egg, for example for generating and / or storing the determined quality associated with a predetermined egg identifier of the corresponding egg and / or for classifying the eggs.
[0017] In this way, the above advantages can be achieved.
[0018] In addition, the present application provides a digital image processor comprising means for performing the method according to the present application, which processes a plurality of images of each egg (E) using a trained learning model to determine the quality of the egg.
[0019] In addition, one aspect of the present application provides a method for training a machine learning model to predict the quality of poultry eggs, comprising:
[0020] - Providing a machine learning model that is adapted to receive input data and output prediction data, wherein the training comprises (in any order):
[0021] - A) Conveying a plurality of eggs along a conveying path by a conveyor;
[0022] - B) An imaging system generating a plurality of training images of each of the eggs (conveyed by the conveyor) from different sides of the eggs using illumination light;
[0023] - C) Measuring the (actual) quality of each of the eggs, for example by a dedicated egg quality measuring device; and
[0024] - D) Inputting the plurality of training images of each of the eggs and the measured quality of the egg into the machine learning model to train the learning model to output the egg quality as prediction data.
[0025] Preferably, a training image set of at least 10,000 different eggs and the corresponding measured quality are input into the machine learning model to train the learning model, which has been found to provide good and reliable training data results. For example, a training image set of at least 50,000 different eggs and the corresponding measured values can be input into the machine learning model to train the learning model, which provides a post-learning model capable of achieving reliable and accurate egg quality determination (during subsequent machine operations).
[0026] Other additional advantageous embodiments of the present application are provided in the dependent claims. Description of the Drawings
[0027] The present application will now be explained in more detail with reference to the drawings. In the drawings:
[0028] Figure 1 A partial non - limiting example of an egg - handling system according to an embodiment of the present application is schematically shown in a top view;
[0029] Figure 2 is a cross - sectional view taken along line II - II of Figure 1 ;
[0030] Figure 3 An example of image processing according to an embodiment of the present application is schematically shown;
[0031] Figure 4 Schematically shows Figure 3 detail Q of
[0032] Figure 5 A graph showing the processing results according to an embodiment of the present application.
[0033] In the present application, similar or corresponding features are denoted by similar or corresponding reference numerals. Detailed Description of the Embodiments
[0034] Figures 1 to 2 An egg - handling system is shown, which includes a conveyor 1 (only a part is shown), and the conveyor 1 is configured to convey a plurality of eggs E1, E2 along a conveying path (in the conveying direction T), especially as several rows of eggs E1, E2. Three parallel rows r1, r2, r3 are shown in this example; of course, the conveyor 1 can be configured to convey eggs in more or fewer than three rows.
[0035] As shown in the drawings, during use, the eggs can have different shell colors. For example, the drawings show that each first egg E1 has a white first shell color, and the shell color of each second egg E2 is non - white, such as brown. Optionally, the system can directly inspect both types of eggs E1, E2.
[0036] Preferably, the conveyor 1 is an endless conveyor, such as an endless roller conveyor 1. The conveyor can be configured to rotate / turn the eggs, for example, around a corresponding longitudinal egg axis during transportation. In particular, the roller conveyor can include egg support members, such as parallel diabolo-shaped (preferably rotatable) rollers 1a, between which a nest-shaped portion for receiving (and rotating) eggs E1, E2 is defined. The egg support elements (such as rollers) 1a can be mounted on corresponding shafts 1b, which can be driven by a suitable drive means (such as a motor, a belt or a chain, etc., not shown), for moving the shafts and the rollers in the conveying direction T.
[0037] Thus, the conveyor 1 can include or define an egg receiving nest-shaped portion 1c, which is partially open at the corresponding lower (egg support) side, thereby allowing light to be transmitted along the corresponding egg support elements (in this case along the rollers) 1a.
[0038] The system further includes an imaging system 2, 3 having at least one light source 2 and at least one camera 3 for taking a plurality (N) of images of each of the eggs E.
[0039] At least one or each light source 2 can be configured to emit a corresponding illumination beam B, such as an illumination beam of near-infrared (NIR) light, towards the egg conveying path for illuminating the eggs E1, E2 during operation. Alternatively, at least one or each light source 2 can be configured to emit white light (which can be reflected by the eggs, for example), or blue light (which can be particularly advantageous in the case of imaging the air cell of a white egg).
[0040] Each light beam source 2 (one is shown) can be arranged at a vertical level below the vertical level of the egg conveying path (see Figure 2 ), but this is not necessary. The light source 2 is arranged to emit the beam upwards such that the passing eggs E1, E2 in the corresponding row r2 are continuously illuminated by the beam B (in this example, the beam enters the corresponding egg receiving nest-shaped portion via the corresponding open side of those egg receiving nest-shaped portions).
[0041] Alternatively, the light source 2 can be arranged to emit the beam downwards or laterally for irradiating the passing eggs E1, E2 in the corresponding row r2 with the corresponding beam B.
[0042] The system can include various numbers of light sources 2, where each light source 2 can be configured to emit one or more beams B, for example, for illuminating the passing eggs in one or more conveyor rows r1, r2, r3. In a non-limiting example, the light sources include one or more light-emitting diodes (LEDs) for emitting the beam B.
[0043] The system may include various numbers of light sources 2, where each light source 2 may be configured to emit one or more light beams B, for example, to illuminate eggs passing along one or more conveyor rows r1, r2, r3. In a non-limiting example, the light source includes one or more light-emitting diodes (LEDs) for emitting the light beam B.
[0044] Optionally, each light source 2 may be configured to emit or provide a collimated or focused light beam B, particularly illuminating only a portion of the outer surface of each eggshell of the passing eggs (E1, E2). During operation, the light B from the light source 2 may be scattered internally by the egg E such that the entire outer contour of the egg receives light (i.e., is illuminated) for imaging by one or more cameras of the imaging system.
[0045] The wavelength of the near-infrared light (if any) of the illumination light beam B generated by the light source 2 may be at least 700 nm, and preferably at most 1000 nm, for example, having a wavelength in the range of 700 - 800 nm, and preferably having a wavelength less than 750 nm, particularly having a wavelength of about 720 nm. The wavelength of the near-infrared light is most preferably in the range of 710 - 750 nm, preferably in the range of 710 - 730 nm.
[0046] In the case of emitting white light, the light source 2 may be a broadband white light emitter.
[0047] In the case of emitting blue light, the light source 2 may be a broadband or narrowband blue light emitter.
[0048] Additionally, preferably, the system is configured such that (e.g., the conveyor transport speed and the egg rotation speed are set such that during operation) each egg E1, E2 rotates about a respective longitudinal egg axis while being illuminated by the light beam B.
[0049] In the drawings ( Figure 2 ), the light beam source 2 is depicted as emitting a light beam towards the detector 3 (see below), but this is not necessary (particularly in the case of light diffusely received inside the egg). The light source 2 may operate continuously, but preferably emits light beams intermittently. Additionally, in an embodiment, the operation of the light beam source 2 may be synchronized with the conveyor 1 (e.g., at the conveyor speed) such that the light source 2 only generates a light beam B that illuminates the passing eggs, where the light source does not otherwise generate a beam (e.g., to save energy and / or avoid any relative detector 3 being directly irradiated by the light source 2).
[0050] In addition, the imaging system includes a number of light detectors 3, in particular cameras, arranged to detect light emitted from the egg conveying path, such as light transmitted through eggs E1, E2 (and emitted and / or diffused by eggs E1, E2) during operation, and / or light that is not transmitted through the eggs but reflected from the egg surfaces. During operation, the cameras 3 preferably generate a plurality of images of each egg E from different sides of the egg using illumination light B (i.e., illumination light B transmitted through the egg E for example).
[0051] In this example, the cameras 3 are located at a vertical level above the egg conveyor 1. Thus, contamination of the detector 3 (e.g., by dirt or other substances that may be present on the passing eggs) can be prevented or significantly reduced. Alternatively, one or more (e.g., each) of the cameras 3 can be located at substantially the same vertical level as the passing eggs, and / or at a vertical level, for example, below the level of the passing eggs. In other words, alternatively, one or more of the cameras 3 can be located at another level, such as at the level of egg conveyance or below the egg conveyance level, and / or at different positions.
[0052] In this example, pairs of cameras 3a, 3b are associated with each of the conveying rows r1, r2, r3 defined by the conveyor 1, and are associated with one of the light beam sources 2 for example. In particular, for each conveying row, when viewed in a top view, at least the cameras 3a, 3b are positioned adjacent to each other to capture images of the eggs from different respective perspectives. Alternatively, for example, the cameras 3 can be mounted to detect light emitted from the eggs in several rows r1, r2, r3.
[0053] Good results can be obtained when the cameras 3a, 3b are configured to generate grayscale images that will be processed by the image processor 8. Each of the images input to the image processor 8 can be, for example, a bitmap image, such as an 8-bit bitmap image, for example having a resolution of at most 1000×1000 pixels (in particular at most 800×800 pixels). It has been found that such relatively low-resolution images can provide good, reliable quality prediction results. Additionally, according to an embodiment, each camera 3a, 3b can generate a high (higher)-resolution image, where the image processor 8 can be configured to resize and / or crop the high (higher)-resolution image into a relatively low (lower)-resolution image of at most 1000×1000 pixels for further processing (by a trained learning model 1001, as will be discussed below).
[0054] Each camera 3a, 3b can be configured, for example, to produce a detection signal, in particular a digital image of the egg. In a preferred embodiment, each image of each egg (captured by the cameras 3a, 3b) includes the entire illuminated contour of the egg (see Figure 3 ).
[0055] Optionally, for example when eggs E1, E2 having mutually different eggshell colors are being processed, the system can be configured to maintain substantially the same egg illumination conditions / parameters, but this is not necessary. Thus, optionally, the light source can produce the same illumination beam B (having the same or constant beam intensity and the same spectrum) for illuminating eggs E1, E2. Additionally, preferably, the respective detector 3 preferably is not adjusted during its operation (irrespective of whether the light detected by the detector is emitted from the first egg or the second egg) to detect light emitted from a plurality of eggs E1, E2 (identical, respectively passing through rows r1, r2, r3).
[0056] Additionally, the system includes processing means 8 (schematically shown) configured to process the light detection results of the infrared light detector 3. The processing means 8 can be configured in various ways and can include, for example, processor software, processor hardware, a computer, a data processing device, a memory for storing data to be processed, etc. Additionally, the processor means 8 can include or be connected to various corresponding communication means for allowing communication with the light detector 3 to receive its detection results, or the processing means 8 and one or more detectors 3 can be integrated with each other. Additionally, the processing means 8 can include, for example, a user interface for allowing an operator to interact with the central processor and, for example, for outputting the data processed by the processor.
[0057] In particular, the processing means is a digital image processor 8 configured to receive a plurality of N images from the imaging systems 2, 3 and process the plurality of images of each egg E using a trained learning model 1001 to estimate the quality of the egg. Herein, preferably, the imaging systems 2, 3 are configured to take at least 4 images (N = 4) of each passing egg and preferably take at least 10 or 20 images, such as 25 or more images, for processing by the image processor 8 (using the trained learning model 1001).
[0058] Additionally, the image processor 8 is configured to output the determined quality ME of the egg, for example for generating and / or storing the determined quality ME associated with a predetermined egg identifier (e.g., a unique code or number) of the respective egg and / or for classifying the eggs. The output can be stored, for example, in a memory and / or a server and / or provided to an operator via a user interface, etc., which will be clear to those skilled in the art.
[0059] As described above, the conveyor 1 is configured to rotate the egg E during transportation along the transport path, in particular when the egg passes along the imaging systems 2, 3. In this way, the imaging systems 2, 3 can generate multiple images of each egg E from different perspectives, i.e., from directions that are different from each other (relative to the outer surface of the egg). Preferably, the conveyor 1 and the imaging systems 2, 3 are configured to cooperate (e.g., by the imaging systems taking multiple N images during a predetermined egg rotation provided by the conveyor 1) such that the corresponding multiple images of the egg E include the entire outer surface (i.e., all sides) of the egg E. Two (or more) cameras 3a, 3b associated with one of the transport paths r1, r2, r3 can, for example, simultaneously take images of the corresponding eggs. Additionally, the time period between two consecutive images of each egg E taken by each camera 3a, 3b can be constant (especially in the case where the conveyor 1 provides a constant egg rotation speed).
[0060] Preferably, the learning model 1001 has been trained by machine learning with training data including multiple images of multiple eggs and the determined (actual) quality MM of those eggs. The determined (actual) egg quality MM for training the model can be determined, for example, using a known egg weighing device (such as a scale), e.g., manually or in an automated egg weighing system.
[0061] The trained learning model 1001 preferably includes a neural network, preferably a CNN (known, for example, see https: / / en.wikipedia.org / wiki / Convolutional_neural_netwo rk ). An example of the model 1001 is shown in Figure 3 and will be explained in more detail below. Figure 4
[0062] For example, the initial operation of the system can include a method of training the machine learning model 1001 to predict the quality of poultry eggs.
[0063] The process of the learning model 1001 (e.g., CNN) can be a process of finding the values of all the learning model parameters within the learning model network such that the input images (of the eggs) produce result values that have a high correlation with the actual weights of the actions (to be measured).
[0064] The training method can at least include the following steps:
[0065] Providing a machine learning model 1001 that is adapted to receive input data and output prediction data, wherein the training includes:
[0066] -A) The conveyor 1 transports a plurality of eggs E along the transport paths r1, r2, r3;
[0067] -B) Imaging systems 2, 3 generate a set of training images (i.e., a plurality of N training images) of each egg E (transported by conveyor 1 and, for example, rotated) from different sides of the egg using illumination light B;
[0068] -C) Measure the (actual) mass MM of each egg E; and
[0069] -D) Input the multiple training images of each egg E and the measured mass MM of that egg E into a machine learning model to train the learning model to output the egg mass ME as prediction data.
[0070] Here, preferably a relatively large number of eggs are processed for training, where preferably the training images and corresponding measured masses of at least 10,000 different eggs are input into the machine learning model to train the learning model. Additionally, as described above, the set of training images (a plurality of N training images) of each egg input into the learning model 1001 preferably includes at least 4 images of the egg, and preferably includes at least 10 or 20 images, such as 25 or more images, such as in the range of 20 - 30 images.
[0071] After training the learning model 1001, the corresponding system can perform a method for processing eggs E. The method includes:
[0072] - Transport each egg E along transport paths r1, r2, r3;
[0073] - Using illumination light B (e.g., illumination light B transmitted through egg E), generate multiple images of each egg E (transported by the conveyor and preferably rotated) from different sides of the egg; and
[0074] Process the multiple images of each egg E by a digital image processor 8, use the trained learning model to determine the mass ME of the egg, and output the determined mass ME of the egg, for example, for classifying the eggs.
[0075] As described above, likewise, during the system egg processing operation, the multiple images of each egg E include the entire outer surface of the egg. During the generation of a sequence of multiple N images of egg E, each egg E is preferably rotated. Preferably, the number N of images of each egg during the training of the learning model 1001 is the same as the number N of images of each egg during subsequent normal system operation when using the trained learning model.
[0076] Additionally, the trained learning model 1001 can use the basic raw image data provided by at least one camera 3. Here, the raw image data specifically represents an image that has not had significant image processing applied to it and is produced by the camera 3 before the image is input into the machine learning model. Some image processing can be applied, such as a cropping operation for cropping the image to a portion that includes the complete contour of the imaged egg, where another portion of the image that does not include the egg is removed before the (cropped) image is input into the machine learning model. Additionally, the image processing can include resizing the image or reducing the resolution of the image before the image is input into the trained learning model 1001. The raw image data of each (optionally cropped or resized) image is preferably a low-resolution grayscale image, such as having at most 1000×1000 pixels (e.g., less than 900×900 pixels).
[0077] Figure 3 and Figure 4 shows an example of the learning model architecture and the corresponding steps that can be performed by the learning model 1001, in particular a CNN (e.g., performed by the image processor 8 of the system).
[0078] Figure 3 shows several pictures Px (P1, P2, P3, P4,..., P N ) of a single egg taken from different perspectives by the imaging systems 2, 3. In total, multiple N images are taken for each egg E. The N images are preferably grayscale bitmap images (as described above), preferably of low resolution. During operation, each of the N images Px is input into the learning model 1001 (performed by the image processor 8) for it to process, for estimating the egg quality EM(Px) associated with that image Px. After determining all the egg qualities EM(Px) for all N images of the egg E, the image processor 8 can calculate the average egg quality EM (i.e., EM is equal to the sum of the N determined egg qualities EM(Px) divided by N), and output this quality EM as the estimated egg quality of the egg E.
[0079] Figure 4 shows an example of the above learning model 1001, in particular processing one of the multiple egg images Px of an egg (to estimate the corresponding egg quality EM(Px)). The learning model 1001 preferably includes several fully connected layers 1003, 1004, 1005 (i.e., layers where each input pixel is multiplied by a parameter value), such as a neural network 1002 (see Figure 4)。The fully connected layer includes an output layer 1005 each having a plurality of nodes, at least one intermediate layer 1004, and an input layer 1003. For example, the input layer may have a plurality of nodes 1003, and data from the pooling layer 1006 (see below) is input to the nodes 1003. The intermediate layer may have a plurality of nodes 1004, and each node performs an arithmetic operation on the input data from each of the nodes 1003 in the input layer by using parameters. The plurality of nodes 1004 respectively output data to the plurality of nodes 1005 of the output layer. The nodes 1005 of the output layer at least include a node for outputting the determined (estimated) egg quality EM(Px). In an embodiment, there is only a single output node 1005 for outputting the determined egg quality EM(Px).
[0080] The pooling layer 1006 of the CNN is part of a layer group including M convolutional layers 1006(1,..., M) and M associated pooling layers 1007(1,..., M). Each convolutional layer 1006(1,..., M) is configured to apply a filter matrix to the image received from its previous layer (convolution). Each pooling layer is configured to reduce the amount of pixels (of the image received from the previous convolutional layer) by taking the maximum value of the image region. The first of the convolutional layers 1006(1) receives the image Px generated by the imaging systems 2, 3.
[0081] Specifically, during operation, each convolutional layer 1006 may convolve its input (pixels) with a filter matrix of a certain dimension. Each value in the matrix is a parameter that can be "adjusted" by a learning algorithm (during the training of the model). For example, as common general knowledge, in the case of using a grayscale image of size 512×512×1 (1 is the number of channels) as the input, a 3×3 kernel with 32 filters and biases produces 1*3*3*32 + 32 = 320 parameters. Without biases, this produces 1*3*3*32 = 288.
[0082] According to an embodiment, all the layers (including convolutional layers and fully connected layers) of the combined learning model 1001 have a total of less than 2 million parameters, for example, only 1.6 million parameters. Thus, in the case of implementing a relatively inexpensive digital image processor 8, the processing of egg images by the image processor 8 can be performed in real time.
[0083] It has been found that in this way, the egg quality can be effectively estimated without, for example, complex 3D rendering techniques for determining the quality of individual egg parts (such as the eggshell, egg liquid). Additionally, a relatively simple learning algorithm can be used, such that it can be executed by relatively low-cost image processor hardware.
[0084] Figure 5Shows the results of the present system and method, indicating a comparison of the estimated mass EM (as estimated by the present system) of several types of eggs with the actual measured mass MM. Different types of eggs include several types of brown eggs B5, B10, B15, B20 and several types of white eggs W5, W10, W15, W20, where the difference between the eggs relates to the storage time (egg age) of the eggs. Thus, the estimated mass EM unexpectedly matches the actual (measured) mass MM.
[0085] Without wishing to be bound by any theory, it is believed that the present system and method can process relatively simple grayscale bitmap egg images, which show the entire shape of the egg as well as potential features related to the air chamber within the egg, their respective dimensions, and possibly in combination with eggshell information. The learning model automatically takes into account these relevant features of the eggs during the learning process, and then the learned learning model can provide good egg quality prediction.
[0086] Obviously, the present application is not limited to the above exemplary embodiments. Various modifications can be made within the framework of the present application set forth in the appended claims.
[0087] In the present application, the eggs to be processed are specifically non-living dead eggs, that is, unfertilized (and containing no embryo) eggs for consumption. Poultry eggs / bird eggs can be poultry eggs, such as chicken eggs.
[0088] In addition, in a preferred embodiment, during the detection of light generated from eggs having mutually different shell colors, the detector for detecting (transmitted) near-infrared light maintains a certain predetermined light detection state without interfering with the detection result (and subsequent processing result). However, this is not necessary. Alternatively, for example, at least a part of the detector can change the corresponding state with respect to the detection light emitted from various (e.g., different) eggs.
[0089] In addition, it will be clear that each camera can be located at a different position and can be configured to, for example, detect light transmitted from a single egg or light transmitted from multiple eggs. Additionally, alternatively, at least one or each camera can be configured to detect illumination light that does not pass through the egg but only illuminates the outer surface of the egg, such as light reflected by the egg. Similarly, at least one or each camera can be configured to detect both (transmitted through the egg) transmitted illumination light and non-transmitted illumination light (i.e., light that does not pass through the egg).
[0090] For example, the system can include multiple cameras for observing the eggs from different viewing directions. For example, at least one camera type detector can be provided, with each camera arranged to simultaneously capture images of one or more eggs to be inspected. In this case, for example, the images captured by the camera can be segmented or cropped into several images associated with different eggs to be input into the image processor as egg images.
[0091] Additionally, each of the light sources can be arranged at different positions, such as below the vertical level of one or more eggs, at the vertical level of one or more eggs, and / or above the vertical level of one or more eggs. Additionally, multiple light sources can be implemented to illuminate (e.g., simultaneously) a single egg E1, E2 from the same or different directions.
[0092] Additionally, for example, the color of the eggshell can be the color perceived by the naked (human) eye as would be understood by those skilled in the art.
[0093] Additionally, the method according to the above exemplary embodiments can be implemented by a digital image processor that executes instructions stored in a non - transitory computer - readable medium including program instructions. The medium can also separately include program instructions, data files, data structures, etc., or in combination with program instructions, data files, data structures, etc. The program instructions recorded on the medium can be program instructions specially designed and constructed for the purpose of the exemplary embodiments, or they can be of the type well - known and available to those skilled in the computer software field. Examples of non - transitory computer - readable media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD - ROM disks, DVDs, and / or Blu - ray disks; magneto - optical media such as optical disks; and hardware devices such as read - only memory (ROM), random access memory (RAM), flash memory (e.g., USB flash drives, memory cards, memory sticks, etc.) specifically configured to store and execute program instructions. Examples of program instructions include machine code (such as generated by a compiler) and files including high - level code that can be executed by a computer using an interpreter. The above - mentioned devices can be configured to act as one or more software modules to perform the operations of the above - mentioned exemplary embodiments, or vice versa.
[0094] The software can include a computer program, code segments, instructions, or some combination thereof to independently or jointly direct or configure the digital image processor to operate as desired. The software and data can be permanently or temporarily included in any type of machine, component, physical or virtual device, computer storage medium or device, or in a propagated signal wave capable of providing instructions or data to or being interpreted by the image processor. The software can also be distributed over network - coupled computer systems such that the software is stored and executed in a distributed manner. The software and data can be stored by one or more non - transitory computer - readable recording media. The non - transitory computer - readable recording media can include any data storage device that can store data that can thereafter be read by a computer system or processing device.
[0095] Although the present disclosure includes specific exemplary embodiments, it will be apparent to those of ordinary skill in the art that various changes in form and detail may be made in these exemplary embodiments without departing from the scope of the claims. The exemplary embodiments described herein are considered to be in a descriptive sense only and not for purposes of limitation.
[0096] For example, preferably, a large number N of images are used for each egg, where the images can be sequentially captured from two different angles during egg rotation, but images from a single angle (i.e., images captured by a single camera) or images from three or more angles can also be used.
[0097] Additionally, the method may include using a standard convolutional neural network 1001, for example, in combination with Bayesian optimization for hyperparameter search.
[0098] Furthermore, illumination light of various wavelengths or wavelength ranges can be used. Optionally, NIR light is used as the illumination light. Alternatively or additionally, white light (e.g., having wavelengths in the range of about 400 to 700 nm) and / or blue light (having a single wavelength or a wavelength range in the range of about 380 to 500 nm) are used.
[0099] Moreover, it will be understood that the learning model 1001 may include: a number of fully connected layers 1003, 1004, 1005 (see, for example, Figure 4 ); and a number of rectified linear unit (ReLU) activation layers (which may be part of all fully connected blocks and part of all convolutional blocks); herein, a block may be defined as a set of combined layers, for example: fully connected block: fully connected layer (FullyConnected) -> rectified linear unit (ReLU). Convolutional block: convolutional layer (Convolution) -> batch normalization layer (BatchNorm) -> rectified linear unit (ReLU) -> two-dimensional average pooling layer (AveragePool2D).
Claims
1. A method for processing multiple poultry eggs, especially unfertilized eggs, the method comprising: - conveying each egg (E) along a conveying path; - using illumination light (B) to generate multiple images of each egg (E) from different sides of the egg; and processing the multiple images of each egg (E) by a digital image processor (8), using a trained learning model to determine the quality of the egg, and outputting the determined quality of the egg, for example for classifying the egg.
2. The method according to claim 1, wherein, The learning model has been trained by machine learning with training data regarding multiple eggs, the training data including multiple images of each of the multiple eggs and the determined quality of the eggs.
3. The method according to any one of the preceding claims, wherein, The trained learning model includes a neural network, preferably a CNN.
4. The method according to any one of the preceding claims, wherein, The multiple images of each egg (E) include the entire outer surface of the egg.
5. The method according to any one of the preceding claims, wherein, Each egg (E) is rotated during generation of the multiple images of the egg.
6. The method according to any one of the preceding claims, wherein, The multiple images include at least 4 images of the egg, and preferably include at least 10 or at least 20 images, such as 25 or more images, for example in the range of 20 - 30 images.
7. The method according to any one of the preceding claims, wherein, Each of the images is a grayscale image.
8. The method according to any one of the preceding claims, wherein, Each of the images is a bitmap image, such as an 8 - bit bitmap image, for example having a resolution of at most 1000×1000 pixels.
9. The method according to any one of the preceding claims, wherein, The multiple images of each egg are generated by at least one camera (3), wherein the trained learning model substantially uses the raw image data provided by the at least one camera (3).
10. The method according to any one of the preceding claims, wherein, The eggs are imaged using infrared light (B), preferably near - infrared light, wherein the wavelength of the light (B) is preferably less than 800 nm, such as less than 750 nm, wherein the wavelength of the light (B) is for example in the range of 710 - 750 nm, preferably in the range of 710 - 730 nm.
11. The method according to any one of the preceding claims, wherein, The eggs are imaged using white light (B).
12. The method according to any one of the preceding claims, wherein, The eggs are imaged using blue light (B).
13. A system for processing multiple poultry eggs, such as a system configured to perform the method according to any one of the preceding claims, the poultry eggs especially being unfertilized eggs, the system comprising: - a conveyor (1) for conveying each egg (E) along a conveying path; - an imaging system having at least one camera (3) and at least one light source (2) for generating multiple images of each egg (E) conveyed by the conveyor (1), wherein the at least one camera (3) and the at least one light source (2) are arranged on opposite sides of the conveying path; - a digital image processor (8) configured to receive the multiple images from the imaging system and to process the multiple images of each egg (E) using a trained learning model to determine the quality of the egg, wherein the digital image processor is configured to output the determined quality of the egg, for example for generating and / or storing the determined quality associated with a predetermined egg identifier of the corresponding egg and / or for classifying the egg.
14. The system according to claim 13, wherein, The conveyor is configured to rotate the egg during transportation along the transport path, in particular when the egg passes along the imaging systems (2, 3).
15. The system according to claim 13 or 14, wherein The imaging system includes at least two cameras (3a, 3b), which are arranged to capture images of the eggs (E) passing along the transport path from mutually different directions.
16. The system according to any one of claims 13 to 15, wherein, The conveyor (1) and the imaging system (2, 3) are configured to cooperate such that a respective plurality of images of the egg (E) includes the entire outer surface of the egg (E).
17. The system according to any one of claims 13 to 16, wherein, The imaging system is configured to capture at least 4 images of the passing eggs, and preferably at least 10 or at least 20 images, such as 25 or more images, for processing by the digital image processor (8).
18. The system according to any one of claims 13 to 17, wherein, The learning model has been trained by machine learning with training data including a plurality of images of a plurality of eggs and the determined quality of those eggs, wherein the trained learning model preferably includes a neural network, and the neural network is preferably a CNN.
19. A digital image processor, comprising means for performing the method according to any one of claims 1 to 12, the digital image processor using the trained learning model to process a plurality of images of each egg (E) to determine the quality of the egg.
20. A method for training a machine learning model to predict the quality of poultry eggs, comprising: providing a machine learning model, which is adapted to receive input data and output prediction data, wherein the training includes: -A) a conveyor (1) conveys a plurality of eggs (E) along a transport path; -B) an imaging system (2, 3) generates a plurality of training images of each of the eggs (E) from different sides of the eggs using illumination light (B); -C) measuring the quality of each of the eggs; and -D) inputting the plurality of training images of each of the eggs and the measured quality of the eggs into the machine learning model to train the learning model to output the egg quality as prediction data, wherein preferably the training images of at least 10,000 different eggs and the corresponding measured quality are input into the machine learning model to train the learning model.
21. The method according to claim 20, wherein, The plurality of training images of each egg includes at least 4 images of the egg, and preferably includes at least 10 or at least 20 images, such as 25 or more images, for example in the range of 20 - 30 images.
22. The method according to any one of claims 20 to 21, wherein, The trained learning model includes a neural network, and the neural network is preferably a CNN.
Citation Information
Patent Citations
Device for obtaining egg liquid
CN109640764A
Poultry egg weight estimation and image processing method and device
CN111178381A
Method and system for processing plurality of poultry eggs
CN115280144A
Non-destructive inspection method and device for detecting embryo in egg in brown chicken egg
JP2001021490A
Egg inspection device
JP2013068554A