Livestock weight calculation apparatus and method, and weight estimation system comprising weight calculation apparatus

The weight calculation system addresses inaccuracies in traditional chicken weight measurement methods by employing an integrated algorithmic model that combines multiple algorithm models and sequential images, achieving precise weight estimation for chicken populations.

WO2025071104A1PCT designated stage expired Publication Date: 2025-04-03PAIPTREE SMARTFARM INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/KR2024/013984
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-25
Filing Date
2024-09-13
Publication Date
2025-04-03

AI Technical Summary

Technical Problem

Conventional methods for measuring chicken weight, such as manual weighing and video-based prediction, are inaccurate due to chicken movement and reliance on single algorithm models, respectively.

Method used

A weight calculation system utilizing an integrated algorithmic model that combines multiple algorithm models and sequential images from surveillance cameras to accurately estimate chicken weight, optimizing time weights for improved accuracy.

Benefits of technology

The system provides accurate weight calculations for chicken populations by leveraging multiple algorithm models and optimized time weights, reducing errors associated with traditional methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure KR2024013984_03042025_PF_FP_ABST
    Figure KR2024013984_03042025_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed are a livestock weight calculation apparatus and method, and a weight estimation system comprising the weight calculation apparatus. The disclosed weight calculation system comprises: a weight calculation apparatus for calculating the weight of a livestock individual or individual group bred in a farm on the basis of a zone image of the farm received from a surveillance camera provided in the farm and an integrated algorithm model including N (an integer of 2 or more) algorithm models trained in advance; and a learning apparatus for learning the N algorithm models and setting N combination weights for combining the N algorithm models.
Need to check novelty before this filing date? Find Prior Art

Description

A weight calculation device and method for livestock, and a weight estimation system including the weight calculation device

[0001] Embodiments of the present invention relate to a weight calculation device and method for livestock, and a weight calculation system including the weight calculation device.

[0002] Poultry farming is one of the fastest-growing livestock industries, and its high economic viability has led to its adoption in most countries around the world, even those in developing countries. In particular, the domestic poultry market accounts for approximately 30% of domestic livestock production.

[0003] To achieve high production efficiency, chickens are raised in close proximity within a single farm. Farm managers monitor the weight of each chicken by age and predict the presence of disease in order to manage the chicken population. Specifically, managers measure the weight of each chicken by age to monitor changes in weight, thereby improving productivity.

[0004] Traditionally, managers would manually hold chickens, place them on scales, and measure their weight. However, this method suffers from inaccurate weight measurements, as the chickens constantly move around on the scale. Furthermore, because managers must manually measure the chickens, they require significant labor.

[0005] To address these issues, an image-based chicken weight prediction method has been developed. Conventional image-based chicken weight prediction methods acquire images of chickens via a camera and input the area of ​​the chicken image into a preset algorithmic model to estimate the chicken's weight.

[0006] However, the weight of chickens derived using a single algorithm model also has the problem of inaccuracy, and ultimately has the disadvantage of not being able to accurately identify changes in the weight of chickens.

[0007] An object of the present invention is to provide a device, method and system for accurately calculating the weight of livestock individuals and / or populations raised on a farm based on an integrated algorithmic model including images captured on a farm and two or more algorithmic models.

[0008] In addition, an object of the present invention is to provide a device, method and system for optimizing two or more combination weights used to combine two or more algorithm models and / or a plurality of time weights corresponding to the shooting times of a plurality of sequential images.

[0009] The objectives of the present invention are not limited to those mentioned above, and other objectives and advantages of the present invention not mentioned above can be understood through the following description and will be more clearly understood through the embodiments of the present invention. Furthermore, it will be readily apparent that the objectives and advantages of the present invention can be realized by the means and combinations thereof set forth in the claims.

[0010] A weight calculation system according to one embodiment of the present invention includes a weight calculation device that calculates the weight of a livestock individual or population raised on a farm based on a zone image of the farm received from a surveillance camera installed on the farm and an integrated algorithm model including N (an integer of 2 or more) pre-learned algorithm models, and a learning device that learns the N algorithm models and sets N combination weights for combining the N algorithm models.

[0011] A weight calculation device according to one embodiment of the present invention includes a communication unit that receives an area image of a farm captured from a surveillance camera installed in the farm, and a processor that calculates the weight of a livestock individual or a population raised in the farm based on an integrated algorithm model including the area image of the farm and N (an integer greater than or equal to 2) algorithm models that have been learned in advance.

[0012] A weight calculation method according to one embodiment of the present invention is performed in a processor-based device, and includes the steps of: receiving L (an integer greater than or equal to 2) area images periodically captured over time from a surveillance camera installed in a farm; calculating L first weights corresponding to each of the L area images based on a pre-learned integrated algorithm model; and estimating a weight of a livestock population raised in the farm as a weighted sum of the L time weights and the L first weights.

[0013] According to the present invention, the weight of livestock individuals and / or populations raised on a farm can be accurately calculated. In particular, since two or more algorithm models used for weight calculation are trained using different learning data, the weight of livestock individuals and / or populations can be accurately calculated.

[0014] In addition, according to the present invention, by optimizing two or more combination weights used to combine two or more algorithm models constituting an integrated algorithm model and / or a plurality of time weights corresponding to the shooting times of a plurality of sequential images, the weight of a livestock individual and / or a population can be calculated more accurately.

[0015] In addition, it should be understood that the effects of the present invention are not limited to the above-described effects, but include all effects that can be inferred from the composition of the invention described in the detailed description or claims of the present invention.

[0016] FIG. 1 is a diagram schematically illustrating a configuration of a weight calculation system according to one embodiment of the present invention.

[0017] FIG. 2 illustrates an example of an area image captured by a surveillance camera according to one embodiment of the present invention.

[0018] FIG. 3 is a simplified diagram illustrating the mechanical structure of a biometric data acquisition device according to one embodiment of the present invention.

