DETECTING UNTRAVERSABLE SOIL FOR FARMING MACHINE

A farming machine moves through a field and performs one or more farming actions (e.g., treating one or more plants) in the field. Portions of the field may include moisture, such as puddles or mud patches. A control system associated with the farming machine may include a traversability model and/or a moisture model to help the farming machine operate in the field with the moisture. In particular, the control system may employ the traversability model to reduce the likelihood of the farming machine attempting to traverse an untraversable portion of the field, and the control system may employ the moisture model to reduce the likelihood of the farming machine performing an action that will damage a portion of the field.

BACKGROUND

Field of Disclosure

This disclosure relates to operating a farming machine in a field with moisture, and, more specifically, to preventing the farming machine from attempting to traverse untraversable areas in the field or from damaging the field.

Description of the Related Art

Operating a farming machine in a field with moisture, such as puddles and mud, can pose difficulties for an operator of the farming machine. A field with moisture can increase the likelihood of the farming machine becoming immobilized (e.g., getting stuck) in the field or damaging the field (e.g., damaging rows or forming a water run-off channel). An immobilized farming machine can be difficult to free, can delay field operations, and can damage the field, which may reduce the crop output. Preventing the farming machine from becoming immobilized or damaging the field often requires knowledge of the capabilities of the farming machine and of the amount of moisture in the field. This knowledge may be difficult to ascertain or may require the operator to have extensive working experience with the farming machine and the field.

SUMMARY

A farming machine moves through a field and performs one or more farming actions (e.g., treating one or more plants) in the field. Portions of the field may include moisture, such as puddles or mud patches. A control system associated with the farming machine may include a traversability model and/or a moisture model to help the farming machine operate in the field.

To reduce the likelihood of the farming machine becoming immobilized in a field portion (e.g., due to the moisture in the field portion), the control system applies the traversability model to an image of the field portion (the image may be captured by an image sensor of the farming machine). By analyzing pixels in the image, the traversability model determines a moisture level of the field portion and determines a traversability difficulty of the field portion using the moisture level. The traversability difficulty quantifies a level of difficulty for a vehicle to move through the portion of the field. If the traversability difficulty is above a traversability capability of the farming machine, the farming machine performs a farming action, such as modifying the farming machine's route so that it does not move through the portion of the field.

To reduce the likelihood of the farming machine damaging the portion of the field (e.g., due to the moisture in the field portion), the control system applies the moisture model to the image of the field portion. The moisture model determines a measure of moisture for the field portion of the field using the image. Based on the determined measure of moisture, the control system determines a likelihood that the farming machine performing the farming action will damage the portion of the field. If the likelihood is above a threshold likelihood, the farming machine performs another farming action, where the likelihood that the farming machine performing the other farming action will damage the portion of the field is below the threshold likelihood.

DETAILED DESCRIPTION

A farming machine includes one or more sensors capturing information about the surrounding environment as the farming machine moves through a field. The surrounding environment can include various objects (i.e., plants, ground, obstructions, etc.) used to determine farming actions (e.g., performing a treatment action, modifying a treatment parameter, modifying an operational parameter, and modifying a sensor parameter, etc.) for the farming machine to operate in the field.

The farming machine includes a control system that processes the information obtained by the sensors to generate corresponding farming actions. For example, the control system processes information to identify plants and other objects to generate corresponding treatment actions. There are many examples of a farming machine processing visual information obtained by an image sensor coupled to the farming machine to identify and treat plants and identify and avoid obstructions. For example, similar to the farming machine as described in U.S. patent application Ser. No. 16/126,842 titled “Semantic Segmentation to Identify and Treat Plants in a Field and Verify the Plant Treatments,” filed on Sep. 10, 2018, which is hereby incorporated by reference in its entirety.

II. Farming Machine

A farming machine is a vehicle that operates in a field. The farming machine may have a variety of configurations, some of which are described in greater detail below. For example,FIG.1Ais an isometric view of a farming machine andFIG.1Bis a top view of the farming machine ofFIG.1A.FIG.1Cis a second embodiment of a farming machine. Other embodiments of a farming machine are also possible. The farming machine100, illustrated inFIGS.1A-1C, includes a detection mechanism110, a treatment mechanism120, and a control system130. The farming machine100can additionally include a mounting mechanism140, a verification mechanism150, a power source, digital memory, communication apparatus, or any other suitable component. The farming machine100can include additional or fewer components than described herein. Furthermore, the components of the farming machine100can have different or additional functions than described below.

The farming machine100may perform treatment actions in the field. A treatment actions relates to soil preparation (e.g., tilling), planting, regulating plant growth, or harvesting. For example, the farming machine100may function to apply a treatment to one or more plants102within a geographic area104. Often, treatments function to regulate plant growth. The treatment is directly applied to a single plant102(e.g., hygroscopic material), but can alternatively be directly applied to multiple plants, indirectly applied to one or more plants, applied to the environment associated with the plant (e.g., soil, atmosphere, or other suitable portion of the plant environment adjacent to or connected by an environmental factor, such as wind), or otherwise applied to the plants. Treatments that can be applied include necrosing the plant, necrosing a portion of the plant (e.g., pruning), regulating plant growth, or any other suitable plant treatment. Necrosing the plant can include dislodging the plant from the supporting substrate106, incinerating a portion of the plant, applying a treatment concentration of working fluid (e.g., fertilizer, hormone, water, etc.) to the plant, or treating the plant in any other suitable manner. Regulating plant growth can include promoting plant growth, promoting growth of a plant portion, hindering (e.g., retarding) plant or plant portion growth, or otherwise controlling plant growth. Examples of regulating plant growth includes applying growth hormone to the plant, applying fertilizer to the plant or substrate, applying a disease treatment or insect treatment to the plant, electrically stimulating the plant, watering the plant, pruning the plant, or otherwise treating the plant. Plant growth can additionally be regulated by pruning, necrosing, or otherwise treating the plants adjacent to the plant.

The plants102can be crops but can alternatively be weeds or any other suitable plant. The crop may be cotton, but can alternatively be lettuce, soybeans, rice, carrots, tomatoes, corn, broccoli, cabbage, potatoes, wheat or any other suitable commercial crop. The plant field in which the system is used is an outdoor plant field, but can alternatively be plants within a greenhouse, a laboratory, a grow house, a set of containers, a machine, or any other suitable environment. The plants are grown in one or more plant rows (e.g., plant beds), wherein the plant rows are parallel, but can alternatively be grown in a set of plant pots, wherein the plant pots can be ordered into rows or matrices or be randomly distributed, or be grown in any other suitable configuration. The crop rows are generally spaced between 2 inches and 45 inches apart (e.g. as determined from the longitudinal row axis), but can alternatively be spaced any suitable distance apart, or have variable spacing between multiple rows.

The plants102within each plant field, plant row, or plant field subdivision generally includes the same type of crop (e.g., same genus, same species, etc.), but can alternatively include multiple crops (e.g., a first and a second crop), both of which are to be treated. Each plant102can include a stem, arranged superior (e.g., above) the substrate106, which supports the branches, leaves, and fruits of the plant. Each plant can additionally include a root system joined to the stem, located inferior to the substrate plane (e.g., below ground), that supports the plant position and absorbs nutrients and water from the substrate106. The plant can be a vascular plant, non-vascular plant, ligneous plant, herbaceous plant, or be any suitable type of plant. The plant can have a single stem, multiple stems, or any number of stems. The plant can have a tap root system or a fibrous root system. The substrate106is soil but can alternatively be a sponge or any other suitable substrate.

