Method and system for processing a plurality of avian eggs
A method using a trained learning model and egg-specific information effectively determines egg mass for efficient grading and packaging, addressing the challenge of accurate mass determination in large volumes of avian eggs.
Patent Information
- Application Number
- PCT/NL2025/050177
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-15
- Filing Date
- 2025-04-15
- Publication Date
- 2025-10-23
AI Technical Summary
Existing methods for processing avian eggs, particularly unfertilized poultry eggs, struggle to accurately and efficiently determine egg mass in a reliable and economical manner, especially when handling large volumes.
A method utilizing a trained learning model, such as a Convolutional Neural Network (CNN), processes multiple images of eggs from different sides, incorporating predetermined egg-specific information like age, laying date, and farm details, to determine egg mass without needing to distinguish individual egg components.
This approach achieves accurate egg mass estimation with low standard deviation, enabling efficient grading and packaging, using relatively low-cost image processing means and real-time processing capabilities.
Smart Images

Figure NL2025050177_23102025_PF_FP_ABST
Abstract
Description
[0001] Title: Method and system for processing a plurality of avian eggs
[0002] The invention relates to a method and system for processing a plurality of avian eggs, for example poultry eggs, in particular unfertilized eggs.
[0003] Egg detection systems are known and marketed by the applicant. An example is the MOBA egg inspector (see www.moba.com), which includes camera's and special lighting, as well as software, for detecting leaking- and dirty eggs on the infeed of egg graders.
[0004] Further, WO2010074572 discloses a method for classifying eggs (the eggs each possessing different parts, namely an egg shell, egg fluid and an air cell), the method comprising: candling each egg to obtain at least one image of the egg, such that the different egg parts are distinguishable in the image, and processing the at least one image to classify the egg. The volume of the egg fluid of the egg may be determined by processing the at least one image. According to a further elaboration the known method, the at least one image is processed utilizing reference values, such that therewith the masses of each of the egg parts of the egg are determined. According to an extra advantageous elaboration, the mass of the egg is determined by processing the at least one image by determining the masses of each of the egg parts (for example, by determining the mass of the shell as well as the mass of the egg fluid, and utilizing associated reference values).
[0005] The present invention aims to provide an improved method for processing a plurality of eggs, in particular for classifying the eggs. An aim of the invention is to provide a method that can determine the mass of the eggs accurately and efficiently, in a reliable, economical manner, in particular such that a large number of eggs can be processed in a relatively short processing period. According to an aspect of the invention this is achieved by the features of claim 1.
[0006] The present disclosure provides a method for processing a plurality of avian eggs, in particular unfertilized eggs, including:
[0007] -conveying each egg along a conveying path;
[0008] -generating a plurality of images of each egg from different sides of the egg using illumination light; and processing the plurality of images of each egg, by a digital image processor, utilizing a trained learning model to determine a mass of the egg, and outputting the determined mass of the egg, for example for classifying the egg.lt has been found that in this way, surprisingly good and reliable egg mass estimations can be achieved, in case of processing a relatively large number of eggs. Determined egg masses can e.g. be subsequently used for grading / sorting the eggs, and for packaging the egg (e.g. in cartons or on trays) in a packing process. In particular, the processing does not have to determine masses of individual egg sections (such a shell mass and an egg liquid mass). The processing can only use relatively unprocessed images of the eggs (e.g. raw image data, or partly processed image data, the image data for each egg preferably including the entire contour of that egg) to be fed into a trained learning model, to provide a good egg mass determination of each of the eggs. Besides, in this way, efficient image processing can be achieved.
[0009] Advantageously, the method utilizes predetermined egg specific information, which information is supplied to the digital image processor. For example, as will be explained below, the trained learning model can be partly based on such predetermined egg specific information (i.e. having been trained using such information). It has been found that using such predetermined egg specific information, and supplying that information to the digital image processor (so that the processor can use that information to determine a mass of the egg) can lead to improved egg mass estimations. Various types of predetermined egg specific information can be applied. According to an embodiment, the predetermined egg specific information includes at least one of egg age information (e.g. in days or hours) and egg laying date information, of eggs that are to be processed (i.e. the eggs that are conveyed along the conveying path). For example, egg age can affect egg weight, in particular due to change of air volume in the egg over time. In addition, or alternatively, the predetermined egg specific information can include egg farm information and / or poultry house information, for example a name, location and / or (other) identification of an egg farm and / or poultry house where the eggs (to be processed) have been laid. Similarly, according to an embodiment, the predetermined egg specific information can include avian specific information concerning the animal(s) that have produced the eggs that are to be processed. Such avian specific information can e.g. include egg breed information, in particular a breed of the animal(s) that have laid the eggs to be processed. Also (in addition or alternatively), the avian specific information can e.g. information concerning an age and / or a weight of animal(s) that have laid the eggs to be processed, for example an average age of a group of animals that have produced those eggs and / or an average weight of a group of animals that have produced those eggs.
[0010] In particular, the predetermined egg specific information is information that is already available before egg grading (i.e. before egg mass determination), that is, before the step of processing the plurality of images of each egg, by a digital image processor, utilizing the trained learning model to determine the mass of the egg.
[0011] For example, the predetermined egg specific information (concerning an egg) can be selected from the group that at least consist of:
[0012] 1. a-priori data, including one or more of: la. an age of the egg in days, or a number of days since the laying of the egg (e.g. 5 days); lb. Respective chicken age (e.g. 30 weeks); lc. Respective chicken breed (e.g. ‘Hendrix Genetics Babcock Brown’); ld. Egg color (e.g. brown; being an indicator of chicken breed I variety); le. Feed type and / or contents of specific nutrients of food that has been fed to the respective chicken (e.g. calcium content, which could impact shell thickness); lf. Egg production conditions and / or storage conditions concerning the egg, especially temperature and humidity (which influence the evaporation of egg liquids); this can include information concerning different (subsequent) storage locations, starting e.g. from a chicken house up to a packstation;
[0013] 1g Egg flock information, e.g. an egg flock identification code; and
[0014] Ih. Batch average egg weight of a previous batch of the same flock.
[0015] In addition or alternatively, for example, the predetermined egg specific information (concerning an egg) can be selected from the group that at least consist of:
[0016] 2. Sample data, in particular data concerning quality sample values taken before grading, the sample data including one or more of:
[0017] 2a. Sample average weight, e.g. calculated from an egg batch weight of a batch containing the eggs, for example a total pallet weight (of a pallet carrying the batch) minus a known weight of respective packing material of the carried batch;
[0018] 2b. Shell thickness and / or shell weight (e.g. a measured destructively by breaking the egg and measuring shell thickness and / or weighing the shell) of a sampled egg; 2c. Shell density and / or shell porosity (e.g. a measured destructively by breaking the egg and measuring shell density and / or shell porosity) of a sampled egg;
[0019] 2d. Albumen content, yolk content, and / or a ratio of albumen content versus yolk content, of a sampled egg;
[0020] 2e. Albumen quality (as indicated by e.g. a viscosity, Haugh unit, pH value, and / or protein-percentage) of a sampled egg; and
[0021] 2f. Yolk quality (as indicated by e.g. a fat content and / or color) of a sampled egg.
[0022] In addition or alternatively, for example, the predetermined egg specific information (concerning an egg) can be selected from the group that at least consist of:
[0023] 3. Data resulting from automatic measurements of other egg characteristics, for example data resulting from one or more of automated measurements to determine:
[0024] 3a. Egg shape (e.g. measured by a length of the long axis of the egg) of the specific egg;
[0025] 3b. Dirt level of the specific egg;
[0026] 3c. Crack level of the specific egg (measured e.g. either acoustically or via a vision system);
[0027] 3d. Blood level of the specific egg; and
[0028] 3e. Detected egg abnormalities, for example the specific egg being rotten and / or the specific egg having no yolk or a double yolk (measured for example using spectrophotometric measurements).
[0029] Good results can be achieved in case the learning model has been trained through machine learning with training data concerning a plurality of (learning model training) eggs, the training data including a plurality of images of each of the plurality of (learning model training) eggs and determined masses of the (learning model training) eggs. Then, preferably, the training data further includes said predetermined egg specific information concerning the (learning model training) eggs, as well. It will be appreciated by the skilled person that the predetermined egg specific information can be added (simply) as an additional training parameter, in addition to the plurality of images, for training the model.
[0030] According to a preferred embodiment, the trained learning model includes a neural network, preferably a CNN (Convolutional Neural Network). It has been found that in this way, optimum data processing can be achieved, real-time, to provide sufficient reliable egg mass detection results, allowing carrying out the processing by relatively low power (and from economical viewpoint relatively inexpensive) image processing means. In particular, it has been found that egg masses can be determined with high accuracy, in particular providing a low standard deviation of 1 gram or even better.
[0031] It is preferred that a relatively large number of images is taken from each egg, to be used in the processing, wherein the images are preferably from mutually different viewing angles (i.e. each image is taken from another angle with respect to an egg’s outer surface), which has been found to significantly contribute to improved mass estimation accuracy. For example the plurality of images can include at least 4 images of the egg and preferably at least 10 or at least 20 images, for example 25 images or more, for example in the range of 20-30 images. Preferably, the set (i.e. plurality) of images of each egg covers / shows the entire outer surface of that egg. The plurality of images of each egg can be generated by a single camera, but preferably, at least two (mutually spaced-apart) cameras are used for imaging each egg. The trained learning model can e.g. use substantially raw (i.e. substantially unprocessed) image data provided by each camera, or partly processed image data.
[0032] Further, at least one type of egg specific information can be used in the processing, or a plurality (i.e. at least two) of mutually different types of egg specific information, concerning each egg that is to be processed. An aspect of the present invention provides a system for processing a plurality of avian eggs, in particular unfertilized eggs, for example a system configured to carry out a method according to the invention. The system includes:
[0033] -a conveyor for conveying each egg along a conveying path;
[0034] -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 the conveyor, wherein the at least one camera and the at least one light source are arranged on opposite sides of the conveying path;
[0035] - 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 utilizing a trained learning model to determine a mass of the egg, wherein the image processor is configured to output a determined mass of the egg, for example for generating and / or storing the determined mass in association with a predetermined egg identifier of the respective egg and / or for classifying the eggs.
[0036] According to an aspect, the digital image processor is configured to additionally utilize predetermined egg specific information, to determine the mass of the egg. The digital image processor can include e.g. a (digital) memory for storing the predetermined egg specific information, to be used in the processing. In addition or alternatively, the digital image processor can include an information receiver (e.g. a user interface, an editor, input device and / or the-like) for receiving the predetermined egg specific information, to be used in the processing (and for example for storing that information in the afore-mentioned memory).
[0037] In this way, the above-mentioned advantages can be achieved. Further, the invention provides a digital image processor comprising means for carrying out the processing of the plurality of images of each egg, utilizing the trained learning model to determine a mass of the egg, of the method according to the invention. In addition, an aspect of the invention provides a method of training a machine learning model to predict the mass of an avian egg, including:
[0038] -providing a machine learning model, which is adapted to receive input data and to output prediction data, wherein the training includes (in arbitrary order):
[0039] -A) a conveyor conveying a plurality of eggs along a conveying path;
[0040] -B) an imaging system generating a plurality of training images of each of the eggs (being conveyed by the conveyor) from different sides of the egg, using illumination light;
[0041] -C) measuring the (actual) mass of each of the eggs, for example by a dedicated egg mass measuring device; and
[0042] -D) feeding the plurality of training images of each of the eggs and the measured mass of that egg to the machine learning model to train the learning model to output egg mass as prediction data.
[0043] According to an aspect, the method of training the machine learning model to predict the mass of an avian egg additionally includes:
[0044] -providing predetermined egg specific information (concerning a plurality of the eggs that are conveyed by the conveyor), and feeding that information, for example together with the feeding of the plurality of training images of each of the eggs and the measured mass of the egg, to the machine learning model to train the learning model to output egg mass as prediction data.
[0045] In particular, it follows that said predetermined egg specific information is used as additional parameter (or parameters in case the information includes a plurality of types of egg specific information) in the training of the machine learning model, in addition to the training images of the eggs. These additional parameter(s) can be subsequently used in determining egg mass during egg processing (when using the machine learning model, thereby increasing egg mass prediction accuracy, as follows from the above.
[0046] Preferably, sets of training images and corresponding measured masses of at least 10,000 different eggs are fed to the machine learning model to train the learning model, which has been found to provide to good, reliable training data results. For example, sets of training images and corresponding measured of at least 50,000 different eggs can be fed to the machine learning model to train the learning model which provides a learned model that can achieve reliable and accurate egg mass determination (during subsequent machine operation). It is further preferred that said predetermined egg specific information for a plurality of those at least 10,000 different eggs, and preferably all those eggs, is included in the training data as well.
[0047] Further extra advantageous embodiments of the invention are provided in the dependent claims.
[0048] The invention will now be explained in more detail, with reference to the drawing. Therein shows:
[0049] Figure 1 schematically part of a non-limiting example of an egg processing system, in a top view, according to an embodiment of the invention;
[0050] Figure 2 a cross-section over line II-II of Fig. 1;
[0051] Figure 3 schematically depicts an example of image processing of an embodiment of the invention;
[0052] Figure 4 schematically depicts a detail Q of Figure 3; and
[0053] Figure 5 shows a graph of processing results of an embodiment of the invention.
[0054] Similar or corresponding features are denoted by similar or corresponding reference signs in this application.
[0055] Figures 1-2 depict an egg processing system, including a conveyor 1 (only part being shown), configured for conveying a plurality of eggs El, E2 along a conveying path (in a transport direction T), in particular as a number of rows of eggs El, E2. Three parallel rows rl, r2, r3 are depicted in this example; naturally, the conveyor 1 may be configured to convey the eggs in more or less than three rows.
[0056] As is shown in the drawing, during use, the eggs can have different egg shell colors. For example, the drawing shows each first egg El having a first eggshell color that is white, wherein eggshell color of each second egg E2 is nonwhite, for example brown. Optionally, the present system can examine both types of eggs El, E2 in a straight -forward manner.
[0057] Preferably, the conveyor 1 is an endless conveyor, e.g. an endless roller conveyer 1. It can be configured for rotating / turning the eggs during transport, e.g. around respective longitudinal egg axes. In particular, the roller conveyor can include egg supporting components, for example parallel diabolo shaped (preferably rotating) rollers la, defining nests there-between for receiving (and rotating) the eggs El, E2. The egg supporting elements (e.g. rollers) la can be mounted on respective shafts lb that can be driven by suitable drive means (e.g. a motor, transmission belts or chains and the-like, not shown) for moving the shafts and rollers in the conveying direction T.
[0058] It follows that the conveyor 1 can include or define egg receiving nests 1c that are partly open at respective lower (egg supporting) sides, allowing light transmission along respective egg supporting elements (in this case along rollers) la.
[0059] The system further includes an imaging system 2, 3, which has 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.
[0060] At least one or each light source 2 can be configured for emitting a respective illumination beam B, for example of near infrared (NIR) light, towards the egg conveying path, for illuminating the eggs El, E2 during operation. Alternatively, at least one or each light source 2 can be configured for emitting white light (which can e.g. be reflected by the egg), or blue light (which can in particularly be advantageous in case of imaging air chambers of white eggs).
[0061] Each light beam source 2 (one being depicted) can be arranged at a vertical level below a vertical level of the egg conveying path (see Fig. 2), but that is not required. The present light source 2 is arranged to emit the light beam upwardly, so that passing eggs El, E2 of a respective row r2 are subsequently illuminated by the beam B (the beam entering respective egg receiving nests via respective open sides of those nests, in this example).
[0062] Alternatively, a light source 2 can be arranged to emit the light beam downwardly or sideways, for illuminating passing eggs El, E2 of a respective row r2 with the respective light beam B.
[0063] The system can include various numbers of light sources 2, wherein each source 2 can be configured to emit one or more beams B e.g. for illuminating passing eggs of one or more conveyor rows rl, r2, r3. In a nonlimiting example, the light source includes one or more light emitting diodes (LEDs) for emitting the beam B.
[0064] The system can include various numbers of light sources 2, wherein each source 2 can be configured to emit one or more beams B e.g. for illuminating passing eggs of one or more conveyor rows rl, r2, r3. In a nonlimiting example, the light source includes one or more light emitting diodes (LEDs) for emitting the beam B.
[0065] Optionally, each light source 2 can be configured to emit or provide a collimated or focused beam B, in particular illuminating a only part of an outer surface of each egg shell of a passing egg (El, E2). During operation, the light B from the light source 2 can be internally scattered by the eggs E, so that an entire eggs outer contour receives the light (i.e. is illuminated), to be imaged by the camera(s) of the imaging system.
[0066] A wavelength of near infrared light (if any) of the illumination beam B, generated by the source 2, can be at least 700 nm and preferably at most 1000 nm, for example a wavelength in the range of 700-800 nm, and preferably a wavelength smaller than 750 nm, in particular a wavelength of about 720 nm. The wavelength of the near infrared light is most preferably in the range of 710-750 nm, preferably the range of 710-730 nm.
[0067] In case of emitting white light, the source 2 can be a broadband white light emitter.
[0068] In case of emitting blue light, the source 2 can be a broadband or narrowband blue light emitter.
[0069] Also, preferably, the system is configured such (e.g. a conveyor transport speed and egg rotation speed is set such that during operation), each egg El, E2 rotates about a respective longitudinal egg axis over when it is being illuminated by the light beam B.
[0070] In the drawing (Fig. 2), the beam source 2 is depicted as emitting the beam towards the detector 3 (see below), but that is not required (in particular in case the eggs internally diffuse received light). The source 2 may operate continuously, but preferably emits the beam intermittently. Also, in an embodiment, operation of the beam source 2 can be synchronized with the conveyor 1 (e.g. with a conveyor speed) such that the source 2 only generates the beam B to illuminate a passing egg, wherein the source does not generate the beam otherwise (e.g. for saving energy and / or to avoid any opposite detector 3 being irradiated directly by the source 2).
[0071] Further, the imaging system includes a number of light detectors 3, in particular cameras, arranged for detecting light emanating from the egg conveying path, for example light that is transmitted through (and emitted and / or diffused by) the eggs El, E2 during operation, and / or light that has not been transmitted through the eggs but has been 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 (that is e.g. transmitted through the egg E).
[0072] In this example, the cameras 3 are located at a vertical level above the egg conveyor 1. Thus, contamination of the detectors 3 (e.g. by dirt or other substances that may be present on 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 for example at a vertical level below the level of the passing eggs. In other words, alternatively, one or more of the cameras 3 can be located at another level, e.g. at or below a level of egg transport, and / or at different locations.
[0073] In this example, pairs of cameras 3a, 3b are associated with each one of the transport rows rl, r2, r3 defined by the conveyor 1, and e.g. with one of said light beam sources 2. In particular, for each transport row, at least cameras 3a, 3b are located next to each other when viewed in a top view, for taking egg images from different respective viewing angles. Alternatively, for example, a camera 3 can be installed for detecting light emanating from eggs of several of the rows rl, r2, r3.
[0074] Good results can be achieved in case the cameras 3a, 3b are configured to generate grey scale images, to be processed by the image processor 8. Each of the images that are fed to the image processor 8 can e.g. be a bitmap image, for example an 8-bit bitmap image, for example having a resolution of at most 1000x1000 pixels (in particular at most 800x800 pixels). It has been found that such relatively low resolution images can provide good, reliable mass prediction results. Also, according to an embodiment, each camera 3a, 3b can produce a high(er) resolution image, wherein the image processor 8 can be configured to resize and / or crop such a high(er) resolution image to an image of the relatively low(er) resolution of at most 1000x1000 pixels for further processing (via a trained learning model 1001, as will be discussed below).
[0075] Each camera 3a, 3b can e.g. be configured to generate a detection signal, in particular a digital image of the egg. In a preferred embodiment, each image of each egg (taken by the camera 3a, 3b) encompass the entire illuminated contour of the egg (see Fig. 3). Optionally, the system can be configured to maintain substantially the same egg illumination conditions / parameters, e.g. when eggs El, E2 having mutually different eggshell colors are being processed thereby, but that is not required. Therefore, optionally, the same illumination beam B (having the same or constant beam intensity and the same spectrum) can be generated by the source, for illuminating eggs El, E2. Also, preferably, the respective detector 3 is preferably not adjusted during its operation (independent of whether the detector is detecting light emanating from a first egg or a second egg) to detect light emanating from the plurality of eggs El, E2 (of the same, respective passing row rl, r2, r3.
[0076] Further, the system includes processing means 8 (drawn schematically) configured to process light detection results of the infrared light detector 3. The processing means 8 can be configured in various ways, and can include e.g. processor software, processor hardware, a computer, data processing means, a memory 8a for storing data to be processed, et cetera. Also, the processor means 8 can include or be connected to various respective communication means for allowing communication with the light detectors 3 for receiving detection results thereof, or the processing means 8 and detector(s) 3 can be integrated with each other. Besides, the processing means 8 can include e.g. a user interface 8b for allowing operator interaction with the central processor, and e.g. for outputting data processed by the processor, and e.g. for inputting data (in particular predetermined egg specific information) to the processing means 8.
[0077] In particular, the processing means is a digital image processor 8, configured to receive the plurality N of images from the imaging system 2, 3, and to process the plurality of images of each egg E utilizing a trained learning model 1001 to estimate a mass of that egg. Herein, it is preferred that the imaging system 2, 3 is configured to take at least 4 images (N=4) of each passing egg and preferably at least 10 or 20 images, for example 25 images or more, to be processed by the image processor 8 (via the trained learning model 1001).
[0078] Also, the image processor 8 is configured to output a determined mass ME of the egg, for example for generating and / or storing the determined mass ME in association 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 e.g. be stored in a memory 8a and / or server, and / or provided to an operator via a user interface 8b or the like, as will be clear to the skilled person.
[0079] According to a preferred embodiment, the processing means (processor) 8 is configured to additionally utilize predetermined egg specific information, to determine the mass of the egg. Various examples of such predetermined egg specific information are described above: the information can include e.g. one or more of information concerning the egg itself and / or information concerning an avian that has produced that egg. In particular, the predetermined egg specific information is not produced by the imaging system 2, 3 (i.e. the information is not an image of the egg). The predetermined egg specific information of an egg (that is processed) can e.g. be or include one or more of a an egg laying date, an egg laying time, an egg age, a an egg laying location, an egg laying address, avian information (e.g. avian weight, avian color, avian age, avian breed, of an animal that has produced the egg), and / or another type of information concerning that egg. Further examples of the predetermined egg specific information are mentioned above.
[0080] The processing means preferably includes an information receiver 8b for receiving the predetermined egg specific information. The information receiver 8b (schematically indicated by a dashed box in Fig. 2) can be integral part of the processor 8 and / or a remote information receiver, e.g. an information receiver accessible by the processor 8 via a suitable communication network (e.g. LAN, WFI, computer network, Internet, and- or the like), a reader for reading a data carrier DC containing the information, and / or the-like as will be clear to the skilled person. For example, the information receiver 8b can be or include a user interface, an user accessible editor, and / or the-like, configured for receiving and / or entering the predetermined egg specific information.
[0081] The processing means 8 preferably includes at least an aforementioned memory 8a for storing the predetermined egg specific information (received by the information receiver 8b). It should be observed that such a memory (schematically indicated by a dashed box in Fig. 2) can be integral part of the processor 8 and / or a remote memory, e.g. a memory accessible by the processor 8 via a suitable communication network (e.g. LAN, WFI, computer network, Internet, and-or the like), as will be clear to the skilled person.
[0082] The predetermined egg specific information concerning a plurality of the eggs to be processed (e.g. a batch of eggs that is fed to the system during operation, in particular via said information receiver 8b) can e.g. be available in various ways and formats, e.g. in a digital data file, text file, spreadsheet, that is readable by the digital image processor 8 (as will be appreciated by the skilled person).
[0083] It should be observed that during operation preferably, predetermined eggs specific information is available for each of the eggs that is being supplied, but that is not required. Alternatively, such information is not available for a number of the supplied eggs, in which case the digital image processor 8 is preferably configured to estimate respective egg mass of those eggs without using such predetermined egg specific information (and only based on said images).
[0084] As follows from the above, the conveyor 1 is configured to rotate the eggs E during transport along the conveying path, in particular when the eggs pass along the imaging system 2, 3. In this way, the imaging system 2, 3 can generate a plurality of images of each egg E from a different viewing angles, i.e., from mutually different directions (with respect to the egg’s outer surface). It is preferred that the conveyor 1 and the imaging system 2, 3 are configured to cooperate (e.g. by the imaging system taking the plurality N of images during a predetermined egg rotation as provided by the conveyor 1) such that the respective plurality of images of an egg E contains an entire outer surface (i.e. all sides) of the egg E. The two (or more) camera’s 3a, 3b associated with one of the conveying paths rl, r2, r3 can e.g. take respective egg images at the same time. Also, time periods between the taking of two subsequent images of each egg E by each camera 3a, 3b can be constant (in particular in case of a constant egg rotation speed as provided by the conveyor 1).
[0085] Preferably, the learning model 1001 has been trained through machine learning with training data including a plurality of images of a plurality of eggs and determined (actual) masses MM of those eggs. The determined (actual) egg masses MM, used for the training of the model, can e.g. be determined using egg weighing devices (e.g. scales), known as such, e.g. manually or in an automated egg weighing system.
[0086] According to a preferred embodiment, said training data additionally includes predetermined egg specific information of the plurality of eggs, for example (but not limited to) egg age and / or egg laying date and / or egg farm and / or poultry house information and / or avian specific information. This will be explained below in more detail.
[0087] The trained learning model 1001 preferably includes a neural network, preferably a CNN (known as such, see e.g. https: / / en.wikipedia.org / wiki / Convolutional neural network). An example of the model 1001 is depicted in Figures 3, 4 and will be explained below in more detail.
[0088] For example, an initial operation of the system can involve a method of training the machine learning model 1001 to predict the mass of an avian egg. The process of learning the model 1001 (e.g. a CNN) can be a process of finding the values of all learning model parameters within a learning model network, such that an input image (of the egg) results in result values with a high correlation to the actual weight of the act (that is to be measured). According to an aspect, at least one of the learning parameters includes the afore-mentioned predetermined egg specific information.
[0089] The training method can including at least the following steps: providing the machine learning model 1001, which is adapted to receive input data and to output prediction data, wherein the training includes:
[0090] -A) the conveyor 1 conveying a plurality of eggs E along a conveying path rl, r2, r3;
[0091] -B) the imaging system 2, 3 generating a set (i.e. a plurality N) of training images of each of the eggs E (being conveyed and e.g. rotated by the conveyor 1) from different sides of the egg, using the illumination light B;
[0092] -C) measuring the (actual) mass MM of each of the eggs E; and
[0093] -D) feeding the plurality of training images of each of the eggs E and the measured mass MM of that egg E to the machine learning model to train the learning model to output egg mass ME as prediction data.
[0094] Then, it is preferred that step D) also includes feeding predetermined egg specific information to the machine learning model, in addition to (e.g. combined with) the plurality of training images of each of the eggs E and the measured mass MM of that egg E, to train the learning model to output egg mass as prediction data. It should be noted that the predetermined egg specific information and the plurality of images can be fed at the same time to the learning model, but that is not required and can depend on the learning model used, as will be clear to the skilled person.
[0095] Herein, it is preferred that a relatively large number of eggs is processed for the training, wherein preferably training images and corresponding measured masses of at least 10,000 different eggs are fed to the machine learning model to train the learning model. Also, as is mentioned before, a set (plurality N) of training images of each egg that is fed to the learning model 1001 preferably includes at least 4 images of that egg and preferably at least 10 or 20 images, for example 25 images or more, for example in the range of 20-30 images.
[0096] After the learning model 1001 has been trained, the respective system can carry out a method for processing eggs E. The method includes:
[0097] -conveying each egg E along a conveying path rl, r2, r3;
[0098] -generating a plurality of images of each egg E (being conveyed, and preferably rotated, by the conveyor) from different sides of the egg using illumination light B (that is for example transmitted through the egg E); and processing the plurality of images of each egg E, by a digital image processor 8, utilizing the trained learning model to determine a mass ME of the egg, and outputting the determined mass ME of the egg, for example for classifying the egg.
[0099] Also, said predetermined egg specific information can be fed to the system concerning the (e.g. all) eggs E, in particular via the information receiver 8b. The respective egg processing method (i.e. the processor 8) can then utilize this predetermined egg specific information in addition to (e.g. combined with) the generated plurality of images of an egg, to determine the egg mass ME.
[0100] As follows above, again, during system egg processing operation, the plurality of images of each egg E encompass the entire outer surface of the egg. Each egg E is preferably rotated during a sequence of generating the plurality N of images of the egg E. 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. Also, the trained learning model 1001 can use substantially raw image data provided by the at least one camera 3. Herein, raw image data in particular means an image as produced by the camera 3 without significant image processing applied thereto before the image is being fed to the machine learning model. Some image processing can be applied, for example a cropping operation for cropping to a section of an image that contains the entire contour of the imaged egg, wherein another section of that images that does not contain the egg is removed, before the (cropped) images is fed to the machine learning model. Also, image processing can include changing a size or lowering a resolution of the image, before the image is fed to the trained learning model 1001. The raw image data of each (optionally cropped or resized) image is preferably a low resolution grey scale image, for example having at most 1000x1000 pixels (e.g. less than 900x900 pixels).
[0101] Figures 3 and 4 depict an example of a learning model architecture and corresponding steps that can be carried out by the learning model 1001, in particular a CNN (e.g. executed by the system’s image processor 8).
[0102] Figure 3 depicts a number of pictures Px (Pl, P2, P3, P4, ...., PN) of a single egg, taken from different viewing angles by the imaging system 2, 3. In total, a plurality N of images is taken of each egg E. The N images are preferably greyscale bitmap images (as mentioned above), preferably of low resolution.
[0103] Further, Figure 3 depicts entry of predetermined egg specific information K concerning the egg E. As is mentioned before, this information K can include various different types of information, for example egg age in days (as is shown) and / or many different other types of information. It will be appreciated that the predetermined egg specific information K can be fed to various sections (e.g. a first layer or an intermediate layer) of the learning model 1001 (depending e.g. on the model type used). During operation, each of the N images Px and respective egg specific information K (if available) is fed into the learning model 1001 (executed by the image processor 8), to be processed thereby, for estimating an egg mass EM(Px, K) associated with that image Px. After all egg masses EM(Px, K) concerning all N images of the egg E have been determined, the image processor 8 can calculate a mean egg mass EM (i.e. EM equals the sum of the N determined egg masses EM(Px) divided by N), and output that mass EM as the estimated egg mass of the egg E.
[0104] Figure 4 shows an example of the above-mentioned learning model 1001, in particular processing one of the plurality egg images Px of the egg (to estimate a respective egg mass EM(Px, K)). The learning model 1001 preferably includes a number of fully connected layers 1003, 1004, 1005 (i.e. layers where each input pixel is multiplied by a parameter value), for example a neural network 1002 (see Figure 4). The fully connected layers include an input layer 1003, at least one intermediate layer 1004, and an output layer 1005 each having multiple nodes. For example, the input layer can have multiple nodes 1003 to which data from a pooling layer 1006 (see below) is input. According to a non-limiting example, the aforementioned predetermined egg specific information K is also input to the input layer 1003, as will be appreciated by the skilled person.
[0105] The intermediate layer can have multiple nodes 1004 each performing arithmetic on the data input from each of the nodes 1003 of the input layer by using parameters. The multiple nodes 1004 respectively output data to multiple nodes 1005 of the output layer. The nodes 1005 of the output layer include at least include a node for outputting the determined (estimated) egg mass EM(Px, K). In an embodiment, only a single output node 1005 is present for outputting the determined egg mass EM(Px, K).
[0106] The pooling layer 1006 of the CNN is part of a set of layers including M convolutional layers 1006(1, ,.,M) and M associated pooling layers 1007(1, M). Each convolution layer 1006(1,....,M) is configured to apply a filter matrix across the image (convolve), received from its previous layer. Each pooling layer is configured to reduce the amount of pixels (of the image received from a previous convolution layer) by taking a max value of the image area. The first of the convolution layers 1006(1) receives the image Px as generated by the imaging system 2, 3.
[0107] In particular, during operation, each convolutional layer 1006 can convolve its inputs (pixels) with a filter matrix of a certain dimension. Each value in the matrix is a parameter which can be “tuned” by the learning algorithm (during the training of the model). For example, as is common knowledge, in case a gray level image of size 512x512x1 (1 is the number of channels) is used as input, a 3x3 kernel with 32 filters and bias results in 1 * 3 * 3 * 32 + 32 = 320 parameters. Without bias this results in 1 * 3 * 3 * 32 = 288. A
[0108] According to an embodiment, all layers (including the convolutional layers and the fully connected layers) combined of the learning model 1001 have a total of less than 2 million parameters, for example only 1.6 million parameters. Thus, the processing of the egg images by the image processor 8 can be carried out real-time in case a relatively inexpensive digital image processor 8 is implemented.
[0109] It has been found that in this way, egg mass can be estimated efficiently, without e.g. requiring complex 3D rendering techniques for determining masses of individual egg components (e.g. egg shell, egg liquid). Moreover, a relatively simple learning algorithm can be used, so that it can be executed by relatively low-cost image processor hardware.
[0110] Figure 5 shows results of the present system and method, indicating estimated masses EMI of several types of eggs (as estimated by the present system that does not yet use the additional predetermined egg specific information) compared to actual, measured masses MM. The different types of eggs include several types of brown eggs B5, B10, B15, B20 and several types of white eggs W5, W10, W15, W20, wherein differences between the eggs concern egg storage times (egg age). It follows that the estimated masses EMI match the actual (measured) masses MM surprisingly well.
[0111] It has been found that the outcome will be even better when the additional parameter(s) concerning the predetermined egg specific information is including in the processing (as described above). This is also shown in Figure 5, wherein reference sign EM2 indicates estimated egg masses using the following two additional parameters concerning the predetermined egg specific information: (1) a number of days since egg laying (i.e. the age of the egg in days), and (2) chicken breed (concerning the chicken that laid the respective egg).
[0112] Without wishing to be bound to any theory it is believed that the present system and method can process relatively simple grey scale bitmap egg images that show the entire shape of the egg as well as potential air chamber related features within the egg, respective dimensions, possibly in combination with egg shell information. The learning model automatically takes such egg related features into account during the learning process, after which the learned learning model can provide good egg mass predictions. The additional use of predetermined egg specific information can further improve the accuracy of the outcome of the egg mass prediction (see Figure 5).
[0113] It is self-evident that the invention is not limited to the abovedescribed exemplary embodiments. Various modifications are possible within the framework of the invention as set forth in the appended claims.
[0114] In this application, the eggs to be processed are in particular nonliving, dead eggs, i.e. eggs for consumption that are not fertilized (and do not contain any embryo). The avian / bird eggs can be poultry eggs, for example chicken eggs. Also, in a preferred embodiment, the detector, detecting (transmitted) near infrared light, maintains a certain predetermined light detecting state during detecting light resulting from eggs having mutually different shell color, without hampering detecting results (and subsequent processing results). However, that is not essential. Alternatively, for example, at least part of the detector may change a respective state with respect of detecting light emanating from various (e.g. different) eggs.
[0115] Also, it will be clear that each camera can be located at various locations, and can be configured e.g. to detect light that has been transmitted from a single egg or light that has been transmitted from a plurality of eggs. Besides, alternatively, at least one or each camera can be configured to detect illumination light that has not been transmitted through the egg, but has only illuminated an outer surface of the egg, for example light that has been reflected by the egg. Similarly, at least one or each camera can be configured to detect both transmitted illumination light (that has been transmitted through the egg) and non-transmitted illumination light (i.e. light that has not passed the egg).
[0116] For example, the system can include a plurality of camera for viewing an egg from different viewing directions. For example, at least one camera-type detector can be provided, each camera being arranged for taking images of one or more eggs, to be examined, at the same time. In that case, e.g. an image taken by a camera can be divided or cropped into several images, associated with different eggs, to be fed to the image processor as egg images.
[0117] Furthermore, each said light source can be arranged at various positions, for example below, at and / or above a vertical level of the egg(s). Moreover, a plurality of light sources can be implemented for illuminating (e.g. simultaneously) illuminating a single egg El, E2, from the same or from different directions. Also, for example, the color of the eggshell can be the color as perceived by the naked (human) eye as will be appreciated by the skilled person.
[0118] Besides, the methods according to the above-described example embodiments may be embodied by the digital image processor executing instructions stored in non-transitory computer-readable media including program instructions. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded on the media may be those specially designed and constructed for the purposes of example embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM discs, DVDs, and / or Blue-ray discs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory (e.g., USB flash drives, memory cards, memory sticks, etc.), and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The above-described devices may be configured to act as one or more software modules in order to perform the operations of the above-described example embodiments, or vice versa.
[0119] Software may include a computer program, a piece of code, an instruction, or some combination thereof, to independently or collectively instruct or configure the digital image processor to operate as desired. Software and data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device, or in a propagated signal wave capable of providing instructions or data to or being interpreted by image processor. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. The software and data may be stored by one or more non-transitory computer readable recording mediums. The non-transitory computer readable recording medium may include any data storage device that can store data which can be thereafter read by a computer system or processing device.
[0120] While this disclosure includes specific example embodiments, it will be apparent to one of ordinary skill in the art that various changes in form and details may be made in these example embodiments without departing from the scope of the claims. The example embodiments described herein are to be considered in a descriptive sense only, and not for purposes of limitation.
[0121] For example, it is preferred that a large number N of images is used for each egg, wherein the images can be sequentially taken from two different angles during egg rotation, but also images from a single angle (i.e. taken a by a single camera) or images from three or more angles can be used.
[0122] Also, the method can include using a standard convolutional neural network 1001, for example in combination with Bayesian optimization for hyperparameter search.
[0123] Besides, illumination light of various wavelengths or wavelength ranges can be used. Optionally, NIR light is used as illumination light. Alternatively or additionally, white light (e.g. having wavelengths ranging from about 400 to 700 nm) is used, and / or blue light (having one wavelength or a range of wavelengths in the range of about 380 to 500 nm).
[0124] Also, it will be appreciated that the learning model 1001 can include a number of fully connected layers 1003, 1004, 1005 (see e.g. Fig. 4), and also a number of ReLU (rectified linear unit) activation layers (which can be part of all fully connected blocks, and part of all convolutional blocks; herein, a block can be defined as a set of combined layers, for instance: Fully connected Block: FullyConnected -> ReLU. Convolutional Block: Convolution -> BatchNorm -> ReLU -> AveragePool2D).
[0125] The afore-mentioned predetermined egg specific information is in particular information that has been determined before the respective egg E is being imaged by the camera(s) of the imaging system, as will be clear to the skilled person. Determining c.q. providing the predetermined egg specific information can e.g. be carried out in various ways, for example by an operator or personnel of an egg laying production facility (e.g. an egg farm or a poultry house thereof), to be entered via said information receiver 8b, and / or automatically by an egg specific information generator of the respective egg production facility (which can e.g. be a date or time generating system that automatically generates egg laying date information or egg laying time information concerning the eggs that are produced in the egg production facility, wherein the generated information can be -e.g. automatically- supplied to the information receiver 8b to be used in the processing of those eggs), and / or differently.
[0126] According to an embodiment, the egg specific information can be stored and / or provided on an information carrier DC (schematically shown in Fig. 2), for example an analogue or digital information carrier.
[0127] According to an embodiment, the egg specific information can be stored and / or provided by an electronically readable information carrier DC, for example a digital information carrier, a readable code, QR-code, barcode, datamatrix code, RFID-tag.
[0128] According to an embodiment, in case of supplying a plurality (e.g. a batch) of eggs that is to be processed, the respective information carrier DC can be attached or coupled to a carrier that carries or holds the plurality of eggs (the carrier e.g. being a crate, a pallet, an egg box, an egg tray, or a combination of such carrier structures).
[0129] For example, according to an embodiment, a said information carrier can be read during the processing of the eggs, for obtaining the respective predetermined egg specific information, to be subsequently used by the digital image processor for determining egg mass. To that aim, the system can include an information receiver 8b including a reader device for reading the information carrier. Alternatively or additionally, a human operator can assist in the reading of the information carrier (e.g. using a manually operable reader).
[0130] In case the egg-specific information concerns an egg batch weight, the system can include a weighing device for weighing a supplied batch of eggs that is to be processed (e.g. a pallet weighing device in case the batch includes one or more pallets carrying egg containers, e.g. egg trays or egg boxes).
Claims
Claims1. Method for processing a plurality of avian eggs, in particular unfertilized eggs, including:-conveying each egg (E) along a conveying path;-generating a plurality of images of each egg (E) from different sides of the egg using illumination light (B); and processing the plurality of images of each egg (E), by a digital image processor (8), utilizing a trained learning model to determine a mass of the egg, and outputting the determined mass of the egg, for example for classifying the egg, wherein the method utilizes predetermined egg specific information, which information is supplied to the digital image processor (8).
2. The method according to claim 1, wherein the learning model has been trained through machine learning with training data concerning a plurality of eggs, the training data including a plurality of images of each of the plurality of eggs and determined masses of the eggs, the training data further including predetermined egg specific information concerning the eggs.
3. The method according to any of the preceding claims, wherein the predetermined egg specific information includes at least one of egg age information and egg laying date information.
4. The method according to any of the preceding claims, wherein the predetermined egg specific information includes egg farm information and / or poultry house information.
5. The method according to any of the preceding claims, wherein the predetermined egg specific information includes avian specific information.
6. The method according to any of the preceding claims, wherein the trained learning model includes a neural network, preferably a CNN.
7. The method according to any of the preceding claims, wherein the plurality of images of each egg (E) encompass the entire outer surface of the egg.
8. The method according to any of the preceding claims, wherein each egg (E) is rotated during the generating of the plurahty of images of the egg.
9. The method according to any of the preceding claims, wherein the plurality of images include at least 4 images of the egg and preferably at least 10 or at least 20 images, for example 25 images or more, for example in the range of 20-30 images.
10. Method according to any of the preceding claims, wherein each of the images is a grey scale image.
11. Method according to any of the preceding claims, wherein each of the images is a bitmap image, for example an 8-bit bitmap image, for example having a resolution of at most 1000x1000 pixels.
12. Method according to any of the preceding claims, wherein the plurality of images of each egg is generated by at least one camera (3), wherein the trained learning model uses substantially raw image data provided by the at least one camera (3).
13. Method according to any of the preceding claims, wherein infrared light (B), preferably near infrared light, is used for imaging the eggs, wherein a wavelength of the light (B) is preferably smaller than 800 nm, for example smaller than 750 nm, wherein the wavelength of the light (B) is for example in the range of 710-750 nm, preferably the range of 710-730 nm.
14. Method according to any of the preceding claims, wherein white light (B) is used for imaging the eggs.
15. Method according to any of the preceding claims, wherein blue light (B) is used for imaging the eggs.
16. System for processing a plurality of avian eggs, in particular unfertilized eggs, for example a system configured to carry out a method according to any one of the preceding claims, the system including:-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 a plurality of 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 plurality of images from the imaging system, and to process the plurality of images of each egg (E) utilizing a trained learning model to determine a mass of the egg, wherein the image processor is configured to output a determined mass of the egg, for example for generating and / or storing the determined mass in association with a predetermined egg identifier of the respective egg and / or for classifying the eggs, wherein the digital image processor (8) is configured to additionally utilize predetermined egg specific information, to determine the mass of the egg, wherein the digital image processor (8) preferably includes at least one of a memory (8a) for storing predetermined egg specific information and an information receiver (8b) for receiving the predetermined egg specific information.
17. System according to claim 16, wherein the conveyor is configured to rotate the eggs during transport along the conveying path, in particular when the eggs pass along the imaging system (2, 3).
18. System according to claim 16 or 17, wherein the imaging system includes at least two cameras (3a, 3b), arranged to take images of eggs (E) passing along the conveying path from mutually different directions.
19. System according to any of claims 16-18, wherein the conveyor (1) and the imaging system (2, 3) are configured to cooperate such that therespective plurality of images of an egg (E) contains an entire outer surface of the egg (E).
20. System according to any of claims 16-19, wherein the imaging system is configured to take at least 4 images of a passing egg and preferably at least 10 or at least 20 images, for example 25 images or more, to be processed by the image processor (8).
21. System according to any of claims 16-20, wherein the learning model has been trained through machine learning with training data including a plurality of images of a plurality of eggs and determined masses of those eggs, wherein the training data additionally includes predetermined egg specific information of the plurality of eggs, for example egg age and / or egg laying date and / or egg farm information and / or poultry house information and / or avian specific information, wherein the trained learning model preferably includes a neural network, preferably a CNN.
22. A digital image processor comprising means for carrying out the processing of the plurality of images of each egg (E), utilizing the trained learning model to determine a mass of the egg, of the method according to any one of claims 1-15.
23. Method of training a machine learning model to predict the mass of an avian egg, including: providing a machine learning model, which is adapted to receive input data and to output prediction data, wherein the training includes:-A) a conveyor (1) conveying a plurality of eggs (E) along a conveying path; -B) an imaging system (2, 3) generating a plurality of training images of each of the eggs (E) from different sides of the egg, using illumination light (B);-C) measuring the mass of each of the eggs; and-D) feeding the plurality of training images of each of the eggs and the measured mass of the egg to the machine learning model to train the learning model to output egg mass as prediction data,wherein preferably training images and corresponding measured masses of at least 10,000 different eggs are fed to the machine learning model to train the learning model, wherein the method additionally includes:-providing predetermined egg specific information, and feeding that information, for example together with the feeding of the plurality of training images of each of the eggs and the measured mass of the egg, to the machine learning model to train the learning model to output egg mass as prediction data.
24. Method according to claim 23, wherein the plurality of training images of each egg includes at least 4 images of the egg and preferably at least 10 or at least 20 images, for example 25 images or more, for example in the range of 20-30 images.
25. Method according to any of claims 23-24, wherein the trained learning model includes a neural network, preferably a CNN.
Citation Information
Patent Citations
Convolutional neural network-based for salted duck egg quality sorting device and method
CN111136027A
Egg crack automatic detection and classification system and method based on self-learning
CN115389427A
Egg count sensor
EP1856971B1
Egg classification device, egg classification method, and computer program
EP3939421A1
Automated quality assurance method and apparatus and method of conducting business
US20050261864A1