[0019] FIG. 4 is a flowchart illustrating a method for calculating the weight of a livestock individual according to one embodiment of the present invention.

[0020] FIG. 5 is a diagram illustrating an example of a loss function used to set N weights included in an integrated algorithm model according to one embodiment of the present invention.

[0021] FIG. 6 is a diagram for explaining a concept in which a cloud server learns N weights according to one embodiment of the present invention.

[0022] Figure 7 is a diagram showing the general shape of the loss function of the conventional gradient descent method.

[0023] FIG. 8 and FIG. 9 are flowcharts illustrating a method for calculating the weight of a livestock population according to one embodiment of the present invention.

[0024] The present invention is susceptible to various modifications and embodiments. Specific embodiments are illustrated and described in detail in the drawings. However, this is not intended to limit the present invention to specific embodiments, but rather to encompass all modifications, equivalents, and alternatives falling within the spirit and technical scope of the present invention. Throughout the description of each drawing, similar reference numerals have been used to designate similar components.

[0025] While terms such as "first," "second," etc. may be used to describe various components, these components should not be limited by these terms. These terms are used solely to distinguish one component from another. The term "and / or" includes any combination of multiple related listed items or any one of multiple related listed items.

[0026] The terminology used herein is merely used to describe specific embodiments and is not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this application, it should be understood that the terms "comprise" or "have" indicate the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but do not preclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

[0027] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and will not be interpreted in an idealized or overly formal sense unless explicitly defined herein.

[0028] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings. In this embodiment, the "livestock" is assumed to be chicken (broiler), a type of poultry. However, this embodiment can be equally applied to other poultry, such as ducks and geese, as well as other livestock.

[0029] FIG. 1 is a drawing showing a schematic configuration of a weight calculation system (1) according to one embodiment of the present invention.

[0030] Referring to FIG. 1, the weight calculation system (1) may include a surveillance camera (10), a biometric data acquisition device (20), a gateway server (30), and a cloud server (40).

[0031] A surveillance camera (10) may be installed in a farm where a population of chickens is raised in groups. For example, the surveillance camera (10) may be a CCTV camera.

[0032] According to an embodiment, a surveillance camera (10) may be installed on the ceiling of a farm, and the lens of the surveillance camera (10) may be rotated or moved 360°. In this case, when the lens is positioned vertically, the surveillance camera (10) may capture an image for a zone corresponding to the vertical direction, i.e., a zone image. In other words, the zone image may be a top view image for the zone.

[0033] Fig. 2 illustrates an example of an area image captured by a surveillance camera (10). Referring to Fig. 2, the area image in the form of a top view may include the shapes of some chickens among a population of chickens raised on a farm.

[0034] The surveillance camera (10) can repeatedly capture area images based on a preset cycle. For example, the capture cycle may be 5 minutes.

[0035] Meanwhile, the filming cycle may vary depending on the chicken's age. For example, as the chicken ages, the filming cycle may become shorter.

[0036] Depending on the size of the farm, one or more surveillance cameras (10) may be installed on the farm. For convenience of explanation, it is assumed that one surveillance camera (10) is installed on the farm.

[0037] The surveillance camera (10) may include a communication unit for transmitting the captured area image to the gateway server (30).

[0038] Meanwhile, the zone images can be used to calculate the weights of individual chickens and populations, and can also be used to train the integrated algorithm described below. For convenience of explanation, the zone images used to train the integrated algorithm are referred to as "training zone images."

[0039] A biometric data acquisition device (20) may be installed in a farm, and can measure the weight data of each chicken included in a chicken population, and also capture an image of an area including the chicken. At this time, one or more biometric data acquisition devices (20) may be installed in the farm.

[0040] FIG. 3 is a simplified drawing showing the mechanical structure of a biometric data acquisition device (20) according to one embodiment of the present invention.

[0041] Referring to FIG. 3, the biometric data acquisition device (20) may include a weight measurement module (21), a lidar sensor (22), a built-in camera (23), and a control module (not shown).

[0042] A weight measurement module (21) is positioned on the lower side of the device frame (24) and can measure weight data of a chicken. A space in which a chicken can be placed can be provided on the upper surface of the weight measurement module (21), and the weight measurement module (21) can measure weight data of a chicken placed on the upper surface.

[0043] A Lidar sensor (22) can be placed on the upper side of the device frame (24) to measure the distance. That is, the Lidar sensor (22) can be a distance sensor that measures the distance between the Lidar sensor (22) and the weight measurement module (21) or the distance between the Lidar sensor (22) and a chicken mounted on the upper surface of the weight measurement module (21). Meanwhile, various distance sensors such as a radar sensor, an infrared distance sensor, and an ultrasonic distance sensor may be used instead of the Lidar sensor (22). For example, the separation distance between the Lidar sensor (22) and the weight measurement module (21) can be 1 m, and when a chicken is mounted on the upper surface (211) of the weight measurement module (21), the Lidar sensor (22) can measure a distance of 0.6 m.

[0044] That is, the lidar sensor (22) can obtain information necessary to determine whether a chicken has settled on the upper surface of the weight measurement module (21).

[0045] The built-in camera (23) can be placed on the lower side of the device frame (24) and can capture an image (area image) of the area where the weight measurement module (21) is located. At this time, the built-in camera (23) can be placed on the upper side of the weight measurement module (21), and the area image can be a top-view image.

[0046] The control module may be disposed, for example, inside the weight measurement module (21), and may control the operation of the weight measurement module (21), the lidar sensor (22), and the built-in camera (23), and may obtain weight data and area images from the weight measurement module (21) and the built-in camera (23), respectively. The control module may include one or more of a central processing unit, an application processor, or a communication processor. The control module may further include a communication unit that performs communication with a gateway server (30).

[0047] The control module may transmit to the gateway server (30) at least one area image captured during a preset period A and a plurality of weight data measured during the period A as one information pair to measure the area and weight of a single chicken individual. For example, the length of the period A may be 9 seconds, and the weight data measurement cycle may be 0.3 seconds.

