# Patent

## Title
Method and system for vehicular guidance using a crop image

## Abstract

The method and system for vehicular guidance comprises an imaging device for collecting color image data to facilitate distinguishing crop image data (e.g., crop rows) from background data. A definer defines a series of scan line segments generally perpendicular to a transverse axis of the vehicle or of the imaging device. An intensity evaluator determines scan line intensity data for each of the scan line segments. An alignment detector (e.g., search engine) identifies a preferential heading of the vehicle that is generally aligned with respect to a crop feature, associated with the crop image data, based on the determined scan line intensity meeting or exceeding a maximum value or minimum threshold value.

## Background
This document (including all drawings) claims priority based on U.S. provisional application Ser. No. 60/696,364, filed Jul. 1, 2005, and entitled, METHOD AND SYSTEM FOR VEHICULAR GUIDANCE USING A CROP IMAGE under 35 U.S.C. 119(e).


FIELD OF THE INVENTION
This invention relates to a method and system for vehicular guidance using a crop image.
BACKGROUND OF THE INVENTION
A vision system may attempt to infer the relative position of a vehicle with respect to a crop image (e.g., crop rows or crop cut/uncut edge). However, background art vision systems may require excessive computational resources or tend to respond too slowly for real-time navigation of a vehicle. Further, vision systems may be inaccurate because of variations or discontinuities in the crop rows or crop cut/uncut edge. Therefore, a need exists for a robust vision system for vehicle guidance that is less computationally demanding, more responsive, and more resistant to guidance errors associated with variations in the crop.
SUMMARY OF THE INVENTION
The method and system for vehicular guidance comprises an imaging device for collecting color image data to facilitate distinguishing crop image data (e.g., crop rows) from background data. A definer defines a series of scan line segments generally perpendicular to a transverse axis of the vehicle or of the imaging device. An intensity evaluator determines scan line intensity data for each of the scan line segments. An alignment detector (e.g., search engine) identifies a preferential heading of the vehicle that is generally aligned with respect to a crop feature, associated with the crop image data, based on the determined scan line intensity meeting or exceeding a maximum value or minimum threshold value.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of one embodiment of a system for vehicular guidance.
FIG. 2 is a block diagram of another embodiment of a system for vehicular guidance.
FIG. 3 is a flow chart of first embodiment of a method for guiding a vehicle using a crop image data (e.g., crop row data).
FIG. 4 is a flow chart of a second embodiment of a method for guiding a vehicle using a crop image data.
FIG. 5 is a flow chart of a third embodiment of a method for guiding a vehicle using a crop image data.
FIG. 6 is a flow chart of a fourth embodiment of a method for guiding a vehicle using a crop image data.
FIG. 7 is a flow chart of a first embodiment of a method for determining reliability of vision data for guiding a vehicle.
FIG. 8 is a flow chart of a second embodiment of a method for determining reliability of vision data for guiding a vehicle.
FIG. 9 is a flow chart of a third embodiment of a method for determining reliability of vision data for guiding a vehicle.
FIG. 10A and FIG. 10B are a flow chart of a fourth embodiment of a method for determining reliability of vision data for guiding a vehicle.
FIG. 11A is an illustrative example of an original crop image.
FIG. 11B is an illustrative example of a segmented image derived from the original crop image of FIG. 11A.
FIG. 12A shows a first orientation of the scan lines with respect to crop rows, where the scan lines extend generally perpendicularly from a reference axis (e.g., x axis) associated with the system for vehicular guidance.
FIG. 12B shows a second orientation of the scan lines with respect to crop rows.
FIG. 12C shows a third orientation of the scan lines with respect to crop rows.
FIG. 13A is a three dimensional representation of intensity variation associated with an image of a crop row.
FIG. 13B shows an average intensity variation versus yaw, which represents a profile of the three dimensional representation of FIG. 13A.
FIG. 13C shows another average intensity variation versus yaw, which represents a profile of the three dimensional representation of FIG. 13A.
FIG. 13D shows scan lines overlaid on a segmented image with row position.
FIG. 14 shows a diagram that illustrates the relationship between the camera coordinate system and the real world coordinate system.
FIG. 15 is a block diagram of yet another embodiment of a system for vehicular guidance.