The detection mechanism110is configured to identify a plant for treatment. As such, the detection mechanism110can include one or more sensors for identifying a plant. For example, the detection mechanism110can include a multispectral camera, a stereo camera, a CCD camera, a single lens camera, a CMOS camera, hyperspectral imaging system, LIDAR system (light detection and ranging system), a depth sensing system, dynamometer, IR camera, thermal camera, humidity sensor, light sensor, temperature sensor, or any other suitable sensor. In one embodiment, and described in greater detail below, the detection mechanism110includes an array of image sensors configured to capture an image of a plant. In some example systems, the detection mechanism110is mounted to the mounting mechanism140, such that the detection mechanism110traverses over a geographic location before the treatment mechanism120as the farming machine100moves through the geographic location. However, in some embodiments, the detection mechanism110traverses over a geographic location at substantially the same time as the treatment mechanism120. In an embodiment of the farming machine100, the detection mechanism110is statically mounted to the mounting mechanism140proximal the treatment mechanism120relative to the direction of travel115. In other systems, the detection mechanism110can be incorporated into any other component of the farming machine100.

The treatment mechanism120functions to perform treatment actions. For example, the treatment mechanism120functions to apply a treatment action to an identified plant102. In the example ofFIGS.1A-1C, the treatment mechanism120applies the treatment to the treatment area122as the farming machine100moves in a direction of travel115. The effect of the treatment can include plant necrosis, plant growth stimulation, plant portion necrosis or removal, plant portion growth stimulation, or any other suitable treatment effect as described above. The treatment can include plant102dislodgement from the substrate106, severing the plant (e.g., cutting), plant incineration, electrical stimulation of the plant, fertilizer or growth hormone application to the plant, watering the plant, light or other radiation application to the plant, injecting one or more working fluids into the substrate106adjacent the plant (e.g., within a threshold distance from the plant), or otherwise treating the plant. In one embodiment, the treatment mechanisms120are an array of spray treatment mechanisms. The treatment mechanisms120may be configured to spray one or more of: an herbicide, a fungicide, water, or a pesticide. The treatment mechanism120is operable between a standby mode, wherein the treatment mechanism120does not apply a treatment, and a treatment mode, wherein the treatment mechanism120is controlled by the control system130to apply the treatment. However, the treatment mechanism120can be operable in any other suitable number of operation modes.

The farming machine100may include one or more treatment mechanisms120. A treatment mechanism120may be fixed (e.g., statically coupled) to the mounting mechanism140or attached to the farming machine100relative to the detection mechanism110. Alternatively, the treatment mechanism120can rotate or translate relative to the detection mechanism110and/or mounting mechanism140. In one variation, the farming machine100includes a single treatment mechanism, wherein the treatment mechanism120is actuated or the farming machine100moved to align the treatment mechanism120active area122with the targeted plant102. In a second variation, the farming machine100includes an assembly of treatment mechanisms, wherein a treatment mechanism120(or subcomponent of the treatment mechanism120) of the assembly is selected to apply the treatment to the identified plant102or portion of a plant in response to identification of the plant and the plant position relative to the assembly. In a third variation, such as shown inFIGS.1A-1C, the farming machine100includes an array of treatment mechanisms120, wherein the treatment mechanisms120are actuated or the farming machine100is moved to align the treatment mechanism120active areas122with the targeted plant102or plant segment.

The farming machine100includes a control system130for controlling operations of system components. The control system130can receive information from and/or provide input to the detection mechanism110, the verification mechanism150, and the treatment mechanism120. The control system130can be automated or can be operated by an operator. In some embodiments, the control system130may be configured to control operating parameters of the farming machine100(e.g., speed, direction). The control system130also controls operating parameters of the detection mechanism110. Operating parameters of the detection mechanism110may include processing time, location and/or angle of the detection mechanism110, image capture intervals, image capture settings, etc. The control system130may be a computer, as described in greater detail below in relation toFIG.11. The control system130can apply one or more models to identify one or more plants in the field. The control system130may be coupled to the farming machine100such that an operator (e.g., a driver) can interact with the control system130. In other embodiments, the control system130is physically removed from the farming machine100and communicates with system components (e.g., detection mechanism110, treatment mechanism120, etc.) wirelessly. In some embodiments, the control system130is an umbrella term that includes multiple networked systems distributed across different locations (e.g., a system on the farming machine100and a system at a remote location). In some embodiments, one or more processes are performed by another control system. For example, the control system130receives farming action instructions from another control system.

In some configurations, the farming machine100includes a mounting mechanism140that functions to provide a mounting point for the system components. In one example, the mounting mechanism140statically retains and mechanically supports the positions of the detection mechanism110, the treatment mechanism120, and the verification mechanism150relative to a longitudinal axis of the mounting mechanism140. The mounting mechanism140is a chassis or frame but can alternatively be any other suitable mounting mechanism. In the embodiment ofFIGS.1A-1C, the mounting mechanism140extends outward from a body of the farming machine100in the positive and negative x-direction (in the illustrated orientation ofFIGS.1A-1C) such that the mounting mechanism140is approximately perpendicular to the direction of travel115. The mounting mechanism140inFIGS.1A-1Cincludes an array of treatment mechanisms120positioned laterally along the mounting mechanism140. In alternate configurations, there may be no mounting mechanism140, the mounting mechanism140may be alternatively positioned, or the mounting mechanism140may be incorporated into any other component of the farming machine100.

The farming machine100includes a first set of coaxial wheels and a second set of coaxial wheels, wherein the rotational axis of the second set of wheels is parallel with the rotational axis of the first set of wheels. In some embodiments, each wheel in each set is arranged along an opposing side of the mounting mechanism140such that the rotational axes of the wheels are approximately perpendicular to the mounting mechanism140. InFIGS.1A-1C, the rotational axes of the wheels are approximately parallel to the mounting mechanism140. In alternative embodiments, the system can include any suitable number of wheels in any suitable configuration. The farming machine100may also include a coupling mechanism142, such as a hitch, that functions to removably or statically couple to a drive mechanism, such as a tractor, more to the rear of the drive mechanism (such that the farming machine100is dragged behind the drive mechanism), but can alternatively be attached to the front of the drive mechanism or to the side of the drive mechanism. Alternatively, the farming machine100can include the drive mechanism (e.g., a motor and drive train coupled to the first and/or second set of wheels). In other example systems, the system may have any other means of traversing through the field.

In some configurations, the farming machine100additionally includes a verification mechanism150that functions to record a measurement of the ambient environment of the farming machine100. The farming machine may use the measurement to verify or determine the extent of plant treatment. The verification mechanism150records a measurement of the geographic area previously measured by the detection mechanism110. The verification mechanism150records a measurement of the geographic region encompassing the plant treated by the treatment mechanism120. The verification mechanism150measurement can additionally be used to empirically determine (e.g., calibrate) treatment mechanism operation parameters to obtain the desired treatment effect. The verification mechanism150can be substantially similar (e.g., be the same type of mechanism as) to the detection mechanism110or can be different from the detection mechanism110. In some embodiments, the verification mechanism150is arranged distal the detection mechanism110relative the direction of travel, with the treatment mechanism120arranged there between, such that the verification mechanism150traverses over the geographic location after treatment mechanism120traversal. However, the mounting mechanism140can retain the relative positions of the system components in any other suitable configuration. In other configurations of the farming machine100, the verification mechanism150can be included in other components of the system.

In some configurations, the farming machine100may additionally include a power source, which functions to power the system components, including the detection mechanism110, control system130, and treatment mechanism120. The power source can be mounted to the mounting mechanism140, can be removably coupled to the mounting mechanism140, or can be separate from the system (e.g., located on the drive mechanism). The power source can be a rechargeable power source (e.g., a set of rechargeable batteries), an energy harvesting power source (e.g., a solar system), a fuel consuming power source (e.g., a set of fuel cells or an internal combustion system), or any other suitable power source. In other configurations, the power source can be incorporated into any other component of the farming machine100.

