The present invention relates to an egg sorting device for sorting eggs, an egg soring method and a recording medium.
Eggs with the eggshells are collected, washed, sorted depending on the size, packed in packages and then shipped. An egg with the eggshell is simply referred to as an egg below. Eggs are hen's eggs, for example. Eggs also include eggs with the eggshells other than hen's eggs. Eggs are checked for the presence or absence of dirt, the degree of dirt, the presence or absence of damage of the eggshell and the degree of damage. Moreover, eggs are checked for an interior abnormal egg such as an egg containing blood, an egg with broken yolk, a Yolk-less egg or a rotten egg or the like.
Depending on the check results, eggs are sorted before shipment. For example, eggs having the damaged eggshells and eggs having the eggshells with dirt adhering even after washing are sorted to a classification, such as a classification for eggs to be shipped to a different destination, different from a classification for eggs with no damage and no dirt. Various devices have been developed for the purpose of checking eggs. Japanese Patent No. 4734620 discloses a technique for determining the presence or absence of dirt on the eggshells based on an image obtained by photographing eggs.
There are eggs with the eggshells of various color such as white, brown or the like, not the same color. Some eggs have patterns or protrusions different from damage or dirt. When eggs are sorted, these various types of eggs are sometimes mixed up, which may make it difficult to accurately check and sort the eggs based on the images thereof.
The present disclosure is made in view of these circumstances, and the object is to provide an egg sorting device that can sort eggs more suitably than a conventional device, an egg sorting method and a recording medium.
An egg sorting device according to an aspect of the present disclosure is characterized by comprising: an image data acquisition unit that acquires image data representing an image obtained by photographing an egg; a first determination unit that determines a state of the egg according to the image data acquired by the image data acquisition unit by a learning model trained using training data including information indicating a state of an egg and image data related to the egg; and a decision unit that decides a classification of an egg according to a determination result of a state of the egg.
In the egg sorting device according to an aspect of the present disclosure, it is characterized in that the determination result indicates a degree of damage of an eggshell, a degree of dirt on an eggshell or a type of dirt on an eggshell.
In the egg sorting device according to an aspect of the present disclosure, it is characterized in that the image data acquisition unit acquires image data representing an image obtained by photographing the egg contained in a package, and the determination result indicates a degree of damage of an eggshell, a degree of dirt on an eggshell or a type of dirt on an eggshell.
The egg sorting device according to an aspect of the present disclosure is characterized by further comprising an output unit that outputs information indicating the state of the egg determined by the first determination unit.
The egg sorting device according to an aspect of the present disclosure is characterized by further comprising a second determination unit that determines a state of the egg according to the image data acquired by the image data acquisition unit based on a predefined rule, wherein the decision unit decides a classification of the egg depending on a determination result obtained by the first determination unit and a determination result obtained by the second determination unit.
The egg sorting device according to an aspect of the present disclosure is characterized by further comprising: an acceptance unit that accepts information indicating a state of an egg whose state is identified; and a retraining unit that retrains the learning model using training data including the image data acquired by the image data acquisition unit for the same egg and the information accepted by the acceptance unit.
The egg sorting device according to an aspect of the present disclosure is characterized by further comprising: a first information acquisition unit that acquires information designating quality of an egg; and a first adjustment unit that selects a learning model to be used in the first determination unit out of multiple learning models according to the information acquired or that adjusts a criterion for the decision unit deciding a classification of an egg depending on the determination result according to the information acquired.
The egg sorting device according to an aspect of the present disclosure is characterized by further comprising: a second information acquisition unit that acquires information indicating an estimated elapsed time from egg-laying; and a second adjustment unit that selects a learning model to be used by the first determination unit out of multiple learning models according to the information acquired or that adjusts a criterion for the decision unit deciding a classification of an egg depending on the determination result according to the information acquired.
An egg sorting method according to an aspect of the present disclosure is characterized by comprising: acquiring image data representing an image obtained by photographing an egg; determining a state of the egg according to the image data acquired by a learning model trained using training data including information indicating a state of an egg and image data related to the egg; and deciding a classification of an egg according to a determination result of a state of the egg.
A computer program that causes a computer to execute processing of sorting eggs according to an aspect of the present disclosure is characterized by causing the computer to execute a process including: a step of determining a state of an egg according to acquired image data of the egg by a learning model trained using training data including image data representing an image obtained by photographing an egg and information indicating a state of the egg; and a step of deciding a classification of an egg according to a determination result of a state of the egg.
In an aspect of the present disclosure, the egg sorting device acquires image data representing an image obtained by photographing an egg, determines a state of the egg according to the image data by a learning model, and decides a classification of the egg depending on the determination result. By using the learning model for determining the state of the egg, it is possible to accurately determine the state of eggs and suitably sort the eggs.
In one embodiment of an aspect of the present disclosure, the egg sorting device determines the degree of damage of the eggshell, the degree of dirt on the eggshell or a type of dirt on the eggshell as a state of an egg. The degree of damage of the eggshell, the degree of dirt on the eggshell or a type of dirt on the eggshell have much effect on the quality of the eggs. By sorting eggs depending on the state of the eggs, eggs with a suitable quality can be selected.
In one embodiment of an aspect of the present disclosure, the egg sorting device determines the states of eggs such as the degree of damage of the eggshell, the degree of dirt on the eggshell or a type of dirt on the eggshell according to image data representing an image obtained by photographing the eggs contained in the package. By determining the states of the eggs even contained in the package and sorting the eggs, it is possible to prevent eggs of poor quality from being shipped.
In one embodiment of an aspect of the present disclosure, the egg sorting device outputs the information indicating the states of the determined eggs. This makes it possible to inform the user of the states of the eggs. Furthermore, another device can use the determination result of the states of the eggs in order to sort the eggs.
In one embodiment of an aspect of the present disclosure, a combination of the rule-based determination and the determination using the learning model enables accurate determination of eggs and suitable sorting of the eggs.
In one embodiment of an aspect of the present disclosure, the egg sorting device retrains the learning model using the information indicating the identified state of an egg and the image data representing an image of an egg as training data. The learning model is retrained according to the actual state of eggs, and the learning model can be updated so as to more accurately determine the state of eggs.
In one embodiment of an aspect of the present disclosure, the egg sorting device adjusts the learning model used for determining the state of the egg or adjusts the criteria for deciding a classification of eggs, according to the designated egg quality. Thus, eggs can be suitably sorted so as to acquire eggs with necessary quality.
In one embodiment of an aspect of the present disclosure, the egg sorting device adjusts the learning model used for determining the state of the egg or adjusts the criteria for deciding a classification of an egg, according to a predicted elapsed time from egg-laying. This makes it possible to suitably sort eggs.
An aspect of the present disclosure produces a great effect such as more accurate determination of the states of eggs and more suitable sorting of the eggs even in the case where various eggs having different states coexist.
The above and further objects and features will more fully be apparent from the following detailed description with accompanying drawings.
The present disclosure will be described below with reference to the drawings depicting embodiments thereof.
Each of the eggs is placed on the conveyance path with its longitudinal axis direction intersecting the conveyance direction. Eggs are conveyed while rotating regarding the axis along the longitudinal axis direction as the axis of rotation. For example, the rollers on which eggs are placed are rotated to rotate the eggs. Multiple eggs are conveyed while aligned in a row along the conveyance direction. Moreover, eggs are conveyed while multiple rows of the eggs are aligned in the direction intersecting the conveyance direction.
The conveyance device 11 is connected to a travel amount detection device 36. The travel amount detection device 36 measures the motion of the conveyance device 11 and detects the travel amount of each of the eggs conveyed by the conveyance device 11 based on the motion of the conveyance device 11. For example, the travel amount detection device 36 is provided with a sensor for detecting passing of each of the rollers formed of the roller conveyor and detects the movement of each of rollers based on the detection results by the sensor. The travel amount detection device 36 detects the travel amount of each of the eggs that is being conveyed based on the detected movement of the rollers. Moreover, the travel amount detection device 36 outputs information indicating the travel amount of each of the eggs.
The egg sorting system 100 includes a washer 31. The washer 31 washes the eggs conveyed by the conveyance device 11. The egg sorting system 100 includes a broken egg detection device 41. The broken egg detection device 41 detects a broken egg included in the eggs conveyed after having been washed. The broken egg is an egg the eggshell of which is damaged. The broken egg detection device 41 shoots an image of each of the eggs and determines whether or not the egg is a broken egg by an image analysis. Furthermore, the broken egg detection device 41 removes the egg determined to be a broken egg from the conveyance device 11. Moreover, the broken egg detection device 41 may determine the degree of damage of the eggshell. The egg sorting system 100 includes a dryer 32. The dryer 32 dries the eggs conveyed by the conveyance device 11.
The egg sorting system 100 includes an egg image analysis device 42. The egg image analysis device 42 shoots an image of each of the eggs conveyed by the conveyance device 11 and determines the state of each of the eggs by an image analysis. For example, the egg image analysis device 42 determines, based on the image of an egg obtained by photographing an egg, the color of the eggshell, the presence or absence of dirt on the eggshell, the degree of dirt, the type of dirt or the surface properties. Furthermore, the egg image analysis device 42 may measure, based on the image of an egg, the shape or size of the egg. For example, the egg image analysis device 42 measures, from the image of an egg, lengths of a longitudinal axis and a lateral axis of the egg as values indicating the shape of the egg. For example, the egg image analysis device 42 measures, based on the image of an egg, an area of the egg as a value indicating the size of the egg. The egg image analysis device 42 outputs information indicating the state of each of the eggs.
The egg sorting system 100 includes a size measurement device 33. The size measurement device 33 measures the size of each of the eggs conveyed by the conveyance device 11. For example, the size measurement device 33 has a light emitting device and a light receiving device, measures a time during which light from the light emitting device is cut off by an egg and fails to be received by the light receiving device, and measures the length of the egg in the conveyance direction based on the measured time and the travel rate of the egg by the conveyance device 11.
The egg sorting system 100 includes a tap analysis device 5. The tap analysis device 5 taps each of the eggs conveyed by the conveyance device 11, measures a phenomenon caused by tapping and determines the state of the eggshell based on the measurement result. For example, the tap analysis device 5 has a learning model trained using training data including tapping data indicating the phenomenon caused by tapping an egg and information indicating the state of the eggshell. The tap analysis device 5 acquires tapping data indicating a phenomenon caused by tapping an egg, determines the state of the eggshell based on the acquired tapping data using the learning model and decides a classification of the egg based on the determination result. The tap analysis device 5 measures sound caused by tapping an egg. Furthermore, the tap analysis device 5 determines the presence or absence of damage on the eggshell, the size of damage, the thickness of the eggshell, the strength of the eggshell, the rigidity of the eggshell or the like based on the measurement result. The tap analysis device 5 outputs the information indicating the state of the eggshell.
The egg sorting system 100 includes a sterilizer 34 for sterilizing eggs conveyed by the conveyance device 11. For example, the sterilizer 34 irradiates eggs with ultraviolet rays to sterilize the surface of the eggshell. The washer 31, the broken egg detection device 41, the dryer 32, the egg image analysis device 42, a size measurement device 33, the tap analysis device 5 and the sterilizer 34 are disposed along the conveyance path of the conveyance device 11. The egg sorting system 100 includes the weighing machine 35 for measuring the weight of an egg. The weighing machine 35 is disposed near the trailing end of the conveyance path of the conveyance device 11. The broken egg detection device 41 and the egg image analysis device 42 will be described later in detail.
The egg sorting system 100 includes a distribution device 12 for linearly conveying eggs. The distribution device 12 is provided with a carrier and coveys the eggs having been weighed by the weighing machine 35 by the carrier. The carrier, for example, is a bucket for individually containing an egg and moving it, or is a finger and an arm for individually grabbing and carrying an egg. The distribution device 12 is connected to a control device 37 for controlling the distribution device 12. The control device 37 can specify the location of each of the eggs and can discharge an egg outside the carrier by opening the bottom of the bucket containing the egg or operating the finger grabbing the egg.
The egg sorting system 100 includes a transmitted light analysis device 6. The transmitted light analysis device 6 irradiates each of the eggs conveyed by the distribution device 12 with light and determines the state of the interior of each of the eggs based on the light transmitted through the egg. For example, the transmitted light analysis device 6 includes a deep learning model trained by using training data including information indicating the interior state of an egg and transmitted light data indicating the light transmitted through the egg. The transmitted light analysis device 6 acquires transmitted light data indicating light transmitted through an egg, determines the interior state of the egg based on the acquired transmitted light data by the deep learning model and decides a classification of the egg depending on the determination result. For example, the transmitted light analysis device 6 determines whether or not the egg is an interior abnormal egg such as an egg containing blood, an egg with broken yolk, a Yolk-less egg or a rotten egg or the like. Furthermore, the transmitted light analysis device 6 determines the type of abnormality of the egg or the degree of abnormality, for example.
In the present embodiment, the travel amount detection device 36, the egg image analysis device 42, the size measurement device 33, the tap analysis device 5, the weighing machine 35, the transmitted light analysis device 6 and the control device 37 are used to sort multiple eggs conveyed by the conveyance device 11 and the distribution device 12. The travel amount detection device 36, the egg image analysis device 42, the size measurement device 33, the tap analysis device 5, the weighing machine 35, the transmitted light analysis device 6 and the control device 37 are connected to one another. The egg image analysis device 42, the tap analysis device 5 and the transmitted light analysis device 6 determine classifications into which each of the eggs is to be sorted based on the determination result. For example, the classifications correspond to groups of eggs having different destinations. For example, the egg image analysis device 42 sorts eggs depending on the dirt on the eggshells, the tap analysis device 5 sorts eggs depending on the damage of the eggshell, and the transmitted light analysis device 6 sorts eggs depending on the interior abnormalities. The egg image analysis device 42, the tap analysis device 5 and the transmitted light analysis device 6 output information indicating the respective classifications of eggs.
The egg sorting system 100 includes multiple conveyors disposed to intersect the distribution device 12.
The eggs delivered from the distribution device 12 are assumed to be packaged in a package on the conveyor 13 and shipped. Above the conveyor 13, an inside-package-image analysis device 43 is disposed. Additionally, above the conveyor 13, a label dispenser may be disposed having a function of putting a label describing information on egg such as an expiration date or the like in the package or sealing the label on the package or an each of the eggs.
The inside-package-image analysis device 43 shoots an image of eggs contained in the package and determines the state of the eggs contained in the package by image analysis. For example, the inside-package-image analysis device 43 determines based on the image the presence or absence of dirt on the eggshell of each of the eggs in the package, the degree of dirt, the type of dirt, the presence or absence of damage on the eggshell or the degree of damage. The inside-package-image analysis device 43 determines the classification into which the eggs in the package are to be sorted depending on the determined state of the eggs. The multiple eggs contained in a single package are sorted to the same classification by each package. For example, if an egg not to be shipped due to dirt or damage of the eggshell is contained in the package, the eggs contained in the package are sorted as eggs not to be shipped. The inside-package-image analysis device 43 outputs information indicating the classification for each of the packages. The inside-package-image analysis device 43 will be described in detail later.
The egg sorting system 100 includes an input device 38 to which information related to sorting of eggs is input. For example, the input device 38 includes an operation unit such as a keyboard or the like to be operated by the user and receives information by the user operating the operation unit. For example, the input device 38 includes a communication interface and receives information through the communication interface. For example, the input device 38 is connected to a communication network (not illustrated) outside the egg sorting system 100 and receives information through the communication network. The input device 38 is connected to the egg image analysis device 42, the tap analysis device 5, the transmitted light analysis device 6 and the inside-package-image analysis device 43.
The input device 38 receives information for designating the quality of eggs to be shipped. For example, information designating quality depending on the state of the eggs collected from a production site is input to the input device 38. Furthermore, information designating quality responding to a request from a customer, for example, is input to the input device 38. The input device 38 outputs the received information to the egg image analysis device 42, the tap analysis device 5, the transmitted light analysis device 6 and the inside-package-image analysis device 43. The egg image analysis device 42, the tap analysis device 5, the transmitted light analysis device 6 and the inside-package-image analysis device 43 receive information output from the input device 38 and adjust criteria for deciding a classification of eggs according to the received information. For example, if there is a specific tendency for the state of the collected eggs, the criteria for sorting the eggs having such a tendency is used. For example, if there are many eggs required for a specific application, the criterion is adjusted to ensure more eggs used for this application. The criterion is adjusted depending on the level of the required quality, for example.
Furthermore, the input device 38 may receive information related to an elapsed time from when eggs were laid. For example, the input device 38 receives information indicating an estimation value of an elapsed time from when eggs were laid to when the eggs are carried in the egg sorting system 100. Or, for example, the input layer 38 receives information indicating a lighting management time of poultry raised in a production site and a time when eggs are carried in the egg sorting system 100. The poultry have high light sensitivity and an egg-laying time is closely associated with the management of lighting and food taking. Accordingly, the egg-laying timing of the poultry can be adjusted to some extent by the management of lighting. Namely, the egg-laying time can be estimated by the cycles of light and shade. The input device 38 calculates an estimation value of the egg-laying time from the time of illumination indicated by the input information, and calculates an estimation value of an elapsed time from when eggs are laid to when the eggs are carried in based on the estimation value of the egg-laying time and the time when the egg are carried in.
The input device 38 outputs the information indicating a time elapsed from when eggs were laid to the egg image analysis device 42, the tap analysis device 5, the transmitted light analysis device 6 and the inside-package-image analysis device 43. Depending on the elapsed time from when eggs were laid, images of photographed eggs, phenomena caused by tapping the eggs and light transmitted through the eggs are slightly varied. The egg image analysis device 42, the tap analysis device 5, the transmitted light analysis device 6 and the inside-package-image analysis device 43 accept information output from the input device 38 and adjusts the criteria for deciding the classification of the eggs based on the accepted information.
The configuration of the egg sorting system 100 illustrated in
In the present embodiment, the broken egg detection device 41, the egg image analysis device 42 and the inside-package-image analysis device 43 correspond to an egg sorting device. The broken egg detection device 41, the egg image analysis device 42 and the inside-package-image analysis device 43 each execute an egg sorting method. First, the broken egg detection device 41 will be described.
The analysis unit 411 is configured by using a computer. The analysis unit 411 is provided with an arithmetic unit 4111, a memory 4112 storing transitory data generated in accordance with arithmetic, a drive unit 4113 reading information from a recording medium 410 such as an optical disk or the like and a nonvolatile storage unit 4114 such as a hard disk or the like. The arithmetic unit 4111 is configured by using a central processing unit (CPU), a graphics processing unit (GPU) or a multi-core CPU. Alternatively, the arithmetic unit 4111 may be configured by using a quantum computer. The memory 4112 is a random access memory (RAM), for example. Furthermore, the analysis unit 411 includes a learning model 4115 used by determining the state of an egg according to image data representing an image obtained by photographing an egg. In addition, the analysis unit 411 is provided with an operation unit 4116 for accepting an operation from the user, a display unit 4117 for displaying an image and an interface unit 4118. The interface unit 4118 is connected to the travel amount detection device 36. The analysis unit 411 inputs and outputs information to and from the travel amount detection device 36 through the interface unit 4118.
The arithmetic unit 4111 causes the drive unit 4113 to read a computer program 412 recorded in the recording medium 410 and store the read computer program 412 in the storage unit 4114. The arithmetic unit 4111 executes processing according to the computer program 412 stored in the storage unit 4114. It is noted that the computer program 412 may be downloaded from outside of the analysis unit 411. In this case, the analysis unit 411 may not be provided with the drive unit 4113.
The learning model 4115 is a trained learning model for performing processing of determining the state of an egg according to the image data. The learning model 4115 is achieved by the arithmetic unit 4111 executing the information processing according to the computer program 412. Alternatively, the learning model 4115 may be configured to include a processor and a memory storing a necessary program and data. The learning model 4115 may be achieved by using a quantum computer.
The conveyance direction of the eggs 2 is a right-left direction in
The image acquisition unit 413 is configured to photograph a large number of eggs 2 that are being conveyed while aligned in multiple rows. For example, the photographing unit 4131 simultaneously photographs multiple eggs 2 included in multiple rows. The photographed image contains the eggs 2 in the multiple rows. The image acquisition unit 413 may photograph one egg 2 by one photographing unit 4131, or may be provided with multiple photographing units 4131 and photograph one egg 2 by the multiple photographing units 4131 multiple times. The image acquisition unit 413 may include an optical component (not illustrated) such as a mirror, a lens and optical filter or the like. The image acquisition unit 413 may utilize light from outside without being provided with the illumination unit 4132.
The photographing unit 4131 creates image data representing the image of the eggs 2 obtained by photographing eggs 2. Here, the photographing unit 4131 creates image data representing a monochrome image. As such, the image acquisition unit 413 acquires the image of the eggs 2 and inputs the image data representing the image of the eggs 2 to the analysis unit 411. The image acquisition unit 413 corresponds to an image data acquisition unit. Note that the image acquisition unit 413 may be configured to acquire an image obtained by photographing eggs 2 using reflected light reflected by the eggs 2 or fluorescence. Furthermore, the image acquisition unit 413 may be configured to acquire two or more images out of the image obtained by photographing the eggs 2 with reflected light, the image obtained by photographing the eggs 2 with transmitted light and the image obtained by photographing the eggs 2 with fluorescence.
The analysis unit 411 performs processing of determining the state of each of the eggs 2 based on the image data and determining a classification of each of the eggs 2 depending on the determination result. The state of the egg 2 to be determined is specifically the presence or absence of damage of the eggshell or the size of the damage. Depending on the presence or absence of damage of the eggshell and the size of the damage, images obtained by photographing eggs 2 are different. This makes it possible to determine the state of the eggs 2 according to the image data. Note that the egg sorting system 100 includes a removal unit 415 that removes an egg that is determined to be a broken egg. The removal unit 415 has a mechanism for removing an egg 2 that is being conveyed by the conveyance device 11 from the conveyance device 11. For example, the conveyance path of the conveyance device 11 is provided with a hole. The removal unit 415 is configured to open or close the hole on the conveyance path. If the removal unit 415 opens the hole of the conveyance path, an egg 2 falls through the hole and is removed from the conveyance device 11.
The arithmetic unit 4111 next performs determination processing for determining the state of the egg 2 based on the image data (S12).
The arithmetic unit 4111 then determines the state of the egg 2 by using the learning model 4115 (S122). The learning model 4115 is trained in advance by using the training data including the image data representing the images of photographed eggs 2 and the information indicating the presence or absence of damage of the eggshells of the eggs 2 or the size of damage so as to determine the presence or absence of damage or the size of damage of the eggshell of an egg 2 from an image data of the egg2. For example, the learning model 4115 employs a neural network.
The learning model 4115 is trained in advance by using training data. As to a large number of eggs 2 the states of which have already been identified and which include eggs 2 having the eggshells with no damage and no dirt, image data are acquired to create training data. The training data includes information indicating the state of each of the eggs 2 and the image data representing the image of the eggs 2 are included. Adjustment of an arithmetic parameter of each of the nodes is trained such that when the image data as to each of the eggs 2 included in the training data is input to each of the nodes 4141 of the input layer, each of the nodes 4143 of the output layer outputs a score corresponding to the state of each of the eggs 2 indicated by the information included in the training data. For example, in the training, an error is calculated by using an error function regarding the output value from each of the nodes 4143 in the output layer and the output value predicted from the training data as variables. The arithmetic parameter of each of the nodes is adjusted such that the error is minimized by a back propagation.
Training of the learning model 4115 may be performed by the broken egg detection device 41. For example, the image acquisition unit 413 acquires the image data of eggs 2 the state of which have already been identified to create training data, and the analysis unit 411 executes information processing for training. Alternatively, training data may be input from outside the broken egg detection device 41, and the analysis unit 411 may execute information processing for training. Alternatively, training is performed by a training device located outside the broken egg detection device 41, and the learning model 4115 may be created based on the training result. The training device is configured by using a computer. Image data of an egg 2 is acquired, the state of the egg 2 after the image data has been acquired is checked, and training data including the image data and the information indicating the checked state of the egg 2 may be created. The training device may receive an input of the training data to perform training. The training device may receive the image data and the information indicating the state of the egg 2, create training data including the input data and the information and perform training by using the created training data.
The learning model 4115 may be configured to receive an input of the image data representing an image obtained by photographing an egg 2 by using reflected light or fluorescence and output the state of the egg 2. Alternatively, the learning model 4115 may include two or more learning models out of a learning model to which image data representing an image obtained by photographing the egg 2 using reflected light is to be input, a learning model to which image data representing an image obtained by photographing the egg 2 using transmitted light is to be input, and a learning model to which image data representing an image obtained by photographing the egg 2 using fluorescence is to be input.
The arithmetic unit 4111 determines the state of the egg 2 according to the output from the learning model 4115. For example, the arithmetic unit 4111 determines that the eggshell has no damage if the probability of presence of damage on the eggshell is less than a predetermined threshold, and determines that the eggshell has damage if the probability of presence of damage is equal to or larger than the predetermined threshold. For example, the arithmetic unit 4111 determines the size of the damage having the maximum score value to be the size of the damage of the eggshell. Furthermore, the arithmetic unit 4111 may determine the state of the egg 2 by a combination of two or more outputs out of the output of the learning model to which the image data representing an image obtained by photographing the egg 2 using the reflected light is input, the output of the learning model to which the image data representing an image obtained by photographing the egg 2 using the transmitted light is input, and the output of the learning model to which the image data representing an image obtained by photographing the egg 2 using the fluorescence is input.
The arithmetic unit 4111 decides the determination result of the state of the egg 2 based on the determination result obtained at S121 and the determination result obtained at S122 (S123). At S123, the determination result of the egg 2 is decided by a combination of the rule-based determination result obtained at S121 and the determination result using the learning model 4115 obtained at S122. For example, assuming that it is possible to determine that the state of the egg 2 is unknown at S121, if the determination result at S121 is not unknown, the arithmetic unit 4111 adopts the determination result obtained at S121 at S123, and if the determination result at S121 is unknown, the arithmetic unit 4111 performs the processing at S122 and adopts the determination result obtained at S122 at S123. Alternatively, the arithmetic unit 4111 compares the score obtained by the processing at S122 with a predetermined threshold and decides which one of the determination results obtained at S121 and S122 is to be adopted in accordance with the comparison result. Alternatively, the arithmetic unit 4111 first performs the processing at S122, for example. If the state of the egg 2 is unknown at S122 such as a case where the value of the score is less than a predetermined threshold, for example, the arithmetic unit 4111 performs the processing at S121 and adopts the determination result obtained at S121 at S123. If the state of the egg 2 is not unknown at S122, for example, the arithmetic unit 4111 adopts the determination result obtained at S122 at S123. For example, the arithmetic unit 4111 generates scores indicating the probabilities of the state of the egg 2 being respective states at S121 and S122, calculates a combined score obtained by a combination of predetermined calculation methods such as summing, average calculation and weighted average calculation of the scores obtained at step S121 and S122, and decides a determination result based on the combined score. After completion of S123, the arithmetic unit 4111 returns the processing to the main processing. The combined use of the rule-based determination and the determination using the learning model 4115 enables suitable determination. Note that only the determination using the learning model 4115 may be performed without performing the rule-based determination in the processing at step S12.
The arithmetic unit 4111 outputs the determination result of the state of the eggs 2 (S13). At step S13, the arithmetic unit 4111 displays an image including the determination result on the display unit 4117. For example, the arithmetic unit 4111 displays the number of eggs 2 with the eggshells having no damage, the number of eggs 2 with the eggshells having damage or the number of eggs 2 with the eggshells having the degree of damage falling within a predetermined range is displayed on the display unit 4117. The arithmetic unit 4111 may display both of the rule-based determination result obtained at step S121 and the determination result using the learning model 4115 obtained at step S122 on the display unit 4117.
The arithmetic unit 4111 then decides a classification of the egg 2 depending on the determination result of the state of the egg 2 (S14). For example, the arithmetic unit 4111 decides a classification of the egg 2 in which the size of damage of the eggshell is above a predetermined criterion, a classification of the egg 2 in which the eggshell has no damage and a classification of the egg 2 in which the size of damage of the eggshell is equal to or lower than a predetermined criterion. The processing at S14 corresponds to a decision unit.
The arithmetic unit 4111 removes the egg 2 classified as the broken egg from the conveyance device 11 (S15). At S15, the arithmetic unit 4111 specifies the location of the egg 2 classified as the broken egg and causes the removal unit 415 to remove the egg 2 classified as the broken egg. For example, the removal unit 415 opens a hole on the conveyance path at a timing when the egg 2 classified as the broken egg passes over the hole of the conveyance path. The egg 2 classified as the broken egg falls through the hole and is removed from the conveyance device 11. Removal by the removal unit 415 is not performed on an egg 2 not classified as the broken egg. The analysis unit 411 performs the processing at S11 to S15 on each of the multiple eggs 2 conveyed by the conveyance device 11. The analysis unit 411 may perform the processing as to the multiple eggs 2 sequentially or in parallel. Note that the broken egg detection device 41 may perform processing of outputting classification data indicating the classification of the egg 2 through the interface unit 4118 to outside the broken egg detection device 41 without performing the processing at S15. The control device 37 may acquire the output classification data, specify the egg 2 classified as the broken egg based on the classification data and sort the egg 2.
Next, the egg image analysis device 42 will be described.
The analysis unit 421 is configured by using a computer. The analysis unit 421 is provided with an arithmetic unit 4211, a memory 4212, a drive unit 4213 and a nonvolatile storage unit 4214. The arithmetic unit 4211 may be configured by using a CPU, a GPU, a multicore CPU or a quantum computer, for example. The memory 4212 is a RAM, for example. Furthermore, the analysis unit 421 is provided with a learning model 4215 to be used for determining the state of an egg 2 according to the image data representing an image of the egg 2.
Moreover, the analysis unit 421 is provided with an operation unit 4216 for accepting an operation from the user, a display unit 4217 for displaying an image and an interface unit 4218. The operation unit 4216 accepts information such as a text or the like by accepting an operation from the user. The operation unit 4216 is a touch panel, a keyboard or a pointing device, for example. The display unit 4217 is a liquid crystal display or an electroluminescent (EL) display. Furthermore, the analysis unit 421 may be provided with a communication unit and may have a function of accepting information from an operation unit of a smartphone or the like outside the analysis unit 421 through the communication unit and displaying an image on the display unit of the smartphone or the like outside the analysis unit 421. The interface unit 4218 is connected to the travel amount detection device 36 and the input device 38. The analysis unit 421 inputs and outputs information to and from the travel amount detection device 36 and the input device 38 through the interface unit 4218.
The arithmetic unit 4211 causes the drive unit 4213 to read a computer program 422 recorded in a recording medium 420 such as an optical disk or the like and store the read computer program 422 in the storage unit 4214. The arithmetic unit 4211 executes processing according to the computer program 422 stored in the storage unit 4214. For example, the arithmetic unit 4211 loads the computer program 422 from the storage unit 4214 onto the memory 4212 as necessary and the arithmetic unit 4211 executes necessary processing for the analysis unit 421 according to the loaded computer program 422. Note that the computer program 422 may be downloaded from outside of the analysis unit 421. Here, the analysis unit 421 may not be provided with the drive unit 4213.
The learning model 4215 is a trained learning model for performing processing of determining the state of an egg 2 according to the image data. The learning model 4215 is achieved by the arithmetic unit 4211 executing information processing according to the computer program 422. Alternatively, the learning model 4215 may be configured to include a processor and a memory storing a necessary program and data. The learning model 4215 may be achieved by using a quantum computer.
The conveyance direction of the eggs 2 is a right-left direction in
The image acquisition unit 423 is able to photograph a large number of eggs 2 that are being conveyed while aligned in multiple rows. For example, the photographing unit 4231 simultaneously photographs multiple eggs 2 included in multiple rows. The photographed image contains the eggs 2 in multiple rows. Alternatively, the image acquisition unit 423 may photograph one egg 2 by a single photographing unit 4231, or may photograph one egg 2 multiple times by multiple photographing units 4231. The image acquisition unit 423 may include an optical component (not illustrated) such as a mirror, a lens, an optical filter or the like. The image acquisition unit 423 may utilize light from outside without being provided with the illumination unit 4232.
The photographing unit 4231 creates image data representing an image obtained by photographing the eggs 2. Here, the photographing unit 4231 creates the image data representing a color image. As such, the image acquisition unit 423 acquires the image of the eggs 2 and inputs the image data representing the image of the eggs 2 to the analysis unit 421. The image acquisition unit 423 corresponds to an image data acquisition unit. Note that the image acquisition unit 423 may be configured to acquire an image obtained by photographing the eggs 2 using transmitted light transmitted through the eggs 2 or an image obtained by photographing the eggs 2 using the excited fluorescence of the eggs 2. Furthermore, the image acquisition unit 423 may be configured to acquire two or more images out of the image obtained by photographing the eggs 2 using reflected light, the image obtained by photographing the eggs 2 using transmitted light and the image obtained by photographing the eggs 2 using fluorescence.
The analysis unit 421 performs processing of determining the state of each of the eggs 2 based on the image data and deciding a classification of each of the eggs 2 according to the determination result. The state of each of the eggs 2 to be determined specifically includes a color of the eggshell, evenness of a color, the presence or absence of dirt on the eggshell, the degree of dirt, the type of dirt, the presence or absence of damage of the eggshell, the degree of damage, the presence or absence of a deformity of the eggshell, the type of a deformity, surface properties of the eggshell, a pattern of the eggshell or a printing on the eggshell. The color of the eggshell includes white, light brown, brown or the like. The degree of dirt means the size of dirt, the depth of a color or the like on the egg 2. The type of dirt includes spotted yellowish dirt, brown dirt, white dirt, gray dirt, black dirt, or a speck of dirt spread like a stain. The deformity of the eggshell means that the shape of the eggshell is different from a standard shape and includes a jumbo-sized egg, a mini-sized egg or the like. The surface properties of the eggshell includes a smooth surface of the eggshell, a ridge or roughness on the surface of the eggshell or the like. The pattern of the eggshell includes a plain color, a freckle-like pattern, a dotted pattern or the like. The image data is different depending on the state of the eggs 2. This makes it possible to determine the state of each of the eggs 2 according to the image data.
Conventionally, a technique for determining the state of an egg 2 according to the image data has widely been known. A color of the eggshell, the presence or absence of dirt on the eggshell, the degree of dirt or the type of dirt is determined based on saturation or brightness of image data or a distribution of the pixels of each of the colors on the egg 2. Similarly, the presence or absence of damage of the eggshell, the degree of damage, the evenness of a color of the eggshell, the surface properties of the eggshell, the pattern of the eggshell or the printing on the eggshell can also be determined from the distribution of each of the colors. In addition, the presence or absence of a deformity of the eggshell or the type of a deformity can be determined from the shape of the eggshell included in the image. As such, the state of each of the eggs 2 can be determined according to the image data.
The analysis unit 421 of the egg image analysis device 42 performs processing of sorting eggs 2.
The arithmetic unit 4211 next performs determination processing for determining the state of each of the eggs 2 based on the image data (S23).
The arithmetic unit 4211 next determines the state of each of the eggs 2 by using the learning model 4215 (S232). The learning model 4215 is trained in advance by using training data including image data indicating images of photographed egg 2 and information indicating a color of the eggshells, evenness of the color, the presence or absence of dirt on the eggshells, the degree of dirt, the type of dirt, the presence or absence of damage of the eggshells, the degree of damage, the presence or absence of a deformity of the eggshells, the type of a deformity, surface properties of the eggshells, a pattern of the eggshells or a printing on the eggshells so as to determine from the image data the color of the eggshell of the egg 2, the evenness of the color, the presence or absence of dirt on the eggshell, the degree of dirt, the type of dirt, the presence or absence of damage of the eggshell, the degree of damage, the presence or absence of a deformity of the eggshell, the type of the deformity, the surface properties of the eggshell, the pattern of the eggshell or the printing on the eggshell. For example, the learning model 4215 employs a neural network.
The learning model 4215 is trained in advance by using training data. As to a large number of eggs 2 the states of which have already been identified and which include eggs 2 having the eggshells with no damage and no dirt, image data are acquired to create training data. The training data includes information indicating the state of each of the eggs 2 and the image data representing the image obtained by photographing each of the eggs 2. Adjustment of an arithmetic parameter of each of the nodes is trained such that when the image data as to each of the eggs 2 included in the training data is input to each of the nodes 4241 of the input layer, each of the nodes 4243 of the output layer outputs a score corresponding to the state of each of the eggs 2 indicated by the information included in the training data. For example, in the training, an error is calculated by using an error function regarding the output value from each of the nodes 4243 in the output layer and the output value predicted from the training data as variables. The arithmetic parameter of each of the nodes is adjusted such that the error is minimized by a back propagation.
Training of the learning model 4215 may also be performed by the egg image analysis device 42. For example, the image acquisition unit 423 acquires the image data of the egg 2 the state of which has already been identified to create training data, and the analysis unit 421 executes information processing for training. Alternatively, training data may be input from outside the egg image analysis device 42, and the analysis unit 421 may execute information processing for training. Alternatively, training is performed by a training device located outside the egg image analysis device 42, and the learning model 4215 may be created based on the training result. The training device is configured by using a computer. Image data of an egg 2 is acquired, the state of the egg 2 after the image data has been acquired is checked, and training data including the image data and the information indicating the checked state of the egg 2 may be created. The training device may receive the training data and may be trained. The training device may receive the image data and the information indicating the state of the egg 2, create training data including the input data and information, and perform training by using the created training data.
The learning model 4215 may be configured to receive image data representing an image obtained by photographing an egg 2 by using transmitted light or fluorescence and to output the state of the egg 2. Alternatively, the learning model 4215 may include two or more learning models out of the learning model to which image data representing an image obtained by photographing the egg 2 using reflected light is to be input, the learning model to which image data representing an image obtained by photographing the egg 2 using transmitted light is to be input and the learning model to which image data representing an image obtained by photographing the egg 2 using fluorescence is to be input.
The arithmetic unit 4211 determines the state of an egg 2 according to the output of the learning model 4215. For example, the arithmetic unit 4211 regards a color having the maximum score as the color of the eggshell of the egg 2. For example, the arithmetic unit 4211 determines the state of the evenness of a color of the eggshell having the maximum score to be the evenness of the color of the eggshell of the egg 2. For example, the arithmetic unit 4211 determines that the eggshell has dirty if the probability of presence of dirt on the eggshell is equal to or larger than a predetermined threshold, and determines that the eggshell has no dirt if the probability of presence of dirt on the eggshell is less than the predetermined threshold. For example, the arithmetic unit 4211 determines the degree of dirt having the maximum score to be the degree of dirt on the eggshell. For example, the arithmetic unit 4211 determines a type of dirt having the maximum score to be the type of the dirt on the eggshell. For example, the arithmetic unit 4211 determines that the eggshell has a deformity if the probability of presence of a deformity of the eggshell is equal to or larger than a predetermined threshold, and determines that the eggshell has no deformity if the probability of presence of a deformity of the eggshell is less than the predetermined threshold. For example, the arithmetic unit 4211 determines a type of a deformity having the maximum score to be the type of the deformity of the eggshell. For example, the arithmetic unit 4211 determines the type of surface properties of the eggshell having the maximum score to be the surface properties of the eggshell of the egg 2. For example, the arithmetic unit 4211 determines the type of a pattern of the eggshell having the maximum score to be the pattern of the eggshell of the egg 2. The same applies to the presence, or absence of damage of the eggshell, the degree of damage and a printing on the eggshell.
Furthermore, the learning model 4215 may individually include a learning model for determining a color of the eggshell, a learning model for determining the evenness of a color of the eggshell, a learning model for determining the presence or absence of dirt on the eggshell, a learning model for determining the degree of dirt, a learning model for determining a type of the dirt on the eggshell, a learning model for determining the presence or absence of damage of the eggshell, a learning model for determining the degree of damage of the eggshell, a learning model for determining the presence or absence of a deformity of the eggshell, a learning model for determining a type of a deformity of the eggshell, a learning model for determining surface properties of the eggshell, a learning model for determining a pattern of the eggshell or a learning model for determining a printing on the eggshell. At S232, the arithmetic unit 4211 performs each of the determinations by using each of the learning models.
To the input layer of the learning model 4215, image data of multiple times of photographing may all be input or only a part of them may be input. Furthermore, the arithmetic unit 4211 may determine the state of the egg 2 by a combination of two or more outputs out of the output of the learning model to which image data representing an image obtained by photographing the egg 2 using reflected light is input, the output of the learning model to which image data representing an image obtained by photographing the egg 2 using transmitted light is input, and the output of the learning model to which image data representing an image obtained by photographing the egg 2 using fluorescence is input. The processing at step S232 corresponds to a first determination unit. The processing at S231 and S232 may be executed in the reverse order or may be executed in parallel.
The arithmetic unit 4211 then decides the determination result of the state of the egg 2 based on the determination result obtained at S231 and the determination result obtained at S232 (S233). At S233, the determination result of the egg 2 is decided by a combination of the rule-based determination result obtained at S231 and the determination result using the learning model 4215 obtained at S232. A method of combining the rule-based determination result and the determination result using the learning model is the same as the method in the processing at S123. After completion of S233, the arithmetic unit 4211 returns the processing to the main processing. The combined use of the rule-based determination and the determination using the learning model 4215 enables suitable determination. Note that only the determination using the learning model 4215 may be performed without performing the rule-based determination in the processing at step S23.
The arithmetic unit 4211 then outputs the determination result of the state of the egg 2 (S24). At S24, the arithmetic unit 4211 displays an image including a determination result on the display unit 4217. For example, the arithmetic unit 4211 displays on the display unit 4217 the numbers of eggs 2 having the eggshells with respective colors, the numbers of eggs 2 having the eggshells with respective states of the color evenness, the number of eggs 2 having the eggshell with no dirt, the number of eggs 2 having the eggshell with dirt, the number of eggs 2 having the degree of dirt falling within a predetermined range, the numbers of eggs 2 having respective types of dirt, the number of eggs 2 having the eggshells with no damage, the number of eggs 2 having the eggshells with damage, the number of eggs 2 having the degree of damage falling within a predetermined range, the number of eggs 2 having the eggshells with a deformity, the numbers of eggs 2 having the respective types of deformities, the numbers of eggs 2 having the respective types of surface properties, the numbers of eggs 2 having the respective types of patterns, or the number of eggs 2 having the eggshells with a predetermined printing. The arithmetic unit 4211 may display the rule-based determination result obtained at step S231 and the determination result using the learning model 4215 obtained at step S232 on the display unit 4217. The user can find the state of the eggs 2 that are being conveyed by the conveyance device 11 by confirming the content displayed on the display unit 4217. Furthermore, the arithmetic unit 4211 outputs the data indicating the state of the egg 2 to outside of the egg image analysis device 42 through the interface unit 4218. For example, the transmitted light analysis device 6 acquires data indicating the state of the egg 2 such as a color of the eggshell, the presence or absence of dirt or the like and performs processing using the acquired data.
The arithmetic unit 4211 next decides a classification of the egg 2 according to the determination result of the state of the egg 2 (S25). For example, the arithmetic unit 4211 sorts the egg 2 by color. If the degree of dirt on the eggshell of the egg 2 is above a predetermined criterion, for example, the arithmetic unit 4211 decides the classification of the egg 2 to be categorized in the eggs 2 different in application from the eggs 2 to be shipped to stores, such as a group of eggs 2 for processing. If there is no dirt on the eggshell or if the degree of dirt is equal to or below the criterion, for example, the arithmetic unit 4211 decides the classification of the egg 2 to be categorized in a group of eggs 2 allowed to be shipped to a general store. Furthermore, the arithmetic unit 4211 may sort eggs 2 depending on the evenness of a color of the eggshell, the type of dirt on the eggshell, the presence or absence of damage of the eggshell, the degree of damage, the presence or absence of a deformity of the eggshell, the type of a deformity, surface properties of the eggshell, a pattern of the eggshell or a printing on the eggshell. The processing at S25 corresponds to a decision unit.
The arithmetic unit 4211 then outputs classification data indicating the classification of the eggs 2 to outside of the egg image analysis device 42 through the interface unit 4218 (S26). The processing at S26 corresponds to an output unit. The control device 37 acquires the classification data, controls the distribution device 12 based on the classification data, and performs egg distribution by moving the egg 2 toward a package on the conveyor corresponding to the classification for the egg 2. Hence, the arithmetic unit 4211 ends the processing for sorting eggs 2. The analysis unit 421 performs the processing from S21 to S26 on each of the multiple eggs 2 conveyed by the conveyance device 11. The analysis unit 421 may perform the processing as to the multiple eggs 2 successively or in parallel.
The setting processing at S22 will next be described.
The criteria for deciding a classification of eggs 2 needs to be adjusted depending on the quality of eggs 2 to be shipped. By adjustment of the criteria for deciding the classification of eggs 2, the eggs 2 can suitably be sorted so as to acquire the eggs 2 with necessary quality. Alternatively, by adjustment of the learning model 4215 used for determining the state of an egg 2 depending on the quality of eggs 2 to be shipped, the eggs 2 can suitably be sorted depending on the determined state of the egg 2.
The arithmetic unit 4211 then acquires information indicating an elapsed time from when eggs 2 were laid (S222). At S222, the arithmetic unit 4211 accepts information indicating an estimation value of an elapsed time from when eggs 2 were laid from the input device 38 through the interface unit 4218. Alternatively, the arithmetic unit 4211 may accept information indicating a time when poultry raised in a production site are light up and a time when eggs 2 are carried in, and may calculate an estimation value of the elapsed time from the egg-laying based on the accepted information. The processing at S222 corresponds to a second information acquisition unit.
Depending on the elapsed time from the egg-laying, the state of the eggs 2 varies. For example, as the elapsed time is longer, a stain on an egg caused by washing residual upon washing the egg is more liable to remain, resulting in a higher probability of presence of dirt. Thus, images obtained by photographing eggs 2 are different depending on the elapsed time from the egg-laying. In order to accurately determine the state of the eggs 2 and sort the eggs 2, it is desirable to adjust the learning model 4215 used for determining the state of the egg 2 according to the elapsed time from when the egg 2 is laid. Alternatively, adjustment of the criteria for deciding the classification of an egg 2 depending on the determined state of the egg 2 also enables suitable sorting of the eggs 2.
The arithmetic unit 4211 next selects a learning model to be used in the processing at S232 (S223). The learning model 4215 includes multiple learning models different in parameters. At S223, the arithmetic unit 4211 selects a learning model to be used in the processing at S232 from the multiple learning models included in the learning model 4215. More specifically, the arithmetic unit 4211 selects a suitable learning model depending on the quality of eggs 2 to be shipped and the elapsed time from the egg-laying. In the processing at S232, the learning model selected in the processing at S223 is used to thereby suitably determine the state of the eggs 2.
The arithmetic unit 4211 then adjusts criteria for sorting eggs 2 to be used in processing at S25 (S224). At S224, the arithmetic unit 4211 adjusts the criteria for sorting eggs 2 depending on the quality of eggs 2 to be shipped and on the elapsed time from the egg-laying. For example, the arithmetic unit 4211 changes the criterion for dirt on the eggshell to be used for deciding the classification of an egg 2. In the processing at S25, the criterion adjusted at S224 is used to thereby suitably decide the classification of the egg 2. The processing at S223 and S224 respectively correspond to a first adjustment unit and a second adjustment unit. After completion of S224, the arithmetic unit 4211 returns the processing to the main processing.
Note that the arithmetic unit 4211 may execute either one of the processing at S223 and S224. In addition, the arithmetic unit 4211 may execute either one of the processing at S221 and S222 and execute processing at S223 or S224 based on the information acquired by the executed processing. Furthermore, the information acquired at processing at S221 and S222 are information common to multiple eggs 2, so that the arithmetic unit 4211 may perform the processing at S22 aside from the processing at S21 and S23 to S26 to be performed on each of the eggs 2. For example, before conveying multiple eggs 2, the analysis unit 421 performs the processing at S22.
Moreover, the egg image analysis device 42 may measure the shape or the size of each of the eggs 2. The arithmetic unit 4211 performs image analysis on image data to measure lengths of a longitudinal axis and a lateral axis of the egg 2 as values indicating the shape of the egg 2 based on the image data. Alternatively, the arithmetic unit 4211 performs image analysis on image data to measure an area of the egg 2 as a value indicating the size of the egg 2 based on the image data. The arithmetic unit 4211 outputs information indicating the shape or the size of the measured egg 2 through the interface unit 4218. The tap analysis device 5, for example, is connected to the interface unit 4218. The tap analysis device 5 acquires the information indicating the shape or the size of the egg 2 and uses it in the processing of determining the state of the eggshell.
Next, the inside-package-image analysis device 43 will be described.
The analysis unit 431 is configured by using a computer. The analysis unit 431 is provided with an arithmetic unit 4311, a memory 4312, a driving unit 4313 and a nonvolatile storage unit 4314. The arithmetic unit 4311 may be configured by using a CPU, a GPU, a multicore CPU or a quantum computer, for example. The memory 4312 is a RAM, for example. Furthermore, the analysis unit 431 is provided with a learning model 4315 to be used for determining the state of eggs 2 according to image data representing an image obtained by photographing the eggs 2. Moreover, the analysis unit 431 is provided with an operation unit 4316 for accepting an operation from the user, a display unit 4317 for displaying an image and an interface unit 4318. The interface unit 4318 is connected to the travel amount detection device 36 and the input device 38. The analysis unit 431 inputs and outputs information to and from the travel amount detection device 36 and the input device 38 through the interface unit 4318.
The arithmetic unit 4311 causes the drive unit 4313 to read a computer program 432 recorded in a recording medium 430 such as an optical disk or the like and store the read computer program 432 in the storage unit 4314. The arithmetic unit 4311 executes processing according to the computer program 432 stored in the storage unit 4314. Note that the computer program 432 may be downloaded from outside of the analysis unit 431. Here, the analysis unit 431 needs not be provided with the drive unit 4313.
The learning model 4315 is a trained learning model for performing processing of determining the state of eggs 2 according to the image data. The learning model 4315 is achieved by the arithmetic unit 4311 executing information processing according to the computer program 432. Alternatively, the learning model 4315 may be configured to include a processor and a memory storing a necessary program and data. The learning model 4315 may be achieved by using a quantum computer.
The photographing unit 4331 creates image data representing an image obtained by photographing the multiple eggs 2 contained in the package 20. The photographing unit 4331 inputs the image data to the analysis unit 431. The image acquisition unit 433 corresponds to an image data acquisition unit. The image acquisition unit 433 may include an optical component (not illustrated) such as a mirror, a lens, an optical filter or the like. The image acquisition unit 433 may utilize light from outside without being provided with the illumination unit 4332. Note that the image acquisition unit 433 may be configured to acquire an image obtained by photographing the eggs 2 using transmitted light transmitted through the eggs 2 or fluorescence. Alternatively, the image acquisition unit 433 may be configured to acquire two or more images out of the image obtained by photographing the eggs 2 using reflected light, the image obtained by photographing the eggs 2 using transmitted light and the image obtained by photographing the eggs 2 using fluorescence.
The analysis unit 431 performs processing of determining the states of the eggs 2 contained in the package 20 based on the image data and of deciding a classification of the eggs 2 contained in the package 20 according to the determination result. The states of the eggs 2 to be determined specifically include the presence or absence of damage of the eggshell, the size of damage, the presence or absence of dirt on the eggshell, the degree of dirt or a type of dirt. The images obtained by photographing the eggs 2 are different depending on the states of the eggs 2. Thus, the states of the eggs 2 contained in the package 20 can be determined according to the image data.
The processing procedure for sorting eggs 2 performed by the analysis unit 431 of the inside-package-image analysis device 43 is similar to the processing procedure performed at S21 to S26 shown in the flowchart in
The procedure of the setting processing is similar to the procedure of the processing at S221 to S224 shown by the flowchart in
The arithmetic unit 4311 then selects a learning model to be used in processing at S232 (S223). The learning model 4315 includes multiple learning models different in parameters. At S223, the arithmetic unit 4311 selects a learning model to be used in the processing at S232 from the multiple learning models included in the learning model 4315. More specifically, the arithmetic unit 4311 selects a suitable learning model depending on the quality of eggs 2 to be shipped.
The arithmetic unit 4311 then adjusts the criteria for sorting eggs 2 to be used in processing at S25 (S224). At S224, the arithmetic unit 4311 adjusts the criteria for sorting eggs 2 depending on the quality of eggs 2 to be shipped. For example, the arithmetic unit 4311 changes a criterion for damage of the eggshell or a criterion for dirt on the eggshell to be utilized for deciding the classification of the eggs 2.
Note that the arithmetic unit 4311 may acquire information indicating an environment to select a learning model to be used in the processing or to adjust the criteria for sorting eggs 2. The arithmetic unit 4311 acquires package information indicating a type of the package 20 as information indicating an environment. The inside-package-image analysis device 43 includes an environmental information acquisition unit for acquiring information indicating an environment. For example, the environmental information acquisition unit is an operation unit 4316 for accepting an operation from the user. The arithmetic unit 4311 selects a learning model to be used in the determination processing out of the multiple learning models according to the information acquired by the environmental information acquisition unit in the processing at S223. Alternatively, the arithmetic unit 4311 adjusts the criteria for deciding a classification of eggs 2 depending on the determination result according to the information acquired by the environmental information acquisition unit in the processing at S224.
After completion of S224, the arithmetic unit 4311 returns the processing to the main processing. Note that the arithmetic unit 4311 may execute either one of the processing at S223 and S224. In addition, the arithmetic unit 4311 may execute a part of the processing at S221 and S222 and execute the processing at S223 or S224 based on the information acquired by the executed processing. The arithmetic unit 4311 may execute the processing at S21 and S22 in the reverse order. Furthermore, the arithmetic unit 4311 may perform the processing at S22 aside from the processing at S21 and S23 to S26 to be performed on each of the packages 20. For example, before conveying the multiple eggs 2, the arithmetic unit 4311 performs the processing at S22.
The arithmetic unit 4311 next performs determination processing for determining the state of the eggs 2 contained in the package 20 based on the image data (S23). The procedure of the determination processing is similar to the processing procedure at S231 to S233 shown by the flowchart in
The arithmetic unit 4311 next determines the state of the eggs 2 contained in the package 20 by using the learning model 4315 (S232). The learning model 4315 is previously so trained by using training data including image data representing an image obtained by photographing the eggs 2 contained in the package 20 and the information indicating the presence or absence of damage of the eggshells, the size of damage, the presence or absence of dirt on the eggshells, the degree of dirt or the types of dirt, as to determine the presence or absence of damage of the eggshells of the eggs, the size of damage, the presence or absence of dirt on the eggshells, the degree of dirt, or the type of dirt from the image data. For example, the learning model 4315 employs a neural network.
The learning model 4315 is trained in advance by using the training data. As to a large number of eggs 2 the states of which have already been identified and which include eggs 2 having the eggshells with no damage and no dirt, image data of the eggs 2 contained in the package 20 are acquired to create training data. The training data includes information indicating the states of the eggs 2 contained in the package 20 and the image data representing an image obtained by photographing the eggs 2 contained in the package 20. By training, an arithmetic parameter of each of the nodes is adjusted such that when the image data as to each of the eggs 2 included in the training data is input to each of the nodes 4241 of the input layer, each of the nodes 4343 of the output layer outputs a score corresponding to the state of each of the eggs 2 indicated by the information included in the training data. For example, in the training, an error is calculated by using an error function regarding the output value from each of the nodes 4343 in the output layer and the output value predicted from the training data as variables. The arithmetic parameter of each of the nodes is adjusted such that the error is minimized by a back propagation.
The learning of the learning model 4315 may be performed by the inside-package-image analysis device 43. For example, the image acquisition unit 433 acquires the image data obtained by photographing the eggs 2 contained in the package 20 the state of which has already been identified by the image acquisition unit 433 to create training data, and the analysis unit 431 executes information processing for training. Alternatively, the inside-package-image analysis device 43 may acquire training data input from outside thereof, and the analysis unit 431 may execute information processing for training. Alternatively, training is performed by a training device located outside the inside-package-image analysis device 43, and the learning model 4315 may be created based on the training result. The training device is configured by a computer. Image data of multiple eggs 2 contained in the package 20 is acquired, the state of the eggs 2 after the image data has been acquired is checked, and training data including the image data and information indicating the checked state of the eggs 2 may be created. The training device may receive the training data and may execute training. The training device may receive the image data and the information indicating the state of the eggs 2, create training data including the input data and information, and perform training by using the created training data.
The learning model 4315 may be configured to receive an input of image data representing an image obtained by photographing eggs 2 using transmitted light or fluorescence and output the state of the eggs 2. Alternatively, the learning model 4315 may include two or more learning models out of the learning model to which image data representing an image obtained by photographing the eggs 2 using reflected light are to be input, the learning model to which image data representing an image obtained by photographing the eggs 2 using transmitted light are to be input and the learning model to which image data representing an image obtained by photographing the eggs 2 using fluorescence are to be input.
The arithmetic unit 4311 determines the state of the eggs 2 according to the output of the learning model 4315. For example, the arithmetic unit 4311 determines that the eggshells have no damage if the probability of presence of damage on the eggshells is less than a predetermined threshold and determines that the eggshells have damage if the probability of presence of damage on the eggshells is equal to or larger than the predetermined threshold. For example, the arithmetic unit 4311 determines the degree of damage having the maximum score to be the size of damage of the eggshells. The arithmetic unit 4311 determines that the eggshells have dirt if the probability of presence of dirt on the eggshells is equal to or larger than a predetermined threshold, and determines that the eggshells have no dirt if the probability of presence of dirt on the eggshells is less than the predetermined threshold, for example. For example, the arithmetic unit 4311 determines the degree of dirt having the maximum score to be the degree of dirt on the eggshells. For example, the arithmetic unit 4311 determines the type of dirt having the maximum score to be the type of the dirt on the eggshells.
Furthermore, the learning model 4315 may individually include a learning model for determining the presence or absence of damage of the eggshells, a learning model for determining the size of damage of the eggshells, a learning model for determining the presence or absence of dirt on the eggshells, a learning model for determining the degree of dirt on the eggshells, or a learning model for determining the type of dirt on the eggshells. At S232, the arithmetic unit 4311 performs each determination by using each of the learning models.
The arithmetic unit 4311 may determine the state of the eggs 2 by a combination of two or more outputs out of the output of the learning model to which image data representing an image obtained by photographing the eggs 2 using reflected light is input, the output of the learning model to which image data representing an image obtained by photographing the egg 2 using transmitted light is input, and the output of the learning model to which image data representing an image obtained by photographing the egg 2 using fluorescence is input. At step S232, the arithmetic unit 4311 uses the learning model selected at S223. The processing at step S231 and at step S232 may be executed in the reverse order or may be executed in parallel.
The arithmetic unit 4311 then decides the determination result of the state of the eggs 2 contained in the package 20 based on the determination result obtained at S231 and the determination result obtained at S232 (S233). At S233, the determination result of the eggs 2 is decided by a combination of the rule-based determination result obtained at S231 and the determination result using the learning model 4315 obtained at S232. The method of combining the rule-based determination result and the determination result using the learning model is similar to the method in the processing at S123. After completion of S233, the arithmetic unit 4311 returns the processing to the main processing. The combined use of the rule-based determination and the determination using the learning model 4315 enables suitable determination.
The arithmetic unit 4311 next outputs the determination result of the state of the eggs 2 contained in the package 20 (S24). At step S24, the arithmetic unit 4311 displays an image including the determination result on the display unit 4317. For example, the arithmetic unit 4311 displays the number of eggs 2 with the eggshells having damage or the number of eggs 2 with the eggshells having dirt on the display unit 4317. The arithmetic unit 4311 may display the rule-based determination result obtained at step S231 and the determination result using the learning model 4315 obtained at S122 on the display unit 4317.
The arithmetic unit 4311 then decides a classification of the eggs 2 contained in the package 20 depending on the determination result of the state of the eggs 2 contained in the package 20 (S25). The arithmetic unit 4311 decides the classification of the eggs 2 by a unit of the package 20. For example, if there is an egg 2 with the eggshell having the degree of damage being above a predetermined criterion out of the multiple eggs 2 contained in the package 20 or if there is an egg 2 with the eggshell having the degree of dirt being above a predetermined criterion out of the multiple eggs 2 contained in the package 20, the arithmetic unit 4311 specifies this package and moves it to a place different from that for the packages 20 to be shipped to general stores. For example, if all the eggs contained in the package 20 have neither damage nor dirt on the eggshells or if the degree of damage or the degree of dirt of the eggshell of all the eggs 2 contained in the package 20 is equal to or below a predetermined criterion, the arithmetic unit 4311 decides the classification of the multiple eggs 2 contained in the package 20 are categorized as a group for the eggs 2 allowed to be shipped to a general store. Furthermore, the arithmetic unit 4311 may sort the eggs 2 depending on the type of dirt on the eggshells. At S25, the arithmetic unit 4311 executes the processing by using the criteria for sorting eggs 2 adjusted at S224.
The arithmetic unit 4311 next outputs classification data indicating a classification of the eggs 2 contained in the package 20 through the interface unit 4318 (S26). For example, the arithmetic unit 4311 displays an image representing the classification of the eggs 2 on the display unit 4317. If an image representing that an egg 2 contained in the package 20 is categorized as an egg 2 unsuitable for the egg 2 to be shipped to the general stores is displayed, the user picks the egg 2 out from the package 20. Note that the egg sorting system 100 may be provided with a device (not illustrated) for separating the package 20 containing an egg 2 unsuitable for the egg 2 to be shipped to the general stores. The device separates the package 20 based on the classification data output from the inside-package-image analysis device 43. The analysis unit 431 executes the processing at S21 to S26 for each of the packages 20 conveyed by the conveyor 13. The analysis unit 431 may perform the processing for the multiple packages 20 successively or in parallel.
As described in detail above, in the present embodiment, the broken egg detection device 41, the egg image analysis device 42 or the inside-package-image analysis device 43 acquires image data representing an image obtained by photographing an egg 2, determines the state of the egg 2 by using a learning model depending on the image data and decides a classification of the egg 2 according to the determination result. The use of the learning model for determining the state of each of the eggs 2 enables more accurate determination of the state of the egg 2 and more suitable sorting of the eggs 2 even if various eggs 2 in different states coexist. In the present embodiment, the broken egg detection device 41, the egg image analysis device 42 or the inside-package-image analysis device 43 determines as the states of eggs 2 the presence or absence of damage on the eggshell, the degree of damage of the eggshell, a color of the eggshell, evenness of the color, the presence or absence of dirt on the eggshell, the degree of dirt, the type of dirt, the presence or absence of a deformity of the eggshell, the type of the deformity, surface properties of the eggshell, a pattern of the eggshell or a printing on the eggshell. These states of the eggs 2 have much effect on the quality of the eggs 2. By sorting the eggs 2 depending on the states of the eggs 2, eggs 2 with a suitable quality can be selected.
In addition, the inside-package-image analysis device 43 determines the state of eggs 2 according to image data representing an image obtained by photographing the eggs 2 contained in the package 20 and sorts the eggs 2. For the eggs 2 contained in the package 20 just before shipping, if an egg 2 with the damaged eggshell or an egg 2 with dirt on the eggshell is included in the multiple eggs 2 contained in the package, the product quality consisting of the multiple eggs 2 is degraded. By determining the degree of damage of the eggshell, the degree of dirt on the eggshell or the type of the dirt on the eggshell with the eggs 2 contained in the package 20 to sort the egg 2, it is possible to prevent the eggs 2 of poor quality from being shipped.
In the present embodiment, the egg image analysis device 42 can retrain the learning model 4215. The analysis unit 421 of the egg image analysis device 42 executes processing for retraining.
The arithmetic unit 4211 next acquires the image data (S42). At step S42, the arithmetic unit 4211 accepts an instruction of acquiring the image data by the user operating the operation unit 4216, such as pressing a start button by the user on the screen shown in
The arithmetic unit 4211 then performs determination processing (S43). At S43, the arithmetic unit 4211 accepts an instruction of determination by the user operating the operation unit 4216, such as pressing an end button by the user on the screen illustrated in
The arithmetic unit 4211 then checks the image data (S44). In some case, image data is abnormal due to a malfunction of equipment such as the image acquisition unit 423, stray light or the like. If the image data is abnormal, retraining using the image data results in inaccurate training. Thus, it is required to check the image data. At 544, the arithmetic unit 421 accepts an instruction of checking by the user operating the operation unit 4216, such as pressing a check button by the user on the screen illustrated in
The arithmetic unit 4211 then determines whether or not an abnormality is present in the image data as a result of checking (S45). If an abnormality is present (S45: YES), the arithmetic unit 4211 displays the presence of the abnormality on the display unit 4217 and ends the processing. If an abnormality is absent (S45: NO), the arithmetic unit 4211 displays the absence of an abnormality on the display unit 4217 and then performs retraining processing (S46).
At S46, the arithmetic unit 4211 performs machine learning of the learning model 4215 using a relation between the information indicating the state of the eggs 2 included in the setting accepted at S41 and the image data for each of the eggs 2 obtained at S42 as training data. The learning model 4215 performs machine learning for the parameter of each of the nodes 4242 in the intermediate layer based on the training data such that when the image data is input to the nodes 4241 of the input layer, the state of the egg 2 according to the setting can be output from the nodes 4243 of the output layer. By the machine learning, the retrained learning model 4215 can be obtained. The processing at S46 corresponds to a retraining processing unit.
The analysis unit 421 then ends the retraining processing. The processing at S41 to S46 is executed as necessary. In the processing at S41 to S46, if an abnormality is present in any of the image data for multiple eggs 2, retraining of the learning model 4215 is not performed. Alternatively, if eggs 2 of the image data containing an abnormality and eggs 2 of the image data containing no abnormality coexist, the analysis unit 421 may perform retraining on only the eggs 2 of the image data containing no abnormality.
Though
Note that the egg image analysis device 42 may be configured to perform training outside thereof.
At S46, the analysis unit 421 transmits to the storage device 7 the training data including the information indicating the state of the egg 2 included in the setting accepted at S41 and the image data of each of the eggs 2. The storage device 7 receives the training data through the communication unit 74 and stores the training data in the storage unit 73. The arithmetic unit 71 performs machine learning of the learning model by using the training data and stores learning result data indicating the learning result of the learning model in the storage unit 73. Furthermore, the arithmetic unit 71 causes the communication unit 74 to transmit the learning result data to the egg image analysis device 42. The analysis unit 421 receives the learning result data through a communication unit 4219, and the arithmetic unit 211 updates the learning model 4215 based on the learning result data. Hence, retraining of the learning model 4215 is thus performed.
The broken egg detection device 41 and the inside-package-image analysis device 43 can also retrain the learning model by executing the processing at S41 to S46 as in the egg image analysis device 42. The broken egg detection device retrains the learning model 4115. The inside-package-image analysis device 43 retrains the learning model 4315.
As described above in detail, in the present embodiment, the broken egg detection device 41, the egg image analysis device 42 and the inside-package-image analysis device 43 each receive information indicating the state of each of the eggs 2, acquire image data representing an image obtained by photographing the egg 2 and retrain the learning model by using the information indicating the state of the egg 2 and the image data as training data. The learning model is retrained according to the state of actual eggs 2, so that the learning model is updated so as to accurately determine the state of the eggs 2. Thus, it becomes possible to more accurately determine the state of the eggs 2 and more suitably sort the eggs 2.
In the present embodiment, the broken egg detection device 41, the egg image analysis device 42 and the inside-package-image analysis device 43 are configured to determine the state of each of the eggs 2 by themselves. The egg sorting system 100 may be configured to determine the state of each of the eggs 2 outside the broken egg detection device 41, the egg image analysis device 42 and the inside-package-image analysis device 43. For example, a determination device including a trained learning model is provided outside the broken egg detection device 41, the egg image analysis device 42 or the inside-package-image analysis device 43. The broken egg detection device 41, the egg image analysis device 42 or the inside-package-image analysis device 43 acquires image data and inputs the image data to the determination device. The determination device determines the state each of the eggs 2 according to the input image data by the learning model. The determination device inputs the determination result to the broken egg detection device 41, the egg image analysis device 42 or the inside-package-image analysis device 43, and the broken egg detection device 41, the egg image analysis device 42 or the inside-package-image analysis device 43 decides a classification of each of the eggs 2 according to the input determination result. The determination device is configured by a computer. The determination device may be achieved by using multiple computers or using a cloud.
It is to be understood that the embodiments disclosed here are illustrative in all respects and not restrictive. The scope of the present invention is defined by the appended claims, not by the above-mentioned meaning, and all changes that fall within the meanings and the bounds of the claims, or equivalence of such meanings and bounds are intended to be embraced by the claims.
(Note 1)
An egg sorting system for sorting eggs, comprises:
a first egg sorting device and a second egg sorting device that decide a classification of eggs; and
a distribution device that distributes eggs according to a classification decided by the first egg sorting device or a classification decided by the second egg sorting device, wherein
the first egg sorting device includes:
an image data acquisition unit that acquires image data representing an image obtained by photographing an egg;
a determination unit that determines a state of the egg according to the image data acquired by the image data acquisition unit by a learning model trained using training data including information indicating a state of an egg and image data related to the egg: and
a decision unit that decides a classification of an egg according to a determination result of a state of the egg,
the second egg sorting device includes a learning model trained by using training data including tapping data indicating a phenomenon caused by tapping an egg and information indicating the state of an eggshell, and
the second egg sorting device acquires tapping data indicating a phenomenon caused by tapping an egg, determines the state of an eggshell based on the tapping data acquired using the learning model, and decides a classification of the egg based on the determination result of the state of the eggshell.
(Note 2)
The egg sorting system according to Note 1, further comprises a third egg sorting device that decides a classification of eggs, wherein
the third egg sorting device includes a deep learning model trained by training data including information indicating an interior state of an egg and transmitted light data indicating light transmitted through the egg,
the third egg sorting device acquires transmitted light data indicating light transmitted through an egg, determines the interior state of the egg based on the transmitted light data acquired using the deep learning model, and decides a classification of the egg depending on the determination result of the interior state of the egg, and
the distribution device distributes eggs according to a classification decided by the first egg sorting device, the second egg sorting device or the third egg sorting device.
(Note 3)
An egg sorting system for sorting eggs, comprises:
a first egg sorting device and a third egg sorting device that decide a classification of eggs; and
a distribution device that distributes eggs according to a classification decided by the first egg sorting device or a classification decided by the third egg sorting device, wherein
the first egg sorting device includes:
an image data acquisition unit that acquires image data representing an image obtained by photographing an egg;
a determination unit that determines a state of the egg according to the image data acquired by the image data acquisition unit by a learning model trained using training data including information indicating a state of an egg and image data related to the egg; and
a decision unit that decides a classification of an egg according to a determination result of a state of the egg,
the third egg sorting device includes a deep learning model trained by using training data including information indicating an interior state of an egg and transmitted light data indicating light transmitted through the egg, and
the third egg sorting device acquires transmitted light data indicating light transmitted through an egg, determines the interior state of the egg based on the transmitted light data acquired using the deep learning model, and decides a classification of the egg depending on the determination result of the interior sate of the egg.
It is to be noted that, as used herein and in the appended claims, the singular forms “a”, “an”, and “the” include plural referents unless the context clearly dictates otherwise.
It is to be noted that the disclosed embodiment is illustrative and not restrictive in all aspects. The scope of the present invention is defined by the appended claims rather than by the description preceding them, and all changes that fall within metes and bounds of the claims, or equivalence of such metes and bounds thereof are therefore intended to be embraced by the claims.
Number | Date | Country | Kind |
---|---|---|---|
2019-046262 | Mar 2019 | JP | national |
This application is the national phase under 35 U. S. C. § 371 of PCT International Application No. PCT/JP2020/010191 which has an International filing date of Mar. 10, 2020 and designated the United States of America.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2020/010191 | 3/10/2020 | WO | 00 |