DESCRIPTION OF THE PREFERRED EMBODIMENT
In accordance with one embodiment of the invention, FIG. 1 shows a vehicular guidance system 11 that comprises an imaging device 10 coupled to a data processor 12. The data processor 12 communicates with a vehicle guidance controller 22. In turn, the vehicle guidance controller 22 directly or indirectly communicates with a steering system 24.
The imaging device 10 is used to collect one or more images from the perspective of a vehicle. The image may contain crop image data, background data, or both. The crop image data may contain one or more crop rows, a harvested swath, a transition between a cut crop and uncut crop, a transition between a harvested and unharvested crop, a crop edge, or another crop reference feature. The data processor 12 may process the collected images to identify the relative position of a vehicle with respect to the crop reference feature (e.g., crop rows).
The imaging device 10 may comprise a camera using a charged-coupled device (CCD), a complementary metal oxide semiconductor (CMOS), or another sensor that generates color image data, RGB color data, CMYK color data, HSV color data, or image data in other color space. RGB color data refers to a color model in which red, green and blue light (or signals or data representative thereof) are combined to represent other colors. Each pixel or group of pixels of the collected image data may be associated with an intensity level (e.g., intensity level data) or a corresponding pixel value or aggregate pixel value. In one embodiment, the intensity level is a measure of the amount of visible light energy, infra-red radiation, near-infra-red radiation, ultraviolet radiation, or other electromagnetic radiation observed, reflected and/or emitted from one or more objects or any portion of one or more objects within a scene or within an image (e.g., a raw or processed image) representing the scene, or portion thereof.
The intensity level may be associated with or derived from one or more of the following: an intensity level of a red component, green component, or blue component in RGB color space; an intensity level of multiple components in RGB color space, a value or brightness in the HSV color space; a lightness or luminance in the HSL color space; an intensity, magnitude, or power of observed or reflected light in the green visible light spectrum or for another plant color; an intensity, magnitude, or power of observed or reflected light with certain green hue value or another plant color; and an intensity, magnitude, or power of observed or reflected light in multiple spectrums (e.g., green light and infra-red or near infra-red light). For RGB color data, each pixel may be represented by independent values of red, green and blue components and corresponding intensity level data. CMYK color data mixes cyan, magenta, yellow and black (or signals or data representative thereof) to subtractively form other colors. HSV (hue, saturation, value) color data defines color space in terms of the hue (e.g., color type), saturation (e.g., vibrancy or purity of color), and value (e.g., brightness of the color). For HSV color data, the value or brightness of the color may represent the intensity level. HSL color data defines color space in terms of the hue, saturation, and luminance (e.g., lightness). Lightness or luminance may cover the entire range between black to white for HSL color data. The intensity level may be associated with a particular color, such as green, or a particular shade or hue within the visible light spectrum associated with green, or other visible colors, infra-red radiation, near-infra-red radiation, or ultraviolet radiation associated with plant life.
Although other imaging devices may be used, one illustrative example of an imaging device 10 is a SONY DFW-X710 camera (SONY Electronics Inc., Park Ridge, N.J.). The imaging device 10 may be associated with a transverse axis and may be associated with scan lines of the image data that extend generally perpendicular to the transverse axis.
The scan lines represent a group of generally parallel line segments which may extend into the depth of the world coordinate system with respect to the imaging device 10. Each scan line segment is separated from an adjacent scan line segment by a spatial separation (e.g., predetermined spatial separation). In one embodiment, the scan line segments are generally bounded by a rectangle search region (e.g., which may be defined in terms of Xmin, Xmax, Ymin, Ymax); the length of scan line segment is limited by the depth dimension (Ymin, Ymax) in the world space. Further, in one embodiment each scan line may be represented as a two-dimensional array of pixel values or intensity levels.
The scan lines are not transmitted by the imaging device 10, but are received by the imaging device 10 within at least one of the visible light spectrum, the infra-red light spectrum, the near infra-red light spectrum, and the ultraviolet light spectrum. If the imaging device 10 collects data over both the visible light spectrum and the infra-red spectrum, it is possible to assess the crop color in greater detail than with visible light alone. Although the maximum number of scan lines may be determined based on the maximum resolution of the imaging device 10, in one illustrative configuration, the number of scan lines may be reduced from the maximum number available to reduce the processing resources or computational resources required by the data processor 12.
In one embodiment, the data processor 12 comprises a discriminator 19, a definer 14, an intensity evaluator 16, an alignment detector 18 (e.g., search engine), and an offset calculator 21. The discriminator 19 facilitates distinguishing crop image data (e.g., crop rows) from background image data. The crop rows in crop image data may comprise any crop or plant that is arranged in rows, such as corn, soybeans, cotton, or the like. The background image data may comprise the ground, soil, vegetation other than the crop rows, the sky or horizon, buildings, vehicles, among other possibilities. The discriminator 19 facilitates distinguishing a primary color (e.g., green or another plant color) of the crop image data (e.g., crop rows) with respect to a secondary color or colors (e.g., earth tones or non-green colors) of the background image data. The discrimination may assign a discrimination value to each pixel of the image data, a corresponding bit map, or another data representation. Each discrimination value indicates whether a bit is crop image data or not, or a probability indicative of whether or not a bit is crop image data.
The definer 14 may define the orientation and configuration of scan lines with respect to the vehicle. The definer 14 may relate the imaging coordinates of the scene with the vehicular coordinates of scene or real world coordinates. If the imaging device 10 is mounted in a fixed position with respect to the vehicle, the vehicular coordinates of the scene and the imaging device 10 may be related by a translation and rotation in two or three dimensions.
An intensity evaluator 16 determines the intensity level of various points that lie on or along the scan lines in the collected image data. The intensity level may be indicated by the value of pixels or voxels associated with crop image data in HSV color space, by the green intensity level of pixels or voxels in RGB color space, or by another measure of pixel intensity.
For each scan line segment on the image space, an average value or mean value of scan line intensity (or pixel values) may be used as the intensity level (or pixel level). The intensity evaluator 16 determines an average value or mean value for the intensity level or pixel level by summing substantially all (or most) of the pixel values (e.g., derived from intensity level) that are on the scan line segment and dividing the sum by the number of pixels associated with a scan line segment, or an estimate thereof. The scan line segment may have two or more states or values for each pixel (e.g., sufficient intensity level versus insufficient intensity level). Because of the perspective view of the scan lines, the fixed length (which may be expressed as the difference between Ymax and Ymin), when projected to the image space no longer appears to be fixed. Accordingly, the mean or average value of the scan line intensity level or pixel level represents an objective score of a scan line intensity in image space that is not affected by any potential perceived change in the fixed length of the scan lines from a perspective view.
The alignment detector 18 determines whether or not the vehicle heading is aligned with the crop rows. The scan line segments may be virtually projected onto or into the image space based on hypothesized attitude (e.g., yaw, pitch, and roll angles) in two or more dimensions within a search space to determine a preferential attitude in (e.g., yaw, pitch, and roll angle) in two or more dimensions that indicates substantial alignment of the scan lines with crop rows, crop beds, spatial planting arrangements of crops, or other crop features, for example. In one example, the alignment detector 18 comprises a search engine for searching the intensity level data for a maximum intensity level or sufficiently high intensity level that corresponds to a desired heading of the vehicle. Respective intensity level data may be associated with a corresponding scan line or a corresponding segment thereof. The scan lines may be identified by scan line identifier or spatial coordinates, either in the image space of the imaging device 10 or real world. The intensity level data may be defined as an aggregate intensity level associated with a corresponding segment of a scan line or the average, mean or mode intensity level of a corresponding segment of a scan line may be tracked.
The alignment detector 18 or data processor determines a preferential heading, a vehicular offset, or both for the vehicle. The preferential heading angle is the angle between the vehicle centerline and the desired path. The desired path may be associated with a tire, wheel, or track of the vehicle traveling in or over the ground or area between adjacent crop rows and generally parallel to the crop rows. The vehicular offset refers to the displacement or distance the vehicle is off from the desired path of a vehicle. For instance, the vehicular offset may refer to the displacement of a reference point on the vehicle (e.g., vehicle COG (center of gravity)) with respect to the desired path. The vehicular offset of the vehicle with respect to the crop image data is generally much smaller than the lateral view range of the imaging device 10. For example, one typical row spacing for soybean or corn is 76 cm (30 inches), although other spacings are possible and fall under the scope of the invention. If the vehicle is laterally shifted one row, the guidance information after such shift will be about the same as that before shifting.
In one configuration, the alignment detector 18 determines a preferential heading angle for a time interval and the offset calculator 21 determines a corresponding vehicular offset for time interval or a generally overlapping time interval. The vision guidance system 11 may be used to infer the relative position of the vehicle with respect to a crop feature, such as crop rows, a tillage ridge, or a crop cut/uncut edge. In addition, the vision guidance system 11 may be configured to detect the end of the row, to detect obstacles, or to detect weed infested areas.
The vehicle guidance controller 22 may determine guidance parameters for the vehicle based on the preferential heading, the vehicular offset, or both. The guidance parameters may comprise control signals, error signals, control data, error data messages, or the like that contain information on the preferential heading angle and vehicular offset to control steering. For example, the control signals may comprise a steering control signal or data message that is time dependent and defines a steering angle of the steering shaft.
The vehicle guidance controller 22 uses the guidance parameters or directrix to control the steering system 24. For example, the guidance parameters may direct the vehicle generally parallel to crop rows, a crop edge, or another crop feature.
The steering system 24 may comprise an electrically controlled hydraulic steering system, an electrically driven rack-and-pinion steering, an Ackerman steering system, or another steering system. The steering system 24 may actuate an electro-hydraulic (E/H) unit or another actuator to turn one or more wheels.
The vehicular guidance system 111 of FIG. 2 is similar to the vehicular guidance system 11 of FIG. 1, except the vehicular guidance system of FIG. 2 further comprises an image segmenter 20 and a reliability estimator 23. The discriminator 19 may cooperate with the image segmenter 20 to produce a segmented image. The image segmenter 20 may remove or filter information from the color collected image data to produce a grey-scale, mono-chrome, color, HSV or other segmented image data that excludes background data or all scene data outside of the crop rows or crop image data. For example, the segmented image data may be expressed as binary image data, where a pixel value may have one of two states (e.g., sufficient intensity value or insufficient intensity value).
The reliability estimator 23 estimates a reliability of the preferential vehicle heading based on compliance with an intensity level criteria associated with one or more crop rows of crop image data. The reliability estimator 23 may use one or more of the following factors to determine whether or not a preferential heading derived from vision data is sufficiently reliable for guidance of a machine during a time interval or period: (1) whether the intensity value (e.g., a first intensity value) of a first crop row differs from the intensity value (e.g., a second intensity value) of a second crop row by more than a minimum threshold; (2) whether the spacing between a first crop row and a second crop row falls within a defined row width range; (3) whether a maximum intensity value of the first crop row and the second crop row is greater than a certain threshold value; and (4) whether the intensity value (e.g., designated a first intensity value) of a first crop row and the intensity value (e.g., second intensity value) of a second crop row are individually or collectively less than a corresponding predetermined threshold. The reliability estimator 23 may use one or more of the following factors to determine whether or not a vehicular offset derived from vision data is sufficiently reliable for guidance of a machine during a time interval or period: (1) whether the determined offset is less than or equal to a maximum offset value; and (2) whether the determined offset is less than or equal to a spacing between adjacent rows.
FIG. 3 shows a method for guiding a vehicle using crop image data (e.g., crop rows). The method of FIG. 3 begins in step S100.
In step S100, the imaging device 10 collects color image data to distinguish crop image data (e.g., crop row data) from background data. The crop image data or crop row data may be characterized by its green color content (e.g., green visible light or NDVI (normalized difference vegetation index)), whereas the background data may be characterized by other color content, such as soil colors, brown, black, grayish black, red-brown, earth-tones, or sky color. The NDVI is an index that facilitates comparing vegetation greenness between different images or different portions of the same image. NDVI may be determined in accordance with the following equation: NDVI=(INIR−IR)/(INIR+IR), where INIR is the intensity of reflection in near-infrared frequency band, and IR is intensity of reflection in red color frequency band of visible light. INIR may be expressed as a percentage of the reflected radiation in the infra-red frequency band with respect to incident infra-red radiation; IR may be expressed as a percentage of the reflected radiation in the red frequency band of visible light. NDVI values typically range between 0.1 and 0.7. Higher index values may be associated with higher probability or likelihood of a pixel or image portion being green or vegetation. FIG. 11A provides an illustrative example of the collected color image data, which will be described later in more detail.
Where the color image data comprises RGB data or is convertible into RGB data, step S100 may be carried out in the following manner. During the growing season, the crop rows (e.g., corn plants) appear green while the background (e.g., soil) appears generally dark brown, generally black, non-green, or another reference soil color. Therefore, the relative or absolute greenness of the objects in the image data may be used as the segmentation or discrimination criteria.
The green-red difference (Dg−r) may be defined as Dg−r=G−R. The green-blue difference (Dg−b) may be defined as Dg−b=G−B, where R,G,B are the pixel's red, green and blue component, respectively. If a particular pixel's Dg−r is greater than a first threshold value and if the particular pixel's Dg−b is greater than a second threshold value in the collected image data, then that particular pixel is classified as a crop image pixel (e.g., crop row pixel). Otherwise, that particular pixel is classified as background data (e.g., soil). The first threshold value may be established by field tests, empirical studies or otherwise. Similarly, the second threshold value may be established by field tests, empirical studies, or otherwise. FIG. 11B shows an illustrative example of a segmented image that is derived from the output of the discriminator 19 or the collected color image of FIG. 11A.
In step S102, a definer 14 or data processor 12 defines a series of scan line segments generally perpendicular to a transverse axis of the vehicle or to an imaging transverse axis of an imaging device 10. For example, the scan lines project out from the front of the vehicle in a direction of travel toward crop rows. The definer 14 or data processor 12 may align an imaging coordinate system of the scene with a vehicle coordinate system of the scene.
In step S104, an intensity evaluator 16 determines scan line intensity data for each of the scan line segments with respect to corresponding crop image data (e.g., crop rows). Step S104 may be carried out in accordance with various techniques that may be applied independently or cumulatively.
Under a first technique, the intensity evaluator 16 determines an average or mean scan line intensity for a corresponding segment of a scan line associated with the collected image data. The intensity evaluator 16 may determine the average or mean scan line intensity for each scan line or segment that is in the field of view or a certain group of scan lines in the vicinity of a crop feature.
Under a second technique, the intensity evaluator 16 determines a mode scan line intensity for a corresponding segment of a scan line. The intensity evaluator 16 may determine the mode scan line intensity for each scan line (or segment) that is in the field of view or a certain group of scan lines in the vicinity of a crop feature of interest.
Under a third example, the intensity evaluator 16 determines an aggregate scan line intensity for a corresponding segment of a scan line. Here, the intensity evaluator 16 may determine a sum of the intensity values associated with each pixel or voxel along a scan line or generally intercepting it.
In step S106, an alignment detector 18 (e.g., search engine) identifies a preferential heading of the vehicle that is generally aligned with respect to a crop feature (e.g., crop rows), associated with the crop image data, based on the determined scan line intensity meeting or exceeding a maximum value or minimum threshold value. The maximum value may comprise a reference value that is associated with a first reliability level (e.g., 99 percent reliability or probability) of identifying a maximum intensity level (or sufficiently high intensity level indicative of substantial alignment with a crop feature) of a scan line or group of pixels in the image data under defined ambient light conditions. The minimum threshold value may comprise a reference value that is associated with a second reliability level (e.g., 95 percent reliability or probability) in identifying a maximum intensity level (or sufficiently high intensity level indicative of substantial alignment with a crop feature) of a scan line or group of pixels in the image data under defined ambient light conditions, where the second reliability level is lower than the first reliability level. The maximum value and the minimal threshold value may be determined by empirical studies, trial-and-error, field tests, or otherwise, and may vary with the type of vegetation (e.g., corn versus soybeans), vegetation status or health (e.g., plant tissue nitrogen level) and the ambient lighting conditions, for instance. The preferential heading comprises a desired heading of the vehicle consistent with a desired path of travel of the vehicle. If the vehicle is in a generally aligned state with respect to a crop feature, a vehicle may track a desired path that is generally parallel to a crop row as a determined crop feature or a crop edge. A crop edge represents a transition between a harvested crop and an unharvested crop.
In one example of carrying out step S106, the alignment detector 18 may comprise a judging function to search candidate vehicle headings (e.g., candidate heading angles) to select the preferential heading based on intensity variations among a series of parallel scan lines. For example, the judging function may use one or more derivatives of the intensity level of a corresponding scan line segment, an average of the derivatives of intensity level of a corresponding scan line segment, a sum of derivatives, or another score to compare a set of scan line segments for corresponding hypothesized attitudes (e.g., a set of hypothesized attitude yaw, pitch and roll angles). Each derivative of the intensity level of a scan line segment may be associated with a different orientation or attitude of the scan line segment. Multiple derivatives or scores may be determined for different orientations or hypothesized attitudes (or ranges of attitudes) of each scan line segment over the entire transverse axis range or X-axis range (e.g., from Xmin to Xmax) with respect to a vehicle's direction of travel. Each score gives a measure or indicator as to which set of hypothesized attitude (or set yaw, roll and pitch angles) constitutes a preferential attitude (or preferential set of yaw, roll and pitch angles) for alignment of the scan line segments with the crop image data or a crop feature (e.g., crop rows). If a derivative meets or exceeds a threshold, or if a sum of derivatives of the intensity level meets or exceeds a threshold, or if another score for a scan line meets or exceeds a threshold, the scan lines may be regarded as generally aligned or registered with the crop image data (e.g., the crop rows as shown in FIG. 12B). In an alternative embodiment, the judging function might use another measure of alignment such as the peaks or local amplitude variation associated with the scan line intensity to align the scan line segments with the crop rows or crop image data. The alignment detector 18 or data processor 12 may calculate the vehicular offset after the preferential heading (e.g., desired heading angle) is found, consistent with the preferential alignment of the scan line segments with the crop image data (e.g., crop rows).
In step S106, the alignment detector 18 may comprise a search engine that applies a heading searching algorithm to search Nφ yaw angles and Nω pitch angles. For each (yaw angle, pitch angle) combination, there may be Nx scan lines with N(φ,x) points. The summation of pixel's intensity value on a scan line (or segment thereof) may be used as a value for the intensity of a corresponding scan line. The total possible search space to determine the preferential heading for a given image data is thus approximately Nφ×Nω×Nx×N(φ,x). The yaw angle may have a first angular range (e.g., 30 degrees) and a first step size; the pitch angles may have a second angular range (e.g., 2 degrees) and a second step size. The search engine or alignment detector 18 may confine the search to a lateral search range covering the width of at least two rows. To increase the throughput of the data processor 12 or decrease the requisite processing resources, the first angular range and the second angular range may be decreased, or the step size may be increased with an accompanying loss of resolution or the field of view. Such decreases in the first angular range, the second angular range, and the step size may not be necessary if multi-processor configurations or multi-core processors are used for the data processor 12.
The method of FIG. 4 is similar to the method of FIG. 3 except the method of FIG. 4 adds step S101 after step S100. Like reference numbers in FIG. 3 and FIG. 4 indicate like steps or procedures.
In step S101, a data processor 12 or image segmenter 20 derives a segmented image of crop rows from the collected color image data. The image segmenter 20 may remove or filter information from the color collected image data to produce a grey-scale, mono-chrome, color, segmented image data, or other image data that excludes background data or all scene data outside of the crop rows or crop image data. In one example, the segmented image data may comprise a multi-state representation, a binary state representation (e.g., plant pixel versus a non-plant pixel), or an array of pixels.
In an alternate embodiment or in accordance with the previous method of FIG. 1, step S101 may be omitted and a grey scale image may be used instead of the segmented image.
The method of FIG. 5 is similar to the method of FIG. 3, except the method of FIG. 5 replaces step S106 with step S108.
In step S108, an alignment detector 18 or a search engine searches the determined scan line intensity data to identify or estimate a preferential heading of the vehicle that is generally aligned with respect to a crop feature (e.g., a crop row), associated with the crop image data. The preferential heading is selected from candidate headings based on an evaluation of the determined scan line intensity (for corresponding candidate headings) meeting or exceeding maximum value or minimum threshold value. If the vehicle heading coincides with the crop row contour (e.g., a generally linear contour) and if the offset is minimal, the vehicle heading is generally aligned. Step S108 may be accomplished in accordance with various procedures, which may be applied independently or collectively.
Under a first procedure, the alignment detector 18 or search engine searches the determined scan line intensity among corresponding candidate headings to identify a scan line intensity data that is greater than a minimum threshold scan line intensity data. The alignment detector 18 or search engine may record a preferential attitude (or preferential attitude range) of the identified scan line or scan lines that are generally aligned with crop features (e.g., plant rows), consistent with the scan line intensity meeting or exceeding the minimum threshold scan line intensity.
Under a second procedure, the alignment detector 18 or search engine searches the determined scan line intensity among corresponding candidate headings to identify a maximum value of a scan line intensity data. The alignment detector 18 or search engine may record a preferential attitude (or preferential attitude range) of the identified scan line or scan lines that are generally aligned with crop features (e.g., plant rows), consistent with the scan line intensity meeting or exceeding the maximum scan line intensity.
Under a third procedure, the alignment detector 18 or search engine searches the determined scan line intensity to identify a maximum change in the value of scan line intensity data (or maximum derivative associated with the scan line intensity data). The maximum derivative or maximum change in the value of scan line intensity data may provide a general estimate of the maximum scan line intensity. The maximum derivative or maximum change in the value of the scan line intensity is generally locally associated with the maximum scan line intensity. The alignment detector 18 or search engine may record a preferential attitude (or preferential attitude range) of the scan line or scan lines that are generally aligned with crop features (e.g., plant rows), consistent with the identified maximum derivative or maximum change.
The method of FIG. 6 is similar to the method of FIG. 3, except the method of FIG. 6 adds step S109.
In step S109, the data processor 12 or offset calculator 21 determines the vehicle offset (e.g., steering error control signal) with respect to the crop rows and the preferential heading. After the preferential heading is found, the scan lines will follow or track alignment with the crop rows provided the crop rows are generally linear or straight and approximately equally spaced. The offset calculator 21 reduces or eliminates lateral offset of the vehicle with respect to the crop rows, among other things, such that the vehicle has a desired spatial orientation with respect to the crop rows. For example, a desired spatial orientation may mean the vehicle tire, wheels, or tracks are aligned to travel over designated traffic path areas between plant rows to avoid physical damage, stress or injury to adjacent plants.
The method of FIG. 7 provides a procedure for determining whether the vision guidance data produced by the vision guidance system (11 or 111) is reliable. For example, the method of FIG. 7 may be applied to visional guidance system or method disclosed herein to determine whether or not the preferential heading, and vehicle offset, or other control signals (derived from either or both) are sufficiently reliable.
In step S700, a data processor 12 or discriminator 19 detects a first crop row and a second crop row spaced apart from the first crop row. First, the image data is collected for scene that includes the first crop row and the second crop row. Second, a filtered representation of the crop rows in the image is formed from the collected scene by color differentiation, hue differentiation, or another filtering technique. The pixels or voxels within the collected image that are representative of background information, as opposed to crop information may be rejected, screened out, or masked, whereas the pixels within the collected image that are representative of crop information are preserved, exposed, included, or identified by or in the filtered representation. Third, a pattern recognition scheme or other data processing scheme is used to identify or otherwise recognize the shapes of crop rows. For example, the filtered data is aligned with at least two generally linear masks (e.g., generally parallel linear masks) such that each generally linear mask intercepts, overlaps, or is otherwise aligned with (e.g., adjacently bordering or touching an edge of crop rows within the filtered representation) the filtered data in the filtered representation. If required, the separation between the generally linear masks may be determined at one or more points as a proxy or estimate of the separation between the crop rows.
In step S702, the data processor 12 or intensity evaluator 16 determines a first intensity value associated with the first crop row and a second intensity value associated with the second crop row.
In step S706, the data processor 12 or the intensity evaluator 16 determines whether the first intensity value differs from the second intensity value by more than a minimum threshold. If the first intensity value differs by the second intensity value by more than a minimum threshold (e.g., 50% or 3 dB), then the method continues with step S708. However, if the first intensity value does not differ from the second intensity value by more than a minimum threshold, then the method continues with step S710.
In step S708, the data processor 12 may determine that the vision guidance data is considered unreliable at least for a time period. For example, the first crop row or the second crop row may be missing, damaged, discontinuous, wind-damaged, harvested, or otherwise, which causes the first intensity to differ from the second intensity by more than a minimum threshold.
In step S710, the data processor 12 may determine a spacing between the first crop row and the second crop row. For example, the data processor 12 may translate the image data coordinates into real world coordinates to determine the real world spacing between the first crop row and the second crop row. In one configuration, the data processor 12 determines the spacing or separation between the generally linear masks (described more fully in step S700) at one or more points as a proxy or estimate of the separation between the crop rows.
In step S712, a data processor 12 determines whether or not a spacing falls within a defined row width range. The spacing may also be referred to as the row spacing, row width, or crop width. The spacing is generally a constant value (typically 76 cm or 30 inches, for corn and soybean) that depends upon the type of crop, the configuration or setting of the planting equipment, or both. If the spacing is not in a defined row width range (e.g., of 51 to 102 cm which is equivalent to the range of 20 to 40 inches), the vision guidance data is considered unreliable for at least a minimum time period. If the spacing does not fall within a defined row range, the method continues with step S714. However, if the spacing falls within a defined row range, the method continues with step S716.
In step S714, the vision guidance data is considered unreliable for at least a time period.
In step S716, a data processor 12 or intensity evaluator 16 determines or estimates a maximum intensity value (e.g., a judging function value) for the first crop row and the second crop row. The judging function may comprise determining a maximum derivative or maximum change in the intensity value to estimate the maximum intensity value.
In step S718, a data processor 12 or intensity evaluator 16 determines whether or not the maximum intensity value is greater than a certain threshold value. In one embodiment, the user may define the certain threshold value based upon studies, empirical tests, user preferences, where a desired degree of correlation exists between the reliability of the vision guidance data and the certain threshold value. If the maximum intensity value is equal to or greater than a certain threshold value, the method may continue with step S722. However, if the maximum intensity value is less than a certain threshold value, the method may continue with step S720.
In step S720, the data processor 12 determines that the vision guidance data is considered unreliable for at least a time period. The vision guidance data in step S720 may be considered unreliable for a number of reasons, including the visibility or definition of the crop rows in the image data. For example, the maximum intensity may be less than a certain threshold value if rows are not visible or only a portion of the rows are visible, which might indicate the vehicle is approaching the end of a row or the edge of a field.
In step S722, the data processor 12 determines that the vision guidance data is reliable for at least a time period. Accordingly, the vision guidance system (11 or 111) may apply control information to the steering system 24 to attain and maintain the preferential heading in accordance with any procedures or methods previously discussed herein in FIG. 3 through FIG. 6. Further, the vision guidance may apply a vehicular offset.
The method of FIG. 8 provides a procedure for determining whether the vision guidance data of the vision guidance system (11, 111 or 211 of FIG. 15) is reliable. For example, the method of FIG. 8 may be applied to any vision guidance system or any method disclosed herein to determine whether or not the preferential heading, and vehicle offset, or other control signals are sufficiently reliable. The method of FIG. 8 is similar to the method of FIG. 7, except FIG. 8 replaces step S708, S714, and S720 with steps S808, S814, and S820. Like steps or procedures in FIG. 7 and FIG. 8 share like reference numbers.
In step S700, a data processor 12 or discriminator 19 detects a first crop row and a second crop row spaced apart from the first crop row.
In step S702, the data processor 12 or intensity evaluator 16 determines a first intensity value associated with the first crop row and a second intensity value associated with the second crop row.
In step S706, the data processor 12 or the intensity evaluator 16 determines whether the first intensity value differs from the second intensity value by more than a minimum threshold. If the first intensity value differs from the second intensity value by more than a minimum threshold, then the method continues with step S808. However, if the first intensity value does not differ from the second intensity value by more than a minimum threshold, then the method continues with step S710.
In step S808, the data processor 12 may apply alternate guidance data for a time interval, as opposed to vision guidance data or other control data derived therefrom to attain or maintain a preferential heading of a vehicle. For instance, the data processor 12 may apply alternate guidance system from one or more of the following: a dead reckoning system, an odometer, a location-determining receiver (e.g., a location-determining receiver 33 in FIG. 15), a Global Positioning System receiver, a Global Positioning System receiver with differential correction, a local radio frequency positioning system, a range finder, a laser radar (e.g., ladar) system, and a radar system.
In step S710, the data processor 12 may determine a spacing between the first crop row and the second crop row. For example, the data processor 12 may translate the image data coordinates into real world coordinates to determine the real world spacing between the first crop row and the second crop row.
In step S712, a data processor 12 determines whether or not the spacing falls within a defined row width range. If the spacing does not fall within a defined row range, the method continues with step S814. However, if the spacing falls within a defined row range, the method continues with step S716.
In step S814, the data processor 12 may apply alternate guidance data for a time interval, as opposed to vision guidance data, or other control data derived therefrom, to attain or maintain a preferential heading. For instance, the data processor 12 may apply alternate guidance system from one or more of the following: a dead reckoning system, an odometer, a location-determining receiver (e.g., location determining receiver 33), a Global Positioning System receiver, a Global Positioning System receiver with differential correction, a local radio frequency positioning system, a range finder, a laser radar (e.g., ladar) system, and a radar system.
In step S716, a data processor 12 or intensity evaluator 16 determines a maximum intensity value (e.g., a judging function value) for the first crop row and the second crop row.
In step S718, a data processor 12 or intensity evaluator 16 determines whether or not the maximum intensity value is greater than a certain threshold value. In one embodiment, the user may define the certain threshold value based upon studies, empirical tests, user preferences, or otherwise. If the maximum intensity value is equal to or greater than a certain threshold value, the method may continue with step S722. However, if the maximum intensity value is less than a certain threshold value, the method may continue with step S820.
In step S820, the data processor 12 may apply alternate guidance data for a time period, as opposed to vision guidance data, or other control data derived therefrom, to attain or maintain a preferential heading. For instance, the data processor 12 may apply alternate guidance system from one or more of the following: a dead reckoning system, an odometer, a location-determining receiver (e.g., location-determining receiver 33 of FIG. 15), a Global Positioning System receiver, a Global Positioning System receiver with differential correction, a local radio frequency positioning system, a range finder, a laser radar (e.g., ladar) system, and a radar system.
In step S722, the data processor 12 determines that the vision guidance system is reliable for at least a time interval. Accordingly, the vision guidance system may apply control information to the steering system 24 to attain and maintain the preferential heading in accordance with any procedures or methods previously discussed herein. Further, the vision guidance system may apply a vehicular offset to place the vehicle on track in conformity with a desired course with respect to the first crop row and the second crop row, or other crop rows or reference markers.
The method of FIG. 9 provides a procedure for determining whether the vision guidance system (11, 111 or 211 of FIG. 15) is reliable. For example, the method of FIG. 9 may be applied to visional guidance system or method disclosed herein to determine whether or not the preferential heading, and vehicle offset, or other control signals are sufficiently reliable. The method of FIG. 9 is similar to the method of FIG. 7, except step S706 is replaced with step S906. Like reference numbers indicate like steps or procedures in FIG. 7 and FIG. 9.
In step S906, the data processor 12 determines whether the first intensity and the second intensity comply with an individual predetermined threshold, an aggregate predetermined threshold, or both. Step S906 may be carried out in accordance with various techniques that may be applied alternatively or cumulatively. Under a first technique for executing step S906, the data processor 12 determines whether the first intensity and the second intensity each are less than an individual predetermined threshold. If the first intensity and the second intensity are each less than the individual predetermined threshold, then the first intensity and the second intensity are noncompliant and method continues with step S708. However, if the first intensity, the second intensity, or both are greater than or equal to an individual predetermined threshold, then the method continues with step S710.
Under a second technique for executing step S906, the data processor 12 determines whether the first intensity and the second intensity are cumulatively less than an aggregate predetermined threshold. If the first intensity and the second intensity are cumulatively less than the individual aggregate threshold, the first intensity and the second intensity are noncompliant and method continues with step S708. However, if the first intensity and the second intensity are collectively greater than or equal to an aggregate predetermined threshold, then the first intensity and the second intensity are compliant and the method continues with step S710.
Accordingly, the methods of FIG. 7 through FIG. 9 support evaluating and establishing the reliability of guidance parameters to address such the application of vision in the context of the end of crop rows, when one or both of the crop rows are not straight, or when there are too many missing plants to determine reliable vision guidance data.
The method of FIG. 10A and FIG. 10B is similar to the method of FIG. 7, except the method of FIG. 10A and FIG. 10B includes additional steps S950, S952, and S954. Like reference numbers in FIG. 7 and FIG. 10A and FIG. 10B indicate like elements.
In step S950, the vehicular offset from the desired path is determined after step S722 or simultaneously therewith.
In step S952, the data processor 12 determines whether the determined offset is less than or equal to a maximum offset value. For example, for illustrative purposes the maximum offset value may be set to one-half of the row spacing between adjacent crop rows. If the maximum offset is less than or equal to the maximum offset value, the method continues with step S954. However, if the maximum offset is greater than the maximum offset value, the method continues with step S956.
In step S954, the data processor 12 determines that the vision guidance data is reliable or uses the vision guidance data to guide the vehicle. For instance, the data processor 12 may use vision guidance data, the determined offset of step S950, or both to guide the vehicle in accordance with any embodiment previously disclosed herein.
In step S956, the data processor 12 determines that the vision guidance data is not reliable or alternative guidance data is used. The alternative guidance data may comprise location data (e.g., coordinates) from a location-determining receiver (e.g., Global Positioning System (GPS) receiver with differential correction), a dead-reckoning system, an odometer, or from any other device that generates position data.
FIG. 11A provides an illustrative example of the collected color image data that the imaging device 10 may gather. The imaging device 10 may gather a group of color image data at regular intervals (e.g., periodically). The sampling rate or interval period may depend upon the velocity or speed of the vehicle or may be set to a maximum velocity of the vehicle. The greater the vehicle speed or velocity, the greater the sampling rate and less the interval period.
FIG. 11B shows an illustrative example of a segmented image that is derived from the output of the discriminator 19 or the collected color image of FIG. 11A. The discriminator 19 or data processor 12 may be used to identify the crop rows or other crop feature in the image data by color discrimination, for example. The image segmenter 20 or data processor 12 may filter out the background image data or image data other than the crop features to yield the segmented image.
In FIG. 12A through FIG. 12C, inclusive, illustrate the relationship of the orientation of scan lines 75 to crop rows 76 attendant and scan line intensity variation. FIG. 12A through FIG. 12C describe how scan line intensity data may be searched to identify or estimate a maximum value of scan line intensity associated with an aligned state of the vehicle to the crop image data (e.g., crop rows). The techniques for searching the scan lines and associated equations may be applied to identify or estimate an aligned state of the vehicle to the crop image in accordance with any method disclosed herein. For example, the techniques described in conjunction with FIG. 12A through FIG. 12C may be applied to step S108 of FIG. 5, among other steps and embodiments of methods disclosed herein.
In FIG. 12A through FIG. 12C, inclusive, the direction of forward travel of the vehicle is designated the Y axis and the lateral direction is designated the X axis. The field of view (FOV) of the imaging device 10 (e.g., or its lens) limits the candidate heading(s) (and candidate vehicle offset) with respect to crop rows to certain range. As shown in FIG. 12A through FIG. 12C, the vehicle's possible heading angle (φ), which is also known as the yaw angle, may range from −φmax to φmax. The lateral view along the X axis ranges from −xmax (leftmost) to xmax (rightmost).
In one embodiment, the search algorithm or alignment detector 18 equally divides the range of yaw angles to Nφ small steps, with a step angle of Δφ.
Accordingly,