In some configurations, the farming machine100may additionally include a communication apparatus, which functions to communicate (e.g., send and/or receive) data between the control system130and a set of remote devices. The communication apparatus can be a Wi-Fi communication system, a cellular communication system, a short-range communication system (e.g., Bluetooth, NFC, etc.), or any other suitable communication system.

FIG.2illustrates a cross-sectional view of a farming machine including a sensor configured to capture an image of one or more plants, in accordance with some example embodiments. The farming machine200may be similar to any of the farming machines described in regard toFIG.1A-1C. In the embodiment ofFIG.2, the farming machine includes a sensor210. Here, the sensor210is a camera (e.g., RGB camera, near infrared camera, ultraviolet camera, or multi-spectral camera), but could be another type of image sensor suitable for capturing an image of plants in a field. The farming machine200can include additional sensors mounted along the mounting mechanism140. The additional sensors may be the same type of sensor as sensor210or different types of sensors.

InFIG.2, sensor210has a field of view215. The field of view215, herein, is the angular extent of an area captured by a sensor210. Thus, the area captured by the sensor210(e.g., the field of view215) may be affected by properties (i.e., parameters) of the sensor210. For example, the field of view215may be based on, for example, the size of the lens and the focal length of the lens. Additionally, the field of view215may depend on an orientation of the sensor. For example, an image sensor with a tilted orientation may generate an image representing a trapezoidal area of the field, while an image sensor with a downwards orientation may generate an image representing a rectangular area of the field. Other orientations are also possible.

InFIG.2, the sensor210is tilted. More specifically, the sensor210is mounted to a forward region of the mounting mechanism140, and the sensor210is tilted downwards towards the plants. Described herein, a downwards tilt angle is defined as an angle between the z-axis and the negative y-axis. The field of view215includes plants202a,202b,202cand weed250. The distance between the sensor210and each plant varies based on the location of the plant and the height of the plant. For example, plant202cis farther than plant202afrom the sensor210. The sensor210can be tilted in other directions.

FIG.2also illustrates a treatment mechanism120of the farming machine. Here, the treatment mechanism120is located behind the sensor210along the z-axis, but it could be in other locations. Whatever the orientation, the sensor210is positioned such that the treatment mechanism120traverses over a plant after the plant passes through the field of view215. More specifically, as the farming machine100travels towards the plant202, the plant202will exit the field of view205at an edge216of the field of view nearest the treatment mechanism120. The distance between the edge216and the treatment mechanism120is the lag distance. The lag distance allows the control system130to capture and process an image of a plant before the treatment mechanism120passes over the plant. The lag distance also corresponds to a lag time. The lag time is an amount of time the farming machine has before the treatment mechanism120passes over the plant202. The lag time is an amount of time calculated from farming machine operating conditions (e.g., speed) and the lag distance.

In some configurations, the treatment mechanism120is located approximately in line with the image sensor210along an axis parallel to the y-axis but may be offset from that axis. In some configurations, the treatment mechanism120is configured to move along the mounting mechanism140in order to treat an identified plant. For example, the treatment mechanism may move up and down along a y-axis to treat a plant. Other similar examples are possible. Additionally, the treatment mechanism120can be angled towards or away from the plants.

In various configurations, a sensor210may have any suitable orientation for capturing an image of a plant. Further, a sensor210may be positioned at any suitable location along the mounting mechanism140such that it can capture images of a plant as a farming machine travels through the field.

III. System Environment

FIG.3illustrates a block diagram of the system environment for the farming machine, in accordance with an example embodiment. In this example, the control system310is connected to a camera array320and component array320via a network350within the system environment300.

The camera array310includes one or more cameras312(also referred to as image sensors). The cameras312may be a detection mechanism110as described with reference toFIGS.1A-1C. Each camera312in the camera array310may be controlled by a processing unit314(e.g., a graphics processing unit). In some examples, more than one camera312may be controlled by a single processing unit314. The array310captures image data of the scene around the farming machine100(and possibly the farming machine itself). The captured image data may be sent to the control system130via the network350or may be stored or processed by other components of the farming machine100.

The component array320includes one or more components322. Components322are elements of the farming machine that can take farming actions (e.g., a treatment mechanism120). As illustrated, each component has one or more input controllers324and one or more sensors, but a component may include only sensors or only input controllers. An input controller controls the function of the component. For example, an input controller may receive machine commands via the network and actuate the component in response. A sensor326generates measurements within the system environment. The measurements may be of the component, the farming machine, or the environment surrounding the farming machine. For example, a sensor326may measure a configuration or state of the component322(e.g., a setting, parameter, power load, etc.), or measure an area surrounding a farming machine (e.g., moisture, temperature, etc.).

The control system130receives information from the camera array310and component array320and generates instructions for farming actions. The control system130may include one or more models and instructions to operate the farming machine in a field with moisture. For example, the control system130includes instructions for implementing one or more steps described with reference toFIGS.5and7. In the example ofFIG.3, the control system130includes a traversability model332and a moisture model334. These models are further described with reference toFIGS.5and7.

The network350connects nodes of the system environment300to allow microcontrollers and devices to communicate with each other. In some embodiments, the components are connected within the network as a Controller Area Network (CAN). In this case, within the network each element has an input and output connection, and the network350can translate information between the various elements. For example, the network350receives input information from the camera array310and component array320, processes the information, and transmits the information to the control system130. The control system130generates a farming action based on the information and transmits instructions to implement the farming action to the appropriate component(s)322of the component array320.

Additionally, the system environment300may be other types of network environments and include other networks, or a combination of network environments with several networks. For example, the system environment300, can be a network such as the Internet, a LAN, a MAN, a WAN, a mobile wired or wireless network, a private network, a virtual private network, a direct communication line, and the like.

IV. Operating a Farming Machine in Field with Moisture

As described above, a farming machine (e.g., farming machine100) is configured to move through a field and perform one or more farming actions (e.g., treating one or more plants) in the field. Portions of the field may include moisture, such as puddles or mud patches. A control system (e.g., control system130) associated with the farming machine may include one or more models to help the farming machine operate (e.g., perform one or more actions) in the field with moisture. In particular, the control system may employ a traversability model to reduce the likelihood of the farming machine becoming immobilized (e.g., getting stuck) in a portion of the field, and may employ a moisture model to reduce the likelihood of the farming machine performing an action that will damage a portion of the field.

FIG.4is an overhead view of a farming machine400moving along a route410through a field440with moisture, according to an embodiment. Portions of the field (e.g., portions425A and425B) include moisture in the form of puddles of liquid420and a mud patch427. In the example ofFIG.4, puddle420B is significantly larger than puddle420A. The farming machine400(e.g., via the control system130) can analyze the moisture in the field and determine whether the farming machine400will get stuck or damage the field as it moves through portions425of the field that include the puddles420and mud patch427. In the example ofFIG.4, the control system determines that the farming machine can move through the field portion425A (including puddle420A and mud patch427). However, the farming machine400determines that it cannot or should not move through the field portion425B (including puddle420B). For example, the farming machine400determines that the portion425B has a traversability difficulty above the traversability capability of the farming machine400. In another example, the farming machine400determines that the likelihood of the farming machine400damaging the field portion425B is above a likelihood threshold.

In response to the farming machine400determining that it cannot or should not move through the field portion425B (e.g., the farming machine determines the field portion425B is untraversable or there is a high likelihood that the farming machine will damage the field portion425B), the farming machine generates a modified route430for the farming machine400. By traveling along the modified route430, the farming machine400will avoid the portion of the field that includes puddle420B. If the farming machine400is performing treatment actions in the field, the route may be modified so that portions of the field around puddle420B are still treated by the farming machine. For example, the farming machine400may drive around the puddle and back up to the puddle420B to reduce the amount of unworked ground around the puddle420B.

