Method and system for determining a physiological condition of a ruminant
11019806 · 2021-06-01
Assignee
Inventors
Cpc classification
G16H50/20
PHYSICS
A61B5/7264
HUMAN NECESSITIES
A61B5/42
HUMAN NECESSITIES
A61B5/4809
HUMAN NECESSITIES
A61B2562/0219
HUMAN NECESSITIES
A01K27/009
HUMAN NECESSITIES
International classification
A61B5/00
HUMAN NECESSITIES
A61B5/11
HUMAN NECESSITIES
Abstract
The invention provides a system and a method for determining a physiological condition of a ruminant. The system comprises a sensor unit and a calculating unit. The sensor unit generates a stream of measuring data that are indicative of a movement condition of the ruminant. The calculating unit uses a neural network for calculating a stream of condition data from the stream of measuring data. The condition data indicate a physiological condition of the ruminant.
Claims
1. A system for determining a physiological condition of a ruminant, which system comprises the following components: an inertia sensor or a gyroscope for collecting and generating a first stream (S1) of measuring data (a.sub.x(n), a.sub.y(n), a.sub.z(n)) that are indicative of a movement condition of the ruminant, an additional calculating module for deriving from the first stream of measuring data (S1) a second stream (S2) of derived data with a frequency lower than that of the first stream of measuring data, whereby individual data in the second stream of derived data have been calculated from a plurality of measuring data in the first stream S1 of measuring data, a neural network for calculating a third stream (S3) of condition data (NT.sub.i) from the second stream of derived data, which condition data are indicative of the physiological condition of the ruminant, an output device wherein the neural network has respective outputs through the output device for delivering a signal (g.sub.i) that is indicative of a probability that the physiological condition of the ruminant corresponds to respective specific physiological conditions, characterized in that the physiological conditions for which the neural network has a respective output comprise at least resting; wherein the sensor unit comprises an inertia sensor or a gyroscope; and wherein the neural network comprises one of perceptron, a Kohonen network, a Hopfield network, a Boltzmann machine, a radial base function network, a support vector machine or a self-organizing map.
2. The system according to claim 1, wherein the physiological conditions for which the neural network has a respective output furthermore comprise at least one or more of eating, ruminating, sleeping, standing and lying.
3. The system according to claim 2, wherein the physiological conditions for which the neural network has a respective output comprise at least one or more of resting, ruminating and eating and the neural network furthermore has an output for delivering a signal that is indicative of a probability that the physiological condition of the ruminant is a different one than these physiological conditions.
4. The system according to claim 2, wherein the physiological conditions for which the neural network has a respective output comprise at least one or more of resting, and sleeping.
5. The system according to claim 2, wherein the physiological conditions for which the neural network has a respective output comprise at least one or more of standing and lying.
6. The system according to claim 1, wherein the physiological conditions for which the neural network has a respective output comprise at least one or more of eating, ruminating, resting, sleeping, standing and lying.
7. The system according to claim 1, wherein the system comprises a system part to be worn by the ruminant.
8. The system according to claim 7, wherein the system part to be worn by the ruminant is included in a housing to be worn by the ruminant around the neck.
9. The system according to claim 7, comprising a transmitting unit and a receiving unit, wherein the inertia sensor or the gyroscope, the neural network and the transmitting unit are part of a first system part to be worn by the ruminant, and wherein the receiving unit is separately included in a second system part, wherein the transmitting unit brings about that the condition data (NT.sub.i) calculated by the neural network are transferred to the receiving unit of the second system part, possibly in combination with an identification code.
10. The system according to claim 9, wherein the first system part furthermore comprises a storage unit for storing a plurality of condition data and the transmitting unit brings about that the plurality of condition data are jointly transferred as a cluster of data to the receiving module of the second system part.
11. The system according to claim 1, wherein the inertia sensor or the gyroscope comprises a 3G sensor.
12. The system according to claim 1, wherein the first stream of measuring data (S1) comprises acceleration data.
13. The system according to claim 1, wherein the additional calculating module has a first calculating block and a second calculating block for calculating an indication of a respective property of a signal represented by the first stream of measuring data (S1), wherein the first calculating block calculates a variance V in the first stream of measuring data as the indication for a first property of the signal represented by the measuring data, and wherein the second calculating block calculates a property other than the variance.
14. The system according to claim 13, wherein the property calculated by the second calculating block is selected from the group consisting of a maximum absolute difference between successive measuring data in the first stream of measuring data, the average of successive measuring data in the first stream of measuring data, a minimum of successive measuring data in the first stream of measuring data, a maximum of successive measuring data in the first stream of measuring data.
15. A system for determining a physiological condition of a ruminant, which system comprises the following components: an inertia sensor or a gyroscope for collecting and generating a first stream (S1) of measuring data (a.sub.x(n), a.sub.y(n), a.sub.z(n)) that are indicative of a movement condition of the ruminant, an additional calculating module for deriving from the first stream of measuring data (S1) a second stream (S2) of derived data with a frequency lower than that of the first stream of measuring data, whereby individual data in the second stream of derived data have been calculated from a plurality of measuring data in the first stream S1 of measuring data, a neural network for calculating a third stream (S3) of condition data (NT.sub.i) from the second stream of derived data, which condition data are indicative of the physiological condition of the ruminant, wherein the neural network is a calculating unit which comprises a plurality of mutually linked network cells, where the network cells can generate the second stream (S3) of the condition data (NT.sub.i) from a plurality of mutually weighed input signal of the first stream of the measuring data, while the weighing factors used for weighing the input signals are adapted by training the network, and wherein the weighing factors of the neural network are adjusted until the condition Ti that has been established by the neural network corresponds to data that have been obtained by independent assessment, an output device wherein the neural network has respective outputs through the output device for delivering a signal (g.sub.i) that is indicative of a probability that the physiological condition of the ruminant corresponds to respective specific physiological conditions, characterized in that the physiological conditions for which the neural network has a respective output comprise at least resting; wherein the sensor unit comprises an inertia sensor or a gyroscope; and wherein the neural network is selected from one of: perceptron, a Kohonen network, a Hopfield network, a Boltzmann machine, a radial base function network, a support vector machine and a self-organizing map.
16. The system according to claim 15, wherein the physiological conditions for which the neural network has a respective output comprise at least one or more of resting, ruminating and eating and the neural network furthermore has an output for delivering a signal that is indicative of a probability that the physiological condition of the ruminant is a different one than these physiological conditions; wherein the system comprises a system part to be worn by the ruminant; wherein the system part to be worn by the ruminant is included in a housing to be worn by the ruminant around the neck; wherein the system further comprises a transmitting unit and a receiving unit, wherein the inertia sensor or the gyroscope, the neural network and the transmitting unit are part of a first system part to be worn by the ruminant, and wherein the receiving unit is separately included in a second system part, wherein the transmitting unit brings about that the condition data (NT.sub.i) calculated by the neural network are transferred to the receiving unit of the second system part, possibly in combination with an identification code; wherein the first system part furthermore comprises a storage unit for storing a plurality of condition data and the transmitting unit brings about that the plurality of condition data are jointly transferred as a cluster of data to the receiving module of the second system part.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
(1) These and other aspects of the current invention are further elucidated on the basis of the following drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
DETAILED DESCRIPTION OF THE INVENTION
(8) In the following figures corresponding parts have the same reference numerals.
(9)
(10) The system part 10, which is shown in more detail in
(11) 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.
(12) 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.
(13) In the exemplary embodiment shown in
(14)
(15) The second, hidden, layer 162 comprises network cells 162a, . . . , 162h. Each of these network cells 162j (j=a, . . . , h) calculates an output value v.sub.j, on the basis of a function f of the data v.sub.a, . . . , v.sub.f passed on, whether or not processed or weighed, by the first layer 161.
ƒ.sub.j(v.sub.a, . . . v.sub.f)
(16) In the exemplary embodiment shown, the function applied is defined as follows:
(17)
(18) Other functions, however, are also possible.
(19) The third layer 163 with network cells 163a, . . . , 163d, calculates an output value v.sub.k, on the basis of a function g of the output values calculated by the second layer 162 on the basis of the functions f.sub.j, for example as follows:
(20)
(21) Each function value g.sub.k is an indication of the probability that the ruminant is in a specific condition. In an exemplary embodiment, the function values g.sub.a, . . . , g.sub.d furnished by the network cells 163.sub.a, . . . , 163.sub.d 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.
(22) 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.
(23) 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.
(24) It is noted, perhaps unnecessarily, that the neural network can have more of such first-mentioned or secondly-mentioned secondary outputs.
(25) 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.
(26) On the basis of the probability indications supplied by the network cells 163.sub.a, . . . , 163.sub.d 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.
(27)
(28) 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.
(29) In the embodiment shown, it is established per time interval t.sub.1-t.sub.2 how often each of the possible conditions has been indicated as the most probable condition.
(30)
(31) Possibly, from the thus obtained counting values NT.sub.i 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 t.sub.1-t.sub.2.
(32) The time interval t.sub.1-t.sub.2 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.
(33) 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 t.sub.1-t.sub.2, the condition is designated that has the highest cumulative probability indication.
(34) 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 t.sub.1-t.sub.2 is, for example, about a quarter of an hour.
(35) 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.
(36) 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.
(37) 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.
(38) Summarizing, the above-described system in operation carries out a method having the following steps.
(39) 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.
(40) 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 w.sub.ij, w′.sub.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.
(41) 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.
(42) 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.
(43) 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.
(44) All this is illustrated in
(45) 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.
(46) An overview of suitable neural networks and methods of training them is available in:
(47) http://www.cs.put.poznan.pl/jstefanowski/sed/DM13neuralnetworks.pdf
(48) 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: a. generating at least one stream (S1) of measuring data that is indicative of a movement condition of the first ruminant, b. receiving input data that are associated with the at least one stream of measuring data of step a., these input data giving an indication of the physiological condition of the first ruminant for said at least one stream of measuring data on the basis of an independent assessment, c. training a neural network on the basis of the stream (S1) of measuring data generated in step a. and the associated input data received in step b.
(49) In particular, the method furthermore comprises the following steps: d. repeating steps a., b. and c. for another stream of measuring data and associated other input data, each relating to the first ruminant. It is also possible, however, that the network is trained on the basis of measuring data and input data of another ruminant, all this in a same manner as described above. It holds for this, for instance, that the method for training furthermore comprises the following steps: a1. generating at least one stream (S1) of measuring data that is indicative of a movement condition of a second ruminant which is different than the first ruminant, b1. receiving input data that are associated with the at least one stream of measuring data of step a1., these input data giving an indication of the physiological condition of the second ruminant for said associated at least one stream of measuring data of step a1. on the basis of an independent assessment, c1. training a neural network on the basis of the stream (S1) of measuring data generated in step a1. and the associated input data received in step b1.
(50) In particular, this method furthermore comprises the following steps: d1. repeating steps a1., b1. and c1. for another stream of measuring data and associated other input data, each relating to the second ruminant. Also, the network may be trained on the basis of measuring data and input data of a group of ruminants which may or may not comprise the ruminant for which the trained network will be used later to determine the condition. In such a case, on the one hand the measuring data belonging to a particular condition can be averaged over the group and on the other hand the input data associated with the measuring data and belonging to the particular condition can be determined. This is then repeatedly carried out for the different conditions and on the basis of this information the network is trained. It holds for this, for instance, that the method furthermore comprises prior to the normal use of the neural network: a2. generating a plurality of streams (S1) of measuring data that are indicative of a same movement condition of, respectively, each of a plurality of ruminants, b2. receiving input data that are associated with the plurality of streams of measuring data of step a2., these input data giving an indication of the same physiological condition mentioned in step a2. on the basis of an independent assessment, c2. training a neural network on the basis of the streams (S1) of measuring data generated in step a2. and the associated input data received in step b2.
(51) In particular, this method furthermore comprises the following steps: d2. repeating steps a2., b2. and c2. for another plurality of measuring data and associated other input data, each relating to the plurality of ruminants.
(52) 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
(53) 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.
(54) For clarity,
(55)
(56)
wherein μ.sub.x is the average value for this series of acceleration values a.sub.x(n), and N (1+n.sub.m+1−n.sub.m) the number of the values in the series. The number of values in the series can be, for example, between 10 and 1000.
(57) Similarly, the values V.sub.y(m) are obtained from a series of acceleration values a.sub.y(n) and the values V.sub.z(m) are obtained from a series of acceleration values a.sub.z(n).
(58) 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 MAD.sub.x(m) of absolute differences between successive measuring data in the stream of measuring data. This can be calculated as follows:
(59)
(60) Similarly, the values MAD.sub.y(m) can be obtained from a series of acceleration values a.sub.y(n) and the values MAD.sub.z(m) can be obtained from a series of acceleration values a.sub.z(n).
(61) Also, the first calculating block or second calculating block can determine the average MEAN.sub.x(m) of successive measuring data in the stream. This can be calculated as follows:
(62)
(63) Similarly, the values MEAN.sub.y(m) can be obtained from a series of acceleration values a.sub.y(n) and the values MEAN.sub.z(m) can be obtained from a series of acceleration values a.sub.z(n).
(64) Also, the first calculating block or second calculating block can determine the minimum MIN.sub.x, MIN.sub.y, and MIN.sub.z of successive measuring data in the stream. This can be calculated as follows:
(65)
(66) Also, the first calculating block or second calculating block can determine the maximum MAX.sub.x, MAX.sub.y and MAX.sub.z of successive measuring data in the stream. This can be calculated as follows:
(67)
(68) 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.
(69) 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.
(70) 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.