[0048] Meanwhile, the information (i.e., area image and weight data) acquired from the biometric data acquisition device (20) is not used to calculate the weight of individual chickens and populations, but may be information used for learning the integrated algorithm described later.

[0049] Again, referring to FIG. 1, the gateway server (30) may be an edge terminal provided on the farm side.

[0050] The gateway server (30) can calculate the weight of a plurality of chickens included in a chicken population raised on a farm based on the area images captured by the surveillance camera (10), and can thereby calculate a representative weight (e.g., average weight) of the chicken population. Then, the gateway server (30) can transmit the weights of the plurality of chickens or the representative weight of the chicken population to the cloud server (40) via the network (50). In addition, the gateway server (30) can also transmit the learning area images captured by the surveillance camera (10) to the cloud server (40).

[0051] According to an embodiment, the gateway server (30) can input information extracted from a zone image into a pre-trained integrated algorithm model to calculate the weight of a plurality of chicken individuals. In addition, the gateway server (30) can input information extracted from each of a plurality of sequential zone images captured by a surveillance camera (10) into a pre-trained integrated algorithm model to calculate the weight of a chicken population. In other words, the gateway server (30) can correspond to a weight calculation device for chicken individuals and the population.

[0052] Here, the integrated algorithm model is an algorithm model that inputs area information of a chicken individual and outputs the weight of the chicken individual, and can be received from a cloud server (40) via a network (50). A detailed description of the integrated algorithm model will be described later.

[0053] Although not shown in FIG. 1, the gateway server (30) may include a communication unit, memory, and a processor.

[0054] The communication unit of the gateway server (30) can be connected to a surveillance camera (10), a biometric data acquisition device (20), and a cloud server (40). For example, the communication unit of the gateway server (30) can include at least some of a wired communication module, a short-range wireless communication module, and a long-range wireless communication module.

[0055] The memory of the gateway server (30) may be volatile and / or non-volatile memory and may store commands or data related to at least one other component of the gateway server (30). In particular, the memory of the gateway server (30) may store commands or data related to a computer program, application, recording medium, etc. executed in the gateway server (30).

[0056] The processor of the gateway server (30) may include one or more of a central processing unit, an application processor, or a communication processor. The processor of the gateway server (30) may perform calculations or data processing related to the control and / or communication of at least one other component of the gateway server (30). In particular, the processor of the gateway server (30) may execute instructions of a computer program / application.

[0057] Referring again to FIG. 1, the cloud server (40) may be a central terminal provided on the external side of the farm.

[0058] Similar to the gateway server (30), the cloud server (40) may include a communication unit, memory, and a processor. A detailed description thereof is omitted.

[0059] The cloud server (40) may be a learning device for learning an integrated algorithm model used to calculate the weight of individual chickens and / or a population. Learning may be performed periodically, thereby updating the integrated algorithm model. The learned integrated algorithm model may be transmitted to the gateway server (30).

[0060] Although not shown in FIG. 1, the cloud server (40) can be connected to a plurality of gateway servers (30) provided in each of a plurality of farms, thereby monitoring the breeding status of chicken populations raised in each of the plurality of farms.

[0061] Meanwhile, according to another embodiment, weight calculation of chicken individuals and / or populations may be performed in a cloud server (40) rather than a gateway server (30), and learning of the integrated algorithm model may be performed in a gateway server (30) rather than a cloud server (40). That is, the weight calculation device of chicken individuals and / or populations may be a gateway server (30) or a cloud server (40), and the learning device of the integrated algorithm model may also be a gateway server (30) or a cloud server (40).

[0062] Hereinafter, the operation of the weight calculation device and learning device will be described in more detail. For convenience of explanation, the weight calculation device is assumed to be a gateway server (30), and the learning device is assumed to be a cloud server (40).

[0063] FIG. 4 is a flowchart illustrating a method for calculating the weight of a livestock individual according to one embodiment of the present invention.

[0064] The method of FIG. 4 can be performed in a gateway server (30).

[0065] Below, the process performed at each step is described with reference to Fig. 4.

[0066] In step (S11), the gateway server (30) can receive an area image of the farm captured by a surveillance camera (10). The area image may be similar to the image illustrated in FIG. 2.

[0067] In step (S12), the gateway server (30) can extract at least one chicken object shape from the area image.

[0068] According to an embodiment, the gateway server (30) may compare a plurality of chicken object shapes included in the area image with a predefined reference chicken object shape to select at least one chicken object shape from among the plurality of chicken object shapes. For example, the at least one chicken object shape may be a chicken object shape whose similarity with the reference chicken object shape exceeds a threshold ratio (for example, 90%).

[0069] In step (S13), the gateway server (30) can calculate area information from each of at least one chicken individual shapes.

[0070] In an embodiment, the area information may correspond to the number of pixels in a portion of the area image corresponding to the shape of the chicken object.

[0071] In step (S14), the gateway server (30) can input the area information of each chicken individual, which is calculated for at least one chicken individual, into a pre-learned integrated algorithm model to calculate the weight of the chicken individual.

[0072] The integrated algorithm model is an algorithm model that inputs area information of a chicken individual and outputs the weight of the chicken individual, and can be transmitted to the gateway server (30) after being trained in advance in a cloud server (40).

[0073] According to an embodiment, the integrated algorithm model may be composed of N algorithm models (an integer greater than or equal to 2) and N combination weights. In this case, each of the N algorithm models may correspond to each of the N combination weights.

[0074] Each of the N algorithm models may be an algorithm model that inputs the area of ​​a chicken and outputs the weight of the chicken, and the N algorithm models may be generated using different modeling methods. In addition, each of the N algorithm models may be trained in a cloud server (40) based on area-weight information pairs acquired before the weight of the chicken is calculated. As an example, each of the N algorithm models may be a regression analysis model, an artificial neural network model, etc.