IV. A Applying the Traversability Model

FIG.5illustrates a method for operating in a field with moisture by a farming machine (e.g., farming machine100), in accordance with an example embodiment. The method500may be performed from the perspective of the control system130. The method500can include greater or fewer steps than described herein. Additionally, the steps can be performed in different order, or by different components than described herein.

A farming machine (e.g., farming machine100) moves510along a route in a field towards a portion of the field including moisture. An example of this is illustrated inFIG.4. While this disclosure is described in the context of a farming machine moving through a field, the farming machine may move through other types of terrain such as roads, streets, etc. As described herein, a portion of the field (also referred to as a field portion) is a subsection of the field that is smaller than the entire field. A field portion is large enough to include one or more bodies of moisture, which are large enough for the farming machine to potentially get stuck or large enough that the farming machine can potentially damage the field if it moves through the field portion. The farming machine may be actively controlled by an operator in the farming machine, remotely controlled by an operator, or autonomous. If the farming machine is autonomous, it may still receive instructions from an operator.

The control system accesses520an image of the portion of the field. The image includes a group of pixels that indicate a moisture level of the portion of the field. One or more image sensors capture the image. Example image sensors that can capture the image are described with reference to the detection mechanism110. The image sensors may be coupled to the farming machine and oriented to capture the portion of the field (e.g., a portion of the field in front of the farming machine). The image sensors may capture images as the farming machine moves along the route.FIGS.6A-6Eare example images of fields and roads with moisture that may be accessed by the control system.FIGS.6A-6Eare further described with reference to step530.

Returning toFIG.5, the control system applies530a traversability model to the image of the portion of the field. The traversability model determines a moisture level of the portion of the field and determines a traversability difficulty for the portion of the field using the moisture level. Additionally or alternatively, in some embodiments, the traversability model determines whether a field portion is traversable or untraversable. Determining whether a field portion is traversable or untraversable may be based on the moisture level. If a traversable field portion is detected, the farming machine may move through the field portion. If an untraversable field portion is detected, an obstacle event may be triggered so that the farming machine performs a farming action, such as modifying the farming machine's route so that it does not move through the field portion.

Moisture as described herein can include liquid (e.g., water) on the surface of the ground (e.g., a puddle, body, or pool of water), liquid in the soil (e.g., mud), and liquid in the air (e.g., rain or fog). The moisture level (also referred to as a measure of moisture) describes an amount of moisture in, on, or above the soil in the field portion. The level may be an objective measure, such as an estimate in gallons of the amount of moisture or the shape and size of a body of moisture (e.g., the depth, width, and length a body of liquid). The level can alternatively be on a scale, such as one to ten, where one indicates no moisture and ten indicates the presence of a large amount of moisture. If the portion of the field includes multiple bodies of moisture, the traversability model may determine multiple moisture levels e.g., a moisture level for each body of moisture. In some embodiments, the traversability model distinguishes between liquid on the surface, liquid in the soil, and liquid in the air and determines a moisture level for each. For example, the control system determines a moisture level for a pool of liquid on the surface and determines another level for mud around the pool of liquid. In some embodiments, the traversability model detects any possible obstructions due to moisture and quantifies how much of it is on a path of the farming machine400or the percentage of the obstacle in the FOV (field of view) of the image sensor.

The control system determines the moisture level for a field portion, for example, by applying a moisture model. The control system determines the moisture level by analyzing one or more groups of pixels in the image to identify moisture and determine an amount of moisture in the image. For example, visual properties such as texture, reflection, and saturation indicate the presence, location, and amount of moisture. In some embodiments, the detection of polarized light may be used to detect the presence of liquid. In another example, pixel values from a thermal sensor are analyzed (e.g., since moisture can be identified by comparing local temperature values). In some embodiments, multiple images are used by the traversability model. For example, images captured by different types of image sensors or images captured at different views are analyzed together to determine the moisture level.

In addition to analyzing pixels of the image, the traversability model may receive non-visual information to determine the moisture level of the portion of the field, such as temperature, humidity, wind, weather data, topography, and soil maps. For example, the control system accesses current or historical weather data for the portion of the field to determine the moisture level.

As stated earlier, the traversability model uses the moisture level to determine a traversability difficulty for the portion of the field. The traversability difficulty quantifies a level of difficulty for a vehicle to move through the portion of the field having the moisture level. As described herein, a higher traversability difficulty indicates a field portion is less traversable and a lower traversability difficulty indicates a field portion is more traversable. Generally, a high moisture level results in a high traversability difficulty and vice versa, however the relationship may not be linear, and the traversability difficulty may depend on other factors, some of which are further described below. The relationship between moisture level and traversability difficulty may be machine learned, for example, by training the traversability model with historical traversability data. Historical traversability data may include images of field portions, moisture levels of moisture in the images, and traversability difficulty scores associated with the field portions. The traversability difficulty is generally determined prior to the farming machine moving through the field portion. However, a traversability difficulty may be determined or updated if/when the farming machine moves through the field portion.

In some embodiments, the traversability difficulty indicates a likelihood of a vehicle losing traction or getting stuck. In another example, the traversability difficulty is on a scale, such as one to ten, where one indicates almost any vehicle can move through the field portion and ten indicates only highly specialized vehicles can move through the field portion. In other embodiments, the traversability difficulty specifies characteristics of vehicles that can move through the portion of the field. For example, the traversability difficulty specifies a wheel type (e.g., wheel or track), a wheel size, a tread type, an engine/motor type, a drive type (e.g., front, rear, or all-while drive), a make, a model, a weight, a treatment mechanism, and/or coupling mechanism of a vehicle that can move through the portion of the field.

While the traversability difficulty is based on the moisture level of the field portion, the traversability difficulty may also be based on additional factors, such as soil type or gradient. For example, the traversability model includes a weighted model with a weight for each factor, where each weight indicates how strongly its corresponding factor affects the traversability difficulty. The additional factors may be determined by the traversability model. Example additional factors are described below.

An example additional factor is the one or more soil types in the portion of the field. One or more soil types may be determined by analyzing pixels of an image of the field portion (soil types may have identifiable colors and textures), accessing a soil map, and/or receiving input from an operator of the farming machine. Example soil types include clay, loam, sand, silt, gravel, asphalt, and concrete. Since moisture (and the amount of moisture) may affect the traversability of soil types differently, determining a soil type of a field portion can assist in determining the traversability difficulty. For example, moisture in sand generally has no effect on traversability, but moisture in clay or loam generally decreases traversability (i.e., increases the traversability difficulty). If multiple soil types are identified, the traversability of the combination of the soil types may be considered (e.g., the presence of gravel in clay may make it more traversable).

Another example factor is the gradient of the field portion of the field (also referred to as the grade or slope). Generally, higher a gradient decreases the traversability for a field portion. In some embodiments, a slope larger than 9 degrees renders the field portion untraversable. The gradient may be determined by analyzing pixels of the image, accessing a topography map, and/or receiving input from an operator of the farming machine.

Other indicators of the traversability difficulty include:

(1) The visibility of an edge of a body of moisture (also referred to as the boundary or outline). If an edge of a body of moisture is visible and distinct, it may indicate that the soil around the body is firm and dry. Thus, an identifiable edge of a body may decrease the traversability difficulty.

(2) An amount of plant matter or debris in a body of moisture. The presence of plant matter or debris may decrease the traversability difficulty because plant matter and debris may reduce the likelihood of loss of traction. Additionally, the presence of plant matter and debris sticking up through a body of liquid may indicate that the body is not deep.