Nφ×Δφ=2φmax 

Further, the search algorithm or alignment detector 18 may equally divide the lateral range of (−xmax, xmax) into Nx steps with a step length of Δx, then,

Nx×Δx=2xmax 

Although the scan lines may be configured in other ways, here the imaging device 10 or data processor 12 defines a series of scan lines that are generally parallel to the Y-axis at each step Δx. Δx is generally chosen to be small enough to ensure a desired resolution of quantity of pixels in the search space are covered by scan lines. As illustrated, the scan lines may range from ymin to ymax in the Y direction. The generally rectangular area formed by (−xmax to xmax) and (ymin to ymax) may represent the search space for searching a preferential heading among candidate headings of the vehicle. The X range is generally chosen to be approximately two times of the row width so two crop rows are covered by the scan lines.
The scan lines in FIG. 12A and FIG. 12C illustrate scenarios where the scan lines are not generally parallel to the crop rows. Instead, the scan lines 75 form an arbitrary heading angle φ with the crop rows 76. However, if the scan lines together with the coordinate system are rotated from −φmax to φmax over one or more steps Δφ, there will be a preferential heading when the vehicle heading and scan lines are parallel to crop rows, such as that illustrated in FIG. 12B. The average pixel intensity, I(φ,x), on the scan line at lateral position x with rotation angle φ, is calculated as:




  
    
      I
      ⁡
      
        (
        
          φ
          ,
          x
        
        )
      
    
    =
    
      
        1
        
          N
          ⁡
          
            (
            
              φ
              ,
              x
            
            )
          
        
      
      ⁢
      
        
          ∑
          
            y
            =
            
              y
              min
            
          
          
            y
            max
          
        
        ⁢
        
          P
          ⁡
          
            (
            
              x
              ,
              y
            
            )
          
        
      
    
  
  ,




