Ruminants have four stomachs: the rumen, the reticulum, the omasum and the abomasum. A ruminant first chews the food superficially, after which it ends up in the reticulum and the rumen. After about half an hour the coarse-fibrous materials return as chymes to the mouth where they are masticated and admixed with saliva. Upon return in the rumen, the fine materials proceed via the reticulum to the omasum for the further digestion.
The share of time of the different physiological activities of the ruminant is an important indicator of its state of health. This can be taken into account in the composition of the dietary pattern or the schedule of the daily rhythm, such as the switching times for barn lighting and the times at which the ruminants are milked. With ruminants, ruminating is an important physiological activity besides eating, resting, and sleeping. The ruminant can take both a standing and a lying posture in ruminating.
“Not Applicable”
“Not Applicable”
“Not Applicable”
“Not Applicable”
It is an object of the invention to enable the activities mentioned to be established in a simple manner.
To realize this object, the invention provides a system as described in claim 1.
For realization of this same object, the invention further provides a method as described in claim 13.
The present invention is based on the insight that the activities mentioned can be reliably established from movement condition data of the ruminant with the aid of a neural network.
Establishing the movement condition data can be done without this entailing any appreciable hindrance to the ruminant. By processing this data with a neural network, the activities mentioned can then be easily established.
A neural network can be trained for this purpose by making use of a series of input data, with respective input data giving an indication of the physiological condition of the ruminant for the respective time intervals based on an independent assessment, for instance an assessment obtained from an expert who either observes the ruminants directly or from camera pictures. During training, the neural network adapts its settings until the physiological condition that has been established by the neural network on the basis of movement condition data for different time intervals substantially corresponds to the physiological condition that has been established for those time intervals on the basis of the independent assessment.
The thus trained neural network can then be used to establish the activities on the basis of movement condition data. Alternatively, or additionally, the settings of the trained neural network may be copied to other neural networks, which are then applied for establishing the activities.
A neural network is a calculating unit which comprises a plurality of mutually linked network cells, where the network cells can generate an output signal that is based on a plurality of mutually weighed input signals, while the weighing factors used for weighing the input signals can be adapted by training the network. The neural network is supplied with both input signals and control signals enabling the neural network to establish in what measure the condition data calculated on the basis of the weighing factors correspond to the actual condition. The control signals may indicate the actual condition directly, or may be indicative of a deviation of the calculated condition data and the condition data representing the actual condition.
Examples of a neural network are the (multilayer) perceptron, the Kohonen network, the Hopfield network, the Boltzmann machine, the radial basis function network, the support vector machine, and the self-organizing map.
The above neural networks can be developed in hardware, with each component in the neural network, comprising the network cells, the connections and weighing elements for weighing the different signals, being provided as a respective component in the hardware. On the other hand, a neural network may also be simulated by software that is executed on a programmable processor, whereby the processor executes the operations to be executed by the different components of the network. Also intermediate solutions are possible. The programmable processor can have, for example, different ‘cores’ each executing a part of the operations for a respective section of the network. In a programmable processor with four cores, for example, each core can simulate a respective layer of the neural network.
For training a neural network it is desired that the weighing factors used are adjustable, in order to provide that the neural network with the settings obtained during the training can make a reliable estimate of the condition of the ruminant on the basis of the movement condition data. If desired, but not necessarily so, the weighing factors may be fixed in the neural network intended for end use. In a hardware implementation of the neural network intended for end use, the weighing factors may be fixed in the design thereof. In an implementation of the neural network intended for end use in software to be executed by a programmable processor, the software with the weighing factors may be additionally supplied, for example as a ROM.
In an embodiment, the neural network has respective outputs for delivering a signal that is indicative of a probability that the physiological condition of the ruminant corresponds to respective specific physiological conditions. The physiological conditions for which the neural network has a respective output include, for example, at least one or more of pasture, pasturing, grazing, eating, ruminating, resting, sleeping, standing and lying.
In an embodiment, the neural network has a respective output for at least one or more of the physiological conditions designated as resting, ruminating and eating. The neural network can furthermore have an output for delivering a signal that indicates the probability that the physiological condition of the ruminant is a different one than these physiological conditions.
In an embodiment, the neural network has a respective output for at least one or more of the physiological conditions designated as resting and eating. The neural network may furthermore have an output for delivering a signal that indicates the probability that the physiological condition of the ruminant is a different physiological condition, not being ruminating, than these physiological conditions.
In an embodiment, the neural network has a respective output for at least one or more of the physiological conditions designated as resting, and sleeping.
In an embodiment, the neural network has a respective output for at least one or more of the physiological conditions designated as standing, and lying.
Preferably, the system comprises a system part to be worn by the ruminant, that is included in a housing to be worn by the ruminant around the neck. It has appeared that from the movements of the neck of the ruminant a lot of information can be derived about the physiological condition of the ruminant. It has appeared that especially a 3G sensor is highly suitable for this.
These and other aspects of the current invention are further elucidated on the basis of the following drawings, in which:
In the following figures corresponding parts have the same reference numerals.
The system part 10, which is shown in more detail in
As a neural network, a feedforward network can be applied, but also a recurrent network may be applied, which is for example configured as a feedforward network. Examples are the perceptron, the Kohonen network, the Hopfield network, the Boltzmann machine, the radial base function network, the support vector machine and the self-organizing map.
The condition data S3 are indicative of the physiological condition of the ruminant. The condition data can indicate, for example, whether the ruminant at a particular moment, or during a particular time interval, is engaged in eating, in ruminating the food, or that the ruminant is resting, or sleeping. Also, the condition data can indicate whether the ruminant is doing so standing up or lying down. On the basis of obtained condition data, it can thereupon be established, in turn, what share of time the ruminant spends in which condition, for instance, it may be established how many hours a day the ruminant sleeps, rests, eats, ruminates, etc. Also, the current condition of the animal may be determined continuously, for an indefinite period.
In the exemplary embodiment shown in
The second, hidden, layer 162 comprises network cells 162a, . . . , 162h. Each of these network cells 162j (j=a, . . . , h) calculates an output value vj, on the basis of a function f of the data va, . . . , vf passed on, whether or not processed or weighed, by the first layer 161.
ƒj(va, . . . vf)
In the exemplary embodiment shown, the function applied is defined as follows:
Other functions, however, are also possible.
The third layer 163 with network cells 163a, . . . , 163d, calculates an output value vk, on the basis of a function g of the output values calculated by the second layer 162 on the basis of the functions fj, for example as follows:
Each function value gk is an indication of the probability that the ruminant is in a specific condition. In an exemplary embodiment, the function values ga, . . . , gd furnished by the network cells 163a, . . . , 163d are, respectively, indications of the probability that the ruminant is resting, ruminating, eating, or engaged in another activity. In other embodiments, network cells may be provided for delivering a probability indication of yet other possible conditions of the ruminant, for example, an indication of the probability that the ruminant is standing or lying. Combinations are also possible, for example, network cells that deliver an indication of the probability that the ruminant is resting, ruminating, eating, and further network cells that are indicative of the probability that the ruminant, while doing so, is standing or lying.
Also, the neural network may be provided with outputs for delivering a signal that is indicative of a probability that the physiological condition of the ruminant does not correspond to one or more physiological conditions. A network 163 may, for example, for each of the physiological conditions of resting, ruminating and eating have a primary output for a signal that indicates the probability of each of those conditions, and in addition the network can have a secondary output for a signal that indicates the probability that the physiological condition of the ruminant is a different one than these physiological conditions of resting, ruminating and eating.
Also, the signal at such a secondary output may be co-indicative of the probability that a different condition than the conditions for which primary outputs are provided, is absent. For example, the neural network can have a primary output to indicate the probability that the ruminant is resting; have another primary output to indicate the probability that the ruminant is eating and in addition have a secondary output for delivering a signal indicating the probability that the ruminant is not resting, not eating and not ruminating either.
It is noted, perhaps unnecessarily, that the neural network can have more of such first-mentioned or secondly-mentioned secondary outputs.
In the embodiment shown, the neural network 16 calculates a probability indication for each of the above-mentioned conditions. The duration of the time intervals between successive calculations may for instance be in the range of 10 s to 10 min. According as the time interval is longer, and hence the sensor unit 12 and the calculating unit 15 need to be active less often, the first system part 10 can remain operational longer with a given battery capacity, and/or a smaller battery will suffice. With a very long time interval, for example longer than one hour, the obtained condition information is too limited to get a good impression of the physiological condition of the ruminant. With a very short time interval, for example shorter than one second, the additionally obtained condition information has only a limited added value and this might not outweigh the relatively high energy consumption. With a very small time interval there is in effect a continuous determination of the current condition of the animal for an indefinite period. In a practical embodiment the time interval can be, for example, about one minute.
On the basis of the probability indications supplied by the network cells 163a, . . . , 163d it can be established with a further calculating module 17 which is the most probable condition Ti that the ruminant is in. For example, the condition designated as the most probable condition Ti is the condition that has the highest probability indication g.
But other factors may be taken into account as well. For example, it may be concluded that it's unlikely that the ruminant is ruminating if earlier-supplied probability indications indicate that the ruminant has not eaten for a prolonged period of time.
In the embodiment shown, it is established per time interval t1-t2 how often each of the possible conditions has been indicated as the most probable condition.
Possibly, from the thus obtained counting values NTi it may in turn be established for each possible condition which condition TTi has the highest counting value and, if desired, it can be designated as the most probable condition TTi for the entire time interval t1-t2.
The time interval t1-t2 can be, for example, one minute. Then, for example, it may furthermore be counted with the aid of the calculating module 17 for each quarter of an hour how long an animal has been in a particular condition. This information may for instance be buffered in the calculating module for 96 quarters of an hour after which the contents of the buffer are transmitted with the transmitting unit 18.
Another possibility would be that for each of the possible conditions the calculated probability indications are added up and, as most probable condition TTi for the entire time interval t1-t2, the condition is designated that has the highest cumulative probability indication.
In an embodiment, the counting value NTi for each condition i is calculated for a time interval having a duration of about 5 to 25 times the duration of the time intervals between successive calculations of the probability indications gi. In a practical embodiment in which a most probable condition Ti is established every minute, the duration of the time intervals t1-t2 is, for example, about a quarter of an hour.
The counting values NTi can be sent to the second system part 20 directly, but it's more favorable to send the data batchwise. Since transmission thus entails less overhead, on average, less energy will suffice. In a practical embodiment, for example, the transmitting unit 18 periodically transmits a batch of a few tens up to a few hundreds of sets of counting values NTi. For example, daily a buffer of 96 sets of counting values NTi (i=a, . . . , d) is sent to the second system part 20 for further analysis. The point of time at which the indications NTi are sent may for instance be chosen such that there's an opportunity to make adjustments in the circumstances of the ruminant directly, for example adjustments in the diet, the lighting or to the schedule of the day.
Many variations on the above-described embodiments are possible. In other embodiments, signal transfer from the first to the second system part can proceed, for example, via a (detachable) lead, or via a detachable data carrier, such as a flash memory. Also, embodiments are conceivable in which the calculating unit 15 is accommodated in the second system part 20 instead of in the first system part 10. In that case, the transmitting unit 18 sends the measuring data needed for the calculating unit 15 to the second system part 20. This, too, could be done batchwise. In practice, however, it is more favorable that the calculating unit 15 is part of the first system part 10 worn by the ruminant.
The system part 10 may also be worn by the ruminant in a different manner, for example as a strap 10a, 10b around one of the legs, as a tag 10c to the ear, as a sticker 10d on the skin, or as an implant 10e. In yet other embodiments, the system may be of one-part design, and, for example, provide the possibility of reading out data on a screen.
Summarizing, the above-described system in operation carries out a method having the following steps.
With movement sensors, for example, accelerometers, gyroscopes, and the like, a stream S1 of measuring data, e.g. ax(n), ay(n), az(n), is generated that is indicative of a movement condition of the ruminant. Then, with a neural network a stream S3 of condition data T(m) is calculated from the stream of measuring data. These condition data are indicative of the physiological condition of the ruminant. Generating the measuring data and calculating the condition data therefrom can take place at the same time, in the sense that new measuring data can be generated while condition data are being determined from earlier-generated measuring data.
The neural network 16 that is used may have been prepared for this purpose in advance, for example by adopting settings (e.g. the weighing factors wij, w′jk) from an earlier-trained neural network. On the other hand, the neural network 16 itself may be trained with a training prior to the use, for example as described in the following procedure.
Just as in the above-described method, a stream S1 of measuring data, e.g. ax(n), ay(n), az(n), is generated that is indicative of a movement condition of the ruminant for which the network will also be used later to determine condition data of the ruminant as described above.
In addition, a series of input data associated with the measuring data is received about the physiological condition of this ruminant, which input data have been obtained on the basis of an independent assessment. This input data has for instance been obtained with the aid of an expert who observes the ruminant and each time indicates for different parts of the measuring data what in his/her opinion the condition of the ruminant is. Observation can for instance take place directly, but alternatively by means of video pictures.
With the aid of the measuring data and the associated input data obtained independently thereof, the neural network can be trained. This is to say that the settings, such as the weighing factors, of the neural network are adjusted until the condition Ti that has been established by the network 16 substantially corresponds to the data that have been obtained by independent assessment. If desired, after training, the functioning of the neural network 16 can be verified with control data, i.e., a part of the independently obtained data may be excluded from use for the training and be reserved to establish whether the condition Ti predicted by the trained network corresponds to the condition of the ruminant that applies according to these control data.
All this is illustrated in
In this manner, for each of a plurality of time intervals a most probable condition Ti can be predicted, and it can be compared with the assessment of the condition of the ruminant on the basis of the independently obtained data. The deviation between these two values is used for adjustment of the settings of the neural network. Suitable algorithms for this are known per se. These are usually based on a “gradient descent” method. For perceptrons this type of method is for instance known as “back propagation”. The order in which the signals of a particular time interval are supplied to the neural network is not relevant. What is important is that it holds for each time interval that it comprises a stream of measuring data that is associated with a single movement condition of the ruminant. For the training of the network in order for it to be able to recognize mutually different movement conditions, there are needed, in particular, different streams of measuring data that are associated with different movement conditions of the ruminant.
An overview of suitable neural networks and methods of training them is available in:
http://www.cs.put.poznan.pl/jstefanowski/sed/DM13neuralnetworks.pdf
In the preceding example, the network was trained on the basis of measuring data and input data obtained from the same ruminant as for which the network, after training, will be used for determining the condition of this ruminant. It holds for this, for instance, that the method for training comprises the following steps:
In particular, the method furthermore comprises the following steps:
In particular, this method furthermore comprises the following steps:
In particular, this method furthermore comprises the following steps:
In an embodiment, during training and use of the trained neural network, or a copy thereof, a pre-processing operation can take place of the stream S1 of measuring data before these are used for establishing a most probable condition Ti. This further embodiment is schematically shown in
In an embodiment the sensor unit 12 supplies, for example, a stream of two measuring data per second, and every minute the additional calculating module 14 calculates therefrom one or more derived data that are an indication of a respective property of a signal represented by the measuring data.
For clarity,
wherein μx is the average value for this series of acceleration values ax(n), and N (1+nm+1−nm) the number of the values in the series. The number of values in the series can be, for example, between 10 and 1000.
Similarly, the values Vy(m) are obtained from a series of acceleration values ay(n) and the values Vz(m) are obtained from a series of acceleration values az(n).
The second calculating block 142x, 142y, 142z calculates another property of a signal represented by the stream of measuring data S1. Here, this is the average MADx(m) of absolute differences between successive measuring data in the stream of measuring data. This can be calculated as follows:
Similarly, the values MADy(m) can be obtained from a series of acceleration values ay(n) and the values MADz(m) can be obtained from a series of acceleration values az(n).
Also, the first calculating block or second calculating block can determine the average MEANx(m) of successive measuring data in the stream. This can be calculated as follows:
Similarly, the values MEANy(m) can be obtained from a series of acceleration values ay(n) and the values MEANz(m) can be obtained from a series of acceleration values az(n).
Also, the first calculating block or second calculating block can determine the minimum MINx, MINy, and MINz of successive measuring data in the stream. This can be calculated as follows:
Also, the first calculating block or second calculating block can determine the maximum MAXx, MAXy and MAXz of successive measuring data in the stream. This can be calculated as follows:
The results obtained with the pre-processing operations reflect mutually different signal properties. Thus, the value MAD is indicative of relatively fast variations in the measured value of the acceleration, and the value V is indicative of the total of variations in the measured value of the acceleration, the value MEAN is indicative of the average of the measured acceleration, the value MIN is indicative of a lower limit of the measured acceleration and the value MAX is indicative of an upper limit of the measured acceleration. Another derived datum may be the absolute difference between the greatest and the smallest value of the acceleration in the series of acceleration values. This datum is in particular indicative of the strength of relatively slow variations in the acceleration.
These pre-processing operations convert the stream of measuring data S1 into a stream of derived data S2 with lower frequency. This is not essential, but does simplify the task of the neural network, so that, in particular, it can be trained faster to recognize specific conditions. In a practical embodiment, the sensor unit supplies, for example, two measuring data per second for each measuring direction x, y, z, and every minute the calculation blocks 141x,y,z and 142x,y,z calculate a derived datum from the measuring data supplied in the past minute.
In this document the indefinite article “a(n)” is used in the sense of “one or more”, as is conventional in patent documents. The wording “comprises” is not used exclusively. In other words, if in this document it is stated that a first element comprises a second element, the first element can also comprise other elements besides the second element. Furthermore, in this document the term “or” is used in a non-exclusive sense. That is to say, “A or B” covers “A but not B”, “B, but not A” and “A and B”, unless indicated otherwise.
Number | Date | Country | Kind |
---|---|---|---|
2015574 | Oct 2015 | NL | national |
Number | Name | Date | Kind |
---|---|---|---|
20090187392 | Riskey et al. | Jul 2009 | A1 |
20150070172 | Alasaarela | Mar 2015 | A1 |
20150185088 | Rabieirad et al. | Jul 2015 | A1 |
20150359199 | Schaefer | Dec 2015 | A1 |
Number | Date | Country |
---|---|---|
2005115242 | Dec 2005 | WO |
2011069512 | Jun 2011 | WO |
Entry |
---|
“Public Views on Artificial Intelligence and Intellectual Property Policy” Oct. 2020 USPTO https://www.uspto.gov/sites/default/files/documents/USPTO_AI-Report_2020-10-07.pdf. |
P. Martiskainen et al., “Cow behaviour pattern recognition using a three-dimensional accelerometer and support vector machines”, Applied Animal Behaviour Science, vol. 119, Apr. 5, 2009, pp. 32-38 (7 pages). |
Dutch Search Report, dated Jul. 27, 2016 (3 pages). |
Number | Date | Country | |
---|---|---|---|
20170112104 A1 | Apr 2017 | US |