(3) A depth of track marks. The depth of track marks may indicate how firm the soil is. Deep track marks may indicate a field portion is less traversable, and shallow track marks may indicate a field portion is more traversable. The size of dirt clods (e.g., made by the farming machine as it moves through the field) may also indicate how firm the soil is. For example, larger dirt clods may indicate a field portion includes more moisture and is less traversable and smaller dirt clods my indicate a field portion includes less moisture and is more traversable.

(4) Movement of a body of liquid. Movement of liquid can make a field portion more difficult to traverse. Thus, a stagnant or slow-moving body may have a lower traversability difficulty than a body with a current (e.g., a river or stream).

These factors may be determined by analyzing pixels in an image of the field portion. In some embodiments, one or more of these factors are part of or contribute to the moisture level. In some embodiments, the traversability difficulty is also based on factors that are not related to moisture, such as the presence of obstacles in the field portion (e.g., a boulder or trench). Descriptions of the moisture level, additional factors, and the traversability difficulty are further described below with reference toFIGS.6A-6E.

FIG.6Ais an image of a field605that includes a mud patch610with water615in the lower right corner. The amount of moisture may be determined based on the area and depth of the mud patch610. The area may be determined by comparing the size of the patch610to the size of the rows in the field. Similarly, the depth of the mud patch may be determined by comparing the height of the rows relative to the surface of the water615and mud in the patch610. The depth of the water615does not seem deep since water in the mud is generally below the tops of the rows. Since the edges of the mud patch610are not clearly identifiable, this may increase the traversability difficulty of the mud patch.

FIG.6Bis an image of a road that includes circular puddles620. The edges of the puddles620are distinct, which may indicate that the ground around the puddles620is firm and dry. This is supported by the presence of faint track marks625in the soil around the puddles620. Additionally, the size of the puddles620is small (e.g., determined by comparing the puddles620to the width of the road). All of these features indicate that the moisture level and traversability difficulty are low for the road inFIG.6B.

FIG.6Cis another image of a road630. The road630is muddy and includes puddles635with edges that are less defined than inFIG.6B. This indicates that the road630is less traversable than the road inFIG.6B. However, the mud and puddles include plant matter640, which increases the traversability.FIG.6Calso includes track marks645that are deeper than the track marks625inFIG.6B, which may decrease the traversability.

FIGS.6D and6Eare images of fields with large puddles (650and660). Generally, small puddles between rows are traversable. However, if standing water goes above the rows (e.g., rows655and665), the field may become non-traversable.

Referring back toFIG.5, the farming machine performs540a farming action (e.g., after receiving instructions from the control system) in the field responsive to determining the traversability difficulty is above a traversability capability of the farming machine.

The traversability capability quantifies an ability of the farming machine to travel through fields with moisture. As described herein, a higher traversability capability indicates the farming machine can traverse more difficult terrain. The traversability capability may have a same unit of measurement or be on a same scale as the traversability difficulty so that the values can be directly compared. The traversability capability of the farming machine may be based on operational parameters of the farming machine (e.g., speed and torque) and characteristics that may affect the farming machine's ability to traverse terrain. Example farming machine characteristics include a wheel type (e.g., wheel or tracks), a wheel size, a tread type, an engine/motor type, a drive type (e.g., front, rear, or all-while drive), a make, a model, a weight, a fuel level, a tank level for a sprayer, a treatment mechanism, and/or coupling mechanism of the farming machine. Values of these characteristics may be determined from sensors of the farming machine. One or more of the characteristics may be variable. For example, the weight of the farming machine changes over time as the farming machine sprays plants in the field and consumes fuel. Thus, the traversability capability may be a fixed value or, in some embodiments, a variable quantity that changes over time based on the real time operational parameters and characteristics of the farming machine. In some embodiments, the traversability capability is specific to a treatment action performed by the farming machine as it moves through the field. For example, the farming machine may have a first traversability capability if it is applying a first treatment (e.g., tilling the field) and a second traversability capability if it is applying a second treatment (e.g., spraying plants).

A farming action in the context of step540is an action performed by the farming machine (e.g., via the control system) and intended to prevent or reduce the likelihood of the farming machine attempting to traverse an untraversable field portion. In some cases, the farming action modifies (e.g., cancels) an action already being performed by the farming machine. An example farming action includes modifying an operational parameter of the farming machine. Modifying an operational parameter may increase the traversability capability of the farming machine, such as increasing the speed, switching to all-wheel drive, switching from speed-control to torque-control on the drive wheel motors, ceasing to apply power to the wheels so that the farming machine ‘coasts’ through the field portion, or raising a treatment mechanism, so that the traversability capability is no longer below the traversability difficulty. Another example of a farming action includes sending a warning notification to an operator of the farming machine. In another example, the farming action modifies (e.g., cancels) a treatment action being performed by the farming machine. For example, if a treatment action limits the speed of the farming machine such that it will not have enough speed to traverse the field portion, the farming action may cease the treatment action so the farming machine can increase its speed.

In some embodiments, the farming action modifies the farming machine's route such that it does not move through (or ceases to move through) the portion of the field including moisture (e.g., see description with respect toFIG.4). If the route is modified, it may be modified so that the farming machine will move through the field portion at a later point in time and/or so that the farming machine will move through the field from a different direction (e.g., modifying the route so that the farming machine moves through the portion while traveling downhill instead of uphill). This may allow time for the conditions at the field portion (e.g., the moisture level) to change. This may also provide the farming machine time or the opportunity to adjust one or more characteristics so it can move through the field portion. For example, the route is modified so that the farming machine moves through the portion with a lighter machine load, such as waiting until the volume in a spray tank or fuel tank has decreased. In another example, the farming machine modifies its weight or weight distribution by using counterweight brackets, shedding unused components, dumping material or transferring material to a storage tank, swapping components like wheels or tracks, disengaging a treatment mechanism (e.g., a plow), or by attaching accessories like skids, skis, or additional idler wheels. In another example, the wheel or track width of the farming machine is modified. In some embodiments, the farming machine, another farming machine (e.g., a helper machine), or an operator may modify the field portion (e.g., by applying sand, laying skids or boards onto the path, or blasting the area with air.)

The traversability difficulty may be determined while the farming machine is moving towards the portion of the field. However, the traversability difficulty may be determined prior to this. For example, an image sensor (e.g., on a scout, drone, aerial imager, or satellite that is physically separate from the farming machine) captures an image of the field portion of the field and the traversability model is applied to the image (e.g., using cloud processing) prior to the farming machine moving through the field. When it is time to move in the field (e.g., later in the day or on another day), farming action instructions may be provided to the farming machine. Said differently, the traversability difficulty may be determined at a first time and the farming machine may perform the farming action based on the traversability difficulty (and the measure of traversability) at a second time, where the second time can occur at any time after the first time. In some embodiments, if the control system determines a traversability difficulty for one or more portions of the field before the farming machine moves in the field, the control system may determine the route based on the determined traversability difficulties (and the traversability capability of the farming machine).

As stated above, a traversability difficulty for a portion of the field may be determined prior to the farming machine moving through the field portion. However, the traversability difficulty may be determined or updated as the farming machine moves through the field portion. Because the farming machine is closer to the portion of the field, the updated traversability difficulty may be more accurate than the previously determined traversability difficulty. For example, a closer view of a body of moisture results in a more accurate determination of the size of the body, and thus, a more accurate traversability difficulty determination. If a traversability difficulty was previously determined for a portion of the field, the farming machine may move through the portion of the field if the traversability difficulty was not above the traversability capability of the farming machine. Below is an example description of updating the traversability difficulty for a farming machine that is traveling through the field portion. The description is in the context ofFIG.5.

