Determining image feature height disparity

A device to determine a height disparity between features of an image includes a memory including instructions and processing circuitry. The processing circuitry is configured by the instructions to obtain an image including a first repetitive feature and a second repetitive feature. The processing circuitry is further configured by the instructions to determine a distribution of pixels in a first area of the image, where the first area includes an occurrence of the repetitive features, and to determine a distribution of pixels in a second area of the image, where the second area includes another occurrence of the repetitive features. The processing circuitry is further configured by the instructions to evaluate the distribution of pixels in the first area and the distribution of pixels in the second area to determine a height difference between the first repetitive feature and the second repetitive feature.

TECHNICAL FIELD

This document pertains generally, but not by way of limitation, to computer vision systems and more specifically to determining image feature height disparity.

BACKGROUND

Modern agricultural operations generally include the use of agricultural machines (e.g., tractors, harvesters, sprayers, seeders, tillers, combines or like) to process fields, such as by planting, harvesting, or generally tending crops. Such agricultural machines can include control systems that automate, or assist operators in, the execution of these operations. In an example, a control system can help an agricultural machine navigate through a field planted in row crops to ensure that tracks or wheels of the machine remain in the furrows between the crop rows while implements track or following specified paths relative to crop rows.

A computer vision system can improve the automation of agricultural operations, such as by providing a control system of an agricultural machine with guidance information that can have a higher resolution than information provided by external guidance systems or information that may be unavailable to external guidance systems. A computer vision system generally includes sensors, such as cameras, mounted on the agricultural machine to capture images that include features of a field or environment. A computer vision system can also include processing circuitry to analyze captured images to extract information that is useful for guiding an agricultural machine.

In an example, images captured by a computer vision system can include features, such as crop rows and furrows. It may be desirable to analyze such images to identify which feature is a crop row and which feature is a furrow.

SUMMARY

Aspects of the present disclosure are based on the inventors' recognition that, among other things, it can be useful for a computer vision system to distinguish (e.g., identify) features in an image, such as crop rows and furrows. In an example, a control system can be configured to guide an agricultural machine through a field of row crops according to a trajectory or plan that requires the machine, or an implement coupled to the machine, to follow a centerline of a crop row. A computer vision system that can distinguish between a crop row and a furrow can enable the control system to automatically (e.g., in real time with limited or no user input) adjust the trajectory of the agricultural machine to track an indicated center line of the crop row, and thereby precisely navigate a field with minimal (e.g., no or decreased) damage to crops.

Aspects of the present disclosure provide techniques (e.g., devices, methods, systems, and computer readable mediums) for analyzing images that have two or more repeated features to differentiate between features based on their distance from a camera that captured the images. Such differentiation is accomplished by determining a height difference between two features. Existing techniques for determining height differences require the use of stereoscopic sensors or cameras that observe a target from slightly different perspectives to determine depth. Aspects of the present disclosure includes techniques that use a single sensor, such as a single camera, to determine height differences between two features in an image based on differences in the distribution (e.g., spatial distribution) of the pixels representing each feature. Variations in the distributions of pixels can be indicative of a difference in distances between the features and a camera or a difference in the perspective of the camera relative to the features. The provided techniques can be used to differentiate, without the use of additional sensors, between features in an image that have a physical height disparity. In an example, the techniques can identify crop rows, or differentiate between crop rows and furrow, in an image of a field because such crop rows are generally taller than neighboring furrows and as such are typically closer to a camera that used to capture the image.

DETAILED DESCRIPTION

