Animal handling system, computer-implemented method, computer program and non-volatile data carrier
The animal handling system uses RFID tags and historical data analysis to confirm and recognize dairy animal identities efficiently, addressing inefficiencies in existing systems by reducing data processing and enabling real-time, accurate identification for individualized milking processes.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- DELAVAL HLDG AB
- Filing Date
- 2025-11-26
- Publication Date
- 2026-06-25
AI Technical Summary
Existing animal identification systems in dairy farming are inefficient and resource-intensive due to the large amounts of data that need to be processed, especially in image-based designs, leading to high costs and time consumption.
An animal handling system that includes a controller, first and second databases, and primary and secondary identification stations, utilizing RFID tags and historical data analysis to confirm identities through a verification process, and perform recognition procedures only when necessary, reducing data processing by identifying animals in real-time during the milking process.
The system efficiently and reliably identifies dairy animals by minimizing unnecessary data processing, allowing for individualized milking adjustments and reducing computational load, while maintaining high accuracy.
Smart Images

Figure SE2025051068_25062026_PF_FP_ABST
Abstract
Description
[0001] Animal Handling System, Computer-Implemented Method, Computer Program and Non-Volatile Data Carrier
[0002] TECHNICAL FIELD
[0003] The present invention relates generally to automatic identification of animals. Especially, the invention relates to an animal handling system according to the preamble of claim 1 and a corresponding computer-implemented method. The invention also relates to a computer program and a non-volatile data carrier storing such a computer program.
[0004] BACKGROUND
[0005] Inter alia for health and food quality reasons, today’s dairy industry requires that the extracted milk can be traced back to each animal from which the respective milk originates. This, in turn, demands an unfailing system for identifying the animals in connection with each milking. Also, it is important to keep track on individuals treated with for example antibiotics. Further, in herd management, there are numerous of examples of situations when reliable animal identification is key, for example at feeding stations and when determining a body condition score (BCS) for an animal. Below follows prior-art examples of systems in which animal identities are determined for various purposes.
[0006] US 2010 / 0246970 discloses a device and method for providing information about animals walking through an animal passage. The information comprises at least the number of animals walking through the animal passage. A detection device is used, which has a sensor device connected to a processor for capturing animal data about animals walking through the animal passage. For the purpose of outputting counter impulses when animals are detected in said signals, an analysis device recognizes animals in the data / signals captured by the sensor device. The sensor device is designed for producing tree-dimensional (3D) images, and the analysis device is designed for detecting animals in the 3D data of the 3D images and for counting the animals using said detection.
[0007] US 7,296,536 shows a method and arrangement for automatically verifying identities of milk producing animals, wherein a milking parlor comprises a row of stalls accessible to milk producing animals from a front end thereof. An identification station is arranged in the front end for identifying the animals when entering the parlor. A method of verifying the identities of the animals in the row comprises: (i) identifying the animals in the stall located at the far end of the row, in the stall located at the front end of the row, and in a stall located there in between by first, second and third identification members; (ii) comparing the identifications of the first, second, and third identification members with the first, last and n'th identifications from the identification station, where the stall located between the far and front ends is the n'th stall as counted from the far end; and (iii) depending on the comparison verifying the identities of at least some of the animals in the row.
[0008] WO 2021 / 032890 reveals a rotary milking platform that comprises a plurality of stalls and a radio frequency identification (RFID) animal identifying system for identifying animals entering the stalls of the platform. A microprocessor reads signals from an image capturing device and computes a feature vector from the captured image of each animal. A plurality of reference feature vectors comprising respective matrices of metrics already derived from images of the respective animals captured by the image capturing device are stored and cross-referenced with the identity of the respective animals. The microprocessor compares computed feature vectors of each animal with the stored reference feature vectors until a best match has been determined with one of the reference feature vectors. The identity of the animal of that matching reference feature vector is then determined as the identity of the animal of that computed feature vector. The determined identity of the animal in the relevant stall is compared with the identity of the animal determined for that stall by the RFID system. On a favorable comparison the identity of the animal determined from the captured image of that animal is confirmed as the identity of the animal. In the event of a conflict between the two identities being determined, a conflict alert signal is produced.
[0009] US 11 ,080,522 describes a system and a method for identification of individual animals based on images, such as 3D images, of the animals, especially of cattle and cows. When animals live in areas or enclosures where they freely move around, it can be complicated to identify the individual animal. Inter alia, the disclosure relates to a method for determining the identity of an individual animal in a population of animals with known identity. The method comprises the steps of acquiring at least one image of the back of a preselected animal, extracting data from said at least one image relating to the anatomy of the back and / or topology of the back of the preselected animal, and comparing and / or matching said extracted data against reference data corresponding to the anatomy of the back and / or topology of the back of the animals with known identity, thereby identifying the preselected animal. The method and system can be used to monitor feed intake, such as feed intake for dairy cows as well as health status.
[0010] Thus, various technical solutions are known, wherein animal identities are determined in two or more stages in order to improve the accuracy of the identification. However, the known solutions may be problematic due to the large amounts of data that need to be processed. Handling such data quantities is either expensive, time consuming, or both. This is especially true for designs that rely on image-based identification.
[0011] SUMMARY
[0012] The object of the present invention is to offer a solution that mitigates the above problem, and thus allows an efficient and reliable identification of dairy animals.
[0013] According to one aspect of the invention, the object is achieved by an animal handling system that includes a controller, first and second databases and a primary identification station. The first database stores a respective identity that uniquely designates each member in a group of dairy animals. The first database is communicatively connected to the controller. The primary identifi- cation station is configured to determine the respective identity of the members in the group of dairy animals that pass through a first detection zone in connection with a milking process. For example, the primary identification station may include a radio transceiver system configured to read out a code from an RFID tag that is carried by each member in the group, which code is configured to form a basis for the identity of the member in question. In any case, the primary identification station is also communicatively connected to the controller. In connection with the milking process the controller is configured to obtain, from the primary identification station, a basis for determining candidate identities of the members in the group. In connection with the milking process the controller is further configured to obtain, from the second database, relationship data that describe interrelations between the members in the group. The relationship data are based on an analysis of historic data acquired during earlier registered passages in connection with the milking process of the members in the group. The relationship data may be based on an analysis of historic data acquired by the primary identification station during earlier registered passages of the members in the group through the first detection zone. Additionally, based on the relationship data the controller is configured to, in connection with the milking process, perform a verification process seeking to confirm an identity of a particular one of the candidate identities. If the identity of the particular one of the candidate identities is confirmed, the controller is configured to indicate a confirmed identification status for the particular one of the candidate identities with respect to the milking process. Otherwise the controller is configured to, in connection with the milking process, determine at least one unidentified member of the candidate identities for which at least one unidentified member the identity was not confirmed, and perform a recognition procedure with respect to the at least one unidentified member. Here, the recognition procedure seeks to find a match between the at least one unidentified member and a respective identity of a member in the group.
[0014] This system is advantageous because the confirming recognition procedure need only be performed when actually required; and if so, this procedure is performed exclusively with respect to a limited number of animals, namely for those that the controller was unable to confirm. This renders the overall process very data efficient.
[0015] In a preferred embodiment, the verification process and recognition procedure are performed prior to milking a member of the group of dairy animals, which does not require all of the members to pass the primary identification station in order to be able to perform the verification process and recognition procedure. In other words, the identification of members is performed in real time during the milking process. This is advantageous since the milking process may be adapted to individual dairy animals, for example the milking vacuum may be adapted to an individual dairy animal.
[0016] In another embodiment, the verification process and recognition procedure are performed after all of the members of the group, or preferably a subgroup, of dairy animals which are about to be milked has past the primary identification station.
[0017] The milking process may involve milking the dairy animals in a stationary milking parlor or on a rotating milking parlor, also called a rotating milking platform.
[0018] According to one embodiment of this aspect of the invention, if, when performing the recognition procedure, the controller manages to find a match between the at least one unidentified member and the identity of a member in the group, the controller is further configured to indicate the confirmed identification status. Thus, a fully successful identification is signaled.
[0019] According to another embodiment of this aspect of the invention, the relationship data contains cluster data defining at least two subgroups within the group of animals, wherein each subgroup includes a respective number of members of the group, and the subgroups may potentially overlap one another, at least partially. In other words, the at least two subgroups are defined such that each member of the group is comprised in at least one of the at least two subgroups and there is at least one member of the group that is not comprised in each of the at least two subgroups. In other words, the subgroups are defined such that each member of one subgroup may be comprised in at least one other of the subgroups, however there is at least one member of one of the subgroups that is not comprised in each of the other subgroups. Here, the controller is configured to perform the verification process by matching at least one of the candidate identities against the cluster data to establish an estimated subgroup of the subgroups in which subgroup the candidate identities are assumed to be comprised. The controller is configured to check if a match is found between the candidate identities and a respective one of the members of the subgroup. If so, the controller is configured to indicate the confirmed identification status. Thereby, a fully successful identification may be signaled in response to an efficient and straightforward matching process.
[0020] Preferably, the controller is configured to perform the recognition procedure such that the at least one unidentified member is matched against any member of the subgroup for which no confirmed identification status has been indicated. Typically, this namely reduces that matching task significantly.
[0021] According to yet another embodiment of this aspect of the invention, the animal handling system includes a secondary identification station, which is communicatively connected to the controller and which secondary identification station is configured to acquire auxiliary data from the members in the group in connection with the milking process. Here, the controller is further configured to perform the recognition procedure by seeking to find a match between the acquired auxiliary data from the at least one unidentified member and stored auxiliary data from a respective identity of a member in the group. This system is advantageous because the confirming recognition procedure need only be performed when actually required and enables an efficient and straightforward matching process.
[0022] According to yet another embodiment of this aspect of the inven- tion, the controller is further configured to determine a respective position-candidate identity pair for each milking position in a set of milking positions in a milking space that is used for the milking process, for example a rotary milking parlor arrangement with a rotating platform having a plurality of stalls, which each is configured to house a respective dairy animal during milking. The controller is here also configured to perform the verification process with respect to the candidate identities based on the respective position-candidate identity pairs. Specifically, determining the respective position-candidate identity pairs may involve retrieving a description of an order in which the members of a particular subgroup have been positioned in one or more earlier milking processes and comparing this description to a current set of candidate identities obtained from the primary identification station in order to seeking to confirm the candidate identities.
[0023] According to one embodiment of this aspect of the invention, the relationship data explicitly contains ordinal data reflecting a mutual order in which the members in the group are expected to appear in connection with the milking process, and the controller is configured to perform the recognition procedure based on the ordinal data.
[0024] According to yet another embodiment of this aspect of the invention, the controller is configured to derive the relationship data in consideration of at least one type of social-structural relationship between the members of the group, where the social-structural relationship expresses the mutual order in which the members in the group are expected to appear in connection with the milking process. Namely, dairy animals are herd animals and they therefore typically arrange themselves in a strict hierarchical order when approaching a milking installation, a feeding station or similar.
[0025] According to still another embodiment of this aspect of the invention, the secondary identification station includes a camera configured to register image data representing one of the members of the group in connection with a milking process, which image data are comprised in the auxiliary data obtained by the controller. Hence, the controller may carry out an image-based identification of the respective at least one unidentified member of the candidate identities for which at least one unidentified member the identity was not confirmed.
[0026] According to a further embodiment of this aspect of the invention, the controller is configured to perform the recognition procedure based on a matching of the image data against stored visual characteristics of the members of the subgroup when seeking to find a match between the at least one unidentified member and the respective identity of a member in the group. Here, the controller may be configured to restrict the matching to exclusively involve matching against the stored visual characteristics of the members of the subgroup for which no match was found among the candidate identities of the estimated subgroup. Consequently, the matching task becomes relatively simple from computational point-of-view. This may further reduce the amount of processing that needs to be carried out.
[0027] For instance, according to one embodiment of the invention, the matching against stored visual characteristics of the members of the group involves matching a set of stored image features against a set of image features derived from the image data. This may further reduce the amount of processing that needs to be carried out.
[0028] According to another embodiment of this aspect of the invention, in addition to, or as an alternative to the image data, the auxiliary data contains at least one stored biologic characteristics for each member in the group of animals. The at least one stored biologic characteristic, in turn, may be represented by historical average milk yield per milking, historical average milk yield per udder quarter, historical average milking duration and / or a number of teats of the animal of in question. Thus, the controller is provided with a wide variety of potential strategies to determine the identity of an animal. According to yet another embodiment of this aspect of the invention, the controller is configured to repeatedly update the relationship data based on analyses of data acquired by the primary identification station during registered passages of the members in the group through the first detection zone. For example, such updates may be performed after each milking process, once per day or more or less frequently. In any case, the acquired data are added to the historic data stored in the second database. Hence, the verification basis grows gradually while the system is being operated.
[0029] According to still another embodiment of this aspect of the invention, the controller is configured to derive the relationship data through an analysis procedure of the historic data, which analysis procedure involves machine learning. In recent years, this has proven to be a highly efficient means to make use of the information carried by such historic data.
[0030] According to one embodiment of this aspect of the invention, the animal handling system contains an operator interface configured to present the at least one unidentified member of the candidate identities. Here, the recognition procedure is implemented by enabling a user to assign an identity of the at least one unidentified member via a command that is input through the operator interface. In practice, this may involve presenting a small number of proposed candidate identities on a touchscreen display to an operator who may then select an identity for an unidentified animal by clicking on the proposed candidate identity that he / she considers to be the most promising candidate for the animal in question.
[0031] According to another aspect of the invention, the object is achieved by a computer-implemented method, which is performed in a processing unit in a controller, which controller, in turn, is included in the above-proposed animal handling system. The method involves storing, in a first database, a respective identity that uniquely designates each member in a group of dairy animals, and determining, in a primary identification station, the respective identity of the members in the group of dairy animals that pass through a first detection zone in connection with a milking process. In connection with the milking process, the method also involves obtaining, from the primary identification station, candidate identities of the members in the group; and obtaining, from a second database, relationship data that describe interrelations between the members in the group. The relationship data are based on an analysis of historic data acquired by the primary identification station during earlier registered passages of the members in the group through the first detection zone. Moreover, the method involves performing, based on the relationship data, a verification process that seeks to confirm an identity of a particular one of the candidate identities. If the identity of the particular one of the candidate identities is confirmed, the method further involves indicating a confirmed identification status for the particular one of the candidate identities with respect to the milking process. Otherwise, the method involves determining at least one unidentified member of the candidate identities for which at least one unidentified member the identity was not confirmed, and performing a recognition procedure with respect to the at least one unidentified member, which recognition procedure seeks to find a match between the at least one unidentified member and a respective identity of a member in the group. The advantages of this method, as well as the preferred embodiments thereof, are apparent from the discussion above with reference to the proposed animal handling system.
[0032] According to a further aspect of the invention, the object is achieved by a computer program loadable into a non-volatile data carrier communicatively connected to at least one processing unit. The computer program includes software for executing the above method when the program is run on the at least one processing unit.
[0033] According to another aspect of the invention, the object is achieved by a non-volatile data carrier containing the above computer program.
[0034] Further advantages, beneficial features and applications of the present invention will be apparent from the following description and the dependent claims.
[0035] BRIEF DESCRIPTION OF THE DRAWINGS
[0036] The invention is now to be explained more closely by means of preferred embodiments, which are disclosed as examples, and with reference to the attached drawings.
[0037] Figure 1 schematically illustrates an animal handling system according to one embodiment of the invention;
[0038] Figure 2 illustrates how cluster data may define subgroups within the group of animals according to embodiments of the invention;
[0039] Figure 3 - 4 exemplify embodiments according to embodiments of the invention for performing a recognition procedure with respect to unidentified members in the group of animals;
[0040] Figure 5 shows an image of an animal illustrating how different identification means may be attached according to embodiments of the invention; and
[0041] Figure 6 illustrates, by means of a flow diagram, the general method for identifying animals according to the invention.
[0042] DETAILED DESCRIPTION
[0043] Figure 1 shows a schematic illustration of an animal handling system according to one embodiment of the invention.
[0044] The animal handling system includes a controller 110, a first database 130, a second database 140 and a primary identification station 115.
[0045] The first database 130 stores a respective identity that uniquely designates each member m in a group H of dairy animals, for instance dairy cows. The first database 130 is communicatively con- nected to the controller 110, for example by wire or through a wireless channel.
[0046] The primary identification station 115 is configured to determine, or register, the respective identity of the members m in the group H of dairy animals that pass through a first detection zone Z1 in connection with a milking process. The primary identification station 115 is communicatively connected to the controller 110, for example by wire or through a wireless channel. The primary identification station 115 may be located off set an entrance of a rotating milking parlor, i.e. the members m has entered the rotating milking parlor and will pass by the primary identification station 115 while standing in a respective milking space on the rotating platform.
[0047] Referring now also to Figure 5, according to one embodiment of the invention, the primary identification station 115 contains a radio transceiver system 115r that is configured to read out a code from an RFID tag 535, which is carried by each member m in the group H. For each member m, the code is unique within the group H and the code is configured to form a basis for the identity ID(ai) of the member m in question.
[0048] In connection with the milking process, the controller 110 is configured to obtain, from the primary identification station 115, a basis for determining candidate identities ID(ai), ... , ID(ai) of the members m in the group H, which candidate identities ID(ai), ... , ID(ai) have been produced while said members m have passed through the first detection zone Z1 , preferably in a sequential order, one by one. As will be discussed further below, the basis for determining the candidate identities ID(ai), ... , ID(ai) may for example be a listing of RFID tag codes that have been read out by a radio transceiver system in the primary identification station 115. The candidate identities ID(ai), ... , ID(ai) may for example be expressed as: ID(01 ), ID(03), ID(27), ID(93), ID(02), ID(72), I D(51 ), I D(39), I D(17) and I D(21 ). Preferably, a sensor for counting cows, for example a photocell, is connected to the controller 110 such that it can, together with the information from the primary identification station 115, conclude that at least one of the members m in the group H has past the primary identification station 115.
[0049] In other words, the primary identification station 115 determines, or register, the identity of a member m that passes through the first detection zone Z1 . That determined / registered identity is then treated as a candidate identity which needs to be verified, confirmed. The controller 110 is configured to obtain, from the primary identification station 115, the determined / registered identity and that is used as a candidate identity of the member m. The determined / registered identity from the primary identification station 115 is thus the same as the candidate identity determined by the controller 110.
[0050] In connection with the milking process, the controller 110 is also configured to obtain, from the second database 140, relationship data DCL and / or Do that describe interrelations between the members m in the group H. The relationship data DCL and Do respectively are based on an analysis of historic data HD acquired by the primary identification station 115 during earlier registered passages of the members m in the group H through the first detection zone Z1 , where said analysis may have been carried out by the controller 110, or a processing resource separate there from.
[0051] In any case, based on the relationship data DCL and / or Do, the controller 110 is configured to perform a verification process that seeks to confirm each of the respective candidate identities I D(ai ) , ... , ID(ai) for which a basis was obtained from the primary identification station 115. The controller 110 may either carry out the verification process sequentially, essentially in parallel with each member m of the group H passing through the first detection zone Z1 , or after that a particular subset of animals has passed through the first detection zone Z1 . If an identity of a particular one of the candidate identities is thus confirmed, the controller 110 is further configured to indicate a confirmed identification status IDc for the particular one of the candidate identities with respect to the mil- king process. Should all of the candidate identities thus be confirmed, this means that all of the milked dairy animals were successfully identified in connection with the milking process.
[0052] In other words, the determined / registered identity of the member m from the primary identification station 115 is verified / confirmed in order to make the identification more reliable. The controller 110 is configured to obtain, from the primary identification station 115, the determined / registered identity and that is used as a candidate identity of the member m. The obtained candidate identity is then verified by the controller 110 by obtaining the relationship data DCL and / or Do and based on that the controller 110 is configured to perform the verification process where it seeks to confirm the candidate identity of the member m.
[0053] Otherwise, i.e. if the controller 110 was unable to confirm, in other words verify, the candidate identities ID(ai), ... , ID(ai) based on the relationship data DCL and / or Do, the controller 110 is configured to determine at least one unidentified member of the candidate identities I D(ai ), ... , ID(ai) for which at least one unidentified member the identity was not confirmed through the verification process. The controller 110 is then configured to perform the recognition procedure with respect to the at least one unidentified member, which recognition procedure seeks to find a match between the at least one unidentified member and a respective identity of a member m in the group H.
[0054] For example, the relationship data DCL and / or Do that describes interrelations between the members m in the group H, which relationship data DCL and / or Do are based on an analysis of historic data HD acquired by the primary identification station 115 during earlier registered passages of the members m in the group H through the first detection zone Z1 , may disclose that an obtained candidate identity of a member m is not, according to earlier registered passages of that member m, likely to pass through the first detection zone Z1 at that moment and thus the candidate identity of that member m is not confirmed during the verification process. The controller 110 is then configured to determine the member m as unidentified and will perform a recognition procedure for that member m.
[0055] The interrelations between the members may for example be the order in which they pass the first detection zone Z1 . For example, is the dairy animal high in the hierarchical order and will pass early, perhaps being one of the first ten members or perhaps being low in the hierarchical order and thus passing later. It is also possible to look at adjoining members, who is a specific dairy animal normally, based on historic passings, likely to stand next to.
[0056] If, when performing the recognition procedure, the controller 110 manages to find a match between the at least one unidentified member and an identity of a member m in the group H, the controller 110 is further configured to indicate the confirmed identification status IDc also for the at least one unidentified member with the respect to the milking process, i.e. , signaling that this dairy animal was successfully identified.
[0057] Figure 2 illustrates how cluster data may define subgroups within the group of animals according to embodiments of the invention. Here, the relationship data contains cluster data DCL defining at least two subgroups A, B, C, D and E respectively within the group H. Each of the subgroups A, B, C, D and E contains a respective number of members m of the group H. For instance, the subgroup A with members ai to a, may represent a first milking group, the subgroup B with members bi to bj may represent a second milking group, the subgroup C with members ci to Ck may represent a third milking group, the subgroup D with members di to dnmay represent a fourth milking group and the subgroup E with members aq, bx, cyand dzmay represent the members m of each of the subgroups A, B, C and D, which members m are expected to arrive first to the first detection zone Z1 in connection with a milking process in respect of any of the milking groups represented by the subgroups A, B, C or D. Consequently, by starting off with searching for a matching identity in subgroup E, the controller 110 may quickly determine an adequate subgroup A, B, C or D within which to search for remaining members m to pass through the first detection zone Z1 . Specifically, assume that a first member m that enters the first detection zone Z1 matches cy. Then, it is reasonable to expect that the third milking group, which represents an estimated subgroup C’ has arrived at the primary identification station 115 in order to be milked. Therefore, at least provisionally, the controller 110 only need to match any remaining members m that pass through the first detection zone Z1 against identities from the subgroup C. As a result, the processing capacity may be economized in the controller 110.
[0058] In the above example there are four distinct, non-overlapping, subgroups A, B, C and D and a fifth subgroup E that contains a respective subset of each of the subgroups A, B, C and D, namely the member m of each subgroup that is expected to arrive first at the first detection zone Z1. According to the invention, the subgroups in the group of animals H may essentially be defined entirely freely depending on what results in the most efficient identification procedure. However, in order to be meaningful, there should be at least two subgroups, and the subgroups should be defined such that each member m of the group H is comprised in at least one of the subgroups and there is at least one member m that is not comprised in all of the subgroups.
[0059] Assuming now that the controller 110 obtains a basis for determining a first candidate identity ID(ai) from the primary identification station 115. This prompts the controller 110 to estimate that the subgroup A has arrived for milking. Therefore, the controller 110 is configured to perform the verification process by matching the candidate identities ID(ai), ... , ID(ai) against the cluster data DCL in the form of an estimated subgroup A’ in which subgroup the candidate identities ID(ai), ... , ID(ai) are assumed to be comprised.
[0060] The controller 110 may be configured to check, after all respective candidate identities of the members m in the subgroup A are obtained from the primary identification station 115, if a match is found between each of the candidate identities ID(ai), ID(ai) and a respective one of the members of the subgroup A; and if so, the controller 110 is configured to indicate the confirmed identification status IDc for the milking process, i.e. , signaling that all of the members m of the subgroup A were successfully identified in connection with the milking process.
[0061] Nevertheless, for various reasons, the verification process may not always be able to find matches for all of the members m of a particular subgroup at the first attempt.
[0062] Figures 3 and 4 exemplify how the recognition procedure may be performed according to embodiments of the invention.
[0063] Figure 3 exemplifies how a recognition procedure according to one embodiment of the invention may be performed with respect to unidentified members in the group of animals that were not confirmed in the verification process.
[0064] Here, we assume that the controller 110 has managed to confirm all of the members m in the estimated subgroup A’ by linking each of the candidate identities ID(ai), ID(a2),... , ID(ap), ID(aq), ID(ar), ... , ID(ai) to a respective particular member of the subgroup A except two candidate identities, which are denoted x and y respectively.
[0065] According to one embodiment of the invention, the controller 1 10 is configured to perform the recognition procedure with respect to any unidentified members x and y respectively seeking to find a match between each of the unidentified members x and y and a respective identity of a member m in the group H by matching the unidentified members x and y respectively against any member, here ap-i and ar+i respectively of the subgroup A for which no match was found among the candidate identities ID(ai), ... , ID(ai) of the estimated subgroup A’. Thus, specifically, in the present example, the unidentified members x and y are matched against ap-i and ar+i because these are the only identities left in the subgroup A that have not already been assigned to any member m in the group H. In general, given that the basic assumption was cor- rect, i.e. , in this case that it was indeed the members m of the subgroup A that were involved in the milking process, the number of unidentified members should be very small, in this case two, and consequently the matching phase of the recognition procedure constitutes a straightforward task for the controller 1 10 irrespective of the matching technique that is employed, such as symbol matching, image matching and / or feature matching.
[0066] Figure 4 exemplifies how the controller 1 10 performs the recognition procedure with respect to two unidentified members x and y respectively in a group of animals A according to another embodiment of the invention. Here, the relationship data contains ordinal data Do that reflect a mutual order in which the members m in the group H are expected to appear in connection with the milking process, and the controller 1 10 is configured to perform the recognition procedure based on the ordinal data Do, which, analogous to the above, is based on the historic data HD acquired by the primary identification station 1 15 during earlier registered passages of the members m in the group H through the first detection zone Z1 .
[0067] Referring again to Figure 4, the controller 1 10 is preferably configured to perform the recognition procedure with respect to said unidentified members x and y based on the relationship data that expresses the ordinal data Do in which the members m in the group H are expected to appear in connection with the milking process. Assume that the controller 1 10 has established that the unidentified members x and y adjoin a member m with an identity ID(ap) and an identity ID(ar) respectively; and, according to the ordinal data Do, the identity ID(ap) is expected to adjoin a member m with an identity ID(ap-i) and the identity ID(ar) is expected to adjoin a member m with an identity ID(ar+i). Then, since all the other members m of the subgroup in question, here subgroup A, have been successfully identified, the controller 1 10 may assign the identity ID(ap-i) to the unidentified member x and assign the identity ID(ar+i) to the unidentified member y with a high degree of reliability. Here, since the estimated subgroup is A’, the controller 110 may restrict the matching to exclusively involve matching against the stored visual characteristics of the members of the subgroup A for which no match was among the candidate identities ID(ai), ID(ai) of the estimated subgroup A’, such as ap-i, and ar+i respectively in the example above. Of course, this renders the matching process very uncomplicated and highly efficient from a computational point-of-view.
[0068] In another embodiment of the invention, the controller 110 may be configured to perform the verification process and the recognition procedure prior to milking a member m in a group H of dairy animals. In other words, not all of the respective members m of the group H needs to have passed the primary identification station 115 to be able to verify a candidate identity and if necessary perform a recognition procedure to identify a not confirmed member m. This is preferable since the milking process where milk is extracted can then be individually adapted, for example milking vacuum levels can be adapted to the individual member m of the group H.
[0069] Assuming now that the controller 110 obtains a basis for determining a first candidate identity ID(ai) from the primary identification station 115. This prompts the controller 110 to estimate that the subgroup A has arrived for milking. Therefore, the controller 110 is configured to perform the verification process by matching the candidate identities ID(ai), ... , ID(ai) against the cluster data DCL in the form of an estimated subgroup A’ in which subgroup the candidate identities ID(ai), ... , ID(ai) are assumed to be comprised. In general, given that the basic assumption was correct, i.e. , in this case that it was indeed the members m of the subgroup A that were involved in the milking process, the recognition procedure is performed by seeking to find a match between the unidentified members x, y and any member of the subgroup A. This constitutes a straightforward task for the controller 110 irrespective of the employed matching technique used for the recognition procedure, such as symbol matching, image matching and / or feature matching. This may further reduce the amount of processing that needs to be carried out during the recognition procedure.
[0070] According to one embodiment of the invention, the controller 110 is configured to derive the ordinal data Do in consideration of at least one type of social-structural relationship between the members m of the group H. The at least one type of social-structural relationship expresses the mutual order in which the members m in the group H are expected to appear in connection with the milking process. Specifically, since dairy animals are herd animals, they tend to be hierarchically ranked, such that the animal with the highest rank comes first, then follows the animal with lower rank, and so on. It is therefore relatively safe to assume that the members m of a particular subgroup, say A, will always arrive in essentially the same order to the first detection zone Z1 .
[0071] Nevertheless, the hierarchical structure may be altered, for example due to power struggles, defiance and / or because one or more members m are added to and / or subtracted from the subgroups. Therefore, according to one embodiment of the invention, the controller 110 is configured to repeatedly update the relationship data DCL and / or Do based on analyses of data dd having been acquired by the primary identification station 115 during registered passages of the members m in the group H through the first detection zone Z1 , where the data dd are added to the historic data HD already stored in the second database 140.
[0072] Preferably, for computational efficiency, the controller 110 is configured to derive the relationship data DCL and / or Do through an analysis procedure of the historic data HD, which analysis procedure involves machine learning.
[0073] According to one embodiment of the invention, the animal handling system includes a secondary identification station 125, which is communicatively connected to the controller 110, for example by wire or through a wireless channel.
[0074] The secondary identification station 125 is configured to acquire auxiliary data AD from the members m in the group H in connection with the milking process, and the controller 110 is further configured to perform the recognition procedure by seeking to find a match between the acquired auxiliary data AD from the at least one unidentified member x, y and stored auxiliary data AD from a respective identity of a member m in the group H.
[0075] According to one embodiment of the invention, the secondary identification station 125 includes a camera 125c, which is configured to register image data Dimg, on a still or video format, that represent one of the members m of the group H in connection with the milking process. The image data Dimg are comprised in the auxiliary data AD and may thus serve as a basis for when seeking to find a match between the acquired auxiliary data AD from the at least one unidentified member x, y and stored auxiliary data AD from a respective identity of a member m in the group H. Thus, if a member m is determined as unidentified the camera 125c is configured to register image data Dimg for the unidentified member x, y and the controller 110 is configured to match that image data Dimg against stored image data Dimg for a respective identity of a member m in the group H to be able to identify the unidentified member x, y.
[0076] In connection with the milking process, the controller 110 may be configured to determine a respective position-candidate identity pair for each milking position in a set of milking positions in a milking space M that is used for the milking process. For example, as illustrated in Figure 1 , the milking positions may be represented by stalls on a rotating platform of a rotary milking parlor arrangement. Figure 1 shows a first milking position P1 and an m:th milking position Pm, where a member m with a first identity ID(ai) occupies first milking position P1 and a member m with an i:th identity ID(ai) occupies the m:th milking position Pm. Specifically, the position-candidate identity pairs for the milking space M may be listed as: milking position 01 , ID(11 ); milking position 02, ID(12); milking position 03, ID(13); milking position 04, ID(14); milking position 05, ID(x); milking position 06, ID(16); milking position 07, ID(17); milking position 08, ID(18); milking position 09, ID(y) and milking position 10, ID(20).
[0077] Should the verification process result in at least one unidentified member, say x and y, the controller 110 is further configured to perform the recognition procedure with respect to the at least one unidentified member x and y respectively.
[0078] It should be noted that the secondary identification station 125 may be arranged at any location relative to the milking space M, for example at an entry gate, at an exit gate, or at any position therebetween. Moreover, for example for redundancy, two or more secondary identification stations 125 may be included in the same system.
[0079] Further, the controller 110 may be configured to perform the recognition procedure based on a matching of the image data Dimgagainst stored visual characteristics of the members of a particular subgroup, say A, when seeking to find a match between any unidentified members, say x and y, and the respective identity of a member m in the group H.
[0080] The matching against the stored visual characteristics of the members of the group H may be made even more efficient by specifically matching a set of stored image features, for example from a database 125d, which is accessible by the secondary identification station 125 or the controller 110, against a set of image features derived from the image data Dimg. The set of image features may here for example relate to certain characteristics of the animals’ face, head and / or body.
[0081] According to one embodiment of the invention, in addition to or as an alternative to the image data Dimg, the auxiliary data AD contains at least one stored biologic characteristics for each member m in the group H. The at least one stored biologic characteristics BC may be a historical average milk yield per milking for the animal in question, a historical average milk yield per udder quarter for the animal in question, a historical average milking duration for the animal in question and / or number of teats of the animal in question. Thus, the controller 110 is provided with a robust basis for performing the recognition procedure when seeking to identify the unidentified member x,y. The secondary identification station 125 may be a milk meter configured to measure milk yield.
[0082] In addition to or as an alternative to the camera 125c, the secondary identification station 125 may contain a radio transceiver system 125r that is configured to read out the code from an RFID tag 535, which is carried by each member m in the group H. For each member m, the code is unique within the group H and the code is configured to form a basis for the identity ID(ai) of the member m in question.
[0083] According to one embodiment of the invention, in addition to the above, or as an alternative thereto, the animal handling system may include an operator interface through which a user is able to assist in the recognition procedure. The operator interface (not shown) is configured to present the at least one unidentified member, say x and y, of the candidate identities ID(ai), ... , ID(ai), for example on a touch screen display. The controller 110 is here configured to perform the recognition procedure by enabling the user to assign an identity of the at least one unidentified member x and y via a command input through the operator interface by for example selecting a relevant identity for each of the unidentified members x and y respectively. For example, the user may be able to read the code on a tag 535 carried by the unidentified member x, y.
[0084] Returning now to Figure 1 , it is generally advantageous if the controller 110 is configured to effect the above procedure in an automatic manner by executing a computer program. Therefore, the controller 110 may include at least one processing unit 101 and a memory unit 105, i.e. non-volatile data carrier, storing a computer program 103, which, in turn, contains software for making the at least one processing unit 101 execute the actions mentioned in this disclosure when the computer program 103 is run on the at least processing unit 101.
[0085] In order to sum up, and with reference to the flow diagram in Figure 6, we will now describe the computer-implemented method according to the invention for identifying animals, which method is performed in the at least one processor 101 of the controller 1 10.
[0086] In a first step 610, a respective identity is stored in a database, which respective identity uniquely designates each member in a group of dairy animals. The respective identity may be a particular number, name or other text string that is unambiguously linked to an entity being unique for the animal in question, e.g. an RFID tag.
[0087] A subsequent step 620, checks if bases for determining candidate identities have been obtained from the primary identification station, which candidate identities designate members in the group for which identification bases have been registered when the members in the group pass through a first detection zone. If adequate bases for one or more candidate identities have been obtained, a step 630 follows; and otherwise, the procedure loops back and stays in step 620.
[0088] In step 630, relationship data are obtained from a second database. The relationship data describe interrelations between the members in the group and the relationship data are based on an analysis of historic data acquired by the primary identification station during earlier registered passages of the members in the group through the first detection zone.
[0089] Thereafter, in a step 640, a verification process is performed based on the relationship data. The verification process seeks to confirm each of the respective candidate identities that were obtained from the primary identification station in step 620.
[0090] In step 650, if the respective candidate identities are confirmed, a step 660 follows; and otherwise, a step 670 follows.
[0091] In step 660, either a confirmed identification status for the milking process is indicated meaning that all of the dairy animals were successfully identified in connection with the milking process or a confirmed identification status for the particular one of the candidate identities is indicated meaning that the particular one of the candidate identities is successfully identified with respect to the milking process. Thereafter, the procedure ends.
[0092] In step 670, at least one unidentified member of the candidate identities is determined, each of which at least one unidentified member represents a member whose identity was not confirmed in the verification process of step 640.
[0093] In a step 680 thereafter, a recognition procedure is performed with respect to the at least one unidentified member. The recognition procedure seeks to find a match between the at least one unidentified member and a respective identity of a member in the group. If the recognition procedure is successful, step 660 follows; and otherwise, the procedure ends without indicating the confirmed identification status.
[0094] The process steps described with reference to Figure 6 may be controlled by means of a programmed processor. Moreover, although the embodiments of the invention described above with reference to the drawings comprise processor and processes performed in at least one processor, the invention thus also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source code, object code, a code intermediate source and object code such as in partially compiled form, or in any other form suitable for use in the implementation of the process according to the invention. The program may either be a part of an operating system, or be a separate application. The carrier may be any entity or device capable of carrying the program. For example, the carrier may comprise a storage medium, such as a Flash memory, a ROM (Read Only Memory), for example a DVD (Digital Video / Versatile Disk), a CD (Compact Disc) or a semiconductor ROM, an EPROM (Erasable Programmable Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), or a magnetic recording medium, for example a floppy disc or hard disc. Further, the carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable or by radio or by other means. When the program is embodied in a signal, which may be conveyed, directly by a cable or other device or means, the carrier may be constituted by such cable or 2Q device or means. Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.
[0095] Variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure, and the appended claims.
[0096] The term “comprises / comprising” when used in this specification is taken to specify the presence of stated features, integers, steps or components. The term does not preclude the presence or addition of one or more additional elements, features, integers, steps or components or groups thereof. The indefinite article "a" or "an" does not exclude a plurality. In the claims, the word “or” is not to be interpreted as an exclusive or (sometimes referred to as “XOR”). On the contrary, expressions such as “A or B” covers all the cases “A and not B”, “B and not A” and “A and B”, unless otherwise indicated. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. Any reference signs in the claims should not be construed as limiting the scope.
[0097] It is also to be noted that features from the various embodiments described herein may freely be combined, unless it is explicitly stated that such a combination would be unsuitable.
[0098] The invention is not restricted to the described embodiments in the figures, but may be varied freely within the scope of the claims. Any subject-matter falling outside the scope of the claims is provided for information purposes, only.
Claims
Claims1. An animal handling system comprising: a controller (110), a first database (130) storing a respective identity that uniquely designates each member (m) in a group (H) of dairy animals, which first database (130) is communicatively connected to the controller (110), and a primary identification station (115) configured to determine the respective identity of the members (m) in the group (H) of dairy animals that pass through a first detection zone (Z1 ) in connection with a milking process, and which primary identification station (115) is communicatively connected to the controller (110), characterized in that the animal handling system comprises a second database (140), and in connection with the milking process, the controller (110) is configured to: obtain, from the primary identification station (115), a basis for determining candidate identities (I D(ai ) , ... , ID(ai)) of the members (m) in the group (H), obtain, from the second database (140) relationship data (DCL, DO) that describe interrelations between the members (m) in the group (H), which relationship data (DCL, DO) are based on an analysis of historic data (HD) acquired during earlier registered passages in connection with the milking process of the members (m) in the group (H), perform, based on the relationship data (DCL, DO) , a verification process seeking to confirm an identity of a particular one of the candidate identities (ID(ai), ... , ID(ai)), and if the identity of the particular one of the candidate identities is confirmed indicate a confirmed identification status (IDc) for the particular one of the candidate identities with respect to the milking process, and otherwise determine at least one unidentified member (x, y) of the candidate identities (ID(ai), ... , ID(ai)) for which at least one unidentified member (x, y) the identity was not confirmed, and perform a recognition procedure with respect to the at least one unidentified member (x, y), which recognition procedure seeks to find a match between the at least one unidentified member (x, y)and a respective identity of a member (m) in the group (H).
2. The animal handling system according to claim 1 , wherein if, when performing the recognition procedure, the controller (110) manages to find a match between the at least one unidentified member (x, y) and the respective identity of a member (m) in the group (H), the controller (110) is further configured to: indicate the confirmed identification status (IDc).
3. The animal handling system according to any one of claims 1 or 2, wherein the relationship data (DCL, DO) comprises cluster data (DCL) defining at least two subgroups (A, B, C, D, E) within the group (H), wherein each of said subgroups comprises a respective number of members (m) of the group (H), and the controller (110) is configured to perform the verification process by: matching at least one (ID(ai)) of the candidate identities (ID(ai), ... , ID(ai)) against the cluster data (DCL) to establish an estimated subgroup (A’) of said subgroups (A) in which subgroup (A) the candidate identities (ID(ai), ... , ID(ai)) are assumed to be comprised, checking if a match is found between the candidate identities (ID(ai), ... , ID(ai)) and a respective one of the members of the subgroup (A) and if so indicating the confirmed identification status (IDc).
4. The animal handling system according to claim 3, wherein the controller (110) is configured to perform the recognition procedure such that the at least one unidentified member (x, y) is matched against any member of the subgroup (A) for which no confirmed identification status (IDc) has been indicated.
5. The animal handling system according to any one of claims 3 or 4, wherein the at least two subgroups (A, B, C, D, E) are defined such that each member (m) of the group (H) is comprised in at least one of the at least two subgroups (A, B, C, D, E) and there is at least one member (m) of the group (H) that is not comprised in each of the at least two subgroups (A, B, C, D, E).
6. The animal handling system according to any one of the preceding claims, comprising a secondary identification station (125) communicatively connected to the controller (110), which secondary identification station (125) is configured to acquire auxiliary data (AD) from the members (m) in the group (H) in connection with the milking process, and the controller (110) is further configured to: perform the recognition procedure by seeking to find a match between the acquired auxiliary data (AD) from the at least one unidentified member (x, y) and stored auxiliary data (AD) from a respective identity of a member (m) in the group (H).
7. The animal handling system according to claim 6, wherein the secondary identification station (125) comprises a camera (125c) configured to register image data (Dimg) representing one of the members (m) of the group (H) in connection with the milking process, which image data (Dimg) are comprised in the auxiliary data (AD).
8. The animal handling system according to claim 7 when dependent on claim 3, wherein the controller (110) is configured to: perform the recognition procedure based on a matching of the image data (Dimg) against stored visual characteristics of the members of the subgroup (A) when seeking to find a match between the at least one unidentified member (x, y) and the respective identity of a member (m) in the group (H), and restrict said matching to exclusively involve matching against the stored visual characteristics of the members (ap-i , ar+i) of the subgroup (A) for which no match was among the candidate identities (ID(ai), ... , ID(ai)) of the estimated subgroup (A’).
9. The animal handling system according to any one of claims 7 or 8, wherein the matching against stored visual characteristics of the members of the group (H) comprises matching a set of stored image features against a set of image features derived from the image data (Dimg).
10. The animal handling system according to any one of claims 6 to 9, wherein the auxiliary data (AD) comprises at least one stored biologic characteristics for each member (m) in the group (H), which at least one stored biologic characteristics (BC) is selected from a group of: historical average milk yield per milking, historical average milk yield per udder quarter, historical average milking duration and number of teats.11 . The animal handling system according to any one of the preceding claims, wherein the relationship data (DCL, DO) comprises ordinal data (Do) reflecting a mutual order in which the members (m) in the group (H) are expected to appear in connection with the milking process, and the controller (110) is configured to: perform the recognition procedure based on the ordinal data (Do).
12. The animal handling system according to claim 11 , wherein the controller (110) is configured to derive the relationship data (DCL, DO) in consideration of at least one type of social-structural relationship between the members (m) of the group (H), which at least one type of social-structural relationship expresses the mutual order in which the members (m) in the group (H) are expected to appear in connection with the milking process.
13. The animal handling system according to any one of the preceding claims, wherein the controller (110) is configured to repeatedly update the relationship data (DCL, DO) based on analyses of data (dd) acquired by the primary identification station (115) during registered passages of the members (m) in the group (H) through the first detection zone (Z1 ), which data (dd) are added to the historic data (HD) stored in the second database (140).
14. The animal handling system according to claim 13, wherein the controller (110) is configured to derive the relationship data (DCL, DO) through an analysis procedure of the historic data (HD) which analysis procedure involves machine learning.
15. The animal handling system according to any one of the preceding claims, wherein the primary identification station (115) comprises a radio transceiver system (115r) configured to read out a code from an RFID tag (535) that is carried by each member (m) in the group (H), which code is configured to form a basis for the identity (ID(ai)) of the member (m) in question.
16. The animal handling system according to any one of the preceding claims, wherein the system comprises an operator interface configured to: present the at least one unidentified member (x, y) of the candidate identities (ID(ai), ... , ID(ai)), and perform the recognition procedure by enabling a user to assign an identity of the at least one unidentified member (x, y) via a command input through the operator interface.
17. A computer-implemented method executed in a processing unit (101 ) of a controller (110) in an animal handling system, which method comprises: storing, in a first database (130), a respective identity that uniquely designates each member (m) in a group (H) of dairy animals, and determining, in a primary identification station (115), the respective identity of the members (m) in the group (H) of dairy animals that pass through a first detection zone (Z1 ) in connection with a milking process, characterized by, in connection with the milking process, the method comprises: obtaining, from the primary identification station (115), a basis for determining candidate identities (ID(ai), ... , ID(ai)) of the members (m) in the group (H), obtaining, from a second database (140), relationship data (DCL, DO) that describe interrelations between the members (m) in the group (H), which relationship data (DCL, DO) are based on an analysis of historic data (HD) acquired during earlier registered passages in connection with the milking process of the members (m) in the group (H),performing, based on the relationship data (DCL, DO), a verification process that seeks to confirm an identity of a particular one of the candidate identities (ID(ai), ... , ID(ai)), and if the identity of a particular one of the respective candidate identities is confirmed indicating a confirmed identification status (IDc) for the particular one of the candidate identities with respect to the milking process, and otherwise determining at least one unidentified member (x, y) of the candidate identities (ID(ai), ... , ID(ai)) for which at least one unidentified member (x, y) the identity was not confirmed, and performing a recognition procedure with respect to the at least one unidentified member (x, y), which recognition procedure seeks to find a match between the at least one unidentified member (x, y) and a respective identity of a member (m) in the group (H).
18. A computer program (103) loadable into a non-volatile data carrier (105) communicatively connected to a processing unit (101 ), the computer program (103) comprising software for executing the method according to claim 17 when the computer program (103) is run on the processing unit (101 ).
19. A non-volatile data carrier (105) containing the computer program (103) of the claim 18.