Responsive to the farming machine moving through the field portion, the farming machine accesses a second image of the portion of the field from a second image sensor. The image includes a second group of pixels that indicate an updated moisture level of the portion of the field. The control system applies the traversability model to the second image. The traversability model determines the updated moisture level of the portion of the field using the second group of pixels and determines an updated traversability difficulty for the portion of the field using the updated moisture level. In some embodiments, the control system applies a model (e.g., to images captured by side sensors) to examine a previous field portion (that the farming machine moved through) and a future field portion (e.g., along a route) to determine if there is a difference in moisture or traversability difficulty. Responsive to a difference between the traversability difficulty and the updated traversability difficulty being greater than a threshold, the farming machine performs a second farming action.

The second image sensor may be the same image sensor that captured the first image. Alternatively, it may be a different image sensor. For example, the farming machine includes two image sensors. The first image sensor has a field of view that captures a field portion that the farming machine is moving towards, where images from the first image sensor are used to determine a traversability difficulty for the field portion. The second image sensor has a field of view that captures a current field portion that the farming machine is moving through, where images from the second image sensor are used to determine a traversability difficulty for the current field portion. In some embodiments, the second image sensor is positioned to include a view of the farming machine. For example, the second image sensor captures a view of a wheel of the farming machine in contact with the soil (e.g., to detect the presence of mud build up). In this example, an increase in wheel diameter may indicate the presence of mud build up on the tired and a decrease in wheel diameter may indicate the wheel is slipping. In some embodiments, the second image sensor is positioned to view the field behind the farming machine (e.g., to capture the depth of track marks left by the farming machine).

The updated moisture level and updated traversability difficulty may be determined using one or more factors described with reference to step530. However, now that the farming machine is traveling (or has traveled) through the portion of the field, the farming machine may have access to new data that can additionally or alternatively be used to determine the updated moisture level and updated traversability difficulty. For example, the control system records diagnostic information from one or more diagnostic sensors of the farming machine, where the diagnostic information may indicate an updated moisture level and/or traversability difficulty. For example, a height sensor is mounted to the farming machine at a known height, and information from the height sensor indicates how deep the machine has sunk into the soil. In another example, a hygrometer mounted to the farming machine provides humidity information. In another example, information from a level sensor and/or altimeter may be used to determine the gradient of the field portion. Other example sensors of the farming machine include motion sensors such as inertial measurement units (IMUs) (e.g., to measure cab vibrations of the farming machine), GPS sensors, torque/force sensors, thermal sensors, and draft/load sensors (e.g., on a pin of a chisel plow). Due to the presence of this new data, the traversability model may include a first model to determine the traversability difficulty and a second model to determine the updated traversability difficulty. In some embodiments, if an updated traversability difficulty (or updated moisture level) for a first field portion is significantly different than the traversability difficulty (or moisture level) for the field portion, the updated traversability difficulty may be used to update the traversability difficulty of one or more other field portions. This update may inform route changes for field portions that now exceed a threshold but previously did not.

In addition to the diagnostic information, the control system may use real time operational parameters to determine an updated moisture level and/or traversability difficulty. For example, if the orientation of the farming machine is unresponsive or responds slower than expected to changes in the wheel steering direction, this may indicate an increase in the moisture level and/or traversability difficulty of the field portion. In another example, if the engine/motor power usage is increasing (e.g., due to mud build up), this may indicate an increase in the moisture level and/or traversability difficulty.

Other examples of operational parameters include a gear setting, speed, engine/motor power, engine/motor torque, and engine/motor RPM (revolutions per minute). If the operational parameters are not inherently known, they may be determined using diagnostic information from one or more sensors in the farming machine. For example, the control system determines wheel or track slip of the farming machine. Slip may be determined by comparing diagnostic information from several sensors, such as rotary encoders in the wheels, GPS, and/or ground-facing radar. In another example, the control system monitors control errors. If tracking errors are higher than expected or if the tracking stability is worse than expected (e.g., increased overshoot or settling time), the control system may determine that a field portion includes a higher moisture level and/or traversability difficulty. In some embodiments, the farming machine performs a treatment action, such as spraying something on the soil. Differences in how the spray looks on the soil may provide an indication of a moisture level.

Referring back to the updated traversability difficulty, the control system may compare the previously determined traversability difficulty with the newly determined updated traversability difficulty. If the difference between the traversability difficulty and the updated traversability difficulty is greater than a threshold, this may indicate that the previously determined traversability difficulty was inaccurate. To account for this, the farming machine may perform a second farming action. Similar to the actions described with reference to step540, the second action may be performed to prevent (or reduce the likelihood of) the farming machine attempting to traverse an untraversable field portion. The second action can include any of the actions described with reference to step540.

IV.B Applying the Moisture Model

FIG.7illustrates another method for operating in a field with moisture by a farming machine (e.g., machine100), in accordance with one or more embodiments. The method700may be performed from the perspective of the control system130. The method700can include greater or fewer steps than described herein. Additionally, the steps can be performed in different order, or by different components than described herein.

Similar to step510, a farming machine moves710along a route in a field with moisture.

The control system identifies720a farming action to perform by the farming machine at a portion of the field. The control system may identify the farming action in response to analyzing an image from an image sensor (e.g., sensor210) or analyzing diagnostic information from sensors of the farming machine. The control system may also identify the farming action based on instructions from an operator. For example, an operator may instruct the farming machine to apply a treatment to a crop in the field. Thus, in either case, the farming machine may identify the treatment action in response to identifying a crop in the field. The control system typically identifies the farming action prior to the farming machine moving through the field portion, but it may identify the action as the farming machine is moving through the field portion.

In the context of step720, a farming action is an action the farming machine may perform while in the portion of the field (e.g., while moving through the field portion). Examples of farming actions include performing a treatment action, modifying a treatment parameter, modifying an operational parameter, and modifying a sensor parameter. The identified farming action may be a farming action described with reference step540.

The control system determines730a measure of moisture (also referred to as the moisture level) for a portion of the field by applying a moisture model to an image of the portion of the field.

As described with reference to step520, the image of the portion of the field includes a group of pixels that indicate a measure of moisture of the field portion. One or more image sensors may capture the image. Example image sensors that can capture the image are described with reference to the detection mechanism110. The image sensors may be coupled to the farming machine and oriented to capture the portion of the field.

The moisture model may be independent of the traversability model. As described with reference to step530, the moisture model may determine the measure of moisture by analyzing one or more groups of pixels in the image. For example, visual properties such as texture, reflection, and saturation indicate the presence, location, and amount of moisture. In addition to analyzing pixels of the image, the traversability model may receive non-visual information to determine the moisture level of the portion of the field, such as temperature, humidity, wind, weather data, topography, and soil maps.

The control system determines740a likelihood that the farming machine performing the identified farming action will damage the portion of the field based on the identified action and the determined measure of moisture for the portion of the field.

The likelihood that the farming machine performing the identified farming action will damage the portion of the field may refer to a specific type of damage and/or an amount of damage. An operator of the farming machine may specify the type and amount or they may be predetermined. For example, an operator specifies that they can tolerate an action damaging (or killing) a few plants but do not want an action to damage (or kill) a threshold number of plants. Damage to a plant may be caused by the farming machine running it over, a component of the farming machine hitting it, or mud thrown by the farming machine hitting it. Determining whether a farming action will damage a plant may be based on the type of plant, a growth stage, a size, a location, and/or a planting configuration of the plant. Referring back to specifying the type and amount of damage, in another example, an operator specifies that they can tolerate an action slightly modifying the field but do not want an action to form a new water run-off channel in the field. Additional example types of damage to a portion of the field include damaging a threshold number of rows in the field, changing an irrigation pathway above a threshold amount, enlarging a preexisting water run-off channel above a threshold amount, enlarging a local depression above a threshold amount (this may increase the size of a body in the future), changing the gradient of the field portion above a threshold amount, and compacting the soil above a threshold amount. Another form of damage is unwanted biological consequences stemming from a farming action being performed in the presence of moisture. For example, planting into wet soil may be undesirable. Or applications of certain herbicides may be more/less effective if the crop is wet. In another example, field modifications from ruts can reduce or impact the ability to harvest a crop later.

