The present disclosure relates to a system and a method for detecting objects. More specifically, the present disclosure relates to the system and the method for detecting objects in an environment of a machine.
Machines such as, for example, wheel loaders, off-highway haul trucks, excavators, motor graders, and other types of earth-moving machines are used to perform a variety of tasks. Some of these tasks involve intermittently moving between and stopping at certain locations within a worksite. The worksites may have various objects that may provide hindrance in the movement of the machines within the worksite. The objects may comprise human, animals or other objects such as another machine, vehicles, tree, etc.
Generally, the machines have on board image capturing devices that may generate images of the environment of the machines. These images are processed by a controller, based on conventional object detection processes, which detects the presence of such objects in the environment of the machine. However, the conventional processes may result in a missed detection of the object or a false alarm about the presence of the object. The missed detection by the controller means that the object is not detected in the image and the false alarm means that the controller has detected the object, but the object is actually not present in the environment of the machine. The missed detection by the controller may lead to safety issues, while the false alarm may lead to operational and efficiency issues associated with the machine.
U.S. Pat. No. 9,524,426 (hereinafter the '426 reference) describes a human monitoring system that includes a plurality of cameras and a visual processor. The plurality of cameras are disposed about a workspace area, where each camera may capture a video feed that includes a plurality of image frames, and the plurality of image frames are time-synchronized between the respective cameras. The visual processor receives the plurality of image frames from the plurality of vision-based imaging devices and may detect the presence of a human from at least one of the plurality of image frames using pattern matching performed on an input image. The input image to the pattern matching is a sliding window portion of the image frame that is aligned with a rectified coordinate system such that a vertical axis in the workspace area is aligned with a vertical axis of the input image. However, the '426 reference, provides the detection information relying mainly on sliding window process which may lead to false alarm about the object detection in the image.
In an aspect of the present disclosure, a method for detecting an object in an environment of a machine is provided. The method comprises capturing, through an image capturing device, an image of the environment of the machine. The method comprises receiving, using a controller, the image of the environment of the machine from the image capturing device. The method further comprises receiving, using the controller, one or more internal parameters associated with an intrinsic calibration of the image capturing device. The method also comprises receiving, using the controller, one or more external parameters associated with an extrinsic calibration of the image capturing device. The method comprises applying, through the controller, an object detection process on one or more scaled versions of the image to detect the object and to determine a score indicating a probability that the object detected in the image matches a predefined set of characteristics. The method comprises determining, through the controller, a scale of the image in which the object is detected. The method comprises determining, through the controller, a first height of the object based on the scale of the image in which the object is detected. The method comprises determining, through the controller, a bounding box comprising a group of pixels defining the object detected in the image. The method comprises determining, through the controller, a minimum vertical pixel and a maximum vertical pixel associated with the object based on the group of pixels within the bounding box. The method comprises determining, through the controller, a range of the object based on the minimum vertical pixel, the one or more internal parameters and the one or more external parameters. The method comprises determining, through the controller, a second height of the object based on the range, the minimum vertical pixel, the maximum vertical pixel, the one or more internal parameters and the one or more external parameters. The method comprises comparing, through the controller, the first height with the second height. The method comprises modifying, through the controller, the score based on whether a difference between the first height and the second height meets a predetermined criterion.
In another aspect of the present disclosure, an object detection system for detecting the object in the environment of the machine is disclosed. The object detection system comprises the image capturing device configured to capture the image of the environment of the machine. The object detection system comprises the controller communicably coupled to the image capturing device. The controller is configured to receive the image of the environment of the machine from the image capturing device. The controller is configured to receive the one or more internal of parameters associated with the intrinsic calibration of the image capturing device. The controller is configured to receive the one or more external parameters associated with the extrinsic calibration of the image capturing device. The controller is configured to apply the object detection process on one or more scaled versions of the image to detect the object and to determine the score indicating a probability that the object detected in the image matches a predefined set of characteristics. The controller is configured to determine the scale of the image in which the object is detected. The controller is configured to determine the first height of the object based on the scale of the image in which the object is detected. The controller is configured to determine the bounding box comprising a group of pixels defining the object detected in the image. The controller is configured to determine the minimum vertical pixel and the maximum vertical pixel associated with the object based on the group of pixels within the bounding box. The controller is configured to determine the range of the object based on the minimum vertical pixel, the one or more internal parameters and the one or more external parameters. The controller is configured to determine the second height of the object based on the range, the minimum vertical pixel, the maximum vertical pixel, the one or more internal parameters and the one or more external parameters. The controller is configured to compare the first height with the second height. The controller is configured to modify the score based on whether the difference between the first height and the second height meets a predetermined criterion.
In yet another aspect of the present disclosure, a machine is disclosed. The machine comprises an upper swiveling body, a ground engaging element coupled to the upper swiveling body, and an engine to provide power to propel the machine. The machine further comprises an image capturing device configured to capture the image of the environment of the machine, wherein the image capturing device is located on the machine. The machine comprises a display configured to display the image of the environment of the machine. The machine comprises the controller communicably coupled to the image capturing device. The controller is configured to receive the image of the environment of the machine from the image capturing device. The controller is configured to receive the one or more internal of parameters associated with the intrinsic calibration of the image capturing device. The controller is configured to receive the one or more external parameters associated with the extrinsic calibration of the image capturing device. The controller is configured to apply the object detection process on one or more scaled versions of the image to detect the object and to determine the score indicating a probability that the object detected in the image matches a predefined set of characteristics. The controller is configured to determine the scale of the image in which the object is detected. The controller is configured to determine the first height of the object based on the scale of the image in which the object is detected. The controller is configured to determine the bounding box comprising a group of pixels defining the object detected in the image. The controller is configured to determine the minimum vertical pixel and the maximum vertical pixel associated with the object based on the group of pixels within the bounding box. The controller is configured to determine the range of the object based on the minimum vertical pixel, the one or more internal parameters and the one or more external parameters. The controller is configured to determine the second height of the object based on the range, the minimum vertical pixel, the maximum vertical pixel, the one or more internal parameters and the one or more external parameters. The controller is configured to compare the first height with the second height. The controller is configured to modify the score based on whether the difference between the first height and the second height meets the predetermined criterion.
Wherever possible, the same reference numbers will be used throughout the drawings to refer to same or like parts. In an embodiment,
The machine 100 includes an upper swiveling body 102 supported on an undercarriage assembly 103. The undercarriage assembly 103 may include ground engaging elements 104 such as, for example, tracks that facilitate the movement of the machine 100. The upper swiveling body 102 may be rotated about a generally vertical axis by a hydraulic device, such as a hydraulic motor (not shown), with respect to the undercarriage assembly 103.
The machine 100 further includes a working mechanism 106 for conducting work, such as, for example, to excavate landsides or otherwise to move material. The working mechanism 106 is an excavating mechanism including a boom 108, an arm 110, and a bucket 112, which serves as a front attachment. Additionally, the upper swiveling body 102 may include a counterweight 114 provided at a tail end. The machine 100 includes an engine (not shown) to provide power to propel the machine 100. For example, the engine may provide power to move the ground engaging elements 104 to propel the machine 100.
The machine 100 includes an operator station 116 coupled to the upper swiveling body 102. The operator station 116 includes a display 118 and may comprise other levers or controls for operating the machine 100. The machine 100 further includes an image capturing device 120 to capture an image of an environment of the machine 100. In the illustrated embodiment of
In the illustrated embodiment, the image capturing device 120 is mounted on the upper swiveling body 102. In one embodiment, the image capturing device 120 is a monocular camera. A monocular camera produces a two-dimensional (2D) image and is a bearing only sensor, meaning it does not provide range information for any object within the image. Embodiments of the image capturing device 120 may comprise cameras that are sensitive to the visual, infrared, or any other portion of the electromagnetic spectrum. In an embodiment, the image capturing device 120 may be a camera capable of capturing both still and moving images. In another embodiment, the image capturing device 120 may comprise a smart camera or a smart vision system having a dedicated on-board processor, including video processing acceleration provided by programmable state array (FPGA), digital signal processor (DSP), general purpose graphics processing unit (GP-GPU), or any other suitable microprocessor with supporting application software. In an embodiment, the image capturing device 120 may be electrically coupled to the display 118 to allow an operator to view the captured image on the display 118.
Further, the worksite 101, on which the machine 100 is operating, may have one or more objects 122. The object 122 may be defined by a set of characteristics such as height, width or other appearance characteristics. In an embodiment, the set of characteristics may be associated with one or more characteristics of a human. In other embodiments, the set of characteristics may be associated with other objects such as, but not limited to, animals, another machine, vehicle, tree, and a portion of the worksite 101, etc. An operator of the machine 100 may need to be informed of such objects 122 in the worksite 101 by means of an alarm or by displaying a warning on the display 118 of the machine 100.
The controller 202 includes a detection module 204 which may use any object detection process to detect a presence of the object 122 in the image. As shown in the exemplary embodiment of
The detection module 204 is further configured to determine a score 304 indicating a probability that the object 122, that is detected in the image 302, matches the predefined set of characteristics. The detection module 204 may use the score 304 to classify the detection windows 402 as relevant or irrelevant depending on whether the detection window 402 includes the object 122 matching the predefined set of characteristics.
Furthermore, the detection module 204 may use the sliding window process on one or more scaled versions of the image 302. As shown in
Referring to
Referring to
Referring to
To begin the calibration process, the pattern 1002 is placed on the ground in a position A as shown in the
The image capturing device 120 may include a calibration software to process the images captured during the calibration process. Alternatively, an external calibration software may be used to process the images captured during the calibration process.
In one embodiment, the images captured during the calibration process may be distorted due to one or more types of lens distortion.
As shown in
Referring to
Referring to
Subsequently, the controller 202 modifies the score 304 based on whether the difference 1302 of the first height 602 and the second height 1202 meets the predetermined criterion. In one embodiment, if the difference 1302 between the first height 602 and the second height 1202 of the object 122 is higher than a predetermined percentage value, the controller 202 may decrease the score 304 representing a lower probability of the object 122, that is detected, having the predefined set of characteristics. Accordingly, the controller 202 may determine that the detection of the object 122 is a false alarm. On the other hand, if the difference 1302 between the first height 602 and the second height 1202 is less than or equal to the predetermined percentage value, the controller 202 may increase the score 304 representing a higher probability of the object 122, that is detected, having the predefined set of characteristics.
Subsequently, the controller 202 may inform the operator of the machine 100 by sending a warning about the modified score. The warning may include an audio warning or a visual warning. In an example, when the controller 202 determines that the detection of the object 122 is a false alarm, the audio warning may announce to the operator that the object 122, that is detected, in the image 302, does not match with the predefined set of characteristics, and thus, the operator may continue the operation of the machine 100. Similarly, the visual warning may show the information about the false alarm on the display 118 of the machine 100. In another example, when the controller 202 determines that the detection of the object 122 is accurate, the audio warning may announce to the operator that the object 122, that is detected, is in vicinity of the machine 100, based on the information obtained through the range 906, and ask the operator to take necessary actions. Similarly, the visual warning may show the information about the presence of the object 122 and the distance of the object 122 from the machine 100, based on the information obtained through the range 906.
The present disclosure provides an improved method 1400 to detect the object 122 in the environment of the machine 100 as shown in
The image capturing device 120 captures the image 302 of the environment of the machine 100. The image capturing device 120 may be a monocular camera. In block 1402, the controller 202 receives the image 302 of the environment of the machine 100 from the image capturing device 120. The image capturing device 120 is calibrated using the processes known in the art to determine the calibration parameters. In block 1404, the controller 202 receives the one or more internal parameters 902 associated with intrinsic calibration of the image capturing device 120. The one or more internal parameters 902 may comprise a focal length, an optical center, a pixel azimuth angle and a pixel elevation angle, etc. In block 1406, the controller 202 receives the one or more external parameters 904 associated with extrinsic calibration of the image capturing device 120. The one or more external parameters 904 may comprise a roll, a pitch, a yaw, an angle of depression with respect to a ground level, a horizontal position, and a vertical position of the image capturing device 120, etc.
In block 1408, the controller 202 applies the object detection process on one or more scaled versions of the image 302 to detect the object 122 and to determine the score 304 indicating a probability that the object 122, that is detected in the image 302, matches the predefined set of characteristics. In one embodiment, the object detection process is a sliding window detection process. The predefined set of characteristics include at least a height of a specific type of the object 122. In block 1410, the controller 202 determines the scale 502 of the image 302 and the corresponding scale information identification 504. The scale information identification 504 may comprise the scale ratio, and other characteristics associated with the scale 502 of the image 302 in which the object 122 is detected. In block 1412, the controller 202 determines the first height 602 of the object 122 based on the scale 502 of the image 302 in which the object 122 is detected.
In block 1414, the controller 202 determines the bounding box 702 comprising the group of pixels defining the object 122 detected in the image 302. The controller 202 processes the window information identification 404 of the detection window 402 to determine a set of pixels or the bounding box 702 defining the object 122, that is detected. In block 1416, the controller 202 determines the minimum vertical pixel 706 and the maximum vertical pixel 704 associated with the object 122 based on the group of pixels within the bounding box 702.
In block 1418, the controller 202 determines the range 906 of the object 122 based on the minimum vertical pixel 706, the one or more internal parameters 902 and the one or more external parameters 904. In block 1420, the controller 202 determines the second height 1202 of the object 122 based on the range 906, the minimum vertical pixel 706, the maximum vertical pixel 704, the one or more internal parameters 902 and the one or more external parameters 904.
In block 1422, the controller 202 compares the first height 602 and the second height 1202. In block 1424, the controller 202 modifies the score 304 based on whether the difference 1302 of the first height 602 and the second height 1202 meets the predetermined criterion. In one embodiment, if the difference 1302 between the first height 602 and the second height 1202 of the object 122 is higher than a predetermined percentage value, the controller 202 may decrease the score 304 representing a lower probability of the object 122, that is detected, having the predefined set of characteristics. Accordingly, the controller 202 may determine that the detection of the object 122 is a false alarm. Accordingly, the controller 202 may send a warning to the operator of the machine 100 informing that the object 122, having the predefined set of characteristics, is not detected in the image 302. The controller 202 may show such information on the display 118 of the machine 100 or inform the operator through the audio warning. This may enable the operator to continue the operation of the machine 100 and thus reduces a down time of the machine 100.
While aspects of the present disclosure have been particularly shown and described with reference to the embodiments above, it will be understood by those skilled in the art that various additional embodiments may be contemplated by the modification of the disclosed machines, systems and methods without departing from the spirit and scope of what is disclosed. Such embodiments should be understood to fall within the scope of the present disclosure as determined based upon the claims and any equivalents thereof.