Electronic device for controlling identification of an animal in an environment and related method

CN122743526APending Publication Date: 2026-09-11DELAVAL HLDG AB
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202580014471.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-03-22
Filing Date
2025-03-17
Publication Date
2026-09-11

AI Technical Summary

Benefits of technology

[0007] The advantages of this disclosure are that the disclosed electronic equipment and methods improve the accuracy of individual animal identification (e.g., finding a match between a detected animal and a reference animal based on sensor data, or classifying a detected animal as a non-reference animal). The disclosed electronic equipment and methods provide more robust and resilient identification of animals (such as bovines) under conditions involving various environmental factors present in the farming area (such as animals bumping into camera sensors, spiders, spider webs obscuring part of the field of view, rain, stains, dirt, etc.). The disclosed robust animal identification may be particularly advantageous for tracking and monitoring each animal in livestock. Furthermore, the disclosed animal identification can be used to control one or more machines, such as milking machines, feeding machines, and/or other types of machinery. In some examples, the disclosed electronic equipment may benefit from improved battery usage while being compact and portable. The disclosed electronic equipment can lead to more efficient maintenance costs or effort, and may result in their reduction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122743526A_ABST
    Figure CN122743526A_ABST
Patent Text Reader

Abstract

An electronic device is disclosed that includes a memory circuit, a processor circuit, and an interface. The electronic device is configured to obtain sensor data from a sensor, where the sensor data includes three-dimensional image data representing at least a portion of a gait cycle of a bovine in an environment. The electronic device is configured to adjust the sensor data to compensate for environmental factors. The electronic device is optionally configured to generate a first feature vector associated with the bovine based on the adjusted sensor data. The electronic device is optionally configured to obtain a plurality of reference feature vectors associated with a plurality of reference bovines. The electronic device is optionally configured to compare the first feature vector to the plurality of reference feature vectors. The electronic device is optionally configured to control identification of the bovine based on the comparison.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of image processing, and more particularly to image processing for animal monitoring. This disclosure relates to an electronic device and related method for controlling the identification of animals in the environment. Background Technology

[0002] Animal identification plays a vital role in animal breeding and production systems, allowing producers to maintain records of animal information, such as one or more of the following: date of birth, production records, health history, parentage data, physical condition scores, and any other suitable administrative information related to the animal. Animal identification can be used to control the passage of such animals by automatically opening or closing doors based on individual credentials associated with the animal. Summary of the Invention

[0003] Camera-based signage solutions offer advantages in terms of portability, cost, and ease of deployment. However, camera-based signage can be degraded by environmental factors such as animals bumping into the camera sensor, spiders, spider webs obscuring part of the field of view, rain, stains, dirt, etc.

[0004] Therefore, there is a need for equipment and methods that can mitigate, alleviate, or resolve existing shortcomings and provide more robust and resilient animal identification to the aforementioned environmental factors.

[0005] An electronic device is disclosed, comprising memory circuitry, processor circuitry, and an interface. The electronic device is configured to acquire sensor data from sensors, wherein the sensor data includes three-dimensional image data representing at least a portion of the gait cycle of a bovine animal in an environment. The electronic device is configured to adjust the sensor data to compensate for environmental factors. The electronic device is optionally configured to generate a first feature vector associated with a bovine animal based on the adjusted sensor data. The electronic device is optionally configured to obtain a plurality of reference feature vectors associated with a plurality of reference bovine animals. The electronic device is optionally configured to compare the first feature vector with the plurality of reference feature vectors. The electronic device is optionally configured to control the identification of bovine animals based on the comparison.

[0006] A method executed by an electronic device is disclosed, such as for controlling the identification of animals, such as bovines. The method includes acquiring sensor data from sensors. The sensor data includes three-dimensional image data representing at least a portion of the gait cycle of a bovine in the environment. The method includes adjusting the sensor data to compensate for environmental factors. The method includes generating, S106, a first feature vector associated with the bovine based on the adjusted sensor data. The method includes obtaining multiple reference feature vectors associated with multiple reference bovines. The method includes comparing the first feature vector with the multiple reference feature vectors. The method includes controlling the identification of the bovine based on the comparison.

[0007] The advantages of this disclosure are that the disclosed electronic equipment and methods improve the accuracy of individual animal identification (e.g., finding a match between a detected animal and a reference animal based on sensor data, or classifying a detected animal as a non-reference animal). The disclosed electronic equipment and methods provide more robust and resilient identification of animals (such as bovines) under conditions involving various environmental factors present in the farming area (such as animals bumping into camera sensors, spiders, spider webs obscuring part of the field of view, rain, stains, dirt, etc.). The disclosed robust animal identification may be particularly advantageous for tracking and monitoring each animal in livestock. Furthermore, the disclosed animal identification can be used to control one or more machines, such as milking machines, feeding machines, and / or other types of machinery. In some examples, the disclosed electronic equipment may benefit from improved battery usage while being compact and portable. The disclosed electronic equipment can lead to more efficient maintenance costs or effort, and may result in their reduction.

[0008] An electronic device is disclosed, comprising memory circuitry, processor circuitry, and an interface. The electronic device is configured to acquire first sensor data from a first sensor. The first sensor data includes three-dimensional image data representing a bovine animal in an environment. The electronic device is configured to generate a first feature vector associated with the bovine animal based on the first sensor data. The electronic device is configured to acquire multiple reference feature vectors associated with multiple reference bovine animals. The electronic device is configured to compare the first feature vector with the multiple reference feature vectors. The electronic device is configured to generate a confidence value based on the comparison, wherein the confidence value indicates the accuracy of the match between the bovine animal and one of the multiple reference bovine animals. The electronic device is configured to control the identification of the bovine animal based on the confidence value.

[0009] A method executed by an electronic device is disclosed, such as for controlling the identification of an animal, such as a bovine. The method includes acquiring first sensor data from a first sensor. The first sensor data includes three-dimensional image data representing a bovine in an environment. The method includes generating a first feature vector associated with the bovine based on the first sensor data. The method includes obtaining a plurality of reference feature vectors associated with a plurality of reference bovines. The method includes comparing the first feature vector with the plurality of reference feature vectors. The method includes generating a confidence value based on the comparison, wherein the confidence value indicates the accuracy of the match between the bovine and one of the plurality of reference bovines. The method includes controlling the identification of the bovine based on the confidence value.

[0010] The advantages of this disclosure are that the disclosed electronic equipment and methods improve the accuracy of animal identification control. For example, the disclosed technology enables the updating of reference data used for identifying animals (such as bovines). The disclosed electronic equipment and methods allow for the identification of non-reference animals. The disclosed robust animal identification is particularly advantageous for tracking and monitoring each animal in livestock by combining it with a second sensor, which is not necessarily of the same type as the first sensor. Furthermore, the disclosed animal identification can be used to control one or more machines, such as milking machines, feeding machines, and / or other types of machines. In some examples, the disclosed electronic equipment benefits from improved battery usage while being compact and portable. In some examples, the disclosed electronic equipment allows for improved identification accuracy, particularly by including, for example, additional data (such as historical sensor data, second sensor data, etc.). In some examples, this can be used to monitor the overall performance of the identification and detect and / or predict degradation.

[0011] In some examples, the disclosed electronic devices and methods can benefit from execution in compact portable devices, such as cameras, while maintaining improved battery usage, since sensor data obtained from one or more sensors, such as cameras, can be triggered occasionally and processed locally (e.g., in a smart camera and / or a computer located near one or more sensors). Furthermore, the disclosed electronic devices and methods can benefit from reduced power consumption during the identification process, reduced bandwidth usage during the identification process, and extended product lifespan. Attached Figure Description

[0012] The above and other features and advantages of this disclosure will become apparent to those skilled in the art from the following detailed description of examples of the disclosure with reference to the accompanying drawings, in which:

[0013] Figure 1 This is a diagram illustrating an example wireless communication system according to the present disclosure, including example network nodes and example wireless devices.

[0014] Figures 2A to 2B A flowchart illustrating an example method performed by an electronic device according to this disclosure is shown.

[0015] Figure 3 This is a block diagram illustrating an example electronic device according to the present disclosure.

[0016] Figures 4A to 4B A flowchart illustrating an example method performed by an electronic device according to this disclosure is shown, and

[0017] Figure 5 This is a block diagram illustrating an example electronic device according to the present disclosure. Detailed Implementation

[0018] In the following description, various examples and details are illustrated with reference to the accompanying drawings, where applicable. It should be noted that the drawings may be drawn to scale or not, and that elements with similar structures or functions are indicated by the same reference numerals throughout all the drawings. It should also be noted that the drawings are intended only to facilitate the description of examples. They are not intended as an exhaustive description of this disclosure or as a limitation on the scope of this disclosure. Furthermore, the illustrated examples do not need to possess all the aspects or advantages shown. Aspects or advantages described in connection with a particular example are not necessarily limited to that example, and may be practiced in any other example even if not so illustrated or so explicitly described.

[0019] For clarity, the accompanying drawings are schematic and simplified, and they show only details that aid in understanding this disclosure, while other details are omitted. Throughout the text, the same reference numerals are used for the same or corresponding parts.