where N(φ, x) is the number of pixels on the scan line x and P(x,y) is the pixel's intensity value at coordinate (x,y). N(φ,x) may be different at different rotation angles and different lateral positions. The intensity variation (derivative) of I(φ, x) among the scan lines is defined as a judging function, σ(φ), to search for the preferential heading angle among candidate heading angles:




  
    σ
    ⁡
    
      (
      φ
      )
    
  
  =
  
    
      1
      
        N
        x
      
    
    ⁢
    
      
        ∑
        
          x
          =
          
            -
            
              x
              max
            
          
        
        
          
            x
            max
          
          -
          1
        
      
      ⁢
      
        
      
      ⁢
      
        
        
          
            I
            ⁡
            
              (
              
                φ
                ,
                x
              
              )
            
          
          -
          
            I
            ⁡
            
              (
              
                φ
                ,
                
                  x
                  +
                  1
                
              
              )
            
          
        
        
      
    
  




where Nx is the number of scan lines.

After image segmentation, the crop image pixels may be set to a first value (e.g., one) and background image pixels may be set to a second value (e.g., zero) distinct from the first value. In FIGS. 12A, 12B, and 12C, some scan lines 75 intersect with crop rows 76 and some do not. The intensity level or I(φ, x) on an un-intersected scan line is zero. The intensity level or I(φ, x) on an intersected scan line is non-zero. Intensity varies in the transition from an intersected line to an un-intersected line and from an un-intersected line to an intersected line.
In FIG. 12A, the vehicle heading or candidate heading is turned to the right of alignment with the crop rows, whereas in FIG. 12B the vehicle heading or candidate heading is turned to the left of alignment with the crop rows. In FIG. 12A, the vehicle heading is turned to the right and each crop row is associated with a relatively large number of scan lines. Accordingly, the intensity variation σ(φ) is somewhat uniformly distributed or generally low, as indicated by the intensity (I) versus X position plot associated with FIG. 12A.
In FIG. 12C, the candidate heading is turned to the left and each crop row is associated with a relatively large number of scan lines. Accordingly, the intensity variation σ(φ), is somewhat uniformly distributed or generally low, as indicated by the intensity (I) versus X position plot associated with FIG. 12C. Non-zero pixels in crop rows are evenly distributed in relatively large number of scan lines in FIG. 12A and FIG. 12C, so the intensity along a single scan line will be smaller than that of a reference scan line aligned with the crop row.
If the vehicle preferential heading is parallel to the crop rows as in FIG. 12B, the non-zero pixels in crop rows are overlaid in a very few scan lines and the I(φ,x) on the few or several aligned scan lines will be larger. For the same number of intensity transitions from zero to nonzero and from nonzero to zero, the intensity variations in X direction, σ(φ), will reach maximum when the vehicle heading is parallel to the crop rows. Therefore, σ(φ) can be used as a judging function to search the candidate heading angles to identify a preferential heading angle. The preferential heading angle is the rotation angle, φ1, when σ(φ) reaches its maximum.
In FIG. 12B, after the vehicle heading is found, the scan lines will follow crop rows. The peak position of I(φ, x) between 0 and Nx/2 will give the position of the left crop row and the peak position between Nx/2 and Nx will be the right crop position. The distance between the center of scan lines and center of the left and right crop rows is the vehicle offset (d). The distance between the left and right crop rows is the calculated between-row spacing (width).
In field conditions, the vehicle vibration may cause imaging device's pitch angle to change. To compensate for vehicle vibration, the judging function, σ(φ) may be modeled as σ(φ,ω) to include the pitch angle ω as an additional variable. In addition, crop row boundaries are uneven and may have noise in the image, and consequently, σ(φ, ω) may be noisy too. An example three dimensional plot of σ(φ, ω) vs φ and ω is shown in FIG. 13A. Since the pitch angle is not a guidance parameter, it is averaged from −ωmax to ωmax to smooth the judging function:




  
    
      σ
      ⁡
      
        (
        φ
        )
      
    
    =
    
      
        1
        
          N
          ω
        
      
      ⁢
      
        
          ∑
          
            ω
            =
            
              -
              
                ω
                max
              
            
          
          
            ω
            max
          
        
        ⁢
        
          
        
        ⁢
        
          σ
          ⁡
          
            (
            
              φ
              ,
              ω
            
            )
          
        
      
    
  
  ,




