US20200143177A1 - Systems and methods of detecting moving obstacles - Google Patents

Systems and methods of detecting moving obstacles Download PDF

Info

Publication number
US20200143177A1
US20200143177A1 US16/179,223 US201816179223A US2020143177A1 US 20200143177 A1 US20200143177 A1 US 20200143177A1 US 201816179223 A US201816179223 A US 201816179223A US 2020143177 A1 US2020143177 A1 US 2020143177A1
Authority
US
United States
Prior art keywords
projected image
image
vehicle
sequence
scene
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US16/179,223
Other versions
US11436839B2 (en
Inventor
Felix Maximilian NASER
Igor Gilitschenski
Guy Rosman
Alexander Andre Amini
Fredo Durand
Antonio Torralba
Gregory WORNELL
William Freeman
Sertac Karaman
Daniela Rus
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Massachusetts Institute of Technology
Original Assignee
Massachusetts Institute of Technology
Toyota Research Institute Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Massachusetts Institute of Technology, Toyota Research Institute Inc filed Critical Massachusetts Institute of Technology
Priority to US16/179,223 priority Critical patent/US11436839B2/en
Assigned to MASSACHUSETTS INSTITUTE OF TECHNOLOGY reassignment MASSACHUSETTS INSTITUTE OF TECHNOLOGY ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: FREEMAN, WILLIAM, KARAMAN, Sertac, RUS, DANIELA, GILITSCHENSKI, IGOR, TORRALBA, ANTONIO, DURAND, FREDO, AMINI, ALEXANDER ANDRE, WORNELL, GREGORY, NASER, FELIX MAXIMILLIAN
Assigned to Toyota Research Institute, Inc. reassignment Toyota Research Institute, Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ROSMAN, GUY
Priority to US16/730,613 priority patent/US11010622B2/en
Publication of US20200143177A1 publication Critical patent/US20200143177A1/en
Priority to US17/085,641 priority patent/US20210049382A1/en
Application granted granted Critical
Publication of US11436839B2 publication Critical patent/US11436839B2/en
Assigned to TOYOTA JIDOSHA KABUSHIKI KAISHA reassignment TOYOTA JIDOSHA KABUSHIKI KAISHA ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: Toyota Research Institute, Inc.
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06K9/00805
    • G06K9/00369
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/007Dynamic range modification
    • G06T5/009Global, i.e. based on properties of the image as a whole
    • G06T5/73
    • G06T5/92

Definitions

  • the present disclosure relates to machine vision and detection of obstacles, more particularly to the detection of moving obstacles in an obstructed view.
  • Shadow removal is particularly relevant for improving visual localization, because it enables generating a more weather invariant representation of the environment.
  • Computer vision can also be used to recover or construct hidden scenes. Such techniques, which infer data about the hidden scenery, usually rely on time-of-flight cameras. Such systems are prone to interference from other unpredictable lighting sources and therefore mostly rely on carefully controlled environments.
  • the present disclosure provides systems and methods to detect occluded objects using shadow information to anticipate moving obstacles that are occluded behind a corner or other obstacle. Aspects of the disclosure may perform a dynamic threshold analysis on enhanced images allowing the detection of shadows weakly visible to the human eye in low signal-to-noise ratio cases (“SNR”).
  • SNR signal-to-noise ratio cases
  • the system may classify an image sequence as either “dynamic” or “static”, enabling an autonomous vehicle, or other moving platform, to react and avoid a potential collision by slowing down or stopping.
  • a method for detecting an unseen object by a vehicle is presented.
  • a sequence of images may be captured over a period with an image capture device.
  • the sequence may be stored in a cyclic buffer and each image in the cyclic buffer may be registered to a projected image.
  • the projected image may be enhanced and classified based on a scene determination.
  • a control signal may be issued to the vehicle upon classifying the projected image.
  • a system for detecting an unseen object may include an image capture device configured to capture a sequence of images of a period and a cyclic buffer configured to receive the sequence of images.
  • An image rectifier may be configured to register each of the images stored in the cyclic buffer into a projected image and an image processer may be configured to enhance the projected image.
  • An image classifier may be configured to classify the projected image as one of a static image or a dynamic image.
  • a vehicle interface in communication with a vehicle control may be configured to transmit a control signal to the vehicle control upon the classification of the projected image as a dynamic image.
  • a non-transitory computer-readable medium having program code recorded thereon for controlling a robotic device is disclosed.
  • the program code may be executed by a processor and include program code to capture a sequence of images over a period with an image capture device and to store the sequence in a cyclic buffer.
  • the program code may register each image on the cyclic buffer to a projected image and enhance the projected image.
  • the program code may classify the projected image based on a scene determination and issue a control signal to the vehicle upon classifying the projected image.
  • FIG. 1 is a conceptual diagram of an environment in which an object detection system may be implemented according to an aspect of the disclosure.
  • FIG. 2 is a process diagram of an object detection system according to an aspect of the disclosure.
  • FIGS. 3 a - b depict processed image data according to an aspect of the disclosure.
  • FIG. 4 is a diagram illustrating an example of a hardware implementation for a scene classifier system, according to aspects of the present disclosure.
  • FIG. 5 is a flow diagram of a method of detecting an object according to an aspect of the disclosure.
  • the present disclosure generally provides systems and methods of detecting objects outside the line-of-sight from a moving platform or vehicle.
  • the disclosed systems and methods may perceive moving obstacles even when those obstacles are occluded behind an object or around a corner or other static obstacles, such as parked cars.
  • the detection of unseen moving objects by observing changes in illuminance may provide for a controller or other device on the vehicle to predict, anticipate and take preventative action to avoid potential conflicts and dangerous situations between the trajectories of the occluded object and the vehicle.
  • aspects of the disclosed system rely on shadow information as a signal and feature, whereas normally shadows are treated as unwanted noise.
  • FIG. 1 depicts an exemplary conceptual environment in which an object detection system 100 may be implemented according to an aspect of the disclosure.
  • a vehicle 102 or other moving platform, may be equipped with an object detection system 100 including an image capture device 101 such as a camera, or other passive sensors such as thermographic or infrared cameras.
  • the vehicle may be an automobile, autonomous vehicle, semi-autonomous vehicle, mobile robotic platform, wheelchair, or the like.
  • the object detection system 100 may be configured to detect the presence of an object, such as a pedestrian 104 , around a corner 106 , or other obstruction, that blocks or impedes a line-of-sight 103 of the vehicle 102 .
  • a pedestrian 104 may be moving towards the same intersection 110 .
  • the pedestrian 104 may be occluded from the vehicle's 102 line-of-sight 103 behind a wall 112 of a building 114 , and thus the vehicle 102 may be unaware of the pedestrian 104 moving towards the intersection 110 .
  • the object detection system 100 may perceive a change in illumination in the intersection and cause the vehicle 102 to respond accordingly. For example, a street light 116 , or other environmental illumination source may cast a shadow 118 of the pedestrian 104 into the intersection 110 .
  • a pronounced and observable cue from the change in illumination generated by a moving object, such as the pedestrian 104 may be perceived by the object detection system 100 .
  • the change in illumination depicted in FIG. 1 as the movement of the shadow 118 to a displaced shadow 118 ′, may be used to predict the movement of the pedestrian 104 and its potential intersection with the vehicle 102 if both the vehicle 102 and the pedestrian 104 were to continue on their present trajectories. While the displaced shadow 118 ′ is shown as having moved further into the intersection, one skilled in the art will recognize that the displaced shadow 118 ′ is shown in such a manner to reflect a change in illumination, and not necessarily a lateral movement of the shadow itself.
  • Inferring motion around corners may be accomplished in either daylight or night time. At night, detection of changes in illumination may be more easily discernable due to the contrast of the light and dark surrounding areas. It becomes considerably more challenging, however, to infer motion during daytime or while operating a vehicle in a well-lit environment as it requires motion detection given a poor signal-to-noise ratio (SNR) due to a sometimes barely visible shadow. In these scenarios, shadows may be enhanced and used as a cue, providing information on whether a potential obstacle behind a corner is present and in motion. According to one aspect of the disclosure, size, speed, direction, number, or other characteristics of an unseen object may be determined.
  • the problem of anticipating potential collisions with moving obstacles that are occluded behind a corner 106 may be solved using a dynamic threshold on color-amplified, or otherwise enhanced, images. Doing so may allow the detection of shadows, even those shadows weakly visible to a human eye and affirmative use of the shadow information to assist in controlling the vehicle.
  • the object detection system 100 may obtain and classify an image sequence as either “dynamic” or “static” or give a probability of dynamic movement, enabling the vehicle 102 to react and take appropriate action, such as slowing down or stopping as the vehicle 102 approaches the intersection 110 .
  • FIG. 2 depicts a process flow 200 of the object detection system 100 according to an aspect of the disclosure.
  • a camera, or other image capture device may obtain a sequence of images 202 over time as the vehicle travels down a roadway or other trajectory.
  • the images may be collected and input into a cyclic buffer.
  • the system may use a cyclic frame buffer approach to achieve real-time performance. That is, the system may output a detection result whenever a new image fulfills the requirements to get appended to the sequence.
  • the requirements may include appropriately identified markers in the environment and region of interest (ROI) in which the camera is looking, as well as image quality condition.
  • ROI region of interest
  • Another approach to identify the ROI may rely on feature tracking, on a neural-net-based approach or on other ego motion estimation techniques, such as visual odometry.
  • a new image may be obtained and added to the buffer while the oldest image is cycled out of the buffer.
  • These images may be processed in an image registration and ROI operation 204 , or image rectifier, to combine the image data from each of the images collected in the cyclic buffer.
  • This stabilization step is optional and dependent on the structure of the classifier.
  • the ROI may be discernable by the system based on static markers or features of the environment and roadway, such as sidewalks, lane lines, reflectors or other fixed environmental features by which the system can identify the intersection and location of where important image data may be obtained.
  • a homography, h may be generated for each frame to be projected to the viewpoint of the first frame in the sequence.
  • the system may apply image registration to all frames i in the current sequence j according to:
  • the system may crop the projected image according to the identified ROI.
  • the system may down-sample each cropped and registered image using bilinear interpolation to a 100 ⁇ 100 patch:
  • the image data may undergo a pre-processing operation 206 to enhance the image data to more readily identify the changes in illumination.
  • Pre-processing techniques by which the image data may be enhanced may include, without limitation, color amplification, contrast enhancement, linear or non-linear filtering, or the like.
  • the pre-processing operation may include a dynamic color amplification.
  • the system may determine the mean image of all of the down sampled images according to:
  • the mean image may be subtracted from each frame in the current sequence and a Gaussian blur may be applied before the difference to the mean is amplified.
  • the difference images may be computed according to:
  • G is a linear blur filter of size k using isotropic Gaussian kernels with a covariance matrix diag( ⁇ 2 , ⁇ 2 ).
  • ‘ ⁇ ’ may be considered an amplification parameter as it amplifies the difference to the mean image.
  • k may be set to 3 and ⁇ may be set to 5. This may enhance the image data using color amplification and helps to improve the detectability of a shadow, even if the original signal is invisible to the human eye. This process may increase the SNR ratio.
  • a temporal low-pass filter may be applied according to:
  • t j,i is the filtered result of the difference images d j,i .
  • the system may analyze the enhanced image data in order to make a classification as to whether the object behind the obstacle, or around the corner, is moving.
  • the system may classify the image data, and the detected object, as static or dynamic.
  • a threshold may be applied as to whether the image data is static or dynamic. The difference may be taken from the mean of each channel of the filtered frame as a criterion to determine motion with respect to the standard deviation of the filtered image:
  • An underlying assumption may be made that dynamic pixels, i.e., those representing movement, are further away from the mean, since their values change more drastically.
  • a combination of dilation and erosion techniques may be used to first connect pixels which were classified as motion. Erosion may be used to reduce noise.
  • Morphological ellipse elements with two different kernel sizes may be applied according to:
  • a camera-specific threshold may be applied. For example, a the threshold percentage of pixels classified as “dynamic” may be set for different camera types, such as a webcam or high-quality DLSR in order to classify the entire scene as dynamic.
  • the noise of the camera may be to be correlated with the choice of the threshold. That is, a less noisy image may result in fewer mis-qualified pixels, which, in turn, results in a lower threshold. Therefore, a better camera, with a high frame rate and resolution, and a better image registration quality may lead to a smaller threshold.
  • FIGS. 3 a - b depict conceptual images of registered and pre-processed image data, according to one aspect of the disclosure.
  • FIG. 3 a depicts a representation where no movement is discerned, indicating either a lack of presence of an object, or a stationary object.
  • FIG. 3 b depicts a registered and pre-processed image in which the differentiated pixels 302 of the image map, and their various colors or shades, indicate movement of an object. The sum of the pixel values in the processed image may be compared to a threshold value to determine if the movement is significant enough to classify the image as dynamic.
  • a temporal filter on the detection results may be run to further smooth the signal.
  • Other outlier rejection methods may also be used to produce a smoothed-out signal.
  • This output signal may be used to control the vehicle or for validation purposes.
  • the system may output a control signal or operation to the vehicle to take action based upon the detected object and its movement, if any. If the scene is identified and classified as dynamic, the control signal, in an autonomous or semi-autonomous vehicle, or the like, may include a control operation to slow the vehicle down, stop the vehicle or take other preventative actions.
  • FIG. 4 is a diagram illustrating an example of a hardware implementation for a scene classification system 400 , according to aspects of the present disclosure.
  • the scene classification system 400 may be a component of a vehicle, a robotic device, or other device.
  • the scene classification system 400 may be a component of a car 428 .
  • Aspects of the present disclosure are not limited to the scene classification system 400 being a component of the car 428 , as other devices, such as an ego vehicle, bus, boat, wheelchair, drone, or robot, are also contemplated for using the scene classification system 400 .
  • the car 428 may be autonomous or semi-autonomous.
  • the scene classification system 400 may be implemented with a bus architecture, represented generally by a bus 430 .
  • the bus 430 may include any number of interconnecting buses and bridges depending on the specific application of the scene classification system 400 and the overall design constraints.
  • the bus 430 may link together various circuits including one or more processors and/or hardware modules, represented by a processor 420 , a communication module 422 , a location module 418 , a sensor module 402 , a locomotion module 426 , a planning module 424 , and a computer-readable medium 414 .
  • the bus 430 may also link various other circuits such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further.
  • the scene classification system 400 may include a transceiver 416 coupled to the processor 420 , the sensor module 402 , a scene classifier 408 , the communication module 422 , the location module 418 , the locomotion module 426 , the planning module 424 , and the computer-readable medium 414 .
  • the transceiver 416 is coupled to an antenna 434 .
  • the transceiver 416 communicates with various other devices over a transmission medium. For example, the transceiver 416 may receive commands via transmissions from a user or a remote device. As another example, the transceiver 416 may transmit driving statistics and information from the PPS generator 408 to a server (not shown).
  • the scene classifier system 400 may include the processor 420 coupled to the computer-readable medium 414 .
  • the processor 420 may perform processing, including the execution of software stored on the computer-readable medium 414 providing functionality according to the disclosure.
  • the software when executed by the processor 420 , causes the scene classifier system 400 to perform the various functions described for a particular device, such as the car 428 , or any of the modules 402 , 408 , 414 , 416 , 418 , 420 , 422 , 424 , 426 .
  • the computer-readable medium 414 may also be used for storing data that is manipulated by the processor 420 when executing the software.
  • the sensor module 402 may be used to obtain measurements via different sensors, such as a first sensor 406 and a second sensor 404 .
  • the first sensor 406 may be a vision sensor, such as a stereoscopic camera or a red-green-blue (RGB) camera, for capturing 2D images.
  • the second sensor 404 may be a ranging sensor, such as a light detection and ranging (LIDAR) sensor or a radio detection and ranging (RADAR) sensor.
  • LIDAR light detection and ranging
  • RADAR radio detection and ranging
  • aspects of the present disclosure are not limited to the aforementioned sensors as other types of sensors, such as, for example, thermal, sonar, and/or lasers are also contemplated for either of the sensors 404 , 406 .
  • the measurements of the first sensor 406 and the second sensor 404 may be processed by one or more of the processor 420 , the sensor module 402 , the scene classifier 408 , the communication module 422 , the location module 418 , the locomotion module 426 , the planning module 424 , in conjunction with the computer-readable medium 414 to implement the functionality described herein.
  • the data captured by the first sensor 406 and the second sensor 404 may be transmitted to an external device via the transceiver 416 .
  • the first sensor 406 and the second sensor 404 may be coupled to the car 428 or may be in communication with the car 428 .
  • the location module 418 may be used to determine a location of the car 428 .
  • the location module 418 may use a global positioning system (GPS) to determine the location of the car 428 .
  • the communication module 422 may be used to facilitate communications via the transceiver 416 .
  • the communication module 422 may be configured to provide communication capabilities via different wireless protocols, such as WiFi, long term evolution (LTE), 3G, etc.
  • the communication module 422 may also be used to communicate with other components of the car 428 that are not modules of the scene classifier system 400 .
  • the locomotion module 426 may be used to facilitate locomotion of the car 428 .
  • the locomotion module 426 may control movement of the wheels.
  • the locomotion module 426 may be in communication with a power source of the car 428 , such as an engine or batteries.
  • a power source of the car 428 such as an engine or batteries.
  • aspects of the present disclosure are not limited to providing locomotion via wheels and are contemplated for other types of components for providing locomotion, such as propellers, treads, fins, and/or jet engines.
  • the scene classifier system 400 may also include the planning module 424 for planning a route or controlling the locomotion of the car 428 , via the locomotion module 426 , based on the analysis performed by the scene classifier 408 .
  • the planning module 424 overrides the user input when the user input is expected (e.g., predicted) to cause a collision.
  • the modules may be software modules running in the processor 420 , resident/stored in the computer-readable medium 414 , one or more hardware modules coupled to the processor 420 , or some combination thereof.
  • the scene classifier 408 may be in communication with the sensor module 402 , the transceiver 416 , the processor 420 , the communication module 422 , the location module 418 , the locomotion module 426 , the planning module 424 , and the computer-readable medium 414 .
  • the scene classifier may receive sensor data from the sensor module 402 .
  • the sensor module 402 may receive the sensor data from the first sensor 406 and the second sensor 404 .
  • the sensor module 402 may filter the data to remove noise, encode the data, decode the data, merge the data, extract frames, or perform other functions.
  • the scene classifier 408 may receive sensor data directly from the first sensor 406 and the second sensor 404 .
  • the scene classifier 408 may be used to classify an environmental scene as detailed herein.
  • the scene classifier 408 may detect an unseen object around a corner or behind an obstacle.
  • the scene classifier 408 may receive information from one of the sensors 404 , 406 , such as a series of images for input into a cyclic buffer. Those images may be processed, enhanced and registered, as described herein, and the scene classifier may classify the environment based on any perceived motion or change in illumination of the images in the cyclic buffer.
  • the scene classifier may determine the environment as static or dynamic, or may assign a probability of dynamic movement based upon the image processed image information.
  • the scene classifier 408 may output the classification to one or more of the sensor modules 402 , the transceiver 416 , the processor 420 , the communication module 422 , the location module 418 , the locomotion module 426 , the planning module 424 , and the computer-readable medium 414 .
  • the classification output may be used to control the car 428 in response to the classification. For example, the if the scene is classified as dynamic, or has a high probability of being dynamic, signals may be transmitted to the communication module 422 , the location module 418 , the locomotion module 426 , the planning module 424 , and the computer-readable medium 414 such that the car 428 may take corrective action, such as slowing down or stopping. In such a manner the scene classifier 408 may use shadow information as a signal, instead of noise, to generate or perceive affirmative and useful information in the scene for the purpose of controlling the car 428 .
  • FIG. 5 depicts a flow diagram 500 of an scene classification method, implemented in an autonomous or semi-autonomous vehicle, according to one aspect of the present disclosure.
  • a scene classification method may begin, as shown in block 502 , by obtaining a sequence of images from a camera, such as an RGB camera.
  • the images obtained may be input into a cyclic buffer where they may undergo a registration and ROI determination process, as shown in block 506 .
  • the sequence of images may be registered in to a single projected image in which one or more ROIs may be determined from the projected image data.
  • the projected image may under preprocessing to enhance the image data to more readily determine changes in illumination.
  • the projected image may be enhanced using any number of image processing techniques, including but not limited to, color amplification, contrast enhancement, linear or non-linear filtering, or the like.
  • the method 500 may analyze the enhanced image data in order to make a classification as to whether a moving, unseen object is perceived.
  • substantial changes in illumination and more specifically, the pixel values of the sequence of images and the combined projected image, may form a perception of movement of an object around a corner or behind an obstruction.
  • the system may classify the image data and consequently the scene and the detected object, as static or dynamic.
  • a signal may be transmitted to a communications or control system which may then take appropriate action, such as alerting an operator or a passenger, or causing the vehicle to stop or slow down.
  • the method 500 may be run cyclically or periodically according to a chosen frequency of image captures. Once a classification is made, or a given period of time has passed, a new image may be obtained by the camera and cycled into the buffer, replacing or pushing the oldest image out. The updated sequence of images may then undergo the process as detailed above, providing an updated scene classification as the vehicle travels through the environment.
  • determining encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Additionally, “determining” may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Furthermore, “determining” may include resolving, selecting, choosing, establishing, and the like.
  • a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members.
  • “at least one of: a, b, or c” is intended to cover: a, b, c, a-b, a-c, b-c, and a-b-c.
  • the various illustrative logical blocks, modules and circuits described in connection with the present disclosure may be implemented or performed with a processor specially configured to perform the functions discussed in the present disclosure.
  • the processor may be a neural network processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components or any combination thereof designed to perform the functions described herein.
  • the processing system may comprise one or more neuromorphic processors for implementing the neuron models and models of neural systems described herein.
  • the processor may be a microprocessor, controller, microcontroller, or state machine specially configured as described herein.
  • a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or such other special configuration, as described herein.
  • a software module may reside in storage or machine readable medium, including random access memory (RAM), read only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, a hard disk, a removable disk, a CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • registers a hard disk, a removable disk, a CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.
  • a software module may comprise a single instruction, or many instructions, and may be distributed over several different code segments, among different programs, and across multiple storage media.
  • a storage medium may be coupled to a processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
  • the methods disclosed herein comprise one or more steps or actions for achieving the described method.
  • the method steps and/or actions may be interchanged with one another without departing from the scope of the claims.
  • the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.
  • an example hardware configuration may comprise a processing system in a device.
  • the processing system may be implemented with a bus architecture.
  • the bus may include any number of interconnecting buses and bridges depending on the specific application of the processing system and the overall design constraints.
  • the bus may link together various circuits including a processor, machine-readable media, and a bus interface.
  • the bus interface may be used to connect a network adapter, among other things, to the processing system via the bus.
  • the network adapter may be used to implement signal processing functions.
  • a user interface e.g., keypad, display, mouse, joystick, etc.
  • the bus may also link various other circuits such as timing sources, peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further.
  • the processor may be responsible for managing the bus and processing, including the execution of software stored on the machine-readable media.
  • Software shall be construed to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
  • the machine-readable media may be part of the processing system separate from the processor.
  • the machine-readable media, or any portion thereof may be external to the processing system.
  • the machine-readable media may include a transmission line, a carrier wave modulated by data, and/or a computer product separate from the device, all which may be accessed by the processor through the bus interface.
  • the machine-readable media, or any portion thereof may be integrated into the processor, such as the case may be with cache and/or specialized register files.
  • the various components discussed may be described as having a specific location, such as a local component, they may also be configured in various ways, such as certain components being configured as part of a distributed computing system.
  • the machine-readable media may comprise a number of software modules.
  • the software modules may include a transmission module and a receiving module. Each software module may reside in a single storage device or be distributed across multiple storage devices.
  • a software module may be loaded into RANI from a hard drive when a triggering event occurs.
  • the processor may load some of the instructions into cache to increase access speed.
  • One or more cache lines may then be loaded into a special purpose register file for execution by the processor.
  • Computer-readable media include both computer storage media and communication media including any storage medium that facilitates transfer of a computer program from one place to another.
  • modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by a user terminal and/or base station as applicable.
  • a user terminal and/or base station can be coupled to a server to facilitate the transfer of means for performing the methods described herein.
  • various methods described herein can be provided via storage means, such that a user terminal and/or base station can obtain the various methods upon coupling or providing the storage means to the device.
  • any other suitable technique for providing the methods and techniques described herein to a device can be utilized.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Image Analysis (AREA)

Abstract

The present disclosure provides systems and methods to detect occluded objects using shadow information to anticipate moving obstacles that are occluded behind a corner or other obstacle. The system may perform a dynamic threshold analysis on enhanced images allowing the detection of even weakly visible shadows. The system may classify an image sequence as either “dynamic” or “static”, enabling an autonomous vehicle, or other moving platform, to react and respond to a moving, yet occluded object by slowing down or stopping.

Description

    FIELD OF TECHNOLOGY
  • The present disclosure relates to machine vision and detection of obstacles, more particularly to the detection of moving obstacles in an obstructed view.
  • BACKGROUND
  • The introduction and exploration of machine vision, machine learning and autonomous vehicles has led to many advances in the perception for mobile robotics and autonomous vehicles in non-line-of-sight (NLoS) scenarios. Existing systems in this context rely on ultra-wideband (UWB) systems for localization and expands to use WiFi signals for NLoS perception. One possible approach for mobile robotics explicitly seeing around corners uses a drone or other unmanned aerial vehicle (UAV) which can be launched from a car as an additional source of information. Such an approach requires extensive and expensive hardware infrastructure, assumptions about the occluding material, and deployment of drones. Consideration of occlusion for intelligent transportation systems primarily has focused on improved tracking by improving detectors and detection of other vehicles and pedestrians while assuming partial visibility or a merely a temporary occlusion. Explicit modelling of occlusions has also been used for broader scene understanding.
  • In machine vision and learning systems, processing of shadows focuses on their removal. For mobile robotics, shadow removal is particularly relevant for improving visual localization, because it enables generating a more weather invariant representation of the environment. Computer vision can also be used to recover or construct hidden scenes. Such techniques, which infer data about the hidden scenery, usually rely on time-of-flight cameras. Such systems are prone to interference from other unpredictable lighting sources and therefore mostly rely on carefully controlled environments.
  • SUMMARY
  • The present disclosure provides systems and methods to detect occluded objects using shadow information to anticipate moving obstacles that are occluded behind a corner or other obstacle. Aspects of the disclosure may perform a dynamic threshold analysis on enhanced images allowing the detection of shadows weakly visible to the human eye in low signal-to-noise ratio cases (“SNR”). The system may classify an image sequence as either “dynamic” or “static”, enabling an autonomous vehicle, or other moving platform, to react and avoid a potential collision by slowing down or stopping.
  • According to an aspect of the present disclosure, a method for detecting an unseen object by a vehicle is presented. According to the method, a sequence of images may be captured over a period with an image capture device. The sequence may be stored in a cyclic buffer and each image in the cyclic buffer may be registered to a projected image. The projected image may be enhanced and classified based on a scene determination. A control signal may be issued to the vehicle upon classifying the projected image.
  • According to another aspect of the present disclosure, a system for detecting an unseen object is disclosed. The system may include an image capture device configured to capture a sequence of images of a period and a cyclic buffer configured to receive the sequence of images. An image rectifier may be configured to register each of the images stored in the cyclic buffer into a projected image and an image processer may be configured to enhance the projected image. An image classifier may be configured to classify the projected image as one of a static image or a dynamic image. A vehicle interface in communication with a vehicle control may be configured to transmit a control signal to the vehicle control upon the classification of the projected image as a dynamic image.
  • According to another aspect of the present disclosure, a non-transitory computer-readable medium having program code recorded thereon for controlling a robotic device is disclosed. The program code may be executed by a processor and include program code to capture a sequence of images over a period with an image capture device and to store the sequence in a cyclic buffer. The program code may register each image on the cyclic buffer to a projected image and enhance the projected image. The program code may classify the projected image based on a scene determination and issue a control signal to the vehicle upon classifying the projected image.
  • This has outlined, rather broadly, the features and technical advantages of the present disclosure in order that the detailed description that follows may be better understood. Additional features and advantages of the present disclosure will be described below. It should be appreciated by those skilled in the art that this present disclosure may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the teachings of the present disclosure as set forth in the appended claims. The novel features, which are believed to be characteristic of the present disclosure, both as to its organization and method of operation, together with further objects and advantages, will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present disclosure.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Aspects of devices, systems, and methods are illustrated in the figures of the accompanying drawings which are meant to be exemplary and non-limiting, in which like references are intended to refer to like or corresponding parts, and in which:
  • FIG. 1 is a conceptual diagram of an environment in which an object detection system may be implemented according to an aspect of the disclosure.
  • FIG. 2 is a process diagram of an object detection system according to an aspect of the disclosure.
  • FIGS. 3a-b depict processed image data according to an aspect of the disclosure.
  • FIG. 4 is a diagram illustrating an example of a hardware implementation for a scene classifier system, according to aspects of the present disclosure.
  • FIG. 5 is a flow diagram of a method of detecting an object according to an aspect of the disclosure.
  • DETAILED DESCRIPTION
  • The present disclosure generally provides systems and methods of detecting objects outside the line-of-sight from a moving platform or vehicle. According to one aspect, the disclosed systems and methods may perceive moving obstacles even when those obstacles are occluded behind an object or around a corner or other static obstacles, such as parked cars. The detection of unseen moving objects by observing changes in illuminance may provide for a controller or other device on the vehicle to predict, anticipate and take preventative action to avoid potential conflicts and dangerous situations between the trajectories of the occluded object and the vehicle. Aspects of the disclosed system rely on shadow information as a signal and feature, whereas normally shadows are treated as unwanted noise.
  • FIG. 1 depicts an exemplary conceptual environment in which an object detection system 100 may be implemented according to an aspect of the disclosure. A vehicle 102, or other moving platform, may be equipped with an object detection system 100 including an image capture device 101 such as a camera, or other passive sensors such as thermographic or infrared cameras. The vehicle may be an automobile, autonomous vehicle, semi-autonomous vehicle, mobile robotic platform, wheelchair, or the like. The object detection system 100 may be configured to detect the presence of an object, such as a pedestrian 104, around a corner 106, or other obstruction, that blocks or impedes a line-of-sight 103 of the vehicle 102. For example, as a vehicle 102 may be traveling down a roadway 108 towards an intersection 110, a pedestrian 104 may be moving towards the same intersection 110. The pedestrian 104 may be occluded from the vehicle's 102 line-of-sight 103 behind a wall 112 of a building 114, and thus the vehicle 102 may be unaware of the pedestrian 104 moving towards the intersection 110. The object detection system 100, according to one aspect of the present disclosure, may perceive a change in illumination in the intersection and cause the vehicle 102 to respond accordingly. For example, a street light 116, or other environmental illumination source may cast a shadow 118 of the pedestrian 104 into the intersection 110. According to one aspect, a pronounced and observable cue from the change in illumination generated by a moving object, such as the pedestrian 104, may be perceived by the object detection system 100. The change in illumination, depicted in FIG. 1 as the movement of the shadow 118 to a displaced shadow 118′, may be used to predict the movement of the pedestrian 104 and its potential intersection with the vehicle 102 if both the vehicle 102 and the pedestrian 104 were to continue on their present trajectories. While the displaced shadow 118′ is shown as having moved further into the intersection, one skilled in the art will recognize that the displaced shadow 118′ is shown in such a manner to reflect a change in illumination, and not necessarily a lateral movement of the shadow itself.
  • Inferring motion around corners may be accomplished in either daylight or night time. At night, detection of changes in illumination may be more easily discernable due to the contrast of the light and dark surrounding areas. It becomes considerably more challenging, however, to infer motion during daytime or while operating a vehicle in a well-lit environment as it requires motion detection given a poor signal-to-noise ratio (SNR) due to a sometimes barely visible shadow. In these scenarios, shadows may be enhanced and used as a cue, providing information on whether a potential obstacle behind a corner is present and in motion. According to one aspect of the disclosure, size, speed, direction, number, or other characteristics of an unseen object may be determined.
  • According to one aspect, the problem of anticipating potential collisions with moving obstacles that are occluded behind a corner 106 may be solved using a dynamic threshold on color-amplified, or otherwise enhanced, images. Doing so may allow the detection of shadows, even those shadows weakly visible to a human eye and affirmative use of the shadow information to assist in controlling the vehicle. The object detection system 100 may obtain and classify an image sequence as either “dynamic” or “static” or give a probability of dynamic movement, enabling the vehicle 102 to react and take appropriate action, such as slowing down or stopping as the vehicle 102 approaches the intersection 110.
  • FIG. 2 depicts a process flow 200 of the object detection system 100 according to an aspect of the disclosure. A camera, or other image capture device, may obtain a sequence of images 202 over time as the vehicle travels down a roadway or other trajectory. The images may be collected and input into a cyclic buffer. The system may use a cyclic frame buffer approach to achieve real-time performance. That is, the system may output a detection result whenever a new image fulfills the requirements to get appended to the sequence. The requirements may include appropriately identified markers in the environment and region of interest (ROI) in which the camera is looking, as well as image quality condition. Another approach to identify the ROI may rely on feature tracking, on a neural-net-based approach or on other ego motion estimation techniques, such as visual odometry. As time passes, a new image may be obtained and added to the buffer while the oldest image is cycled out of the buffer.
  • These images may be processed in an image registration and ROI operation 204, or image rectifier, to combine the image data from each of the images collected in the cyclic buffer. This stabilization step is optional and dependent on the structure of the classifier. The ROI may be discernable by the system based on static markers or features of the environment and roadway, such as sidewalks, lane lines, reflectors or other fixed environmental features by which the system can identify the intersection and location of where important image data may be obtained. Once a new image gets appended to the sequence, a homography, h, may be generated for each frame to be projected to the viewpoint of the first frame in the sequence. In other words the system may apply image registration to all frames i in the current sequence j according to:

  • f j,i(x, y)=f j,i′(h(x), h(y))
  • After the image registration step, the system may crop the projected image according to the identified ROI. To reduce noise, the system may down-sample each cropped and registered image using bilinear interpolation to a 100×100 patch:

  • f j,i=resize(f j,i, (w, h))
  • After registration and identification of the ROI the image data may undergo a pre-processing operation 206 to enhance the image data to more readily identify the changes in illumination. Pre-processing techniques by which the image data may be enhanced may include, without limitation, color amplification, contrast enhancement, linear or non-linear filtering, or the like. According to one aspect, the pre-processing operation may include a dynamic color amplification. The system may determine the mean image of all of the down sampled images according to:
  • f _ j = 1 n i = 1 n f j , i
  • The mean image may be subtracted from each frame in the current sequence and a Gaussian blur may be applied before the difference to the mean is amplified. For example, the difference images may be computed according to:

  • d j,i =|G((f j,i f j), k, σ)|*α
  • where G is a linear blur filter of size k using isotropic Gaussian kernels with a covariance matrix diag(σ2, σ2). ‘σ’ may be chosen depending on k according to σ=0.3·((k−1)·0.5−1)+0.8. ‘α’ may be considered an amplification parameter as it amplifies the difference to the mean image. According to one illustrative aspect, k may be set to 3 and α may be set to 5. This may enhance the image data using color amplification and helps to improve the detectability of a shadow, even if the original signal is invisible to the human eye. This process may increase the SNR ratio. After the frame is color amplified, a temporal low-pass filter may be applied according to:

  • t j,i =d j,i *t+d j,i-1*(1−t)
  • where tj,i is the filtered result of the difference images dj,i.
  • After the image data has undergone the pre-processing operation, the system may analyze the enhanced image data in order to make a classification as to whether the object behind the obstacle, or around the corner, is moving. The system may classify the image data, and the detected object, as static or dynamic. To become more robust against varying sizes and shapes of corners and varying light conditions, a threshold may be applied as to whether the image data is static or dynamic. The difference may be taken from the mean of each channel of the filtered frame as a criterion to determine motion with respect to the standard deviation of the filtered image:
  • c i , j = { 0 , t j , i - t _ i , j w * σ ( t j , i ) 1 , t j , i - t _ i , j > w * σ ( t j , i )
  • where w is a tunable parameter that depends on noise distribution, preferably set to w=2. An underlying assumption may be made that dynamic pixels, i.e., those representing movement, are further away from the mean, since their values change more drastically. A combination of dilation and erosion techniques may be used to first connect pixels which were classified as motion. Erosion may be used to reduce noise. Morphological ellipse elements with two different kernel sizes may be applied according to:

  • c j,i=dilate(c j,i, 1),

  • c j,i=erode(c j,i, 3)
  • All pixels may then be summed under an intuitive assumption that more movement in between frames will result in a higher sum.
  • s j = i = 1 n c j , i ( x , y )
  • To classify the whole sequence as either “dynamic” or “static” a camera-specific threshold may be applied. For example, a the threshold percentage of pixels classified as “dynamic” may be set for different camera types, such as a webcam or high-quality DLSR in order to classify the entire scene as dynamic. The noise of the camera may be to be correlated with the choice of the threshold. That is, a less noisy image may result in fewer mis-qualified pixels, which, in turn, results in a lower threshold. Therefore, a better camera, with a high frame rate and resolution, and a better image registration quality may lead to a smaller threshold.
  • FIGS. 3a-b depict conceptual images of registered and pre-processed image data, according to one aspect of the disclosure. FIG. 3a depicts a representation where no movement is discerned, indicating either a lack of presence of an object, or a stationary object. FIG. 3b , on the other hand, depicts a registered and pre-processed image in which the differentiated pixels 302 of the image map, and their various colors or shades, indicate movement of an object. The sum of the pixel values in the processed image may be compared to a threshold value to determine if the movement is significant enough to classify the image as dynamic.
  • After a classification of static or dynamic is made, a temporal filter on the detection results may be run to further smooth the signal. Other outlier rejection methods may also be used to produce a smoothed-out signal. This output signal may be used to control the vehicle or for validation purposes. The system may output a control signal or operation to the vehicle to take action based upon the detected object and its movement, if any. If the scene is identified and classified as dynamic, the control signal, in an autonomous or semi-autonomous vehicle, or the like, may include a control operation to slow the vehicle down, stop the vehicle or take other preventative actions.
  • FIG. 4 is a diagram illustrating an example of a hardware implementation for a scene classification system 400, according to aspects of the present disclosure. The scene classification system 400 may be a component of a vehicle, a robotic device, or other device. For example, as shown in FIG. 4, the scene classification system 400 may be a component of a car 428. Aspects of the present disclosure are not limited to the scene classification system 400 being a component of the car 428, as other devices, such as an ego vehicle, bus, boat, wheelchair, drone, or robot, are also contemplated for using the scene classification system 400. The car 428 may be autonomous or semi-autonomous.
  • The scene classification system 400 may be implemented with a bus architecture, represented generally by a bus 430. The bus 430 may include any number of interconnecting buses and bridges depending on the specific application of the scene classification system 400 and the overall design constraints. The bus 430 may link together various circuits including one or more processors and/or hardware modules, represented by a processor 420, a communication module 422, a location module 418, a sensor module 402, a locomotion module 426, a planning module 424, and a computer-readable medium 414. The bus 430 may also link various other circuits such as timing sources, peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further.
  • The scene classification system 400 may include a transceiver 416 coupled to the processor 420, the sensor module 402, a scene classifier 408, the communication module 422, the location module 418, the locomotion module 426, the planning module 424, and the computer-readable medium 414. The transceiver 416 is coupled to an antenna 434. The transceiver 416 communicates with various other devices over a transmission medium. For example, the transceiver 416 may receive commands via transmissions from a user or a remote device. As another example, the transceiver 416 may transmit driving statistics and information from the PPS generator 408 to a server (not shown).
  • The scene classifier system 400 may include the processor 420 coupled to the computer-readable medium 414. The processor 420 may perform processing, including the execution of software stored on the computer-readable medium 414 providing functionality according to the disclosure. The software, when executed by the processor 420, causes the scene classifier system 400 to perform the various functions described for a particular device, such as the car 428, or any of the modules 402, 408, 414, 416, 418, 420, 422, 424, 426. The computer-readable medium 414 may also be used for storing data that is manipulated by the processor 420 when executing the software.
  • The sensor module 402 may be used to obtain measurements via different sensors, such as a first sensor 406 and a second sensor 404. The first sensor 406 may be a vision sensor, such as a stereoscopic camera or a red-green-blue (RGB) camera, for capturing 2D images. The second sensor 404 may be a ranging sensor, such as a light detection and ranging (LIDAR) sensor or a radio detection and ranging (RADAR) sensor. Of course, aspects of the present disclosure are not limited to the aforementioned sensors as other types of sensors, such as, for example, thermal, sonar, and/or lasers are also contemplated for either of the sensors 404, 406. The measurements of the first sensor 406 and the second sensor 404 may be processed by one or more of the processor 420, the sensor module 402, the scene classifier 408, the communication module 422, the location module 418, the locomotion module 426, the planning module 424, in conjunction with the computer-readable medium 414 to implement the functionality described herein. In one configuration, the data captured by the first sensor 406 and the second sensor 404 may be transmitted to an external device via the transceiver 416. The first sensor 406 and the second sensor 404 may be coupled to the car 428 or may be in communication with the car 428.
  • The location module 418 may be used to determine a location of the car 428. For example, the location module 418 may use a global positioning system (GPS) to determine the location of the car 428. The communication module 422 may be used to facilitate communications via the transceiver 416. For example, the communication module 422 may be configured to provide communication capabilities via different wireless protocols, such as WiFi, long term evolution (LTE), 3G, etc. The communication module 422 may also be used to communicate with other components of the car 428 that are not modules of the scene classifier system 400.
  • The locomotion module 426 may be used to facilitate locomotion of the car 428. As an example, the locomotion module 426 may control movement of the wheels. As another example, the locomotion module 426 may be in communication with a power source of the car 428, such as an engine or batteries. Of course, aspects of the present disclosure are not limited to providing locomotion via wheels and are contemplated for other types of components for providing locomotion, such as propellers, treads, fins, and/or jet engines.
  • The scene classifier system 400 may also include the planning module 424 for planning a route or controlling the locomotion of the car 428, via the locomotion module 426, based on the analysis performed by the scene classifier 408. In one configuration, the planning module 424 overrides the user input when the user input is expected (e.g., predicted) to cause a collision. The modules may be software modules running in the processor 420, resident/stored in the computer-readable medium 414, one or more hardware modules coupled to the processor 420, or some combination thereof.
  • The scene classifier 408 may be in communication with the sensor module 402, the transceiver 416, the processor 420, the communication module 422, the location module 418, the locomotion module 426, the planning module 424, and the computer-readable medium 414. In one configuration, the scene classifier may receive sensor data from the sensor module 402. The sensor module 402 may receive the sensor data from the first sensor 406 and the second sensor 404. According to aspects of the disclosure, the sensor module 402 may filter the data to remove noise, encode the data, decode the data, merge the data, extract frames, or perform other functions. In an alternate configuration, the scene classifier 408 may receive sensor data directly from the first sensor 406 and the second sensor 404.
  • As shown in FIG. 4, the scene classifier 408 may be used to classify an environmental scene as detailed herein. For example, the scene classifier 408 may detect an unseen object around a corner or behind an obstacle. The scene classifier 408 may receive information from one of the sensors 404, 406, such as a series of images for input into a cyclic buffer. Those images may be processed, enhanced and registered, as described herein, and the scene classifier may classify the environment based on any perceived motion or change in illumination of the images in the cyclic buffer. The scene classifier may determine the environment as static or dynamic, or may assign a probability of dynamic movement based upon the image processed image information.
  • The scene classifier 408 may output the classification to one or more of the sensor modules 402, the transceiver 416, the processor 420, the communication module 422, the location module 418, the locomotion module 426, the planning module 424, and the computer-readable medium 414. The classification output may be used to control the car 428 in response to the classification. For example, the if the scene is classified as dynamic, or has a high probability of being dynamic, signals may be transmitted to the communication module 422, the location module 418, the locomotion module 426, the planning module 424, and the computer-readable medium 414 such that the car 428 may take corrective action, such as slowing down or stopping. In such a manner the scene classifier 408 may use shadow information as a signal, instead of noise, to generate or perceive affirmative and useful information in the scene for the purpose of controlling the car 428.
  • FIG. 5 depicts a flow diagram 500 of an scene classification method, implemented in an autonomous or semi-autonomous vehicle, according to one aspect of the present disclosure. According to aspects of the present disclosure, and described herein, a scene classification method may begin, as shown in block 502, by obtaining a sequence of images from a camera, such as an RGB camera. As shown in block 504, the images obtained may be input into a cyclic buffer where they may undergo a registration and ROI determination process, as shown in block 506. The sequence of images may be registered in to a single projected image in which one or more ROIs may be determined from the projected image data.
  • As shown in block 508, the projected image may under preprocessing to enhance the image data to more readily determine changes in illumination. The projected image may be enhanced using any number of image processing techniques, including but not limited to, color amplification, contrast enhancement, linear or non-linear filtering, or the like. As shown in block 510, after the image data has undergone pre-processing enhancement, the method 500 may analyze the enhanced image data in order to make a classification as to whether a moving, unseen object is perceived.
  • As described herein, substantial changes in illumination, and more specifically, the pixel values of the sequence of images and the combined projected image, may form a perception of movement of an object around a corner or behind an obstruction. The system may classify the image data and consequently the scene and the detected object, as static or dynamic. As shown in block 512, if the method 500 makes a determination of a dynamic scene, a signal may be transmitted to a communications or control system which may then take appropriate action, such as alerting an operator or a passenger, or causing the vehicle to stop or slow down.
  • The method 500 may be run cyclically or periodically according to a chosen frequency of image captures. Once a classification is made, or a given period of time has passed, a new image may be obtained by the camera and cycled into the buffer, replacing or pushing the oldest image out. The updated sequence of images may then undergo the process as detailed above, providing an updated scene classification as the vehicle travels through the environment.
  • Based on the teachings, one skilled in the art should appreciate that the scope of the present disclosure is intended to cover any aspect of the present disclosure, whether implemented independently of or combined with any other aspect of the present disclosure. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth. In addition, the scope of the present disclosure is intended to cover such an apparatus or method practiced using other structure, functionality, or structure and functionality in addition to, or other than the various aspects of the present disclosure set forth. It should be understood that any aspect of the present disclosure may be embodied by one or more elements of a claim.
  • The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any aspect described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects.
  • Although particular aspects are described herein, many variations and permutations of these aspects fall within the scope of the present disclosure. Although some benefits and advantages of the preferred aspects are mentioned, the scope of the present disclosure is not intended to be limited to particular benefits, uses or objectives. Rather, aspects of the present disclosure are intended to be broadly applicable to different technologies, system configurations, networks and protocols, some of which are illustrated by way of example in the figures and in the following description of the preferred aspects. The detailed description and drawings are merely illustrative of the present disclosure rather than limiting, the scope of the present disclosure being defined by the appended claims and equivalents thereof.
  • As used herein, the term “determining” encompasses a wide variety of actions. For example, “determining” may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Additionally, “determining” may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Furthermore, “determining” may include resolving, selecting, choosing, establishing, and the like.
  • As used herein, a phrase referring to “at least one of” a list of items refers to any combination of those items, including single members. As an example, “at least one of: a, b, or c” is intended to cover: a, b, c, a-b, a-c, b-c, and a-b-c.
  • The various illustrative logical blocks, modules and circuits described in connection with the present disclosure may be implemented or performed with a processor specially configured to perform the functions discussed in the present disclosure. The processor may be a neural network processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array signal (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components or any combination thereof designed to perform the functions described herein. Alternatively, the processing system may comprise one or more neuromorphic processors for implementing the neuron models and models of neural systems described herein. The processor may be a microprocessor, controller, microcontroller, or state machine specially configured as described herein. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or such other special configuration, as described herein.
  • The steps of a method or algorithm described in connection with the present disclosure may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in storage or machine readable medium, including random access memory (RAM), read only memory (ROM), flash memory, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), registers, a hard disk, a removable disk, a CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. A software module may comprise a single instruction, or many instructions, and may be distributed over several different code segments, among different programs, and across multiple storage media. A storage medium may be coupled to a processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor.
  • The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. In other words, unless a specific order of steps or actions is specified, the order and/or use of specific steps and/or actions may be modified without departing from the scope of the claims.
  • The functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in hardware, an example hardware configuration may comprise a processing system in a device. The processing system may be implemented with a bus architecture. The bus may include any number of interconnecting buses and bridges depending on the specific application of the processing system and the overall design constraints. The bus may link together various circuits including a processor, machine-readable media, and a bus interface. The bus interface may be used to connect a network adapter, among other things, to the processing system via the bus. The network adapter may be used to implement signal processing functions. For certain aspects, a user interface (e.g., keypad, display, mouse, joystick, etc.) may also be connected to the bus. The bus may also link various other circuits such as timing sources, peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further.
  • The processor may be responsible for managing the bus and processing, including the execution of software stored on the machine-readable media. Software shall be construed to mean instructions, data, or any combination thereof, whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
  • In a hardware implementation, the machine-readable media may be part of the processing system separate from the processor. However, as those skilled in the art will readily appreciate, the machine-readable media, or any portion thereof, may be external to the processing system. By way of example, the machine-readable media may include a transmission line, a carrier wave modulated by data, and/or a computer product separate from the device, all which may be accessed by the processor through the bus interface. Alternatively, or in addition, the machine-readable media, or any portion thereof, may be integrated into the processor, such as the case may be with cache and/or specialized register files. Although the various components discussed may be described as having a specific location, such as a local component, they may also be configured in various ways, such as certain components being configured as part of a distributed computing system.
  • The machine-readable media may comprise a number of software modules. The software modules may include a transmission module and a receiving module. Each software module may reside in a single storage device or be distributed across multiple storage devices. By way of example, a software module may be loaded into RANI from a hard drive when a triggering event occurs. During execution of the software module, the processor may load some of the instructions into cache to increase access speed. One or more cache lines may then be loaded into a special purpose register file for execution by the processor. When referring to the functionality of a software module below, it will be understood that such functionality is implemented by the processor when executing instructions from that software module. Furthermore, it should be appreciated that aspects of the present disclosure result in improvements to the functioning of the processor, computer, machine, or other system implementing such aspects.
  • If implemented in software, the functions may be stored or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media include both computer storage media and communication media including any storage medium that facilitates transfer of a computer program from one place to another.
  • Further, it should be appreciated that modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by a user terminal and/or base station as applicable. For example, such a device can be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, various methods described herein can be provided via storage means, such that a user terminal and/or base station can obtain the various methods upon coupling or providing the storage means to the device. Moreover, any other suitable technique for providing the methods and techniques described herein to a device can be utilized.
  • It is to be understood that the claims are not limited to the precise configuration and components illustrated above. Various modifications, changes, and variations may be made in the arrangement, operation, and details of the methods and apparatus described above without departing from the scope of the claims.

Claims (20)

What is claimed is:
1. A method for detecting an unseen object by a vehicle comprising:
capturing a sequence of images over a period with an image capture device;
storing the sequence in a cyclic buffer;
registering each image on the cyclic buffer to a projected image;
enhancing the projected image;
classifying the projected image based on a scene determination; and
issuing a control signal to the vehicle upon classifying the projected image.
2. The method of claim 1 wherein classifying the projected image comprises classifying the image as a dynamic scene.
3. The method of claim 1 wherein classifying the projected image comprises determining a probability of the scene as one of a static scene or a dynamic scene.
4. The method of claim 1 wherein the step of enhancing the projected image comprises color amplification.
5. The method of claim 1 wherein the step of enhancing the projected image further comprises resizing the projected image.
6. The method of claim 1 wherein the step of enhancing the projected image further comprises down-sampling the projected image.
7. The method of claim 1 wherein the step of enhancing the projected image further comprises computing a mean image.
8. The method of claim 5 wherein the step of enhancing the projected image further comprises subtracting the mean image from each image in the sequence.
9. The method of claim 1 wherein the step of enhancing the projected image further comprises applying a Gaussian blur.
10. The method of claim 1 further comprising determining a region of interest from the projected image.
11. The method of claim 1 further comprising applying a temporal low-pass filter on the enhanced projected image.
12. The method of claim 1 wherein the control signal comprises a command to halt a trajectory of the vehicle.
13. The method of claim 1 wherein the projected image comprises a plurality of pixel values and the step of classifying the projected image further comprises:
summing the pixel values of the projected image and comparing the sum to a threshold value, the classification based on the threshold value.
14. The method of claim 11 wherein the pixel values of the projected image are indicative of a change in illumination in the sequence of images.
15. The method of claim 1 wherein the classification of the projected image comprises determining a speed of an unseen object.
16. The method of claim 1 wherein the classification of the projected image comprises determining a direction of an unseen object.
17. The method of claim 1 wherein the classification of the projected image comprises determining a quantity of unseen objects.
18. The method of claim 1 wherein the classification of the projected image comprises determining a size of an unseen object.
19. A system for detecting an unseen object comprising:
an image capture device configured to capture a sequence of images of a period;
a cyclic buffer configured to receive the sequence of images;
an image rectifier configured to register each of the images stored in the cyclic buffer into a projected image;
an image processer configured to enhance the projected image;
an image classifier configured to classify the projected image as one of a static image or a dynamic image;
a vehicle interface in communication with a vehicle control, the vehicle interface configured to transmit a control signal to the vehicle control upon the classification of the projected image as a dynamic image.
20. A non-transitory computer-readable medium having program code recorded thereon for controlling a robotic device, the program code executed by a processor and comprising:
program code to capture a sequence of images over a period with an image capture device;
program code to store the sequence in a cyclic buffer;
program code to register each image on the cyclic buffer to a projected image;
program code to enhance the projected image;
program code to classify the projected image based on a scene determination; and
program code to issue a control signal to the vehicle upon classifying the projected image.
US16/179,223 2018-11-02 2018-11-02 Systems and methods of detecting moving obstacles Active 2039-02-09 US11436839B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US16/179,223 US11436839B2 (en) 2018-11-02 2018-11-02 Systems and methods of detecting moving obstacles
US16/730,613 US11010622B2 (en) 2018-11-02 2019-12-30 Infrastructure-free NLoS obstacle detection for autonomous cars
US17/085,641 US20210049382A1 (en) 2018-11-02 2020-10-30 Non-line of sight obstacle detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/179,223 US11436839B2 (en) 2018-11-02 2018-11-02 Systems and methods of detecting moving obstacles

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/730,613 Continuation-In-Part US11010622B2 (en) 2018-11-02 2019-12-30 Infrastructure-free NLoS obstacle detection for autonomous cars

Publications (2)

Publication Number Publication Date
US20200143177A1 true US20200143177A1 (en) 2020-05-07
US11436839B2 US11436839B2 (en) 2022-09-06

Family

ID=70459932

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/179,223 Active 2039-02-09 US11436839B2 (en) 2018-11-02 2018-11-02 Systems and methods of detecting moving obstacles

Country Status (1)

Country Link
US (1) US11436839B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111598010A (en) * 2020-05-15 2020-08-28 安徽江淮汽车集团股份有限公司 Dynamic obstacle detection method, device, electronic device and storage medium
US11120279B2 (en) * 2019-05-30 2021-09-14 GM Global Technology Operations LLC Identification of distracted pedestrians
US11643115B2 (en) * 2019-05-31 2023-05-09 Waymo Llc Tracking vanished objects for autonomous vehicles
CN116758498A (en) * 2023-05-08 2023-09-15 禾多科技(北京)有限公司 Obstacle information generation method, obstacle information generation device, electronic device, and computer-readable medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11126195B2 (en) * 2017-06-12 2021-09-21 Faraday & Future Inc. System and method for detecting occluded objects based on image processing
IL277062B (en) * 2020-08-30 2022-02-01 Elbit Systems C4I And Cyber Ltd Systems and methods for detecting movement of at least one non-line-of-sight object

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050007454A1 (en) * 1999-09-21 2005-01-13 Needham Bradford H. Motion detecting web camera system
US6999604B1 (en) * 1998-08-07 2006-02-14 Korea Institute Of Science And Technology Apparatus and method for detecting a moving object in a sequence of color frame images
US7660439B1 (en) * 2003-12-16 2010-02-09 Verificon Corporation Method and system for flow detection and motion analysis
US20120236164A1 (en) * 2011-03-18 2012-09-20 Ricoh Company, Ltd. Imaging device and method of obtaining image
US20140037147A1 (en) * 2011-03-31 2014-02-06 Panasonic Corporation Number of persons measurement device
US20150145992A1 (en) * 2013-11-22 2015-05-28 Axis Ab Gradient privacy masks
US20170098132A1 (en) * 2014-05-19 2017-04-06 Soichiro Yokota Processing apparatus, processing system, processing program, and processing method
US20180012463A1 (en) * 2016-07-11 2018-01-11 Google Inc. Methods and Systems for Person Detection in a Video Feed
US20180357772A1 (en) * 2016-02-12 2018-12-13 Hitachi Automotive Systems, Ltd. Surrounding environment recognition device for moving body
US20190088178A1 (en) * 2016-02-22 2019-03-21 Dolby Laboratories Licensing Corporation Apparatus and Method for Encoding High Frame Rate Content in Standard Frame Rate Video Using Temporal Interlacing
US20200050873A1 (en) * 2016-08-04 2020-02-13 Nec Corporation People flow estimation device, display control device, people flow estimation method, and recording medium

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0669034B1 (en) 1992-11-10 1997-01-15 Siemens Aktiengesellschaft Process for detecting and eliminating the shadow of moving objects in a sequence of digital images
JP3569992B2 (en) 1995-02-17 2004-09-29 株式会社日立製作所 Mobile object detection / extraction device, mobile object detection / extraction method, and mobile object monitoring system
US6349113B1 (en) * 1997-11-03 2002-02-19 At&T Corp. Method for detecting moving cast shadows object segmentation
US6236751B1 (en) * 1998-09-23 2001-05-22 Xerox Corporation Automatic method for determining piecewise linear transformation from an image histogram
JP4777007B2 (en) * 2005-08-03 2011-09-21 東芝メディカルシステムズ株式会社 X-ray computed tomography system
US8284847B2 (en) * 2010-05-03 2012-10-09 Microsoft Corporation Detecting motion for a multifunction sensor device
US9904852B2 (en) 2013-05-23 2018-02-27 Sri International Real-time object detection, tracking and occlusion reasoning
US9892328B2 (en) 2014-06-18 2018-02-13 Mobileye Vision Technologies Ltd. Hazard detection from a camera in a scene with moving shadows
CN108028892B (en) * 2015-09-30 2021-02-09 索尼公司 Information acquisition apparatus and information acquisition method

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999604B1 (en) * 1998-08-07 2006-02-14 Korea Institute Of Science And Technology Apparatus and method for detecting a moving object in a sequence of color frame images
US20050007454A1 (en) * 1999-09-21 2005-01-13 Needham Bradford H. Motion detecting web camera system
US7660439B1 (en) * 2003-12-16 2010-02-09 Verificon Corporation Method and system for flow detection and motion analysis
US20120236164A1 (en) * 2011-03-18 2012-09-20 Ricoh Company, Ltd. Imaging device and method of obtaining image
US20140037147A1 (en) * 2011-03-31 2014-02-06 Panasonic Corporation Number of persons measurement device
US20150145992A1 (en) * 2013-11-22 2015-05-28 Axis Ab Gradient privacy masks
US20170098132A1 (en) * 2014-05-19 2017-04-06 Soichiro Yokota Processing apparatus, processing system, processing program, and processing method
US20180357772A1 (en) * 2016-02-12 2018-12-13 Hitachi Automotive Systems, Ltd. Surrounding environment recognition device for moving body
US20190088178A1 (en) * 2016-02-22 2019-03-21 Dolby Laboratories Licensing Corporation Apparatus and Method for Encoding High Frame Rate Content in Standard Frame Rate Video Using Temporal Interlacing
US20180012463A1 (en) * 2016-07-11 2018-01-11 Google Inc. Methods and Systems for Person Detection in a Video Feed
US20200050873A1 (en) * 2016-08-04 2020-02-13 Nec Corporation People flow estimation device, display control device, people flow estimation method, and recording medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120279B2 (en) * 2019-05-30 2021-09-14 GM Global Technology Operations LLC Identification of distracted pedestrians
US11643115B2 (en) * 2019-05-31 2023-05-09 Waymo Llc Tracking vanished objects for autonomous vehicles
CN111598010A (en) * 2020-05-15 2020-08-28 安徽江淮汽车集团股份有限公司 Dynamic obstacle detection method, device, electronic device and storage medium
CN116758498A (en) * 2023-05-08 2023-09-15 禾多科技(北京)有限公司 Obstacle information generation method, obstacle information generation device, electronic device, and computer-readable medium

Also Published As

Publication number Publication date
US11436839B2 (en) 2022-09-06

Similar Documents

Publication Publication Date Title
US11010622B2 (en) Infrastructure-free NLoS obstacle detection for autonomous cars
US11436839B2 (en) Systems and methods of detecting moving obstacles
CN108388834B (en) Object detection using recurrent neural networks and cascade feature mapping
US10152649B2 (en) Detecting visual information corresponding to an animal
CN109033951B (en) System and method for detecting occluding objects based on graphics processing
Shehata et al. Video-based automatic incident detection for smart roads: The outdoor environmental challenges regarding false alarms
US11527077B2 (en) Advanced driver assist system, method of calibrating the same, and method of detecting object in the same
US8811670B2 (en) Method and system for using fingerprints to track moving objects in video
WO2021133727A1 (en) Sensor degradation detection and remediation
JP7135665B2 (en) VEHICLE CONTROL SYSTEM, VEHICLE CONTROL METHOD AND COMPUTER PROGRAM
EP2741234B1 (en) Object localization using vertical symmetry
US20220301099A1 (en) Systems and methods for generating object detection labels using foveated image magnification for autonomous driving
Fries et al. Autonomous convoy driving by night: The vehicle tracking system
CN113544021B (en) Method for creating a collision detection training set including self-component exclusion
CN114841910A (en) Vehicle-mounted lens shielding identification method and device
US9036910B1 (en) Method and system for processing a sequence of images using fingerprints
US20210049382A1 (en) Non-line of sight obstacle detection
US11120292B2 (en) Distance estimation device, distance estimation method, and distance estimation computer program
Nambi et al. FarSight: a smartphone-based vehicle ranging system
KR101370011B1 (en) Driving type auto traffic enforcement system and method for monitoring illegal stopping and parking vehicles using image stabilization and restoration method
Dai et al. A driving assistance system with vision based vehicle detection techniques
Tourani et al. Challenges of video-based vehicle detection and tracking in intelligent transportation systems
JP2024515761A (en) Data-driven dynamically reconstructed disparity maps
CN115481724A (en) Method for training neural networks for semantic image segmentation
Denman et al. Multi-view intelligent vehicle surveillance system

Legal Events

Date Code Title Description
FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: TOYOTA RESEARCH INSTITUTE, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ROSMAN, GUY;REEL/FRAME:051068/0946

Effective date: 20190912

Owner name: MASSACHUSETTS INSTITUTE OF TECHNOLOGY, MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NASER, FELIX MAXIMILLIAN;GILITSCHENSKI, IGOR;AMINI, ALEXANDER ANDRE;AND OTHERS;SIGNING DATES FROM 20190831 TO 20191104;REEL/FRAME:051071/0533

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION COUNTED, NOT YET MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: ADVISORY ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: TOYOTA JIDOSHA KABUSHIKI KAISHA, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:TOYOTA RESEARCH INSTITUTE, INC.;REEL/FRAME:061113/0086

Effective date: 20220912