[0075] That is, the gateway server (30) can input area information of a chicken individual into each of N algorithm models to produce N weight outputs, and produce the weighted sum of the N combined weights and the N weight outputs as the weight of the chicken individual. This can be expressed by the following mathematical expression 1.

[0076]

[0077]

[0078]

[0079] Here, W C is the weight of the produced chicken individual, α i is the i-th combination weight corresponding to the i-th algorithm model among N algorithm models, MO i Each represents the i-th weight output that is output when the area information of the chicken individual is input to the i-th algorithm model. And, α i can have a value near 1.

[0080] Meanwhile, each of the N combination weights can be learned and set by the cloud server (40). The details of how the cloud server (40) sets the N combination weights will be described in detail below.

[0081] According to an embodiment, the N algorithm models may include two or more of the first, second and third algorithm models.

[0082] The first algorithm model may be an algorithm model learned by a cloud server (40) based on a plurality of first area-weight information pairs corresponding to pairs of area and weight of a single chicken. For example, the first algorithm model may be an artificial neural network model.

[0083] Specifically, the area and weight of a single chicken individual can be calculated based on at least one area image and a plurality of weight data captured and measured by the biometric data acquisition device (20) during a period A prior to the weight calculation time point described above.

[0084] At this time, the biometric data acquisition device (20) can set at least one area image captured during period A and a plurality of weight data measured during period A as image-weight data information pairs and transmit them to the gateway server (30). The gateway server (30) can calculate the area and weight of a single chicken individual based on the image-weight data information pairs, and can transmit a first area-weight information pair corresponding to the calculated pair of area and weight of the single chicken individual to the cloud server (40). The cloud server (40) can learn a first algorithm model using the plurality of first area-weight information pairs received periodically.

[0085] According to an embodiment, the area of ​​the chicken object included in the first area-weight information pair may be the area of ​​the shape of the chicken object included in the area image captured at any one point in time within a period A, and the weight of the chicken object included in the first area-weight information pair may be a representative weight (for example, an average weight) of a first weight data group having a weight data measurement time close to any one point in time among one or more weight data groups extracted from a plurality of weight data sequentially measured during a period A.

[0086] According to another embodiment, the area of ​​the chicken individual included in the first area-weight information pair may be a representative area (e.g., an average area or a weighted average area) of the areas of the chicken individual extracted from a plurality of area images sequentially captured during a period A, and the weight of the chicken individual included in the first area-weight information pair may be a representative weight (e.g., an average weight or a weighted average weight) of a plurality of weight data sequentially measured during a period A.

[0087] The second algorithm model may be an algorithm model learned by the cloud server (40) based on a plurality of second area-weight information pairs corresponding to pairs of representative areas of X (an integer greater than or equal to 2) chicken individuals and representative weights of Y (an integer greater than or equal to 2) chicken individuals. For example, the second algorithm model may be a regression analysis model.

[0088] Specifically, the representative area of ​​X chicken individuals can be calculated based on a plurality of learning area images captured by the surveillance camera (10) of the farm during a preset period B (the first period) prior to the weight calculation time point described above. In addition, the representative weight of Y chicken individuals can be calculated based on a plurality of weight data measured by the weight measurement module (21) of the biometric data acquisition device (20) provided in the farm where the surveillance camera (10) is installed during the period B. At this time, the surveillance camera (10) and the biometric data acquisition device (20) may be installed at different points in the farm, and thus, the X chicken individuals and the Y chicken individuals may not be identical to each other.

[0089] More specifically, the surveillance camera (10) can transmit a plurality of learning area images captured during period B to the gateway server (30), and the biometric data acquisition device (20) can transmit a plurality of weight data measured during period B to the gateway server (30).

[0090] After this, the gateway server (30) can extract X chicken object shapes from each of the plurality of learning area images, calculate the area of ​​X chicken objects from the X chicken object shapes, and calculate the average area or weighted average area of ​​the areas of X chicken objects as the representative area of ​​X chicken objects. Meanwhile, similarly to the above, the similarity of each of the X chicken objects to the reference chicken object shape can exceed a critical ratio.

[0091] In addition, the gateway server (30) can accumulate multiple weight data to generate a histogram based on weight and frequency, and calculate a representative weight (for example, an average weight or a weighted average weight) of Y chicken individuals based on the generated histogram.

[0092] The gateway server (30) can transmit a second area-weight information pair corresponding to the pair of representative areas of X chicken individuals and representative weights of Y chicken individuals to the cloud server (40). The cloud server (40) can learn a second algorithm model using a plurality of second area-weight information pairs received periodically.

[0093] The third algorithm model may be an algorithm model learned by the cloud server (40) based on a plurality of third area-weight information pairs corresponding to pairs of representative areas of a plurality of chicken individuals and preset reference weights of the chicken individuals. For example, the third algorithm model may be a regression analysis model or an artificial neural network model.

[0094] Specifically, the representative area of ​​a plurality of chicken individuals can be calculated based on a plurality of learning area images captured by a surveillance camera (10) installed in the farm on a specific day set in advance before the time of weight calculation. Since the calculation of the representative area of ​​a plurality of chicken individuals is similar to the calculation of the representative area of ​​the X chicken individuals described above, a redundant description will be omitted.

[0095] In addition, the chicken reference weight may be the standard weight of a chicken of a breeding day corresponding to the specific day among the predefined standard weights of chickens by breeding day. In Korea, the standard weight of chickens by breeding day is defined as shown in Table 1 below. For example, if a chicken population was bred from May 4th and multiple study area images were taken on May 26th, the chicken reference weight may be 971g, which is the standard weight of a chicken at 23 days of age.

[0096]

[0097]

[0098]

[0099] That is, the cloud server (40) can receive representative areas of multiple chicken individuals based on multiple learning area images taken during a specific day from the gateway server (30), and can learn a third algorithm model using multiple third area-weight information pairs, which are pairs of representative areas of multiple chicken individuals and standard weights of chickens of breeding age corresponding to a specific day.