where Nω is the number of pitch angles to be averaged. FIG. 13B shows the judging function after pitch averaging. Furthermore, a moving average of N′φ points is conducted over φ to further smooth the judging function:




  
    
      σ
      ′
    
    ⁡
    
      (
      φ
      )
    
  
  =
  
    
      1
      
        N
        φ
        ′
      
    
    ⁢
    
      
        ∑
        
          φ
          =
          
            -
            
              φ
              
                max
                +
                
                  
                    N
                    φ
                    ′
                  
                  /
                  2
                
              
            
          
        
        
          φ
          
            max
            -
            
              
                N
                φ
                ′
              
              /
              2
            
          
        
      
      ⁢
      
        
      
      ⁢
      
        σ
        ⁡
        
          (
          φ
          )
        
      
    
  




FIG. 13C shows the intensity variation after the moving averaging operation.
FIG. 13D shows a graphical representation of the vehicle preferential heading found after searching candidate headings. For the preferential heading, an aligned pair of the scan lines are generally overlaid onto row positions of the segmented image.
As shown in FIG. 14, the world coordinate system may be defined with respect to the vehicle coordinate system. In the vehicle coordinate system, the vehicle forward direction is regarded as the Y direction, the vehicle lateral direction is designated X, and vertical direction is designated Z. X is also referred to as the transverse axis of the vehicle. The vehicle coordinates in FIG. 14 are the equivalent of (XY plane) world coordinates.
The imaging coordinate system (e.g., XcYcZc in FIG. 14) is an imaging device centered coordinate system. The Xc-axis defines an axis that extends laterally (e.g., linearly from a left-to-right direction); the Yc-axis defines an axis that extends upward (e.g., linearly from a low-to-high direction); and the Zc-axis follows the optical or physical centerline of a lens of the imaging device 10. The Xc-axis is also referred to as the transverse axis of the imaging device or imaging system. World coordinate and imaging coordinate systems both belong to world space. However, an when an object is projected into the imaging device 10, the formed two dimensional image data lies in the image space, as opposed to world space.
The imaging device 10, the definer 14, or the data processor 12 may calibrate the image data to transform a point's coordinates in world space to its corresponding pixel's coordinates in image space (e.g., image plane). Calibration of the imaging device 10 includes extrinsic parameters and intrinsic parameters. Extrinsic parameters define how to transform an object from world coordinates to imaging coordinates in world space. Extrinsic parameters include the camera's three dimensional coordinates in the world coordinate system and its pitch, roll, and yaw angles. Once the installation of the imaging device 10 is fixed, extrinsic parameters do not need to change. Intrinsic parameters define how to transform an object from world space to image space. The intrinsic parameters include the camera's focus length, its image center in the image plane, and related distortion coefficients. The intrinsic parameters are fixed for a given imaging device 10 and lens. Various algorithms may be employed to map a point from the world space to a point in the two dimensional image plane, or vice versa.
In any of the embodiments or methods disclosed herein, the heading search may be conducted in world space or in image space. For each combination of (yaw, pitch), a mapping table between all the points in the scan lines in world space and their corresponding pixel coordinates in image space (e.g. image plane) is established in the algorithm's initialization phase. The points in scan lines that are outside of image window will be truncated and marked as not available in the mapping table. After the mapping is done, it is straightforward to calculate the intensity along a certain scan line or scan lines by finding the value of the pixels lying on it. If the guidance parameters are calculated in the image space first, then those guidance parameters are transformed into the world space.
The guidance system 211 of FIG. 15 is similar to the vision guidance system 11 of FIG. 1 or the vision guidance system of FIG. 2, except the guidance system of FIG. 15 further includes location-determining receiver 33 and a selector 35. Like reference numbers in FIG. 1, FIG. 2 and FIG. 15 indicate like elements.
The location determining receiver 33 may comprise a Global Positioning System (GPS) receiver with or without differential correction. The location-determining receiver 33 provides an alternate guidance data or position data when the imaging device 10 and data processor 12 produce generally unreliable data during a time period (e.g., an interval). In contrast, if the location-determining receiver 33 fails or is unreliable because of satellite dropouts or unreliable communication between the vehicle and a base station that transmits differential correction information (e.g., operating in the RTK mode), the imaging device 10 may provide reliable guidance information, subject to the determination of the reliability estimator 23.
The selector 35 may use the reliability estimator 23 to determine whether to apply image data from the imaging device 10 or position data from the location-determining receiver 33 to guide the vehicle in accordance with a vehicular offset and preferential heading angle. Once the vehicle is moved in accordance with the vehicular offset and preferential heading angle, the captured image data reflect the new vehicle position with respect to crop rows. Thus, the guidance system 211 may be operated as a closed-loop control system in which vehicle path data provides feedback or other reference information to the imaging device 10 and the location determining receiver 33.
Having described the preferred embodiment, it will become apparent that various modifications can be made without departing from the scope of the invention as defined in the accompanying claims.