Computer vision systems use cameras and other sensors to collect spatial information about environments, such as fields where agricultural machines operate to cultivate crops. Typical cameras capture three-dimensional (3D) environments in two-dimensional (2D) images. In some applications, it can be useful to obtain 3D information about an environment along with the 2D image captures, such as to capture, or preserve, 3D representations of the environment. Techniques for capturing or preserving 3D representations of environments include the use of range finding sensors, such as Light Detection and Ranging (LIDAR), time of flight devices, or radar devices to measure or calculate the distance from the sensor or image capturing device to features in the environments. Other techniques extrapolate 3D representations of an environment from captured images, such as by combining two or more 2D images to reconstruct a 3D scene. Such 2D images can be captured by stereo vision-based vision systems that are configured to transform pixel intensity levels from one or more color channel into disparity levels and distances to a camera. These 3D representations can be analyzed to determine distances to captured features.

It can be difficult for a computer vision system having only a single camera (e.g., a mono camera system) to determine distances to features that are captured in an image (e.g., a 2D image) without the use of additional sensors. Techniques for determining such distances can require a priori knowledge of the size of objects or features in an image. Such information may not be reliably available to a computer vision system, such as systems used in the guidance of agricultural machines. The size of crop row features, for example, can change over time as crops mature, die, and are harvested.

Aspects of the present disclosure include techniques for extracting relative distance information from a 2D image, such as an image captured by a mono camera system. Such information can be used to distinguish between features in the captured image based on disparities in their respective distances from the momo-camera system when there is a height disparity between features in the captured image. In some images, these disparities can manifest in the partial occlusion of one feature by another feature (e.g., an adjacent or neighboring feature) in an image. This occlusion can result in variations in the distribution of pixels that represent each feature in the images. Relative distance information can be extracted or determined from these variations, such as though analysis of the distribution of intensity levels or colors of pixels representing each feature. In an example, these techniques can be used to distinguish a crop row from a furrow in an image based on a disparity in their height or their respective distances from a camera that captured the image.

In an example, an environment represented in a 3D physical space coordinate system includes two or more features (e.g., types of objects) which have a height disparity relative to each other and are disposed in a repeated pattern. The repeated pattern can form a set of repeated features, such as repeated rows or lines, in an environment or in an image of the environment. The environment can include a field and the repeated features can include crop rows and furrows that traverse the field. A camera system (e.g., a mono camera system) can be used to capture one or more images of the environment, including at least two occurrences, or instances, of the repeated features. In an example, the camera system can be mounted on an agricultural machine or on an implement that is coupled to the agricultural machine. The camera system can be mounted at a height H that is measured normal to a ground plane (e.g., the field) and at an angle θ relative to the ground plane so as to capture images as the agricultural machine traverses the environment. The height or angle of the camera system can define a perspective of the camera system relative to environment and can be used to transform coordinates from the physical environment to a pixel space or image frame.

In an example, a first area of an environment (e.g., a physical space or 3D coordinate system area (e.g., a first sample area) within a field of view of the camera system) can be selected, or defined, to include an occurrence (e.g., a complete occurrence) of a first feature and a second feature (e.g., neighboring or adjacent features) of a set of repeated features. The selected first feature and second feature are indicative of, or form, one wavelength of a pattern defined by the repeated features. In an example, the first area can include any integer multiple of such wavelength (e.g., the first area can include one or more paired occurrences of the first feature and the second feature). The first area can be disposed at a first observation angle with respect to the camera system (hereinafter, “camera”) or a ground plane. A second area (e.g., a second sample area) of the environment can be selected, such that the second area is substantially the same size as the first area and is disposed at a second observation angle that is different from the first observation angle. The second area can include different occurrences of the first feature and the second feature (e.g., one or more different wavelengths of the pattern formed by the first feature and the second feature). The first area and the second area (e.g., the physical space coordinates of the first area and the second area) can be transformed or mapped to the image frame (e.g., the coordinate space of an image of the environment captured by the camera), such as by using camera intrinsic or camera extrinsic information (e.g., perspective information).