[0100] In summary, a method for calculating the weight of a chicken according to one embodiment of the present invention can calculate the weight of a chicken by combining N different algorithm models using N combination weights. Accordingly, the weight of a chicken can be calculated more accurately.

[0101] Specifically, prior art techniques use a single algorithm model to calculate the weight of a chicken, which can result in underestimated or overestimated weights. However, the method for calculating the weight of a chicken according to the present invention utilizes N different algorithm models trained with N different area-weight information pairs, thereby enabling more accurate calculation of the weight of a chicken.

[0102] In particular, the weight of a chicken can be calculated using a first algorithm model trained with the area and weight of a single chicken (the first area-weight information pair), a second algorithm model trained with the representative area and representative weight of a group of chickens raised on a farm (the second area-weight information pair), and a third algorithm model trained with the representative area and chicken reference weight of a group of chickens raised on a farm (the third area-weight information pair). In this case, the weight output by the first algorithm model and the weight output by the third algorithm model have a tendency to overestimate the weight of the chicken, and the weight output by the second algorithm model has a tendency to underestimate the weight of the chicken. Therefore, the method for calculating the weight of a chicken according to the present invention can accurately calculate the weight of a chicken by combining and using three algorithm models.

[0103] Meanwhile, N combination weights may be learned and set in the cloud server (40). According to an embodiment, the cloud server (40) may learn and set N combination weights according to the gradient descent method based on the representative weights (e.g., average weight) before slaughter of a plurality of chickens raised on a farm and then shipped to a slaughterhouse at a past point in time.

[0104] Gradient descent is a method of deriving optimized parameters by transforming parameter values ​​in a direction that lowers the value of the loss function.

[0105] In an embodiment, the loss function defined in the present invention may be a function that uses a weight error parameter, which is the difference between the calculated chicken weight and the actual chicken weight, as a variable. In this case, the cloud server (40) can learn the weight error parameter to minimize the loss function and set N combination weights.

[0106] Here, when learning and setting N combination weights, the calculated chicken weight may have a variable value, while the actual chicken weight may have a constant value. In other words, the weight error parameter may be a parameter that uses the calculated chicken weight as a variable and the actual chicken weight as a constant. Meanwhile, since the calculated chicken weight can be calculated by an integrated algorithm model including N combination weights, learning the weight error parameter can correspond to learning the N combination weights.

[0107] In addition, the actual chicken weight may be a representative weight before slaughter of multiple chickens raised on a farm and then shipped to a slaughterhouse in the past. In other words, the actual chicken weight may be feedback information about the chicken weight at a past point in time. In addition, the calculated chicken weight may be a weighted sum of N learning weight outputs and N combination weights, which are calculated by inputting the area information of the preset learning chickens into each of N algorithm models. This may be similar to the description in FIG. 4 and the contents described in mathematical equation 1. In addition, the rearing age of the learning chickens may be the same as the rearing age of multiple chickens before slaughter.

[0108] Meanwhile, chickens slaughtered at slaughterhouses can be supplied to consumers in an uncut state. Furthermore, the grade (i.e., size) of uncut chickens can be predefined based on the weight of the slaughtered chickens, and minimum and maximum weights can be set for each grade.

[0109] In Korea, weight ranges are established by grade (lake) as shown in Table 2 below. The difference between two adjacent grades is 100g, and the difference between the maximum and minimum weights for each grade is 50g.

[0110]

[0111]

[0112]

[0113] Hereinafter, the contents of setting N combination weights will be explained in more detail with reference to the above-described contents.

[0114] FIG. 5 is a diagram illustrating an example of a loss function used to set N combination weights included in an integrated algorithm model according to one embodiment of the present invention.

[0115] Referring to FIG. 5, the loss function may include an inner loss function for an inner range of a preset weight error threshold value and an outer loss function for an outer range of the weight error threshold value. In this case, the gradient of the inner loss function may be set to be smaller than the gradient of the outer loss function.

[0116] Specifically, the weight error threshold may include first and second weight error thresholds. Here, the first weight error threshold ("±30g" in FIG. 5) may be set to be smaller than the second weight error threshold ("±50g" in FIG. 5). Meanwhile, referring to Table 2 described above, the second weight error threshold may correspond to the maximum allowable error weight, which is the difference between the maximum weight and the minimum weight for each grade.

[0117] Accordingly, the loss function may include a first inner loss function, which is an inner loss function for a first range (i.e., -30 g to 30 g) below a first weight error threshold, a second inner loss function, which is an inner loss function for a second range (i.e., -50 g to -30 g, 30 g to 50 g) between the first weight error threshold and the second weight error threshold, and an outer loss function for a third range (i.e., -∞ to -50 g, 50 g to ∞) exceeding the second weight error threshold.

[0118] At this time, the first inner loss function may be a constant function with a value of "0." Furthermore, the gradient of the outer loss function may tend to increase more rapidly than the gradient of the second inner loss function. For example, the loss function may be expressed as the following mathematical expression (2).

[0119]

[0120]

[0121]

[0122] Here, E W refers to the weight error parameter.

[0123] In addition, a critical loss value may be set based on the second weight error threshold value. The critical loss value may be a loss value derived by applying the second weight error threshold value (±50 g) to the loss function.

[0124] FIG. 6 is a diagram for explaining a concept in which a cloud server (40) sets N combination weights according to one embodiment of the present invention.

[0125] Meanwhile, N default combination weights can be defined to set N combination weights. For example, each of the N default combination weights can have a value of "1".

[0126] Referring to FIG. 6, the cloud server (40) can input the area of ​​the training chicken into an integrated algorithm model having N default combination weights to calculate a first output chicken weight, calculate a first weight error parameter based on the first output chicken weight, and apply the first weight error parameter to a loss function to calculate a first loss value (610). At this time, since the first loss value (610) exceeds a threshold loss value, the cloud server (40) can adjust the N combination weights according to a preset weight adjustment method.

