Information processing system, program, and information processing method
The information processing system addresses the inefficiency of manual cow weight management by using authentication and weight estimation techniques to automate the identification and weight calculation of individual cows, enhancing both efficiency and accuracy.
Patent Information
- Application Number
- PCT/JP2024/035225
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-20
- Filing Date
- 2024-10-02
- Publication Date
- 2025-05-30
AI Technical Summary
Managing the weight of cows is a high-load task due to the need for precise measurement of physical characteristics using devices, which is inefficient and labor-intensive.
An information processing system that uses face authentication, silhouette authentication, and tag recognition processing to identify individual cows, combined with edge detection, 3D image generation, and weight estimation based on body dimensions and feeding status, to automate the weight estimation process.
The system reduces the load of cow weight management by accurately identifying individual cows and estimating their weight through automated processing, improving efficiency and accuracy.
Smart Images

Figure JP2024035225_30052025_PF_FP_ABST
Abstract
Description
Information processing system, program, and information processing method
[0001] The present invention relates to an information processing system, a program, and an information processing method.
[0002] Patent Document 1 describes a technology for measuring the physical characteristics of a cow using a measuring device and estimating the weight of the cow. [Prior art documents] [Patent documents] [Patent document 1] JP 2021-016376 A General disclosure
[0003] According to one embodiment of the present invention, there is provided an information processing system, which may include an individual identification unit that identifies the individual cow to be authenticated by at least one of a face recognition process for a captured image including the face of the cow to be authenticated, a silhouette recognition process for a captured image including the whole body of the cow to be authenticated, and a tag recognition process that detects the tag by analyzing a captured image including a part of the cow to be authenticated where the tag is attached and recognizes tag information written on the tag.
[0004] In the information processing system, the individual identification unit may identify the individual cattle to be authenticated by two or more of the face recognition processing, the silhouette recognition processing, and the tag recognition processing. The information processing system may include a face recognition execution unit that executes the face recognition processing. The information processing system may include a silhouette recognition execution unit that executes the silhouette recognition processing. The information processing system may include a tag recognition execution unit that executes the tag recognition processing. The individual identification unit may identify the individual cattle to be authenticated based on a face recognition output that is output from the face recognition execution unit, a silhouette recognition output that is output from the silhouette recognition execution unit, and a tag recognition output that is output from the tag recognition execution unit. The individual identification unit may identify the individual cattle by applying a preset weight to each of the face recognition output that is output from the face recognition execution unit, the silhouette recognition output that is output from the silhouette recognition execution unit, and the tag recognition output that is output from the tag recognition execution unit, and selecting the one with the highest added value.
[0005] The information processing system may include a memory unit that stores a cattle identification neural network that receives as input the output from the face recognition execution unit, the output from the silhouette recognition execution unit, and the output from the tag recognition execution unit and outputs an authentication result, the network being generated by machine learning using learning data including the output from the face recognition execution unit, the output from the silhouette recognition execution unit, the output from the tag recognition execution unit, and correct answer data, and the individual identification unit may identify the individual cattle to be authenticated by inputting the face recognition output, the silhouette recognition output, and the tag recognition output for the cattle to be authenticated into the cattle identification neural network. The face recognition execution unit may output the face recognition output including multiple candidates for the face recognition result of the cow to be authenticated and the likelihood of each of the multiple candidates, the silhouette recognition execution unit may output the silhouette recognition output including multiple candidates for the silhouette recognition result of the cow to be authenticated and the likelihood of each of the multiple candidates, and the tag recognition execution unit may output the tag recognition output including multiple candidates for the tag recognition result of the cow to be authenticated and the likelihood of each of the multiple candidates. The face recognition execution unit may input a captured image including the face of the cow, perform the face recognition process using a face recognition neural network that outputs the face recognition result of the cow, and output data input to an output layer of the face recognition neural network as the face recognition output. The face recognition execution unit may perform the underpopulation recognition process using the face recognition neural network obtained by transfer learning a face recognition neural network intended for humans for use in cows. The silhouette recognition execution unit may execute the silhouette recognition process using a silhouette recognition neural network that receives as input a silhouette of the entire body of a cow and outputs a silhouette recognition result of the cow, and output data input to an output layer of the silhouette recognition neural network as the silhouette recognition output. The silhouette recognition execution unit may execute the silhouette recognition process using the silhouette recognition neural network for cows, which has been obtained by transfer learning a silhouette recognition neural network for objects other than cows for use in cows.The silhouette recognition execution unit may execute the silhouette recognition process using a silhouette recognition neural network for cattle, which is a result of transfer learning of a silhouette recognition neural network for humans for cattle.
[0006] Any of the information processing systems includes an edge detection unit that detects edges of a weight-estimation-target cow in a moving image or a plurality of still images captured of the cow, which is a cow whose weight is to be estimated; a 3D image generation unit that generates a 3D image of the weight-estimation-target cow from the moving image or the plurality of still images using the edges of the cow detected by the edge detection unit; a size estimation unit that estimates the body dimensions of the weight-estimation-target cow based on the 3D image of the weight-estimation-target cow; and a weight estimation unit that estimates the body dimensions of the weight-estimation-target cow based on the body dimensions estimated by the size estimation unit. and a weight recording unit that correlates and records the weight estimated by the weight estimation unit and the individual identification result of the weight-estimation-target cow identified by the individual identification unit based on the face recognition output output by the face recognition execution unit executing the face recognition processing on an image of the weight-estimation-target cow, the silhouette recognition output output by the silhouette recognition execution unit executing the silhouette recognition processing on the image of the weight-estimation-target cow, and the tag recognition output output by the tag recognition execution unit executing the tag recognition processing on the image of the weight-estimation-target cow. The edge detection unit may detect edges of the cow in the multiple still images generated by multiple imaging units arranged at different positions capturing images of the weight-estimation-target cow, and the 3D image generation unit may generate the 3D image of the weight-estimation-target cow using the positional relationship of the multiple imaging units and the multiple still images. The weight estimation unit may estimate the weight of the weight estimation subject cow by inputting the body dimensions of the weight estimation subject cow estimated by the dimension estimation unit and the feeding status information of the weight estimation subject cow into a weight estimation neural network that receives as input the body dimensions of the cow and the feeding status information of the weight estimation subject cow, the network being generated by machine learning using learning data including the body dimensions of the cow, feeding status information indicating the feed intake status of the cow, and the weight of the cow. The feeding status information may include at least any of the amount of feed eaten, the feeding time, the feeding frequency, and the amount of leftover feed that indicates the amount of feed given that was not eaten.The edge detection unit may detect edges of the weight estimation target cow in the plurality of still images using a cow edge detection neural network that receives an image of the cow as input and outputs the edges of the cow in the image. The learning execution unit may generate a training data set by generating variations of the 3DCG of the cow by using a generative adversarial network for the prepared 3DCG of the cow, and perform machine learning using the generated training set to generate the cow edge detection neural network.
[0007] According to one embodiment of the present invention, an information processing system is provided. The information processing system may include an edge detection unit that detects edges of a weight-estimation-target cow in a moving image or a plurality of still images captured of the cow, which is a cow whose weight is to be estimated. The information processing system may include a 3D image generation unit that generates a 3D image of the weight-estimation-target cow from the moving image or the plurality of still images using the edges of the cow detected by the edge detection unit. The information processing system may include a dimension estimation unit that estimates the body dimensions of the weight-estimation-target cow based on the 3D image of the weight-estimation-target cow. The information processing system may include a weight estimation unit that estimates the weight of the weight-estimation-target cow based on the body dimensions of the weight-estimation-target cow estimated by the dimension estimation unit.
[0008] According to one embodiment of the present invention, there is provided a program for causing a computer to function as the information processing system.
[0009] According to one embodiment of the present invention, there is provided an information processing method executed by a computer. The information processing method may include an execution step of executing at least one of a face recognition process on a captured image including the face of a cow to be authenticated, a silhouette recognition process on a captured image including the whole body of the cow to be authenticated, and a tag recognition process of detecting the tag by analyzing a captured image including a portion of the cow to be authenticated where the tag is attached and recognizing tag information written on the tag. The information processing method may include an individual identification step of identifying the individual cow to be authenticated based on at least one of a face recognition output that is an output of the face recognition process, a silhouette recognition output that is an output of the silhouette recognition process, and a tag recognition output that is an output of the tag recognition process.
[0010] According to one embodiment of the present invention, there is provided an information processing method executed by a computer. The information processing method may include an edge detection step of detecting edges of a weight-estimation-target cow in a moving image or a plurality of still images captured of the cow, which is a cow whose weight is to be estimated. The information processing method may include a 3D image generation step of generating a 3D image of the weight-estimation-target cow from the moving image or the plurality of still images using the edges of the cow detected in the edge detection step. The information processing method may include a dimension estimation step of estimating body dimensions of the weight-estimation-target cow based on the 3D image of the weight-estimation-target cow. The information processing method may include a weight estimation step of estimating the weight of the weight-estimation-target cow based on the body dimensions of the weight-estimation-target cow estimated in the dimension estimation step.
[0011] The above summary of the invention does not list all of the necessary features of the present invention, and subcombinations of these features may also constitute inventions.
[0012] FIG. 1 is a schematic diagram illustrating an example of an information processing system 100. FIG. 2 is an explanatory diagram illustrating individual identification of a cow 40 by an authentication device 104. FIG. 3 is an explanatory diagram illustrating processing details by the information processing system 100. FIG. 4 is an explanatory diagram illustrating processing details by the information processing system 100. FIG. 5 is a schematic diagram illustrating an example of the functional configuration of the information processing system 100. FIG. 6 is a schematic diagram illustrating an example of the hardware configuration of a computer 1200 that functions as the information processing system 100, the learning device 102, the authentication device 104, or the estimation device 106.
[0013] The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the scope of the invention as claimed. Furthermore, not all of the combinations of features described in the embodiments are necessarily essential to the solution of the invention.
[0014] Measuring the physical characteristics of each cow using a measuring device in order to manage their weight is a very burdensome task. In the information processing system 100 according to this embodiment, for example, the weight of each cow is estimated while automatically identifying the individual cow from a captured image of the cow. This reduces the burden of managing the weight of the cows.
[0015] 1 schematically illustrates an example of an information processing system 100. The information processing system 100 may be configured with a learning device 102, an authentication device 104, and an estimation device 106. Note that the information processing system 100 configured with the learning device 102, the authentication device 104, and the estimation device 106 is merely an example, and is not limited to this.
[0016] The information processing system 100 may be configured by three devices as illustrated in Fig. 1, or may be configured by one or two devices. The information processing system 100 may also be configured by four or more devices.
[0017] The information processing system 100 may include only the learning device 102 out of the learning device 102, authentication device 104, and estimation device 106, and the authentication device 104 and the estimation device 106 may be devices external to the information processing system 100. The information processing system 100 may include only the authentication device 104 out of the learning device 102, authentication device 104, and estimation device 106, and the learning device 102 and the estimation device 106 may be devices external to the information processing system 100. The information processing system 100 may include only the estimation device 106 out of the learning device 102, authentication device 104, and estimation device 106, and the learning device 102 and the authentication device 104 may be devices external to the information processing system 100.
[0018] The information processing system 100 may include only the learning device 102 and the authentication device 104 out of the learning device 102, the authentication device 104, and the estimation device 106, and the estimation device 106 may be an external device to the information processing system 100. The information processing system 100 may include only the learning device 102 and the estimation device 106 out of the learning device 102, the authentication device 104, and the estimation device 106, and the authentication device 104 may be an external device to the information processing system 100. The information processing system 100 may include only the authentication device 104 and the estimation device 106 out of the learning device 102, the authentication device 104, and the estimation device 106, and the learning device 102 may be an external device to the information processing system 100.
[0019] The information processing system 100 may communicate with the camera 30 via a network 20. The network 20 may include the Internet. The network 20 may include a local area network (LAN). The network 20 may include a mobile communication network. The mobile communication network may conform to any of the following communication methods: the long term evolution (LTE) communication method, the fifth generation (5G) communication method, the third generation (3G) communication method, and the sixth generation (6G) communication method or later.
[0020] The information processing system 100 may be connected to the network 20 by wire. The information processing system 100 may be connected to the network 20 by wireless. The information processing system 100 may be connected to the network 20 via a wireless base station. The information processing system 100 may be connected to the network 20 via a Wi-Fi (registered trademark) access point.
[0021] The training device 102 may be connected to the network 20 by wire. The training device 102 may be connected to the network 20 by wireless. The training device 102 may be connected to the network 20 via a wireless base station. The training device 102 may be connected to the network 20 via a Wi-Fi access point.
[0022] The authentication device 104 may be connected to the network 20 by wire. The authentication device 104 may be connected to the network 20 by wireless. The authentication device 104 may be connected to the network 20 via a wireless base station. The authentication device 104 may be connected to the network 20 via a Wi-Fi access point.
[0023] The estimation device 106 may be connected to the network 20 by wire. The estimation device 106 may be connected to the network 20 by wireless. The estimation device 106 may be connected to the network 20 via a wireless base station. The estimation device 106 may be connected to the network 20 via a Wi-Fi access point.
[0024] The camera 30 is installed at any location where the cattle 40 are managed. The camera 30 is installed, for example, at a feedlot where the cattle 40 are fattened. The camera 30 may be connected to the network 20 by wire. The camera 30 may be connected to the network 20 wirelessly. The camera 30 may be connected to the network 20 via a wireless base station. The camera 30 may be connected to the network 20 via a Wi-Fi access point. The authentication device 104 and the camera 30 may be directly connected. The authentication device 104 may have the camera 30 built in. When the authentication device 104 has the camera 30 built in, the authentication device 104 may be installed at any location where the cattle 40 are managed.
[0025] The information processing system 100 performs authentication processing on the image of the cow 40 to be authenticated, captured by the camera 30, and identifies the individual cow 40 to be authenticated. The information processing system 100 identifies, for example, which of multiple cows 40 managed in a feedlot the cow 40 to be authenticated is. The individual identification of the cow 40 may be performed by the authentication device 104.
[0026] The information processing system 100 may identify individual weight-estimation target cattle, which are cattle 40 whose weight is to be estimated, estimate the weight of weight-designated target cattle using moving images or multiple still images of the weight-estimation target cattle, and record the estimated weight in association with the individual identification information of the weight-estimation target cattle. Estimation of the weight of weight-estimation target cattle may be performed by an estimation device 106.
[0027] FIG. 2 is an explanatory diagram for outlining the identification of individual cows 40 by the authentication device 104. In the example shown in FIG. 2, the authentication device 104 performs at least one of facial recognition processing, silhouette recognition processing, and tag recognition processing of the tag 42 attached to the cow 40 on a captured image of the cow 40 to identify the individual cow 40. The authentication device 104, for example, performs facial recognition processing on the captured image of the cow 40 and identifies the individual cow 40 based on the execution result. The authentication device 104, for example, performs silhouette recognition processing on the captured image of the cow 40 and identifies the individual cow 40 based on the execution result. The authentication device 104, for example, performs tag recognition processing of the tag 42 attached to the cow 40 and identifies the individual cow 40 based on the execution result. The authentication device 104, for example, performs facial recognition processing and silhouette recognition processing and identifies the individual cow 40 based on the execution results of both. The authentication device 104, for example, performs facial recognition processing and tag recognition processing and identifies the individual cow 40 based on the execution results of both. The authentication device 104, for example, executes a silhouette authentication process and a tag recognition process, and identifies the individual cow 40 based on the results of both processes. The authentication device 104, for example, executes a face authentication process, a silhouette authentication process, and a tag recognition process, and identifies the individual cow 40 based on the results of the three processes.
[0028] The authentication device 104 may execute face recognition processing using a cattle face recognition neural network that receives a captured image including the face of the cattle 40 as input and outputs a face recognition result for the cattle 40. The cattle face recognition neural network may be a face recognition neural network for humans that has been subjected to transfer learning for cattle. The cattle face recognition neural network may also be one that has been created for cattle.
[0029] The authentication device 104 may perform silhouette authentication processing using a silhouette recognition neural network for cattle, which receives a captured image including the entire body of the cattle 40 as input and outputs a silhouette authentication result for the cattle 40. The silhouette recognition neural network for cattle may be a silhouette recognition neural network for other animals that has been transferred and trained for cattle. For example, the silhouette recognition neural network for cattle may be a silhouette recognition neural network for humans that has been transferred and trained for cattle. The silhouette recognition neural network for cattle may also be one that has been created for cattle.
[0030] The authentication device 104 may detect the tag 42 by analyzing a captured image including the location where the tag 42 is attached on the cow 40, and may perform a tag recognition process to recognize tag information written on the tag 42. The tag 42 is attached to any location on the cow 40. For example, the tag 42 may be attached to the ear, etc. of the cow 40. The tag 42 carries identification information for identifying the cow 40. The identification information may include at least one of numbers and symbols. The identification information may include a barcode. The authentication device 104 may perform the tag 42 detection process using, for example, a tag detection neural network that receives as input a captured image including the location where the tag 42 is attached on the cow 40 and outputs the portion of the tag 42 in the captured image. The authentication device 104 may perform character recognition on the detected tag 42 to obtain tag information including character information written on the tag 42. The authentication device 104 may perform barcode recognition on the detected tag 42 to obtain tag information including barcode information written on the tag 42.
[0031] The authentication device 104 may identify the individual cow 40 based on the output of the face recognition process. The authentication device 104 may identify the individual cow 40 based on the output of the silhouette recognition process. The authentication device 104 may identify the individual cow 40 based on the output of the tag recognition process.
[0032] The authentication device 104 may identify individual cows 40 by integrating two or more of the output of the face recognition processing, the output of the silhouette recognition processing, and the tag recognition processing. For example, the authentication device 104 may identify individual cows 40 by integrating the output of the face recognition processing and the output of the silhouette recognition processing. For example, the authentication device 104 may identify individual cows 40 by integrating the output of the face recognition processing and the output of the tag recognition processing. For example, the authentication device 104 may identify individual cows 40 by integrating the output of the silhouette recognition processing and the output of the tag recognition processing. For example, the authentication device 104 may identify individual cows 40 by integrating the output of the face recognition processing, the output of the silhouette recognition processing, and the output of the tag recognition processing. Facial recognition of cows 40 may have lower accuracy than human facial recognition. Even with human facial recognition, it is difficult to achieve 100% accuracy, and it may be difficult to perfectly identify individual cows 40 by facial recognition of the cow 40 alone. It may also be difficult to achieve 100% accuracy with silhouette recognition of cows 40. Regarding the recognition of the tag 42, for example, if the tag 42 can be imaged from the front at an appropriate size, a relatively high degree of accuracy can be achieved, but there are cases where the distance between the camera and the tag 42 is great, the tag 42 is positioned at an angle to the camera, or the tag 42 is not included in the camera's imaging range, making it difficult to achieve 100% accuracy. In contrast, the authentication device 104 according to this embodiment can increase reliability and improve individual identification accuracy by using multiple outputs.
[0033] 3 is an explanatory diagram for explaining the estimation of the weight of the cow 40 by the estimation device 106. Here, the description will be given assuming that the state in which the individual cow 40 has been identified by the authentication device 104 is the starting state.
[0034] In step (sometimes abbreviated as S) 102, the estimation device 106 begins analyzing a plurality of captured images of the cow 40 taken from different directions. In S104, the estimation device 106 detects the edges of the cow 40 in each of the plurality of captured images.
[0035] In S106, the estimation device 106 generates a 3D image of the cow 40 from the multiple captured images using the edges of the cow 40 detected in S104. In S108, the estimation device 106 estimates the body dimensions of the cow 40 based on the 3D image of the cow 40 generated in S106. The estimation device 106 estimates the withers height, body length, waist circumference, etc. of the cow 40.
[0036] In S110, the estimation device 106 estimates the weight of the cow 40 based on the body dimensions of the cow 40 estimated in S108. The estimation device 106 estimates the weight of the cow 40, for example, by applying the body dimensions of the cow 40 estimated in S108 to a weight estimation formula derived from correspondence information data that associates body dimensions with weights for a large number of cows 40. The estimation device 106 estimates the weight of the cow 40, for example, by inputting the body dimensions of the cow 40 estimated in S108 into a weight estimation neural network that receives the body dimensions of the cow as input and outputs the weight of the cow, the neural network having been generated by machine learning using the correspondence data as learning data.
[0037] 4 is an explanatory diagram for explaining an example of generating a 3D image of a cow 40 by the estimation device 106. Here, an example will be explained in which the estimation device 106 acquires images of the cow 40 from a camera 30 (not shown) that images the cow 40 from above and four cameras 30 that image the cow 40 from all sides.
[0038] The estimation device 106 detects the entire body of the cow 40 by analyzing the image captured by the camera 30 that captures an image of the cow 40 from above. The estimation device 106 may identify a bounding box 44 that corresponds to the entire body of the cow 40. The estimation device 106 extracts the size of the identified bounding box 44 in the captured image in pixel units.
[0039] The estimation device 106 extracts the center of the body of the cow 40. For example, the estimation device 106 extracts the center of the bounding box 44 as the center of the body of the cow 40. The estimation device 106 extracts the angle of the cow 40 relative to the camera above by specifying the angle of the cow 40 based on the extracted center of the body of the cow 40.
[0040] The estimation device 106 calculates the distance between the pixel coordinates of each of the four cameras 30 capturing images of the cow 40 from all sides. The estimation device 106 also calculates the distance to the camera 30 above.
[0041] The estimator 106 converts the pixel values into actual sizes, for example, into m (meter) units or cm (centimeter) units.
[0042] The estimation device 106 performs a process of aligning the coordinates of the images captured by the four cameras 30 capturing images of the cow 40 from all sides, and generates a 3D image from the four 2D images.
[0043] 5 shows an example of the functional configuration of the information processing system 100. The information processing system 100 includes a storage unit 110, a registration unit 112, a network acquisition unit 114, a learning execution unit 116, an image acquisition unit 118, a face authentication execution unit 130, a silhouette authentication execution unit 132, a tag recognition execution unit 134, an individual identification unit 136, and an estimation unit 150. It is not essential that the information processing system 100 include all of these units.
[0044] The registration unit 112 registers various data and stores the registered data in the storage unit 110.
[0045] For example, the registration unit 112 registers data of a plurality of target cows 40. For example, the registration unit 112 registers data of a plurality of cows 40 input by a manager who manages the cows 40.
[0046] The data for the cow 40 includes the identification of the cow 40. The data for the cow 40 may include the sex of the cow 40. The data for the cow 40 may also include the body dimensions of the cow 40 and the weight of the cow 40, if known.
[0047] The data of the cow 40 may include feeding status information indicating the feed intake status of the cow 40. The feeding status information may include at least one of the feed intake amount, feeding time, feeding frequency, and remaining feed amount indicating the amount of feed not consumed from the given feed. The feed intake amount may include the amount of feed consumed in one meal, or may include the total feed intake for one day. The feeding time may be the time from when the cow starts eating to when the cow finishes eating the feed. The feeding frequency may indicate the number of times the cow eats during a mealtime, or may indicate the number of times the cow eats in one day.
[0048] The network acquisition unit 114 acquires a neural network. The network acquisition unit 114 stores the acquired neural network in the storage unit 110. The network acquisition unit 114 may externally receive a neural network generated by another external device.
[0049] For example, the network acquisition unit 114 acquires a face recognition neural network for cattle. For example, the network acquisition unit 114 acquires a silhouette recognition neural network for cattle. For example, the network acquisition unit 114 acquires a tag detection neural network.
[0050] The learning execution unit 116 executes machine learning to generate a neural network. The learning execution unit 116 stores the generated neural network in the storage unit 110.
[0051] For example, the learning execution unit 116 generates a face recognition neural network for cattle.
[0052] As a specific example, first, the registration unit 112 registers learning data including a large number of combinations of images including the faces of cows 40 and identification information of the cows 40. Then, the network acquisition unit 114 acquires a face recognition neural network for humans, and the learning execution unit 116 executes transfer learning using the learning data on the face recognition neural network for humans, thereby generating a face recognition neural network for cows.
[0053] As another specific example, first, the registration unit 112 registers learning data including a large number of combinations of images including the faces of the cows 40 and the identification information of the cows 40. Then, the learning execution unit 116 uses the learning data to generate a face recognition neural network for cows.
[0054] For example, the learning execution unit 116 generates a silhouette recognition neural network for cattle.
[0055] As a specific example, first, the registration unit 112 registers learning data including a large number of combinations of images including the whole body of the cow 40 and identification information of the cow 40. Then, the network acquisition unit 114 acquires a silhouette recognition neural network for objects other than cows, and the learning execution unit 116 executes transfer learning using the learning data on the silhouette recognition neural network for objects other than cows, thereby generating a silhouette recognition neural network for cows.
[0056] As another specific example, first, the registration unit 112 registers learning data including a large number of combinations of images including the entire body of the cow 40 and identification information of the cow 40. Then, the learning execution unit 116 uses the learning data to generate a silhouette recognition neural network for cows.
[0057] For example, the learning execution unit 116 generates a tag detection neural network. As a specific example, first, the registration unit 112 registers learning data including a large number of combinations of images including parts of the cow 40 where the tag 42 is attached and the identification information of the cow 40. Then, the learning execution unit 116 uses the learning data to generate a tag detection neural network.
[0058] The image acquisition unit 118 acquires an image of the cow 40 captured by the camera 30. The image acquisition unit 118 may receive the image from the camera 30. The image acquisition unit 118 may acquire an image of the cow 40 to be authenticated. The image acquisition unit 118 may acquire an image of the cow 40 to be weight estimated. The image acquisition unit 118 stores the acquired image in the memory unit 110.
[0059] The face recognition execution unit 130 executes face recognition processing on the captured image including the face of the cow 40, acquired by the image acquisition unit 118. For example, the face recognition execution unit 130 executes face recognition processing on the cow 40 by inputting the captured image acquired by the image acquisition unit 118 into a face recognition neural network for cows stored in the storage unit 110.
[0060] The silhouette authentication execution unit 132 executes silhouette authentication processing on the captured image including the entire body of the cow 40, acquired by the image acquisition unit 118. For example, the silhouette authentication execution unit 132 executes silhouette authentication processing of the cow 40 by inputting the captured image acquired by the image acquisition unit 118 into a silhouette recognition neural network for cows stored in the storage unit 110.
[0061] The tag recognition execution unit 134 detects the tag 42 by analyzing the captured image acquired by the image acquisition unit 118, including the location where the tag 42 is attached to the cow 40, and executes tag recognition processing to recognize tag information written on the tag 42. For example, the tag recognition execution unit 134 detects the tag 42 in the captured image by inputting the captured image acquired by the image acquisition unit 118 into a tag detection neural network stored in the storage unit 110. Then, the tag recognition execution unit 134 recognizes the tag information by performing character recognition or barcode recognition on the detected tag 42.
[0062] The individual identification unit 136 identifies the individual cow 40 to be authenticated by at least one of the following: a face recognition process for a captured image including the face of the cow 40 to be authenticated; a silhouette recognition process for a captured image including the entire body of the cow 40 to be authenticated; and a tag recognition process for detecting the tag 42 by analyzing a captured image including the part of the cow 40 to be authenticated where the tag 42 is attached, and recognizing the tag information written on the tag 42.
[0063] The individual identification unit 136 may identify the individual cow 40 to be authenticated based on the face recognition output that is output from the face recognition execution unit 130. The individual identification unit 136 may identify the individual cow 40 to be authenticated based on the silhouette recognition output that is output from the silhouette recognition execution unit 132. The individual identification unit 136 may identify the individual cow 40 to be authenticated based on the tag recognition output that is output from the tag recognition execution unit 134.
[0064] The individual identification unit 136 may identify the individual cattle 40 to be authenticated by two or more of face recognition processing, silhouette recognition processing, and tag recognition processing. The individual identification unit 136 may identify the individual cattle 40 to be authenticated based on the face recognition output that is output from the face recognition execution unit 130 and the silhouette recognition output that is output from the silhouette recognition execution unit 132. The individual identification unit 136 may identify the individual cattle 40 to be authenticated based on the face recognition output that is output from the face recognition execution unit 130 and the tag recognition output that is output from the tag recognition execution unit 134. The individual identification unit 136 may identify the individual cattle 40 to be authenticated based on the silhouette recognition output that is output from the silhouette recognition execution unit 132 and the tag recognition output that is output from the tag recognition execution unit 134. The individual identification unit 136 may identify the individual cow 40 based on the face recognition output that is output from the face recognition execution unit 130, the silhouette recognition output that is output from the silhouette recognition execution unit 132, and the tag recognition output that is output from the tag recognition execution unit 134. The individual identification unit 136 stores the identification result in the memory unit 110.
[0065] For example, the individual identification unit 136 uses a cattle identification neural network that receives as input the outputs from the face authentication execution unit 130, the silhouette authentication execution unit 132, and the tag recognition execution unit 134, and outputs the authentication result of the cattle 40, to identify individual cattle 40. The cattle identification neural network may be generated by the learning execution unit 116. For example, first, the registration unit 112 registers learning data including, for each of the multiple cattle 40, the face authentication output from the face authentication execution unit 130, the silhouette authentication output from the silhouette authentication execution unit 132, the tag recognition output from the tag recognition execution unit 134, and correct answer data. The correct answer data may be identification information of the cattle 40. The learning execution unit 116 generates a cattle identification neural network through machine learning using the learning data, and stores it in the storage unit 110. The individual identification unit 136 identifies the individual target cow 40 by inputting the face recognition output, silhouette recognition output, and tag recognition output for the target cow 40 into a cow identification neural network stored in the memory unit 110.
[0066] The individual identification unit 136 may identify individual cows 40 using a cattle identification neural network that receives the output from the face recognition execution unit 130 and the output from the silhouette recognition execution unit 132 as inputs and outputs the recognition result of the cattle 40. The cattle identification neural network may be generated by the learning execution unit 116. For example, first, the registration unit 112 registers learning data including the face recognition output from the face recognition execution unit 130, the silhouette recognition output from the silhouette recognition execution unit 132, and correct answer data for each of the multiple cattle 40. The correct answer data may be identification information of the cattle 40. The learning execution unit 116 generates a cattle identification neural network by machine learning using the learning data and stores it in the memory unit 110. The individual identification unit 136 inputs the face recognition output and silhouette recognition output for the target cattle 40 into the cattle identification neural network stored in the memory unit 110, thereby identifying the target cattle 40.
[0067] The individual identification unit 136 may identify individual cows 40 using a cow-identification neural network that receives the output from the face authentication execution unit 130 and the output from the tag recognition execution unit 134 as inputs and outputs the authentication result of the cow 40. The cow-identification neural network may be generated by the learning execution unit 116. For example, first, the registration unit 112 registers learning data including the face authentication output from the face authentication execution unit 130, the tag recognition output from the tag recognition execution unit 134, and correct answer data for each of the multiple cows 40. The correct answer data may be identification information of the cow 40. The learning execution unit 116 generates a cow-identification neural network by machine learning using the learning data and stores it in the memory unit 110. The individual identification unit 136 inputs the face authentication output and tag recognition output for the target cow 40 into the cow-identification neural network stored in the memory unit 110, thereby identifying the target cow 40.
[0068] For example, the individual identification unit 136 identifies individual cows 40 using a cattle-identification neural network that receives the output from the silhouette authentication execution unit 132 and the output from the tag recognition execution unit 134 as inputs and outputs the authentication result of the cattle 40. The cattle-identification neural network may be generated by the learning execution unit 116. For example, first, the registration unit 112 registers learning data including the silhouette authentication output from the silhouette authentication execution unit 132, the tag recognition output from the tag recognition execution unit 134, and correct answer data for each of the multiple cattle 40. The correct answer data may be identification information of the cattle 40. The learning execution unit 116 generates a cattle-identification neural network by machine learning using the learning data and stores it in the memory unit 110. The individual identification unit 136 inputs the silhouette authentication output and tag recognition output for the target cattle 40 into the cattle-identification neural network stored in the memory unit 110, thereby identifying the target cattle 40.
[0069] The face recognition execution unit 130 may output a face recognition output including multiple candidates for the face recognition result of the target cow 40 and the likelihood of each of the multiple candidates. The silhouette recognition execution unit 132 may output a silhouette recognition output including multiple candidates for the silhouette recognition result of the target cow 40 and the likelihood of each of the multiple candidates. The tag recognition execution unit 134 may output a tag recognition output including multiple candidates for the tag recognition result of the target cow 40 and the likelihood of each of the multiple candidates. The individual identification unit 136 may identify individual cows 40 by inputting multiple of these face recognition outputs, silhouette recognition outputs, and tag recognition outputs into corresponding cow identification neural networks. For example, the individual identification unit 136 identifies individual cows 40 by inputting the face authentication output, silhouette authentication output, and tag recognition output into a cow identification neural network that receives as input the output from the face authentication execution unit 130, the output from the silhouette authentication execution unit 132, and the output from the tag recognition execution unit 134, and outputs the authentication result of the cow 40. This makes it possible to perform individual identification of the cow 40 taking into consideration multiple methods of face authentication, silhouette authentication, and tag recognition, which can contribute to improving the accuracy of identification.
[0070] In addition, weights to be applied to each of the face recognition output, silhouette recognition output, and tag recognition output may be set in advance, and the face recognition execution unit 130 may apply the preset weights to each of the face recognition output by the face recognition execution unit 130, the silhouette recognition output by the silhouette recognition execution unit 132, and the tag recognition output by the tag recognition execution unit 134, and select the one with the highest added value, thereby identifying the individual cow 40.
[0071] The face recognition execution unit 130 may execute face recognition processing using a cattle face recognition neural network, and output data input to the output layer of the cattle face recognition neural network as face recognition output. The learning execution unit 116 may use such face recognition output to generate a cattle-identification neural network. By executing learning using data input to the output layer rather than data output from the output layer, it is possible to increase the amount of information taken into account in learning, which may contribute to improving the accuracy of individual identification by the cattle-identification neural network.
[0072] The silhouette recognition execution unit 132 may execute face recognition processing using a cattle silhouette recognition neural network, and output data input to the output layer of the cattle silhouette recognition neural network as silhouette recognition output. The learning execution unit 116 may use this silhouette recognition output to generate a cattle-identification neural network. By executing learning using data input to the output layer rather than data output from the output layer, it is possible to increase the amount of information taken into account in learning, which may contribute to improving the accuracy of individual identification by the cattle-identification neural network.
[0073] The estimation unit 150 estimates the weight of the cow 40. The estimation unit 150 may estimate the weight of the weight-estimation-target cow, which is the cow 40 whose weight is to be estimated, based on a plurality of still images captured from different directions of the weight-estimation-target cow. The estimation unit 150 may also estimate the weight of the weight-estimation-target cow based on moving images captured of the weight-estimation-target cow. The estimation unit 150 has an edge detection unit 152, a 3D image generation unit 154, a size estimation unit 156, a weight estimation unit 158, and a weight recording unit 160.
[0074] The edge detection unit 152 detects edges of the weight-estimation-target cow 40 in a plurality of still images of the weight-estimation-target cow 40, which is the cow 40 whose weight is to be estimated. The edge detection unit 152 may detect edges of the weight-estimation-target cow in a plurality of still images generated by a plurality of cameras 30 arranged at different positions capturing images of the weight-estimation-target cow. The edge detection unit 152 may detect edges of the weight-estimation-target cow in a plurality of still images using a cow edge detection neural network that receives images of the cow 40 as input and outputs edges of the cow 40 in the images.
[0075] The cattle edge detection neural network may be generated by the learning execution unit 116. The learning execution unit 116 may generate a training data set using CG (Computer Graphics). For example, the learning execution unit 116 first prepares a 3DCG of the cattle 40. The learning execution unit 116 generates 3DCG variations of the cattle 40 by using generative adversarial networks (GANs) for the prepared 3DCG of the cattle 40. The learning execution unit 116 generates a training data set by generating training data that associates the edges of the cattle 40 with images captured from various angles for each of the prepared 3DCG of the cattle 40 and the generated variations. The learning execution unit 116 generates a cattle edge detection neural network by performing machine learning using the generated training data set. This makes it possible to generate a cow edge detection neural network that can detect the edges of the cow 40 with high accuracy, even if only a small amount of 3DCG is available.
[0076] The 3D image generation unit 154 generates a 3D image of the weight estimation target cow from the multiple still images using the edges of the weight estimation target cow detected by the edge detection unit 152. The 3D image generation unit 154 aligns the coordinates of the multiple still images using the positional relationship of the cameras 30 that captured the multiple still images, and identifies the actual size of the weight estimation target cow in the captured images to generate a 3D image.
[0077] As a specific example, when the multiple still images include a still image of the weight estimation target cow captured from above and four still images of the weight estimation target cow captured from all four sides, the 3D image generation unit 154 detects the entire body of the weight estimation target cow in the still image captured from above and identifies a bounding box 44. The 3D image generation unit 154 extracts the size of the identified bounding box 44 in the captured image in pixel units. The 3D image generation unit 154 extracts the center of the body of the weight estimation target cow in the captured image. For example, the 3D image generation unit 154 extracts the center of the bounding box 44 as the body center of the weight estimation target cow. The 3D image generation unit 154 identifies the angle of the weight estimation target cow relative to the upper camera 30 by using the extracted body center of the weight estimation target cow as a reference. The 3D image generation unit 154 calculates the distance in pixel coordinates between each of the four cameras 30 capturing images of the weight estimation target cow from all sides. The 3D image generation unit 154 calculates the distance between the four cameras 30 and the camera 30 above. The 3D image generation unit 154 then converts the pixel values into actual size. The 3D image generation unit 154 aligns the coordinates of multiple still images and generates a 3D image from the five still images.
[0078] The dimension estimation unit 156 estimates the body dimensions of the weight estimation target cattle based on the 3D image of the weight estimation target cattle generated by the 3D image generation unit 154. The dimension estimation unit 156 may calculate the body dimensions of the weight estimation target cattle by analyzing the weight estimation target cattle in the 3D image. The dimension estimation unit 156 may calculate the withers height of the weight estimation target cattle. The dimension estimation unit 156 may calculate the body length of the weight estimation target cattle. The dimension estimation unit 156 may calculate the waist circumference of the weight estimation target cattle.
[0079] The weight estimation unit 158 estimates the weight of the weight estimation target cow based on the body dimensions of the weight estimation target cow estimated by the dimension estimation unit 156.
[0080] The weight estimation unit 158 estimates the weight of the weight-estimation-target cow by applying the body dimensions of the weight-estimation-target cow estimated by the dimension estimation unit 156 to a weight estimation formula derived from dimension and weight data that associates body dimensions with weights for a large number of cows 40. The weight estimation formula is generated in advance by the weight estimation unit 158, for example. As a specific example, first, the registration unit 112 registers the dimension and weight data. Then, the weight estimation unit 158 uses the dimension and weight data to identify the weight estimation formula.
[0081] The weight estimation unit 158 estimates the weight of the weight-estimation-target cow by inputting the body dimensions of the weight-estimation-target cow estimated by the dimension estimation unit 156 into a weight estimation neural network that takes the body dimensions of the cow as input and the weight of the cow as output, the weight estimation neural network being generated by machine learning, for example, using dimension and weight data that associates the body dimensions and weights of a large number of cows 40 as learning data. The weight estimation neural network is acquired, for example, by the network acquisition unit 114 and stored in the memory unit 110. The weight estimation neural network may be generated in advance by the learning execution unit 116 and stored in the memory unit 110. As a specific example, first, the registration unit 112 registers the dimension and weight data. Then, the learning execution unit 116 generates the weight estimation neural network by performing machine learning using the dimension and weight data.
[0082] The weight estimation unit 158 may estimate the weight of the weight estimation target cow by inputting the body dimensions of the weight estimation target cow and the feeding status information of the weight estimation target cow estimated by the dimension estimation unit 156 into a weight estimation neural network that receives as input the body dimensions of the cow 40 and the feeding status information of the cow 40 and outputs an estimated result of the weight of the cow 40, the weight estimation neural network being generated by machine learning using learning data including the body dimensions of the cow 40, the feeding status information of the cow 40, and the weight of the cow 40. The weight estimation neural network is, for example, acquired by the network acquisition unit 114 and stored in the memory unit 110. The weight estimation neural network may be generated in advance by the learning execution unit 116 and stored in the memory unit 110. As a specific example, the registration unit 112 first registers learning data including the body dimensions of the cow 40, the feeding status information of the cow 40, and the weight of the cow 40 described above. The learning execution unit 116 then performs machine learning using the training data to generate a weight estimation neural network. Even for cows 40 with the same dimensions, their weights may vary depending on the distribution of muscle, fat, etc. In response to this, the accuracy of weight estimation can be improved by further using feeding status information during learning and estimation.
[0083] The weight recording unit 160 records the weight of the weight-estimation subject cattle estimated by the weight estimation unit 158 in association with the individual identification result of the weight-estimation subject cattle identified by the individual identification unit 136. The weight recording unit 160 may record the weight of the weight-estimation subject cattle estimated by the weight estimation unit 158 in association with the identification information indicated by the individual identification result.
[0084] When the information processing system 100 is configured by a single device, the information processing system 100 may include a memory unit 110, a registration unit 112, a network acquisition unit 114, a learning execution unit 116, an image acquisition unit 118, a face authentication execution unit 130, a silhouette authentication execution unit 132, a tag recognition execution unit 134, an individual identification unit 136, and an estimation unit 150. When the information processing system 100 is configured by a learning device 102, an authentication device 104, and an estimation device 106, the learning device 102 may include the learning execution unit 116, and the authentication device 104 may include the image acquisition unit 118, the face authentication execution unit 130, the silhouette authentication execution unit 132, the tag recognition execution unit 134, and the individual identification unit 136. The estimation device 106 may include the image acquisition unit 118 and the estimation unit 150. The memory unit 110 may be shared by the learning device 102, the authentication device 104, and the estimation device 106. The learning device 102, the authentication device 104, and the estimation device 106 may each have the memory unit 110. When the information processing system 100 is configured by four or more devices, the memory unit 110, the registration unit 112, the network acquisition unit 114, the learning execution unit 116, the image acquisition unit 118, the face authentication execution unit 130, the silhouette authentication execution unit 132, the tag recognition execution unit 134, the individual identification unit 136, and the estimation unit 150 may be appropriately distributed among the four or more devices.
[0085] 6 schematically illustrates an example of the hardware configuration of a computer 1200 functioning as the information processing system 100, the learning device 102, the authentication device 104, or the estimation device 106. A program installed on the computer 1200 can cause the computer 1200 to function as one or more "parts" of an apparatus according to the present embodiment, or to perform operations associated with the apparatus or one or more "parts" thereof, and / or to perform a process or steps of the process according to the present embodiment. Such a program may be executed by the CPU 1212 to cause the computer 1200 to perform specific operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.
[0086] The computer 1200 according to this embodiment includes a CPU 1212, a RAM 1214, and a graphics controller 1216, which are interconnected by a host controller 1210. The computer 1200 also includes input / output units such as a communications interface 1222, a storage device 1224, a DVD drive, and an IC card drive, which are connected to the host controller 1210 via an input / output controller 1220. The DVD drive may be a DVD-ROM drive, a DVD-RAM drive, or the like. The storage device 1224 may be a hard disk drive, a solid-state drive, or the like. The computer 1200 also includes a ROM 1230 and a legacy input / output unit such as a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240.
[0087] The CPU 1212 operates according to programs stored in the ROM 1230 and the RAM 1214, thereby controlling each unit. The graphics controller 1216 acquires image data generated by the CPU 1212 into a frame buffer or the like provided in the RAM 1214 or into the graphics controller 1216 itself, and causes the image data to be displayed on the display device 1218.
[0088] The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212 in the computer 1200. The DVD drive reads programs or data from a DVD-ROM or the like and provides them to the storage device 1224. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.
[0089] The ROM 1230 stores therein a boot program or the like that is executed by the computer 1200 upon activation, and / or programs that depend on the hardware of the computer 1200. The input / output chip 1240 may also connect various input / output units to the input / output controller 1220 via a USB port, a parallel port, a serial port, a keyboard port, a mouse port, etc.
[0090] The programs are provided by a computer-readable storage medium such as a DVD-ROM or an IC card. The programs are read from the computer-readable storage medium, installed in the storage device 1224, RAM 1214, or ROM 1230, which are also examples of computer-readable storage media, and executed by the CPU 1212. Information processing described in these programs is read by the computer 1200, and brings about cooperation between the programs and the various types of hardware resources described above. An apparatus or a method may be configured by implementing operations or processing of information in accordance with the use of the computer 1200.
[0091] For example, when communication is performed between computer 1200 and an external device, CPU 1212 may execute a communication program loaded into RAM 1214 and instruct communication interface 1222 to perform communication processing based on the processing described in the communication program. Under the control of CPU 1212, communication interface 1222 reads transmission data stored in a transmission buffer area provided in RAM 1214, storage device 1224, a DVD-ROM, or a recording medium such as an IC card, and transmits the read transmission data to a network, or writes received data received from the network to a reception buffer area or the like provided on the recording medium.
[0092] Furthermore, the CPU 1212 may cause all or a necessary portion of a file or database stored in an external recording medium such as the storage device 1224, a DVD drive (DVD-ROM), an IC card, etc. to be read into the RAM 1214, and may perform various types of processing on the data on the RAM 1214. The CPU 1212 may then write back the processed data to the external recording medium.
[0093] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and may undergo information processing. The CPU 1212 may perform various types of processing on data read from the RAM 1214, including various types of operations, information processing, conditional judgment, conditional branching, unconditional branching, information search / replacement, etc., as described throughout this disclosure and specified by the instruction sequences of the programs, and write the results back to the RAM 1214. The CPU 1212 may also search for information in a file, database, etc. on the recording medium. For example, if multiple entries, each having an attribute value of a first attribute associated with an attribute value of a second attribute, are stored on the recording medium, the CPU 1212 may search for an entry whose attribute value of the first attribute matches a specified condition from among the multiple entries, read the attribute value of the second attribute stored in the entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies a predetermined condition.
[0094] The above-described programs or software modules may be stored in a computer-readable storage medium on or near the computer 1200. A recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can also be used as a computer-readable storage medium, thereby providing the programs to the computer 1200 via the network.
[0095] The blocks in the flowcharts and block diagrams in the present embodiments may represent stages of a process in which an operation is performed or "parts" of a device responsible for performing the operation. Particular stages and "parts" may be implemented by dedicated circuitry, programmable circuitry provided with computer-readable instructions stored on a computer-readable storage medium, and / or a processor provided with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuitry may include digital and / or analog hardware circuits, and may include integrated circuits (ICs) and / or discrete circuits. The programmable circuitry may include reconfigurable hardware circuits, such as field programmable gate arrays (FPGAs) and programmable logic arrays (PLAs), including AND, OR, XOR, NAND, NOR, and other logical operations, flip-flops, registers, and memory elements.
[0096] A computer-readable storage medium may include any tangible device capable of storing instructions that are executed by an appropriate device, such that a computer-readable storage medium having instructions stored thereon comprises an article of manufacture, including instructions that can be executed to create means for performing the operations specified in the flowcharts or block diagrams. Examples of computer-readable storage media may include electronic, magnetic, optical, electromagnetic, and semiconductor storage media. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memories (RAMs), read-only memories (ROMs), erasable programmable read-only memories (EPROMs or flash memories), electrically erasable programmable read-only memories (EEPROMs), static random access memories (SRAMs), compact disc read-only memories (CD-ROMs), digital versatile discs (DVDs), Blu-ray discs, memory sticks, integrated circuit cards, and the like.
[0097] The computer readable instructions may include either assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state-setting data, or source or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, JAVA®, C++, etc., and conventional procedural programming languages such as the “C” programming language or similar programming languages.
[0098] The computer-readable instructions may be provided to a general-purpose computer, a special-purpose computer, or another programmable data processing device processor or programmable circuit, either locally or via a local area network (LAN), a wide area network (WAN) such as the Internet, so that the processor or programmable circuit of the programmable data processing device, such as a computer, executes the computer-readable instructions to generate means for performing the operations specified in the flowcharts or block diagrams. Here, the computer may be a personal computer (PC), a tablet computer, a smartphone, a workstation, a server computer, a general-purpose computer, a special-purpose computer, or the like, or may be a computer system in which multiple computers are connected. Such a computer system in which multiple computers are connected is also called a distributed computing system, and is a broad definition of computer. In a distributed computing system, multiple computers collectively execute a program by each executing a portion of the program and passing data between the computers as needed during program execution.
[0099] Examples of processors include computer processors, central processing units, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc. A computer may have one processor or multiple processors. In a multiprocessor system with multiple processors, each processor executes a portion of a program and passes data between processors as needed during program execution, allowing the multiple processors to collectively execute the program. For example, in multitasking, each of the multiple processors may execute a portion of each task in small chunks by switching tasks at each time slice. In this case, which portion of a program each processor executes changes dynamically. Which portion of a program each of the multiple processors executes may also be statically determined by multiprocessor-aware programming.
[0100] Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications and improvements can be made to the above embodiments. It is clear from the claims that such modifications and improvements can also be included within the technical scope of the present invention.
[0101] It should be noted that the execution order of each process, such as operations, procedures, steps, and stages, in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not specifically stated as "before," "prior to," etc., and that the processes can be performed in any order unless the output of a previous process is used in a subsequent process. Even if the operational flow in the claims, specifications, and drawings is described using "first," "next," etc. for convenience, this does not mean that the processes must be performed in this order.
[0102] 20 Network, 30 Camera, 40 Cow, 42 Tag, 44 Bounding box, 100 Information processing system, 102 Learning device, 104 Authentication device, 106 Estimation device, 110 Memory unit, 112 Registration unit, 114 Network acquisition unit, 116 Learning execution unit, 118 Image acquisition unit, 130 Face recognition execution unit, 132 Silhouette recognition execution unit, 134 Tag recognition execution unit, 136 Individual identification unit, 150 Estimation unit, 152 Edge detection unit, 154 3D image generation unit, 156 Dimension estimation unit, 158 Weight estimation unit, 160 Weight recording unit, 1200 Computer, 1210 Host controller, 1212 CPU, 1214 RAM, 1216 Graphics controller, 1218 Display device, 1220 Input / output controller, 1222 Communication interface, 1224 Memory device, 1230 ROM, 1240 I / O chip
Claims
1. An information processing system comprising an individual identification unit that identifies the individual cow to be authenticated by at least one of the following: face recognition processing on a captured image including the face of the cow to be authenticated; silhouette recognition processing on a captured image including the entire body of the cow to be authenticated; and tag recognition processing that detects the tag by analyzing a captured image including the part of the cow to be authenticated where the tag is attached and recognizes the tag information written on the tag.
2. An information processing system as described in claim 1, wherein the individual identification unit identifies the individual cow to be authenticated by a combination of the face recognition process, the silhouette recognition process, and the tag recognition process.
3. An information processing system as described in claim 1 or 2, comprising: a face recognition execution unit that executes the face recognition processing; a silhouette recognition execution unit that executes the silhouette recognition processing; and a tag recognition execution unit that executes the tag recognition processing, wherein the individual identification unit identifies the individual cow to be authenticated based on a face recognition output that is an output from the face recognition execution unit, a silhouette recognition output that is an output from the silhouette recognition execution unit, and a tag recognition output that is an output from the tag recognition execution unit.
4. An information processing system as described in claim 3, comprising a memory unit that stores a cow identification neural network that receives as input the output from the face recognition execution unit, the output from the silhouette recognition execution unit, and the output from the tag recognition execution unit, generated by machine learning using learning data including the output from the face recognition execution unit, the output from the silhouette recognition execution unit, and the output from the tag recognition execution unit, and correct answer data, and outputs an authentication result, wherein the individual identification unit identifies the individual cow of the target of authentication by inputting the face recognition output, the silhouette recognition output, and the tag recognition output for the target cow to be authenticated into the cow identification neural network.
5. The information processing system of claim 4, wherein the face recognition execution unit outputs the face recognition output including multiple candidates for the face recognition result of the cow to be authenticated and the likelihood of each of the multiple candidates, the silhouette recognition execution unit outputs the silhouette recognition output including multiple candidates for the silhouette recognition result of the cow to be authenticated and the likelihood of each of the multiple candidates, and the tag recognition execution unit outputs the tag recognition output including multiple candidates for the tag recognition result of the cow to be authenticated and the likelihood of each of the multiple candidates.
6. The information processing system of claim 5, wherein the face recognition execution unit receives an image including a cow's face as input, executes the face recognition process using a face recognition neural network for cattle that outputs the face recognition result of the cow, and outputs data input to an output layer of the face recognition neural network for cattle as the face recognition output.
7. An information processing system as described in claim 6, wherein the silhouette recognition execution unit executes the silhouette recognition process using a silhouette recognition neural network for cattle, which receives as input the silhouette of the entire body of a cow and outputs the silhouette recognition result of the cow, and outputs the data input to the output layer of the silhouette recognition neural network for cattle as the silhouette recognition output.
8. An edge detection unit that detects edges of a weight-estimation target cow in a moving image or a plurality of still images captured of the cow, which is the target cow for weight estimation; a 3D image generation unit that generates a 3D image of the weight-estimation target cow from the moving image or the plurality of still images using the edges of the cow detected by the edge detection unit; a dimension estimation unit that estimates the body dimensions of the weight-estimation target cow based on the 3D image of the weight-estimation target cow; and a weight estimation unit that estimates the weight of the weight-estimation target cow based on the body dimensions of the weight-estimation target cow estimated by the dimension estimation unit. The information processing system according to any one of claims 3 to 7, further comprising a weight recording unit that records in association with the weight estimated by the weight estimation unit, the face recognition output output by the face recognition execution unit executing the face recognition process on an image of the weight estimation target cow and output by the individual identification unit, the silhouette recognition output output by the silhouette recognition execution unit executing the silhouette recognition process on the image of the weight estimation target cow and the tag recognition output output by the tag recognition execution unit executing the tag recognition process on the image of the weight estimation target cow.
9. The information processing system of claim 8, wherein the edge detection unit detects edges of the cow in the multiple still images generated by multiple imaging units arranged at different positions capturing images of the cow, and the 3D image generation unit generates the 3D image of the cow using the positional relationship of the multiple imaging units and the multiple still images.
10. The information processing system of claim 8, wherein the weight estimation unit estimates the weight of the weight-estimation-target cow by inputting the body dimensions of the weight-estimation-target cow estimated by the dimension estimation unit and the feeding status information of the weight-estimation-target cow into a weight estimation neural network that receives as input the body dimensions of the cow and feeding status information of the cow, generated by machine learning using learning data including the body dimensions of the cow, feeding status information indicating the feed intake status of the cow, and the weight of the cow, and outputs an estimated result of the weight of the cow.
11. An information processing system comprising: an edge detection unit that detects edges of a weight-estimation target cow in a moving image or multiple still images captured of the cow, which is the target cow whose weight is to be estimated; a 3D image generation unit that generates a 3D image of the weight-estimation target cow from the moving image or multiple still images using the edges of the cow detected by the edge detection unit; a dimension estimation unit that estimates the body dimensions of the weight-estimation target cow based on the 3D image of the weight-estimation target cow; and a weight estimation unit that estimates the weight of the weight-estimation target cow based on the body dimensions of the weight-estimation target cow estimated by the dimension estimation unit.
12. A program for causing a computer to function as the information processing system according to any one of claims 1 to 11.
13. An information processing method executed by a computer, comprising: an execution step of executing at least one of a face recognition process on a captured image including the face of the cow to be authenticated, a silhouette recognition process on a captured image including the entire body of the cow to be authenticated, and a tag recognition process of detecting the tag by analyzing a captured image including the part of the cow to be authenticated where the tag is attached and recognizing tag information written on the tag; and an individual identification step of identifying the individual cow to be authenticated based on at least one of a face recognition output that is an output of the face recognition process, a silhouette recognition output that is an output of the silhouette recognition process, and a tag recognition output that is an output of the tag recognition process.
14. An information processing method executed by a computer, comprising: an edge detection step of detecting edges of a weight-estimation target cow in a moving image or a plurality of still images captured of the cow, the weight of which is to be estimated; a 3D image generation step of generating a 3D image of the weight-estimation target cow from the moving image or the plurality of still images using the edges of the cow detected in the edge detection step; a dimension estimation step of estimating the body dimensions of the weight-estimation target cow based on the 3D image of the weight-estimation target cow; and a weight estimation step of estimating the weight of the weight-estimation target cow based on the body dimensions of the weight-estimation target cow estimated in the dimension estimation step.
Citation Information
Patent Citations
Dairy cow individual identity recognition method fusing multi-region depth features
CN111259978A
Weight estimation device, body orientation determination device, body part image generation device, machine learning device, inference device, weight estimation method, and weight estimation program
JP2023014766A
Livestock information management system, livestock barn, livestock information management program, and livestock information management method
WO2019058752A1
Authentication device, authentication method, and storage medium
WO2020065954A1