Machine learning model for determining foliage cover and training method therefor
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- HALTER USA INC
- Filing Date
- 2024-07-09
- Publication Date
- 2026-05-20
AI Technical Summary
Current methods for measuring foliage cover, such as manual assessment and satellite imagery, are prone to errors, variability, and require significant labor and time, while existing machine learning models face challenges in accuracy due to limited access to labelled data for training.
A machine learning model trained using data from wearable devices of cattle that have grazed within a virtually fenced area, which receives input image data to determine foliage cover by delineating geographical areas and updating the model based on differences in predicted cover between zones, utilizing a controller to refine the model with loss parameters and pseudo-labels.
This approach provides an accurate and efficient method for determining foliage cover, reducing errors and labor requirements, and improving the accuracy of pasture management by leveraging animal guidance system data for training, enabling more frequent and reliable measurements.
Smart Images

Figure IB2024056667_16012025_PF_FP_ABST
Abstract
Description
[0001] MACHINE LEARNING MODEL FOR DETERMINING FOLIAGE COVER AND TRAINING METHOD THEREFOR
[0002] The present invention relates to a machine learning model to determine the foliage cover of an area of land from a satellite image. In particular, the invention relates to one or more methods of training the machine learning model using large-scale farm physical features. Where labelled data from the physical features is received from wearable devices of virtually fenced cattle which have grazed the foliage within said area.
[0003] BACKGROUND OF THE INVENTION
[0004] Pasture management is a key factor for the productivity and profitability of cattle and crop farms, as well as for the environmental sustainability of the industry. However, measuring pasture or crop cover, which is the amount of green biomass, or foliage, per unit area, is a challenging and time-consuming task for farmers.
[0005] Current methods of measuring foliage cover include manual walking and visual assessment, or using instruments such as rising plate metres or electronic pasture metres that are towed behind a vehicle. These methods are prone to errors, variability and subjectivity, depending on who is doing the measurement, how often it is done, and what calibration factors are used. Moreover, these methods require significant labour and time inputs from the farmers, which may limit the frequency and coverage of the measurements.
[0006] Satellite imagery has been proposed as an alternative method of measuring cover, as it can provide objective, consistent and frequent data over large areas. Satellite imagery can capture the reflectance of solar radiation from the plants in different wavelengths, such as red and near-infrared (NIR), which are related to the amount of chlorophyll and biomass in the plants. By applying algorithms that process the satellite images and account for factors such as cloud cover, shadow, soil background and atmospheric conditions, it is possible to estimate the foliage cover, or where the foliage is a grass or pasture, pasture cover for each paddock on a farm.
[0007] Several services have explored the use of satellite imagery for pasture cover estimation in New Zealand, such as the Space™ by Livestock Improvement Corporation (LIC).
[0008] Other research has been undertaken to utilise machine learning with satellite imagery to determine cover. However, there may be limitations and challenges with the current satellite-based methods of measuring cover. One of the main limitations is the accuracy of the estimates, which can be affected by various sources of error and uncertainty - in particular, getting and applying accessible labelled data to teach models.
[0009] Therefore, there is a need for an improved method of measuring pasture cover using satellite imagery that can overcome the limitations of the current methods.
[0010] OBJECT OF THE INVENTION
[0011] It is an object of the present invention to provide a prediction model and training method therefor that overcomes or at least partially ameliorates some of the abovementioned disadvantages or which at least provides the public with a useful choice.
[0012] SUMMARY OF THE INVENTION
[0013] The following statements of invention relate to any of the herein described aspects of invention.
[0014] In one broad aspect the invention relates to a system to determine foliage cover, the system comprising: a controller configured to:
[0015] • receive input image data comprising foliage cover to be determined;
[0016] • determine a predicted measure of foliage cover from the input image data by application of a prediction image model trained by a training dataset comprising images of foliage at a location whereby: o the training dataset comprises an image of a geographical area comprising zones delineated by a predefined grazing line, and / or o the training dataset comprises images of a geographical area subject to a grazing event within a predetermined period of time; and o reference data comprising one or more foliage cover measurements at the geographical area; and • execute a control based on the determined predicted measure of foliage cover.
[0017] In one embodiment, the predicted measure of cover comprises a representation of pasture weight for pixels or groups of pixels..
[0018] In one embodiment, the controller is configured to: determine a geographical area from the image data, assign a geospatial area to each pixel or groups of pixels, determine a representation of pasture weight for each geospatial area..
[0019] In one embodiment, the controller is configured to determine the size of each geospatial area based on colour gradient data of the image data, whereby the number of colour gradients in the image data is inversely proportional to the size of the geospatial areas..
[0020] In one embodiment, the controller is configured to operate a display device to generate a visual representation of the foliage cover based on the predicted measure of foliage cover.
[0021] In one embodiment, the system further comprises the animal guidance system.
[0022] In one embodiment, the input image data and or training dataset is received from one or more image capture systems.
[0023] In one embodiment, the image capture systems comprise one or more of a satellite imaging system, or a local image capture device.
[0024] In one embodiment, the local imaging system is a camera..
[0025] In one embodiment, the locale imaging system comprises a camera orientated to face a predetermined graze line..
[0026] In one embodiment, the controller is configured to request image data relating to the location from an image data source, based on a grazing event in an area.
[0027] In one embodiment, the grazing line comprises a virtual boundary defined or caused by the animal guidance system.
[0028] In one embodiment, a grazing event has occurred in one zone within a predetermined period of time so as to cause the grazing line.
[0029] In one embodiment, the one or more images each comprise image data within a single frame from an image capture device.
[0030] In one embodiment, the zones delineated by a predefined grazing line comprise a geographical area including a first subset foliage area and a second subset foliage area, and the reference data comprises foliage cover measurements from one or both of the first or second subset areas.
[0031] In one embodiment, the controller is further configured to determine the first and second subset areas by: receiving data from the animal guidance system indicative of an animal grazing event occurring in a subset area at the location within a predetermined time period; and determine the first and second subset foliage areas based on the subset area location of the grazing event.
[0032] In one embodiment, the first foliage subset area is characterised by a measure difference in foliage cover compared to the second foliage subset area, and the measure of difference is caused by the grazing event.
[0033] In one embodiment, the training image data comprises pairs of images of a geographical area at the location.
[0034] In one embodiment, the controller is further configured to receive data indicative of the grazing event at the geographical area from the animal guidance system.
[0035] In one embodiment, one or more images comprises time stamp data, the controller is further configured to determine a visual difference based on:
[0036] • a determination that a first image in a first pair of images has been captured at a first point in time,
[0037] • a determination that a second image in the first pair of images has been captured at a second point in time, and
[0038] • a determination, based on a determination of animals positioned at the location within the image data, between the first and second points of time.
[0039] In one embodiment, the controller is further configured to build the training dataset by determining a visual difference from a source image dataset based on:
[0040] • a determination that the first image in a first pair of images has been captured at a first point in time, • a determination that the second image in the first pair of images has been captured at a second point in time, and
[0041] • a determination, based on animal location data received via a system input, of whether a grazing event has occurred between the first and second points of time.
[0042] In one embodiment, the controller is further configured to build the training dataset by determining a visual difference from a source image dataset based on:
[0043] • a determination that the first image in a first pair of images has been captured at a first point in time,
[0044] • a determination that the second image in the first pair of images has been captured at a second point in time, and
[0045] • a determination, based on animal location data from the animal guidance system, of whether a grazing event has occurred between the first and second points of time.
[0046] In one embodiment, the controller is further configured to build the training dataset by determining a visual difference from a source image dataset based on:
[0047] • a determination that the first image in a first pair of images has been captured at a first point in time,
[0048] • a determination, based on animal location data from the animal guidance system, that an animal grazing event has occurred within the geographical area after the first point of time, then
[0049] • a determination that the second image in the first pair of images has been captured at a second point in time and after the grazing event, and
[0050] • a determination that the first and second point in time are within a predetermined time period.
[0051] In one embodiment, the controller is further configured to build the training dataset by determining a visual difference from a source image dataset based on:
[0052] • a determination that the first image in a first pair of images has been captured at a first point in time,
[0053] • a determination, based on animal location data from the animal guidance system, that an animal grazing event has not occurred within the geographical area after the first point of time, then
[0054] • a determination that the second image in the first pair of images has been captured at a second point in time, and
[0055] • a determination that at least a predetermined time has elapsed between the first and second points in time.
[0056] In one embodiment, animal location data from the animal guidance system comprises one or more of: o animal position data recorded by the animal guidance system, o a schedule of animal guidance events, including o a grazing event at the geographical area, o a zone at the geographical area; or o recognition of animals at the geographical area determined from the image data.
[0057] In one embodiment, the zone is a geographical area virtually bounded by the animal guidance system.
[0058] In one embodiment, the animal guidance system is configured to retain animals within the zone.
[0059] In one embodiment, the controller is configured to receive reference data based on measured foliage cover gathered by one or more of:
[0060] • a plate metre apparatus;
[0061] • a local device configured to measure directly or indirectly foliage cover;
[0062] • a robotic measurement apparatus;
[0063] • an estimate of cover by a skilled person;
[0064] • a mobile phone, and associated camera, configured to determine measured foliage cover by image segmentation methods or machine learning image techniques; and
[0065] • a smart device.
[0066] In one embodiment, the reference data is a label of a measured or predicted foliage cover at a location.
[0067] In one embodiment, the controller is further configured to associate pixels to geo-spatial areas, receive and associate reference data to respective said geo-spatial areas.
[0068] In one embodiment, the controller is further configured to receive and associate reference data to data with a pixel, or a line of pixels of the images of the training dataset. In one embodiment, the controller is further configured to receive and associate reference data comprising metadata of a location relating to where the reference data relates to, and apply said reference data to an associated pixel or geo-spatial area of the same location within the geographical area.
[0069] In one embodiment, the controller is further configured to receive and associate reference data comprising metadata of a location relating to where the reference data relates to, and apply said reference data as pseudo-labels across a range of associated pixels or geo-spatial areas of a similar location within the geographical area.
[0070] In one embodiment, the controller is further configured to receive and associate reference data comprising metadata of a location relating to where the reference data relates to, and apply said reference data as pseudo-labels across a range of associated pixels or geo-spatial areas within a zone which comprises the location.
[0071] In one embodiment, the controller is further configured to receive and associate pseudo-label data with a pixel, or a line of pixels of the images of the training dataset, the pseudo-label data indicative of one or more of:
[0072] • zone location information;
[0073] • zone information associated with one or more guidance functions of the animal guidance system; or
[0074] • user entered data.
[0075] In one embodiment, the prediction image model is further trained by: determining a loss parameter based on the training image dataset and the reference data; and refining the model based on the loss parameter determination.
[0076] In one embodiment, refining the model is based on one or more regression techniques.
[0077] In another broad aspect the invention relates to a system for training a foliage cover prediction image model comprising a causing a controller to execute the steps of:
[0078] • receiving a training dataset comprising image data comprising an image of a geographical area;
[0079] • determining data indicative of a grazing line (“grazing line pseudo- la be I”) within the geographical area) based on predetermined grazing line data or a machine determined grazing line;
[0080] • determining at least two zones of the geographical area, a first and second zone defined by subset areas on each side of the grazing line;
[0081] • determining, by the prediction image model, a predicted foliage cover for each of the first and second zones;
[0082] • updating the prediction image model based on a difference in predicted foliage cover between each of the first and second zones, where a higher difference in predicted foliage cover has lower loss than a lower difference in predicted foliage cover.
[0083] In one embodiment, the foliage cover prediction image model comprises a first prediction model and data indicative of a grazing line is determined by a second prediction model based on a trained dataset of images containing grazing line information.
[0084] In one embodiment, updating the prediction image model further comprises:
[0085] • determining a difference in predicted foliage cover for each of the first and second zones;
[0086] • determining a loss, where a loss tending towards 1 is indicative of a higher predicted foliage cover difference and a loss tending towards 0 is indicative of a lower predicted foliage cover difference;
[0087] • minimising the loss utilising a regression model or similar; and
[0088] • updating the prediction image model with said loss.
[0089] In one embodiment, the zone comprises pixels or geo-spatial representative areas of the image data.
[0090] In one embodiment, the controller is configured to compute, with the image model, a prediction of a foliage cover for each geo-spatial area.
[0091] In one embodiment, the controller is configured to determine an average zone foliage cover by averaging the predicted foliage cover from all geo-spatial areas within a zone.
[0092] In one embodiment, the predicted foliage cover difference is the difference in the average zone foliage cover.
[0093] In one embodiment, the system for training is semi-supervised. In one embodiment, the foliage cover prediction image model comprising causing a controller to execute the steps of:
[0094] • receiving a first training dataset comprising image data comprising an image of a geographical area;
[0095] • determining, for one or more pixels in the image data of the training dataset, a first conditional probability of a grazing line using a first machine learning prediction model and probable location of the grazing line, and creating associated grazeline data (“grazing line pseudolabel”);
[0096] • assembling a second training dataset based on image data with a conditional probability above a threshold;
[0097] • receiving the second training dataset comprising image data comprising an image of a geographical area;
[0098] • receiving the data indicative of the grazing line (“grazing line pseudo-label”) within the geographical area) and the probable location of the grazing line;
[0099] • determining at least two zones of the geographical area, a first and second zone defined by subset areas on each side of the grazing line;
[0100] • determining, by the prediction model, a predicted foliage cover for each of the first and second zones;
[0101] • updating the prediction model based on a difference in predicted foliage cover between each of the first and second zones, where a higher difference in predicted foliage cover has lower loss than a lower difference in predicted foliage cover.
[0102] In one embodiment, the system for training is semi-supervised.
[0103] In another broad aspect the invention relates to a system for training a foliage cover prediction image model comprising causing a controller to execute the steps of:
[0104] • receiving a training dataset comprising: o image data comprising images of a geographical area, o temporal data (“time pseudo-label”) of each image of the geographical area indicative of image data recordal time,
[0105] • determining or receiving at least two images of the geographical area, a first image and second image, the images separated in time by a time period and representative of a foliage cover change across said time period;
[0106] • determining a predicted foliage cover for each of the first image and second image based on the prediction image model; and
[0107] • updating the prediction image model based on the predicted foliage cover difference between each of the first image and second image, wherein a higher difference in predicted foliage cover has a lower loss than a lower difference in predicted foliage cover.
[0108] In one embodiment, updating the prediction image model further comprises:
[0109] • determining a difference in predicted foliage cover for each of the first and second images;
[0110] • determining a loss, where a loss tending towards 1 is indicative of a higher predicted foliage cover difference and a loss tending towards 0 is indicative of a lower predicted foliage cover difference;
[0111] • minimising the loss utilising a regression model or similar; and
[0112] • updating the prediction image model with said loss.
[0113] In one embodiment, the representative of a foliage cover change across said time period is determined by the steps of:
[0114] • determining receiving a grazing event or grazing non-event (“grazing event pseudo-label”); and
[0115] • determining the time of a foliage cover change at the geographical area is within the time period.
[0116] In one embodiment, the zone comprises pixels or geo-spatial representative areas of the image data.
[0117] In one embodiment, the controller is configured to compute, with the prediction image model, a prediction of a foliage cover for each geo-spatial area.
[0118] In one embodiment, the controller is configured to determine an average zone foliage cover by averaging the predicted foliage cover from all geo-spatial areas within a zone.
[0119] In one embodiment, the predicted foliage cover difference is the difference in the average zone foliage cover. In one embodiment, the controller is configured to receive a growth rate pseudo-label and the time period, and determine the expected magnitude of difference between predicted foliage covers of the respective geographical areas.
[0120] In one embodiment, the time period is greater than a threshold.
[0121] In one embodiment, the time period is greater than 1 hour, 6 hours, 1 day, 1.5 days, 2 days, 2.5 days, 4 days, 5 days, 1 week, or 2 weeks.
[0122] In one embodiment, the system for training is semi-supervised.
[0123] Wherein the output below are from claim 1 , or from the fused output from claim 36.
[0124] In one embodiment, the control comprises one or more functions of the animal guidance system.
[0125] In one embodiment, the controller is further configured to determine a predicted time for the foliage cover to reach a predetermined threshold, and wherein the control comprises a function of the animal guidance system operable to guide one or more animals to a location when the threshold is met.
[0126] In one embodiment, the controller is further configured to determine the foliage cover has reached a minimum (desired) cover threshold, and in response, the control comprises generating a user alert. In one embodiment, the controller is further configured to determine the foliage cover has reached a maximum (desired) cover threshold, and in response, the control comprises generating a user alert. In one embodiment, the controller is further configured to determine the foliage cover has reached a maximum (desired) cover threshold, and in response, the control comprises outputting data to the animal guidance system operable to conserve the location from further grazing events.
[0127] In one embodiment, the controller is further configured to determine the foliage cover at a location is between a minimum (desired) and maximum (desired) cover threshold, and in response, the control comprises generating a user alert.
[0128] In one embodiment, the controller is further configured to determine a measure of foliage rate of growth, and based on the measure, determine animal cycle / rotation time over a multiple predefined locations comprising multiple animal grazing locations.
[0129] In one embodiment, the control comprises generating a user alert when an animal rotation time within the predefined locations is indicative of or predicted to have low foliage cover.
[0130] In one embodiment, the control comprises controlling a feed ordering system when the animal rotation time is indicative of low foliage cover.
[0131] In one embodiment, the controller is further configured to determine the foliage cover at a location has reached a (desired or minimum) cover threshold, and in response, the control comprises generating an animal guidance command operable to relocate animals and / or define new virtual boundaries within the animal guidance system.
[0132] In one embodiment, the controller is further configured to: determine, based on predicted measure of foliage cover, a number of animals the location will support over a period of time, then, the control comprises generating an animal guidance command operable to define a virtual zone for the number of animals at the location for substantially the period of time.
[0133] In one embodiment, the controller is further configured to: determine, based on predicted measure of foliage cover, a number of animals the location will support over a period of time, then, the control comprises generating an animal guidance command operable to maintain the number of animals at the location for substantially the period of time.
[0134] In one embodiment, the controller is further configured to: determine, based on predicted measure of foliage cover, a number of animals the location will support over a period of time, then, the control comprises generating a user alert to the number of animals and the period of time. In one embodiment, the controller is further configured to determine, based on predicted measure of foliage cover, a predicted rate of growth of the foliage at the location; then, the control comprises generating an animal guidance command based on the predicted rate of growth including one or more of: guiding one or more animals to the location at a predetermined time.
[0135] In one embodiment, the system further comprises a display device and the controller is further configured to operate the display device to generate a graphical representation of one or more of • predicted foliage cover indicative of one or more of the cover or average cover at zone or geographical area, where the predicted foliage covers are displayed as numbers or as a scale of colour or graphically,
[0136] • growth rate determined from temporally adjacent foliage covers..
[0137] In one embodiment, the graphical representation comprises pixels or groups of pixels comprising one or more visual representations of predicted foliage cover..
[0138] In one embodiment, the animal guidance system comprises an animal device configured to be worn by an animal.
[0139] In one embodiment, the animal guidance system comprises a plurality of animal devices configured to be worn by a respective plurality of animals within the zone.
[0140] In one embodiment, the animal guidance system is configured to determine a behaviour related to a grazing event starting, a grazing event ending, and / or the amount of foliage grazed, via sensing of movement and / or location of the animal.
[0141] In one embodiment, the animal guidance system is configured to determine a grazing event from the behaviour related to grazing started.
[0142] In one embodiment, the animal device comprises one or more of: a device controller, a GPS, an IMU, a light, a sound source, memory components, one or more stimulus devices configured to deliver animal guidance commands, one or more stimulus devices, and a battery.
[0143] In one embodiment, the one or more animal devices comprise a position sensor, including one or more of a GPS or IMU, the device controller configured to determine an animal location based on data received from the position sensor.
[0144] In one embodiment, wherein the one or more stimulus devices are one or selected from, a vibrator configured to apply vibration to the animal, an electrode configured to apply an electric shock to the animal, and a speaker or piezo configured to apply a sound to the animal.
[0145] In one embodiment, the animal device is configured to be worn as a collar.
[0146] In one embodiment, the animal device is configured to directionally control the animal via left and right speakers proximal to the animal’s respective ears.
[0147] In one embodiment, the animal device is configured to guide an animal from one location to another location depending on a control output.
[0148] In one embodiment, the geographical area is part of a farm or ranch.
[0149] In one embodiment, the devices comprise a communications package to communicate with the controller. In one embodiment, the animal guidance system operates to retain animals with animal devices within an retainment area defined, at least in part, by a virtual boundary.
[0150] In one embodiment, the controller or animal device is configured to determine a grazing event ended by one or more of a. a cover estimate determined based in part on animal information determined from the animal device, the animal information relating to one or more of selected from:
[0151] I. number of animals in the retainment area,
[0152] II. the length of time the animals are in the retainment area, and ill. the amount of time spent doing a behaviour in the retainment area.
[0153] In one embodiment, the virtual boundary and / or retainment area is defined by the user.
[0154] In one embodiment, the virtual boundary and / or retainment area is a polygon boundary defined by the user on an electronic device, such as a computer or mobile smartphone..
[0155] In one embodiment, the animal device is configured to one or more of; guide into, restrain in, and guide out of the retainment area.
[0156] In one embodiment, the user configures the animal device to one or more of; guide into and guide out of the retainment area, the animal at a set time.
[0157] In one embodiment, the user device configures the animal device.
[0158] In one embodiment, the animal devices are configured to transmit animal information of one or more selected from location data, behaviour data, respective raw location data and / or behaviour data.
[0159] In one embodiment, the behaviour data relates to one or more selected from, starting to graze, grazing, stopping grazing, moving, walking, running, lying, standing, ruminating, and sleeping.
[0160] In one embodiment, the animal device and / or processor uses the location data to determine the behaviour data.
[0161] In one embodiment, the controller is configured to receive said animal information.
[0162] In one embodiment, the controller receives or determines the grazing started input from one or more of a. the user device, where the user has entered the set time of grazing started into the user device, the set time becoming the input time, b. animal information received from the animal devices indicating one or more animal devices entering a retainment area, and c. animal information received from the animal devices indicating the time one or more animals have started grazing.
[0163] In one embodiment, the controller receives or determines the grazing ended input from one or more of a. the user device, where the user has entered the set time of grazing ended into the user device, the set time becoming the input time, b. animal information received from the animal devices indicating one or more animal devices leaving a retainment area, and c. animal information received from the animal devices indicating the time one or more animals have stopped grazing.
[0164] In one embodiment, the controller receives or determines the reference data from one or both of a. a remote source or sources, received directly or indirectly from one or more selected from a satellite, pasture metre, or other cover measuring device, and b. the user device, where the user has input a growth rate value for a zone or retainment area into the user device.
[0165] In one embodiment, the satellite captures or detects images from one or more selected from a. weather data, b. visible data in the visible spectrum, c. infrared data in the infrared spectrum, d. multispectral data in the multispectral spectrum, and e. hyperspectral imagery.
[0166] In one embodiment, the zones, geographical areas, virtual boundary, and / or retainment areas are divided into H3 geo-indexing..
[0167] In one embodiment, the animal is a cattle animal, livestock animal, or bovine animal.
[0168] In another broad aspect the invention relates to an artificial intelligence image model for use in determining foliage cover having been trained according to the system of training as described and / or claimed herein.
[0169] In another broad aspect the invention relates to a system for determining foliage cover of a zone, the system comprising a controller configured for, o receiving a predicted image foliage cover of the zone from the image model as described and / or claimed herein; o receiving one or more of:
[0170] I. a predicted growth foliage cover from a growth model configured to determine the growth of the foliage over time since the last estimated foliage cover determination, at the location of the zone; ii. a predicted consumption foliage cover from a consumption model configured to determine if consumption of the foliage in the zone has occurred; and o fusing the image foliage cover with one or more of the growth and consumption predicted foliage covers via sensor fusion to determine the foliage cover.
[0171] In one embodiment, the controller is further configured to receives one or more of, o a predetermined growth rate for the zone; and o the previous foliage cover determination prior the current foliage cover determination; and receive or determine the time period between the current and prior determination to determine the growth foliage cover.
[0172] In one embodiment, the controller is further configured to determine a predicted growth foliage cover from the predetermined growth rate multiplied by the time period and added to the previous foliage cover.
[0173] In one embodiment, the controller is further configured to receive grazing data from an animal guidance system indicative of whether a grazing event has occurred in the zone within the time period to determine the consumption foliage cover.
[0174] In one embodiment, the animal guidance system is as claimed in earlier claims.
[0175] In one embodiment, the controller is further configured to fuse the models using a Kalman filter.
[0176] Other aspects of the invention may become apparent from the following description which is given by way of example only and with reference to the accompanying drawings. Other aspects of the invention may become apparent from the following description which is given by way of example only and with reference to the accompanying drawings.
[0177] In this specification where reference has been made to patent specifications, other external documents, or other sources of information, this is generally for the purpose of providing a context for discussing the features of the invention. Unless specifically stated otherwise, a reference to such external documents is not to be construed as an admission that such documents, or such sources of information, in any jurisdiction, are prior art, or form part of the common general knowledge in the art.
[0178] For purposes of the description hereinafter, the terms “upper”, “lower”, “right”, “left”, “vertical”, “horizontal”, “top”, “bottom”, “lateral”, “longitudinal” and derivatives thereof shall relate to the invention as it is oriented in the drawing figures. However, it is to be understood that the invention may assume various alternative variations, except where expressly specified to the contrary.
[0179] It is also to be understood that the specific devices illustrated in the attached drawings and described in the following description are simply exemplary embodiments of the invention. Hence, specific dimensions and other physical characteristics related to the embodiments disclosed herein are not to be considered as limiting.
[0180] It is acknowledged that the term “comprise” may, under varying jurisdictions, be attributed with either an exclusive or an inclusive meaning. For the purpose of this specification, and unless otherwise noted, the term ‘comprise’ shall have an inclusive meaning, allowing for inclusion of not only the listed components or elements, but also other non-specified components or elements. The terms ‘comprises’ or ’comprised’ or ‘comprising’ have a similar meaning when used in relation to the system or to one or more steps in a method or process.
[0181] As used hereinbefore and hereinafter, the term “and / or” means “and” or “o , or both.
[0182] As used hereinbefore and hereinafter, “(s)” following a noun means the plural and / or singular forms of the noun.
[0183] When used in the claims and unless stated otherwise, the word ‘for’ is to be interpreted to mean only ‘suitable for’, and not for example, specifically ‘adapted’ or ’configured’ for the purpose that is stated. For the purpose of this specification, where method steps are described in sequence, the sequence does not necessarily mean that the steps are to be chronologically ordered in that sequence, unless there is no other logical manner of interpreting the sequence.
[0184] The entire disclosures of all applications, patents and publications, cited above and below, if any, are hereby incorporated by reference.
[0185] BRIEF DESCRIPTION OF THE DRAWINGS
[0186] Preferred embodiments of the invention will be described by way of example only and with reference to the drawings, in which:
[0187] Figure 1 : shows a flow diagram of three training methods training an image model according to a first preferred embodiment of the present invention.
[0188] Figure 2: shows a flow diagram of a temporal training method.
[0189] Figure 3: shows a flow diagram of a temporal training method with schematic input images from different times and predicted cover outputs.
[0190] Figure 4: shows a flow diagram of a spatial training method.
[0191] Figure 5A: shows a flow diagram of a spatial training method with schematic input images comprising a delineated grazing line and predicted cover outputs.
[0192] Figure 5B: shows a flow diagram of a spatial training method with example input images comprising a delineated grazing line and predicted cover outputs.
[0193] Figure 6: shows a flow diagram of a reference data training method.
[0194] Figure 7: shows a flow diagram of a reference data training method with example schematic images and schematic predicted cover outputs, as well as label creation of reference data covers.
[0195] Figure 8: shows a flow diagram of a reference data training method with example input images and predicted cover outputs.
[0196] Figure 9: shows a schematic example of a pseudo-label being applied to each pixel or geo-spatial region within a zone from a known label taken within the zone.
[0197] Figure 10: shows a flow diagram of a Growth Model.
[0198] Figure 11 :shows a flow diagram of a Consumption Model.
[0199] Figure 12: shows a flow diagram of the consumption model, growth model and satellite model having their outputs inputted to sensor fusion where their outputs are fused to output a cover output. Figure 13: shows a flow diagram of information of a possible communications network between the animal guidance system, a device on an animal, a user, and the system.
[0200] Figure 14: show a flow diagram of data to and from the front and back end, and the wearable device. Figure 15: shows a colour gradient graphical output representing foliage cover across a farm.
[0201] Figure 16: shows a colour gradient graphical output representing foliage cover across a farm, where the cover is averaged across a paddock.
[0202] Figure 17: shows a flowchart of data in the backend or cloud.
[0203] DETAILED DESCRIPTION
[0204] With reference to the above drawings, in which similar features are generally indicated by similar numerals.
[0205] Embodiments of the invention relate to a machine implemented system and methods for predicting a determination of pasture cover. In some embodiments, the pasture cover determination is used to control aspects of an animal guidance system 2. In some embodiments, the animal guidance system 2 is operable to provide data to the system and methods of the invention.
[0206] One example of such an animal guidance system 2 is described with reference to Figure 13, and an animal device 400 as shown in Figure 13 and Figure 14, the entirety of which is incorporated by reference, and specific features and functions which may interact with features and functions of the present invention are described as follows.
[0207] Animal guidance system
[0208] The animal guidance system 100 comprises a wearable device configured to be worn by an animal. Such an animal may be any of dogs, pets, dairy cows, beef animals, bovidae, goat, bos, bos taurus, bison, sheep, bull, lama or any other animal that is desired to be tracked, communicated with, ‘moved’, ‘shifted’, ‘drafted’, and / or ‘guided’. However, the invention is particularly useful to cattle that primarily feed on pasture or crops within paddocks. The animal may form part of a herd of animals where one or more animals in the herd wear a device. In this specification, the wearable device is implemented as a collar, i.e. for placement around the neck of an animal. Many placements and appropriate implementations are possible and the most suitable location will be dependent on the particular animal and environment for use. The wearable device may comprise or communicate with a secondary device which optionally has some or all capabilities of the wearable device.
[0209] The wearable device of the animal guidance system utilises technology by the company HALTER® and is further described in patent publications WO2019180624 and WO2019180623. The HALTER® technology is capable of restraining an animal in a paddock defined by a virtual boundary, as well as being able to shift the animal from one location to another such as from a paddock to a milking shed. The wearable device achieves this via administering audible signals to the left and / or right ears of the animal and / or in combination with administering vibration and / or electrical stimulus to the animal, directionally or otherwise. The wearable device utilises electronics and / or software to control stimuli using control actions, as well as to communicate externally - such as to receive target locations, transition locations etc.
[0210] The animal guidance functions of the animal guidance system are provided by a control system which may herein be referred to as operations of an animal guidance system controller. This controller may be the same or different to the controller configured to operate the system and method of the pasture cover prediction.
[0211] The controller of the technology discussed in this specification are implemented by one or more computing devices which form the architecture of a system configured to perform desired functions. Reference to “controller” may refer to one or more electronic devices with processing functions that are configured to directly or indirectly communicate with, or over, one or more networks. A computing device may be a mobile device. As an example, a mobile device may include a smart wearable device such as a wearable animal collar (or “collar”), a cellular phone, IOT capable device, smartphone, a portable computer, such as watches, glasses, lenses, clothing, and / or the like, and / or other like devices. In other non-limiting embodiments, the computing device may be a desktop computer or other non-mobile computer. Furthermore, the term “computer” may refer to any computing device that includes the necessary components to receive, process, and output data, and normally includes a display, a processor, a memory, an input device, and a network interface.
[0212] Any or a selection of computing devices is configured to communicate with any other computing device as desired, where the terms "communication" and "communicate" may refer to the reception, receipt, transmission, transfer, provision, and / or the like of information, such as data, signals, messages, instructions, commands, and / or the like. For one controller, such as a device, a system, a component of a device or system, combinations thereof, and / or the like to be in communication with another controller means that the one controller is able to directly or indirectly receive information from and / or transmit information to the other controller. This may refer to a direct or indirect connection that is wired and / or wireless in nature. Additionally, two controllers may be in communication with each other even though the information transmitted may be modified, processed, relayed, and / or routed between the first and second controller. For example, a first controller may be in communication with a second controller even though the first unit passively receives information and does not actively transmit information to the second unit. As another example, a first controller may be in communication with a second controller and at least one intermediary controller, where a third controller is located between the first controller and the second controller, processes information received from the first controller and communicates the processed information to the second controller. In some non-limiting embodiments, data or information may refer to a network packet such as a data packet, and / or the like that includes data. It will be appreciated that numerous other arrangements are possible.
[0213] Further, in some embodiments, there is a central or master controller which may be referred to as a server, or generally as ‘the controller’. The term server or controller may refer to or include one or more processors or computing devices, storage devices, or similar computer arrangements that are operated by or facilitate communication and processing for multiple parties in a network environment, although it will be appreciated that communication may be facilitated over one or more public or private network environments and that various other arrangements are possible. Further, multiple computers such as servers or other computerised devices, directly or indirectly communicating in the network environment may constitute the controller such as a computing device configured for central service control. Reference to “a server” or “a processor,” as used herein, may refer to a previously-recited server and / or processor that is recited as performing a previous step or function, a different server and / or processor, and / or a combination of servers and / or processors, and refer to general implementations of processors which form the functional elements of the controller. For example, a first server and / or a first processor that is recited as performing a first step or function may refer to the same or different server and / or a processor recited as performing a second step or function. Further, reference to a server or processor may refer to a group of servers or group of processors, each configured to perform a task. Such tasks may include processes or algorithms which are undertaken by one or more servers of processors. Tasks undertaken by any one or more processors, such as by an on-collar and / or off-collar processor, are therefore to be understood as tasks undertaken collectively by the controller or control system of the animal guidance system which may also be the controller or control system of the pasture cover prediction system.
[0214] Embodiments of this disclosure include reference to cloud computing, implementation of the teachings recited herein are not limited to a cloud computing environment. Rather, embodiments of the present invention are capable of being implemented in conjunction with any other type of computing environment now known or later developed. Cloud computing is a model of service delivery for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g. networks, network bandwidth, servers, processing, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. Some embodiments are private clouds where the cloud infrastructure is operated solely for an organisation. Other embodiments are community clouds, where cloud infrastructure is shared by several organisations and supports a specific community that has shared concerns such as security requirements, policy, or compliance considerations. The community cloud may be managed by the organisations or a third party and may exist on-premises or off-premises. In some embodiments, a public cloud infrastructure is made available to the general public or a large industry group and is owned by an organisation selling cloud services. A cloud computing environment is service-oriented with a focus on statelessness, low coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure comprising a network of interconnected nodes. The cloud computing models may be managed by the organisation or a third party and may exist on-premises or off-premises. One applicable implementation model for the present disclosure is by Software as a Service (SaaS). SaaS is the capability provided to the consumer to use the provider's applications running on a cloud infrastructure. The applications are accessible from various client devices through a client interface such as a web browser. The consumer does not typically manage or control the underlying cloud infrastructure including network, servers, operating systems, storage, or even individual application capabilities.
[0215] Functions of a wearable animal collar of the animal guidance system are operable to direct an animal to a target location. The wearable device 400 has a controller 470 configured to operate functions of the wearable device, and the wearable device communicates with a computing device operating as a controller configured to manage control of the wearable device. The animal guidance system has a wearable device (collar) adapted to be worn by an animal as will be discussed in further detail below. However, the wearable device has at least one stimulus device operable to administer at least one form of stimulus to the animal and guide the animal to the target.
[0216] The animal guidance system further has at least one positioning system configured to output animal position data. The guidance system may be provided by a GPS device located on the wearable device, or local positioning system. Many forms of the positioning system are possible, and some of which are discussed in further detail below.
[0217] The animal guidance system further has at least one animal activity sensing device configured to output animal activity data. Animal activity data typically includes data relating to the movement of an animal as defined by one or more sensors configured to generate a signal based on a change on any one or more degrees of freedom as may be desired. Further detail on animal activity data and interpretation of said data to indicate animal activity is discussed below.
[0218] The animal guidance system further has at least one controller configured to undertake particular functional requirements. The specification below will discuss many functions in terms of desired outcomes, data and considerations to support those outcomes. It should be understood that for each outcome, the controller is configured to receive information, undertake any one or more functional steps based on the received information, process that information according to one or more rules, and generate an output operable to achieve the stated outcome. For example, in some embodiments, the controller of the animal guidance system is configured to receive the animal position data, receive the animal activity data, determine animal behaviour information from the animal position data and / or animal activity data; and generate an output operable to control at least one stimulus device to administer the stimulus to guide the animal to a target location.
[0219] The controller configured to implement some embodiments of the invention is made up of several discrete processing devices, such as microprocessors or other equivalent forms of computing device, and collectively form a control system. Further, those processing devices are distributed over a variety of locations and may be interconnected as a network. The processing devices of the network are connected, preferably wirelessly. For example, a wearable animal apparatus may for example have a processor configured to receive and act on data from the animal positioning system and animal activity device. That data may be communicated via the network to one or more other processing devices.
[0220] In some embodiments, one of the processing devices acts as a master device that connects to any number of other devices, collates data from any one of the number of other devices, makes decisions based on that collated data, then communicates instructions to any one or more of the other processing devices. For example, in some embodiments, the controller has at least one master processing device connected to a number of other processing devices which are located on an animal wearable collar. In such embodiments, the master processing device acts as a first controller module part and the one or more on-collar processing devices acts as a second controller module part, the controller module parts acting together as the controller of the control system. In some embodiments, the controller of each wearable device has control status data which defines where on a hierarchy of apparatus that particular apparatus is ordered. In exemplary embodiments, that status data includes data which defines the apparatus as a master, for determining and sending control decisions, and a slave, for receiving and acting on those control decisions.
[0221] In some embodiments, functions of the controller are enabled according to a SaaS subscription status. In order for the animal to move to a target location, a controller of the animal guidance system is configured to operate the wearable device (also herein called a collar) must determine or be supplied with the target location. As such, the controller of the animal guidance system must determine at least the animal location and a target location, and any other used variables to output to the stimulus device a stimulus or stimuli to suggest movement to the animal to the target location.
[0222] In the preferred embodiment, the controller 470 onboard the wearable device 400 is configured to receive a signal from an off-collar (off-wearable device) location relating to the target location. In some embodiments, the target location comprises a destination at the end of a pathway or heading. In some embodiments, the path between the target location contains one or more waypoints where the animal is desired to either pass through or exhibit some kind of behaviour when nearby. In further embodiments, the controller 470 onboard the wearable device is configured to receive a signal from an off-collar (off- wearable device) location relating to the paddock or area that is to virtual restrain the animal within. The off-collar processor may be located in the cloud, on a remote PC, or on a user’s computing device etc. In other embodiments, the wearable device comprises the processor. In further embodiments, determination of the above information to be determined is on the processor of the wearable device, or on both the off-collar and on-collar processors. Within this specification, where calculations or determinations are required, it is assumed they are performed by the control system of the animal guidance system which comprises computation by an on-collar processor and / or an off-collar processor. For example, in some exemplary embodiments, activity and location information is determined by the on-collar processor, whereas the target location and stimulus controls may be determined by an off-collar processor. Other implementations are possible.
[0223] In this specification, geographical control of sensors or animals is performed with a device or wearable device. In one example, the wearable device further operates to output stimuli that operate to guide an animal. Guidance of an animal is conducted with animal guidance information, and such information may include geographical boundary information, geographical target information and control operations, including stimuli output, which elicit movement of an animal to the target location, and many other animal guidance controls.
[0224] In this relatively simple example, a user tracks the position of a cow within a particular portion of the field and if deemed necessary or desirable, outputs guidance information which may cause the application of a desired form of stimulus to the cow to thereby elicit a behavioural response from the animal, such as guiding the animal to a new location.
[0225] The user may use a software application (such as a mobile app) on a mobile device or PC, which includes, or can receive data from the internet. This software application, as well as any processors or server utilities in communication with the mobile device or PC, may be referred to as the “backend”. Again, the backend may be anything that communicates with the device, that is not on the device end. However, in most applications, the backend represents a computing device that is immobile. A server and / or the PC and / or the person’s user device 202 may, in some examples, be referred to as a first or primary transmission device operating a first transmission protocol to communicate with the wearable device.
[0226] The wearable device can send and receive data from local wireless data transmission devices (embodied as a tower or base station). The base stations are configured to send and receive wireless communications, and in some cases, function as a transmitter. The base stations 20 can send and receive information to cell towers or satellites to the internet to store data stored on a remote server, such as a cloud server - i.e., a backend, or a local hub. One preferred form of a base station 620 is a spread spectrum low-frequency RF transmitter. For example, as part of a LoRa transmission protocol system as will be explained with reference to a preferred example below. The LoRa system may utilise the local hub to communicate with the internet or cell.
[0227] The wearable device is capable of detecting signals originating from one or more of GPS satellites, base stations of the first communication protocol, short-range communications devices as discussed further below, and one or more cell towers, user devices including short-range communication signals such as Bluetooth.
[0228] In some embodiments, the gateway is a Kona Macro loT Gateway from Tektelic Communications. The Kona Macro loT Gateway comprises both cellular modem and GPS antennas embedded internally. The Kona Macro loT Gateway is targeted at network sites that dictate a small form factor and low power consumption. The gateway can communicate with the device(s) as well as the backend.
[0229] By connecting with the Internet via Wi-Fi, Bluetooth, or cellular transmissions such as 3G,4G, LTE and others, the software application may access the data stored on the remote server, such as cloud server. The data contained in the cloud server can also be accessed by a processor of a computing device, such as a PC, via a connection through the Internet .
[0230] The PC or a user device (such as mobile device) comprises a user interface and / or server, and for some examples, is configured to perform the control action on the basis of a control command. In one example, the processors of the control system are operatively connected to or are part of a user device such as a smartphone, PDA, PC, laptop or any other suitable user device.
[0231] The wearable device may communicate directly with the front end or via the backend to the front end. The user may monitor the result of the comparison performed by a processor that is either part of, or is operatively connected to the device, on a screen of the mobile device, and depending upon the result of the comparison, the user may send an appropriate control command including animal guidance information or any variable relating to the performance of the device controller / processor 470. The control command may then be received by the device processor 470 which will then determine, according to the control command received, whether a control action is required. If the collar processor determines from a control command that no stimulus is to be applied to the animal, then no control signal will be transmitted or sent to the stimulus device of the collar. However, if the controller determines from a control command that a stimulus (such as a sound and / or vibration and / or an electric shock) is to be applied to the animal, then a control signal will be sent to the stimulus device to administer the appropriate stimulus to the animal.
[0232] In one example, the wearable device comprises a sensor package. The sensor package comprises a position sensing system, or interface with a position sensing system that acts to locate animals and locations of interest within a consistent geographical frame of reference. The position sensing system operates to provide animal position data. The position sensing system further operates to provide a reference to any one or more locations. The position sensing system further operates to provide a relative frame of reference to the animal position data and the one or more locations. Preferably, the position sensing system comprises at least a movement sensor (such as an IMU) and location sensor (such as GPS).
[0233] In preferred examples, the controller is configured to receive or determine location information as described above, including the one or more locations of interest. The location information may be in the form of coordinate data. In some examples, the position sensing system is a local positioning system (LPS) or GPS. Each of the local or global positioning systems include one or more transmitter components that output location reference data, and a receiver component that receives the location reference data and determines a location of the receiver component relative to the reference data. For example, LPS transmitters may include one or more beacons such as cellular base stations, Wi-Fi access points, and radio broadcast towers to compute the position of the receiver / sensor.
[0234] Locating position information of an object with a GPS position sensor is previously known in the art and calculation of a position is performed by precisely timing the signals sent by GPS satellites high above the Earth. Each satellite may continually transmit messages that may include the time the message was transmitted, precise orbital information (the ephemeris), the general system health, and rough orbits of all GPS satellites (the almanac). The GPS sensor / receiver may use the messages it receives to determine the transit time of each message and compute the distance to each satellite. These distances along with the satellite locations may be used with the possible aid of trilateration, depending on which algorithm is used, to compute the position of the receiver / sensor, and therefore the animal attached to the receiver / sensor.
[0235] In preferred examples, animal position data is derived from a positioning system receiver attached to a collar worn by an animal and is configured to communicate LPS or GPS data to the controller to thereby indicate the animal position data.
[0236] In some examples, the controller is configured to determine the location of each animal wearing a collar. In such examples, the controller is configured to receive position data from a position sensing receiver located on each collar. For a herd of animals, the controller may thereby determine the location of each animal wearing a collar which includes a position sensing receiver. In some examples, the controller is configured to receive position data pertaining to one or more locations of interest within the geographical frame of reference. In some examples, the controller is configured to determine if a control action is required based on a comparison of at least one received position with other position data. The position data may include longitude, latitude, altitude, and / or horizontal position or coordinate data pertaining to the animal or other locations of interest.
[0237] Wearable device / Collar
[0238] In one example, the wearable device 400 is designed to be worn on the body of a user or animal 10 and is equipped with straps that enable it to be attached securely to various parts of the body such as the wrist, ankle, neck or waist. The wearable device 10 in other examples is integrated, or is, a personal hand held device, tracker or the like. The wearable device is a housing for numerous electronic components which perform or assist operation functions. The collar is a housing for numerous electronic components which perform or assist operation functions. The straps provide secure attachment for the device, while the housing ensures its protection. Solar panels are incorporated to harness solar energy for charging. The Communications Package includes a Receiver for receiving signals. The memory component 430 stores data and information. The Sensor Package 440 consists of a Movement Sensor and a Location Sensor for monitoring physical activity and location. The power source / battery 450 supplies energy to the device. The stimulus device 460 incorporates speakers, electrodes, and vibrators for delivering sensory stimuli. Finally, the device controller 470 manages and controls the overall functionality of the device. Guidance information is operable to direct an animal to, or contain an animal within a desired location. Guidance information may also include information derived from sensors on the wearable device which are then communicated to the controller for application in further determinations. Guidance information (also known as payload), as referred to elsewhere in this specification, may also include other data which may be communicated between the controller and / or a wearable device, including control outputs which may direct particular operation of any one or more electronic devices of the wearable device, or changes to any software stored for execution on the wearable device.The guidance information may include the commands, messages, stimuli information, geographical target locations for the animals to be guided to, virtual fencing / hold in zone information defining a containment zone / ‘retainment area’ 704 for an animal to be guided within, and / or pathway data indicating a path an animal is to be guided along. The guidance information may include or be based on animal data including animal activity of location data, historic animal location data, and future or desired animal location data. Any one or more of the depicted information devices may be communicated between the server and wearable device according to desired guidance functions of the system.
[0239] The wearable device may further comprise one or more antennae that operate to communicate radio signals to and from the device. A GPS antenna may also be integrated with the antennae of any one or more of the communications devices. For example, the antennae may comprise separate elements tuned for particular radio communication frequencies, or may have broadband or multiband elements such as combining GPS receiver with wireless network communication into a single package, and or for short- range communications.
[0240] In some examples, animal movement data is derived from the GPS signal. For example, a heading and speed can be derived from changing GPS coordinates; or acceleration data can be derived from changing GPS coordinates and thereby used to determine a change in speed and displacement. In some examples, the wearable device contains an IMU configured to directly sense, for example, movement and heading data. Any number of IMU sensors may also be contained on the wearable device for providing animal guidance data. Any combination of GPS and IMU-derived position and location data may be used by the controller as part of the deployment of guidance data or determinations of guidance data. Power for the electronic devices of the wearable device is provided by a battery, preferably rechargeable. The battery is typically supported by a charging circuit and renewable energy source such as a solar panel. Particular operations to mitigate power consumption are discussed further below. Preferably the battery is rechargeable. Preferably the recharging power is provided by a solar or wireless power transfer device. However, in some examples, the battery is intended to be recharged by removal of the collar from the animal and connected to a source of charging power.
[0241] In preferred forms, the Communications Package comprises a communications device or is a radio transceiver or uses a radio signal in order to report the status of the device (status data) and / or to update a new area boundary, receive new instructions, receive commands, and / or other parameters such as the communication of other sensor data.
[0242] The communications device is configured to communicate to at least the controller.
[0243] One communication protocol of the first communications device is a LoRa protocol. However, it is envisaged other long-range communication protocols may be used, such as LpWAN, WiFi, WiMAX, SigFox, LTE-M, DASH7, IEEE 802.11 ah, CC430, NB-lot etc.
[0244] In one example, LoRa (from "long-range") is the physical proprietary radio modulation technique used for communication between a locally situated communications tower and the devices. LoRa is based on spread-spectrum modulation techniques derived from chirp spread spectrum (CSS) technology. LoRa was developed by Cycleo (patent US9647718) and later acquired by Semtech.
[0245] LoRaWAN defines the software communication protocol and system architecture. LoRaWAN is a media access control (MAC) protocol for wide area networks. It is designed to allow low-powered devices to communicate with Internet-connected applications over long-range wireless connections. The continued development of the LoRaWAN protocol is managed by the open, non-profit LoRa Alliance, of which SemTech is a founding member. The LoRaWAN network uses a centralised entity, called a gateway or transceiver. LoRaWAN is based on a single-hop star topology. Where the gateway sends information packets to one or more devices. In one example of this, the devices are smart wearable devices carried by animals.
[0246] Internet of Things use cases, such as, smart cities, smart farms, agriculture, forestry, wildlife tracking etc often require spanning large areas. Sometimes tens, to hundreds, to thousands, of sensor devices are deployed to support such use cases.
[0247] Typically, an loT use case comprises severely resource-constrained devices - such as the device. Whereas the device is constrained by power constraints, as it relies on solar power and a lightweight battery. Due to the power constraints, other established long-range technologies are not usable. LoRa offers long coverage, and reliability and can be used at very low power.
[0248] LoRaWAN is built as a star-of-stars topology, where the devices located in the defined area are able to send packets (data, information) to a gateway which is then responsible for forwarding those packages to the backend.
[0249] A front-end device (FEM) can be utilised between the transceiver of the long-range communications device and antenna to efficiently optimise both the transmission range and receiver sensitivity. A FEM integrates transmit power amplification, receive low noise amplification, antenna switching between the transmit and receive paths, and the required matching and filtering.
[0250] In one example, the device comprises a 860 to 930 MHz RF Front-End device from Skyworks. In particular, the device comprises a SKY66420-11. The SKY66420-11 is a high-performance, highly integrated RF front-end device designed for LPWAN - supporting LoRa®, SigFox and other unlicensed band technologies
[0251] In one exemplary embodiment, the system is configured to receive data from the animal guidance system which comprises an animal wearable device configured to be worn by an animal. The animal wearable device comprises one or more of: a device controller, a GPS, an IMU, a light, a sound source, memory components, one or more stimulus devices configured to deliver animal guidance commands, one or more stimulus devices, and a battery. The animal device is configured to guide an animal from one location to another location depending on a control input or output.
[0252] In the animal guidance system there are a plurality of animal devices configured to be worn by a respective plurality of animals within a zone. Further, the animal guidance system is configured to determine behaviour related to a grazing event starting, a grazing event ending, and / or the amount of foliage grazed, via sensing of movement and / or location of the animal such as from the IMU on the wearable device. Further, the wearable device as shown in Figure 13 has a sensor package 440, comprising a position sensor, including one or more of a GPS or IMU, the wearable device controller configured to determine an animal location based on data received from the position sensor. The one or more stimulus devices of a stimulus package 460 are one or selected from, a vibrator configured to apply vibration to the animal, an electrode configured to apply an electric shock to the animal, and a speaker or piezo configured to apply a sound to the animal. The animal guidance system controls one or more wearable devices to retain animals with animal devices within an retainment area 704 defined, at least in part, by a virtual boundary 703, and where the virtual boundary and / or retainment area is defined by a user 202. Further, the controller or animal device 400 is configured to determine a grazing event has ended by one or more of a cover estimate determined based in part on animal information determined from the animal device, the animal information relating to one or more of selected from: number of animals in the retainment area, the length of time the animals are in the retainment area, and the amount of time spent doing a behaviour in the retainment area. The virtual boundary and / or retainment area is a polygon boundary defined by the user on an electronic device, such as a computer or mobile smartphone. Further, control operations of the animal guidance system include functions of guide into, restrain in, and guide out of the retainment area. It is preferable for a user to configure the animal wearable devices to one or more of; guide into and guide out of the retainment area 704, the animal at a set time.
[0253] In some embodiments, the animal devices are configured to transmit animal information of one or more selected from location data, behaviour data, respective raw location data and / or behaviour data to the system configured to predict foliage cover. In such instances, the system comprises storage, such as computer storage 520, configured to record the data.
[0254] In some embodiments, the behaviour data is a selection of data indicative of one or more of: starting to graze, grazing, stopping grazing, moving, walking, running, lying, standing, ruminating, and sleeping. The behaviour data may, in some embodiments, be at least in part derived from the location data. In some embodiments, the controller receives or determines the grazing started input from one or more of: data received from a user device, where a user has entered the set time of grazing started into the user device, the set time becoming the input time; animal information received from one or more animal devices indicating one or more animal devices entering a retainment area; and animal information received from the animal devices indicating the time one or more animals have started grazing.
[0255] In some embodiments, the controller receives or determines the grazing ended input from one or more of: the user device, where the user has entered the set time of grazing ended into the user device, the set time becoming the input time; animal information received from the animal devices indicating one or more animal devices leaving a retainment area; and animal information received from the animal devices indicating the time one or more animals have stopped grazing.
[0256] Pasture / Farming
[0257] Pasture farming, also known as grazing or grass-based farming, is a method of livestock production where animals are raised primarily on pasture or grazing land. It involves allowing animals, such as cattle, sheep, or goats, to feed on naturally growing grasses, herbs, and other edible plants in open fields. In pasture farming, the animals are provided access to a designated area of land where they can graze freely. The pastures are typically divided into smaller sections or paddocks, and the livestock is rotated between these paddocks to ensure that the grasses have time to regenerate and recover from grazing. This rotational grazing system helps maintain the health and productivity of the pastureland and prevents overgrazing.
[0258] Pasture farming has several benefits including nutritional value where grazing on pasture allows animals to consume a variety of grasses and plants, resulting in a more diverse and nutritious diet compared to animals fed solely on grain or concentrated feeds. This can contribute to improved animal health and the production of high-quality meat, milk, or other animal products; environmental sustainability, where pasture farming can be environmentally friendly as it promotes the natural growth of grasses and plants, reducing the need for extensive land clearing or synthetic inputs like fertilisers. Proper pasture management can also help sequester carbon in the soil and improve water infiltration; animal welfare, where animals raised on pasture have the freedom to move around, exhibit natural behaviours, and access fresh air and sunlight. This can enhance their well-being and reduce stress compared to animals confined in indoor systems; and economic viability, where pasture farming can be cost-effective for farmers, as it reduces the reliance on purchased feeds and concentrates. Proper pasture management practices can also improve the productivity and longevity of the grazing land, reducing the need for costly inputs.
[0259] While pasture farming is generally associated with ruminant animals like cattle, sheep, and goats, it can also be suitable for other animals, such as horses or poultry, depending on specific management practices and requirements.
[0260] A critical consideration of pasture farming is the availability of pasture to grazing stock. Accordingly, there is a need to predict when pasture will grow and become available for grazing.
[0261] The amount of pasture cover influences how fast the pasture grows. If the pasture cover is too low, the pasture may be grazed before it reaches the optimal stage of growth, which reduces the total pasture production. If the pasture cover is too high, the pasture may become stemmy and lose quality, which reduces the animal intake and milk production. Farmers need to maintain a target range of pasture cover that maximises the growth rate and quality of the pasture.
[0262] Further, the quality of the pasture depends on the stage of growth, the species composition, the leaf-to- stem ratio, the digestibility and the nutrient content. Farmers need to monitor the quality of the pasture and adjust their grazing management accordingly.
[0263] The utilisation of the pasture is the proportion of the available pasture that is consumed by the animals. High utilisation means less wastage and more feed efficiency. Low utilisation means more wastage and less feed efficiency. The utilisation of the pasture is influenced by the pre-grazing cover (the amount of foliage cover prior to grazing), the post-grazing residual (the amount of foliage cover after grazing), the grazing intensity, the grazing frequency and the grazing method. Farmers need to optimise their utilisation by matching their grazing management to their pasture cover and animal demand.
[0264] The health of the soil is affected by the physical, chemical and biological properties of the soil. Healthy soil can support higher pasture growth and quality than unhealthy soil. The health of the soil is influenced by the grazing management, such as the stocking rate, the grazing pressure, the grazing duration and the grazing frequency. Farmers need to avoid overgrazing or under grazing their pastures, which can cause soil compaction, erosion, nutrient leaching or weed invasion.
[0265] The performance of the animals is measured by their intake, body condition, health, reproduction and milk production. Animal performance is affected by the quantity and quality of the feed they consume, as well as other factors such as genetics, health status, environmental conditions and management practices. Farmers need to provide adequate and balanced feed, e.g., sufficient foliage cover, for their animals to meet their nutritional requirements and support their production goals.
[0266] Therefore, farmers need to accurately determine foliage cover in a paddock because it influences when they shift their cattle (based on pre-grazing cover and post-grazing residual), milk production (based on pasture intake and quality), round length (based on pasture growth rate and availability) and other aspects of their grazing system.
[0267] The above-mentioned animal guidance system is typically used to control the location of virtual boundaries to, in effect, create or partly create retainment areas 704 or ‘breaks’ within already physically fenced paddocks, where there are paddocks present. The animal guidance system is configured to provide animal guidance functions to retain animals within the retainment areas and to move animals between retainment areas located at desired grazing areas. The animal guidance system may also create one or more retainment areas 704 on a farm which is not within or partially defined by physically fenced paddocks. The boundaries of virtually fenced retainment areas, or physically fenced retainment areas (or a combination of both), where there have been animals grazing will have a ‘grazing line’. A grazing line is indicative of the retainment area foliage being grazed more than adjacent area on the other side of the grazing line. Sometimes this grazing line is able to be seen by eye.
[0268] In one embodiment, the zones, geographical areas, virtual boundary, and / or retainment areas are divided into H3 geo-indexing.
[0269] The outputs of the image model, either directly or indirectly may be used to control actions to affect the above considerations of pasture and particularly where retainment zones are ideally located. The outputs of the image model may further be fused with outputs from other models or algorithms to arrive at a more accurate or flexible fusion output. The fused output described herein has an ~220-240 kgdm / ha error over a one year time period for the two farms tested so far.
[0270] Overview System
[0271] According to one embodiment, there is a system to determine foliage cover. The foliage may include pasture including grass of any variety, crops or other animal-edible plants. The system has a controller 500 configured to receive image data, apply a trained machine learning model to the received data to determine a prediction based on that received data. The prediction is the magnitude of foliage cover present within the image or specific areas of the image.
[0272] The term zone 702 in this specification relates to an area of an image and may refer to a pixel or pixels of an image, or functionally equivalent data. The zone 702 may be an entire image, a portion of an image, or a combination of portions of a single image or combination of images in entirety or in part. The term retainment area 704 in this specification relates to a geographical area where animals are retained. The retainment area 704 may be defined by any combination of virtual boundaries of the animal guidance system and by physical boundaries such as fences, waterways, structures and geographical features. In some embodiments, a zone 702 of an image may align with a retainment area of the animal guidance system. In other embodiments, the zone 702 of an image corresponds to a subset area of a larger retainment area 704. The term location relates to a physical location and may be data such as a coordinate. The term geographical area relates to an association between data in an image and a location.
[0273] The controller is also configured to control an output based on the predicted magnitude of foliage. Particular control tasks include any one or more of the generation of a display, control of an alert such as sending alert data to one or more alert devices 200 for display or transmission, or generating an output operable to control a function of the animal guidance system. Particular controls are discussed in further detail below.
[0274] In broad terms, the controller is configured to receive input image data comprising foliage cover to be determined, then determine a predicted measure of foliage cover from the input image data by application of a prediction image model.
[0275] In some embodiments, the prediction image model is trained by a training dataset comprising images of foliage at a location whereby the training dataset is made up of images of a geographical area where there is a spatial delineation of a grazing line, and / or images of a geographical area subject to a grazing event within a predetermined period of time. The prediction image model is also based on reference data comprising one or more foliage cover measurements at the geographical area. Preferred methods and devices for recording reference data are discussed in further detail below.
[0276] Figure 1 shows a diagram of an exemplary prediction image model trained by, in one embodiment, 3 training methods - a temporal training method as shown in Figures 2 and 3, a spatial training method as shown in Figures 4 and 5, and a reference data training method as shown in Figure 5 to 8. The image model may be fused with other models as shown in Figure 12, a growth model as shown in Figure 10 and a consumption model as shown in Figure 11 to arrive at predicted cover output.
[0277] In one embodiment, the fusion is a process which includes receiving one or more of, or the outputs of one or more of: a predicted growth foliage cover from the growth model configured to determine the growth of the foliage over time since the last estimated foliage cover determination; a predicted foliage cover from the image model; and a predicted consumption foliage cover from the consumption model configured to determine if consumption of the foliage in the zone has occurred. Fusing the image foliage cover output with one or more of the growth, and consumption outputs via sensor fusion to determine the final foliage cover.
[0278] Further information to assist with prediction outcomes and / or training include computation of one or of a predetermined growth rate for the zone; and the previous foliage cover determination prior the current foliage cover determination; and the time period between the current and prior determination based on received information of a controller configured to determine the time period. In some embodiments, the controller is further configured to determine a predicted growth foliage cover from the predetermined growth rate multiplied by the time period and added to the previous foliage cover.
[0279] In some embodiments the controller is further configured to receive grazing data from an animal guidance system indicative of whether a grazing event has occurred in the zone within the time period.
[0280] In some embodiments, the controller is configured to fuse the three aforementioned models / model outputs using a Kalman filter. In some embodiments, fusing of two or more model outputs comprises averaging of various model outputs, including the application of weighted averaging or other statistical methods of combining data sources based on an accuracy determination such as standard deviation or loss. Accordingly, in some embodiments, the controller is configured to combine the outputs of two or more models based on one or more statistical methods and / or filters.
[0281] The input image data operable for training the spatial and temporal training methods is received from one or more image capture systems which may be one or more of a satellite imaging system, or a local image capture device. A local capture device includes handheld camera devices, IP cameras, CCTV cameras, smart devices with a camera, etc. With reference to the abovementioned grazing line, some embodiments include image data captured by a camera orientated to record an image including the grazing line. With reference to the abovementioned grazing event in an area, some embodiments include image data captured by a camera orientated to record images including the grazing event in the area.
[0282] Accordingly, embodiments herein relate to a system for determining foliage cover of a zone, the zone being a geographical region within the input image data used for training. The system has a controller configured to receive image data and make predictions of the foliage cover from that image data based on a trained machine learning image model. The machine learning image model is trained on image data from an image source; reference data (cover labels) such as measured covers, and pseudo-labels such as one or more of spatial phenomena and temporal phenomena from animal grazing events.
[0283] Spatial Training Method
[0284] Figure 4 shows a diagram of an exemplary training method or process for the spatial training aspect of the prediction model, also known as the image model. Source material includes image data, such as an image or representative data of an area which contains two zones delineated by a grazing line. In some embodiments, the one or more images each comprise image data within a single frame from an image capture device. In this way, data distortions are minimised by ensuring influences of lighting, capture angle and environmental conditions are mitigated.
[0285] In some embodiments, the grazing line is created or controlled by the animal guidance system and corresponds to, for example, the location of a virtual boundary of the guidance system. In other embodiments, the grazing line is controlled by the location of a physical boundary such as fence or geographical feature. The training process comprises input of the image to the model for the prediction of foliage cover within the two zones. The model output is compared to label data, or pseudo label data including one or more of data representing grazing line location information defining zone boundaries, and optionally grazing time data. Further or alternative label data may be derived from data derived from image recognition adapted to identify the location of animals in a zone, or from location data provided by the animal guidance system which indicates the location of animals in a zone. For example, a model or image segmentation model may identify where animals have been in a zone, and optionally when they were in the zone, and as such identify a graze line between zones. Alternatively, an image segmentation model may identify where a graze line is independent of visual animal data. The image segmentation model may be trained using the given location data of animals.
[0286] Refinement of the image model is based on updated model parameters derived from loss considerations. Figure 5 shows a further view of the process of Figure 4, including exemplary image data comprising a grazing line (shown at the virtual boundary 702) delineating zones 701 . The grazing line at the virtual boundary 703 defines a first zone Z1 and second zone Z2. The significance of the grazing line is to provide source data to the training method that there is likely a difference in foliage cover on either side of the grazing line on the basis of a grazing event occurring within some predetermined time period relative to the capture of the image data. In this way, the image model trains to recognise differences in foliage cover from the source data.
[0287] In some embodiments, the grazing line comprises a virtual boundary defined or caused by the animal guidance system. The zones have a different measure of foliage cover due to a grazing event having occurred in one zone within a predetermined period of time so as to cause the grazing line.
[0288] In some embodiments, the controller is configured to determine the first and second subset areas by receiving data from the animal guidance system indicative of an animal grazing event occurring in a subset area at the location within a predetermined time period; and determine the first and second subset foliage areas based on the subset area location of the grazing event. In other embodiments, the controller is configured to receive data indicative of the location of a grazing line. For example, in some embodiments, the system includes a user device configured to capture grazing line geolocation data. The first foliage subset area is characterised by a measure difference in foliage cover compared to the second foliage subset area, and the measure of difference is caused by the grazing event occurring in one zone, or on one side of the grazing line.
[0289] The image data is input to the prediction model for training and the prediction model outputs predicted foliage cover data P1 and P2 for each of zones Z1 and Z2 as depicted. The controller is configured to determine a measure of difference between P1 and P2. The cover data P1 and P2 may be represented in a variety of ways. For example, in one embodiment, the cover data is an average predicted foliage measurement for the zone. In other embodiments, the cover data comprises more detailed information such as a predicted cover for a pixel of the image, or group of pixels of the image. The difference determination may be based on any one or more of these determinations.
[0290] To refine the prediction model, the training method comprises retraining the model to maximise the difference between zone cover predictions.
[0291] Temporal Training Method
[0292] Figure 2 shows a diagram of an exemplary training process for the temporal training aspect of the prediction model. Here, the training image data comprises pairs of images of a geographical area at the location. The pairs of images are matched with reference to data indicative of a grazing event at the geographical area. FOr example, in some embodiments, the controller is configured to receive images, and identify a pair of images for the training data based on the images sharing a geographical location, and the images being captured at points in time which are separated by a determined grazing event, or non-event. A grazing event will consume foliage cover, and therefore a first image will show more foliage than a second image taken after the grazing event. Alternatively, a grazing non-event is where a first image may be recorded at a point in time after a grazing event, and a second image is recorded at a later time where the foliage is likely to have grown.
[0293] In some embodiments, the controller is configured to receive data indicative of the grazing event at the geographical area from the animal guidance system. In other embodiments, the image data comprises time stamp data, the controller is further configured to determine a visual difference based on one or more of a determination that a first image in a first pair of images has been captured at a first point in time, a determination that a second image in the first pair of images has been captured at a second point in time, and a determination, based on a determination of animals positioned at the location within the image data, between the first and second points of time.
[0294] In some embodiments, the training data set for the temporal method may be built based on the controller configured to determine a visual difference from a source image dataset based on:
[0295] • a determination that the first image in a first pair of images has been captured at a first point in time,
[0296] • a determination that the second image in the first pair of images has been captured at a second point in time, and
[0297] • a determination, based on animal location data received via a system input, of whether a grazing event has occurred between the first and second points of time.
[0298] In some embodiments, the training data set for the temporal method may be built based on the controller configured to determine a visual difference from a source image dataset based on:
[0299] • a determination that the first image in a first pair of images has been captured at a first point in time,
[0300] • a determination that the second image in the first pair of images has been captured at a second point in time, and
[0301] • a determination, based on animal location data from the animal guidance system, of whether a grazing event has occurred between the first and second points of time.
[0302] In some embodiments, the training data set for the temporal method may be built based on the controller configured to determine a visual difference from a source image dataset based on:
[0303] • a determination that the first image in a first pair of images has been captured at a first point in time,
[0304] • a determination, based on animal location data from the animal guidance system, that an animal grazing event has occurred within the geographical area after the first point of time, then
[0305] • a determination that the second image in the first pair of images has been captured at a second point in time and after the grazing event, and
[0306] • a determination that the first and second point in time are within a predetermined time period.
[0307] In some embodiments, the training data set for the temporal method may be built based on the controller configured to determine a visual difference from a source image dataset based on:
[0308] • a determination that the first image in a first pair of images has been captured at a first point in time,
[0309] • a determination, based on animal location data from the animal guidance system, that an animal grazing event has not occurred within the geographical area after the first point of time, then
[0310] • a determination that the second image in the first pair of images has been captured at a second point in time, and
[0311] • a determination that at least a predetermined time has elapsed between the first and second points in time.
[0312] Animal location data from the animal guidance system comprises one or more of animal position data recorded by the animal guidance system, a schedule of animal guidance events, including a grazing event at the geographical area, a zone at the geographical area; or recognition of animals at the geographical area determined from the image data.
[0313] In one embodiment, the zone is a geographical area virtually bounded by the animal guidance system. In one embodiment, the animal guidance system is configured to retain animals within the zone.
[0314] Figure 3 shows an illustrative view of the process of Figure 2, including the recording of a first image at time t1 and of a geographical area, and a second image at a time t2 including the same geographical area. The images are provided to the model for training and prediction of the foliage cover at each of times t1 and t2 is provided.
[0315] Reference Data Training Method
[0316] Labelled data with the same units as the machine learning image model output is important because it enables the model to learn from examples and make accurate predictions. Labelled data is used in “supervised machine learning”, which is a machine learning approach in which labelled datasets are used to train or "supervise" a machine learning algorithm in categorising data or making accurate predictions (the model can measure its accuracy and learn over time by using labelled inputs and outputs).
[0317] For example, to train the machine learning image model to predict the foliage cover in a zone, the model can be trained with labelled data that contains both the input (such as images, and measured foliage covers) and the output (the actual foliage cover in the same units as the model output, such as percentage or kg DM / ha). The model can then use the labelled data to learn the relationship between the input and the output, and apply it to new data that has not been labelled yet. Labelled data with the same units, or at least a direct correlation, as the machine learning model output, is important to have because it provides the ground truth for the model to learn from and evaluate its performance. Without the labelled data, the model cannot be trained or tested effectively.
[0318] The reference data training method described herein comprises the step of the controller receiving measurements of foliage cover of the same locations where the image is taken of. These measurements, herein ‘reference data’ are used to determine the foliage cover, if not already determined. The controller is configured to compare and determine the difference of the predicted foliage cover from the image model with labelled foliage cover. Preferably, the controller is configured to minimise the loss of reference training method via trying to reduce the difference between the predicted foliage cover and labelled foliage cover. A minimised loss would see the foliage cover difference being decreased, or trending to zero, as much as possible.
[0319] Figure 6 shows a flowchart of cover measurements being used as labels to train the image model. The controller is configured to use the labels to determine a cover estimate of a zone (where the cover estimate was taken in the zone) within a geographical area. The controller is configured to compare the cover estimate with the image model predicted foliage cover and determine a loss. The controller is configured to minimise the loss, and update relevant image model parameters to train and improve the image model.
[0320] The cover measurements may be taken within an area, such as a retainment area. The cover measurement may be applied to the entire area of retainment area as it is likely the entire area has the same cover due to local growing conditions and grazing by animals being the same within the retainment area. The controller is configured to determine and receive the estimate for an area and compare the predicted foliage cover from the same area. Figures 7 and 8 show two zone
[0321] The image model works by the controller determining a predicted foliage cover for each pixel. For the reference data training method, the cover estimate is in one embodiment matched as a pseudo-label to each pixel of the area the cover measurement was taken in. Figure 9 shows two zones 702, z1 and z2 of an image and their respective predicted foliage covers p1 and p2. The labels of Lp1 and Lp2 are indicative of the labelled cover estimate for the retainment area 704 and geographical area 701. In this example, preferably the image model has predicted a difference in cover p1 and p2, similar to the areas Lp1 and Lp2.
[0322] The controller is configured to determine a measure of cover difference between comparable areas P1 with Lp1 and P2 with Lp2. The controller is configured to determine the loss of the differences and update relevant image model parameters to train and improve the image model. The difference between P1 with Lp1 should tend to, or be aimed to be reduced to zero.
[0323] In one example the image input into the image model comprises metadata of its location so areas, geospatial areas, or pixels within the image can relate to a real world location. Likewise, the labelled cover estimate / reference data has corresponding location data, and the controller is configured to compare like areas. The controller is configured to receive and associate reference data comprising metadata of a location relating to where the reference data relates to, and apply said reference data to an associated pixel or geo-spatial area of the same location within the geographical area. Figure 9 shows a schematic of a reference data label being related to a retainment area 704 (but could also be a geographical area, paddock, bounded area, or area with locations sharing a commonality). The controller is configured to correspond the label value as a pseudo-label to each pixel or geo-spatial area of the image of the training dataset of the corresponding area.
[0324] In one example, the controller is further configured to receive and associate reference data comprising metadata of a location relating to where the reference data relates to, and apply said reference data as pseudo-labels across a range of associated pixels or geo-spatial areas of a similar location within the geographical area.
[0325] In one example, the controller is further configured to receive and associate reference data comprising metadata of a location relating to where the reference data relates to, and apply said reference data as pseudo-labels across a range of associated pixels or geo-spatial areas within a zone which comprises the location.
[0326] In one example, the controller is further configured to receive and associate pseudo-label data with a pixel, or a line of pixels of the images of the training dataset, the pseudo-label data indicative of one or more of: zone location information; • zone information associated with one or more guidance functions of the animal guidance system; or
[0327] • user entered data.
[0328] In one embodiment, the controller is further configured to associate pixels to geo-spatial areas, receive and associate reference data to respective said geo-spatial areas. In one embodiment, the controller is further configured to receive and associate reference data to data with a pixel, or a line of pixels of the images of the training dataset.
[0329] Some of the common methods of measuring pasture foliage cover are as follows.
[0330] Calibrated eye assessment: This method involves visually estimating the percentage of ground covered by vegetation or other coverages such as rocks, litter, moss, or bare ground. This method requires training and calibration to ensure accuracy and consistency. It is a quick and inexpensive method, but it can be subjective and prone to errors.
[0331] Manual measurement using the Rising Plate Meter (RPM): This method involves using a device that consists of a circular plate attached to a graduated rod. The plate is lowered onto the pasture until it rests on the sward, and the height of the rod is recorded. The height is then converted to dry matter (DM) per hectare using a calibration equation. This method is relatively simple and reliable, but it requires calibration for different pasture types and conditionsl .
[0332] Manual measurement using the Falling Plate Meter (FPM): This method involves using a device that consists of a circular plate attached to a weight. The plate is dropped from a fixed height onto the pasture, and the height of the weight above the ground is recorded. The height is then converted to DM per hectare using a calibration equation. This method is similar to the RPM, but it does not require pushing the plate down manually.
[0333] Electronic measurement using a capacitance probe: This method involves using a device that measures the electrical capacitance of the pasture, which is related to the amount of water in the plant tissue. The probe is inserted into the ground at several locations in the paddock, and the readings are averaged to obtain an estimate of DM per hectare. This method is fast and easy to use, but it requires calibration for different soil types and moisture levels.
[0334] Another method involves a user 202 taking a photograph of the pasture using a mobile phone 201 camera or similar. The image should have good lighting and contrast, and avoid shadows or occlusions. The image is processed by computer vision techniques, or machine learning techniques, or both, to extract features that are related to the biophysical parameters of the pasture, such as height, biomass, green cover, etc. These features can include colour, texture, shape, edge, contour, etc. The extraction methods can vary depending on the type of parameter and the image characteristics. The extracted features are used as machine learning models that are trained to predict the foliage cover from the image. The machine learning models can be based on regression, classification, or segmentation techniques. The models can be linear or nonlinear, parametric or nonparametric, supervised or unsupervised. The models can also be hybrid, combining different techniques or architectures. The predicted foliage cover is compared with the ground truth or reference value, which can be obtained by manual measurement or other methods. The final cover estimate from the model can then be used as reference data for training the image model described herein.
[0335] Improving model process (Minimising Loss)
[0336] A loss function is a mathematical expression that measures how well a machine learning model predicts the correct output for a given input. The loss function depends on the type of problem and the model architecture. For example, for regression problems, a common loss function is the mean squared error (MSE), which calculates the average of the squared differences between the predicted and actual values. For classification problems, a common loss function is the cross-entropy, which calculates the negative log-likelihood of the predicted probability for the correct class. In one embodiment, the training models herein may use either absolute or Huber loss. For all three of the herein-described image model training methods, the loss is based on a difference of average predicted cover over the zones.
[0337] For the spatial training method, the loss is the difference between the two zones. A minimised loss would see the foliage covers trending away from each other, or the foliage cover difference maximised.
[0338] For the temporal training method, the loss is a difference of average cover over the areas or zones in time. A minimised loss would see the foliage covers trending away from each other, or the foliage cover difference maximised. For the reference training method the loss would see the average cover of comparable areas be as close to each other as possible. A minimised loss would see the foliage cover difference being decreased, or trending to zero, as much as possible. A Huber loss function can be used in this example to measure the difference between the average cover of comparable areas and minimise it as much as possible.
[0339] In one example the controller is configured to use Huber loss when training the image model with the three herein training methods. The Huber loss transforms the differences in cover to a number to determine how good the trained model prediction is. The advantage of using a Huber loss function is that it can reduce the influence of outliers or extreme values that may distort the average cover estimation. The choice of a threshold parameter can affect the performance of the Huber loss function, as a smaller threshold parameter makes it more robust to outliers but also less efficient, while a larger threshold parameter makes it more efficient but also less robust.
[0340] The controller is configured to run an optimisation algorithm method that updates the image modal training method parameters (such as weights and biases) to minimise the loss function. The optimization algorithm can be based on gradient descent, which iteratively computes the gradient (or derivative) of the loss function with respect to the model parameters, and moves them in the opposite direction of the gradient by a small amount (called the learning rate). There are different variants of gradient descent, such as batch gradient descent, stochastic gradient descent, or mini-batch gradient descent, which differ in how they sample the data to compute the gradient. In one example, in the preferred method the controller is configured to use mini-batch gradient descent for all three image training methods.
[0341] Consumption Model
[0342] Another model that the controller can use is a consumption model, which estimates one or more of how much pasture or crop is eaten by the animals, how fast they eat it, and what is the remaining foliage cover after they eat it. In one embodiment, the primary output of the consumption model is the foliage cover at a time after the grazing event has finished. The consumption model depends on the occurrence and characteristics of a grazing event, which is a period of time when the animals are feeding on the pasture. The controller can receive various inputs that describe a grazing event, such as:
[0343] - The retainment area and / or associated boundaries, which define the spatial extent of the pasture that is available for grazing.
[0344] - The animal type, which indicates the species or breed of the animals that are grazing, such as sheep, cattle, or goats.
[0345] - The location metadata of animals, which provide information about the position, movement, or orientation of the animals within the retainment area, such as GPS coordinates, accelerometer data, or compass data. This data can be received from the animal guidance system. The controller in one embodiment is configured to request this data from the animal guidance system.
[0346] - The number of animals, which indicates how many animals are grazing within the retainment area at a given time. This data can be received from the animal guidance system. The controller in one embodiment is configured to request this data from the animal guidance system.
[0347] - The animal grazing behaviour, which describes how the animals interact with the pasture, such as bite size, bite rate, bite frequency, grazing time, grazing intensity, or grazing preference. This data can be received from the animal guidance system. The controller in one embodiment is configured to request this data from the animal guidance system.
[0348] - The animal rumination behaviour, which describes how the animals digest the pasture, such as rumination time, rumination frequency, or rumination efficiency. This data can be received from the animal guidance system. The controller in one embodiment is configured to request this data from the animal guidance system.
[0349] By using one or more of these inputs, the consumption model can calculate the amount and rate of pasture consumption and the resulting foliage cover for a given grazing event. Grazing events are shown as the vertical lines in the chart of Figure 13.
[0350] Growth Model
[0351] A third model that may determine or estimate a foliage cover is a growth model. The growth model may be a function that takes the time since the last foliage cover prediction and a user estimated foliage growth rate as inputs and returns the estimated foliage growth as output. For example, the growth model can be a simple linear function, and the controller is configured to estimate the current foliage cover given the previous state using said function. In one embodiment, the function is: Current Foliage Cover = Previous Foliage Cover + Growth Rate * Day Delta.
[0352] Foliage growth rate is the daily growth in kilograms of green dry matter of foliage, such as pasture, per hectare (kg DM / ha / day. One way to measure pasture growth rate is by a pasture cage. A pasture cage is a device that protects a small area of pasture from grazing and allows it to grow undisturbed. The pasture cover or mass inside the cage can be measured by a rising plate metre, a probe, or by cutting and weighing. The difference between the initial and final measurements can be used to calculate the growth rate.
[0353] In other embodiments, the growth rate may be determined by a function or an equation that estimates the growth rate based on factors one or more features such as temperature, rainfall, soil moisture, solar radiation, nitrogen fertiliser, and plant characteristics. The growth model can be derived from empirical data or from mechanistic principles.
[0354] The growth model predictions are shown as ‘physical estimates’ in the chart of Figure 13.
[0355] Sensor Fusion
[0356] Sensor fusion is the process of combining data from multiple sensors to provide a more accurate and reliable perception of the environment. Sensor fusion algorithms can use different techniques, such as filtering, estimation, or learning, to synthesise the sensory data and reduce uncertainty in machine perception.
[0357] One possible way to use sensor fusion to determine a foliage cover from three fused sources is to use a machine learning approach, which can learn from data and make predictions based on patterns and features. Machine learning can be applied to sensor fusion in different ways, such as feature extraction, data augmentation, data fusion, or decision fusion.
[0358] In relation to the predicted foliage cover from the three sources: an image model, a growth model, and a consumption model, one possible method is to use data fusion, which is the technique of merging the data from different sources before applying a machine learning model. Data fusion can be done at different levels, such as low-level (raw data), intermediate-level (features), or high-level (decisions). For example, one can use a low-level data fusion method to concatenate the raw data from the image model, the growth model, and the consumption model into a single vector, and then use a machine learning model, such as a neural network, to predict the foliage cover based on the fused vector. Alternatively, one can use an intermediate-level data fusion method to extract features from each source using different machine learning models, such as convolutional neural networks for images, linear regression for growth, and logistic regression for consumption, and then combine the features into a single vector and use another machine learning model, such as a support vector machine, to predict the foliage cover based on the fused features.
[0359] The advantage of using data fusion with machine learning is that it can exploit the complementary information from different sources and improve the accuracy and robustness of the prediction. However, data fusion also has some challenges, such as dealing with heterogeneous data types, missing or noisy data, data alignment or synchronisation, and computational complexity.
[0360] A Kalman filter is a popular sensor fusion algorithm that can estimate the state of a dynamic system using noisy measurements from multiple sources. A Kalman filter works by iteratively predicting the state of the system based on a mathematical model and updating the state based on the measurements and their uncertainties. In one embodiment the controller is configured to use a Kalman filter to determine a foliage cover from the three sources: the image model, the growth model, and the consumption model. One possible advantage of using a Kalman filter for sensor fusion is that it can provide an optimal estimate of the system state that minimises the mean squared error under certain assumptions. However, a Kalman filter also has some limitations, such as requiring linear models for both state transition and measurement, requiring Gaussian distributions for both process noise and measurement noise, and requiring accurate knowledge of all model parameters.
[0361] “Form” of Output
[0362] The controller is configured to generate the predicted measure of foliage cover. The predicted measure comprises data which may take different forms. For example, in some embodiments, the predicted measure of cover comprises a representation of pasture weight for pixels or groups of pixels. Accordingly, in one embodiment, the controller is configured to: determine a geographical area from the image data, assign a geospatial area to each pixel or groups of pixels, and determine a representation of pasture weight for each geospatial area.
[0363] Output of a control
[0364] In the above described system and method, the controller is configured to determine a predicted measure of foliage cover. In some embodiments, the controller is configured to execute a control based on the determined predicted measure of foliage cover.
[0365] In some embodiments, the controller is configured to execute a control operable to affect one or more functions of the animal guidance system. In one example, the controller is configured to define a desired retention area based on a location of predicted measure of foliage cover which has been determined to meet desired grazing conditions. Accordingly, the controller is configured to determine data relating to the predicted measure of foliage cover at a location, then transmit the data to the animal guidance system. Alternatively, the controller is configured to determine data relating to the predicted measure of foliage cover at a location, define a retention area at the location, and output a signal to the animal guidance system operable to create a break at the location and / or guide animals to the break. In one exemplary embodiment, the signal to the animal guidance system comprises coordinates indicative of the location of break lines, such as a coordinate representing the corners of a virtual fence line. The signal may be described as a guidance event when the signal relates to animal guidance commands output by the animal guidance system to guide an animal.
[0366] In some embodiments, the controller is configured to operate a display device to generate one or more visual representations of data based on the predicted measure of foliage cover.
[0367] In some embodiments, the visual representation comprises one or more of a visual representation of determined cover for one or more regions of a farm, a visual representation of actual or potential break areas having cover suitable for grazing, an alphanumeric representation of areas suitable for grazing. In some embodiments, the visual representations are overlaid on a map. In some embodiments, the visual representations are overlaid on a map of farmland pasture. Figure 15 shows an example of a visual representation of predicted foliage cover, in this example, pasture cover, overlaid on a farm map. An example retainment area 702 is also shown. Figure 16 shows the same farm with the pasture cover averaged across the respective retainment area. Where in both visual representations a lighter colour indicates a higher predicted pasture cover compared to the darker colours. Any colour may also be used to indicate an alert.
[0368] In one embodiment, the graphical representation comprises pixels or groups of pixels comprising one or more visual representations of predicted foliage cover.
[0369] In some embodiments, the controller is configured to determine a rate of pasture growth based on two or more determinations of cover at different points in time. Based on the rate of growth determination, a future cover may be predicted. Accordingly, in some embodiments, the controller is configured to determine a predicted time for the foliage cover to reach a predetermined threshold, and output a control comprising a function of the animal guidance system. The control may be operable, as an example, to define a break at the location and / or to guide one or more animals to a location when the threshold is met. Where the threshold is a value relating to the cover, e.g a cover threshold.
[0370] In some embodiments, the controller is further configured to determine the foliage cover has reached a minimum (desired) cover threshold, and in response, the control comprises generating a user alert. The alert may be indicative to a user that pasture is available for grazing, thereby allowing the user to move animals to that location.
[0371] In some embodiments, the controller is further configured to determine the foliage cover has reached a maximum (desired) cover threshold, and in response, the control comprises generating a user alert. The alert may be indicative to a user that pasture has surpassed a desired level for grazing. The user may then note the location of that pasture as suitable for other purposes such as the provision of silage. In some embodiments, the controller is further configured to determine the foliage cover has reached a maximum (desired) cover threshold, and in response, the control comprises outputting data to the animal guidance system operable to conserve the location from further grazing events. In this way, animals are refrained from entering pasture area deemed unsuitable for grazing. This helps to avoid frustrating animals by locating them in areas unsuitable for grazing, or potentially causing damage to the pasture in that location.
[0372] In some embodiments, the controller is further configured to determine the foliage cover at a location is between a minimum (desired) and maximum (desired) cover threshold, and in response, the control comprises generating a user alert. For example, pasture deemed suitable for grazing is made available to the animal guidance system as one or more areas where a break can be defined. In some embodiments, the animal guidance system comprises a control based on the determined pasture cover being between upper and lower limits and is configured to prevent defining of a break in such areas unless the condition is met. The pasture cover is therefore a control criteria of the animal guidance system.
[0373] In some embodiments, the controller is further configured to determine a measure of foliage rate of growth, and based on the measure, determine animal cycle / rotation time over a multiple predefined locations comprising multiple animal grazing locations. For example, the animal guidance system may be automated to define animal breaks and control guidance of animals between breaks based on determined pasture cover. As the pasture grows to a desired level, the controller is configured to signal the animal guidance system to configure a virtual break in the area of the desired pasture cover. When the rate of growth of pasture and the rate of consumption by animals is known, a cycle time can be determined and that cycle time used to control the location of breaks of time to ensure circulation of animals around a farm at ideal cover conditions during that time.
[0374] In some embodiments, the control comprises generating a user alert when an animal rotation time within the predefined locations is indicative of or predicted to have low foliage cover. Based on the abovedescribed cyclic control of animal movement about a farm, where pasture cover is determined or predicted to be below a threshold for a scheduled grazing location, the controller is configured to generate an alert to the user. In some embodiments, the alert comprises providing location data for one or more other locations which may be suitable for grazing. In other embodiments, the controller is configured to determine one or more alternative locations and alert the user to the alternatives.
[0375] Based on the above-described cyclic control of animal movement about a farm, where pasture cover is determined or predicted to be below a threshold for a scheduled grazing location, the controller is configured to control an animal feed ordering system. In some embodiments, the determination of pasture cover comprises a measure of required pasture feed based on available pasture cover and predicted pasture cover based on growth rate.
[0376] In some embodiments, the controller is further configured to determine the foliage cover at a location has reached a (desired or minimum) cover threshold, and in response, the control comprises generating an animal guidance command operable to relocate animals and / or control the creation of new virtual boundaries within the animal guidance system.
[0377] In some embodiments, the controller is further configured to determine, based on predicted measure of foliage cover, a number of animals the location will support over a period of time, then, the control comprises generating an animal guidance command operable to define a virtual zone for the number of animals at the location for substantially the period of time.
[0378] In some embodiments, the controller is further configured to: determine, based on predicted measure of foliage cover, a number of animals the location will support over a period of time, then, the control comprises generating an animal guidance command operable to maintain the number of animals at the location for substantially the period of time.
[0379] In some embodiments, the controller is further configured to: determine, based on predicted measure of foliage cover, a number of animals the location will support over a period of time, then, the control comprises generating a user alert to the number of animals and the period of time.
[0380] In some embodiments, the controller is further configured to determine, based on predicted measure of foliage cover, a predicted rate of growth of the foliage at the location; then, the control comprises generating an animal guidance command based on the predicted rate of growth including one or more of: guiding one or more animals to the location at a predetermined time.
[0381] In one embodiment, the system further comprises a display device and the controller is further configured to operate the display device to generate a graphical representation of one or more of predicted foliage cover indicative of one or more of the cover or average cover at zone or geographical area, where the predicted foliage covers are displayed as numbers or as a scale of colour or graphically, growth rate determined from temporally adjacent foliage covers. l A problem with current ML satellite imagery techniques is the lack of labelled data, which makes it difficult for the model to learn the structure of the images and thus get an accurate prediction. Semi-supervised learning can be used to teach the model about the structure of the problem using unlabelled data, so that when the model sees labelled data it can learn faster. The aim of grazing + temporal training is to let the model learn about the physical constraints in the images, so that it can make more accurate foliage cover predictions with the same amount of labelled data. The controller is able to achieve this as it has access to an animal guidance system which integrates into the training inputs.
[0382] Hardware
[0383] In one embodiment, the satellite captures or detects images from one or more selected from a. weather data, b. visible data in the visible spectrum, c. infrared data in the infrared spectrum, d. multispectral data in the multispectral spectrum, and e. hyperspectral imagery.
[0384] In one example, the imagery received from the satellite includes eight spectral bands. PlanetScope imagery products are derived from three cohorts of satellites, with instrument IDs of PS2, PS2.SD, and PSB.SD. In one embodiment, imagery from PSB.SD is used. However in other examples, fewer bands are used. The wavelength and ‘Full Width Half Maximum’ (fwhm) of the eight bands are shown below.
[0385] Band Name Wavelength (fwhm)
[0386] 1 Coastal Blue 443 (20)
[0387] 2 Blue 490 (50)
[0388] 3 Green I 531 (36)
[0389] 4 Green 565 (36)
[0390] 5 Yellow 610 (20)
[0391] 6 Red 665 (31)
[0392] 7 Red Edge 705 (15)
[0393] 8 NIR 865 (40)
[0394] Architecture
[0395] In the embodiment shown in Figure 17, The image and user data (such as cover labels) is sent to the cloud 500, or other equivalent or similar off-site server, processor or computer. In one embodiment, Amazon Web Services is utilised as the ‘backend’ cloud computing service 500. The backend 500 is configured to receive the information and prepare it to be requested as a predicted cover, or as information to create a farm map with predicted covers, growth rates, or control other outputs as described herein, The following steps are used in one embodiment to prepare the information received from the device 400, the satellite 301 , and measuring equipment 302, so it can be retrieved by device 400. Not all of the following steps are essential, but the addition of all of these steps make the process more efficient to retrieve and analyse the information. The following steps and processes described are able to be implemented by the controller which is configured to do so.
[0396] The fusion model receives a state for an area. The area in one example, is an area of land bounded by farm boundaries, or a ‘farm’. The state is a list of pixels or geo-spatial areas related to the area of the farm. Each pixel comprises metadata. The metadata comprises one or more of: grazing events and associated time, time of state, latest user cover updates, latest fusion model cover predictions, latest fusion model growth rate, user entered growth rate, paddock ID or zone ID the pixel relates to, paddock or zone area, farm ID, grazing round events. The fusion model / fusion sensor may in one example be deployed in Amazon Elastic Container Service (Amazon ECS).
[0397] Satellite imagery is received by a satellite image providing service. In one embodiment, the imagery is stored on S3 (Amazon). One example of a satellite image providing service is Californian company Planet Labs PBC.
[0398] The sensor fusion model can be deployed by ECS also - described as the APC Model Service’. In one embodiment, a periodic trigger runs the APC Model Service to receive new data from Athena and S3, and produces output data. In one example the output is stored on S3 (AWS). The output is a list of pixels with the updated metadata, in particular, updating metadata with the location, new predicted cover, and / or new predicted growth rate.
[0399] In one embodiment, APC Model Service creates an address that directs to the output bucket, as the data is too large to be moved around efficiently.
[0400] An alert is created when a new output state is created. In one example by Amazon Simple Notification Service (Amazon SNS).
[0401] The address of the output bucket is sent into a pipeline as a new state, representative of a cover influencing observation event received.
[0402] In one embodiment, Kinesis is used to populate athena with "cover influencing observations" which form the input data, along with satellite. The output message is transmitted via SNS and Amazon Simple Queue Service SQS.
[0403] The alert is received by what is called ‘Pasture Service’ via the pipeline. Pasture service is again, in one example, able to be run on ECS. Pasture service reads the address and looks up the new output. The output pixels are then associated with the location of known zones or paddocks on the farm. The pasture service can then output directly or indirectly data from the output to a control action, such as information to create a farm map with predicted covers, growth rates, or control other outputs as described herein. Pasture Service also receives new user data, such as new zones, paddocks, or farm boundaries. Further, new events like grazing events will be created by the user as they shift cattle around the farm. New grazing events, or other like cover influencing events, such as new pasture cover measurements, foliage type or status (such as crop etc), mowing grass etc, are then sent to via Athena for image metadata to be updated.
[0404] Where in the foregoing description reference has been made to elements or integers having known equivalents, then such equivalents are included as if they were individually set forth.
[0405] Although the invention has been described by way of example and with reference to particular examples, it is to be understood that modifications and / or improvements may be made without departing from the scope or spirit of the invention.
[0406] Reference Numerals
[0407] Animal Guidance System 2
[0408] Animal 10 Backend 500
[0409] Front End 200 Cloud server 510 user device 200 Computer 520 user 202 Communications Network 600
[0410] Pasture Data 300 GPS satellites 610
[0411] Satellite (Imagery) 301 base station 620
[0412] Other local devices 302 cell towers 630
[0413] Device 400 I nternet / satellite internet 640
[0414] Communications Package 410 local hub 650 memory component 430 Farm Features 700
[0415] Sensor Package 440 Geographical Area 701 power source / battery 450 Zone 702 stimulus device 460 Virtual Boundary 703 controller 470 Retainment area 704 Pasture 705
Claims
CLAIMS1 . A system to determine foliage cover, the system comprising: a controller configured to:• receive input image data comprising foliage cover to be determined;• determine a predicted measure of foliage cover from the input image data by application of a foliage cover prediction image model trained by a training dataset comprising images of foliage at a location whereby: o the training dataset comprises an image of a geographical area comprising zones delineated by a predefined grazing line, and / or o the training dataset comprises images of the geographical area subject to a grazing event within a predetermined period of time; and o reference data comprising one or more foliage cover measurements at the geographical area; and• execute a control based on the determined predicted measure of foliage cover.
2. The system as claimed in claim 1 , wherein the system further comprises an animal guidance system.
3. The system as claimed in claim 1 or 2, wherein the input image data and or training dataset is received from one or more image capture systems.
4. The system as claimed in claim 3, wherein the image capture systems comprise one or more of a satellite imaging system, or a local image capture device.
5. The system as claimed in any one of the preceding claims, wherein the controller is configured to request image data relating to the location from an image data source, based on the grazing event in an area.
6. The system as claimed in claim 2, wherein the predefined grazing line comprises a virtual boundary defined or caused by the animal guidance system.
7. The system as claimed in any one of the preceding claims, wherein the grazing event has occurred in one zone within the predetermined period of time so as to cause the predefined grazing line.
8. The system as claimed in any one of the preceding claims, wherein the images of foliage each comprise image data within a single frame from an image capture device.
9. The system as claimed in claim 2, wherein the zones delineated by the predefined grazing line comprise the geographical area including a first subset foliage area and a second subset foliage area, and the reference data comprises foliage cover measurements from one or both of the first subset foliage area or second subset foliage area.
10. The system as claimed in claim 9, wherein the controller is further configured to determine the first subset foliage area and second subset foliage area by:• receiving data from the animal guidance system indicative of an animal grazing event occurring in the subset foliage area at the location within a predetermined time period; and• determine the first and second subset foliage areas based on the location of the grazing event.11 . The system as claimed in claim 9 or 10, wherein the first foliage subset area is characterised by a measure difference in foliage cover compared to the second foliage subset area, and the measure of difference is caused by the grazing event.
12. The system as claimed in any one of the preceding claims, wherein the training image data comprises pairs of images of a geographical area at the location.
13. The system as claimed in claim 2, wherein the controller is further configured to receive data indicative of the grazing event at the geographical area from the animal guidance system.
14. The system as claimed in claim 12 or 13, wherein one or more images comprises time stamp data and the controller is further configured to determine a visual difference based on:• a determination that a first image in a first pair of images has been captured at a first point in time,• a determination that a second image in the first pair of images has been captured at a second point in time, and• a determination, based on a determination of animals positioned at the location within the image data, between the first and second points of time.
15. The system as claimed in claim 14, wherein the controller is further configured to build the training dataset by determining a visual difference from a source image dataset based on:• a determination that the first image in a first pair of images has been captured at a first point in time,• a determination that the second image in the first pair of images has been captured at a second point in time, and• a determination, based on animal location data from the animal guidance system, of whether a grazing event has occurred between the first and second points of time.
16. The system as claimed in claim 15, wherein the controller is further configured to build the training dataset by determining a visual difference from a source image dataset based on:• a determination that the first image in a first pair of images has been captured at a first point in time,• a determination, based on animal location data from the animal guidance system, that an animal grazing event has occurred within the geographical area after the first point of time, then• a determination that the second image in the first pair of images has been captured at a second point in time and after the grazing event, and• a determination that the first and second point in time are within a predetermined time period.
17. The system as claimed in any one of the preceding claims, wherein animal location data from the animal guidance system comprises one or more of:• animal position data recorded by the animal guidance system,• a schedule of animal guidance events, including o a grazing event at the geographical area, o a zone at the geographical area; or• recognition of animals at the geographical area determined from the image data.
18. The system as claimed in claim 2, wherein executing the control relates to one or more functions of the animal guidance system.
19. The system in claim 18, wherein the controller is further configured to determine a predicted time for the foliage cover to reach a predetermined threshold.
20. The system as claim 18 or 19, wherein the control comprises a function of the animal guidance system operable to guide one or more animals to a location when the threshold is met.21 . The system as claimed in any one of the preceding claims, wherein the controller is further configured to determine one or more selected from:• the foliage cover has reached a minimum (desired) cover threshold, and in response, the control comprises generating a user alert,• the foliage cover has reached a maximum (desired) cover threshold, and in response, the control comprises generating a user alert,• the foliage cover at a location is between a minimum (desired) and maximum (desired) cover threshold, and in response, the control comprises generating a user alert, and• the foliage cover has reached a maximum (desired) cover threshold, and in response, the control comprises outputting data to the animal guidance system operable to conserve the location from further grazing events,• a measure of foliage rate of growth, and based on the measure, determine animal cycle / rotation time over a multiple of predefined locations comprising multiple animal grazing locations.
22. The system as claimed claim 21 , wherein the control comprises one or more selected from:• generating a user alert when an animal rotation time within the predefined locations is indicative of or predicted to have low foliage cover, and• controlling a feed ordering system when the animal rotation time is indicative of low foliage cover.
23. The system as claimed in claim 2, wherein the controller is further configured to determine the foliage cover at a location has reached a (desired or minimum) cover threshold, and in response, the control comprises generating an animal guidance command operable to relocate animals and / or define new virtual boundaries within the animal guidance system.
24. The system as claimed in any one of the preceding claims, wherein the controller is further configured to:• determine, based on predicted measure of foliage cover, a number of animals the location will support over a period of time, then,• the control comprises generating an animal guidance command operable to define a virtual zone for the number of animals at the location for substantially the period of time.
25. The system as claimed in any one of the preceding claims, wherein the controller is further configured to:• determine, based on the predicted measure of foliage cover, a number of animals the location will support over a period of time, then,• the control comprises generating one selected from o an animal guidance command operable to maintain the number of animals at the location for substantially the period of time, and o a user alert to the number of animals and the period of time.
26. The system as claimed in any one of the preceding claims, wherein the controller is further configured to determine, based on the predicted measure of foliage cover, a predicted rate of growth of the foliage at the location; then,• the control comprises generating an animal guidance command based on the predicted rate of growth including one or more of:• guiding one or more animals to the location at a predetermined time.
27. The system as claimed in any one of the preceding claims, wherein the system further comprises a display device and the controller is further configured to operate the display device to generate a graphical representation of one or more of• a predicted foliage cover indicative of one or more of a cover or average cover at zone or geographical area, where the predicted foliage covers are displayed as numbers or as a scale of colour or graphically, and• growth rate determined from temporally adjacent foliage covers.
28. A system for training a foliage cover prediction image model causing a controller to execute steps of:• receiving a training dataset comprising image data comprising an image of a geographical area;• determining data indicative of a grazing line within the geographical area based on predetermined grazing line data or a machine determined grazing line;• determining at least two zones of the geographical area, a first zone and second zone defined by subset areas on each side of the grazing line;• determining, by the prediction image model, a predicted foliage cover for each of the first zone and second zone;• updating the prediction image model based on a difference in predicted foliage cover between each of the first and second zones, where a higher difference in predicted foliage cover has lower loss than a lower difference in predicted foliage cover.
29. The system as claimed in claim 28, wherein updating the prediction image model further comprises:• determining a difference in predicted foliage cover for each of the first and second zones;• determining a loss, where a loss tending towards 1 is indicative of a higher predicted foliage cover difference and a loss tending towards 0 is indicative of a lower predicted foliage cover difference;• minimising the loss utilising a regression model or similar; and• updating the prediction image model with said loss.
30. A system as claimed in claim 28 or 29, wherein the system comprises the foliage cover prediction image model causing the controller to execute steps of:• receiving a first training dataset comprising image data comprising an image of a geographical area;• determining, for one or more pixels in the image data of the training dataset, a first conditional probability of a grazing line using a first machine learning prediction model and probable location of the grazing line, and creating associated grazeline data;• assembling a second training dataset based on image data with a conditional probability above a threshold;• receiving the second training dataset comprising image data comprising an image of a geographical area;• receiving the data indicative of the grazing line within the geographical area and the probable location of the grazing line;• determining at least two zones of the geographical area, a first and second zone defined by subset areas on each side of the grazing line;• determining, by the prediction model, a predicted foliage cover for each of the first and second zones; and• updating the prediction model based on a difference in predicted foliage cover between each of the first and second zones, where a higher difference in predicted foliage cover has lower loss than a lower difference in predicted foliage cover.31 . The system as claimed in any one of claims 28 to 30, wherein the first zone and / or second zone comprises pixels or geo-spatial representative areas of the image data.
32. The system as claimed in claim 31 , wherein the controller is configured to compute, with the cover prediction image model, a prediction of a foliage cover for each geo-spatial area.
33. The system as claimed in claim 32, wherein the controller is configured to determine an average zone foliage cover by averaging the predicted foliage cover from all geo-spatial areas within a zone.
34. The system as claimed in claim 33, wherein the controller is configured to receive a growth rate pseudo-label and a time period, and determine the expected magnitude of difference between predicted foliage covers of the respective geographical areas.
35. A system for training a foliage cover prediction image model comprising causing a controller to execute steps of:• receiving a training dataset comprising: o image data comprising images of a geographical area, o temporal data (“time pseudo-label”) of each image of the geographical area indicative of image data recordal time,• determining or receiving at least two images of the geographical area, a first image and second image, the images separated in time by a time period and representative of a foliage cover change across said time period;• determining a predicted foliage cover for each of the first image and second image based on the cover prediction image model; and• updating the cover prediction image model based on the predicted foliage cover difference between each of the first image and second image, wherein a higher difference in predicted foliage cover has a lower loss than a lower difference in predicted foliage cover.
36. The system as claimed in claim 35, wherein updating the cover prediction image model further comprises:• determining a difference in predicted foliage cover for each of the first and second images;• determining a loss, where a loss tending towards 1 is indicative of a higher predicted foliage cover difference and a loss tending towards 0 is indicative of a lower predicted foliage cover difference;• minimising the loss utilising a regression model or similar; and• updating the cover prediction image model with said loss.
37. The system as claimed in claim 35 or 36, wherein representative of a foliage cover change across said time period is determined by the steps of:• determining receiving a grazing event or grazing non-event (“grazing event pseudo-label”); and• determining the time of a foliage cover change at the geographical area is within the time period.
38. An artificial intelligence image model for use in determining foliage cover having been trained according to the system of training as claimed in any one of claims 28 to 37.
39. A system for determining foliage cover of a zone, the system comprising a controller configured for, o receiving a predicted foliage cover of the zone from the image model as claimed in any one of the preceding claims; o receiving one or more of:i. a predicted growth foliage cover from a growth model configured to determine the growth of the foliage over time since the last foliage cover determination, at the location of the zone;II. a predicted consumption foliage cover from a consumption model configured to determine if consumption of the foliage in the zone has occurred; and o fusing the image foliage cover with one or more of the growth and consumption predicted foliage covers via sensor fusion to determine the foliage cover.
40. The system as claimed in claim 39, wherein the controller is further configured to receives one or more of: o a predetermined growth rate for the zone; and o the previous foliage cover determination prior the current foliage cover determination; and receive or determine the time period between the current and prior determination to determine the growth foliage cover.41 . The system as claimed in claim 40, wherein the controller is further configured to determine a predicted growth foliage cover from the predetermined growth rate multiplied by the time period and added to the previous foliage cover.
42. The system as claimed in any one of claims 39 to 41 , wherein the controller is further configured to receive grazing data from an animal guidance system indicative of whether a grazing event has occurred in the zone within the time period to determine the consumption foliage cover.