Pixel information (e.g., pixel intensity, luminosity, color, location, etc.) of pixels in areas of the image corresponding to the first area and the second area can be sampled, such as to form a first data set and a second data set, respectively. The distributions of pixels (e.g., pixel information) in the first data set and the second data set can be analyzed to determine a height difference, or disparity, between the first feature and the second feature. If there is a height difference between the first feature and the second feature, the distribution of the data set with the largest observation angle will have more pixels corresponding to the feature that is closest to the camera system (e.g. the tallest feature), such as due to occlusion of pixels of the other feature (e.g., the shorter) by pixels of the closer (e.g., higher or taller) feature. In some examples, additional distributions (e.g., distributions corresponding to other areas from which pixels are sampled) can be used to improve the analysis.

The discussed data sets, or the distributions of the data sets, can be analyzed using any technique for comparing distributions. In an example the data sets can be analyzed by calculating, or determining, the centroid or mean pixel color or mean intensity level of each data set. In an example where the data sets are analyzed in a coordinate space (e.g., a pixel space, an image space, a color space, or any combination thereof), the centroid or mean level will shift towards the pixel color or intensity associated with the feature nearest to the camera for increasing observation angle. In another example, the observation angle of the first sample area, the observation angle of the second sample area, and the difference in pixel distributions of the first sample area and the second sample area can be used to calculate a height difference between the first feature and the second feature. The distribution of pixels can be represented as a value that is indicative of a density of a type of pixel in the first area or the second area (e.g., a density of pixels that represent the first feature or the second feature), a ratio of pixels of a first type to pixels of a second type, or any other value useful for summarizing the distributions or data sets. A height difference between the first feature and the second feature can be calculated as a ratio of the difference in the distributions (e.g., O1and O2, respectively) to a difference between the observation angles of each sample area (O1and O2, respectively), as shown below.
height difference=(O1−O2)/(tan(θ1)−tan(θ2))  (1)
FIG.1illustrates an example of an environment including a system105for determining a height disparity between features of an image, according to an example. The environment includes an agricultural machine125, such as a tractor, truck, drone, or other vehicle situated proximate to crop related rows. The agricultural machine125includes a sensor120, such as a camera, and the system105. The sensor120operates by receiving light, which can be in the visible spectrum, ultraviolet, or infrared, or combinations thereof. In an example, the sensor120is an element of a mono camera system. The output of the sensor120can include an image having elements (e.g., pixels, regions, etc.) that represent wavelengths (e.g., colors) or intensities (e.g., luminance) of light. In an example, the sensor120can be mounted on an implement (not shown) attached to the agricultural machine125.

The system105can include processing circuitry110and a memory115(e.g., computer readable media). The processing circuitry110can be configured to perform or implement any of the operations of techniques described herein. The memory115is arranged to hold data and instructions for the processing circuitry110. The agricultural machine125can be arranged to obtain an image of the environment130that includes two or more repeated features, such as crop rows and furrows. Here, obtaining the image can include the processing circuitry110retrieving the image from a buffer (e.g., in the memory115) or receiving the image from another source, such as, directly from the sensor120via direct memory access (DMA) or the like. As illustrated, the repeated features can be arranged in the image such that they extend from the bottom of the image to the top (e.g., in a columnar orientation) with respect to the sensor120.

In an example, the image is a color image, where a first repeated feature is primarily represented by a first color and a second feature is primarily represented by a second color. In another example, the image is an intensity image having one or more channels. An intensity image has a single value representation for any point in the image. Thus, in an example, the intensity image is implemented as a grayscale image. In an example, a crop row is lighter (e.g., has a greater point or pixel intensity value) than a furrow. Generally, a standard grayscale image uses luminance as the intensity measured at any given pixel. However, different manipulations to a color image can be performed to, for example, increase the contrast between different types of crop related rows. Thus, for example, if a crop row is a first color and a furrow is a second color, then the first color can be scaled to be the most intense and the second color scaled to be the least intense. In an example, the intensity image is binary, with positions being either one value (e.g., a one) or another value (e.g., a zero). Such an image can be easier to process and store that other images, and can be achieved in several ways, including threshold clustering.

