Animal identification system, computer-implemented method, computer program and non-volatile data carrier
The animal identification system uses a controller and databases to process only candidate identities based on historic data, enhancing efficiency and reliability by minimizing data processing, allowing real-time adaptation of milking processes to individual animals.
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 identification system that utilizes a controller, first and second databases, and primary identification stations to process only a small number of candidate identities based on historic relationship data, allowing efficient and reliable identification by performing recognition procedures only when necessary, using a combination of RFID tags, cameras, and machine learning to adapt milking processes to individual animals.
The system provides efficient and reliable animal identification with reduced data processing demands, enabling real-time adaptation of milking processes to individual animals, thus improving accuracy and reducing operational costs.
Smart Images

Figure SE2025051069_25062026_PF_FP_ABST
Abstract
Description
[0001] Animal Identification 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 identification 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 identification system that includes a controller, first and second databases and a primary identification station. Each of the first and second databases and the primary identification station is communicatively connected to the controller. The first database stores a respective identity that uniquely designates each member in a group of dairy animals. The primary identification station is configured to extract information that represents the respective identities of the members in the group of dairy animals that pass through a first detection zone in connection with a milking process. The second database contains 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 said members. The relationship data may be based on an analysis of historic data acquired by the primary identification station during earlier registered passages of said members through the first detection zone. In connection with the milking process, the controller is configured to check, based on the information extracted by the primary identification station, if at least one of the members in the group is unidentified. If there is at least one such unidentified member, the controller is further configured to obtain, from the second database said relationship data, and based thereon derive at least one candidate identity for the at least one unidentified member. The at least one candidate identity is a respective at least one identity of said members of the group. Additionally, the controller is configured to perform 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 the at least one candidate identity.
[0014] This system is advantageous because the recognition procedure only needs to be performed when actually required; and if so, this procedure is performed with respect to a relatively small number of data records, namely with respect to those of the at least one candidate identity. This renders the overall process very data efficient. It is thus not required, when seeking to find a matching identity for an unknown member, to perform the recognition procedure with respect to all members of the group but rather a relatively small number of most likely candidates, which candidates are based on historic relationship data.
[0015] In a preferred embodiment, the recognition procedure is performed prior to milking the at least one unidentified member, which does not require all of the members to pass the primary identification station in order to be able to perform the recognition procedure. In other words, the identification of the at least one unidentified member is performed in real time during the milking process before milking the at least one unidentified member. 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 recognition procedure is 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] The interrelations between the members may for example be the order in which they pass the first detection zone. 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. The interrelations may also be the interrelations, like hierarchical orders or adjoining members, between the members in specific subgroups. The interrelations, disclosed in the relationship data, are based on an analysis of historic data acquired by the primary identification station during earlier registered passages of said members through the first detection zone.
[0019] 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 at least one candidate identity, the controller is further confi- gured to indicate a confirmed identification status. Thus, an entirely successful identification may be effected in a straightforward manner.
[0020] 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 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. 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.
[0021] Preferably, the controller is here configured to perform the recognition procedure such that an estimated subgroup is established based on the information extracted by the primary identification station in which subgroup the respective at least one identity of said members in the group is assumed to be comprised, and the controller is configured to derive the at least one candidate identity based on the estimated subgroup. Typically, this namely reduces the matching task significantly.
[0022] 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 derive the at least one candidate identity based on the ordinal data. Thus, the order of the dairy animals in a group from previous milking processes will generate possible identities for the unidentified dairy animal, i.e. candidate identities. Thereby, an efficient and reliable identification procedure is performed where the overall process is very data efficient.
[0023] According to yet another embodiment of this aspect of the inven- tion, 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. Thus, the social-structural relationship, e.g. hierarchical order, of the dairy animals in a group from previous milking processes will generate possible identities for the unidentified dairy animal, i.e. candidate identities. Thereby, an efficient and reliable identification procedure is performed where the overall process is very data efficient.
[0024] The generated, derived, candidate identities are in a later step the identities used in the recognition procedure as a comparison in order to determine the identity of the unidentified member.
[0025] According to one embodiment of this aspect of the invention, the controller is configured to exclude from the at least one candidate identity each identity of the members in the group that has already been determined by the primary identification station. Thus, any unnecessary matching can be avoided.
[0026] According to still another embodiment of this aspect of the invention, the controller is configured to indicate the confirmed identification status for each of said identity of the members in the group that has already been determined by the primary identification station. Consequently, the identities of the animals may be confirmed progressively as the animals pass through the first identification zone.
[0027] According to a further another embodiment of this aspect of the invention, the animal identification 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 at least one unidentified member 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 the at least one candidate identity. Thus, the controller is provided with a reliable basis to determine the identity of an unidentified dairy animal that, for some reason, were not identified by the primary identification station. Also, since, typically, a relatively small number of candidate identities renders a more efficient data process, it is then also possible to allow the auxiliary data to be relatively complex without imposing a high processing demand on the controller. The secondary identification station also needs only to be activated for unidentified members and that renders an overall efficient process. Seeking to find a match between the acquired auxiliary data from the at least one unidentified member and stored auxiliary data from the at least one candidate identity may involve comparing the acquired auxiliary data from the at least one unidentified member with stored auxiliary data from the at least one candidate identity.
[0028] Stored auxiliary data may be acquired from previous milking processes or other processes like at BCS stations, feeding stations etc. The first or secondary identification station may be configured to acquire auxiliary data from the members in the group and that data may be stored in a memory in the controller or either identification station.
[0029] The secondary identification station may comprise a camera configured to register image data representing one of the members of the group in connection with the milking process, which image data are comprised in the auxiliary data.
[0030] According to still another embodiment of this aspect of the invention, the secondary identification station includes a camera configured to register image data representing the at least one unidentified member in connection with the milking process, which image data are comprised in the auxiliary data obtained by the controller. Here, the controller is configured to perform the recognition procedure by seeking to find a match between the image data of the at least one unidentified member and stored visual characteristics, image data, of the at least one candidate identity. This may be effected based on very low processing resources, especially if the visual characteristics contain image features as described below. A relatively small number of candidate identities renders a more efficient data process, it is then also possible to allow the image data to be relatively complex without imposing a high processing demand on the controller. The camera also needs only to be activated for identification of unidentified members and that renders an overall efficient process. Seeking to find a match between the image data from the at least one unidentified member and stored image data from the at least one candidate identity may involve comparing the image data from the at least one unidentified member with stored image data from the at least one candidate identity.
[0031] According to a further embodiment of this aspect of the invention, the matching against the stored visual characteristics of the at least one candidate identity comprises matching a set of stored image features of the at least one candidate identity against a set of image features derived from the image data of the at least one unidentified member. Consequently, the matching task becomes relatively simple from computational point-of-view.
[0032] According to a further embodiment of this aspect of the invention, the matching against the stored visual characteristics of the members of the subgroup specifically involves matching a set of stored image features of the members of the subgroup against a set of image features derived from the image data of the at least one unidentified member. Consequently, the matching task becomes relatively simple from computational point-of-view.
[0033] According to one embodiment of the invention, the controller is 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 animal during milking. The controller is further configured to derive candidate identities for the at least one unidentified member based on the respective position-candidate identity pairs. This may involve using the above-mentioned ordinal data that expresses the mutual order in which the members in the group are expected to appear in connection with the milking process.
[0034] According to other embodiments 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 characteristics, in turn, may relate to a respective milk yield of each member in the group. It may also be represented by historical average milk yield per milking of each member in the group, a historical average milk yield per udder quarter, a historical average milking duration and / or number of teats. Thus, the controller is provided with a further reliable basis to determine the identity of an unidentified dairy animal that, for some reason, were not identified by the primary identification station. The secondary identification station may be a milk meter configured to measure milk yield.
[0035] 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 identification basis grows gradually while the system is being operated. Since the interrelations between members within the group or within subgroups may change, the relationship data is adapted to these changes. This renders a reliable derivation of candidate identities for an unknown dairy animal. For example, new members may be added to a subgroup or members of a subgroup may be moved to another subgroup, this can lead to changes in the hierarchical order between the members. 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.
[0036] According to one embodiment of this aspect of the invention, the primary identification station includes a radio transceiver system, which is configured to read out a code from an RFID tag that is carried by each member in the group. The code is configured to form a basis for the identity the member in question. This means that, for each member, the code is unique within the group.
[0037] According to one embodiment of this aspect of the invention, the animal identification system contains an operator interface configured to present the at least one candidate identity. Here, the recognition procedure is implemented by enabling a user to assign an identity of the at least one unidentified member via a command input through the operator interface. In practice, this may involve presenting the 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.
[0038] 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 identification system. The method involves storing, in a first database, a respective identity that uniquely designates each member in a group of dairy animals; and storing, in 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 milking processes for the members in the group of dairy animals. The method involves extracting information that represents the respective identities of the members in the group of dairy animals that pass through a first detection zone in connection with a milking process, and checking, based on the information extracted by the primary identification station, if at least one of the members in the group is unidentified. If at least one of the members in the group is unidentified, the method further involves obtaining the relationship data from the second database. Based on, the relationship data, in turn, the method involves deriving at least one candidate identity for the at least one unidentified member. The at least one candidate identity is a respective at least one identity of said members of the group. Thereafter, the method involves 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 the at least one candidate identity . The advantages of this method, as well as the preferred embodiments thereof, are apparent from the discussion above with reference to the proposed animal identification system.
[0039] 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.
[0040] According to another aspect of the invention, the object is achieved by a non-volatile data carrier containing the above computer program.
[0041] Further advantages, beneficial features and applications of the present invention will be apparent from the following description and the dependent claims.
[0042] BRIEF DESCRIPTION OF THE DRAWINGS
[0043] 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. Figure 1 schematically illustrates an animal identification system according to one embodiment of the invention;
[0044] Figure 2 illustrates how cluster data may define subgroups within the group of animals according to embodiments of the invention;
[0045] Figure 3 - 4 exemplify embodiments according to embodiments of the invention seeking to identify unidentified members in the group of animals;
[0046] Figure 5 shows an image of an animal illustrating how different identification means may be attached according to embodiments of the invention; and
[0047] Figure 6 illustrates, by means of a flow diagram, the general method for identifying animals according to the invention.
[0048] DETAILED DESCRIPTION
[0049] Figure 1 shows a schematic illustration of an animal identification system according to one embodiment of the invention.
[0050] The animal identification system includes a controller 110, a first database 130, a second database 140 and a primary identification station 115. Each of the first and second databases 130 and 140 respectively and the primary identification station 115 is communicatively connected to the controller 110 for example by a respective or shared wire connection or through a wireless channel.
[0051] The first database 130 stores a respective identity that uniquely designates each member m in a group H of dairy animals.
[0052] The primary identification station 115 is configured to extract information INFO that represents the respective identities 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, for example before entering a rotating platform of a rotary milking parlor arran- gement.
[0053] 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 M on the rotating platform.
[0054] The second database 140 contains relationship data, here denoted DCL and Do, that describe interrelations between the members m in the group H. The relationship data DCL and 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 , where said analysis may have been carried out by the controller 110, or by a processing resource separate there from.
[0055] In connection with the milking process, the controller 110 is configured to check, based on the information INFO extracted by the primary identification station 115, if at least one of the members m in the group H is unidentified, i.e., if the primary identification station 115 was unable to identify one or more members m of the group H that passed through the first detection zone Z1. For example, a dairy animal may be determined as unidentified if it has lost its tag or turns the head away so that the primary identification station 115 is unable to read the identity. 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 is unidentified.
[0056] If the controller 110 concludes that at least one of the members m in the group H is unidentified, the controller 110 is configured to obtain the relationship data DCL and Do from the second database 140. Based on the relationship data DCL and Do, in turn, the controller 110 is further configured to derive at least one candidate identity ID(ai), ... , ID(ai) for the at least one unidentified member. The at least one candidate identity ID(ai), ... , ID(ai) is a respective at least one identity of the members m of the group H, which may be selec- ted according to various strategies as will be explained below.
[0057] The controller 110 is then configured to perform a recognition procedure 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 the at least one candidate identity ID(ai), ... , ID(ai) and thus assign a respective identity also to each of the at least one unidentified member.
[0058] According to one embodiment of the invention, if, when performing the recognition procedure, the controller 110 manages to find a match between the at least one unidentified member and the at least one candidate identity ID(ai), ... , ID(ai), the controller 110 is further configured to indicate a confirmed identification status IDc. Thereby, for example a farmer may be notified that all or at least one of the animals were identified in connection with the milking process. Preferably, of course, the controller 110 is likewise configured to indicate the confirmed identification status IDc if all the members m of the group H were successfully identified already by the primary identification station 115.
[0059] To economize the processing resources in the controller 110, it is also advantageous if the controller 110 is configured to exclude from the at least one candidate identity ID(ai), ... , ID(ai) each identity of the members m in the group H that has already been determined by the primary identification station 115. Thus exclude from the at least one candidate identity I D(ai ) , ... , ID(ai) members m that has already been identified.
[0060] Figure 2 illustrates how cluster data may define subgroups within the group H 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 repre- sent 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, which 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 derive candidate identities from the subgroup C in case there is an unidentified member. As a result, the processing capacity may be economized in the controller 110.
[0061] In the above example there are four distinct, non-overlapping, subgroups A, B, C and D respectively 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.
[0062] According to one embodiment of the invention, based on the information INFO extracted by the primary identification station 115, the controller 110 is configured to establish an estimated subgroup A’ of said subgroups A in which subgroup A the respective at least one identity of said members m in the group H that passed through the first identification zone Z1 is assumed to be comprised. Based on the estimated subgroup A’, in turn, the controller 110 is configu- red to derive the at least one candidate identity ID(ai), ID(ai). Thus, for example, the at least one candidate identity ID(ai), ... , ID(ai) may be derived based on which of the members m that belong to each of the subgroups A, B, C, D and / or E respectively.
[0063] Figure 3 exemplifies how the recognition procedure may be performed according to one embodiment of the invention. Here, we assume that the primary identification station 115 managed to identify all of the members m in the estimated subgroup A’ by linking each of the members ID(ai), ID(a2),... , ID(ap), ID(aq), ID(ar),... , ID(ai) to a respective particular member of the subgroup A except two members m, which are denoted x and y respectively, which are thus unidentified.
[0064] According to one embodiment of the invention, the controller 110 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 the candidate identities ID(ai), ... , ID(ai), here ap-i and ar+i respectively, of the subgroup A for which no match was found among the members m 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 . Given that the basic assumption was correct, i.e., that it was indeed the members m of the subgroup A that were involved in the milking process, the number of the candidate identities ID(ai), ... , ID(ai) should be very small, and consequently the matching of the recognition procedure constitutes a straightforward task for the controller 110.
[0065] Figure 4 exemplifies how the controller 110 may perform the recognition procedure with respect to the 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 110 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 115 during earlier registered passages of the members m in the group H through the first detection zone Z1. In this case, the controller 110 is configured to derive the at least one candidate identity ID(ai), ... , ID(ai) based on the ordinal data Do.
[0066] In connection with the milking process, the members m have preferably passed through the first detection zone Z1 in a sequential order, one by one. The relationship data DCL and / or Do describe interrelations between the members m in the group H and 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.
[0067] 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 animals 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 .
[0068] It is thus also possible to derive candidate identities for an unidentified member x, y based on which other member / s m the unidentified member x, y is most likely to stand next to, adjoin, 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.
[0069] The controller 110 is preferably configured to derive at least one candidate identity (ID(ai), ... , ID(ai)) 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 110 has established that the unidentified members x and y adjoin a first member m with an identity ID(ap) and a second member m with 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, the identity I D(ap-i ) and ID(ar+i) will be the candidate identities for the unidentified members x and y respectively. The controller is then configured to perform the recognition procedure for the unidentified members x and y respectively, seeking to find a match between the unidentified members x, y and the candidate identities ID(ap-i) and ID(ar+i). Also, since all the other members m of the subgroup in question, here A, have been successfully identified, the controller 110 may assign the identity I D(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.
[0070] It should be noted that the hierarchical structure may be altered over time, 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.
[0071] 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.
[0072] Referring now also to Figure 5, according to one embodiment of the invention, the primary identification station 115 contains a ra- dio transceiver system 1 15r 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.
[0073] According to embodiments of the invention, the animal identification system includes a secondary identification station 125, which is communicatively connected to the controller 1 10, for example by a wire connection or through a wireless channel.
[0074] For example, the secondary identification station 125 may be configured to acquire auxiliary data AD from the at least one unidentified member, such as the above-mentioned x and y respectively in connection with the milking process. The controller 1 10 may further be 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 and y respectively and stored auxiliary data AD from the at least one candidate identity ID(ai), ... , ID(ai).
[0075] According to one embodiment of the invention, the secondary identification station 125 includes a camera 125c that is configured to register image data Dimgrepresenting the at least one unidentified member x and y in connection with the milking process, which image data Dimg are comprised in the auxiliary data AD. Here, the controller 1 10 is further configured to perform the recognition procedure by seeking to find a match between the image data Dimg of the at least one unidentified member x and y respectively and stored visual characteristics of the at least one candidate identity I D(ai ) , ... , ID(ai).
[0076] In one embodiment, the matching against the stored visual characteristics of the members of the subgroup A preferably involves matching a set of stored image features of the members of the subgroup A against a set of image features derived from the image data (Dimg). This namely significantly reduces the required processing demand on the controller 1 10. According to another 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, preferably one at the time and in a sequential order, for example when entering a milking position e.g. on a rotating platform. The image data Dimg are comprised in the auxiliary data AD and may thus serve as a basis for the ordinal data Do. Here, the controller 110 is specifically configured to perform the recognition procedure by seeking to find a match between the image data Dimg of the at least one unidentified member x and y respectively and stored visual characteristics of the at least one candidate identity ID(ai), ... , ID(ai).
[0077] Provided that the estimated subgroup is A’, the controller 110 may restrict the derivation of candidate identities exclusively to involve stored visual characteristics of the members of the subgroup A for which no match has already been determined 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.
[0078] The matching against the stored visual characteristics of the members of the subgroup A 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, 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.
[0079] 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, Thus, the controller 110 is provided with a reliable basis for performing the recognition procedure.
[0080] 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.
[0081] According to one embodiment of the invention, the controller 110 is further configured to determine a respective position-candidate identity pair [ID(ai), Pk] and [ID(ai), P1] respectively for each milking position P1 and Pk respectively 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 k:th milking position Pk, where a member m with a first identity ID(ai) occupies the first milking position P1 and a member m with an i:th identity ID(ai) occupies the m:th milking position Pk. Here, the controller 110 is configured to derive the candidate identities to the at least one unidentified member x and y based on the respective position-candidate identity pairs [ID(ai), Pk] and [ID(ai), P1 ], For instance, 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). Then, in this embodiment of the invention, the controller 110 is 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 and y respectively and stored auxiliary data AD from the derived at least one candidate identities, which candidates are based on position-candidate identity pairs for the milking space M. For example, the candidate identity for milking position 05, ID (x) will be the most likely dairy animals to, according to historic analyses of previous milking processes, adjoin milking position 04, ID(14) and / or milking position 06, ID(16).
[0082] 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.
[0083] According to one embodiment of the invention, the system includes an operator interface, which for example is arranged close to a milking stall or an entrance to the milking space M. The operator interface is configured to present the at least one candidate identity I D(ai), ... , ID(ai) to a user, and the controller 110 is here configured to perform the recognition procedure by enabling the user to assign an identity, based on the presented at least one candidate identity I D(ai ) , ... , ID(ai), of the at least one unidentified member, say x and y, via a command being input through the operator interface. In practice, this may involve presenting the at least one candidate identity ID(ai), ... , ID(ai) on a touchscreen display to an operator who may then select an identity for the unidentified members x and y respectively by clicking on the at least one candidate identity ID(ai), ... , ID(ai) that he / she considers to be the most promising candidate for the animals in question. For example, the user may be able to read the code on a tag 535 carried by the at least one unidentified member x, y.
[0084] Returning again 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 one processing unit 101. 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.
[0085] In a first step 605, a respective identity is stored in a first 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.
[0086] In a step 610, which may be carried out before, after or in parallel with step 605, relationship data are stored in second database. The relationship data 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 a first detection zone.
[0087] A step 615, subsequent to steps 605 and 610, checks if at least one member of the group is present in the first detection zone; and if so, a step 620 follows. Otherwise, the procedure loops back and stays in step 615.
[0088] In step 620, information extracted, which information represents the respective identities of the members in the group animals that pass through the first detection zone in connection with a milking process. Thereafter, a step 630 follows.
[0089] In step 630 it is checked, based on the information extracted by the primary identification station, if one or more of the members that passed through the first detection zone could not be identified, i.e. , were unidentified. If so, a step 645 follows, and otherwise the procedure continues to a step 640, which indicates a confirmed identification-status, whereafter the procedure ends.
[0090] In step 645, relationship data are obtained from the second database, and in a subsequent step 650 at least one candidate identity is derived based on the relationship data. The at least one candidate identity is a respective at least one identity of the members of the group, which at least one candidate identity, in the light of the relationship data, is considered to be a promising estimate of the identity of the at least one unidentified member.
[0091] Thereafter, in a step 655, 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 the at least one candidate identity. If the recognition procedure is successful, i.e. , if it is possible to assign a respective identity to the at least one unidentified member, the procedure continues to step 640. Otherwise, the procedure ends without indicating the confirmed identification status.
[0092] 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.
[0093] 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.
[0094] 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.
[0095] 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.
[0096] 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 identification 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 extract information (INFO) that represents the respective identities 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 system comprises a second database (140) communicatively connected to the controller (110), which second database (140) comprises 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), and, in connection with the milking process, the controller (110) is configured to: check, based on the information (INFO) extracted by the primary identification station (115), if at least one of the members (m) in the group (H) is unidentified (x, y), and if at least one of the members (m) in the group (H) is unidentified (x, y) obtain, from the second database (140) said relationship data (DCL, DO) , and based thereon derive at least one candidate identity (ID(ai), ... , ID(ai)) for the at least one unidentified member (x, y), which at least one candidate identity (ID(ai), ... , ID(ai)) is a respective at least one identity of said members (m) of the group (H), 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 the at least one candidate identity (ID(ai), ... , ID(ai)).
2. The animal identification 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 at least one candidate identity (I D(ai ), ... , ID(ai)), the controller (110) is further configured to: indicate a confirmed identification status (IDc).
3. The animal identification 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).
4. The animal identification system according to claim 3, wherein the controller (110) is configured to: establish, based on the information (INFO) extracted by the primary identification station (115), an estimated subgroup (A’) of said subgroups (A) in which subgroup (A) the respective at least one identity of said members (m) in the group (H) is assumed to be comprised, and derive the at least one candidate identity (ID(ai), ... , ID(ai)) based on the estimated subgroup (A’).
5. The animal identification 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, wherein the controller (110) is configured to: derive the at least one candidate identity (ID(ai), ... , ID(ai)) based on the ordinal data (Do).
6. The animal identification system according to claim 5, 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 expressesthe mutual order in which the members (m) in the group (H) are expected to appear in connection with the milking process.
7. The animal identification system according to any one of claims 2 to 6, wherein the controller (1 10) is configured to exclude from the at least one candidate identity (ID(ai), ID(ai)) each identity of the members (m) in the group (H) that has already been determined by the primary identification station (1 15).
8. The animal identification system according to claim 7, wherein the controller (1 10) is configured to indicate the confirmed identification status (IDc) for each of said identity of the members (m) in the group (H) that has already been determined by the primary identification station (1 15).
9. The animal identification system according to any one of the preceding claims, comprising a secondary identification station (125) that is communicatively connected to the controller (1 10), which secondary identification station (125) is configured to acquire auxiliary data (AD) from the at least one unidentified member (x, y) in connection with the milking process, and the controller (1 10) 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 the at least one candidate identity (ID(ai), ... , ID(ai)).
10. The animal identification system according to claim 9, wherein the secondary identification station (125) comprises a camera (125c) configured to register image data (Dimg) representing the at least one unidentified member (x, y) in connection with the milking process, which image data (Dimg) are comprised in the auxiliary data (AD), and the controller (1 10) is further configured to: perform the recognition procedure by seeking to find a match between the image data (Dimg) of the at least one unidentified member (x, y) and stored visual characteristics of the at least one candidate identity (ID(ai), ... , ID(ai)).1 1 . The animal identification system according to claim 10, wherein the matching against the stored visual characteristics of the at least one candidate identity (ID(ai), ID(ai)) comprises matching a set of stored image features of the at least one candidate identity (ID(ai), ID(ai)) against a set of image features derived from the image data (Dimg) of the at least one unidentified member (x, y).
12. The animal identification system according to any one of the preceding claims, wherein the controller (1 10) is further configured to: determine a respective position-candidate identity pair ([ID(ai), Pk], [ID(ai), P1 ]) for each milking position (P1 , Pk) in a set of milking positions in a milking space (M) that is used for the milking process, and derive the at least one candidate identity (ID(ai), ... , ID(ai)) for the at least one unidentified member (x, y) based on the respective position-candidate identity pairs ([ID(ai), Pk], [ID(ai), P1 ]).
13. The animal identification system according to any one of claims 9 to 12, wherein the auxiliary data (AD) comprises at least one biologic characteristics (BC).
14. The animal identification system according to claim 13, wherein the biologic characteristics (BC) relate to a respective milk yield of each member (m) in the group (H).
15. The animal identification system according to any one of the preceding claims, wherein the controller (1 10) is configured to repeatedly update the relationship data (DCL, DO) based on analyses of data (dd) acquired by the primary identification station (1 15) 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).
16. The animal identification system according to claim 15, wherein the controller (1 10) is configured to derive the relationshipdata (DCL, DO) through an analysis procedure of the historic data (HD) which analysis procedure involves machine learning.
17. The animal identification 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.
18. The animal identification system according to any one of the preceding claims, wherein the system comprises an operator interface configured to: present the at least one candidate identity (ID(ai), ... , ID(ai)) to a user, and perform the recognition procedure by enabling the user to assign an identity of the at least one unidentified member (x, y) via a command input through the operator interface.
19. A computer-implemented method executed in a processing unit (101) of a controller (110) in an animal identification 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, which first database (130) is communicatively connected to the controller (110), and extracting information (INFO) that represents the respective identities 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: storing, in 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 thegroup (H), which second database (140) is communicatively connected to the controller (110), checking, based on the information (INFO) extracted by the primary identification station (115), if at least one of the members (m) in the group (H) is unidentified (x, y), and if at least one of the members (m) in the group (H) is unidentified (x, y) obtaining, from the second database (140) the relationship data (DCL, DO), and based thereon deriving at least one candidate identity (ID(ai), ... , ID(ai)) for the at least one unidentified member (x, y), which at least one candidate identity (ID(ai), ... , ID(ai)) is a respective at least one identity of said members (m) of the group (H), 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 the at least one candidate identity (ID(ai), ... , ID(ai)).
20. 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 19 when the computer program (103) is run on the processing unit (101).
21. A non-volatile data carrier (105) containing the computer program (103) of the claim 20.