## Claims

1. A method of guiding a vehicle, the method comprising:
collecting color image data to distinguish crop image data having one or more crop rows from background image data;
defining a series of scan line segments generally perpendicular to a transverse axis of the vehicle or of an imaging system using a data processor;
determining a scan line intensity for each of the scan line segments with respect to corresponding crop image data, wherein determining the scan line intensity comprises at least one of determining an average or mean scan line intensity for a corresponding scan line segment and determining a mode scan line intensity for the corresponding scan line segment;
identifying a preferential heading of the vehicle that is generally aligned with respect to a crop feature, associated with the crop image data, based on the determined scan line intensity meeting or exceeding a maximum value or minimum threshold value, wherein the minimum threshold value refers to a substantial alignment of the vehicle with the crop feature;
estimating a reliability of the vehicle heading based on compliance with an intensity level criteria associated with one or more crop rows;
determining a first intensity value associated with a first crop row and a second intensity value associated with a second crop row;
considering vision guidance data unreliable for a minimum time period if the first intensity value differs from the second intensity value by more than a minimum threshold;
determining a spacing between a first crop row and a second crop row;
determining a maximum intensity value for the first crop row and the second crop row;
considering vision guidance data reliable if the first intensity value does not differ from the second intensity value by more than the minimum threshold;
determining whether the vision guidance data is reliable;
responsive to a determination that the vision guidance data is reliable, using the vision guidance data to guide a vehicle; and
controlling a path of the vehicle in accordance with the identified preferential heading of the vehicle.