The control system may use a damage model to determine the likelihood. Generally, a higher level of moisture at the field portion results in a higher likelihood that an action will damage the field portion (and vice versa), however the relationship depends on the action, may not be linear, and may be based on other factors, some of which are further described below. For example, the damage model is a weighted model with a weight for each factor, where each weight indicates, for the determined measure of moisture, how strongly its corresponding factor affects the likelihood. In some embodiments, the relationship between the moisture level, the farming action, and the likelihood is machine learned, for example historical farming action data. Historical farming action data may include farming actions performed at field portions, measures of moisture of the field portions, and damage (if any) that the actions caused to the field portions. Other factors that may affect the likelihood determination include:

(1) The route of the farming machine. The direction of travel through the field portion may affect whether the action damages the field portion. For example, a farming machine performing an action while moving uphill may be more likely to damage the field portion than the farming machine performing the action while moving downhill. In another example, the direction of travel relative to rows in the field or a body of moisture determines whether the action damages the field portion.

(2) Soil type of the field portion. A soil type may affect how the soil responds to the farming action.

(3) The gradient of the field portion. Generally, a higher gradient (e.g., regardless of the route) increases the likelihood the action will damage the field portion while a smaller gradient decreases the likelihood. To determine the gradient, the control system may identify local minimums or maximums in the field portion.

(4) Operational parameters. For example, a farming machine with a higher speed may increase the likelihood of the action damaging the field portion. If the damage model determines the likelihood prior to the farming machine moving through the field portion, the damage model may assume that the operational parameters will remain constant (or within a threshold range) while the farming machine moves through the field portion.

(5) Characteristics of the farming machine. For example, a heavy farming machine may have a high likelihood of compacting the soil and enlarging depressions in the field. Examples characteristics, such as wheel type, wheel size, etc., are described with reference to step540.

In some cases, the likelihood is based on the farming machine performing the identified action in the field portion. These cases may occur if the likelihood of damaging the field is small or if the amount of potential damage is small. In these embodiments, the control system may determine whether the action being performed is damaging the field. For example, the control system analyzes images of the farming machine performing the action.

If the likelihood does not exceed a threshold likelihood (e.g., provided by an operator or predetermined), the farming action may perform the identified action, for example, when the farming machine enters the field portion. However, if the likelihood exceeds the threshold likelihood, the control system performs750a second farming action, where the likelihood that the farming machine performing the second farming action will damage the portion of the field is less than the threshold likelihood.

A farming action in the context of step750is an action performed by the farming machine and intended to prevent or reduce the likelihood of the farming machine damaging the portion of field. The second action may be one or more of the actions described with reference to step720, however the second action is either a different action or a same action that is performed with different parameters (e.g., the second action has a different type of spray or different tilling depth) than the identified action in step720. Depending on the situation, the second farming action may be performed instead of the identified farming action or the second farming action may modify the identified action (e.g., to reduce the likelihood that the identified action will damage the field). In another example, the second farming action nullifies the identified farming action such that the identified farming action is not performed (or no longer performed) by the farming machine. For example, if the control system determines that moisture (e.g., a puddle) will spread a spray treatment applied to a plant (e.g., weed) to another plant (e.g., a crop), the second farming action may cancel the spray treatment action being performed by the farming machine.

As stated above, the control system may determine the measure of moisture and the likelihoods of the first and second actions while the farming machine is moving towards or through the portion of the field. However, the control system may determine one or more of these values prior to this. For example, the control system applies the moisture model to the image of the field portion (e.g., using cloud processing) prior to the farming machine moving through the field. When it is time to move in the field (e.g., later in the day or on another day), farming action instructions may be provided to the farming machine. Said differently, the measure of moisture and the likelihoods of the first and second actions may be determined at a first time and the farming machine may perform the second farming action at a second time, where the second time can occur at any time after the first time.

In some embodiments, as the farming machine gets closer to the field portion or travels through the field portion, it determines an updated likelihood of the identified action damaging the portion of the field. If the updated likelihood is below the threshold likelihood, the farming machine may perform the identified action.

Methods500and700may be performed independently. In some embodiments, the methods are interconnected. For example, the farming action in step540may be the identified action in step720.

IV.C Implementation of Moisture Model

There are several methods to determine a measure of moisture in a captured image. One method of determining moisture information from a captured image is a moisture model that operates on a convex hull optimization model. Another method of determining moisture information from a captured image is a moisture model that operates on a fully convolutional encoder-decoder network. For example, the moisture model can be implemented as functions in a neural network trained to determine moisture information from visual information encoded as pixels in an image. The moisture model may function similarly to a pixelwise semantic segmentation model where the classes for labelling bodies of moisture indicate measures of moisture.

Herein, the encoder-decoder network may be implemented by a control system130as a moisture model805. The control system130can execute the moisture model805to identify moisture associated with pixels in an accessed image800and quickly generate an accurate measure of moisture860. To illustrate,FIG.8is a representation of a moisture model, in accordance with one example embodiment.

In the illustrated embodiment, the moisture model805is a convolutional neural network model with layers of nodes, in which values at nodes of a current layer are a transformation of values at nodes of a previous layer. A transformation in the model805is determined through a set of weights and parameters connecting the current layer and the previous layer. For example, as shown inFIG.8, the example model805includes five layers of nodes: layers810,820,830,840, and850. The control system130applies the function W1to transform from layer810to layer820, applies the function W2to transform from layer820to layer830, applies the function W3to transform from layer830to layer840, and applies the function W4to transform from layer840to layer850. In some examples, the transformation can also be determined through a set of weights and parameters used to transform between previous layers in the model. For example, the transformation W4from layer840to layer850can be based on parameters used to accomplish the transformation W1from layer810to820.

In an example process, the control system130inputs an accessed image800(e.g., the image inFIG.6E) to the model805and encodes the image onto the convolutional layer810. After processing by the control system130, the model805outputs a measure of moisture860decoded from the output layer850. In the identification layer830, the control system130employs the model805to identify moisture information associated with pixels in the accessed image800. The moisture information may be indicative of amounts of moisture at a portion of the field and their locations in the accessed image800. The control system130reduces the dimensionality of the convolutional layer810to that of the identification layer830to identify moisture information in the accessed image pixels, and then increases the dimensionality of the identification layer830to generate a measure of moisture860. In some examples, the moisture model805can group pixels in an accessed image800based on moisture information identified in the identification layer830when generating the measure of moisture860.

As previously described, the control system130encodes an accessed image800to a convolutional layer810. In one example, a captured image is directly encoded to the convolutional layer810because the dimensionality of the convolutional layer810is the same as a pixel dimensionality (e.g., number of pixels) of the accessed image800. In other examples, the captured image can be adjusted such that the pixel dimensionality of the captured image is the same as the dimensionality of the convolutional layer810. For example, the accessed image800may be cropped, reduced, scaled, etc.

The control system130applies the model805to relate an accessed image800in the convolutional layer810to moisture information in the identification layer830. The control system130retrieves relevant information between these elements by applying a set of transformations (e.g., W1, W2, etc.) between the corresponding layers. Continuing with the example fromFIG.8, the convolutional layer810of the model805represents an accessed image800, and identification layer830of the model805represents moisture information encoded in the image. The control system130identifies moisture information corresponding to pixels in an accessed image800by applying the transformations W1and W2to the pixel values of the accessed image800in the space of convolutional layer810. The weights and parameters for the transformations may indicate relationships between the visual information contained in the accessed image and the inherent moisture information encoded in the accessed image800. For example, the weights and parameters can be a quantization of shapes, distances, obscuration, etc. associated with moisture information in an accessed image800. The control system130may learn the weights and parameters using historical user interaction data and labelled images.