[0127] Next, the cloud server (40) can input the area of ​​the training chicken into the integrated algorithm model with N adjusted combination weights to calculate the second output chicken weight, calculate the second weight error parameter based on the second output chicken weight, and apply the second weight error parameter to the loss function to calculate the second loss value (620). At this time, since the second loss value (620) also exceeds the critical loss value, the cloud server (40) can readjust the N combination weights according to the weight adjustment method.

[0128] Continuing, the cloud server (40) can input the area of ​​the training chicken into the integrated algorithm model with the readjusted N combination weights to calculate the third output chicken weight, calculate the third weight error parameter based on the third output chicken weight, and apply the third weight error parameter to the loss function to calculate the third loss value (630). At this time, since the third loss value (630) is less than or equal to the critical loss value, the cloud server (40) can set the readjusted N combination weights to the N combination weights.

[0129] In summary, the cloud server (40) can set N combination weights included in the integrated algorithm model based on gradient descent. At this time, the loss function used in gradient descent can be defined to reflect the difference between the maximum and minimum weights (i.e., 50 g) for each grade determined by chicken weight. Accordingly, the computational effort required to set N combination weights can be reduced.

[0130] Specifically, referring to Fig. 7, if the loss function has a general concave shape and the loss value for the inflection point is set to “0”, the process of learning N combination weights may be repeated infinitely, and eventually a situation may arise where N combination weights cannot be set.

[0131] Meanwhile, referring to Table 2 above, a grade is defined as a weight range with a minimum and maximum weight. For example, Grade 10 has a weight range of 951g to 1050g. In other words, depending on the business conditions of the poultry industry, chicken grades are defined not by a single weight but by a weight range.

[0132] Based on these facts, the loss function used in the present invention is defined as shown in Fig. 5, reflecting the difference between the maximum and minimum weights (i.e., 50 g). Therefore, according to the present invention, a situation in which the above-described N combination weights cannot be set does not occur, and the N combination weights can be quickly set with a small amount of computation.

[0133] FIG. 8 is a flowchart illustrating a method for calculating the weight of a livestock population according to one embodiment of the present invention.

[0134] The method of FIG. 8 can be performed in a gateway server (30).

[0135] Below, the process performed at each step is described with reference to Fig. 8.

[0136] In step (S81), the gateway server (30) can calculate L first weights corresponding to each of the L area images based on L (an integer greater than or equal to 2) area images and a pre-learned integrated algorithm.

[0137] Here, the first weight may be related to the weight of at least one chicken individual included in the area image.

[0138] Hereinafter, step (S81) will be described in more detail with reference to FIG. 9.

[0139] Figure 9 is a drawing showing a flowchart of step (S81) among the steps of Figure 8.

[0140] The steps of step (S81) described in Fig. 9 can be performed for each of L area images sequentially captured according to the shooting cycle. For the convenience of the following description, the area image among the L area images in which step (S81) is performed is referred to as a “first area image.”

[0141] In step (S811), the gateway server (30) can receive a first zone image of the farm captured by the surveillance camera (10). The zone image may be similar to the image illustrated in FIG. 2.

[0142] In step (S812), the gateway server (30) can extract at least one chicken object shape from the first zone image. Then, in step (S813), the gateway server (30) can calculate area information from each of at least one chicken object shapes.

[0143] Steps (S812) and (S813) are similar to steps (S12) and (S13) of the above-described FIG. 4, so redundant descriptions are omitted.

[0144] In step (S814), the gateway server (30) can input each area information of at least one chicken individual into the integrated algorithm model to produce a first weight output of at least one chicken individual.

[0145] According to an embodiment, the gateway server (30) may input area information of each chicken individual into N algorithm models for each of at least one chicken individual, thereby producing N second weight outputs which are weight outputs of each of the N algorithm models, and may produce a weighted sum of the N combined weights and the N second weight outputs as the first weight output of the chicken individual.

[0146] At this time, the N algorithm models may include two or more algorithm models among the first, second, and third algorithm models, and the first, second, and third algorithm models have been described above. In addition, the first weight output of the chicken individual may correspond to the "weight of the chicken individual" described in step (S14) of FIG. 4 described above. That is, since step (S814) is similar to step (S14) of FIG. 4, the detailed configuration of step (S814) will refer to the description of step (S14).

[0147] Meanwhile, each of the N combination weights can be learned and set by the cloud server (40) together with the L time weights described below. The details of how the cloud server (40) sets the N combination weights and the L time weights will be described in detail below.

[0148] Again, referring to FIG. 4, in step (S82), the gateway server (30) can calculate the weight of the chicken population as the weighted sum of the preset L time weights and the L first weights.

[0149] Specifically, in order to more accurately calculate the weight of a chicken population, the gateway server (30) may use a combination of multiple, i.e., L, area images rather than using only an area image at a single point in time.

[0150] At this time, L area images are periodically captured by the surveillance camera (10) over time. For example, if the capture cycle is set to 5 minutes, L images may be 72 images. In addition, the chicken population in the farm continuously grows, and accordingly, the average area and average weight of the chicken population continuously increase. Therefore, the area of ​​a chicken in the area image captured at the first point in time may be smaller than the area of ​​a chicken in the area image captured at the second point in time after the first point in time. Therefore, in the case of the present invention, when calculating the weight of the chicken population at the current point in time, L area images can be combined by applying a weight according to time.

[0151] Referring to the above, if the representative weight output of the first weight output of at least one chicken individual included in the area image is the average weight output, the gateway server (30) can calculate the weight of the chicken population at the current point in time based on the following mathematical expressions 3, 4, and 5.

[0152]

[0153]

[0154]

[0155]

[0156]

[0157]

[0158]