2. The method according to claim 1 wherein the identifying further comprises searching candidate headings to select the preferential heading based on the determined scan line intensity data.

3. The method according to claim 1 wherein the crop feature comprises one or more crop rows.

4. The method according to claim 1 wherein the crop feature comprises a crop edge between harvested and unharvested crop.

5. The method according to claim 1 further comprising:
deriving a segmented image of crop rows as the crop image data from the collected color image.

6. The method according to claim 1 wherein the collecting further comprises classifying image data as crop image data if a green-red difference associated with a pixel is greater than a first threshold value and if a green-blue difference associated with the pixel is greater than a second threshold value.

7. The method according to claim 6 wherein the green-red difference (Dg−r) is defined as Dg−r=G−R and the green-blue difference (Dg−b) is defined as Dg−b=G−B, where R,G,B are the pixel's red, green and blue component, respectively, in RGB color space.

8. The method according to claim 1 wherein the collecting further comprises classifying image data as soil data if a red-green difference associated with a pixel is less than or equal to first threshold value or if a green-blue difference associated with the pixel is less than or equal to the second threshold value.

9. The method according to claim 1 wherein the determining of the scan line intensity comprises determining an aggregate scan line intensity for a corresponding scan line segment.

10. The method according to claim 1 wherein the identifying the preferential heading comprises limiting a search of candidate heading angles (φ) from −φmax to φmax, to select the preferential heading angle, and limiting a search of a lateral view along the transverse axis from −xmax to xmax.

