Apparatus and method for providing video-based animal status information
The device corrects image distortion and calculates animal size and weight by calibrating cameras, addressing the challenges of camera specification uncertainty and distortion, allowing for accurate livestock monitoring and management.
Patent Information
- Application Number
- JP2024531459
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-04-28
- Filing Date
- 2024-04-24
- Publication Date
- 2025-10-15
- Estimated Expiration
- 2044-04-24
AI Technical Summary
Existing technologies face challenges in accurately counting and estimating the weight of animals in images due to camera distortion and lack of camera specification information, making it difficult to mathematically calculate the length of photographed subjects.
An image-based animal status information providing device that performs camera calibration, sets a scale for actual length per pixel, identifies and counts individual animals, calculates their size, and estimates weight using a lookup table, with a server transmitting this information to user terminals.
Accurately calculates the length and weight of livestock by correcting image distortion, enabling real-time monitoring and management of animal populations through user interfaces.
Smart Images

Figure 0007754551000001 
Figure 0007754551000002 
Figure 0007754551000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to an automated device and method that can count the number of animals moving along a linear path, automatically recognize the size of the animals, and use this to estimate the weight of the animals. [Background technology]
[0002] Recently, research has been conducted into technologies that provide various status information of individual animals based on video. For example, various technologies are being researched that identify individual animals within a video and track their movements to more conveniently manage individual animals. Such technologies can be used in barns where large numbers of livestock are raised, or in spaces where various companion animals are managed.
[0003] The present invention aims to provide a device that automatically counts the number of individual animals in real time using images captured by a camera and automatically estimates their weight.
[0004] In this case, a technique for accurately measuring the size of an individual animal is required to estimate the weight of the individual animal. Conventionally, it has been impossible to mathematically calculate the length of a photographed subject unless information such as the camera's angle of view, lens length, and focal length is known in advance. Therefore, there is a limitation in that it is difficult to mathematically calculate the length of a photographed subject without knowing information about the camera's specifications.
[0005] In addition, when a specific area is photographed using a camera, the photographed image is generally distorted. As a result, unless the problem of insufficient information about the camera (or the photographing environment) and image distortion that may occur during the photographing process is resolved, the length of the object cannot be accurately calculated.
[0006] We propose a technology that solves these problems of conventional technology and can accurately calculate the status information of individual animals in video. Summary of the Invention [Problem to be solved by the invention]
[0007] The present invention is intended to solve the above-mentioned problems, and has as its technical object to provide an animal individual status information providing device and method that can solve the image distortion that may occur due to camera photography and calculate status information such as the number and weight of individual animals from the image.
[0008] However, the technical problems that this embodiment aims to solve are not limited to the above-mentioned technical problems, and other technical problems may exist. [Means for solving the problem]
[0009] In order to solve the above technical problems, an image-based individual animal status information providing device according to a first aspect of the present invention includes a memory storing an individual animal status information generation program, and a processor that executes the individual animal status information generation program, and the program, when executed by the processor, performs calibration on a camera in which a region of a linear path through which individual animals pass is set as a shooting region through an initialization operation, sets a scale for an actual length per pixel using image data received from the camera, identifies and counts individual animals in the shooting region from the calibrated image data, calculates the size of the individual animals in the shooting region using the scale, estimates the weight of the individual animals based on the size of the individual animals, and outputs status information of the individual animals including the counted number of individual animals and the estimated weight of the individual animals.
[0010] In addition, an information providing server according to a second aspect of the present invention provides individual animal status information collected from at least one individual animal status information providing device, and includes a communication module, a memory storing an individual animal status information providing program, and a processor that executes the individual animal status information providing program, wherein the program, when executed by the processor, collects individual animal status information from at least one individual animal status information providing device and, in response to a request from an external user terminal, provides the individual animal status information through a user interface of the user terminal, and the individual animal status information includes the number of individual animals and estimated weights of the individual animals collected by the individual animal status information providing device over a predetermined period, respectively, and the number of individual animals is collected by the individual animal status information providing device through an operation of identifying and counting individual animals in a camera's shooting area, and the estimated weights are collected by the individual animal status information providing device through an operation of calculating the size of the individual animals using a scale set through camera calibration and estimating the weights of the individual animals based on the size of the individual animals.
[0011] Furthermore, a method for generating individual animal status information for a video-based individual animal status information providing device according to a third aspect of the present invention includes the steps of calibrating a camera having a shooting area set to a region of a linear path through which individual animals pass, setting a scale for an actual length per pixel using video data received from the camera, identifying individual animals in the shooting area for the calibrated video data and counting the individual animals, calculating the size of the individual animals in the shooting area using the scale, estimating the weight of the individual animals based on the size of the individual animals, and outputting status information of the individual animals including the counted number of individual animals and the estimated weight of the individual animals.
[0012] Furthermore, a method for providing an individual animal status information collected from an individual animal status information providing device by an information providing server according to a fourth aspect of the present invention to a user terminal includes the steps of collecting individual animal status information from at least one individual animal status information providing device, and providing the individual animal status information through a user interface of the user terminal in response to a request from an external user terminal, wherein the individual animal status information includes the number of individual animals and estimated weights of the individual animals collected by the individual animal status information providing device for a predetermined period, respectively, and the number of individual animals is collected by the individual animal status information providing device through an operation of identifying and counting individual animals in a camera's shooting area, and the estimated weights are collected by the individual animal status information providing device through an operation of calculating the size of the individual animals using a scale set through camera calibration and estimating the weights of the individual animals based on the size of the individual animals. [Effects of the Invention]
[0013] The image-based animal individual status information providing device and method according to one embodiment of the present invention can solve image distortion that may occur due to camera shooting, and can more accurately calculate the length of livestock in the image, and based on that, can estimate the weight of the livestock.
[0014] In addition, by transmitting the collected individual animal status information to the information providing server and providing it to the user terminal in this manner, each user can check the collected individual animal status information in real time through the individual animal status information providing device installed in their own farm, etc. [Brief explanation of the drawings]
[0015] [Figure 1] 1 shows the configuration of an animal individual status information providing system according to one embodiment of the present invention. [Figure 2] 1 shows the configuration of an animal individual status information providing device according to one embodiment of the present invention. [Figure 3] 1 shows a specific example of an animal individual status information providing device according to an embodiment of the present invention. [Figure 4] 1 is a flowchart illustrating an operation method of an animal individual status information providing device according to an embodiment of the present invention. [Figure 5] 10 is a diagram illustrating a calibration process of an animal individual status information providing device according to an embodiment of the present invention. [Figure 6] 1 is a diagram illustrating the size of an animal individual according to an embodiment of the present invention. [Figure 7] 10A and 10B are diagrams illustrating a weight estimation process according to an embodiment of the present invention; [Figure 8] 10 illustrates an example of a user interface output in an animal individual status information providing device according to an embodiment of the present invention. [Figure 9] 1 shows a detailed configuration of an information providing server according to an embodiment of the present invention. [Figure 10] 10 is a diagram illustrating an example of animal individual status information displayed through a user terminal according to an embodiment of the present invention. [Figure 11] 10 illustrates an interface for providing various statistical information displayed on a user terminal through an information providing server according to an embodiment of the present invention. [Figure 12] 10 illustrates a method in which an information providing server according to an embodiment of the present invention provides animal individual status information to a user terminal. DETAILED DESCRIPTION OF THE INVENTION
[0016] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0023] The present invention will now be described in detail with reference to the accompanying drawings so that those skilled in the art can easily understand and practice the present invention. However, the present invention may be embodied in various different forms and is not limited to the embodiments described herein. In the drawings, parts that are not relevant to the description are omitted in order to clearly explain the present invention, and similar parts are designated by similar reference numerals throughout the specification.
[0017] Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. Furthermore, when a part is said to "comprise" a certain component, this does not mean excluding other components, but may further include other components, unless otherwise specified, and should be understood as not precluding the presence or possibility of addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0018] The following examples are provided as detailed explanations to aid in understanding the present invention, and are not intended to limit the scope of the present invention. Therefore, inventions that perform the same functions as the present invention and have the same scope should also fall within the scope of the present invention.
[0019] FIG. 1 shows the configuration of an animal individual status information providing system according to one embodiment of the present invention, and FIG. 2 shows the configuration of an animal individual status information providing device according to one embodiment of the present invention.
[0020] 1, an individual animal status information providing system 10 includes a plurality of individual animal status information providing devices 100, 102, 104 arranged in each farm or each barn, an information providing server 200, and a plurality of user terminals 300, 302. The individual animal status information providing devices 100, 102, 104 directly identify individual animals from video data captured by a camera, count the number of individual animals, calculate the size of each individual animal, and estimate the weight of each individual animal using the size of each individual animal. Each individual animal status information providing device 100, 102, 104 is arranged along a linear path along which individual animals move, and the individual animal status information collected by the individual animal status information providing device 100 is transmitted to the information providing server 200 via data communication.
[0021] The information providing server 200 stores the individual animal status information in a database along with the identification information of each individual animal status information providing device 100, and these are managed for each measurement point. The information providing server 200 also provides the individual animal status information to the user terminals 300, 302 in response to a request from the user terminals 300, 302. The information providing server 200 grants limited access authority only to the individual animal status information collected by the individual animal status information providing device 100 registered in association with each user account. This allows each user to check in real time, through the user terminal 300, the individual animal status information collected from the individual animal status information providing device 100 installed in the farm or barn they manage. Meanwhile, the information providing server 200 may operate on a cloud computing service model such as Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS), or may be implemented in the form of a private cloud, public cloud, or hybrid cloud.
[0022] The user terminal 300 outputs the animal individual status information collected by the animal individual status information providing device 100 installed at each location through a user UI via a dedicated app or web page. The various types of animal individual status information displayed on the user terminal 300 will be described later.
[0023] FIG. 2 is a block diagram showing a detailed configuration of an animal condition information providing device according to an embodiment of the present invention.
[0024] As shown in the drawing, the animal individual status information providing device 100 includes a memory 110 and a processor 120. The animal individual status information providing device 100 may further include a communication module 130, a camera 140, a display 150, and a database 160.
[0025] A program for providing status information of individual animals based on video is recorded in memory 110. The animal status information generation program is executed by processor 120, and performs calibration on a camera whose shooting area is set to a region of a linear path through which individual animals pass through through an initialization operation, sets a scale for the actual length per pixel using video data received from the camera, identifies and counts individual animals in the shooting area, calculates the size of the individual animals in the shooting area using the scale, estimates the weight of the individual animals based on their size, and provides status information of the individual animals including the number of counted animals and the estimated weight of the individual animals.
[0026] The memory 110 also functions to temporarily or permanently store data processed by the processor 120. The memory 110 may include a volatile storage medium or a non-volatile storage medium, although the scope of the present invention is not limited thereto.
[0027] The processor 120 executes the animal individual status information generation program stored in the memory 110. The processor 120 may refer to a data processing device built into hardware having a circuit physically structured to execute functions expressed by codes or instructions contained in the program. Examples of such data processing devices built into hardware include a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc., but the scope of the present invention is not limited thereto.
[0028] The camera 140 is installed so that a certain area of the linear passage through which the individual animals pass is set as the field of view (FOV). The linear passage is a passage through which the individual animals move, and is formed with a constant width at the bottom and a predetermined length. It is a space typically found in animal enclosures. The width of the linear passage is not particularly limited, but it is preferably wide enough for one or two individual animals to move side by side in order to more accurately capture the length and size of the individual animals. The camera 140 is fixedly installed at the top of the linear passage, and particularly, positioned vertically above the linear passage to minimize distortion of the image captured by the camera 140. In addition, the device 100 for providing information on the status of individual animals can check information regarding the specifications and installation position of the camera 140 in advance, and the device 100 can correct distortion of the image generated by the camera 140 using this information. Meanwhile, one camera 140 may be connected to each device 100, or multiple cameras 140 may be installed. In this case, when multiple cameras 140 are installed, the animal individual status information providing device 100 divides and sets a shooting area for each camera 140, and processes the counting and weight estimation of individual animals in parallel for each image captured by each camera 140.
[0029] The communication module 130 transmits video data or control signals between the animal individual status information providing device 100 and the camera 140. The communication module 130 may also receive a data request from the camera 140 and transmit data in response thereto. The communication module 130 also performs data communication with the information providing server 200 or the user terminal 300. Here, the communication module 130 may be a device including hardware and software necessary to transmit and receive signals such as control signals or data signals with other network devices via wired or wireless connections.
[0030] The display 150 is provided on one side of the animal individual status information providing device 100 and outputs the status information of the individual animals, including the number of animals and estimated weights of the individual animals. The display 150 is a general flat digital display and may have a built-in touch function. The user interface displayed on the display 150 will be described later.
[0031] Database 160 may store characteristic information necessary for identifying individual animals, or identification information of individual animals identified by the program, scale information calculated by the program, and estimated sizes or weights of individual animals. Database 160 may also store lookup table information that indicates the correlation between size and weight of individual animals for each type of animal. Database 160 may be included as a component separate from memory 110, or may be constructed in a partial area of memory 110.
[0032] FIG. 3 shows a specific example of an animal individual status information providing device according to an embodiment of the present invention.
[0033] As shown in the drawing, the communication module 130 may be disposed on the outside of the main body of the animal individual status information providing device 100. Also, the camera 140 may be disposed from the ceiling of the passageway toward the shooting area on the lower side. A display 150 may be coupled to the outside of the main body.
[0034] FIG. 4 is a flowchart illustrating an operation method of the device for providing information on the individual status of an animal according to an embodiment of the present invention.
[0035] First, when the animal individual status information providing device 100 is installed as shown in Fig. 3, a step of calibrating the camera and setting the scale is performed in the initial stage (S410). To this end, the program may correct distortion of the image and set the scale based on an image of a checkerboard placed in one area of a linear passage.
[0036] FIG. 5 is a diagram illustrating a calibration process of an animal individual status information providing device according to an embodiment of the present invention.
[0037] As shown in the drawing, the checkerboard is an array of squares. When the checkerboard is placed in a linear path and an image is captured by the camera 140, it is observed that the area directly below the camera 140 is distorted to be relatively wider than the surrounding areas. Each lattice of the checkerboard has multiple vertices, and the center vertex is set as the focal point of the camera 140, and a calibration calculation is repeatedly performed on the image frame to minimize the degree of distortion of the checkerboard. The calibration calculation using the checkerboard may be performed using a polynomial distortion model, also known as the Brown-Conrady model. That is, by adjusting the distortion parameters of the polynomial distortion model and adjusting the degree of unevenness, the size of the squares in the checkerboard becomes uniform, and calculations are performed multiple times to minimize distortion. For example, the calibration calculation is repeatedly performed to minimize the mean square error (MSE) between the length of each line segment (shown in red) in the top row of the checkerboard and the length of each line segment (shown in blue) in the bottom row of the checkerboard. Once the calibration calculation is complete, the values of the distortion parameters that make up the polynomial distortion model are determined, and the distortion of newly captured images is then corrected using the distortion parameters. Since the polynomial distortion model is a conventional technology, for specific details please refer to the technical documentation at the link (https: / / docs.nvidia.com / vpi / algo_ldc.html).
[0038] In this way, the scale is set based on the image after distortion correction. For example, the length of a unit line segment defined as the length of one side of a checkerboard square is compared with the number of pixels representing the unit line segment in the image data after distortion correction to calculate a scale for the actual length per pixel. In this case, information regarding the length of the unit line segment of the checkerboard may be input by a user or may be stored in advance in the device 100 for providing information on the individual animal status. The calculated scale is used to calculate the size of the individual animal in the future. That is, when calculating the length of a specific part of an individual animal in the image after distortion correction, the number of pixels representing the length is counted and the scale is applied to the counted number to calculate the actual length of the specific part.
[0039] Next, referring back to Figure 4, individual animals are identified in the distortion-corrected image and the number of individual animals is counted (S420). When an individual animal appears in the photographed area, an individual animal identification model included in the individual animal status information generation program automatically identifies the individual animal. To this end, the individual animal identification model is obtained in the form of a machine learning model that extracts the characteristics of individual animals based on the image and assigns an identification number (ID) to each individual animal.
[0040] The animal identification model can also identify animal species. For example, it can be trained to identify not only domestic animals such as cows, pigs, chickens, and horses, but also companion animals such as dogs and cats. In the present invention, the camera 140 positioned above the animal captures images, primarily capturing the back of the animal, which is then used to extract the features of the animal.
[0041] Furthermore, even within the same species, individual animals can be identified based on their visual characteristics (e.g., color, size, and skeleton). To this end, an animal identification model can be constructed using training data containing videos of many animals. The training network used may include a convolutional neural network (CNN), a recurrent neural network (RNN), an autoencoder, a generative adversarial network (GAN), or a deep belief network (DBN). In particular, convolutional neural networks (CNNs) may include one or more convolutional layers, a pooling layer, and a fully connected layer.
[0042] In this way, individual animals can be identified using the image, and identification information can be assigned to each individual animal, allowing the number of individual animals passing through the imaging area to be counted. The counting and weight estimation operations for individual animals are automatically performed from the time an individual animal is identified in the imaging area until the time an individual animal is no longer identified. Thus, the counting and weight estimation operations for individual animals are automatically performed without the administrator having to make any additional settings. Here, the counting and weight estimation of individual animals may be performed cumulatively during a time period (e.g., half a day, a day, etc.) set by the user. Therefore, when counting and weight estimation of a group of individual animals, the movement of the animals may be temporarily interrupted, causing the identification of the animals to be interrupted. However, once an individual animal is identified again, the counting and weight estimation operations are automatically performed, allowing the counting and weight estimation of all individual animals to be performed.
[0043] Next, the size of the animal may be calculated using the scale calculated above (S430). In this case, the size of the animal may represent the width, the height, or the length of a specific part. Here, the height of the animal may refer to the length of the animal's back region or the entire length including the head and back. Then, the number of pixels representing the length of the specific part of the animal in the distortion-corrected image may be counted, and the scale may be applied to this to calculate the actual length of the specific part.
[0044] The size of the individual animal may also refer to the area of a specific part of the individual animal. The area of the specific part can be calculated by counting the number of pixels representing the area of the specific part of the individual animal in the distortion-corrected image and applying a scale thereto.
[0045] FIG. 6 is a diagram for explaining the size of an individual animal according to one embodiment of the present invention.
[0046] The individual animal condition information providing device 100 may recognize a plurality of preset key points from the back image of the individual animal recognized from the video data, and may calculate at least one or more back lengths by connecting the plurality of key points. In this case, the key points may include at least one of the ends of the shoulders and the ends of the pelvis based on the neck, tail, and forelimbs of the individual animal.
[0047] For example, as shown in Fig. 6, seven preset points marked on the back (body) of a pig may be recognized. In addition, the animal individual status information providing device 100 may selectively additionally recognize and use the length and direction of the pig's head. Then, the recognized key points may be linked to calculate lengths L1 to L7 of various parts.
[0048] Next, the weight of the individual animal is estimated based on the size of the individual animal (S440).
[0049] The animal individual status information providing device 100 may estimate the weight of each individual animal by inputting the size information of the individual animal calculated above into a lookup table that represents the correlation between the size and weight of the individual animal.
[0050] FIG. 7 is a diagram illustrating a weight estimation process according to an embodiment of the present invention.
[0051] By calculating the horizontal or vertical length of a specific part of an animal, the corresponding weight can be output in the lookup table shown in Fig. 7. For example, by using a lookup table showing the correlation between the chest circumference and weight of an animal, as shown in Fig. 7, it becomes possible to estimate the weight of the animal using the chest circumference information of the animal calculated in step S430.
[0052] A plurality of such lookup tables may be provided for different types of animals, and the weight of an individual animal can be estimated by inputting the size information of the individual animal into the lookup table corresponding to the type of animal determined when the individual animal is identified.
[0053] In addition, one or more pieces of information about the size of an animal may be set in the lookup table. That is, the lookup table may be provided in a form in which the width, length, and weight of an animal are matched.
[0054] Next, the number of animals counted in the above steps and the status information of the individual animals, including the estimated weight of the individual animals, are provided (S450).
[0055] In this way, the individual animal status information may be output directly by each individual animal status information providing device 100 through the display 150, or may be output via the information providing server 200 and the user terminal 300.
[0056] In this case, the status information of the individual animals may include statistical values of the estimated weights of the counted individual animals. For example, the average or standard deviation of the estimated weights may be output.
[0057] FIG. 8 illustrates an example of a user interface output in an animal individual status information providing device according to an embodiment of the present invention.
[0058] As shown in (a), the total count of individual animals, the estimated weight of each individual animal, and the average weight of the animals identified to date may also be displayed.
[0059] Also, as shown in (b), a grade may be displayed as a result of comparing a preset reference weight or a reference weight set by the user with the estimated weight. For example, a conformance grade, an under-grade grade, or an excess grade, which are classified according to the difference between the reference weight and the estimated weight, may be output for each individual animal. For example, a conformance grade may be set when the difference between the reference weight and the estimated weight is within 5%, an under-grade grade may be set when the estimated weight is less than 95% of the reference weight, and an excess grade may be set when the estimated weight is more than 105% of the reference weight, but these may be changed by the user.
[0060] The indication of the conformance grade, under-grade grade, and over-grade grade may be displayed more intuitively by using different colored indicators (green, red, blue) on one side of the weight value, as shown in (b).
[0061] In this way, the status information of individual animals collected by each individual animal status information providing device 100 may be collected in the information providing server 200 and displayed through an app / website running on the user terminal 300 in response to a request from the user terminal 300.
[0062] FIG. 9 shows a detailed configuration of the information providing server 200 according to an embodiment of the present invention.
[0063] The information providing server 200 includes a memory 210 , a processor 220 , a communication module 230 , and a database 240 .
[0064] The memory 210 stores an individual animal status information providing program. The individual animal status information providing program collects individual animal status information from each individual animal status information providing device 100 and provides various individual animal status information through a web- or app-based user interface executed on the user terminal 300 in response to a request from the user terminal 300. The individual animal status information includes the number of individual animals and estimated weights of the individual animals collected by the individual animal status information providing device 100 over a predetermined period. The number of individual animals is collected by the individual animal status information providing device 100 by identifying and counting individual animals in the camera's image capture area, and the estimated weights are collected by the individual animal status information providing device 100 by calculating the size of the individual animals using a scale set through camera calibration and estimating the weight of the individual animals based on the size. The memory 210 also performs a function of temporarily or permanently storing data processed by the processor 220. Here, the memory 210 may include a volatile storage medium or a non-volatile storage medium, although the scope of the present invention is not limited thereto.
[0065] The processor 220 executes the animal individual status information provision program stored in the memory 210. The processor 220 may refer to a data processing device built into hardware having a circuit physically structured to execute functions expressed by codes or instructions contained in the program. Examples of such data processing devices built into hardware include a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), etc., but the scope of the present invention is not limited thereto.
[0066] The communication module 230 transmits various data between the information providing server 200 and external devices, such as the animal individual status information providing device 100 and the user terminal 300. In particular, the communication module 230 continuously collects animal individual status information from the animal individual status information providing device 100. In addition, the communication module 230 provides the collected animal individual status information to the user terminal 300 in response to an information provision request from the user terminal 300. Here, the communication module 230 may be a device including hardware and software necessary for transmitting and receiving signals, such as control signals or data signals, with other network devices via wired or wireless connections.
[0067] The database 240 manages profile information of each user account, profile information of the individual animal status information providing device registered by each user account, and individual animal status information collected through each individual animal status information providing device. As the profile information of the individual animal status information providing device, various information may be collected and managed, such as identification information of the device 100, information of the user who registered the device 100, information of the camera connected to the device 100, and information related to maintenance of the device 100. As the individual animal status information collected through each device 100, various information may be collected and managed, such as the collection date, number of individuals, detailed information of estimated weight, and user log information, along with device identification information. The database 240 may be included as a component separate from the memory 210, or may be constructed in a partial area of the memory 210.
[0068] FIG. 10 is a diagram illustrating an example of animal individual status information displayed through a user terminal according to an embodiment of the present invention.
[0069] The information providing server 200 may provide information collected from one or more individual animal status information providing devices 100 registered for each user account to the user through the user terminal. As shown in (a), the user terminal provides information about multiple farms and allows the user to select one of them or register a new farm. In this case, one or more individual animal status information providing devices 100 may be registered at each farm, and by selecting a specific farm, the user can check the individual animal status information collected by the individual animal status information providing device 100 installed at that farm.
[0070] When a specific farm is selected in the interface shown in (a), the information providing server 200 allows the user to check the operating status of the animal individual status information providing device 100 installed in the farm through the interface shown in (b). The first interface block 1010 may sequentially display information about multiple cameras installed in the farm, allowing the user to select any one of them. For example, the first interface block 1010 may display information about multiple cameras by rotating information about each camera horizontally or vertically. When a user selects a specific camera through the first interface block 1010, the video captured by the selected camera is displayed through the second interface block 1012, and information about the operating status of the camera is displayed through the third interface block 1014. For example, the third interface block 1014 displays information about whether the camera is operating or standby. The fourth interface block 1016 displays setting information for the selected camera. Information such as the name assigned to the camera, the movement direction of individual animals in the shooting area, and operating time may also be displayed.
[0071] As shown in (c), the information providing server 200 provides a report management interface that is displayed on the user terminal 300. The information providing server 200 may display information such as the work date, the number of animals (which is the main point of the report), and average weight through a fifth interface block 1020. Furthermore, through a sixth interface block 1022, the user may set filtering conditions to display only desired reports from among multiple reports. For example, conditions such as chronological sorting, importance, and camera type may be set. Furthermore, conditions related to the type of photographic area or the direction of animal movement may include breeding (a one-way passage through which animals enter from the outside), shipping (a one-way passage through which animals leave from the outside), dual breeding / shipping (a two-way passage through which animals can enter and exit from the outside), internal movement (movement between livestock rooms within the farm), and simple measurement (other movements).
[0072] In addition, the seventh interface block 1024 allows the user to easily check the weekly or monthly work status. The seventh interface block 1024 is a calendar-based interface, and may change between weekly and monthly interfaces through a user swipe, and may display the number of work items for each date. In this case, the number of work items means the number of animal counting and weight estimation tasks performed through the animal individual status information providing device 100, and a report 1026 may be generated for each task. In addition, when a specific date is selected through the seventh interface block 1024, a report for each task registered on that date may be displayed in the eighth interface block 1026 below.
[0073] An eighth interface block 1026 displays a report for each job in the form of a list adjacent to the seventh interface block 1024. The report for each job may be generated in a time unit determined by the user, such as an hourly or weekly unit, or may be generated based on the time unit from the start of identification of individual animals to the end of identification. The report for each job includes information on video data captured during the job, the number of animals counted during the job, and estimated weights. The report for each job may be deleted 1028 by the user's selection. Furthermore, for jobs in which the number of animals counted exceeds a threshold, a highlight 1032 indicating a severity level may be displayed.
[0074] FIG. 11 shows an interface for providing various statistical information displayed on a user terminal through an information providing server according to an embodiment of the present invention.
[0075] The user may set a desired population by dividing it into farm units, camera units, time units, task units, etc., and the information providing server 200 or the user terminal 300 may display statistical information on tasks for the population selected by the user. For example, statistics on the number of individuals and average weight for measurement tasks performed during a specific period in a specific farm selected by the user may be output through the first interface block 1110.
[0076] Furthermore, the underachieved and overachieved reference weights may be output through the second interface block 1120 based on a statistically calculated average weight value. In this case, the underachieved and overachieved reference weights may be set in consideration of a normal distribution based on the average weight value. The third interface block 1130 may display the number and distribution of animal individuals that fall into the underachieved, appropriate, and overachieved grades. The fourth interface block 1140 may display the number and distribution of animal individuals that fall into the underachieved, appropriate, and overachieved grades using a normal distribution curve.
[0077] Such reports and statistical information for each task may be generated by the information providing server 200 or the user terminal 300 through calculation operations based on the information collected through each animal individual condition information providing device 100.
[0078] FIG. 12 illustrates a method in which an information providing server according to an embodiment of the present invention provides animal individual status information to a user terminal.
[0079] First, the information providing server 200 collects individual animal status information from at least one individual animal status information providing device 100 (S1210). The individual animal status information includes the number of individual animals and estimated weights of the individual animals collected by each individual animal status information providing device 100 for a predetermined period of time. In particular, the number of individual animals is collected by the individual animal status information providing device 100 through an operation of identifying and counting individual animals in the camera's shooting area. In addition, the estimated weights are collected by the individual animal status information providing device 100 through an operation of calculating the size of the individual animals using a scale set through camera calibration and estimating the weights of the individual animals based on the size of the individual animals.
[0080] Next, the information providing server 200 provides the animal individual status information through the user interface of the external user terminal in response to a request from the user terminal (S1220). The animal individual status information may be provided in various forms through the user interface described above with reference to Figures 10 and 11.
[0081] An embodiment of the present invention may be embodied in the form of a recording medium containing computer-executable instructions, such as program modules, that are executed by a computer. A computer-readable medium may be any available medium that can be accessed by a computer, including both volatile and nonvolatile media, and both detachable and non-detachable media. A computer-readable medium may also include a computer storage medium. A computer storage medium includes both volatile and nonvolatile, detachable and non-detachable media embodied in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data.
[0082] Although the methods and systems of the present invention have been described in connection with particular embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.
[0083] The above description of the present invention is for illustrative purposes only, and those skilled in the art will understand that the present invention can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. Therefore, it should be understood that the above-described embodiments are illustrative in all respects and not limiting. For example, each component described as a single component may be implemented in a distributed form, and similarly, each component described as a distributed component may be implemented in a combined form.
[0084] The scope of the present invention is indicated by the claims that follow rather than by the above detailed description, and all modifications and variations that fall within the meaning and scope of the claims and their equivalents should be construed as being included within the scope of the present invention.
Claims
1. In the video-based animal individual status information providing device, a memory storing an animal individual status information generation program; a processor that executes the animal individual status information generation program, The program, when executed by the processor, Calibration is performed on the camera, which has been initialized to set a region of the linear path through which the individual animal passes as its photographing region; setting a scale for an actual length per pixel using image data received from the camera; identifying the individual animals in the imaging area for the calibrated video data and counting the individual animals; Recognizing a plurality of predetermined key points from the rear image of the identified animal individual in the photographing area, calculating the length of the animal individual using the length obtained by connecting the plurality of key points and the scale, and calculating the size of the animal individual in the photographing area; estimating the weight of the individual animal by inputting the calculated size information of the individual animal into a lookup table that represents the correlation between the size and weight of the individual animal; An animal individual status information providing device that outputs the counted number of animals and status information of the animals including estimated weights of the animals.
2. The camera; a communication module for receiving video data from the camera; The animal individual status information providing device according to claim 1 , wherein the communication module transmits the counted number of animals and the estimated weight of the animals to a user terminal or an external computing device.
3. The program correcting distortion of the image based on an image of a checkerboard placed in one area of the linear passage, and setting the scale; 2. The animal individual status information providing device of claim 1, wherein the scale of the actual length relative to the pixel is calculated by comparing the length of the unit line segment of the checkerboard with the number of pixels representing the unit line segment of the checkerboard in the image data in which image distortion has been corrected.
4. The program An animal individual status information providing device as described in claim 1, which, when it recognizes that the animal individual has entered the shooting area, identifies the animal individual based on characteristic information of each animal individual extracted from the video data or changes in pixel color within the video data, and counts the identified animal individuals.
5. The program The animal individual status information providing device of claim 1, which automatically performs the counting and weight estimation operations of the animal individual from the time the animal individual is identified in the photography area to the time the animal individual is no longer identified in the photography area.
6. The program storing characteristic information for each type of animal, and comparing the stored characteristic information for each type of animal with the characteristic information of each individual animal identified from the video data to determine the animal type of the identified individual animal; The animal individual status information providing device of claim 1, wherein the lookup table is provided in plurality according to the type of animal, and the weight of the animal individual is estimated by inputting the calculated size information of the animal individual into the lookup table corresponding to the determined type of animal.
7. The program The animal individual status information providing device according to claim 1 , further outputting an average of the estimated weights of the counted individual animals as the status information of the individual animals.
8. The program 2. The animal individual status information providing device of claim 1, further outputting, as the status information of the animal individual, a conformity grade, an under grade, or an excess grade classified according to the difference between the reference weight and the weight estimated value as a result of comparing the weight estimated value with a predetermined reference weight or a reference weight set by a user, for each animal individual.
9. further comprising a display; 9. The animal individual status information providing device according to claim 1, 7 or 8, wherein the program outputs the status information of the animal individual through the display.
10. 1. A method for generating individual animal status information for a video-based individual animal status information providing device, calibrating a camera whose photographing area is set to a region of a linear path through which an individual animal passes; setting a scale for an actual length per pixel using image data received from the camera; identifying the individual animals in the image capture area for the calibrated video data and counting the individual animals; a step of recognizing a plurality of predetermined key points from a rear image of the identified animal individual in the photographing area, calculating the length of the animal individual using the length obtained by connecting the plurality of key points and the scale, and calculating the size of the animal individual in the photographing area; estimating the weight of the individual animal by inputting the calculated size information of the individual animal into a lookup table that represents the correlation between the size and weight of the individual animal; and outputting the counted number of animals and status information of the animals including an estimated weight of the animals.
11. The step of setting the scale includes: correcting distortion of the image based on an image of a checkerboard placed in one area of the linear passage, and setting the scale; The method for generating animal individual status information according to claim 10, further comprising: comparing the length of the checkerboard unit line segment with the number of pixels representing the checkerboard unit line segment in the image data in which image distortion has been corrected, and calculating a scale for the actual length relative to the pixel.
12. The step of identifying the individual animals and counting the individual animals includes: The animal individual status information generating method of claim 10, wherein when it is recognized that the animal individual has entered the shooting area, the animal individual is identified based on characteristic information of each animal individual extracted from the video data or a change in pixel color within the video data, and the identified animal individuals are counted.
13. The animal individual status information generation method includes: The animal individual status information generation method described in claim 10, wherein the counting and weight estimation operations of the animal individual are automatically performed from the time the animal individual is identified in the photography area to the time the animal individual is no longer identified in the photography area.
14. The step of estimating the weight of the individual animal includes: storing characteristic information for each type of animal, and comparing the stored characteristic information for each type of animal with the characteristic information of each individual animal identified from the video data to determine the animal type of the identified individual animal; The animal individual status information generation method described in claim 10, wherein a plurality of lookup tables are provided for each type of animal, and the weight of the animal individual is estimated by inputting the calculated size information of the animal individual into the lookup table corresponding to the determined type of animal.
15. The step of outputting the state information of the individual animal includes: The animal individual status information generating method according to claim 10 , further comprising outputting an average of the estimated weights of the counted animal individuals as the status information of the animal individuals.
16. The step of outputting the state information of the individual animal includes: The animal individual status information generating method of claim 10, further outputting, as the status information of the animal individual, a conformity grade, an under grade, or an excess grade classified according to the difference between the reference weight and the weight estimated value as a result of comparing the weight estimated value with a predetermined reference weight or a reference weight set by a user, for each animal individual.
Citation Information
Patent Citations
Livestock management system and method of operating thereof
KR1020220076558A
Apparatus and method for calculating size and weight of livestock
KR1020230039473A
Method and system for identification and capturing harmful animals through ai-based monitoring camera
KR102276549B1
System and method of generating bounding polygons
US20220198209A1
Livestock house monitoring method and livestock house monitoring system
WO2020158307A1