[0159] Here, W CP is the weight of the produced chicken population, μ j is the time weight of the jth region image among L region images, W j is the first weight of the j-th zone image, W h is the first weight output of the h-th chicken among the K (integer greater than or equal to 1) chickens included in the j-th region image, α iis the i-th combination weight corresponding to the i-th algorithm model among N algorithm models, MO i Each represents the i-th weight output output when the area information of the h-th chicken individual in the j-th region image is input to the i-th algorithm model.

[0160] At this time, the j-th time weight among the L time weights can be set to be greater than the (j-1)th time weight among the L time weights. That is, the first time weight is the smallest, and the last time weight is the largest. In other words, the closer the shooting time of the area image is to the current time, the higher the time weight can be assigned. According to an embodiment, the L time weights can have a linear relationship that sequentially increases according to the shooting time. Accordingly, the weight of the chicken population can be calculated more accurately.

[0161] Meanwhile, N combination weights and L time weights can be set in the cloud server (40), and some of the N combination weights and L time weights can be learned.

[0162] Specifically, as described above, since the L time weights may have a linear relationship that sequentially increases according to the shooting time, the cloud server (40) may learn and set only some of the L time weights without learning all of the L time weights. At this time, the remaining time weights may be set according to some of the time weights and the linear relationship described above. According to an embodiment, some of the time weights may be the first and last time weights among the L time weights.

[0163] According to an embodiment, the cloud server (40) can learn N combination weights and some time weights based on the representative weights (e.g., average weights) before slaughter of a plurality of chickens raised on a farm and then shipped to a slaughterhouse at a past point in time, and set N combination weights and L time weights by using the gradient descent method. At this time, the gradient descent method and the loss function have been described above.

[0164] Below is a drawing for explaining the concept of a cloud server (40) setting N combination weights and L time weights.

[0165] To set N combination weights and L time weights, N default combination weights and L default time weights can be defined. For example, each of the N default combination weights can have a value of "1".

[0166] Referring to FIG. 6, the cloud server (40) can calculate the first chicken population weight using L learning area images, an integrated algorithm model having N default combination weights, and L default time weights (see the description of FIGS. 8 and 9), calculate the first weight error parameter based on the first chicken population weight, and apply the first weight error parameter to a loss function to calculate the first loss value (610). At this time, since the first loss value (610) exceeds the threshold loss value, the cloud server (40) can adjust the N combination weights and some of the time weights according to a preset weight adjustment method. Meanwhile, the remaining time weights can be automatically adjusted based on some of the adjusted time weights.

[0167] Next, the cloud server (40) can calculate the second chicken population weight using the L learning area images, the integrated algorithm model having the adjusted N combination weights, and the adjusted L time weights (see the description of FIGS. 8 and 9), calculate the second weight error parameter based on the second chicken population weight, and apply the second weight error parameter to the loss function to calculate the second loss value (620). At this time, since the second loss value (620) also exceeds the critical loss value, the cloud server (40) can readjust the N combination weights and some of the time weights according to the weight adjustment method. Meanwhile, the remaining time weights can be automatically readjusted based on some of the readjusted time weights.

[0168] Subsequently, the cloud server (40) can calculate the third chicken population weight using the L learning area images, the integrated algorithm model having the N readjusted combination weights, and the L readjusted time weights (see the description of FIGS. 8 and 9), calculate the third weight error parameter based on the third chicken population weight, and apply the third weight error parameter to the loss function to calculate the third loss value (630). At this time, since the third loss value (630) is less than or equal to the critical loss value, the cloud server (40) can set the N readjusted combination weights as the N final combination weights, and can set some of the readjusted time weights as some of the final time weights. Meanwhile, the remaining final time weights can be automatically set based on some of the final time weights.

[0169] In summary, the cloud server (40) can set N combination weights and L time weights included in the integrated algorithm model based on the gradient descent method. At this time, the loss function used in the gradient descent method can be defined to reflect the difference between the maximum and minimum weights (i.e., 50 g) for the grade determined according to the weight of the chicken, and only some of the time weights (i.e., the first time weight and the last time weight) among the L time weights can be learned. Accordingly, the amount of computation required to set the N combination weights and L time weights can be reduced. This is also referred to in conjunction with the description of FIG. 7 described above.

[0170] In addition, embodiments of the present invention may be implemented in the form of program commands that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program commands, data files, data structures, etc., alone or in combination. The program commands recorded on the medium may be those specially designed and configured for the present invention, or may be those known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program commands, such as ROMs, RAMs, and flash memories. Examples of program commands include not only machine language codes generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, etc. The hardware devices described above may be configured to operate as one or more software modules to perform operations of embodiments of the present invention, and vice versa.

[0171] Although the present invention has been described with specific details such as specific components and limited embodiments and drawings, these are provided only to help the overall understanding of the present invention, and the present invention is not limited to the above embodiments, and those with ordinary skill in the art to which the present invention pertains can make various modifications and variations based on these descriptions. Therefore, the spirit of the present invention should not be limited to the described embodiments, and all things that are equivalent or equivalent to the claims as well as the claims described below are considered to fall within the scope of the spirit of the present invention.

Claims

1. A weight calculation device that calculates the weight of a livestock individual or population raised in the farm based on an integrated algorithm model including a zone image of the farm received from a surveillance camera installed in the farm and N (an integer greater than or equal to 2) pre-learned algorithm models; and A learning device comprising: a learning device that learns the N algorithm models and sets N combination weights for combining the N algorithm models; Weight calculation system.

2. In paragraph 1, The learning device learns the N algorithm models based on area-weight information pairs obtained before the weight calculation time of the livestock individual or population. The above N algorithm models are different algorithm models that input livestock area and output livestock weight, and the area-weight information pairs used for learning each of the N algorithm models are different. Weight calculation system.