11. The method according to claim 1 wherein the average pixel intensity, I(φ,x), on the scan line segment at lateral position x with heading angle φ, is calculated as:




  
    I
    ⁡
    
      (
      
        φ
        ,
        x
      
      )
    
  
  =
  
    
      1
      
        N
        ⁡
        
          (
          
            φ
            ,
            x
          
          )
        
      
    
    ⁢
    
      
        ∑
        
          y
          =
          
            y
            min
          
        
        
          y
          max
        
      
      ⁢
      
        P
        ⁡
        
          (
          
            x
            ,
            y
          
          )
        
      
    
  




where N(φ, x) is the number of pixels on the scan line segment x, P(x,y) is the pixel's intensity value at coordinate (x,y), and wherein the evaluation is limited to scan line segments between ymin and ymax.

12. The method according to claim 1 wherein the identifying further comprises determining an intensity variation or derivative of I(φ, x) as a judging function, σ(φ) to search for the vehicle's preferential heading angle:




  
    σ
    ⁡
    
      (
      φ
      )
    
  
  =
  
    
      1
      
        N
        x
      
    
    ⁢
    
      
        ∑
        
          x
          =
          
            -
            
              x
              max
            
          
        
        
          
            x
            max
          
          -
          1
        
      
      ⁢
      
        
      
      ⁢
      
        
        
          
            I
            ⁡
            
              (
              
                φ
                ,
                x
              
              )
            
          
          -
          
            I
            ⁡
            
              (
              
                φ
                ,
                
                  x
                  +
                  1
                
              
              )
            
          
        
        
      
    
  



where Nx is the number of scan lines.

13. The method according to claim 12 wherein the identifying further comprises averaging the intensity variation or derivative of I(φ, x) to produce a refined judging function, σ(φ,ω) to search for the vehicle's preferential heading angle:




  
    σ
    ⁡
    
      (
      φ
      )
    
  
  =
  
    
      1
      
        N
        ω
      
    
    ⁢
    
      
        ∑
        
          ω
          =
          
            -
            
              ω
              max
            
          
        
        
          ω
          max
        
      
      ⁢
      
        
      
      ⁢
      
        σ
        ⁡
        
          (
          
            φ
            ,
            ω
          
          )
        
      
    
  



where Nw is the number of scan lines, and wherein ω represents the pitch angle that ranges from a minimum pitch angle (−ωmax) to a maximum pitch angle (ωmax).

14. The method according to claim 1 further comprises:
determining an offset for the vehicle along the transverse axis.

15. The method according to claim 14 further comprises:
controlling a path of the vehicle in accordance with the identified vehicle heading and the determined offset.

16. A system of guiding a vehicle, the system comprising:
an imaging device for collecting color image data to distinguish crop image data having one or more crop rows from background image data;
a definer for defining a series of scan line segments generally perpendicular to a transverse axis of the vehicle or of an imaging system;
an intensity evaluator for determining a scan line intensity for each of the scan line segments with respect to corresponding crop image data, wherein the intensity evaluator determines at least one of an average or mean scan line intensity as the scan line intensity determined for a corresponding scan line segment and a mode scan line intensity as the scan line intensity determined for the corresponding scan line segment, and wherein the intensity evaluator determines a first intensity value associated with a first crop row and a second intensity value associated with a second crop row, the intensity evaluator determining a maximum intensity value for the first crop row and the second crop row;
an alignment detector for identifying a preferential heading of the vehicle that is generally aligned with respect to a crop feature, associated with the crop image data, based on the determined scan line intensity meeting or exceeding a maximum value or minimum threshold value, wherein the minimum threshold value refers to a substantial alignment of the vehicle with the crop feature;
a vehicle guidance controller for controlling a path of the vehicle in accordance with the identified preferential heading of the vehicle;
a reliability estimator for estimating a reliability of the vehicle heading based on compliance with an intensity level criteria associated with one or more crop rows, wherein the reliability estimator considers vision guidance data unreliable for a minimum time if the first intensity value differs from the second intensity value by more than a minimum threshold, and wherein the reliability estimator considers vision guidance data reliable if the first intensity value does not differ from the second intensity value by more than the minimum threshold; and
a data processor for determining a spacing between a first crop row and a second crop row and for determining whether the vision guidance data is reliable, wherein responsive to a determination that the vision guidance data is reliable, the vision guidance data is used to guide the vehicle.

17. The system according to claim 16 wherein the alignment detector further comprises searching candidate headings to select the preferential heading based on the determined scan line intensity data.

18. The system according to claim 16 wherein the crop feature comprises one or more crop rows.

19. The system according to claim 16 wherein the crop feature comprises a crop edge between harvested and unharvested crop.

20. The system according to claim 16 further comprising:
an image segmenter for deriving a segmented image of crop rows as the crop image data from the collected color image.

21. The system according to claim 16 wherein the discriminator classifies image data as crop image data if a green-red difference associated with a pixel is greater than a first threshold value and if a green-blue difference associated with the pixel is greater than a second threshold value.

22. The system according to claim 16 wherein the discriminator classifies image data as soil data if a red-green difference associated with a pixel is less than or equal to first threshold value or if a green-blue difference associated with the pixel is less than or equal to the second threshold value.

23. The system according to claim 16 wherein the intensity evaluator determines an aggregate scan line intensity as the determined scan line intensity for a corresponding scan line segment.

24. The system according to claim 16 wherein the identifying the preferential heading comprises limiting a search of candidate heading angles (φ) to −φmax to φmax, to select the preferential heading angle, and limiting a search of a lateral view along the transverse axis from −xmax to xmax.

25. The system according to claim 16 wherein the average pixel intensity, I(φ, x), on the scan line at lateral position x with heading angle φ, is calculated as:




  
    I
    ⁡
    
      (
      
        φ
        ,
        x
      
      )
    
  
  =
  
    
      1
      
        N
        ⁡
        
          (
          
            φ
            ,
            x
          
          )
        
      
    
    ⁢
    
      
        ∑
        
          y
          =
          
            y
            min
          
        
        
          y
          max
        
      
      ⁢
      
        P
        ⁡
        
          (
          
            x
            ,
            y
          
          )
        
      
    
  



where N(φ, x) is the number of pixels on the scan line x and P(x,y) is the pixel's intensity value at coordinate (x,y).

26. The system according to claim 19 wherein the alignment detector uses an intensity variation (derivative) of I(φ, x) as a judging function (σ(φ) to expedite searching of scan line intensity, lines is defined as a judging function to search for the vehicle's heading angle:




  
    σ
    ⁡
    
      (
      φ
      )
    
  
  =
  
    
      1
      
        N
        x
      
    
    ⁢
    
      
        ∑
        
          x
          =
          
            -
            
              x
              max
            
          
        
        
          
            x
            max
          
          -
          1
        
      
      ⁢
      
        
      
      ⁢
      
        
        
          
            I
            ⁡
            
              (
              
                φ
                ,
                x
              
              )
            
          
          -
          
            I
            ⁡
            
              (
              
                φ
                ,
                
                  x
                  +
                  1
                
              
              )
            
          
        
        
      
    
  



where Nx is the number of scan lines.

27. The system according to claim 16 further comprises:
an offset calculator for determining an offset for the vehicle along the transverse axis.

28. The system according to claim 27 further comprises:
a vehicle guidance controller for controlling a path of the vehicle in accordance with the identified vehicle heading and the determined offset.