[0020] In this context, the camera is configured to record the animal's breeding environment (e.g., in a dairy farm), and debris (e.g., straw and / or sawdust) and animals bumping into the camera may distort the performance results.

[0021] The inventors have discovered that compensating for such environmental factors improves the robustness and resilience of animal identification. For example, when identifying individual animals (such as bovines) using camera images, the disclosed technique allows for sensor data from other cameras mounted in different locations (e.g., at different heights, at different angles) and using different lenses, and extracts feature vectors (such as features represented by the feature vectors) for identification through compensation or normalization, making the identification independent of environmental factors. This can be robust for training a camera in one location and then slightly tilting it to a new location, for example, due to wind or an animal hitting the camera. For example, changes in image quality can also depend on degradation due to dirt accumulation on the camera lens over time.

[0022] This disclosure can provide more accurate and robust identification of animals by allowing appropriate adjustments to the obtained sensor data.

[0023] For example, animal identification may be advantageous in allowing bovine animals (such as dairy cows) to pass through one or more of the milking machine, feeding area, and resting area according to their needs and prior behavior.

[0024] The feature vectors disclosed herein (such as first feature vectors, second feature vectors, and / or third feature vectors) can be considered as vectors comprising numerical and / or symbolic properties representing objects (such as animals in an environment). Feature vectors may include one or more attributes of an object that characterize the object individually or in relation to other objects. In other words, feature vectors can be considered as vectors comprising data indicating multiple features. Features can be one or more of the following: color components, length components, volume components, area components, height components, width components, depth components, shape components, size components, grayscale intensity value components, and any other suitable features.

[0025] The feature vector may include the color components of the object, such as the horizontal intensity values ​​used to describe the corresponding red, green, and blue (RGB) components of the object. The feature vector may include one or more of the height, width, intensity (such as the intensity in the infrared spectrum of each point or pixel), and depth associated with the object's 3D shape. Features and feature vectors may be used interchangeably in this disclosure.

[0026] In this disclosure, the object is animals, such as walking animals, such as animals for domestication, such as one or more of the following: bovines, equines and swine.

[0027] The animal can be one or more of the following: cows, calves, horses, goats, pigs, and sheep. In other words, the animal can be a bovine (e.g., a cow), a suidae (pig), an equine (equine), and / or any other suitable animal breed. The disclosed technique is applicable to suines, equines, and / or any other suitable animal breed.