3. In paragraph 1, The above N algorithm models include at least two of the first, second and third algorithm models, The first algorithm model is learned based on a plurality of first area-weight information pairs corresponding to pairs of area and weight of a single livestock individual, The second algorithm model is learned based on a plurality of second area-weight information pairs corresponding to pairs of representative areas of X (an integer greater than or equal to 2) livestock individuals and representative weights of Y (an integer greater than or equal to 2) livestock individuals, The third algorithm model is learned based on a plurality of third area-weight information pairs corresponding to pairs of representative areas of a plurality of livestock individuals and preset livestock reference weights. Weight calculation system.

4. In paragraph 3, The representative area of ​​the above X livestock objects is obtained based on a plurality of learning area images captured by the surveillance camera during a first preset period, The representative weight of the Y livestock individuals is calculated based on a plurality of weight data measured during the first period by a weight measuring device provided in the farm. Weight calculation system for livestock individuals.

5. In paragraph 3, The representative area of ​​the plurality of livestock objects is obtained based on a plurality of learning area images captured by the surveillance camera during a specific day, The above livestock standard weight is the livestock standard weight of the livestock of the livestock age corresponding to the specific day among the livestock standard weights by predefined livestock age. Weight calculation system.

6. In paragraph 1, The above weight calculation device, Calculate the area information of the target livestock object included in the above area image, The area information of the above target livestock is input into each of the N algorithm models to produce the N weight outputs, The weighted sum of the N combination weights and the N weight outputs is calculated as the weight of the target livestock individual. Weight calculation system.

7. In paragraph 6, The above learning device, The N weights are set by learning the weight error parameter so as to minimize the loss function that uses the weight error parameter, which is the difference between the calculated livestock weight and the actual livestock weight, as a variable. Weight calculation system.

8. In paragraph 7, The above weight error parameter is a parameter that uses the calculated livestock weight as a variable and the actual livestock weight as a constant. The above calculated livestock weight is a weighted sum of the N learning weight outputs and the N weights calculated by inputting the area information of the preset learning livestock into each of the N algorithm models. Weight calculation system.

9. In paragraph 1, The weight estimation device receives L (an integer greater than or equal to 2) area images captured over time from the surveillance camera, and estimates the weight of the livestock population based on the L area images, the integrated algorithm model, and L time weights corresponding to each of the L area images. The above learning device further sets the L time weights, Weight calculation system.

10. In paragraph 9, The above weight estimation device, Based on the above integrated algorithm model, L first weights corresponding to each of the L area images are calculated, Estimate the weight of the livestock population as the weighted sum of the L time weights and the L first weights, The above L time weights correspond to the shooting times of the L area images. Weight calculation system.

11. In paragraph 10, For each of the L zone images, the weight estimation device, Calculate area information of at least one livestock object included in the above area image, Inputting each area information of at least one livestock individual into the integrated algorithm model to produce a first weight output of the at least one livestock individual, A representative weight output of the first weight output of at least one livestock individual is calculated as a first weight corresponding to the area image, Weight calculation system.

12. In paragraph 11, For each of the above at least one livestock object, the weight estimation device, The area information of the above livestock individual is input into each of the N algorithm models to produce N second weight outputs, which are the weight outputs of each of the N algorithm models. The weighted sum of the N combined weights and the N second weight outputs is calculated as the first weight output of the livestock individual. Weight calculation system.

13. In paragraph 10, The j-th time weight among the above L time weights is set to be greater than the j-1-th time weight among the above L time weights, The above j-1th time weight corresponds to the j-1th area image captured at the j-1th shooting time among the L area images, The jth time weight corresponds to the jth area image captured at the jth shooting time among the L area images. Weight calculation system.

14. In paragraph 9, The above learning device, The N combination weights and the L time weights are set by learning the weight error parameters so as to minimize a loss function that has the weight error parameters as variables, which are the difference between the calculated livestock population weights and the actual livestock population weights. Weight calculation system.

15. In paragraph 14, The above weight error parameter is a parameter that uses the calculated livestock population weight as a variable and the actual livestock population weight as a constant. The above-mentioned calculated livestock population weight corresponds to the weighted sum of the L first learning weights calculated based on the L pre-acquired learning area images and the above-mentioned integrated algorithm and the L time weights. Weight calculation system.

16. In paragraph 14, The above loss function includes an inner loss function for an inner range of a preset weight error threshold and an outer loss function for an outer range of the weight error threshold, The gradient of the inner loss function is smaller than the gradient of the outer loss function. Weight calculation system for livestock individuals.

17. In paragraph 16, The above weight error threshold includes first and second weight error thresholds, The first weight error threshold is smaller than the second weight error threshold, The inner loss function includes a first inner loss function for a first range of the inner range that is less than the first weight error threshold value, and a second inner loss function for a second range of the inner range that is between the first weight error threshold value and the second weight error threshold value, The above outer range is a third range exceeding the second weight error threshold, Weight calculation system for livestock individuals.

18. A communication unit that receives an area image of the farm captured from a surveillance camera installed in the farm; and A processor for calculating the weight of a livestock individual or population raised in the farm based on an integrated algorithm model including an area image of the farm and N (an integer greater than or equal to 2) pre-learned algorithm models; Weight calculation device.

19. A method for calculating the weight of a livestock population performed on a processor-based device, A step of receiving L (an integer greater than or equal to 2) area images periodically captured over time from surveillance cameras installed in a farm; A step of calculating L first weights corresponding to each of the L region images based on a pre-learned integrated algorithm model; and A step of estimating the weight of the livestock population raised in the farm by the weighted sum of the L time weights and the L first weights; Weight calculation method.

20. A computer-readable recording medium recording a program for performing the method of Article 19.

Citation Information

Patent Citations

  • A method and system for grading poultry carcasses by image grading

    CN107993203B

  • Goods volume measuring method and device and electronic equipment

    CN111507542A

  • Animal weight prediction and estimation system based on picture recognition

    CN114882213A

  • Production management system, production management method, and program

    JP2023015924A

  • Livestock information management system, livestock barn, livestock information management program, and livestock information management method

    JP6924946B2