Animal identification system and computer-implemented method
The animal identification system uses historic relationship data to derive candidate identities, reducing data processing needs and enhancing efficiency and reliability in dairy animal identification, enabling real-time milking process adaptation.
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
Smart Images

Figure SE2025051067_25062026_PF_FP_ABST
Abstract
Description
[0001] Animal Identification System and Computer-Implemented Method
[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.
[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 three- 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 comprising a controller, a first database storing visual characteristics that designates each member in a group of dairy animals, which first database is connected to the controller, and a camera configured to register image data representing at least one member of the group of dairy animals that passes in connection with a milking process, i.e. the camera register image data representing at least one member of the group of dairy animals that passes the cameras field of view (FOV), and the camera being connected to the controller. The system further comprises a second database connected to the controller, which second database comprises relationship data that describe interrelations between the members in the group of dairy animals, which 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 of dairy animals, and, in connection with the milking process, the controller is configured to obtain, from the second database said relationship data, and based thereon derive at least one candidate identity for the at least one member of the group of dairy animals, which at least one candidate identity is a respective at least one identity of said members of the group. The controller is further configured to obtain, from the first database, stored visual characteristics of the derived at least one candidate identity. Further, the controller is configured to obtain, from the camera, registered image data representing at least one member of the group of dairy animals. The controller is further configured to perform a recognition procedure, which recognition procedure seeks to find a match between the obtained registered image data representing the at least one member of the group of dairy animals and the obtained stored visual characteristics of the at least one candidate identity.
[0014] The system is advantageous because it requires less amount of data to be processed, making the identification process more efficient. The 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 a 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. 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.
[0015] The interrelations between the members may for example be the order in which they pass the camera. 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 during earlier registered passages of said members. These earlier registered passages may be acquired from passing the camera or from another separate identification station. For example, acquiring the relationship data could be done by using an RFID reader after the dairy animals exit a milking parlor, like a rotating milking platform, which could identify the order in which the dairy animals were milked.
[0016] In a preferred embodiment, the recognition procedure is performed prior to milking the at least one member of the group of dairy animals, which does not require all of the members to pass the camera in order to be able to perform the recognition procedure. In other words, the identification of the at least one member of the group of dairy animals is performed in real time during the milking process before milking the at least one 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.
[0017] 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 camera. It may also be 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 camera and finished in the milking process.
[0018] 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.
[0019] According to one aspect of the invention, the controller may be configured to derive at least one candidate identity prior to that the at least one member of the group of dairy animals passes the camera. In other words, the controller may be configured to derive at least one candidate identity prior to that the at least one member of the group of dairy animals is in the cameras field of view (FOV). Meaning that the candidate identity for the at least one member to be identified may be derived before the at least one member arrives to the camera, i.e. based on relationship data the most likely identity for the at least one member is derived before the camera register any image data representing the at least one member. It may also be that the candidate identity for the at least one member to be identified may be derived in the moment or after the camera register any image data representing the at least one member. Any of these are advantageous since it requires less amount of data to be processed, making the identification process more efficient. The 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 derived.
[0020] According to another aspect of the invention the controller may be configured to perform an initial recognition procedure, which initial recognition procedure seeks to find a match between the obtained registered image data representing the at least one member of the group of dairy animals and stored visual characteristics of each member in the group of dairy animals. And if the controller manages to find a match, the controller is further configured to indicate a confirmed identification status of the at least one member. And otherwise, if it does not find a match, the controller is further configured to obtain, from the second database, said relationship data, and based thereon derive the at least one candidate identity for the at least one member of the group of dairy animals, which at least one candidate identity is a respective at least one identity of said members of the group. The controller is further configured to obtain, from the first database, stored visual characteristics of the derived at least one candidate identity. The controller being further configured to perform the recognition procedure, which recognition procedure seeks to find a match between the obtained registered image data representing the at least one member of the group of dairy animals and the obtained stored visual characteristics of the at least one candidate identity. In other words, the process of identification of a dairy animal starts with an initial recognition procedure where the image data of a dairy animal passing the camera is compared to stored visual characteristics for all members of the group, the entire herd or a subgroup for example. If there is no clear match then the controller is configured to derive the most likely candidates for the dairy animal to be identified, based on relationship data, and perform the recognition procedure as described previously. This would make a reliable procedure.
[0021] According to one embodiment, when performing the recognition procedure and the controller does not find a match it may be configured to derive a new selection of the at least one candidate identity for the at least one member of the group of dairy animals. Thus, the candidate identities for the member to be identified are chosen based on the most likely identities, the identities with the highest statistical probability, in view of the relationship data. But, if there is no match then a new selection of candidate identities is derived, preferably the ones next in line in view of statistical probability. This selection could increase to eventually involve the entire group, for example the entire herd or certain subgroup / s. By this, the recognition procedure starts off with a relatively small number of candidate identities and then increasing the number until finding a match or being through all stored identities. This is advantageous since it requires less amount of data to be processed. The 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 derived. It also makes it more reliable since the identification procedure consistently seeks to find a match but at the same time being efficiently since it is performed with respect to a relatively small number of data records.
[0022] 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 obtained registered image data representing the at least one member of the group of dairy animals and the obtained stored visual characteristics of the at least one candidate identity, the controller is further configured to indicate a confirmed identification status of the at least one member. Thus, an entirely successful identification may be effected in a straightforward manner. The identities of the dairy animals may be confirmed progressively as the dairy animals pass through the camera.
[0023] According to another embodiment of this aspect of the invention, the controller may also be configured to exclude from the at least one candidate identity each identity of the members in the group that has already been indicated a confirmed identification status. Thus, any unnecessary matching can be avoided.
[0024] According to another embodiment of this aspect of the invention, the relationship data comprises ordinal data reflecting a mutual order in which the members in the group are expected to appear in connection with the milking process, wherein 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 at least one member of the group of dairy animals, i.e. candidate identities. Thereby, an efficient and reliable identification procedure is performed where the overall process is very data efficient.
[0025] 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, which at least one type of 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 at least one member, i.e. candidate identities. Thereby, an efficient and reliable identification procedure is performed where the overall process is very data efficient.
[0026] According to another aspect of the invention, the relationship data comprises cluster data defining at least two subgroups within the group, wherein each of said subgroups comprises a respective number of members of the group. 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.
[0027] According to one embodiment of this aspect of the invention, the controller is configured to establish an estimated subgroup of said subgroups in which subgroup the at least one member is assumed to be comprised. And the controller is further configured to derive the at least one candidate identity for the at least one member based on the estimated subgroup. Typically, this namely reduces the matching task significantly.
[0028] 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 during earlier registered passages in connection with the milking process of the members in the group of dairy animals, which data are added to the historic data stored in the second database. 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 a member of the group of dairy animals to be identified. 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.
[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 a further embodiment of this aspect of the invention, the matching against the stored visual characteristics of the at least one candidate identity, the stored visual characteristics being obtained from the first database, comprises matching a set of stored image features against a set of image features derived from the image data representing the at least one member of the group of dairy animals. Consequently, the matching task becomes relatively simple from computational point-of-view. The set of image features may for example relate to certain characteristics of the animals’ face, head and / or body. This will not be further discussed in this application.
[0031] Seeking to find a match between the image features from the at least one member and stored image features from the at least one candidate identity may involve comparing the image features from the at least one member with stored image features from the at least one candidate identity.
[0032] According to still another embodiment of this aspect of the invention, the system comprises an operator interface configured to present the at least one candidate identity to a user if the at least one member does not receive a confirmed identification status, and enable the user to assign an identity to the at least one member of the group of dairy animals 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 the member by clicking on the proposed candidate identity that he / she considers to be the most promising candidate for the dairy animal in question.
[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 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 another aspect of the invention, the object is achieved by a computer-implemented method executed in a processing unit of a controller in an animal identification system, which method comprises storing, in a first database, visual characteristics that designates each member in a group of dairy animals, which first database is connected to the controller. The method involves registering, with a camera, image data representing at least one member of the group of dairy animals that passes in connection with a milking process. Further, the method comprises storing, in a second database, relationship data that describe interrelations between the members in the group of dairy animals. The relationship data being based on an analysis of historic data acquired during earlier registered passages in connection with the milking process of the members in the group of dairy animals. The second database being connected to the controller. The method further involves obtaining said relationship data from the second database. Based on the relationship data the method involves deriving at least one candidate identity for the at least one member of the group of dairy animals, which at least one candidate identity is a respective at least one identity of said members of the group. The method further involves obtaining, from the first database, stored visual characteristics of the derived at least one candidate identity. The method further involves obtaining, from the camera, registered image data representing at least one member of the group of dairy animals. Thereafter, a recognition procedure, seeking to find a match between the obtained registered image data representing the at least one member of the group of dairy animals and the obtained stored visual characteristics of the at least one candidate identity, is performed. 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.
[0035] 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.
[0036] According to another aspect of the invention, the object is achieved by a non-volatile data carrier containing the above computer program.
[0037] Further advantages, beneficial features and applications of the present invention will be apparent from the following description and the dependent claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] 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.
[0039] Figure 1 schematically illustrates an animal identification system according to one embodiment of the invention;
[0040] Figure 2 illustrates how cluster data may define subgroups within the group of animals according to embodiments of the invention;
[0041] Figure 3 exemplify embodiments according to embodiments of the invention seeking to identify members in the group of animals;
[0042] Figure 4 illustrates, by means of a flow diagram, the general method for identifying animals according to the invention.
[0043] DETAILED DESCRIPTION
[0044] Figure 1 shows a schematic illustration of an animal identification system according to one embodiment of the invention.
[0045] The animal identification system includes a controller 110, a first database 130, a second database 140 and a camera 120. Each of the first and second databases 130 and 140 respectively and the camera 120 is communicatively connected to the controller 110 for example by a respective or shared wire connection or through a wireless channel.
[0046] The first database 130 stores visual characteristics that uniquely designate each member m in a group H of dairy animals, for instance dairy cows, the stored visual characteristics represents each individual member in the group of dairy animals. Thus, the visual characteristics may be used to identify each respective member in the group. The stored visual characteristics may comprise a set of stored image features for each individual member and these stored image features may be any features known to use for identification. The set of image features may for example relate to certain characteristics of the animals’ face, head and / or body. The camera 120 is configured to register image data Dimg , on a still or video format, representing at least one member m of the group H of dairy animals that passes, i.e. is in the cameras 120 field of view (FOV), in connection with a milking process, preferably one at the time and in a sequential order, for example when entering a milking position e.g. on a rotary milking platform. The camera 120 may for example be located in connection with an entering gate to a rotary milking platform or a stationary milking parlor or after the dairy animals have entered the rotary milking platform, i.e. when entered a specific stall of the rotating platform, or stationary milking parlor. From the registered image data Dimg representing at least one member of the group of dairy animals a set of image features, which may relate to certain characteristics of the animals’ face, head and / or body, may be derived.
[0047] The second database 140 contains relationship data, here denoted DCL and Do, that describes 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 during earlier registered passages in connection with the milking process of the members m in the group H of dairy animals, where said analysis may have been carried out by the controller 110, or by a processing resource separate there from. The historic data HD may be acquired from previous identifications made with aid of the camera 120 or from another separate identification station. For example, acquiring the historic data HD of relationship data could be done by using an RFID reader after the dairy animals exit a milking parlor, like a rotating milking platform, which could identify the order in which the dairy animals were milked.
[0048] In connection with the milking process, 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 I D(ai ), ... , ID(ai) for the at least one member m of the group of dairy animals. 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. The candidate identities I D(ai ) , ... , ID(ai) for the member m to be identified are chosen based on the most likely identities, the identities with the highest statistical probability, in view of the relationship data DCL and Do. The controller 110 is then configured to perform a recognition procedure with respect to the at least one member m to be identified. The recognition procedure seeks to find an identity for the at least one member m by seeking to find a match between the obtained registered image data Dimgrepresenting the at least one member m of the group H of dairy animals and obtained stored visual characteristics of the at least one candidate identity ID(ai), ID(ai) and thus assign a respective identity, if finding a match, to the member m. For example, the recognition procedure seeks to find a match between specific image features of the member m and the at least one candidate identity I D(ai ) , ... , ID(ai). The matching against the stored visual characteristics of the at least one candidate identity ID(ai), ... , ID(ai) may thus comprise matching a set of stored image features against a set of image features derived from the image data Dimg representing the at least one member m of the group of dairy animals.
[0049] The matching between specific image features is not further described in here.
[0050] In one aspect of the invention, if, when performing the recognition procedure, the controller 110 manages to find a match between the image data Dimg representing the at least one member m of the group H of dairy animals and obtained stored visual characteristics of the at least one candidate identity ID(ai), ... , ID(ai) then the controller 110 is configured to indicate a confirmed identification status IDc on that at least one member m, thus an identity may be assigned to the member m. Thereby, for example a farmer may be notified that all or at least one of the dairy animals were identified in connection with the milking process.
[0051] The controller 110 may be configured to exclude each identity of the members m in the group H that has already been indicated with a confirmed identification status IDc from the at least one candidate identity ID(ai), ... , ID(ai), making the process more efficient by avoiding unnecessary data processing. Thus, if the determined identity for one member m is ID(ai) then ID(ai) may be excluded from being part of any further recognition procedure, i.e. ID(ai) will not be a candidate identity for another member m. This is valid until the subsequent milking process, i.e. until next milking. In a further aspect, if, when performing the recognition procedure, the controller 1 10 does not find a match, e.g. does not indicate a confirmed identification status IDc on that at least one member m, the controller 1 10 is configured to derive a new selection of the at least one candidate identity ID(ai), ... , ID(ai) for the member m. The candidate identities ID(ai), ... , ID(ai) for the member m to be identified are chosen based on the most likely identities, the identities with the highest statistical probability, in view of the relationship data DCL and Do. But, if there is no match then a new selection of candidate identities is derived, preferably the ones next in line in view of statistical probability. For example, if the candidate identities for the member m are derived, based on the relationship data, to be ID(ai) and ID(a2), but neither of the stored image features for ID(ai) and ID(a2) matches the derived image features for the member m then a new set of candidate identities for the member m is derived.
[0052] The controller 1 10 may be configured to derive the at least one candidate identity ID(ai), ... , ID(ai) prior to, i.e. before, the member m is in the cameras 120 FOV. Then when the member m passes the camera 120, the most likely identities, i.e. candidate identities ID(ai), ... , ID(ai), for that member m have already been derived based on the historic data HD obtained from the second database 140. The image data Dimgfor the member m may then be matched against the stored visual characteristics of those derived candidate identities in order to determine the identity of the member m.
[0053] In another embodiment, the controller 1 10 may be configured to derive the at least one candidate identity I D(ai ) , ... , ID(ai) after the camera has registered image data Dimg for the member m, the image data Dimg then being stored in a memory. It may then be that the recognition procedure starts after the entire group H or subgroup has been milked.
[0054] In another embodiment, the controller 1 10 may be configured to derive the at least one candidate identity ID(ai), ... , ID(ai) at the moment the member m is in the cameras 120 FOV.
[0055] In either embodiment the image data Dimg for the member m may be stored and used for updating the visual characteristics stored in the first database 130. In another embodiment, the controller 110 is configured to perform an initial recognition procedure, which initial recognition procedure seeks to find a match between the obtained registered image data Dimgrepresenting the at least one member m of the group H of dairy animals and stored visual characteristics of each member m in the group H of dairy animals. The controller thus starts with trying to find a matching identity between the member m to be identified and all of the members of the group H. And if the controller manages to find a match, the controller is further configured to indicate a confirmed identification status of the at least one member. And otherwise, if it does not find a match, the controller 110 is further configured to deriving candidate identities ID(ai), ... , ID(ai) as described previously and perform the recognition procedure described above, i.e. seeking to find a match between the obtained registered image data Dimg representing the at least one member m of the group H of dairy animals and stored visual characteristics of the at least one candidate identity ID(ai), ... , ID(ai).
[0056] Figure 2 illustrates how cluster data may define subgroups within the group H of dairy 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 cameras FOV 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 will pass the camera in connection with the milking process. Specifically, assume that a first member m that passes the camera matches cy. Then, it is reasonable to expect that the third milking group, which represents an estimated subgroup C’ has arrived to be milked. Therefore, at least provisionally, the controller 110 only need to derive candidate identities from the subgroup C. As a result, the processing capacity may be economized in the controller 110. Thus, according to one embodiment of the invention, the controller 110 is configured to establish an estimated subgroup of said subgroups A, B, C or D in which subgroup the at least one member is assumed to be comprised, and the controller 110 may derive the at least one candidate identity for the at least one member based on the estimated subgroup.
[0057] An estimated subgroup may be determined by matching identities for a first member m, or a number of members say e.g. the first five members, to arrive to be milked. The matching may be done by seeking to find a match between the obtained image data of the member m and stored visual characteristics of each member in the subgroup E, i.e. the members of each subgroup expected to arrive first. For example, the candidate identities for a first member m arriving to be milked would be ID(aq), ID(bx), ID(Cy) and ID(dz) thus the members in subgroup E. The controller 110 would then be configured to seeking a match between the obtained image data from the camera of the first passing member m and stored visual characteristics of members ID(aq), ID(bx), ID(cy) and ID(dz). Alternatively, or if the above would not generate a match, a first member m, or a number of members say e.g. the first five members, may be identified by seeking a match between the obtained image data from the camera of the passing member m and stored visual characteristics of the entire group H.
[0058] Alternatively, the subgroup to be milked may be determined by the farmer manually updating the controller 110 with the information regarding subgroup. A further alternative is that a separate identification reader, like an RFID reader prior entrance or on milking platform or parlor, determines the identity of at least one member in order to determine the subgroup.
[0059] 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 to the cameras FOV. According to the invention, the subgroups in the group of dairy 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.
[0060] In connection with the milking process, the members m have preferably entered the rotating milking platform or parlor 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 during earlier registered passages of the members m in the group H.
[0061] 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. By registering earlier passages of the members m in the group or a subgroup the order in which the members appear to the milking process, e.g. the order they stand in the stalls of a rotating milking platform, can be acquired. For example, say dairy cow ID(ap+i) is, based on the historic data HD acquired during the earlier passages, always positioned in one of the first five stalls of a rotating platform then ID(ap+i) would be one of the candidate identities for the first five members m positioned in the first five stalls. Furthermore, say dairy cows ID(ar-i) or ID(ar+i) are often positioned in the adjoining stall to dairy cow ID(ar) then if dairy cow ID(ar) is identified then the dairy cows ID(ar-i) or ID(ar+i) will be included in the candidate identities for the next coming member m in the adjoining stall to dairy cow ID(ar).
[0062] Thus the ordinal data Do comprises the information on mutual order in which the members m in the group H are expected to appear in con- nection with the milking process, i.e. adjoining members and / or probability that a member appears in a specific range of members.
[0063] 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 during registered passages of the members m in the group H, where the data dd are added to the historic data HD already stored in the second database 140.
[0064] 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.
[0065] Figure 3 exemplifies how the controller 110 may perform the recognition procedure with respect to a member m to be identified. 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 is based on the historic data HD acquired during earlier registered passages of the members m in the group H. The controller 110 is configured to derive the at least one candidate identity I D(ai ), ... , ID(ai) based on the ordinal data Do.
[0066] The controller 110 is preferably configured to derive at least one candidate identity ( I D(ai ) , ... , ID(ai)) with respect to the member m to be identified 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 member r adjoin a first member m with an identity I D(ap); and, according to the ordinal data Do, the identity I D(ap) is expected to adjoin a member m with an identity ID(ap+i). Then, the identity ID(ap+i) will be the candidate identity for the member r . The controller is then configured to perform the recognition procedure for the member r , seeking to find a match between the member r and the candidate identity I D(ap+i) , which may be done by comparing the image features for the member mi and the candidate identity ID(ap+i).
[0067] 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’. Of course, this renders the matching process very uncomplicated and highly efficient from a computational point-of-view.
[0068] 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 ID(ai), ... , ID(ai) to a user if the at least one member does not receive a confirmed identification status, and the controller 110 is here configured to enabling the user to assign an identity, based on the presented at least one candidate identity ID(ai), ... , ID(ai) of the at least one member m to be identified, via a command being input through the operator interface. It may also be possible for the user to assign an identity, based on any one of the identities in the group H, to the at least one member m to be identified. 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 member m 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 carried by the at least one member m.
[0069] 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 k:th milking position Pk. Here, the controller 110 is configured to derive the candidate identities to the at least one member m 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(m); milking position 06, ID(16); milking position 07, ID(17); and milking position 08, ID(18). 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 at least one member m and 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 (m) 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).
[0070] 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.
[0071] In order to sum up, and with reference to the flow diagram in Figure 4, we will now describe the computer-implemented method according to the invention for identifying animals in connection with a milking process, which method is performed in the at least one processor 101 of the controller 110.
[0072] In a step 505, respective visual characteristics are stored in the first database, which uniquely designates each member in a group of dairy animals.
[0073] In a step 510, which may be carried out before, after or in parallel with step 505, 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 during earlier registered passages of the members in the group.
[0074] A step 515, subsequent to steps 505 and 510, checks if at least one member of the group is present in the cameras FOV; and if so, a step 520 follows. Otherwise, the procedure loops back and stays in step 515.
[0075] In step 520, image data representing respective member(s) passing the cameras FOV is registered.
[0076] In step 525, which may be carried out before, after or in parallel with step 515, relationship data are obtained from the second database, and in a subsequent step 530, which may also be carried out before, after or in parallel with step 515, 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 member which will be present, is present or has been present in the cameras FOV.
[0077] In step 535, performed after step 530, the stored visual characteristics for the derived at least one candidate identity are obtained.
[0078] Thereafter, in step 540, a recognition procedure is performed. The recognition procedure seeks to find a match between the at least one member and the at least one candidate identity. Following step 545 where it is determined if the recognition procedure is successful or not, i.e. , if it is possible to assign a respective identity to the at least one member or not. If it is possible to assign a respective identity to the at least one member the procedure continues to step 550 where a confirmed identification is indicated. Otherwise, the procedure ends without indicating the confirmed identification status. Alternatively, it loops back to step 530, i.e. deriving a new selection of candidate identities.
[0079] The process steps described with reference to Figure 4 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 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.
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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 visual characteristics that designates each member (m) in a group (H) of dairy animals, which first database (130) is connected to the controller (110), and a camera (120) configured to register image data (Dimg) representing at least one member (m) of the group (H) of dairy animals that passes in connection with a milking process, and the camera (120) being connected to the controller (110), characterized in that the system comprises a second database (140) 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) of dairy animals, 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) of dairy animals, and, in connection with the milking process, the controller (110) is configured to: obtain, from the second database (140) said relationship data (DCL, DO), and based thereon derive at least one candidate identity (I D(ai), ... , ID(ai)) for the at least one member (m) of the group (H) of dairy animals, 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), obtain, from the first database (130), stored visual characteristics of the derived at least one candidate identity (I D(ai), ... , ID(ai)), obtain the registered image data (Dimg) representing at least one member (m) of the group (H) of dairy animals, and perform a recognition procedure, which recognition procedure seeks to find a match between the obtained registered image data (Dimg)representing the at least one member (m) of the group (H) of dairy animals and the obtained stored visual characteristics of the at least one candidate identity (I D(ai), ID(ai)).
2. The animal identification system according to claim 1 , wherein the controller (110) is configured to: derive at least one candidate identity (I D(ai), ID(ai)) prior to that the at least one member (m) of the group (H) of dairy animals passes the camera (120).
3. The animal identification system according to claim 1 , wherein the controller (110) is configured to: perform an initial recognition procedure, which initial recognition procedure seeks to find a match between the obtained registered image data (Dimg) representing the at least one member (m) of the group (H) of dairy animals and stored visual characteristics of each member (m) in the group (H) of dairy animals, and if the controller (110) manages to find a match indicate a confirmed identification status (IDc) of the at least one member (m), and otherwise obtain, from the second database (140) said relationship data (DCL, DO), and based thereon derive the at least one candidate identity (ID(ai), ... , ID(ai)) for the at least one member (m) of the group (H) of dairy animals, 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), obtain, from the first database (130), stored visual characteristics of the derived at least one candidate identity (I D(ai ), ... , ID(ai)), and perform the recognition procedure, which recognition procedure seeks to find a match between the obtained registered image data (Dimg) representing the at least one member (m) of the group (H) of dairyanimals and the obtained stored visual characteristics of the at least one candidate identity (I D(ai), ID(ai)).
4. The animal identification system according to any one of the preceding claims, wherein if, when performing the recognition procedure, the controller (110) does not find a match it is further configured to derive a new selection of the at least one candidate identity (I D(ai ) , ... , ID(ai)) for the at least one member (m) of the group (H) of dairy animals.
5. The animal identification system according to any one of the preceding claims, wherein if, when performing the recognition procedure, the controller (110) manages to find a match between the obtained registered image data (Dimg) representing the at least one member (m) of the group (H) of dairy animals and the obtained stored visual characteristics of the at least one candidate identity (I D(ai ) , ... , I D(ai)) , the controller (110) is further configured to: indicate a confirmed identification status (I De) of the at least one member (m).
6. The animal identification system according to claim 5, wherein the controller (110) is configured to exclude from the at least one candidate identity (I D(ai ) , ... , ID(ai)) each identity of the members (m) in the group (H) that has already been indicated a confirmed identification status (IDc).
7. 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 (I D(ai), ... , ID(ai)) basedon the ordinal data (Do).
8. The animal identification system according to claim 7, 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 in the group are expected to appear in connection with the milking process.
9. The animal identification system according to any one of the preceding claims, wherein the relationship data (DCL, DO) comprises cluster data (DCL) defining at least two subgroups (A, B, C, D, E) within the group, wherein each of said subgroups (A, B, C, D, E) comprises a respective number of members (m) of the group (H).
10. The animal identification system according to claim 9, wherein the controller (110) is configured to: establish an estimated subgroup of said subgroups (A, B, C, D, E) in which subgroup the at least one member (m) is assumed to be comprised, and derive the at least one candidate identity (I D(ai), ... , ID(ai)) for the at least one member (m) based on the estimated subgroup.
11. The animal identification 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 during earlier registered passages in connection with the milking process of the members (m) in the group (H) of dairy animals, which data (dd) are added to the historic data (HD) stored in the second database (140).
12. The animal identification system according to claim 11 , 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.
13. The animal identification system according to any one of the preceding claims, 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 against a set of image features derived from the image data (Dimg) representing the at least one member (m) of the group (H) of dairy animals.
14. The animal identification system according to claim 5, wherein the system comprises an operator interface configured to: present the at least one candidate identity (I D(ai ) , ... , ID(ai)) to a user if the at least one member (m) does not receive a confirmed identification status (I De), and enable the user to assign an identity to the at least one member (m) of the group (H) of dairy animals via a command input through the operator interface.
15. A computer-implemented method executed in a processing unit of a controller (110) in an animal identification system, which method comprises: storing, in a first database (130), visual characteristics that designates each member (m) in a group (H) of dairy animals, which first database (130) is connected to the controller (110), and registering, with a camera (120), image data (Dimg) representing at least one member (m) of the group (H) of dairy animals that passes in connection with a milking process, characterized in that the method comprisesstoring, in a second database (140), relationship data (DCL, Do) that describe interrelations between the members (m) in the group (H) of dairy animals, 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) of dairy animals, which second database (140) is connected to the controller (110), obtaining, from the second database (140) said relationship data (DCL, DO) , and based thereon deriving at least one candidate identity (ID(ai), ... , ID(ai)) for the at least one member (m) of the group (H) of dairy animals, which at least one candidate identity (I D(ai ) , ... , ID(ai)) is a respective at least one identity of said members (m) of the group (H), obtaining, from the first database (130), stored visual characteristics of the derived at least one candidate identity (I D(ai ) , ... , ID(ai)), obtaining the registered image data (Dimg) representing at least one member (m) of the group (H) of dairy animals, and performing a recognition procedure, which recognition procedure seeks to find a match between the obtained registered image data (Dimg) representing the at least one member (m) of the group (H) of dairy animals and the obtained stored visual characteristics of the at least one candidate identity (I D(ai), ... , ID(ai)).