A device comprising: a processing system including a processor; a communication system enabling the device to wirelessly communicate with a remote computer from which the device can receive instruction and send information, and a memory that stores executable instructions that, when executed by the processing system, perform operations, the operations comprising: obtaining video data from a single monocular camera, wherein the video data comprises a plurality of frames, wherein the single monocular camera is attached to a ground mobile robot that is travelling along a lane defined by a row of crops, wherein the ground mobile robot comprises a plurality of wheels and a plurality of encoders, wherein each of the plurality of wheels has associated therewith a respective one of the plurality of encoders, wherein the row of crops comprises a first plant stem, and wherein the plurality of frames include a depiction of the first plant stem; obtaining robot velocity data from the plurality of encoders, wherein the robot velocity data is determined based upon an average of encoder values from all of the plurality of encoders; performing foreground extraction on each of the plurality of frames of the video data, wherein the foreground extraction results in a plurality of foreground images; and determining, based upon the plurality of foreground images and based upon the robot velocity data, an estimated width of the first plant stem, wherein the determining comprises determining a ratio R, wherein R = V R / V x, wherein V R is an instantaneous robot velocity obtained via the robot velocity data and V x is an average horizontal foreground pixel velocity obtained via camera motion estimation using optical flow computed from the plurality of frames of the video data. a processing system including a processor; a communication system enabling the device to wirelessly communicate with a remote computer from which the device can receive instruction and send information, and a memory that stores executable instructions that, when executed by the processing system, perform operations, the operations comprising: obtaining video data from a single monocular camera, wherein the video data comprises a plurality of frames, wherein the single monocular camera is attached to a ground mobile robot that is travelling along a lane defined by a row of crops, wherein the ground mobile robot comprises a plurality of wheels and a plurality of encoders, wherein each of the plurality of wheels has associated therewith a respective one of the plurality of encoders, wherein the row of crops comprises a first plant stem, and wherein the plurality of frames include a depiction of the first plant stem; obtaining robot velocity data from the plurality of encoders, wherein the robot velocity data is determined based upon an average of encoder values from all of the plurality of encoders; performing foreground extraction on each of the plurality of frames of the video data, wherein the foreground extraction results in a plurality of foreground images; and determining, based upon the plurality of foreground images and based upon the robot velocity data, an estimated width of the first plant stem, wherein the determining comprises determining a ratio R, wherein R = V R / V x, wherein V R is an instantaneous robot velocity obtained via the robot velocity data and V x is an average horizontal foreground pixel velocity obtained via camera motion estimation using optical flow computed from the plurality of frames of the video data. obtaining video data from a single monocular camera, wherein the video data comprises a plurality of frames, wherein the single monocular camera is attached to a ground mobile robot that is travelling along a lane defined by a row of crops, wherein the ground mobile robot comprises a plurality of wheels and a plurality of encoders, wherein each of the plurality of wheels has associated therewith a respective one of the plurality of encoders, wherein the row of crops comprises a first plant stem, and wherein the plurality of frames include a depiction of the first plant stem; obtaining robot velocity data from the plurality of encoders, wherein the robot velocity data is determined based upon an average of encoder values from all of the plurality of encoders; performing foreground extraction on each of the plurality of frames of the video data, wherein the foreground extraction results in a plurality of foreground images; and determining, based upon the plurality of foreground images and based upon the robot velocity data, an estimated width of the first plant stem, wherein the determining comprises determining a ratio R, wherein R = V R / V x, wherein V R is an instantaneous robot velocity obtained via the robot velocity data and V x is an average horizontal foreground pixel velocity obtained via camera motion estimation using optical flow computed from the plurality of frames of the video data.