FIGS.2A-2Billustrate various components and relationships of an agricultural machine in an operating environment, according to an embodiment.FIG.2Aillustrates an example of a top-down view of an agricultural machine210in a field. The shaded portions ofFIG.2Arepresent crop rows215and the space between the crop rows215are indicative of furrows220. The agricultural machine includes a sensor205(e.g., a camera system) mounted to the front side of the agricultural machine210. Here, the agricultural machine210is not aligned with the crop rows215or furrows220but, instead, deviates by an angle or distance225. A control system of the agricultural machine210is arranged to steer the agricultural machine210to be in line with the crop rows215with wheels in the furrows220. Such control system can include, or can be associated with, a computer vision system that is configured to identify or distinguish image features based on relative height differences, as described herein.

FIG.2Billustrates an example of side view of the agricultural machine210with the front mounted sensor205(e.g., a camera system). The height235of the sensor205and the angle to the ground230are perspective parameters that are useful for transforming physical space coordinates representing a selected area of an environment or field to an image frame.

FIG.3illustrates an example of a camera system300configured to capture images of an environment305having two or more repeated features310. In an example, the camera system includes a camera, such as any of the cameras or optical sensors described herein, that is mounted on an agricultural machine at a height He above the ground plane312. In an example the camera system includes a digital camera that is configured to capture images of the repeated features310and provide the captured images to a machine controller, such as the machine controller105. The two or more repeated features310can include two or more occurrences of a first feature315(feature A), such as a crop row, having a height HAand two or more occurrences of a second feature320(feature B), such as a furrow, having a height HB.

FIG.1illustrates that a height difference (e.g., measured relative to ground plane312or as the difference HA−HB) between repeated features A and B can cause occluded regions in image captured by the camera system300. The features further away from camera can be (partially) occluded by neighboring features that are located closer to camera. In an example, an area325of the environment305captured in an image by the camera system300at an observation angle θ have an occulated area O1. The area O1represents an area of a first occurrence of feature B that is occluded by feature A in the captured image. The size (O) of the occluded area can be defined by the height difference (DH) between features A and B, and the observation angle (θ1) as,
O=DH*tan(θ1).

Increasing observation angle increases the size of the occluded region. In an example, the occluded area O2captured at a large observation angle θ2is larger than the size of the occluded area O1. The occluded areas O1, O2, and O3are indicative of a variation in the quantity of pixels of feature B that are represented in images captured by the camera system300. are indicative of are indicative of a portion of the area of feature B that is occluded by feature A. Stated another way, a height difference between 2 features (e.g., feature A and feature B) will cause variable pixel distributions across a captured image. The resulting spatial variance in pixel distribution can be used to determine the nearest of both features or to indicate a relative the height difference between the features. In an example distribution of pixels associated with feature A will increase relative to the distribution of pixels associated with feature with increasing observation angle, indicating that feature A is taller (e.g., closer to the camera system300) that feature B.

FIG.4illustrates an example of a selection of sample areas410(e.g., A0), (e.g., A1), and420(e.g., A2) of an environment or field405. In an example,FIG.4illustrates the physical space selection of the sample areas410,415, and420. In another example,FIG.4represent the sample areas410,415, and420transformed to an image frame, such as by using a homographic transformation. As shown inFIG.4, the sample areas410,415, and420include at least one occurrence (e.g., wavelength) or a pattern formed by repeated feature425(e.g., a crop row) and repeated feature430(e.g., a furrow). In an example, sample area410has the smallest observation angle, while sample area420has the largest observation area.FIG.5illustrates an example of a distribution of sampled pixel data of sample areas410,415, and420(herein after, areas A0, A1and A2) in a UV color plane (e.g., a YUV color space without the luma (Y) component). The distribution is generated using the pixel color values in selected areas A0, A1, and A2. The hashed values505correspond to samples from area A0. The dashed or broken values510correspond to samples from area A1. The solid samples515correspond to samples from area A2. As shown inFIG.5, the distribution, such as the centroid, of the sample data shifts and concentrates towards the left bottom of the diagram, representing green in the UV color plane. For crop row and furrow features, the pixels containing more green (e.g., crop pixels) tend to be closer to the camera than the pixels containing less green (e.g. furrow pixels) in this example.