[0028] This disclosure provides one or more techniques (such as computer vision techniques) for identifying animals, particularly based on their body parts and corresponding spatial and temporal coordinates in a 3D point coordinate space. In other words, this disclosure allows for more accurate identification of the topological and / or morphological features of animals (such as the animal's body shape and outline).

[0029] The gait patterns disclosed herein can be viewed as patterns that characterize the movement of one or more parts of an animal (such as one or more joints, one or more key points, such as the animal's sacrum) over time.

[0030] This disclosure enables the control of machinery suitable for individual animals. The machinery may be incorporated into a farm management system.

[0031] Figure 1 This is a diagram illustrating an example system 1 according to the present disclosure, including example remote device 400 and example devices 300, 300A.

[0032] As discussed in detail herein, this disclosure relates to System 1. System 1 may be one or more of the following: animal monitoring system, breeding system, animal milking system, slaughterhouse system, wildlife monitoring system (such as for monitoring bison), and animal feeding system.

[0033] The system 1 described herein may include one or more of the following: devices 300, 300A and / or one or more remote devices 400. Devices 300, 300A may be configured to communicate with remote devices 400 via wireless links (or radio access links) 10, 10A and / or wired links 12, 12A.

[0034] Equipment 300 and 300A can refer to monitoring electronic devices that can be installed in livestock sheds and / or facilities for monitoring animal activities.

[0035] Remote device 400 may be installed away from livestock sheds and / or facilities for remote monitoring of animal activity. Remote device 400 may be located away from, near, or far from livestock sheds. Remote device 400 may be one or more of the following: back-end devices (such as computers, laptops, PCs, tablets, and / or mobile phones) and server devices (such as part of a cloud architecture).

[0036] Equipment 300 and 300A can be used to guide bovine animals to feeding and / or milking and / or resting areas. Equipment 300 and 300A can be part of a farm management system (such as a subsystem). The use of equipment 300 and 300A allows for the personalization of control machinery included in a farm management system.

[0037] The electronic devices disclosed herein (such as those in...) Figure 3 and Figure 5 (In the middle) can be implemented in monitoring electronic devices such as devices 300, 300A and / or in remote devices such as remote device 400.

[0038] Figures 2A to 2B A flowchart is shown of an example method 100 performed by an electronic device according to this disclosure, such as for controlling the identification of animals (such as bovines), such as for compensating for environmental factors affecting the identification of animals (such as bovines). The electronic device is the electronic device disclosed herein, such as... Figure 1 Electronic devices 300, 300A and Figure 3 500.

[0039] The electronic device performing method 100 may be regarded as an animal monitoring device and / or an animal identification device and / or a device configured to identify bovine animals.

[0040] Method 100 may be applied to animals, such as one or more of the following: walking animals, livestock, and domesticated animals. Method 100 may be applied to one or more of the following: bovine animals (such as cattle), swine, equines, and any other suitable animal breed. In other words, Method 100 may be applied to one or more of the following: dairy cows, calves, horses, goats, pigs, and sheep.

[0041] Method 100 includes obtaining sensor data from a sensor (S102, such as generating, receiving, and / or retrieving). The sensor data may be obtained from one or more sensors. A sensor may be considered a camera. In one or more example methods, the sensor is a time-of-flight camera.

[0042] Other types of sensors are conceivable. For example, the sensor could be of type 1 or type 2. For example, a type 1 sensor (such as a first sensor) is a ToF camera. In one or more example methods, the 3D image data includes one or more 3D coordinates associated with each element of the environment and the bovine animal. For example, the 3D coordinates could be represented by one or more point clouds.

[0043] For example, a second type of sensor (such as a second sensor) is a two-dimensional camera that has the same field of view as the first sensor. A second sensor of this type could be a red-green-blue camera and / or a monochrome camera.

[0044] The sensor data includes three-dimensional image data representing at least a portion of the gait cycle of a bovine animal in its environment. The gait cycle may include four portions corresponding to the four leg cycles of movement. For example, a portion of the gait cycle may be Y% of the gait cycle, where Y is a positive real number. For example, a portion of the gait cycle may be at least 25%, at least 50%, or at least 75% of the gait cycle. In one or more examples, a portion of the gait cycle may be captured by one or more frames, such as one or more frame images provided in the sensor data. In some examples, 50% of the gait cycle may be sufficient for effective learning / identification. In some examples, less than 50% of the gait cycle is sufficient, and the electronics may require more channels to robustly learn and identify shapes.

[0045] In some examples, the sensor data includes three-dimensional image data representing at least one gait cycle.

[0046] Electronic devices can detect at least a portion (e.g., 50%) of the gait cycle to control the identification of bovine animals. In other words, electronic devices can detect bovine animals walking within the sensor's field of view. Electronic devices can store one or more images (samples) of bovine animals walking in the environment for use in controlling the identification of bovine animals. Electronic devices can store one or more images associated with 25%, 50%, 75%, or the entire walking path of a bovine animal. Electronic devices may include a single sensor to acquire (e.g., one or more channels) one or more images of a bovine animal. Electronic devices may include one or more sensors (such as a multi-camera system) to acquire (such as a single channel) one or more images of a bovine animal. In other words, sensors (and / or one or more sensors) may be positioned at the end portions of the field of view (e.g., locations where bovine animals are expected to enter and leave the sensor's field of view) to detect changes. This can act as a trigger for starting and stopping the storage (e.g., recording) of sensor data. Monitoring the surrounding area at the time of the trigger event can mitigate noise and / or unexpected events from the trigger recording.

[0047] In some examples, sensor data (such as image data) from the complete gait cycle can be used for training and / or inference. For instance, image or sensor data of a bovine back may change depending on which part of the gait cycle is captured. For example, when the shape of the back is compared to reference sensor data (such as from an earlier record), matching is more effective when the sensor data (such as image data) is at the same stage of the gait cycle. Understandably, many images used for training and / or inference can lead to a more robust identification that does not depend on each image being 100% accurate.

[0048] In some examples, sensor data represents a capture of the complete gait cycle or 1.5 gait cycles based on a field of view that captures the complete gait cycle, as well as numerous records capable of capturing at least the complete gait cycle, for example, to obtain the best possible material for control identification. In some examples, sensor data may include a gait cycle partial indicator for each frame. For example, for each frame, a feature vector is obtained using the gait cycle indicator, and the best match for the previously obtained feature vector for the corresponding gait cycle partial indicator can be used to identify the best-matching individual.

[0049] In some examples, sensor data may include a gait cycle indicator for each frame. For instance, for each frame, points in a multidimensional space are obtained using the gait cycle indicator, and the nearest point corresponding to the gait cycle indicator can be identified using the K-nearest neighbor technique.

[0050] In some examples, gait cycle partial indicators can indicate leg movements (such as right foreleg, right hind leg, left foreleg, or left hind leg). It is conceivable to capture several passes of a bovine to obtain many parts of the gait cycle (such as all parts), as well as several gait cycles, thereby providing, for example, different fields of view.

[0051] Method 100 includes adjusting sensor data (S104) to compensate for environmental factors. Environmental factors can be related to the farming environment and / or inherent defects in the sensor. Factors related to the farming environment include, for example, tilt, installation angle, cow collisions, dirt, dust, insects, background, etc. For example, the sensor may have inherent defects in the camera's optical components. It is understood that each camera has its own defects (such as a lens not being perfectly spherical), which can be adjusted. For example, this disclosure allows for the characterization of camera characteristics (such as the spherical characteristics of the lens, lens / optical properties) in advance, and allows for the calculation of camera defects, making compensation deployable. For example, due to the creation of a 3D mapping during characterization, image sensor components may have some pixel defects, different resolutions, and different pixel formats that can be automatically captured and automatically compensated.

[0052] Method 100 includes generating, S106, a first feature vector associated with a bovine animal based on the adjusted sensor data. For example, the first feature vector indicates one or more spatial features of a portion of the bovine animal, such as the shape of that portion. The first feature vector can be considered a 3D feature vector, such as a ToF feature vector. S106 may include generating multiple feature vectors associated with the bovine animal, including the first feature vector, a second feature vector, and an optional third feature vector, etc.

[0053] Method 100 includes obtaining (e.g., receiving and / or retrieving) S108 multiple reference feature vectors associated with multiple reference bovine animals. For example, multiple reference feature vectors are obtained from a separate device (e.g., a database and / or remote repository). For example, multiple reference feature vectors are obtained from the memory circuitry of an electronic device. The reference feature vectors are generated, for example, based on previously obtained sensor data to determine a “fingerprint” of the part of the bovine animal to be used as an identifier, and are stored in a database, lookup table, and / or repository. For example, each reference feature vector is uniquely associated with a bovine animal, such as using a bovine identifier. The bovine identifier can be obtained using the corresponding reference feature vector.

[0054] Method 100 includes comparing a first feature vector with a plurality of reference feature vectors S110. Comparing the first feature vector (and optionally a second feature vector and optionally a third feature vector, respectively) with the obtained reference feature vectors S110 includes determining the Euclidean distance between the first feature vector (and optionally a second feature vector and optionally a third feature vector, respectively) and the obtained reference feature vectors. In one or more example methods, comparing the first feature vector with the plurality of reference feature vectors S110 includes: for a corresponding portion of the gait cycle, comparing the first feature vector with the plurality of reference feature vectors S110A. Other measurements of differences or distances between feature vectors may be used.

[0055] Method 100 includes controlling the identification of bovine animals in S112 based on comparison. For example, controlling the identification of bovine animals in S112 includes identifying bovine animals as either reference bovine animals corresponding to at least one of the reference feature vectors or non-reference bovine animals. For example, in S112, an identifier (such as a unique identifier) ​​may be generated based on comparison and assigned to a bovine animal.

[0056] In one or more example methods, adjusting the S104 sensor data to compensate for environmental factors involves transforming the S104A sensor data. Transforming the S104A can be viewed as normalization. For example, transforming the S104A can be seen as normalizing the extracted feature vectors (such as image features) to gain greater resilience to disturbances and to use the extracted feature vectors elsewhere and on other sensors (such as the camera). This allows for some independence from camera characteristics (such as mount height, angle, field of view, zoom level, etc.).

[0057] In one or more example methods, transforming the S104A sensor data includes performing an S104AA rotation based on the normal vector of the floor plane. In one or more examples, transforming the sensor data includes determining the normal vector of the floor plane. In one or more examples, determining the normal vector of the floor plane includes determining one or more parameters representing the position and tilt of the floor (such as relative to a second sensor, such as a ToF camera). This disclosure may allow a normalized view of bovines (and / or multiple bovines) in a 3D space (such as point cloud space) associated with the sensor. In one or more examples, transforming the sensor data includes rotating one or more 3D coordinates (such as point cloud coordinates) based on the normal vector of the floor plane. In other words, transforming the sensor data includes aligning the normal vector of the floor plane with the z-axis in the 3D space associated with the sensor data.

[0058] For example, rotating S104AA can be viewed as calibrating the X / Y plane towards a floor. For instance, in order to compare shapes even when the sensor moves and to reuse bovine feature vectors across different cameras, the Z direction will be precisely pointed upwards. This can be achieved, for example, by calibrating each image or by rotating to a horizontal floor as frequently as needed. Rotating S104AA can be performed periodically, such as according to a time period based on the sensor's sampling rate, and / or with minimal periodicity (such as per hour), and / or triggered by detecting degradation of the identifier and / or by input from another sensor (such as an accelerometer detecting changes in motion or orientation).

[0059] Understandably, when the sensor moves (due to the bovine animal bumping into the sensor), an additional field of view is obtained, and the rotation of S104AA allows for horizontal positioning relative to the floor to locate the X / Y plane. Understandably, without adjusting S104, the sensor data provides incorrect measurements that could lead to incorrect identification.

[0060] The adjustment of the rotation by S104AA can be represented by a compensation matrix that can be updated periodically, such as at each frame, such as between each pass.

[0061] In one or more example methods, the rotation S104AA based on the normal vector of the floor plane includes the rotation of one or more points in the spinal region of a bovine animal. For example, the rotation of one or more points in the spinal region can be viewed as spinal normalization, which straightens the spine in the X / Y plane to reduce differences caused by the curvature of the spine before extracting features or feature vectors.

[0062] In one or more example methods, transforming the S104A sensor data includes removing background data associated with the environment and body part data associated with bovine body parts from the sensor data.

[0063] In one or more examples, removing background data associated with the environment includes performing background subtraction on sensor data to provide sensor data (such as images) that includes only the bovine animal. The background in the environment may include the bovine animal's surroundings, such as one or more of the following: fences, dirt, milking machinery, feeders, and any other suitable elements of the environment.

[0064] Electronic devices can extract bovines from sensor data based on one or more of the following: primary sensor data and secondary sensor data. The primary sensor data can be considered a background reference 3D image. The background reference 3D image is an image of the environment in which the bovine is not present. In other words, the background reference 3D image may only include the background environment. The primary sensor data can be considered a complete 3D image (e.g., image 20 in Figure 2). The complete 3D image may include both the bovine and the background environment. In one or more examples, removing background data associated with the background in the environment includes comparing the primary sensor data with the secondary sensor data to provide sensor data (e.g., an image) that includes only the bovine. The background reference image may be updated periodically as the sensors may move slightly over time and / or due to changes in the environment in which the bovine is located. In other words, the method may include storing the background reference image whenever the environment around the bovine and / or the sensor's field of view (e.g., range) changes.

[0065] Any remaining elements not removed during background subtraction can be small in size. The method may include removing such remaining elements (e.g., elements that may not belong to bovine species) by applying thresholding techniques to the sensor data after a first preprocessing stage (such as background subtraction).

[0066] In one or more examples, when acquiring multiple frames (e.g., multiple images) of a bovine in 3D, body part data associated with parts of the bovine's body is removed. In one or more example methods, the body parts to be removed include the head, neck region, shoulder region, part of the back region, and / or tail of the bovine. In one or more examples, removing body part data associated with parts of the bovine's body may include aligning the bovine's spine with the x-axis to provide a normal vector to the floor plane. In one or more examples, body parts are removed after aligning the bovine's spine with the x-axis. For example, body parts can be cropped by removing one or more data columns associated with second sensor data whose sum is below a first threshold.

[0067] In one or more examples, by removing body parts, this adjustment allows for the use of rigid parts such as the back of a bovine animal. For example, even when using a full gait cycle, some parts are independent of the gait cycle, such as the neck, which can remain high, low, left, right, etc., throughout the full gait cycle. It can be seen that selecting and using more rigid and stable parts (such as the posterior part of the back of a bovine animal) is beneficial.

[0068] In one or more example methods, method 100 includes updating background data in S103 that is associated with the background in the environment. For example, the background data may be updated in S103 (e.g., periodically), or optionally continuously for each capture (e.g., for each frame). Updating the background data enables the correct differentiation of bovine animals from the background. This helps to handle changes in the background as well as changes in camera position / orientation.

[0069] In one or more example methods, adjusting the S104 sensor data to compensate for environmental factors includes determining whether the quality parameters of the S104B sensor data meet a criterion. In other words, quality parameters can be considered as parameters indicative of sensor quality, such as noise ratio, missing pixel ratio, etc. In one or more example methods, quality parameters include the variance of an element of the sensor data over time and / or the standard deviation over time associated with an element of the sensor data. For example, a quality parameter might measure the distance to the floor and the variance of that distance; as the variance increases, the quality parameter indicates a quality degradation. For example, a quality parameter might measure back features (height profile), and an increase in the variance of the back features indicates that the back features are not sharp. For example, quality parameters can help detect and manage sensor data degradation, such as images. For example, quality parameters might be related to measurements of dirt / dust levels, the presence of insect spots, and / or the presence of spider webs. For example, when an image is partially occluded (such as by a stationary or moving spider web), the adjustment of the sensor data only provides frames containing the region of interest within the unoccluded area. Occlusion is fixed and determined when the sensor data provides the same pixels that have been discarded.

[0070] In one or more example methods, adjusting S104 sensor data to compensate for environmental factors includes triggering cleaning and / or maintenance operations on a portion of the S104C sensor when it is determined that the quality parameters of the sensor data do not meet a standard. For example, a quality parameter falling below a threshold triggers automatic cleaning of a portion of the sensor (such as a camera lens). In one or more example methods, triggering cleaning and / or maintenance operations on a portion of the S104C sensor includes sending an S104CA message to an operator. For example, a quality parameter falling below a threshold (such as an unshaded area below a threshold) triggers a notification or alarm to personnel in the aquaculture facility. For example, a quality parameter falling below a threshold triggers an automatic increase in the sensor's light (such as a flash).

[0071] In one or more example methods, adjusting the S104 sensor data to compensate for environmental factors includes abandoning the S105 trigger when it is determined that the quality parameters of the sensor data meet the criteria.

[0072] In one or more example methods, method 100 includes: obtaining sensor data S102 includes controlling the operating parameters of the sensor S102A. For example, control of the sensor's operation S102A occurs when it is determined that the quality parameters do not meet a criterion (such as when a feature vector cannot be extracted). For example, when processing black bovine animals, the sensor receives less reflection, which reduces the quality of sensor data (such as images). For example, in S102A, the controlled operation may be controlling (such as changing) the exposure time and / or aperture to make the sensor more sensitive to light. For example, the control of the operation on each cow may be performed on a per-cow basis, and after the first frame in which the quality parameters do not meet the criterion, or after each frame.

[0073] In one or more example methods, controlling the identification of bovids in S112 based on comparison includes identifying bovids in S112A as a reference bovid among a plurality of reference bovids. For example, the comparison shows the Euclidean distance to the reference feature vector that is closest to the reference bovid, which results in the bovid being detected as the reference bovid.

[0074] In one or more example methods, controlling the identification of bovine animals in S112 based on comparison includes identifying bovine animals as non-reference bovine animals in S112B. For example, the comparison shows that the Euclidean distance from any reference feature vector in the reference feature vector is too large (based on a threshold), causing the bovine animal to be detected as a non-reference bovine animal (such as a novel bovine animal that has never been detected before). Sensor data obtained for non-reference bovine animals can be used to provide reference feature vectors for the non-reference bovine animals, making the non-reference bovine animals referable. For example, the reference feature vectors are stored in a database, lookup table, and / or store containing multiple reference feature vectors.

[0075] Figure 3 A block diagram of an example electronic device 500 according to this disclosure is shown. The electronic device 500 includes memory circuitry 501, processor circuitry 502, and wireless interface 503. The electronic device 500 can be configured to perform... Figures 2A to 2B Any of the methods disclosed herein. In other words, electronic device 500 can be configured to control the identification of animals (such as bovine animals) in the environment. Electronic device 500 can be regarded as an animal monitoring device and / or an animal control device and / or a sensor configured to identify animals such as one or more of the following: walking animals, livestock, and domesticated animals. Animals can be one or more of the following: cows, calves, horses, goats, pigs, and sheep. In other words, animals can be bovine animals (such as cattle), pigs, equines, and any other suitable animal breeds.

[0076] Electronic device 500 can be part of a system, such as an animal monitoring system, a breeding system, a milking and / or feeding system. In some examples, electronic device 500 can be implemented as... Figure 1 Equipment 300, 300A and / or Figure 1 400 remote devices.

[0077] Interface 503 can be configured for wired and / or wireless communication.

[0078] Electronic device 500 is configured to acquire sensor data from a sensor (such as via interface 503 and / or using memory circuitry 501). The sensor data includes three-dimensional image data representing at least a portion of the gait cycle of a bovine animal in the environment. In one or more example electronic devices, the sensor is a time-of-flight camera. In one or more example electronic devices, the three-dimensional image data includes one or more three-dimensional coordinates associated with each element of the environment and the bovine animal. The sensor may be internal to or external to electronic device 500.

[0079] Electronic device 500 is configured to adjust (e.g., via processor circuitry 502) sensor data to compensate for environmental factors.

[0080] Electronic device 500 is configured to generate (e.g., via processor circuitry 502) a first feature vector associated with bovine animals based on adjusted sensor data.

[0081] Electronic device 500 is configured to acquire (e.g., via interface 503 and / or memory 501) multiple reference feature vectors associated with multiple reference bovine animals.

[0082] Electronic device 500 is configured to compare a first feature vector with a plurality of reference feature vectors (e.g., via processor circuit 502).

[0083] Electronic device 500 is configured to control (e.g., via processor circuitry 502) the identification of bovine animals based on comparison.

[0084] In one or more example electronic devices, electronic device 500 is configured to adjust (e.g., via processor circuitry 502) sensor data by transforming the sensor data to compensate for environmental factors. In one or more example electronic devices, transforming the sensor data includes performing rotation based on a normal vector of the floor plane. In one or more example electronic devices, rotation based on the normal vector of the floor plane includes rotation of one or more points in the spinal region of a bovine animal.

[0085] In one or more example electronic devices, transforming sensor data includes removing background data associated with the background in the environment and body part data associated with parts of a bovine body from the sensor data.

[0086] In one or more example electronic devices, electronic device 500 is configured to update (e.g., via processor circuitry 502) background data associated with the background in the environment.

[0087] In one or more example electronic devices, electronic device 500 is configured to adjust (e.g., via processor circuitry 502) sensor data to compensate for environmental factors by determining whether quality parameters of the sensor data meet criteria. In one or more example electronic devices, the quality parameters include the variance of elements of the sensor data over time and / or the standard deviation over time associated with elements of the sensor data.

[0088] In one or more example electronic devices, electronic device 500 is configured to adjust sensor data to compensate for environmental factors by triggering (e.g., via processor circuitry 502) a cleaning and / or maintenance operation of a portion of the sensor when it is determined that the quality parameters of the sensor data do not meet the criteria.

[0089] In one or more example electronic devices, triggering a cleaning and / or maintenance operation of a portion of the sensor involves sending a message (such as via interface 503) to the operator.

[0090] In one or more example electronic devices, electronic device 500 is configured to acquire sensor data by controlling (such as via processor circuitry 502) the operating parameters of a sensor.

[0091] In one or more example electronic devices, electronic device 500 is configured to compare a first feature vector with a plurality of reference feature vectors by comparing the first feature vector with a plurality of reference feature vectors for corresponding portions of the gait cycle (such as via processor circuitry 502).

[0092] In one or more example electronic devices, electronic device 500 is configured to control the identification of bovines based on comparison by identifying bovines (such as via processor circuitry 502) as a reference bovine among a plurality of reference bovines.

[0093] In one or more example electronic devices, electronic device 500 is configured to control the identification of bovines based on comparison by identifying bovines (such as via processor circuitry 502) as non-reference bovines.

[0094] Processor circuit 502 is optionally configured to execute Figures 2A to 2BAny operation disclosed in the operation (such as any or more of S102, S102A, S104, S106, S104A, S104AA, S104AB, S104B, S104C, S104CA, S105, S108, S110, S110A, S112, S112A, S112B). The operation of network node 500 may be embodied in the form of an executable logic routine (e.g., lines of code, software program, etc.) stored on a non-transitory computer-readable medium (e.g., memory circuitry 501) and executed by processor circuitry 502.

[0095] Furthermore, the operation of network node 500 can be considered as a method configured to be performed by network node 500. Additionally, while the described functions and operations can be implemented in software, such functions can also be performed via dedicated hardware or firmware, or some combination of hardware, firmware, and / or software.

[0096] The memory circuit 501 may be one or more of a buffer, flash memory, hard disk drive, removable media, volatile memory, non-volatile memory, random access memory (RAM), or other suitable devices. In a typical arrangement, the memory circuit 501 may include non-volatile memory for long-term data storage and volatile memory used as system memory for the processor circuit 502. The memory circuit 501 exchanges data with the processor circuit 502 via a data bus. Control lines and an address bus may also exist between the memory circuit 501 and the processor circuit 502. Figure 3 (Not shown in the image). The memory circuit 501 is considered a non-transitory computer-readable medium.

[0097] The memory circuit 501 can be configured to store a reference feature vector, a first vector, sensor data, and an identifier in a portion of the memory.

[0098] Figures 4A to 4B A flowchart of an example method 200 performed by an electronic device according to this disclosure is shown, such as for controlling the identification of an animal (such as a bovine).

[0099] Electronic devices are those disclosed herein, such as... Figure 1 Electronic devices 300, 300A and Figure 5 600.

[0100] The electronic device performing method 200 may be regarded as an animal monitoring device and / or an animal identification device and / or a device configured to control the identification of bovine animals.

[0101] Method 200 may be applied to animals, such as one or more of the following: walking animals, livestock, and domesticated animals. Method 200 may be applied to one or more of the following: bovine animals (such as cattle), swine, equines, and any other suitable animal breed. In other words, Method 200 may be applied to one or more of the following: dairy cows, calves, horses, goats, pigs, and sheep.

[0102] Method 200 includes obtaining first sensor data from a first sensor in step S202. The first sensor data includes three-dimensional image data representing a bovine animal in the environment. The sensor data may be obtained from one or more sensors including the first sensor. The first sensor may be considered a camera. In one or more example methods, the first sensor is a time-of-flight camera.

[0103] Other types of sensors are conceivable. For example, the sensor could be of type 1 or type 2. For example, a type 1 sensor (such as a first sensor) is a ToF camera.

[0104] In one or more example methods, the 3D image data includes one or more 3D coordinates associated with each element of the environment and the bovine animal. For example, the 3D coordinates may be represented by one or more point clouds.

[0105] For example, a second type of sensor (such as a second sensor) is a two-dimensional camera that has the same field of view as the first sensor. A second sensor of this type could be a red-green-blue camera and / or a monochrome camera.

[0106] Method 200 includes generating a first feature vector associated with a bovine animal based on first sensor data, S204. For example, the first feature vector indicates one or more spatial features of a portion of the bovine animal, such as the shape of that portion. The first feature vector can be considered a 3D feature vector, such as a ToF feature vector. S204 may include generating multiple feature vectors associated with the bovine animal, including a first feature vector, a second feature vector, and an optional third feature vector, etc.

[0107] Method 200 includes obtaining (e.g., receiving and / or retrieving) S206 multiple reference feature vectors associated with multiple reference bovine animals. For example, multiple reference feature vectors are obtained from a separate device (e.g., a database and / or remote repository). For example, multiple reference feature vectors are obtained from the memory circuitry of an electronic device. The reference feature vectors are generated, for example, based on previously obtained sensor data to determine a “fingerprint” of a portion of the bovine animal to be used as an identifier, and are stored in a database, lookup table, and / or repository. In other words, the reference feature vectors are feature vectors of bovine animals that have been or were previously identified, for which the extracted feature vectors are referenced in a database, lookup table, and / or remote repository. For example, each reference feature vector is uniquely associated with a bovine animal, such as using a bovine identifier. The bovine identifier can be obtained using the corresponding reference feature vector.

[0108] Method 200 includes comparing a first feature vector with a plurality of reference feature vectors S208. Comparing the first feature vector (and optionally a second feature vector and optionally a third feature vector, respectively) with the obtained reference feature vectors S208 includes determining the Euclidean distance between the first feature vector (and optionally a second feature vector and optionally a third feature vector, respectively) and the obtained reference feature vectors. In one or more example methods, comparing the first feature vector with the plurality of reference feature vectors S208 includes comparing the first feature vector with the plurality of reference feature vectors for corresponding portions of the gait cycle. Other measures of the difference between feature vectors, such as cosine distance, may be used.

[0109] Method 200 includes generating a confidence value (S210) based on comparison. The confidence value, for example, indicates the accuracy of the match between a bovine animal and a reference bovine animal among a plurality of reference bovine animals. The confidence value can be considered a parameter indicating how reliable the assessment is in the provided matches (such as identity matching). The confidence value (such as a confidence level, an accuracy parameter) can be considered as a value quantifying the match between the detected bovine animal and one or more previously detected bovine animals referenced by their respective reference feature vectors. In other words, the confidence value can indicate the confidence in the match between the detected bovine animal and one or more previously detected bovine animals (such as how close the first feature vector of the detected bovine animal is to the reference feature vector of the previously detected bovine animal). The confidence value can be a percentage (such as a confidence score from 0% to 100%).

[0110] In one or more example methods, generating an S210 confidence value based on comparison includes determining a distance parameter between the first feature vector of S210A and any reference feature vectors in the reference feature vector. The electronic device may compute and use confidence values ​​for identity matching in absolute and / or relative terms. An absolute confidence value provides the distance (such as absolute distance) between the first feature vector and any (such as all) reference feature vectors in the reference feature vector. A relative confidence value provides the relative distance between the first feature vector and one or more given reference feature vectors (such as K-nearest neighbors).

[0111] In one or more examples, generating the S210 confidence value based on comparison includes generating the confidence value based on comparison and based on filtering out bovine animals that were just or immediately detected previously.

[0112] Electronic devices can generate confidence values ​​for identity matching in one or more dimensions, such as the highest point of a bovine back, the distance between the hindquarters, and / or local curvature. Electronic devices can be smaller because some features are redundant and insufficient to distinguish bovines. Confidence assessments can also be affected by sensor data quality and / or age (such as image quality and / or image age).

[0113] The confidence score can be used to detect new non-reference bovines based on the feature vectors of detected bovines, which have a distance to the nearest neighbor that is above a threshold.

[0114] Method 200 includes controlling the identification of bovine animals in S212 based on a confidence value. In one or more example methods, controlling the identification of bovine animals in S212 based on a confidence value includes identifying the bovine animal in S212A as a reference bovine animal based on the confidence value. For example, in S212A, an identifier (such as a unique identifier) ​​may be generated and assigned to the bovine animal.

[0115] In one or more example methods, identifying a bovine animal S212A as a reference bovine animal based on a confidence value includes determining whether the confidence value of S212AA meets a criterion (e.g., a reference criterion).

[0116] In one or more example methods, identifying a bovine animal S212A as a reference bovine animal based on a confidence value includes: identifying a bovine animal S212AB as a reference bovine animal when it is determined that the confidence value meets the criteria.

[0117] For example, a confidence value is considered to meet a criterion when the confidence value, as a measure of distance, is below a threshold. In some examples, the threshold is predetermined and / or can be configured by the operator.

[0118] In one or more example methods, method 200 includes S214 using one or more reference feature vectors of a reference bovine animal with a first feature vector when determining that the confidence value meets the criteria. In other words, when the confidence value is satisfactory, the first feature vector may form part of the reference feature vector of the identified bovine animal.

[0119] In one or more example methods, controlling the identification of bovine animals based on a confidence value in S212 includes identifying the bovine animal as a non-reference bovine animal in S212B when the confidence value does not meet the criteria. For example, new (unreferenced) bovine animals can be detected in this manner, and the electronic device can maintain temporary identifiers (such as internal numbers) until sufficient sensor data has been collected to accurately identify the bovine animal. For example, when a feature vector has been generated for a newly identified bovine animal, the corresponding feature vector can be used as a reference feature vector for that bovine animal and stored in a database, lookup table, and / or remote repository.

[0120] In one or more example methods, controlling the identification of bovine animals S212 based on confidence values ​​includes identifying more than one bovine animal S212B as a reference bovine animal. Controlling S212 may also include evaluation using a second sensor, which could further enhance the identification of two or more bovine animals.

[0121] In one or more examples, the electronic device periodically and / or at specific times (such as event-driven events) acquires reference sensor data (such as reference images). For example, when performing inference (e.g., using linear discriminant (with dimensionality reduction), followed by K-nearest neighbor classification) and the result has high confidence, the electronic device uses the extracted feature vector as a reference feature vector for the detected bovine animal. For example, such reference sensor data can be used to train an identification model. For example, older training data can be automatically deduced when new training data is captured. In one or more examples, the electronic device utilizes the last registered reference image or reference feature vector, along with a reference feature vector with improved storage quality. Older reference images or older reference feature vectors can be deleted to provide space for storage and computation; this deletion can be automated based on, for example, remaining storage, file size, or the number of reference images or reference feature vectors stored for the identified animal.

[0122] In one or more examples, the obtained reference feature vector includes metadata such as confidence values ​​(e.g., per feature, per image) and / or quality values ​​of the obtained reference feature vector.

[0123] In one or more examples, in the control of identifier S212, a higher weight may be assigned to the most recently provided reference feature vector.

[0124] In one or more example methods, method 200 includes obtaining second sensor data from a second sensor in step S216. In one or more examples, the second sensor is of a different type than the first sensor. For example, the second sensor may be a sensor unrelated to the first sensor. The second sensor may be an ID reader and / or an RGB camera.

[0125] In one or more example methods, controlling the identification of bovine animals by S212 based on a confidence value includes controlling the identification of bovine animals by S212C based on a confidence value and second sensor data.

[0126] In one or more example methods, information from other systems and / or sensors can be used to combine or control the identification of bovine animals based on the confidence level of the information. The less related the systems are, the higher the accuracy obtained in identification when information from other systems (such as sensor data) is combined with identification results based on the first sensor data.

[0127] Examples of systems and / or additional sensors used as a second information source and / or a second sensor include one or more of the following: RGB cameras, infrared, IR cameras (such as grayscale images that provide a side result as a ToF image), electronic identification (EID) systems, and radio frequency identification (RFID) (attached to a cow's ear or as a necklace).

[0128] Combining data from unrelated systems (i.e., first sensor data and second sensor data) can improve the overall accuracy of bovine identification. For example, when the EID is acceptable, but the biometric features captured by the first feature vector from the first sensor data do not match a reference feature vector well, the identification is upgraded to the biometric database, i.e., the reference feature vector. For example, when identifying a new cow according to the EID system, the identification is upgraded to the biometric database. For example, when the first sensor (such as a ToF system) detects a cow, but the EID does not identify the cow, the electronic device can warn personnel that the EID may be corrupted, completely lost, or not initialized at all.

[0129] Figure 5 A block diagram of an example electronic device 600 according to the present disclosure is shown. The electronic device 600 includes memory circuitry 601, processor circuitry 602, and interface 603. The electronic device 600 can be configured to perform... Figures 4A to 4BAny of the methods disclosed herein. In other words, electronic device 600 can be configured to control the identification of animals (such as bovine animals) in the environment. Electronic device 600 can be regarded as an animal monitoring device and / or an animal control device and / or a sensor configured to identify animals such as one or more of the following: walking animals, livestock, and domesticated animals. Animals can be one or more of the following: cows, calves, horses, goats, pigs, and sheep. In other words, animals can be bovine animals (such as cattle), pigs, equines, and any other suitable animal breeds.

[0130] Electronic device 600 can be part of a system, such as an animal monitoring system, a breeding system, a milking and / or feeding system. In some examples, electronic device 600 can be implemented as... Figure 1 Equipment 300, 300A and / or Figure 1 400 remote devices.

[0131] Interface 603 can be configured for wired and / or wireless communication.

[0132] Electronic device 600 is configured to acquire first sensor data (such as via interface 603 and / or memory circuitry 601) from a first sensor. For example, the first sensor data includes three-dimensional image data representing a bovine animal in the environment. In one or more example electronic devices, the first sensor is a time-of-flight camera. In one or more example electronic devices, the three-dimensional image data includes one or more three-dimensional coordinates associated with each element of the environment and the bovine animal.

[0133] Electronic device 600 is configured to generate (such as via processor circuitry 602) a first feature vector associated with bovine animals based on first sensor data.

[0134] Electronic device 600 is configured to acquire (e.g., via interface 603 and / or memory circuitry 601) multiple reference feature vectors associated with multiple reference bovine animals.

[0135] Electronic device 600 is configured to compare a first feature vector with a plurality of reference feature vectors (e.g., via processor circuitry 602).

[0136] Electronic device 600 is configured to generate confidence values ​​(such as via processor circuitry 602) based on comparisons, wherein the confidence values ​​indicate the accuracy of the match between a bovine animal and a reference bovine animal among a plurality of reference bovine animals.

[0137] Electronic device 600 is configured to control (such as via processor circuitry 602) the identification of bovine animals based on confidence values.

[0138] In one or more example electronic devices, electronic device 600 is configured to control the identification of bovine animals based on confidence values ​​(such as via processor circuitry 602) by identifying bovine animals as reference bovine animals based on confidence values.

[0139] In one or more example electronic devices, identifying a bovine animal as a reference bovine animal based on a confidence value includes determining (such as via processor circuitry 602) whether the confidence value meets a criterion.

[0140] In one or more example electronic devices, identifying a bovine animal as a reference bovine animal based on a confidence value includes identifying the bovine animal as a reference bovine animal (e.g., via processor circuitry 602) when it is determined that the confidence value meets a criterion.

[0141] In one or more example electronic devices, electronic device 600 is configured to use a first feature vector to update (e.g., via processor circuitry 602) one or more reference feature vectors of a reference bovine animal when the confidence value meets the criteria.

[0142] In one or more example electronic devices, electronic device 600 is configured to control (such as via processor circuitry 602) the identification of bovine animals based on confidence values ​​by identifying bovine animals as non-reference bovine animals when a confidence value is determined to be non-compliant with a criterion.

[0143] In one or more example electronic devices, generating a confidence value based on comparison includes determining (such as via processor circuitry 602) a distance parameter between a first feature vector and any reference feature vector in a reference feature vector.

[0144] In one or more example electronic devices, electronic device 600 is configured to acquire second sensor data (such as via interface 603 and / or memory circuit 601) from a second sensor, wherein the second sensor is of a different type than the first sensor.

[0145] In one or more example electronic devices, controlling and identifying bovine animals based on confidence values ​​includes controlling (such as via processor circuitry 602) the identification of bovine animals based on confidence values ​​and second sensor data.

[0146] Electronic device 600 is optionally configured to perform Figures 4A to 4BThe operation of electronic device 600 may be embodied in any of the operations disclosed herein (such as any or more of S202, S204, S206, S208, S210, S210A, S212, S212A, S212AA, S212AB, S212B, S212C, S214, and S216).

[0147] Furthermore, the operation of electronic device 600 can be considered as a method configured to be performed by electronic device 600. Additionally, although the described functions and operations can be implemented in software, such functions can also be implemented via dedicated hardware or firmware, or some combination of hardware, firmware, and / or software.

[0148] The memory circuit 601 may be one or more of a buffer, flash memory, hard disk drive, removable media, volatile memory, non-volatile memory, random access memory (RAM), or other suitable devices. In a typical arrangement, the memory circuit 601 may include non-volatile memory for long-term data storage and volatile memory used as system memory for the processor circuit 602. The memory circuit 601 exchanges data with the processor circuit 602 via a data bus. Control lines and an address bus may also exist between the memory circuit 601 and the processor circuit 602. Figure 5 (Not shown in the image). The memory circuit 601 is considered a non-transitory computer-readable medium.

[0149] The memory circuit 601 can be configured to store feature vectors, reference feature vectors, and / or identifiers in a portion of the memory.

[0150] Examples of methods and products (electronic devices) based on this disclosure are illustrated in the following items:

[0151] Item 1. An electronic device, the electronic device comprising a memory circuit, a processor circuit, and an interface, wherein the electronic device is configured to:

[0152] - Obtain sensor data from sensors, wherein the sensor data includes three-dimensional image data representing bovine animals in the environment;

[0153] - Adjust the sensor data to compensate for environmental factors;

[0154] - Generate a first feature vector associated with the bovine animal based on the adjusted sensor data;

[0155] - Obtain multiple reference feature vectors associated with multiple reference bovine species;

[0156] - Compare the first feature vector with the plurality of reference feature vectors; and

[0157] - The identification of the bovine animals is controlled based on the comparison.

[0158] Project 2. The electronic device according to Project 1, wherein the sensor is a time-of-flight camera.

[0159] Project 3. The electronic device according to any one of the preceding projects, wherein the three-dimensional image data includes one or more three-dimensional coordinates associated with each element of the environment and the bovine animal.

[0160] Project 4. The electronic device according to any one of the preceding projects, wherein the electronic device is configured to adjust a first vector by transforming the sensor data to compensate for environmental factors.

[0161] Project 5. The electronic device according to Project 4, wherein transforming the sensor data includes performing rotation based on the normal vector of the floor plane.

[0162] Project 6. The electronic device according to Project 5, wherein the rotation based on the normal vector of the floor plane includes rotation of one or more points in the spinal region of the bovine animal.

[0163] Item 7. The electronic device according to any one of Items 4 to 6, wherein transforming the sensor data includes removing background data associated with a background in the environment and body part data associated with a part of the bovine body from the sensor data.

[0164] Item 8. The electronic device according to any one of the preceding items, wherein the electronic device is configured to update background data associated with the background in the environment.

[0165] Item 9. The electronic device according to any one of the preceding items, wherein the electronic device is configured to adjust the first vector to compensate for environmental factors in such a way as:

[0166] - Determine whether the quality parameters of the sensor data meet the standards, and

[0167] - When it is determined that the quality parameter of the sensor data does not meet the standard, a cleaning and / or maintenance operation of a portion of the sensor is triggered.

[0168] Item 10. The electronic device according to Item 8, wherein the cleaning and / or maintenance operation that triggers a portion of the sensor includes sending a message to the operator.

[0169] Item 11. An electronic device according to any one of Items 8 to 9, wherein the quality parameter includes the variance of elements of the sensor data over time and / or the standard deviation over time associated with elements of the sensor data.

[0170] Item 12. The electronic device according to any one of the preceding items, wherein the electronic device is configured to obtain sensor data by controlling the operating parameters of the sensor.

[0171] Item 13. The electronic device according to any one of the preceding items, wherein the sensor data includes three-dimensional image data representing at least a portion of the gait cycle of the bovine animal, and wherein the electronic device is configured to compare the first feature vector with the plurality of reference feature vectors by comparing the first feature vector with the plurality of reference feature vectors for a corresponding portion of the gait cycle.

[0172] Item 14. The electronic device according to any one of the preceding items, wherein the electronic device is configured to control the identification of the bovid by identifying the bovid as a reference bovid among the plurality of reference bovids based on the comparison.

[0173] Item 15. The electronic device according to any one of the preceding items, wherein the electronic device is configured to control the identification of the bovid by identifying the bovid as a non-reference bovid based on the comparison.

[0174] Item 16. A method performed by an electronic device, the method comprising:

[0175] - Obtain sensor data (S102) from the sensor, wherein the sensor data includes three-dimensional image data representing bovine animals in the environment;

[0176] - Adjust the sensor data (S104) to compensate for environmental factors;

[0177] - Generate (S106) a first feature vector associated with the bovine animal based on the adjusted sensor data;

[0178] - Obtain (S108) multiple reference feature vectors associated with multiple reference bovids;

[0179] - Compare the first feature vector with the plurality of reference feature vectors (S110); and

[0180] - The identification of the bovine animal is controlled (S112) based on the comparison.

[0181] Item 17. The method according to Item 16, wherein the sensor is a time-of-flight camera.

[0182] Item 18. The method according to any one of Items 16 to 17, wherein the three-dimensional image data includes one or more three-dimensional coordinates associated with each element of the environment and the bovine animal.

[0183] Item 19. The method according to any one of Items 16 to 18, wherein adjusting (S104) the sensor data to compensate for environmental factors includes transforming (S104A) the sensor data.

[0184] Item 20. The method according to Item 19, wherein transforming (S104A) the sensor data includes performing (S104AA) a rotation based on the normal vector of the floor plane.

[0185] Item 21. The method according to Item 20, wherein the rotation based on the normal vector of the floor plane includes rotation of one or more points in the spinal region of the bovine animal.

[0186] Item 22. The method according to any one of items 19 to 21, wherein transforming (S104A) the sensor data includes removing (S104AB) background data associated with the background in the environment and body part data associated with body parts of the bovine animal from the sensor data.

[0187] Item 23. The method according to any one of items 16 to 22, wherein the method includes updating (S103) background data associated with the background in the environment.

[0188] Item 24. The method according to any one of items 16 to 23, wherein adjusting (S104) the sensor data to compensate for environmental factors includes:

[0189] - Determine (S104B) whether the quality parameters of the sensor data meet the standard, and

[0190] - When it is determined that the quality parameter of the sensor data does not meet the standard, a cleaning and / or maintenance operation of a portion of the sensor is triggered (S104C).

[0191] Item 25. The method according to Item 24, wherein triggering (S104C) a portion of the cleaning and / or maintenance operation of the sensor includes sending (S104CA) a message to the operator.

[0192] Item 26. The method according to any one of Items 24 to 25, wherein the quality parameter includes the variance of the elements of the sensor data over time and / or the standard deviation over time associated with the elements of the sensor data.

[0193] Item 27. The method according to any one of items 16 to 26, wherein obtaining (S102) the sensor data includes controlling (S102A) the operating parameters of the sensor.

[0194] Item 28. The method according to any one of Items 16 to 27, wherein the sensor data includes three-dimensional image data representing at least a portion of the gait cycle of the bovine animal, and wherein comparing the first feature vector with the plurality of reference feature vectors (S110) comprises: comparing the first feature vector with the plurality of reference feature vectors for a corresponding portion of the gait cycle (S110A).

[0195] Item 29. The method according to any one of items 16 to 28, wherein controlling the identification of the bovid based on the comparison (S112) comprises: identifying the bovid (S112A) as a reference bovid among the plurality of reference bovids.

[0196] Item 30. The method according to any one of items 16 to 29, wherein controlling the identification of the bovid based on the comparison (S112) includes identifying the bovid as a non-reference bovid (S112B).

[0197] Examples of methods and products (electronic devices) based on this disclosure are set forth in the following terms:

[0198] Clause 1. An electronic device comprising memory circuitry, processor circuitry, and an interface, wherein the electronic device is configured to:

[0199] - Obtain first sensor data from a first sensor, wherein the first sensor data includes three-dimensional image data representing bovine animals in the environment;

[0200] - Generate a first feature vector associated with the bovine animal based on the first sensor data;

[0201] - Obtain multiple reference feature vectors associated with multiple reference bovine species;

[0202] - Compare the first feature vector with the plurality of reference feature vectors;

[0203] - Generate a confidence value based on the comparison, wherein the confidence value indicates the accuracy of the match between the bovid and a reference bovid among the plurality of reference bovids; and

[0204] - The identification of the bovine animals is controlled based on the confidence value.

[0205] Clause 2. The electronic device as described in Clause 1, wherein the first sensor is a time-of-flight camera.

[0206] Clause 3. The electronic device according to any one of the preceding clauses, wherein the three-dimensional image data includes one or more three-dimensional coordinates associated with each element of the environment and the bovine animal.

[0207] Clause 4. An electronic device according to any one of the preceding clauses, wherein the electronic device is configured to control the identification of the bovid based on the confidence value by identifying the bovid as the reference bovid based on the confidence value.

[0208] Clause 5. The electronic device according to Clause 4, wherein identifying the bovid as the reference bovid based on the confidence value includes:

[0209] - Determine whether the confidence level value meets the criteria; and

[0210] - When it is determined that the confidence value meets the criteria, the bovine animal is identified as the reference bovine animal.

[0211] Clause 6. The electronic device according to Clause 5, wherein the electronic device is configured to use the first feature vector to update one or more reference feature vectors of the reference bovid when the confidence value meets the criterion.

[0212] Clause 7. An electronic device according to any one of Clauses 5 to 6, wherein the electronic device is configured to control the identification of the bovid based on the confidence value by identifying the bovid as a non-reference bovid when it is determined that the confidence value does not meet the criterion.

[0213] Clause 8. The electronic device according to any one of the preceding clauses, wherein generating the confidence value based on the comparison includes:

[0214] - Determine the distance parameter between the first feature vector and any of the reference feature vectors.

[0215] Clause 9. An electronic device according to any one of the preceding clauses, wherein the electronic device is configured to obtain second sensor data from a second sensor, wherein the second sensor is of a different type from the first sensor.

[0216] Clause 10. The electronic device according to Clause 9, wherein controlling the identification of the bovine animal based on the confidence value includes controlling the identification of the bovine animal based on the confidence value and the second sensor data.

[0217] Clause 11. A method performed by an electronic device, the method comprising:

[0218] - Obtain (S202) first sensor data from the first sensor, wherein the first sensor data includes three-dimensional image data representing bovine animals in the environment;

[0219] - Generate (S204) a first feature vector associated with the bovine animal based on the first sensor data;

[0220] - Obtain (S206) multiple reference feature vectors associated with multiple reference bovids;

[0221] - Compare the first feature vector with the plurality of reference feature vectors (S208).

[0222] - Generate (S210) a confidence value based on the comparison, wherein the confidence value indicates the accuracy of the match between the bovid and a reference bovid among the plurality of reference bovids; and

[0223] - The identification of the bovine animal is controlled (S212) based on the confidence value.

[0224] Clause 12. The method according to Clause 11, wherein the first sensor is a time-of-flight camera.

[0225] Clause 13. The method according to any one of Clauses 11 to 12, wherein the three-dimensional image data includes one or more three-dimensional coordinates associated with each element of the environment and the bovine animal.

[0226] Clause 14. The method according to any one of Clauses 11 to 13, wherein controlling (S212) the identification of the bovid includes identifying (S212A) the bovid as the reference bovid based on the confidence value.

[0227] Clause 15. The method according to Clause 14, wherein identifying the bovid as the reference bovid based on the confidence value (S212A) comprises:

[0228] - Determine whether the confidence value described in (S212AA) meets the criteria; and

[0229] - When it is determined that the confidence value meets the criteria, the bovine animal identifier (S212AB) is designated as the reference bovine animal.

[0230] Clause 16. The method according to Clause 15, wherein the method includes, when determining that the confidence value meets the criterion, using the first feature vector to update (S214) one or more reference feature vectors of the reference bovid.

[0231] Clause 17. The method according to any one of Clauses 15 to 16, wherein controlling (S212) the identification of the bovid includes identifying (S212B) the bovid as a non-reference bovid when it is determined that the confidence value does not meet the criteria.

[0232] Clause 18. The method according to any one of Clauses 11 to 17, wherein generating (S210) the confidence value based on the comparison comprises:

[0233] - Determine (S210A) the distance parameter between the first feature vector and any of the reference feature vectors.

[0234] Clause 19. The method according to any one of Clauses 11 to 18, wherein the method includes obtaining (S216) second sensor data from a second sensor, wherein the second sensor is of a different type from the first sensor.

[0235] Clause 20. The method according to Clause 19, wherein controlling (S212) the identification of the bovine animal based on the confidence value includes controlling (S212C) the identification of the bovine animal based on the confidence value and the second sensor data.

[0236] The use of the terms "first," "second," "third," and "fourth," "primary," "secondary," and "tertiary," etc., does not imply any particular order, but is included to identify individual elements. Furthermore, the use of the terms "first," "second," "third," and "fourth," "primary," "secondary," and "tertiary," etc., does not indicate any order or importance, but is used to distinguish one element from another. Note that the terms "first," "second," "third," and "fourth," "primary," "secondary," and "tertiary," etc., here and elsewhere, are used solely for labelling purposes and are not intended to indicate any particular spatial or temporal order. Moreover, the labeling of a first element does not imply the existence of a second element, and vice versa.

[0237] It is understood that the accompanying drawings include some circuits or operations illustrated with solid lines and some circuits, components, features, or operations illustrated with dashed lines. The circuits or operations included in the solid lines are those included in the broadest examples. The circuits, components, features, or operations included in the dashed lines are examples that may be included in, or part of, the circuits, components, features, or operations illustrated in the solid lines, or additional circuits, components, features, or operations that may be employed besides those illustrated in the solid lines. It should be understood that these operations do not need to be performed in the order presented. Furthermore, it should be understood that not all operations need to be performed. The illustrated operations can be performed in any order and in any combination. It should be understood that these operations do not need to be performed in the order presented. The circuits, components, features, or operations included in the dashed lines may be considered optional.

[0238] Other operations not described in this document may be incorporated into the example operations. For example, one or more additional operations may be performed before, after, simultaneously with, or between any of the operations described.

[0239] Some features discussed above as individual embodiments can also be implemented in combination as a single embodiment. Conversely, features described as single embodiments can also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although features may be described above as functioning in certain combinations, in some cases, one or more features from the claimed combination may be removed from that combination, and that combination may be claimed as any sub-combination or a variation of any sub-combination.

[0240] It is important to note that the word "includes" does not necessarily exclude the presence of other elements or steps besides those listed.

[0241] It should be noted that the word "a / an" preceding the component does not preclude the existence of multiple such components.

[0242] It is important to note that the term "indicator" can be considered as "associated with," "related to," "describe," "represent," and / or "define." The terms "indicator," "associated with," "related to," "describe," "represent," and "define" are used interchangeably. The term "indicator" can be considered as indicating a relation. For example, weight data indicating weight may include one or more weight parameters.

[0243] It is important to note that the word "based on" can be considered as "according to" and / or "derived from". The terms "based on" and "according to" are used interchangeably. For example, parameters determined "based on" a dataset can be considered as parameters determined "according to" a dataset. In other words, parameters can be the output of one or more functions that take a dataset as input.

[0244] Functions can represent the relationship between inputs and outputs, such as mathematical relationships, database relationships, hardware relationships, logical relationships, and / or other suitable relationships.

[0245] It should also be noted that no reference numerals in the appendices limit the scope of the claims, examples may be implemented at least in part by means of both hardware and software, and several “components,” “units,” or “devices” may be represented by the same hardware item.

[0246] The degree language used in this document, such as the terms “approximately,” “about,” “substantially,” and “basically”, refers to a value, quantity, or characteristic that is close to the stated value, quantity, or characteristic and still performs the expected function or achieves the expected result. For example, the terms “approximately,” “about,” “substantially,” and “basically” may refer to a quantity that is less than or equal to 10%, less than or equal to 5%, less than or equal to 1%, less than or equal to 0.1%, and less than or equal to 0.01% of the stated quantity.

[0247] The various example methods, devices, nodes, and systems described herein are described in the general context of method steps or processes, which may be implemented in one aspect by a computer program product embodied in a computer-readable medium, including computer-executable instructions, such as program code, that are executed by a computer in a networked environment. Computer-readable media may include removable and non-removable storage devices, including but not limited to read-only memory (ROM), random access memory (RAM), optical disc (CD), digital versatile disc (DVD), etc. Typically, program circuitry may include routines, programs, objects, components, data structures, etc., that perform a specified task or implement a particular abstract data type. Computer-executable instructions, associated data structures, and program circuitry represent examples of program code for performing steps of the methods disclosed herein. Specific sequences of such executable instructions or associated data structures represent examples of corresponding actions for implementing the functionality described in such steps or processes.

[0248] Although features have been shown and described, it will be understood that they are not intended to limit the scope of the claimed disclosure, and it will be apparent to those skilled in the art that various changes and modifications can be made without departing from the scope of the claimed disclosure. Therefore, the specification and drawings should be considered illustrative rather than restrictive. The claimed disclosure is intended to cover all alternatives, modifications, and equivalents.

Claims

1. An electronic device comprising a memory circuit, a processor circuit, and an interface, wherein the electronic device is configured to: - Obtain sensor data from sensors, wherein the sensor data includes three-dimensional image data representing at least a portion of the gait cycle of a bovine animal in the environment; - Adjust the sensor data to compensate for environmental factors; - Generate a first feature vector associated with the bovine animal based on the adjusted sensor data; - Obtain multiple reference feature vectors associated with multiple reference bovine species; - Compare the first feature vector with the plurality of reference feature vectors; as well as - The identification of the bovine animals is controlled based on the comparison.

2. The electronic device according to claim 1, wherein the sensor is a time-of-flight camera.

3. The electronic device according to any one of the preceding claims, wherein the three-dimensional image data includes one or more three-dimensional coordinates associated with each element of the environment and the bovine animal.

4. The electronic device according to any one of the preceding claims, wherein the electronic device is configured to adjust the first vector by transforming the sensor data to compensate for environmental factors.

5. The electronic device of claim 4, wherein transforming the sensor data includes performing rotation based on the normal vector of the floor plane.

6. The electronic device of claim 5, wherein the rotation based on the normal vector of the floor plane includes rotation of one or more points in the spinal region of the bovine animal.

7. The electronic device according to any one of claims 4 to 6, wherein transforming the sensor data includes removing background data associated with the background in the environment and body part data associated with body parts of the bovine animal from the sensor data.

8. The electronic device according to any one of the preceding claims, wherein the electronic device is configured to update background data associated with a background in the environment.

9. The electronic device according to any one of the preceding claims, wherein the electronic device is configured to adjust the first vector to compensate for environmental factors in such a way as: - Determine whether the quality parameters of the sensor data meet the standards, and - When it is determined that the quality parameter of the sensor data does not meet the standard, a cleaning and / or maintenance operation of a portion of the sensor is triggered.

10. The electronic device of claim 8, wherein triggering the cleaning and / or maintenance operation of a portion of the sensor includes sending a message to an operator.

11. The electronic device according to any one of claims 8 to 9, wherein the quality parameter includes the variance of the elements of the sensor data over time and / or the standard deviation over time associated with the elements of the sensor data.

12. The electronic device according to any one of the preceding claims, wherein the electronic device is configured to obtain the sensor data by controlling the operating parameters of the sensor.

13. The electronic device according to any one of the preceding claims, wherein the electronic device is configured to compare the first feature vector with the plurality of reference feature vectors by comparing the first feature vector with the plurality of reference feature vectors for a corresponding portion of the gait cycle.

14. The electronic device according to any one of the preceding claims, wherein the electronic device is configured to control the identification of the bovid by identifying the bovid as a reference bovid among the plurality of reference bovids based on the comparison.

15. The electronic device according to any one of the preceding claims, wherein the electronic device is configured to control the identification of the bovid by identifying the bovid as a non-reference bovid based on the comparison.

16. A method performed by an electronic device, the method comprising: - Obtain sensor data (S102) from the sensor, wherein the sensor data includes three-dimensional image data representing at least a portion of the gait cycle of a bovine animal in the environment; - Adjust the sensor data (S104) to compensate for environmental factors; - Generate (S106) a first feature vector associated with the bovine animal based on the adjusted sensor data; - Obtain (S108) multiple reference feature vectors associated with multiple reference bovids; - Compare the first feature vector with the plurality of reference feature vectors (S110); and - The identification of the bovine animal is controlled (S112) based on the comparison.

17. The method of claim 16, wherein the sensor is a time-of-flight camera.

18. The method according to any one of claims 16 to 17, wherein the three-dimensional image data comprises one or more three-dimensional coordinates associated with each element of the environment and the bovine animal.

19. The method according to any one of claims 16 to 18, wherein adjusting (S104) the sensor data to compensate for environmental factors includes transforming (S104A) the sensor data.

20. The method of claim 19, wherein transforming (S104A) the sensor data includes performing (S104AA) a rotation based on the normal vector of the floor plane.

21. The method of claim 20, wherein the rotation based on the normal vector of the floor plane includes rotation of one or more points in the spinal region of the bovine animal.

22. The method according to any one of claims 19 to 21, wherein transforming (S104A) the sensor data includes removing (S104AB) background data associated with the background in the environment and body part data associated with body parts of the bovine animal from the sensor data.

23. The method according to any one of claims 16 to 22, wherein the method includes updating (S103) background data associated with the background in the environment.

24. The method according to any one of claims 16 to 23, wherein adjusting (S104) the sensor data to compensate for environmental factors comprises: - Determine (S104B) whether the quality parameters of the sensor data meet the standard, and - When it is determined that the quality parameter of the sensor data does not meet the standard, a cleaning and / or maintenance operation of a portion of the sensor is triggered (S104C).

25. The method of claim 24, wherein triggering (S104C) the cleaning and / or maintenance operation of a portion of the sensor comprises sending (S104CA) a message to the operator.

26. The method according to any one of claims 24 to 25, wherein the quality parameter includes the variance of the elements of the sensor data over time and / or the standard deviation over time associated with the elements of the sensor data.

27. The method according to any one of claims 16 to 26, wherein obtaining (S102) the sensor data includes controlling (S102A) the operating parameters of the sensor.

28. The method according to any one of claims 16 to 27, wherein comparing the first feature vector with the plurality of reference feature vectors (S110) comprises: For the corresponding portion of the gait cycle, the first feature vector is compared with the plurality of reference feature vectors (S110A).

29. The method according to any one of claims 16 to 28, wherein controlling (S112) the identification of the bovid based on the comparison comprises: The bovine identifier (S112A) is the reference bovine among the plurality of reference bovines.

30. The method according to any one of claims 16 to 29, wherein controlling the identification of the bovid based on the comparison (S112) includes identifying the bovid as a non-reference bovid (S112B).