In the identification layer830, the control system maps pixels in the image to associated moisture information based on the latent information about the objects represented by the visual information in the captured image. The identified moisture information can be used to generate a measure of moisture860. To generate a measure of moisture860, the control system130employs the model805and applies the transformations W3and W4to the moisture information identified in identification layer830. The transformations result in a set of nodes in the output layer850. The weights and parameters for the transformations may indicate relationships between the image pixels in the accessed image800and a measure of moisture860. In some cases, the control system130directly outputs a measure of moisture860from the nodes of the output layer850, while in other cases the control system130decodes the nodes of the output layer850into a measure of moisture860. That is, model805can include a conversion layer (not illustrated) that converts the output layer850to a measure of moisture860.

The weights and parameters for the moisture model805can be collected and trained, for example, using data collected from previously captured visual images and a labeling process. The labeling process increases the accuracy and reduces the amount of time required by the control system130employing the model805to identify moisture information associated with pixels in an image.

Additionally, the model805can include layers known as intermediate layers. Intermediate layers are those that do not correspond to convolutional layer110for the accessed image800, the identification layer830for the moisture information, and an output layer850for the measure of moisture860. For example, as shown inFIG.8, layers820are intermediate encoder layers between the convolutional layer810and the identification layer830. Layer840is an intermediate decoder layer between the identification layer830and the output layer850. Hidden layers are latent representations of different aspects of an accessed image that are not observed in the data but may govern the relationships between the elements of an image when identifying a measure of moisture associated with pixels in an image. For example, a node in the hidden layer may have strong connections (e.g., large weight values) to input values and values of nodes in an identification layer that share the commonality of moisture information. Specifically, in the example model ofFIG.8, nodes of the hidden layers820and840can link inherent visual information in the accessed image800that share common characteristics to help determine moisture information for one or more pixels.

Additionally, each intermediate layer may be a combination of functions such as, for example, residual blocks, convolutional layers, pooling operations, skip connections, concatenations, etc. Any number of intermediate encoder layers820can function to reduce the convolutional layer to the identification layer and any number of intermediate decoder layers840can function to increase the identification layer830to the output layer850. Alternatively stated, the encoder intermediate layers reduce the pixel dimensionality to the moisture identification dimensionality, and the decoder intermediate layers increase the identification dimensionality to the measure of moisture dimensionality.

Furthermore, in various embodiments, the functions of the model805can reduce the accessed image800and identify any number of objects in a field. The identified objects are represented in the identification layer830as a data structure having the identification dimensionality. In various other embodiments, the identification layer can identify latent information representing other objects in the accessed image. For example, the identification layer830can identify a result of a plant treatment, soil, an obstruction, or any other object in the field.

Other models described herein, such as the traversability model and the damage model, may also be encoder-decoder networks similar to the moisture model805illustrated inFIG.8. That is, an encoder-decoder network may be used to extract a traversability difficulty of a field portion, or an expected damage of a action for the field portion. In some cases, one encoder can be used for multiple decoders. For example, a single image can be encoded onto a convolutional neural network and the traversability, moisture, and damage expectations may be extracted from that image.

IV.D Training a Moisture Model

The control system130or another entity may train the moisture model (e.g., moisture model334). For example, the moisture model is trained using a plurality of the labelled images of one or more field portions. The labels in the images may indicate pixels with moisture information. The labels may be designated by an operator or labeled by someone offsite. In addition to labeling an image, non-visual information, such as temperature, humidity, wind, weather data (e.g., historical rainfall), topography, and a soil map, may be associated with the labeled images and used by the control system130to train the moisture model.

As described above, training the moisture model generates functions that are able to identify latent information in an image that corresponds to moisture information. The control system130may train the moisture model using the labelled images such that the moisture model tags a captured image with one or more measures of moisture. This approach allows the farming machine to determine a measure of moisture for a field portion.

The control system130can train the moisture model periodically during operation of the farming machine, at a determined time, or before the moisture model is implemented on a farming machine. Additionally, the moisture model can be trained by another system such that the moisture model can be implemented on a control system of a farming machine as a standalone model. Notably, in some examples, the aspect of the control system130that trains the moisture model may not be collocated on the farming machine. That is, the moisture model may be trained on a machine separate from the farming machine100and transferred to the farming machine.

Other models described herein, such as the traversability model and the damage model, may also be trained similar to the moisture model. That is, a labeling process may be used to train the traversability model or the damage model. For example, the traversability model is trained using images that are labelled with moisture information and additional factor information, such as soil information, gradient information, and a depth of track marks in the images.

V. Control System

FIG.9is a block diagram illustrating components of an example machine for reading and executing instructions from a machine-readable medium. Specifically,FIG.9shows a diagrammatic representation of control system130in the example form of a computer system900. The computer system900can be used to execute instructions924(e.g., program code or software) for causing the machine to perform any one or more of the methodologies (or processes) described herein. In alternative embodiments, the machine operates as a standalone device or a connected (e.g., networked) device that connects to other machines. In a networked deployment, the machine may operate in the capacity of a server machine or a client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.

The example computer system900includes one or more processing units (generally processor902). The processor902is, for example, a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), a control system, a state machine, one or more application specific integrated circuits (ASICs), one or more radio-frequency integrated circuits (RFICs), or any combination of these. The computer system900also includes a main memory904. The computer system may include a storage unit916. The processor902, memory904, and the storage unit916communicate via a bus908.

In addition, the computer system900can include a static memory906, a graphics display910(e.g., to drive a plasma display panel (PDP), a liquid crystal display (LCD), or a projector). The computer system900may also include alphanumeric input device912(e.g., a keyboard), a cursor control device914(e.g., a mouse, a trackball, a joystick, a motion sensor, or other pointing instrument), a signal generation device918(e.g., a speaker), and a network interface device920, which also are configured to communicate via the bus908.

The storage unit916includes a machine-readable medium922on which is stored instructions924(e.g., software) embodying any one or more of the methodologies or functions described herein. For example, the instructions924may include the functionalities of modules of the system130described inFIG.2. The instructions924may also reside, completely or at least partially, within the main memory904or within the processor902(e.g., within a processor's cache memory) during execution thereof by the computer system900, the main memory904and the processor902also constituting machine-readable media. The instructions924may be transmitted or received over a network926via the network interface device920.

VI. Additional Considerations

In the description above, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the illustrated system and its operations. It will be apparent, however, to one skilled in the art that the system can be operated without these specific details. In other instances, structures and devices are shown in block diagram form in order to avoid obscuring the system.

Some portions of the detailed descriptions are presented in terms of algorithms or models and symbolic representations of operations on data bits within a computer memory. An algorithm is here, and generally, conceived to be steps leading to a desired result. The steps are those requiring physical transformations or manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

Some of the operations described herein are performed by a computer physically mounted within a machine. This computer may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of non-transitory computer readable storage medium suitable for storing electronic instructions.

The figures and the description above relate to various embodiments by way of illustration only. It should be noted that from the following discussion, alternative embodiments of the structures and methods disclosed herein will be readily recognized as viable alternatives that may be employed without departing from the principles of what is claimed.

Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a system and a process for identifying and treating plants with a farming machine including a control system executing a semantic segmentation model. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the disclosed embodiments are not limited to the precise construction and components disclosed herein. Various modifications, changes and variations, which will be apparent to those, skilled in the art, may be made in the arrangement, operation and details of the method and apparatus disclosed herein without departing from the spirit and scope defined in the appended claims.