FIG.6illustrates an example of a distribution of sampled data from areas A0, A1and A2, where the sampled data values (e.g., pixel values) are represented as scalars. The vertical axis pixel represents pixel intensity level, while the horizontal axis represents horizontal image position (e.g., horizontal pixel position) starting from the left of A0to right of A2). Sampled data from areas A0, A1, and A2correspond to curves605,610, and615, respectively. Line620,625, and630show the global intensity level of areas A0, A1, and A12, respectively. As shown inFIG.6, global intensity level increases with increasing observation angle, corresponding perceived green in the original image.

FIG.7illustrates a process for determining a height disparity between features of an image, according to an example. A705, an image can be obtained, such as from a camera system or a memory of computing device. The image includes a first repetitive feature and a second repetitive feature. At710, a distribution of pixels in a first area of the image can be determined. The first area includes an occurrence of the first repetitive feature and an occurrence of the second repetitive feature. At715, a distribution of pixels in a second area of the image can be determined. The second area includes another occurrence of the first repetitive feature another occurrence of the second repetitive feature. At720, the distribution of pixels in the first area and the distribution of pixels in the second area can be evaluated, such as to determine a height difference between the first repetitive feature and the second repetitive feature, as described herein.

The machine (e.g., computer system)800can include a hardware processor (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory804, a static memory (e.g., memory or storage for firmware, microcode, a basic-input-output (BIOS), unified extensible firmware interface (UEFI), etc.)806, and mass storage (e.g., hard drive, tape drive, flash storage, or other block devices) some or all of which can communicate with each other via an interlink (e.g., bus)830. The machine800can further include a display unit810, an alphanumeric input device (e.g., a keyboard), and a user interface (UI) navigation device814(e.g., a mouse). In an example, the display unit810, input device812and UI navigation device814can be a touch screen display. The machine800can additionally include a storage device (e.g., drive unit)808, a signal generation device818(e.g., a speaker), a network interface device820, and one or more sensors816, such as a global positioning system (GPS) sensor, compass, accelerometer, or another sensor. The machine800can include an output controller828, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate or control one or more peripheral devices (e.g., a printer, card reader, etc.).

Registers of the processor802, the main memory804, the static memory806, or the mass storage808can be, or include, a machine readable medium822on which is stored one or more sets of data structures or instructions824(e.g., software) embodying or utilized by any one or more of the techniques or functions described herein. The instructions824can also reside, completely or at least partially, within any of registers of the processor802, the main memory804, the static memory806, or the mass storage808during execution thereof by the machine800. In an example, one or any combination of the hardware processor802, the main memory804, the static memory806, or the mass storage808can constitute the machine-readable media822. While the machine readable medium822is illustrated as a single medium, the term “machine readable medium” can include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions824.

Various Notes & Examples

Example 1 is a device to determine a height disparity between features of an image, the device comprising: a camera system to obtain an image, the image comprising a first repetitive feature and a second repetitive feature; and a machine controller comprising: a first distribution element configured to determine a distribution of pixels in a first area of the image, the first area comprising an occurrence of the first repetitive feature and an occurrence of the second repetitive feature; a second distribution element that is configured to determine a distribution of pixels in a second area of the image, the second area comprising another occurrence of the first repetitive feature and another occurrence of the second repetitive feature, and a comparator element configured to evaluate the distribution of pixels in the first area and the distribution of pixels in the second area to determine a height difference between the first repetitive feature and the second repetitive feature.

In Example 2, the subject matter of Example 1 includes, wherein the first image is captured by a mono camera system.

In Example 3, the subject matter of Examples 1-2 includes, wherein the second area is captured at a different observation angle than the first area.

In Example 4, the subject matter of Examples 1-3 includes, wherein the first repeated feature is a crop row and the second repeated feature is a furrow.

In Example 5, the subject matter of Examples 1-4 includes, wherein the comprises a transformation element that is configured to transform, prior to determining the distribution of pixels in the first area or the distribution of pixels in the second area, the first area and the second area to an image frame.

In Example 6, the subject matter of Examples 1-5 includes, wherein to obtain a distribution of pixels in the first area, the first distribution element is configured to calculate a centroid of a distribution of pixels in the first area in a color space.

In Example 7, the subject matter of Examples 1-6 includes, wherein the first distribution element is configured to obtain a distribution of pixels in the first area using an intensity level of pixels in the first area.

In Example 8, the subject matter of Example 7 includes, wherein the intensity level of pixels in the first area comprises a mean intensity level of pixels in the first area.

In Example 9, the subject matter of Examples 1-8 includes, wherein the first distribution element is configured to obtain a distribution of pixels in the first area based on an area of the first repeated feature that is occluded by the second feature.

In Example 10, the subject matter of Examples 1-9 includes, wherein to determine the difference in height between the first repetitive feature and the second repetitive feature, the comparator element is configured to calculate the difference in height using an observation angle of the first area and an observation angle of the second area.

In Example 11, the subject matter of Examples 1-10 includes, wherein to determine the difference in height between the first repetitive feature and the second repetitive feature, the comparator element is configured to calculate the difference in height using a difference between the first distribution and the second distribution.

In Example 12, the subject matter of Examples 1-11 includes, wherein: the first repeated feature comprises a first color, the second repeated feature comprises a second color, and to determine the difference in height between the first repetitive feature and the second repetitive feature, the is the comparator element is configured to identify, a color space, a shift in the distribution of pixels in the first area, relative to the distribution of pixels in the second area, towards the first color in a color space.

In Example 13, the subject matter of Examples 1-12 includes, wherein the machine controller comprises an element that is configured to identify, using the difference in height, a feature that is closet to a camera that captured the image.

Example 14 is a method for determining a height disparity between features of an image, the method comprising: obtaining an image, the image comprising a first repetitive feature and a second repetitive feature; determining a distribution of pixels in a first area of the image, the first area comprising an occurrence of the first repetitive feature and an occurrence of the second repetitive feature; determining a distribution of pixels in a second area of the image, the second area comprising another occurrence of the first repetitive feature another occurrence of the second repetitive feature, and evaluating the distribution of pixels in the first area and the distribution of pixels in the second area to determine a height difference between the first repetitive feature and the second repetitive feature.

In Example 15, the subject matter of Example 14 includes, capturing the first image using a mono camera system.

In Example 16, the subject matter of Examples 14-15 includes, wherein the second area is at a different observation angle than the first area.

In Example 17, the subject matter of Examples 14-16 includes, wherein the first repeated feature is a crop row and the second repeated feature is a furrow.

In Example 18, the subject matter of Examples 14-17 includes, transforming, prior to determining the distribution of pixels in the first area or the distribution of pixels in the second area, the first area and the second area to an image frame.

In Example 19, the subject matter of Examples 14-18 includes, wherein to obtain a distribution of pixels in the first area comprises calculating a centroid of a distribution of pixels in the first area in a color space.

In Example 20, the subject matter of Examples 14-19 includes, wherein obtaining a distribution of pixels in the first area comprises using an intensity level of pixels in the first area.

In Example 21, the subject matter of Example 20 includes, wherein the intensity level of pixels in the first area comprises a mean intensity level of pixels in the first area.

In Example 22, the subject matter of Examples 14-21 includes, wherein further comprising obtaining the distribution of pixels in the first area based on an area of the first repeated feature that is occluded by the second feature.

In Example 23, the subject matter of Examples 14-22 includes, wherein determining the difference in height between the first repetitive feature and the second repetitive feature comprises calculating the difference in height using an observation angle of the first area and an observation angle of the second area.

In Example 24, the subject matter of Examples 14-23 includes, wherein determining the difference in height between the first repetitive feature and the second repetitive feature comprises calculating the difference in height using a difference between the first distribution and the second distribution.

In Example 25, the subject matter of Examples 14-24 includes, wherein: the first repeated feature comprises a first color, the second repeated feature comprises a second color, and determining the difference in height between the first repetitive feature and the second repetitive feature comprises identifying, a color space, a shift in the distribution of pixels in the first area, relative to the distribution of pixels in the second area, towards the first color in a color space.

In Example 26, the subject matter of Examples 14-25 includes, identifying, using the difference in height, a feature that is closet to a camera that captured the image.

Example 27 is a machine readable medium including instructions for determining a height disparity between features of an image, the instructions, when executed by processing circuitry, cause the processing circuitry to perform operations comprising: obtaining an image, the image comprising a first repetitive feature and a second repetitive feature; determining a distribution of pixels in a first area of the image, the first area comprising an occurrence of the first repetitive feature and an occurrence of the second repetitive feature; determining a distribution of pixels in a second area of the image, the second area comprising another occurrence of the first repetitive feature another occurrence of the second repetitive feature, and evaluating the distribution of pixels in the first area and the distribution of pixels in the second area to determine a height difference between the first repetitive feature and the second repetitive feature.

In Example 28, the subject matter of Example 27 includes, wherein the operations further comprise capturing the first image using a mono camera system.

In Example 29, the subject matter of Examples 27-28 includes, wherein the second area is at a different observation angle than the first area.

In Example 30, the subject matter of Examples 27-29 includes, wherein the first repeated feature is a crop row and the second repeated feature is a furrow.

In Example 31, the subject matter of Examples 27-30 includes, wherein the operations further comprise transforming, prior to determining the distribution of pixels in the first area or the distribution of pixels in the second area, the first area and the second area to an image frame.

In Example 32, the subject matter of Examples 27-31 includes, wherein to obtain a distribution of pixels in the first area comprises calculating a centroid of a distribution of pixels in the first area in a color space.

In Example 33, the subject matter of Examples 27-32 includes, wherein obtaining a distribution of pixels in the first area comprises using an intensity level of pixels in the first area.

In Example 34, the subject matter of Example 33 includes, wherein the intensity level of pixels in the first area comprises a mean intensity level of pixels in the first area.

In Example 35, the subject matter of Examples 27-34 includes, wherein the operations further comprise obtaining the distribution of pixels in the first area based on an area of the first repeated feature that is occluded by the second feature.

In Example 36, the subject matter of Examples 27-35 includes, wherein determining the difference in height between the first repetitive feature and the second repetitive feature comprises calculating the difference in height using an observation angle of the first area and an observation angle of the second area.

In Example 37, the subject matter of Examples 27-36 includes, wherein determining the difference in height between the first repetitive feature and the second repetitive feature comprises calculating the difference in height using a difference between the first distribution and the second distribution.

In Example 38, the subject matter of Examples 27-37 includes, wherein: the first repeated feature comprises a first color, the second repeated feature comprises a second color, and determining the difference in height between the first repetitive feature and the second repetitive feature comprises identifying, a color space, a shift in the distribution of pixels in the first area, relative to the distribution of pixels in the second area, towards the first color in a color space.

In Example 39, the subject matter of Examples 27-38 includes, wherein the operations further comprise identifying, using the difference in height, a feature that is closet to a camera that captured the image.

Example 41 is an apparatus comprising means to implement of any of Examples 1-39.

Example 42 is a system to implement of any of Examples 1-39.

Example 43 is a method to implement of any of Examples 1-39.