Three-dimensional tof vision system

JP2025036237APending Publication Date: 2025-03-14WAYMO LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024143243
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-01
Filing Date
2024-08-23
Publication Date
2025-03-14

Smart Images

  • Figure 2025036237000001_ABST
    Figure 2025036237000001_ABST
Patent Text Reader

Abstract

To provide a device that combines visible and time of flight (ToF) image sensors.SOLUTION: A device includes a plurality of time of flight sensor (ToF) pixels 510 and a plurality of visible image sensor (VIS) pixels 520. The device also includes a ToF communication channel configured to provide ToF image data indicative of one or more ToF pixels 510 and a VIS communication channel configured to provide VIS image data indicative of one or more VIS pixels 520. The plurality of ToF pixels 510 and the plurality of VIS pixels 520 are arranged along a plane. The plurality of ToF pixels 510 are disposed in an arrangement among the plurality of VIS pixels 520.SELECTED DRAWING: Figure 7A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Patent Application No. 63 / 536,174, filed September 1, 2023, the contents of which are incorporated herein by reference. [Background technology]

[0002] Unless otherwise stated herein, the statements in this section are not prior art to the claims of this application and should not be admitted as prior art by inclusion in this section.

[0003] Image sensors convert light into electrical signals and are used in a wide range of applications, including cameras, smartphones, and medical imaging devices.

[0004] A Time-of-Flight (ToF) system is a type of imaging system that uses a time-modulated light emitter and a ToF image sensor with some time resolution to measure the time it takes for light to travel from the system to an object and back. This information can be used to calculate the distance to an object in the field of view.

[0005] Compared to passive 3D imaging without a modulation source, ToF sensors can be used in low light conditions. Different instantiations of ToF sensors can have different modulation formats that affect their sensitivity to ambient light. For example, indirect ToF (iToF) systems often use high duty cycle modulated light emitters and fast electronic shutters on the iToF imaging device pixels. Direct ToF (dToF) systems often use low duty cycle pulsed light emitters and single photon avalanche detectors (e.g., SPADs, GmAPDs). As a result, ToF sensors are becoming increasingly popular in a variety of applications, such as augmented reality, robotics, and autonomous vehicles. However, ToF sensors also have some limitations. They can be expensive, bulky, and potentially susceptible to interference from other objects. Although many ToF systems can collect low quality passive images, they tend to have poorer spatial resolution, limited passive low light sensitivity, and cannot collect visible light color images compared to traditional passive imaging devices (e.g., CMOS imaging devices). As a result, system designers for robots, autonomous vehicles, and other applications often have both ToF and camera (passive imaging) systems with overlapping fields of view.

[0006] Therefore, there is a need for a system and method that combines the beneficial aspects of visible and ToF image sensors in a small, inexpensive hardware package. Summary of the Invention

[0007] The present disclosure relates to systems and methods that can beneficially improve sensing performance while potentially reducing cost and weight in visibility and depth sensing applications. For example, the autonomous vehicles, systems, and methods described herein may reduce accidents such as vehicle-vehicle collisions by incorporating two critical sensing functions within a single device, as opposed to traditional solutions that include separate systems. Other potential advantages include reducing the complexity of interactions between different systems, utilizing a shared optical axis and field of view, and a more compact hardware footprint.

[0008] In a first aspect, a device is provided. The device includes a plurality of time-of-flight sensor (ToF) pixels and a plurality of visible image sensor (VIS) pixels. The device also includes a ToF communication channel configured to provide ToF image data indicative of the one or more ToF pixels. The device further includes a VIS communication channel configured to provide VIS image data indicative of the one or more VIS pixels. The plurality of ToF pixels and the plurality of VIS pixels are arranged along a plane. The plurality of ToF pixels are arranged at an arrangement between the plurality of VIS pixels.

[0009] In a second aspect, an apparatus is provided. The apparatus includes a device including a plurality of time-of-flight sensor (ToF) pixels configured to detect light within a predetermined wavelength range. The device also includes a plurality of visible image sensor (VIS) pixels. The plurality of ToF pixels and the plurality of VIS pixels are arranged along a first plane. The plurality of ToF pixels are arranged in an arrangement between the plurality of VIS pixels. The apparatus also includes one or more actuators configured to translate the device along the first plane. The apparatus further includes one or more vertical cavity surface emitting lasers (VCSELs) configured to emit light within the predetermined wavelength range. Additionally or alternatively, the apparatus may include an edge emitting laser diode.

[0010] In a third aspect, a system is provided. The system includes a sensing layer. The sensing layer includes a plurality of time-of-flight sensor (ToF) pixels configured to detect light from the field of view to form ToF image data. The sensing layer also includes a plurality of visible image sensor (VIS) pixels configured to detect light from the field of view to form VIS image data. The system also includes a readout layer including readout circuitry configured to receive the ToF image data and the VIS image data. The system further includes a processing layer having processing circuitry configured to provide at least one composite image based on at least one of the ToF image data or the VIS image data. The sensing layer and readout layer are communicatively linked. The readout layer and processing layer are communicatively linked.

[0011] In a fourth aspect, a method is provided. The method includes causing one or more vertical cavity surface emitting lasers (VCSELs) to emit light pulses. The light pulses include light within a predetermined wavelength range. The method also includes determining first ToF image data based on reflected light pulses received by one or more ToF pixels at a first position. The received light is within a predetermined wavelength range. The method also includes determining first VIS image data based on light received by one or more VIS pixels at the first position. The method still further includes causing an actuator to displace the one or more ToF pixels and the one or more VIS pixels from the first position to a second position. The method further includes determining second ToF image data based on reflected light pulses received by the one or more ToF pixels at the second position. The method further includes determining second VIS image data based on light received by the one or more VIS pixels at the second position. The method further includes determining composite VIS image data from the first VIS image data and the second VIS image data. The method further includes determining composite ToF image data from the first ToF image data and the second ToF image data. The method also includes generating at least one object depth map estimate from the composite ToF image data. The method includes providing, via the communications interface, data indicative of the composite VIS image data and the at least one object depth map estimate.

[0012] These and other aspects, advantages and alternatives will become apparent to those skilled in the art from a reading of the following detailed description, appropriately taken from the accompanying drawings. [Brief description of the drawings]

[0013] [Figure 1] FIG. 1 is a functional block diagram illustrating a vehicle, in accordance with an exemplary embodiment. [Figure 2A] FIG. 2A is an illustrative diagram of a vehicle's physical configuration, according to an exemplary embodiment. [Figure 2B]FIG. 2B is an illustrative diagram of a vehicle's physical configuration, according to an exemplary embodiment. [Figure 2C] FIG. 2C is an illustrative diagram of a vehicle's physical configuration, according to an exemplary embodiment. [Figure 2D] FIG. 2D is an illustrative diagram of a vehicle's physical configuration in accordance with an exemplary embodiment. [Figure 2E] FIG. 2E is an illustrative diagram of a vehicle's physical configuration, according to an exemplary embodiment. [Diagram 3] FIG. 3 is a conceptual illustration of wireless communication between various computing systems associated with an autonomous or semi-autonomous vehicle, in accordance with an example embodiment. [Figure 4A] FIG. 4A is a block diagram of a system including a LIDAR device in accordance with an exemplary embodiment. [Figure 4B] FIG. 4B is a block diagram of a LIDAR device in accordance with an exemplary embodiment. [Diagram 5] FIG. 5 is a block diagram of a device in accordance with an exemplary embodiment. [Figure 6A] FIG. 6A is a cross-sectional view of a time-of-flight sensor pixel according to an example embodiment. [Figure 6B] FIG. 6B is a cross-sectional view of a visible sensor pixel according to an example embodiment. [Figure 7A] FIG. 7A is an overhead view of an arrangement of ToF sensor pixels and VIS sensor pixels according to an example embodiment. [Figure 7B] FIG. 7B is an illustrative diagram of a color filter array overlying a sensor array, according to an example embodiment. [Figure 8] FIG. 8 is an illustrative diagram of an apparatus in accordance with an exemplary embodiment. [Figure 9] FIG. 9 is an illustrative diagram of a system in accordance with an example embodiment. [Figure 10A] FIG. 10A is an information flow diagram according to an example embodiment. [Figure 10B] FIG. 10B is a system according to an exemplary embodiment. [Figure 11]FIG. 11 is a method according to an example embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0014] Exemplary methods and systems are contemplated herein. Any exemplary embodiment or feature described herein should not necessarily be construed as preferred or advantageous over other embodiments or features. Moreover, the exemplary embodiments described herein are not meant to be limiting. It will be readily understood that certain aspects of the disclosed systems and methods can be arranged and combined in a wide variety of different configurations, all of which are contemplated herein. Additionally, the specific arrangements shown in the figures should not be considered limiting. It should be understood that other embodiments can include more or less of each element shown in a given figure. Additionally, some of the illustrated elements can be combined or omitted. Still further, exemplary embodiments may include elements not illustrated in the figures.

[0015] The LIDAR devices described herein may include one or more light emitters and one or more detectors used to detect light emitted by the one or more light emitters and reflected by one or more objects in an environment surrounding the LIDAR device. As an example, the surrounding environment may include an interior or exterior environment, such as inside a building or outside a building. Additionally or alternatively, the surrounding environment may include the interior of a vehicle. Still further, the surrounding environment may include the surroundings of a road and / or on a road. Examples of objects in the surrounding environment include, but are not limited to, other vehicles, traffic signs, pedestrians, bicyclists, road surfaces, buildings, terrain, etc. Additionally, the one or more light emitters may emit light into the local environment of the LIDAR itself. For example, light emitted from the one or more light emitters may interact with the housing of the LIDAR and / or surfaces or structures coupled to the LIDAR. In some cases, the LIDAR may be mounted on a vehicle, in which case one or more light emitters may be configured to emit light that interacts with objects within the vicinity of the vehicle. The light emitters may include fiber optic amplifiers, laser diodes, light emitting diodes (LEDs), among other possibilities.

[0016] This disclosure is generally described at four levels of abstraction.

[0017] First, the present disclosure describes a sensor pixel layout. The layout combines visible (VIS) and time-of-flight (ToF) sensor elements along a common surface of a substrate in a predetermined patterned arrangement. In an exemplary embodiment, the VIS and ToF pixels may be arranged in a grid. In some embodiments, the VIS pixels may be significantly smaller than the ToF pixels. In such a scenario, within the grid, the ToF pixels may be interspersed among subarrays of VIS pixels. For example, a given row of the patterned arrangement may alternate between a 5×5 grid of VIS pixels and ToF pixels. This patterned arrangement may be extended in a “checkerboard” pattern across the entire surface of the substrate. The sensor elements are communicatively coupled to two virtual channels for data readout, one for the VIS pixels and one for the TOF pixels. The patterned arrangement is disposed on a movable substrate. In such a scenario, the sensor pixel may capture a first set of VIS and ToF images while in a first position on the movable substrate. The actuator may move (e.g., translate) the moveable substrate a predetermined distance along the plane of the substrate. The sensor pixels may then capture a second set of VIS and ToF images while in the second position. In some embodiments, the patterned arrangement is configured to allow for a microlens or other optical element (e.g., a lens or lens set) and / or a color filter array (CFA) to be fixed above, but optionally not attached to, the translatable surface.

[0018] Second, the present disclosure includes an actuating camera device. The device includes three components: a VIS-ToF sensor, a vertical cavity surface emitting laser (VCSEL) array, and an actuator. Although the exemplary embodiment describes a VCSEL array, it will be understood that other types of light emitter devices, such as edge emitting lasers and / or light emitting diodes (LEDs), are possible and contemplated. The VIS-ToF sensor is a sensor that provides a VIS data channel and a ToF data channel that may provide visible and time-of-flight information that may be substantially overlaid or interleaved along a shared field of view. The VCSEL array is configured to operate at a wavelength detectable by the ToF sensor. The actuator is configured to precisely translate the VIS-ToF sensor to reverse the interleaving of the VIS and ToF images. That is, the actuator translates the VIS-ToF sensor from a first state to a second state, the second state positions the VIS sensor where the ToF sensor was in the first state, and positions the TOF sensor where the VIS sensor was in the first state. Note that along the ends of the VIS-ToF sensor there may be translated sensors where there was not previously a VIS or ToF sensor.

[0019] In some embodiments, the purpose of moving the substrate a predetermined distance and direction is to allow two sets of VIS / ToF image frames that can be shifted relative to each other and each combined into a full resolution image of the field of view showing visible and time-of-flight information. In other words, actuation of each type of sensor allows the VIS or ToF data "gaps" from the first state caused by the other type of sensor to be "filled" with complementary spatial information. In some embodiments, a lens or color filter array can be constructed over the VIS-ToF sensor field of view. In some examples, the color filter array can include a Bayer CFA or RGGB CFA. A Bayer CFA uses a pattern of red, green, and blue filters, with each pixel on the sensor covered by a single filter. A Bayer RGGB CFA uses a pattern of red, green, green, and blue filters. RGGC and RGGB CFA filters are also considered. A clear filter allows the underlying sensor to capture more light, which can improve image quality in low light conditions. Other types of CFAs are possible and contemplated.

[0020] Third, the present disclosure includes a device configured to capture VIS and ToF information and process it for use by other systems. The device includes three physical substrate layers. The first layer includes a VIS-ToF image sensor. The image sensor is configured to capture visible and ToF information from a given field of view. The second layer includes units for image processing, such as ADC for converting analog signals to digital counterparts, HDR processing for bringing out details in low contrast situations, and a cache (i.e., memory) for temporary storage of data. Other functions such as charge integration, signal amplification, signal multiplexing, timing control, and data formatting are possible and contemplated. In some embodiments, the third layer may include units for processing the image and generating user-consumable data. For example, the third layer may include one or more neural networks that generate a list of objects (with high recall and lower precision). It will be understood that many different types of neural networks are contemplated and possible. As an example, one or more of a convolutional neural network (CNN), a recurrent neural network (RNN), a transformer, and / or a base model may represent types of deep learning algorithms that may be utilized for image analysis and classification. They may be trained to detect patterns in images and may therefore be suitable for tasks such as segmentation and classification. In some embodiments, a CNN may be physically instantiated, such as in an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). Additionally or alternatively, a CNN may be instantiated in software. In some instances, a CNN may be implemented by a computing device and may be allocated in memory with dynamic memory allocation or static memory allocation.

[0021] Additionally, the third layer may include one or more recurrent neural networks (RNNs) that take object list metadata and capture timing information associated with potential objects to refine the accuracy of object classification (using oversampled time information). In some embodiments, RNNs may provide a type of artificial neural network used to process sequential data. RNNs may be configured to learn long-term dependencies between inputs, which is suitable for tasks such as natural language processing and speech recognition. RNNs provide a loopback to the neural network structure. In contrast to feedforward neural networks, this loop allows the RNN to store past inputs that can be used to influence future outputs. Similar to CNNs, RNNs may also be physically instantiated in ASICs or FPGAs. Additionally or alternatively, RNNs may be instantiated in software. In some cases, RNNs may be implemented by a computing device and allocated in memory with dynamic memory allocation or static memory allocation.

[0022] Additionally or alternatively, the third layer may include a sliding window transformer, a sparse window transformer, an attention mechanism, a generative adversarial network (GAN), and a self-supervised learning neural network, among other possibilities.

[0023] Further, the third layer may include a processor configured to trigger image capture and cause the actuators described above to move the position of the image sensor substrate. Additionally or alternatively, the processor may be configured to combine the spatially shifted ToF and VIS information generated by the VIS-ToF image sensor as described in the second part of this disclosure. Furthermore, in various embodiments, the third layer may include computing resources and / or other hardware configured to perform image processing, including temporal denoising, 3D noise filtering, and super-resolution processing of the ToF information, the VIS image, or a combination thereof. Furthermore, the third layer may include units such as Automotive Safety Level (ASIL) circuitry, which may indicate a safety level for a given field of view and / or driving scenario based on the data generated above. These layers may be implemented in many different configurations. One such configuration may include each functional layer on its own physical substrate and each substrate stacked on top of each other.

[0024] Still further, the present disclosure includes methods for operating the various systems and devices described herein. The method may include a processor causing a VIS and ToF image to be captured simultaneously from a VIS-ToF sensor, the VIS-ToF sensor being a sensor that provides VIS information via a VIS channel and ToF information via a ToF channel from a shared field of view. In some embodiments, the method may include a processor causing a VCSEL to emit one or more light pulses, the VCSEL being configured to provide illumination light to ToF pixels on the VIS-ToF sensor. The method may also include a processor causing an actuator to adjust (e.g., translate) a position of the VIS-ToF sensor by a predetermined distance. In some embodiments, shifting the position of the VIS-ToF sensor may be performed to position the sensor to obtain complementary VIS and ToF information. The method may additionally include causing the processor to simultaneously capture a second set of VIS and ToF images from the VIS-ToF sensor. The method further includes having the processor generate a combined VIS image from the first and second VIS images and a combined TOF image from the first and second TOF images. In some embodiments, the method further includes a processor that applies various image processing techniques to the VIS images, including temporal denoising, 3D noise filtering, super-resolution processing, etc. In some examples, the method includes a processor that generates an object depth map estimate using the TOF images. Still further, the method may include a processor that applies various image processing techniques to the TOF images, including super-resolution processing, etc.

[0025] The following description and the accompanying drawings clarify features of various exemplary embodiments. The embodiments provided are by way of example and are not intended to be limiting. Accordingly, dimensions of the drawings are not necessarily drawn to scale.

[0026] An exemplary system within the scope of the present disclosure will now be described in more detail. The exemplary system may be implemented in or take the form of an automobile. Additionally, the exemplary system may also be implemented in or take the form of a variety of vehicles, such as automobiles, trucks (e.g., pickup trucks, vans, tractors, and tractor trailers, etc.), motorcycles, buses, airplanes, helicopters, drones, lawnmowers, bulldozers, boats, submarines, all-terrain vehicles, snowmobiles, aircraft, recreational vehicles, amusement park vehicles, farm equipment or vehicles, construction equipment or vehicles, warehouse equipment or vehicles, factory equipment or vehicles, trams, golf carts, trains, trolleys, walkway transport vehicles, robotic devices, etc. Other vehicles are equally possible. Furthermore, in some embodiments, the exemplary system may not include a vehicle.

[0027] Referring now to the figures, FIG. 1 is a functional block diagram illustrating an example vehicle 100 that may be configured to operate fully or partially in an autonomous mode. More specifically, the vehicle 100 may operate in the autonomous mode without human interaction through receiving control instructions from a computing system. As part of the operation in the autonomous mode, the vehicle 100 may use sensors to detect, and in some cases detect, objects in the surrounding environment to enable safe navigation. Additionally, the example vehicle 100 may operate in a partially autonomous (i.e., semi-autonomous) mode in which some functions of the vehicle 100 are controlled by a human driver of the vehicle 100 and some functions of the vehicle 100 are controlled by a computing system. For example, the vehicle 100 may also include subsystems that enable the driver to control the operation of the vehicle 100, such as steering, acceleration, and braking, while the computing system performs assistance functions, such as lane departure warning / lane keeping assist or adaptive cruise control, based on other objects (e.g., vehicles) in the surrounding environment.

[0028] As described herein, in a partially autonomous driving mode, the vehicle assists with one or more driving operations (e.g., steering, braking, and / or accelerating to perform lane centering, adaptive cruise control, advanced driver assistance systems (ADAS), and emergency braking), but the human driver is expected to provide situational awareness of the vehicle's surroundings and supervise the assisted driving operations. Here, the vehicle may perform all driving tasks in a particular situation, but the human driver is expected to be responsible for assuming control as necessary.

[0029] For the sake of brevity and simplicity, the various systems and methods are described below in conjunction with autonomous vehicles, but these or similar systems and methods may be used in various driver assistance systems that fall short of a fully autonomous driving system (i.e., partially autonomous driving systems). In the United States, the Society of Automotive Engineers (SAE) defines different levels of automated driving behavior to indicate how much or how little control the vehicle has over the driving, but different organizations in the United States, or other countries, may classify the levels differently. More specifically, the disclosed systems and methods may be used in SAE Level 2 driver assistance systems that implement steering, braking, acceleration, lane centering, adaptive cruise control, etc., and other driver support. The disclosed systems and methods may be used in SAE Level 3 driver assistance systems that are capable of autonomous driving under limited (e.g., highway) conditions. Similarly, the disclosed systems and methods may be used in vehicles that use SAE Level 4 automated driving systems that operate autonomously under most normal driving conditions and require only occasional attention from a human operator. In all such systems, accurate lane estimation is performed automatically without driver input or control (e.g., while the vehicle is moving), resulting in improved reliability of vehicle positioning and navigation, and overall safety of autonomous, semi-autonomous, and other driver assistance systems. In addition to the manner in which the SAE classifies levels of autonomous driving performance, as described above, other organizations in the United States, or other countries, may classify levels of autonomous driving performance differently. Without being limited thereto, the systems and methods disclosed herein may be used in driver assistance systems defined by the levels of autonomous driving performance of these other organizations.

[0030] As shown in FIG. 1 , the vehicle 100 may include various subsystems, such as a propulsion system 102, a sensor system 104, a control system 106, one or more peripheral devices 108, a power source 110, a computer system 112 (which may also be referred to as a computing system) having data storage 114, and a user interface 116. In other examples, the vehicle 100 may include more or fewer subsystems, each of which may include multiple elements. The subsystems and components of the vehicle 100 may be interconnected in various ways. In addition, the functionality of the vehicle 100 described herein may be divided into additional functional or physical components or combined into fewer functional or physical components within an embodiment. For example, the control system 106 and the computer system 112 may be combined into a single system that operates the vehicle 100 according to various operations.

[0031] Propulsion system 102 may include one or more components operable to provide powered motion for vehicle 100 and may include engine / motor 118, energy source 119, transmission 120, and wheels / tires 121, among other possible components. For example, engine / motor 118 may be configured to convert energy source 119 into mechanical energy and may correspond to one or a combination of an internal combustion engine, an electric motor, a steam engine, or a Stirling engine, among other possible options. For example, in some embodiments, propulsion system 102 may include multiple types of engines and / or motors, such as gasoline engines and electric motors.

[0032] Energy source 119 represents an energy source that may fully or partially power one or more systems (e.g., engine / motor 118) of vehicle 100. For example, energy source 119 may correspond to gasoline, diesel, other petroleum-based fuels, propane, other compressed gas-based fuels, ethanol, solar panels, batteries, and / or other power sources. In some embodiments, energy source 119 may include a combination of a fuel tank, a battery, a capacitor, and / or a flywheel.

[0033] The transmission 120 may transfer mechanical power from the engine / motor 118 to the wheels / tires 121 and / or other possible systems of the vehicle 100. As such, the transmission 120 may include a gearbox, a clutch, a differential, and a drive shaft, among other possible components. The drive shaft may include an axle that connects to one or more wheels / tires 121.

[0034] The wheels / tires 121 of the vehicle 100 may have a variety of configurations within the exemplary embodiment. For example, the vehicle 100 may exist in the form of a unicycle, a bicycle / motorcycle, a tricycle, or four wheels of a car / truck, among other possible configurations. Thus, the wheels / tires 121 may be connected to the vehicle 100 in a variety of ways and may exist in different materials, such as metal and rubber.

[0035] The sensor system 104 may include various types of sensors, such as a Global Positioning System (GPS) 122, an Inertial Measurement Unit (IMU) 124, a Radar 126, a LIDAR 128, a camera 130, a steering sensor 123, and a throttle / brake sensor 125, among other possible sensors. In some embodiments, the sensor system 104 may also include sensors (e.g., an O2 monitor, a fuel gauge, engine oil temperature, and brake wear) configured to monitor internal systems of the vehicle 100.

[0036] The GPS 122 may include a transceiver operable to provide information regarding the position of the vehicle 100 relative to the Earth. The IMU 124 may have a configuration using one or more accelerometers and / or gyroscopes and may sense changes in the position and orientation of the vehicle 100 based on inertial acceleration. For example, the IMU 124 may detect the pitch and yaw of the vehicle 100 while the vehicle 100 is stationary or in motion.

[0037] Radar 126 may represent one or more systems configured to sense objects in the environment surrounding vehicle 100, including the object's speed and orientation, using radio signals. Thus, radar 126 may include an antenna configured to transmit and receive radio signals. In some embodiments, radar 126 may correspond to a mountable radar configured to obtain measurements of the environment surrounding vehicle 100.

[0038] The LIDAR 128 may include one or more laser sources, a laser scanner, and one or more detectors, among other system components, and may operate in a coherent mode (e.g., using heterodyne detection, etc.) or in an incoherent detection mode (i.e., time-of-flight mode). In some embodiments, the one or more detectors of the LIDAR 128 may include one or more photodetectors, which may be particularly sensitive detectors (e.g., avalanche photodiodes). In some examples, such photodetectors may be capable of detecting single photons (e.g., single-photon avalanche diodes (SPADs)). Furthermore, such photodetectors may be arranged (e.g., through serial electrical connections) in an array (e.g., as in silicon photomultipliers (SiPMs)). In some examples, the one or more photodetectors are devices that operate in a Geiger mode, and the LIDAR includes subcomponents designed for such Geiger mode operation.

[0039] Camera 130 may include one or more devices (eg, a still camera, a video camera, a thermal imaging camera, a stereo camera, and a night vision camera) configured to capture images of the environment surrounding vehicle 100.

[0040] The steering sensor 123 may sense the steering angle of the vehicle 100, which may include measuring the angle of the steering wheel or measuring an electrical signal representative of the angle of the steering wheel. In some embodiments, the steering sensor 123 may measure the angle of the wheels of the vehicle 100, such as detecting the angle of the wheels relative to the forward axle of the vehicle 100. The steering sensor 123 may also be configured to measure a combination (or a subset) of the steering wheel angle, the electrical signal representative of the steering wheel angle, and the wheel angle of the vehicle 100.

[0041] The throttle / brake sensor 125 may detect either the throttle position or the brake position of the vehicle 100. For example, the throttle / brake sensor 125 may measure the angle of both the accelerator pedal (throttle) and the brake pedal, or may measure an electrical signal representative of, for example, the accelerator pedal (throttle) angle and / or the brake pedal angle. The throttle / brake sensor 125 may also measure the angle of a throttle body of the vehicle 100, which may include part of the physical mechanism that provides modulation of the energy source 119 to the engine / motor 118 (e.g., butterfly valves, and carburetors). Additionally, the throttle / brake sensor 125 may measure the pressure of one or more brake pads on a rotor of the vehicle 100, or a combination (or subset) of the accelerator pedal (throttle) and brake pedal angles, an electrical signal representative of the accelerator pedal (throttle) and brake pedal angles, the throttle body angle, and the pressure that at least one brake pad applies to a rotor of the vehicle 100. In other embodiments, the throttle / brake sensor 125 may be configured to measure pressure applied to a pedal of the vehicle, such as a throttle or brake pedal.

[0042] The control system 106 may include components configured to assist in navigating the vehicle 100, such as a steering unit 132, a throttle 134, a braking unit 136, a sensor fusion algorithm 138, a computer vision system 140, a navigation / path-finding system 142, and an obstacle avoidance system 144. More specifically, the steering unit 132 may be operable to adjust the heading of the vehicle 100, and the throttle 134 may control the operating speed of the engine / motor 118 to control the acceleration of the vehicle 100. The braking unit 136 may decelerate the vehicle 100, which may involve slowing the wheels / tires 121 using friction. In some embodiments, the braking unit 136 may convert the kinetic energy of the wheels / tires 121 into electrical current for subsequent use by one or more systems of the vehicle 100.

[0043] The sensor fusion algorithm 138 may include a Kalman filter, a Bayesian network, or other algorithms capable of processing data from the sensor system 104. In some embodiments, the sensor fusion algorithm 138 may provide an assessment based on the received sensor data, such as an assessment of individual objects and / or features, an assessment of a particular situation, and / or an assessment of possible influences within a given situation.

[0044] The computer vision system 140 may include hardware and software (e.g., a general-purpose processor such as a central processing unit (CPU), a special-purpose processor such as a graphics processing unit (GPU) or a tensor processing unit (TPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), volatile memory, non-volatile memory, or one or more machine learning models) operable to process and analyze images to determine moving objects (e.g., other vehicles, pedestrians, bicyclists, or animals) and non-moving objects (e.g., roadway lights, roadway boundaries, speed bumps, or potholes). Thus, the computer vision system 140 may employ object recognition, structure-from-motion (SFM), video tracking, and other algorithms used in computer vision, e.g., to recognize objects, map the environment, track objects, estimate the speed of objects, etc.

[0045] The navigation / routing system 142 may determine a driving route for the vehicle 100, which may involve dynamically adjusting navigation during operation. Thus, the navigation / routing system 142 may use data from the sensor fusion algorithms 138, the GPS 122, and maps, among other sources, to navigate the vehicle 100. The obstacle avoidance system 144 may evaluate potential obstacles based on the sensor data and cause systems of the vehicle 100 to avoid or otherwise circumvent the potential obstacles.

[0046] 1, the vehicle 100 may also include peripherals 108, such as a wireless communication system 146, a touchscreen 148, an internal microphone 150, and / or a speaker 152. The peripherals 108 may provide controls or other elements for a user to interact with a user interface 116. For example, the touchscreen 148 may provide information to a user of the vehicle 100. The user interface 116 may also accept input from the user via the touchscreen 148. The peripherals 108 may also enable the vehicle 100 to communicate with devices, such as devices in other vehicles.

[0047] The wireless communication system 146 may communicate wirelessly with one or more devices, directly or through a communication network. For example, the wireless communication system 146 may use 3G cellular communications such as Code Division Multiple Access (CDMA), Evolution Data Optimized (EVDO), Global System for Mobile Communications (GSM) / General Packet Radio Service (GPRS), or 4G Worldwide Interoperability for Microwave Access (WiMAX) or Long Term Evolution (LTE), or 5G. Alternatively, the wireless communication system 146 may communicate with a wireless local area network (WLAN) using WIFI or other possible connections. The wireless communication system 146 may also communicate directly with devices, for example, using an infrared link, Bluetooth, or ZigBee. Other wireless protocols, such as various vehicle communication systems, are possible within the context of the present disclosure. For example, the wireless communication system 146 may include one or more Dedicated Short Range Communications (DSRC) devices, which may include public and / or private data communications between vehicles and / or roadside stations.

[0048] Vehicle 100 may include a power source 110 for providing power to the components. Power source 110 may include a rechargeable lithium ion or lead acid battery in some embodiments. For example, power source 110 may include one or more batteries configured to provide power. Vehicle 100 may also use other types of power sources. In an exemplary embodiment, power source 110 and energy source 119 may be integrated into a single energy source.

[0049] Vehicle 100 may also include a computer system 112 for performing operations such as those described therein. Thus, computer system 112 may include at least one processor 113 (which may include at least one microprocessor) operable to execute instructions 115 stored in a non-transitory computer-readable medium, such as data storage 114. In some embodiments, computer system 112 may represent multiple computing devices that may function to control individual components or subsystems of vehicle 100 in a distributed manner.

[0050] In some embodiments, data storage 114 may include instructions 115 (e.g., program logic) executable by processor 113 for performing various functions of vehicle 100, including those described above in connection with Figure 1. Data storage 114 may also include additional instructions, including instructions for transmitting data to, receiving data, interacting with, and / or controlling one or more of propulsion system 102, sensor system 104, control system 106, and peripherals 108.

[0051] In addition to instructions 115, data storage 114 may store data such as road maps, route information, among other information. Such information may be used by vehicle 100 and computer system 112 during operation of vehicle 100 in autonomous, semi-autonomous, and / or manual modes.

[0052] Vehicle 100 may include a user interface 116 for providing information to or receiving input from a user of vehicle 100. User interface 116 may control, or allow for control of, content and / or the layout of interactive images that may be displayed on touchscreen 148. Additionally, user interface 116 may include one or more input / output devices in the set of peripherals 108, such as wireless communication system 146, touchscreen 148, microphone 150, and speaker 152.

[0053] The computer system 112 may control functions of the vehicle 100 based on inputs received from various subsystems (e.g., the propulsion system 102, the sensor system 104, or the control system 106) and from the user interface 116. For example, the computer system 112 may use inputs from the sensor system 104 to estimate outputs generated by the propulsion system 102 and the control system 106. Depending on the embodiment, the computer system 112 may be operable to monitor many aspects of the vehicle 100 and its subsystems. In some embodiments, the computer system 112 may disable some or all functions of the vehicle 100 based on signals received from the sensor system 104.

[0054] The components of the vehicle 100 may be configured to function in an interconnected manner with other components within or outside their respective systems. For example, in an exemplary embodiment, the camera 130 may capture multiple images that may represent information about the state of the surrounding environment of the vehicle 100 operating in an autonomous or semi-autonomous mode. The state of the surrounding environment may include parameters of the road on which the vehicle is operating. For example, the computer vision system 140 may be capable of recognizing the slope (gradient) or other features based on multiple images of the road. Additionally, the combination of the GPS 122 and the features recognized by the computer vision system 140 may be used along with map data stored in the data storage 114 to determine specific road parameters. Furthermore, the radar 126 and / or the LIDAR 128 and / or some other environmental mapping, range, and / or positioning sensor systems may also provide information about the vehicle's surroundings.

[0055] In other words, a combination of various sensors (which may be referred to as input indicator sensors and output indicator sensors) and computer system 112 may interact to provide an indication of inputs provided to control the vehicle or an indication of the vehicle's surroundings.

[0056] In some embodiments, computer system 112 may make decisions regarding various objects based on data provided by systems other than a wireless system. For example, vehicle 100 may have lasers or other optical sensors configured to sense objects within the field of view of the vehicle. Computer system 112 may use output from the various sensors to determine information regarding objects within the field of view of the vehicle, and may determine distance and direction information to the various objects. Computer system 112 may also determine whether an object is desirable or undesirable based on output from the various sensors.

[0057] 1 illustrates various components of vehicle 100 (i.e., wireless communication system 146, computer system 112, data storage 114, and user interface 116) as being integrated into vehicle 100, one or more of these components may be separately mounted or associated with vehicle 100. For example, data storage 114 may exist partially or completely separate from vehicle 100. Thus, vehicle 100 may be provided in the form of device elements, which may be located separately or together. The device elements that make up vehicle 100 may be communicatively coupled together in a wired and / or wireless manner.

[0058] 2A-2E illustrate an exemplary vehicle 200 (e.g., a fully autonomous vehicle or a semi-autonomous vehicle) that may include some or all of the functionality described in connection with vehicle 100 with reference to FIG. 1. Vehicle 200 is illustrated in FIGS. 2A-2E as a van with side mirrors for illustrative purposes, but the disclosure is not so limited. For example, vehicle 200 may represent a truck, a car, a semi-trailer truck, a motorcycle, a golf cart, an off-road vehicle, an agricultural vehicle, or any other vehicle described elsewhere herein (e.g., a bus, a boat, an airplane, a helicopter, a drone, a lawn mower, a bulldozer, a submarine, an all-terrain vehicle, a snowmobile, an aircraft, a recreational vehicle, an amusement park vehicle, farm equipment, construction equipment or vehicles, warehouse equipment or vehicles, factory equipment or vehicles, a tram, a train, a trolley, a walkway transport vehicle, and a robotic device).

[0059] Exemplary vehicle 200 may include one or more sensor systems 202, 204, 206, 208, 210, 212, 214, and 218. In some embodiments, sensor systems 202, 204, 206, 208, 210, 212, 214, and / or 218 may represent one or more optical systems (e.g., cameras), one or more LIDARs, one or more radars, one or more inertial sensors, one or more humidity sensors, one or more acoustic sensors (e.g., microphones and sonar devices), or one or more other sensors configured to sense information about the environment surrounding vehicle 200. In other words, any sensor system now known or hereafter created may be coupled to vehicle 200 and / or utilized in conjunction with various operations of vehicle 200. As an example, LIDAR may be utilized for autonomous driving or other types of navigation, planning, perception, and / or mapping operations of vehicle 200. Additionally, sensor systems 202, 204, 206, 208, 210, 212, 214, and / or 218 may represent a combination of the sensors described herein (e.g., one or more LIDARs and radars, one or more LIDARs and cameras, one or more cameras and radars, one or more LIDARs, cameras, and radars).

[0060] It should be noted that the number, locations, and types of sensor systems (e.g., 202 and 204) depicted in Figures 2A-E are intended as non-limiting examples of the locations, numbers, and types of such sensor systems in an autonomous or semi-autonomous vehicle. Alternative numbers, locations, types, and configurations of such sensors are possible (e.g., to accommodate vehicle size, shape, aerodynamics, fuel economy, aesthetics, or other conditions to reduce cost or to suit a particular environmental or application situation). For example, the sensor systems (e.g., 202 and 204) may be located at various other locations on the vehicle (e.g., at location 216) and may have a field of view that corresponds to the interior of vehicle 200 and / or the surrounding environment.

[0061] The sensor system 202 may include one or more sensors mounted on top of the vehicle 200 and configured to detect information about the environment surrounding the vehicle 200 and output an indication of the information. For example, the sensor system 202 may include any combination of cameras, radars, LIDARs, inertial sensors, humidity sensors, and acoustic sensors (e.g., microphones and sonar devices). The sensor system 202 may include one or more movable mounts that may be operable to adjust the orientation of one or more sensors in the sensor system 202. In one embodiment, the movable mounts may include a rotating platform that can scan the sensors to obtain information from each direction around the vehicle 200. In another embodiment, the movable mounts of the sensor system 202 may be movable in a scanning manner within a certain range of angles, and / or azimuth angles, and / or elevation angles. The sensor system 202 may be mounted on the roof of the vehicle, although other mounting locations are also possible.

[0062] Additionally, the sensors of sensor system 202 may be distributed at various locations and need not be co-located at a single location. Further, each sensor of sensor system 202 may be configured to be moved or scanned independently of the other sensors of sensor system 202. Additionally or alternatively, multiple sensors may be mounted at one or more of sensor locations 202, 204, 206, 208, 210, 212, 214, and / or 218. For example, there may be two LIDAR devices mounted at a sensor location and / or there may be one LIDAR device and one radar mounted at a sensor location.

[0063] One or more of the sensor systems 202, 204, 206, 208, 210, 212, 214, and / or 218 may include one or more LIDAR devices. For example, a LIDAR device may include multiple light emitter devices arranged over a range of angles relative to a given plane (e.g., an xy plane). For example, one or more of the sensor systems 202, 204, 206, 208, 210, 212, 214, and / or 218 may be configured to rotate or pivot about an axis perpendicular to the given plane (e.g., a z-axis) to illuminate the environment surrounding the vehicle 200 with light pulses. Based on detection of various aspects of the reflected light pulses (e.g., elapsed time of flight, polarization, and intensity), information about the surrounding environment may be determined.

[0064] In an exemplary embodiment, sensor systems 202, 204, 206, 208, 210, 212, 214, and / or 218 may be configured to provide respective point cloud information that may be associated with physical objects within the surrounding environment of vehicle 200. Although vehicle 200 and sensor systems 202, 204, 206, 208, 210, 212, 214, and 218 are shown as including certain features, it will be understood that other types of sensor systems are contemplated within the scope of the present disclosure. Additionally, exemplary vehicle 200 may include any of the components described in connection with vehicle 100 of FIG.

[0065] In an exemplary configuration, one or more radars may be located on the vehicle 200. Similar to the radar 126 described above, the one or more radars may include an antenna configured to transmit and receive radio waves (e.g., electromagnetic waves having frequencies between 30 Hz and 300 GHz). Such radio waves may be used to determine the distance and / or speed of one or more objects in the environment surrounding the vehicle 200. For example, one or more sensor systems 202, 204, 206, 208, 210, 212, 214, and / or 218 may include one or more radars. In some examples, one or more radars may be located near the rear of the vehicle 200 (e.g., sensor systems 208 and 210) to actively scan the environment near the rear of the vehicle 200 for the presence of radio wave reflective objects. Similarly, one or more radars may be located near the front of the vehicle 200 (e.g., sensor systems 212, 214) to actively scan the environment near the front of the vehicle 200. The radar may be positioned, for example, in a location suitable for illuminating an area including the forward path of vehicle 200 without being obstructed by other features of vehicle 200. For example, the radar may be embedded in and / or mounted on or near the front bumper, front headlights, cowl, and / or hood, etc. Furthermore, one or more additional radars may be positioned to actively scan the sides and / or rear of vehicle 200 for the presence of radio reflective objects, such as by including such devices on or near the rear bumper, side panels, rocker panels, and / or undercarriage, etc.

[0066] Vehicle 200 may include one or more cameras. For example, one or more of sensor systems 202, 204, 206, 208, 210, 212, 214, and / or 218 may include one or more cameras. The cameras may be light-sensitive devices, such as still cameras, video cameras, thermal imaging cameras, stereo cameras, night vision cameras, etc., configured to capture multiple images of the surrounding environment of vehicle 200. To this end, the cameras may be configured to detect visible light and may additionally or alternatively be configured to detect light from other parts of the spectrum, such as infrared or ultraviolet light. The cameras may be two-dimensional detectors and may optionally have a sensitivity range in three-dimensional space. In some embodiments, the cameras may include range detectors, for example, configured to generate two-dimensional images indicating the distance from the camera to several points in the surrounding environment. To this end, the cameras may use one or more range detection techniques. For example, the camera can provide range information by using structured light techniques, where the vehicle 200 illuminates an object in the surrounding environment with a predetermined light pattern, such as a grid or checkerboard pattern, and uses the camera to detect reflections of the predetermined light pattern from the surrounding environment. Based on the distortion aberration of the reflected light pattern, the vehicle 200 can determine the distance to a point on the object. The predetermined light pattern may include infrared light, or other wavelengths of radiation suitable for such measurements. In some examples, the camera can be mounted on the inside of the windshield of the vehicle 200. Specifically, the camera can be positioned relative to the orientation of the vehicle 200 to capture images from a forward view. Other mounting locations and viewing angles of the camera can be used either inside or outside the vehicle 200. The camera can also have associated optics operable to provide an adjustable field of view. Furthermore, the camera can be mounted on the vehicle 200 with a movable mount to change the pointing angle of the camera, such as via a pan / tilt mechanism.

[0067] Vehicle 200 may also include one or more acoustic sensors used to sense the vehicle's 200 surrounding environment (e.g., one or more of sensor systems 202, 204, 206, 208, 210, 212, 214, 216, 218 may include one or more acoustic sensors). Acoustic sensors may include microphones (e.g., piezoelectric microphones, condenser microphones, ribbon microphones, and micro-electromechanical system (MEMS) microphones) used to sense acoustic waves (i.e., pressure differentials) in the environmental fluid (e.g., air) surrounding vehicle 200. Such acoustic sensors may be used to detect sounds (e.g., sirens, human speech, animal sounds, and alarms) in the surrounding environment upon which a control strategy of vehicle 200 may be based. For example, if an acoustic sensor detects a siren (e.g., an ambulance siren and / or a fire engine siren), vehicle 200 may slow down and / or navigate to the edge of the road.

[0068] Although not shown in FIGS. 2A-2E, vehicle 200 may include a wireless communication system (e.g., similar to and / or in addition to wireless communication system 146 of FIG. 1). The wireless communication system may include a wireless transmitter and a wireless receiver that may be configured to communicate with devices external to or internal to vehicle 200. In particular, the wireless communication system may include a transceiver configured to communicate with other vehicles and / or computing devices, for example, in a vehicle communication system or road station. Examples of such vehicle communication systems include DSRC, radio frequency identification (RFID), and other communication standards proposed for intelligent transport systems.

[0069] The vehicle 200 may include one or more other components in addition to or instead of those shown. The additional components may include electrical or mechanical functions.

[0070] A control system of the vehicle 200 may be configured to control the vehicle 200 according to a control strategy from among a plurality of possible control strategies. The control system may be configured to receive information from sensors (on the vehicle 200 or external to the vehicle 200) coupled to the vehicle 200, modify the control strategy (and associated driving behavior) based on the information, and control the vehicle 200 according to the modified control strategy. The control system may be further configured to monitor the information received from the sensors and continuously evaluate the driving conditions, and may be configured to modify the control strategy and driving behavior based on changes in the driving conditions. For example, the route taken by the vehicle from one destination to another may be modified based on the driving conditions. Additionally or alternatively, speed, acceleration, turning angle, following distance (i.e., distance to the vehicle ahead of the current vehicle), lane selection, etc. may all be modified in response to changes in driving conditions.

[0071] 3 is a conceptual, illustrative diagram of wireless communication between various computing systems associated with an autonomous or semi-autonomous vehicle, according to an example embodiment. In particular, wireless communication may occur between a remote computing system 302 and the vehicle 200 over a network 304. Wireless communication may also occur between a server computing system 306 and the remote computing system 302, and between the server computing system 306 and the vehicle 200.

[0072] Vehicle 200 may correspond to various types of vehicles capable of transporting passengers or objects between locations and may take the form of any one or more of the vehicles discussed above. In some cases, vehicle 200 may operate in an autonomous or semi-autonomous mode in which a control system uses sensor measurements to enable vehicle 200 to safely navigate between destinations. When operating in an autonomous or semi-autonomous mode, vehicle 200 may navigate with or without a passenger. As a result, vehicle 200 may pick up and drop off passengers between desired destinations.

[0073] Remote computing system 302 may represent any type of device associated with remote assistance technologies, including but not limited to those described herein. In an example, remote computing system 302 may represent any type of device configured to (i) receive information related to vehicle 200, (ii) provide an interface through which a human operator can then notice the information and enter a response related to the information, and (iii) transmit the response to vehicle 200 or to another device. Remote computing system 302 may take a variety of forms, such as a workstation, a desktop computer, a laptop, a tablet, a mobile phone (e.g., a smartphone), and / or a server. In some examples, remote computing system 302 may include multiple computing devices operating together in a network configuration.

[0074] The remote computing system 302 may include one or more subsystems and components similar to or identical to those of the vehicle 200. At a minimum, the remote computing system 302 may include a processor configured to perform various operations described herein. In some embodiments, the remote computing system 302 may also include a user interface, including input / output devices such as a touch screen and a speaker. Other implementations are possible as well.

[0075] The network 304 represents an infrastructure that enables wireless communication between the remote computing system 302 and the vehicle 200. The network 304 also enables wireless communication between the server computing system 306 and the remote computing system 302, and between the server computing system 306 and the vehicle 200.

[0076] The location of the remote computing system 302 may vary within the scope of the embodiments. For example, the remote computing system 302 may be at a location remote from the vehicle 200 with wireless communication over the network 304. In another embodiment, the remote computing system 302 may correspond to a computing device within the vehicle 200 that is separate from the vehicle 200 but that allows a human operator to interact with a passenger or driver of the vehicle 200. In some examples, the remote computing system 302 may be a computing device with a touch screen that can be operated by a passenger of the vehicle 200.

[0077] In some embodiments, operations described herein that are performed by remote computing system 302 may additionally or alternatively be performed by vehicle 200 (i.e., by any system or subsystem of vehicle 200). In other words, vehicle 200 may be configured to provide remote assistance mechanisms with which a driver or passengers of the vehicle may interact.

[0078] The server computing system 306 may be configured to wirelessly communicate with the remote computing system 302 and the vehicle 200 (or, in some cases, directly with the remote computing system 302 and / or the vehicle 200) over the network 304. The server computing system 306 may represent any computing device configured to receive, store, determine, and / or transmit information related to the vehicle 200 and its remote assistance. As such, the server computing system 306 may be configured to perform any operations or portions of such operations described herein as being performed by the remote computing system 302 and / or the vehicle 200. Some embodiments of wireless communication related to remote assistance may utilize the server computing system 306, while other embodiments may not.

[0079] The server computing system 306 may include one or more subsystems and components similar to or identical to the subsystems and components of the remote computing system 302 and / or vehicle 200, such as a processor configured to perform various operations described herein, and a wireless communication interface for receiving information from and providing information to the remote computing system 302 and vehicle 200.

[0080] The various systems described above may perform various operations, and these operations and associated features will now be described.

[0081] In keeping with the above discussion, computing systems (e.g., remote computing system 302, server computing system 306, and computing systems local to vehicle 200) may operate to capture images of the surrounding environment of the autonomous or semi-autonomous vehicle using cameras. Generally, at least one computing system may analyze the images and, if possible, control the autonomous or semi-autonomous vehicle.

[0082] In some embodiments, to facilitate autonomous or semi-autonomous operation, a vehicle (e.g., vehicle 200) may receive data representative of objects in an environment surrounding the vehicle (also referred to herein as "environmental data") in various manners. A sensor system of the vehicle may provide the environmental data representative of objects in the surrounding environment. For example, the vehicle may have various sensors including cameras, radar, LIDAR, microphones, radio units, and other sensors. Each of these sensors may communicate environmental data to a processor within the vehicle regarding the information each sensor receives.

[0083] In one example, the camera may be configured to capture still images and / or video. In some embodiments, the vehicle may have two or more cameras positioned at different orientations. Also, in some embodiments, the camera may be capable of moving to capture images and / or video in different directions. The camera may be configured to store the captured images and video in memory for later processing by a processing system of the vehicle. The captured images and / or video may be environmental data. Additionally, the camera may include an image sensor, as described herein.

[0084] In another example, a radar may be configured to transmit electromagnetic signals that are reflected by various objects in the vicinity of the vehicle, and then capture the electromagnetic signals that reflect from the objects. The captured reflected electromagnetic signals may enable the radar (or a processing system) to make various determinations about the objects that reflected the electromagnetic signals. For example, distances and locations to various reflecting objects may be determined. In some embodiments, a vehicle may have two or more radars at different orientations. The radar may be configured to store the captured information in a memory for later processing by the vehicle's processing system. The information captured by the radar may be environmental data.

[0085] In another example, the LIDAR may be configured to transmit an electromagnetic signal (e.g., infrared light, such as from a gas or diode laser, or other possible light source) that is reflected by a target object near the vehicle. The LIDAR may be capable of capturing the reflected electromagnetic (e.g., infrared light) signal. The captured reflected electromagnetic signal may enable a ranging system (or processing system) to determine distances to various objects. The LIDAR may also determine the velocity, or speed, of the target object, which may be stored as environmental data.

[0086] Additionally, in one embodiment, a microphone may be configured to capture audio of the vehicle's surrounding environment. Sounds captured by the microphone may include emergency vehicle sirens and sounds of other vehicles. For example, the microphone may capture sounds of sirens of an ambulance, a fire engine, and a police vehicle. The processing system may be capable of detecting that the captured audio signal is indicative of an emergency vehicle. In another embodiment, the microphone may capture sounds of an exhaust of another vehicle, such as an exhaust from a motorcycle. The processing system may be capable of detecting that the captured audio signal is indicative of a motorcycle. Data captured by the microphone may form a portion of the environmental data.

[0087] In yet another example, the radio unit may be configured to transmit an electromagnetic signal, which may take the form of a Bluetooth signal, an 802.11 signal, and / or other wireless technology signal. The first electromagnetic radiation signal may be transmitted via one or more antennas located on the radio unit. Furthermore, the first electromagnetic radiation signal may be transmitted in one of many different wireless signal modes. However, in some embodiments, it may be desirable to transmit the first electromagnetic radiation signal in a signal mode that requests a response from devices located in the vicinity of the autonomous or semi-autonomous vehicle. The processing system may be capable of detecting nearby devices based on responses sent back to the radio unit and using this communicated information as part of the environmental data.

[0088] In some embodiments, the processing system may be able to combine information from various sensors to further determine the vehicle's surroundings. For example, the processing system may combine data from both radar information and captured images to determine if another vehicle, or a pedestrian, is in front of the autonomous or semi-autonomous vehicle. In other embodiments, other combinations of sensor data may be used by the processing system to make decisions about the surrounding environment.

[0089] While operating in an autonomous mode (or semi-autonomous mode), the vehicle may control its operation with little or no human input. For example, if a human operator inputs an address into the vehicle, the vehicle may be able to drive to the specified destination without further input from the human (e.g., without the human having to steer or touch the brake / accelerator pedals). Additionally, while the vehicle is operating autonomously or semi-autonomously, the sensor system may receive environmental data. The vehicle's processing system may modify control of the vehicle based on the environmental data received from the various sensors. In some examples, the vehicle may modify the speed of the vehicle in response to the environmental data from the various sensors. The vehicle may modify its speed to avoid obstacles, obey traffic laws, etc. The vehicle may be able to modify its speed or otherwise change its movement when the processing system in the vehicle detects an object in the vehicle's vicinity.

[0090] If the vehicle detects an object but does not have sufficient confidence in the detection of the object, the vehicle can request a human operator (or a more powerful computer) to perform one or more remote assistance tasks, such as (i) verifying whether the object is actually present in the surrounding environment (e.g., is there actually a stop sign or is there actually no stop sign), (ii) verifying whether the vehicle's detection of the object is correct, (iii) correcting the detection if it is incorrect, and / or (iv) providing supplemental instructions (or modifying current instructions) to the autonomous or semi-autonomous vehicle. Remote assistance tasks also include the human operator providing instructions to control the vehicle's operation (e.g., if the human operator determines that the object is a stop sign, commanding the vehicle to stop at the stop sign), although in some scenarios the vehicle itself may control its own operation based on the human operator's feedback related to the detection of the object.

[0091] To facilitate this, the vehicle may analyze environmental data representative of objects in the surrounding environment to determine at least one object having a detection confidence below a threshold. A processor of the vehicle may be configured to detect various objects in the surrounding environment based on the environmental data from various sensors. For example, in one embodiment, the processor may be configured to detect objects that may be important for the vehicle to recognize. Such objects may include pedestrians, bicyclists, street signs, other vehicles, indicator signals of other vehicles, and various other objects detected in the captured environmental data.

[0092] The detection confidence may indicate the likelihood that a determined object is correctly detected or present in the surrounding environment. For example, the processor may perform object detection of an object in image data in the received environmental data and determine that at least one object has a detection confidence below a threshold based on the object not being detectable with a detection confidence above a threshold. If the result of object detection or object recognition of an object is inconclusive, the detection confidence may be low or below a set threshold.

[0093] The vehicle may detect objects in the surrounding environment in a variety of ways, depending on the source of the environmental data. In some embodiments, the environmental data may be image or video data coming from a camera. In other embodiments, the environmental data may come from a LIDAR. The vehicle may analyze the captured image or video data to detect objects in the image or video data. The method and apparatus may be configured to monitor the image and / or video data for the presence of objects in the surrounding environment. In other embodiments, the environmental data may be radar, audio, or other data. The vehicle may be configured to detect objects in the surrounding environment based on radar, audio, or other data.

[0094] In some embodiments, the technique used by the vehicle to detect the object may be based on a set of known data. For example, data related to environmental objects may be stored in a memory located in the vehicle. The vehicle may compare the received data to the stored data to determine the object. In other embodiments, the vehicle may be configured to determine the object based on the context of the data. For example, construction-related street signs may generally have an orange color. Thus, the vehicle may be configured to detect an orange object located near the side of the road as a construction-related street sign. Additionally, as the vehicle's processing system detects objects in the captured data, it may also calculate a confidence level for each object.

[0095] Additionally, the vehicle may also have a confidence threshold. The confidence threshold may vary depending on the type of object detected. For example, the confidence threshold may be lower for objects that may require a quick responsive action from the vehicle, such as the brake lights of another vehicle. However, in other embodiments, the confidence threshold may be the same for all detected objects. If the confidence associated with a detected object is higher than the confidence threshold, the vehicle may assume that the object was correctly recognized and responsively adjust the vehicle's control based on that assumption.

[0096] If the confidence associated with the detected object is below a confidence threshold, the action taken by the vehicle may vary. In some embodiments, the vehicle may react as if the detected object is present despite the low confidence level. In other embodiments, the vehicle may react as if the detected object is not present.

[0097] Upon detecting an object in the surrounding environment, the vehicle may also calculate a confidence level associated with a particular detected object. The confidence level may be calculated in a variety of ways, depending on the embodiment. In one example, upon detecting an object in the surrounding environment, the vehicle may compare the environmental data to predefined data associated with known objects. The closer the match between the environmental data and the predefined data, the higher the confidence level. In other embodiments, the vehicle may use a mathematical analysis of the environmental data to determine the confidence level associated with the object.

[0098] In response to determining that the object has a detection confidence below the threshold, the vehicle may transmit a request for remote assistance along with the detection of the object to a remote computing system. As discussed above, the remote computing system may take a variety of forms. For example, the remote computing system may be a computing device within the vehicle that is separate from the vehicle, but with a touch screen interface or the like for displaying remote assistance information by which a human operator can interact with a passenger or driver of the vehicle. Additionally or alternatively, as another example, the remote computing system may be a remote computer terminal or other device that is located at a location not in the vicinity of the vehicle.

[0099] The request for remote assistance may include environmental data, including objects, image data, audio data, etc. The vehicle may transmit the environmental data over a network (e.g., network 304), and in some embodiments, via a server (e.g., server computing system 306), to a remote computing system. A human operator of the remote computing system may then use the environmental data as a basis for responding to the request.

[0100] In some embodiments, if an object is detected as having a confidence below a confidence threshold, the object may be given a preliminary detection, and the vehicle may be configured to adjust the operation of the vehicle in response to the preliminary detection. Such adjustments in operation may take the form of stopping the vehicle, switching the vehicle into a human-controlled mode, changing the vehicle's velocity (e.g., speed and / or direction), among other possible adjustments.

[0101] In other embodiments, if the vehicle detects an object with a confidence level that meets or exceeds a threshold, the vehicle may still act on the detected object (e.g., stopping if the object is detected with high confidence as a stop sign), but may be configured to request remote assistance at the same time (or after) the vehicle acts on the detected object.

[0102] 4A is a block diagram of a system according to an example embodiment. In particular, FIG. 4A shows a system 400 including a system controller 402, a LIDAR device 410, a number of sensors 412, and a number of controllable components 414. The system controller 402 includes a processor(s) 404, a memory 406, and instructions 408 stored on the memory 406 and executable by the processor(s) 404 to implement functions.

[0103] The processor 404 may include one or more processors, such as one or more general-purpose microprocessors (e.g., having a single core or multiple cores) and / or one or more special-purpose microprocessors. The one or more processors may include, for example, one or more central processing units (CPUs), one or more microcontrollers, one or more graphic processing units (GPUs), one or more tensor processing units (TPUs), one or more ASICs, and / or one or more field programmable gate arrays (FPGAs). Other types of processors, computers, or devices configured to execute software instructions are also contemplated herein.

[0104] The memory 406 may include computer readable media such as non-transitory computer readable media, which may include, but are not limited to, read only memory (ROM), programmable read only memory (PROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), non-volatile random access memory (e.g., flash memory), solid state drive (SSD), hard disk drive (HDD), compact disc (CD), digital video disc (DVD), digital tape, read / write (R / W) CD, R / W DVD, and the like.

[0105] The LIDAR device 410, described further below, includes a number of light emitters configured to emit light (e.g., in light pulses) and one or more light detectors configured to detect light (e.g., reflected portions of the light pulses). The LIDAR device 410 may generate three-dimensional (3D) point cloud data from the output of the light detector(s) and provide the 3D point cloud data to the system controller 402. The system controller 402 may then perform operations on the 3D point cloud data to determine characteristics of the surrounding environment (e.g., relative positions of objects within the surrounding environment, edge detection, object detection, and / or proximity sensing).

[0106] Similarly, system controller 402 may use output from multiple sensors 412 to determine characteristics of system 400 and / or characteristics of the surrounding environment. For example, sensors 412 may include one or more of a GPS, an IMU, an image capture device (e.g., a camera), a light sensor, a thermal sensor, and other sensors indicative of parameters related to system 400 and / or the surrounding environment. LIDAR device 410 is depicted as separate from sensors 412 for illustrative purposes, and in some examples may be considered as part of or as sensor 412.

[0107] Based on characteristics of the system 400 and / or the surrounding environment determined by the system controller 402 based on output from the LIDAR device 410 and the sensors 412, the system controller 402 may control the controllable components 414 to perform one or more actions. For example, the system 400 may correspond to a vehicle, in which case the controllable components 414 may include the vehicle's braking system, turning system, and / or acceleration system, and the system controller 402 may alter aspects of these controllable components based on characteristics determined from the LIDAR device 410 and / or the sensors 412 (e.g., when the system controller 402 controls the vehicle in an autonomous or semi-autonomous mode). In an example, the LIDAR device 410 and the sensors 412 are also controllable by the system controller 402.

[0108] 4B is a block diagram of a LIDAR device according to an example embodiment. In particular, FIG. 4B illustrates a LIDAR device 410 having a controller 416 configured to control a plurality of light emitters 424 and one or more light detector(s), such as a plurality of light detectors 426. The LIDAR device 410 may further include a firing circuit 428 configured to select and provide power to each of the plurality of light emitters 424 and may include a selector circuit 430 configured to select each of the plurality of light detectors 426. The controller 416 includes a processor 418, a memory 420, and instructions 422 stored on the memory 420.

[0109] Similar to processor(s) 404, processor(s) 418 may include one or more processors, such as one or more general purpose microprocessors and / or one or more special purpose microprocessors. The one or more processors may include, for example, one or more CPUs, one or more microcontrollers, one or more GPUs, one or more TPUs, one or more ASICs, and / or one or more FPGAs. Other types of processors, computers, or devices configured to execute software instructions are also contemplated herein.

[0110] Similar to memory 406, memory 420 may include computer-readable media such as, but not limited to, non-transitory computer-readable media such as ROM, PROM, EPROM, EEPROM, non-volatile random access memory (e.g., flash memory), SSD, HDD, CD, DVD, digital tape, R / W CD, R / W DVD, etc.

[0111] Instructions 422 are stored on memory 420 and executable by processor 418 to perform functions related to controlling firing circuitry 428 and selector circuitry 430 to generate 3D point cloud data and to process the 3D point cloud data (or perhaps to facilitate processing of the 3D point cloud data by another computing device, such as system controller 402).

[0112] The controller 416 may determine the 3D point cloud data by using the light emitters 424 to emit pulses of light. An emission time is established for each light emitter, and the relative position at the emission time is also tracked. Aspects of the surrounding environment of the LIDAR device 410, such as various objects, reflect the pulses of light. For example, if the LIDAR device 410 is in an environment that includes a road, such objects may include vehicles, signs, pedestrians, road surfaces, construction cones, etc. Some objects may be more reflective than others, such that the intensity of the reflected light may indicate the type of object reflecting the light pulse. Furthermore, the surfaces of the objects may be at different positions relative to the LIDAR device 410 and therefore may take more or less time to reflect a portion of the light pulse back to the LIDAR device 410. Thus, the controller 416 may track the detection time at which the reflected light pulse is detected by the light detector, and the relative position of the light detector at the detection time. By measuring the time difference between the emission time and the detection time, the controller 416 can determine how far the light pulse travels before being received, and therefore the relative distance of the corresponding object. By tracking the relative positions at the emission and detection times, the controller 416 can determine the orientation of the light pulse and the reflected light pulse relative to the LIDAR device 410, and therefore the relative orientation of the object. By tracking the intensity of the received light pulses, the controller 416 can determine how reflective the object is. The 3D point cloud data determined based on this information can thus indicate the relative positions (e.g., in a coordinate system such as a Cartesian coordinate system) of the detected reflected light pulses, and the intensity of each reflected light pulse.

[0113] A firing circuit 428 is used to select the light emitter for emitting a light pulse. Similarly, a selector circuit 430 is used to sample the output from the photodetector.

[0114] 5 is a block diagram of a device 500, according to an example embodiment. The device 500 includes a plurality of time-of-flight sensor (ToF) pixels 510. In some embodiments, the ToF pixels 510 may be configured to detect light having a wavelength of 850 nm, 905 nm, or 940 nm. Other wavelengths are possible and contemplated.

[0115] The ToF pixel 510 may include elements of a ToF sensor. A ToF sensor can measure the distance to an object by determining the time it takes for a pulse of light to travel from the sensor to the object and back. ToF sensors are used in a variety of applications, including automotive, robotics, augmented reality, and gesture recognition.

[0116] In some embodiments, a ToF sensor may operate as follows: The sensor may include one or more light emitters that emit a pulse of light. The pulse of light travels to an object and is reflected back to the sensor. The sensor measures the time it takes for the pulse of light to travel to the object and back. The distance to the object is calculated by dividing the speed of light by the time it takes for the pulse of light to travel to the object and back. ToF sensors are classified into two main types: active and passive. Active ToF sensors emit their own light source, while passive ToF sensors use reflected light from an external light source.

[0117] In various embodiments, the ToF pixel 510 may include a square shape and may measure a length and width of 10 μm or less. Of course, other sizes and shapes are possible and contemplated. For example, a rectangular pixel may have a longest side length of 10 μm or less.

[0118] In some embodiments, various elements of device 500 (including ToF pixel 510) may be configured to operate as a direct time-of-flight (dToF) sensor and / or an indirect time-of-flight (iToF) sensor. In an exemplary embodiment, a direct ToF sensor emits a short pulse of light and then measures the time it takes for the light to return. The distance to the object is then calculated by dividing the speed of light by the time it takes to travel to the object and back. Additionally or alternatively, an indirect ToF sensor emits a continuous light beam and measures the phase shift between the emitted light and the reflected light. The phase shift is proportional to the distance to the object. In some embodiments, a dToF sensor may provide higher resolution and accuracy, while an iToF sensor may be less expensive and have lower power consumption.

[0119] The device 500 includes a number of visible image sensor (VIS) pixels 520. In some embodiments, the VIS pixels 520 are configured to detect wavelengths between 380 nm and 700 nm. The VIS pixels 520 may be similar or identical to imaging elements from a visible camera sensor. For example, the VIS pixels 520 may include photosensitive elements used to capture images in visible light wavelengths. In such a scenario, each pixel may include a photodetector configured to convert light into an electrical signal and a storage element that stores the electrical signal until the electrical signal is read.

[0120] In some embodiments, the VIS pixel 520 may include a semiconductor material, such as silicon or germanium, that is photosensitive. However, other semiconductor materials (e.g., III-V materials) are possible and contemplated. When light strikes the photodetector, the photons may be converted to electrons by the photoelectric effect. These electrons are then collected by a storage element, typically a capacitor. The amount of charge stored in the capacitor is proportional to the amount of light that strikes the photodetector. This charge is then read out and converted to a digital signal, which can be used to create an image.

[0121] In some imaging applications, each pixel may also contain a color filter. In such a scenario, the color filter allows only certain wavelengths of light to reach the photodetector. This is how the camera can capture images in different colors. The most common color filter pattern used in digital cameras is the Bayer pattern. The Bayer pattern uses a grid of red, green, and blue filters, with each pixel containing either a red, green, or blue filter. This pattern ensures that each pixel in the image contains information for all three colors.

[0122] Of course, the VIS pixels 520 may be sensitive to light in other wavelength ranges. As an example, the VIS pixels 520 may be configured to detect and / or image near-infrared and / or infrared light. In such a scenario, if a spatial pin grid is emitted to provide illumination to the dToF sensor, the pin grid pattern may also be sensed by the VIS pixels 520 and used as structured light illumination. By utilizing near-infrared and / or infrared structured light, the VIS pixels 520 may beneficially provide higher resolution, fused 3D finger grained images. Various examples may include the VIS pixels being arranged with a pixel pitch of 2.1 μm or less.

[0123] The device 500 also includes a ToF communications channel 512 configured to provide ToF image data 514 indicative of light received by the one or more ToF pixels 510 .

[0124] The device 500 further includes a VIS communication channel 514 configured to provide VIS image data 524 indicative of one or more VIS pixels 520 .

[0125] In some embodiments, a plurality of ToF pixels 510 and a plurality of VIS pixels 520 are arranged along a plane 502 (eg, a shared substrate).

[0126] In various embodiments, the ToF pixels 510 are arranged in an arrangement 532 between the VIS pixels 520. In some scenarios, the arrangement 532 includes a two-dimensional grid that alternates between a 5×5 square array of VIS pixels 510 and a single ToF pixel 520.

[0127] Additionally or alternatively, the arrangement 532 may include a grid 534 that may define the location of each subarray of VIS pixels 520 and each ToF pixel 510. In such a scenario, the grid 534 may include at least one of a diamond grid, a square grid, a hexagonal grid, a rectangular grid, a diagonal grid, or an equilateral triangular grid.

[0128] In some scenarios, the arrangement of the ToF pixel 510 and the VIS pixel 520 may be configured to provide a composite information frame 550. In such scenarios, the composite information frame 550 may be formed based on a first partial information frame 552 in which the ToF pixel 510 and the VIS pixel 520 are in a first position, and a second partial information frame 554 in which the ToF pixel 510 and the VIS pixel 520 are in a second position. In the context of this disclosure, an "information frame" may include a data file having image information provided in a desired format (e.g., JPEG, TIFF, RAW, and DNG). For example, the first partial information frame 552 may include image information based on signals received by the ToF pixel 510, and the second partial information frame 554 may include image information based on signals received by the VIS pixel 520. Thus, the composite information frame 550 may include ToF and VIS pixel information captured first while in a first position and then while in a second position. Such information may be arranged in any desired data format based on the spatial location of each given pixel. In some examples, the composite information frame 550 may be the result of an image convolution involving addition, subtraction, multiplication, or another operation between the first partial information frame 552 and the second partial information frame 554. In some embodiments, the VIS pixel 520 may provide a combined resolution of 8.29 megapixels. Of course, other combined resolutions are possible and contemplated.

[0129] In some embodiments, the device 500 may include at least one optical element 540. In such a scenario, the at least one optical element 540 may include one or more lenses 542. In various examples, other types of optical elements 540 are possible, including mirrors, prisms, filters, diffractive optical elements, or beam splitters. In such a scenario, the optical element 540 may be made from materials including glass, crystal (e.g., quartz or sapphire), plastic (e.g., PETG), metal, dielectric, and / or semiconductor.

[0130] Additionally or alternatively, the at least one optical element 540 may include a color filter array (CFA) 544. In some embodiments, the CFA 544 may be formed using one or more films that may incorporate one or more colored dyes. In some examples, the dyes may include organic materials, such as cyanine dyes or azo dyes.

[0131] As an example, the CFA 544 may include a Bayer filter. In some embodiments, the Bayer filter may include a mosaic pattern of red, green, and blue (RGB) color filters disposed over individual pixels or subarrays of pixels of the image sensor. In some implementations, the pattern is arranged such that there are twice as many green filters as red or blue filters.

[0132] Additionally or alternatively, the CFA 544 may include an RCCC filter, which is a variation of a Bayer filter, but instead of having green or blue filters, it has clear filters, which allows the RCCC filter to capture more light than a Bayer filter, which may be beneficial in low light conditions.

[0133] Additionally, the CFA 544 may include an RCCB or RCCG filter, which is a variation of the Bayer filter, but instead of having a green filter in every other pixel, it has a clear filter.

[0134] 6A is a cross-sectional view 600 of a time-of-flight sensor pixel 510, according to an example embodiment. As shown in FIG. 6A, the ToF pixel 510 may include a light-sensitive photodiode semiconductor device that may be illuminated from a backside 602 of a substrate. In some examples, the ToF pixel 510 may be illuminated in an energized state (e.g., V BB1 , and / or V BB2In such a scenario, light is absorbed through the doped p+ rear layer 606. - When light is absorbed near the n1 interface region 608 and converted to electrons, it can impinge on the semiconductor layer 604. C , and G2) and drain contacts 612 (e.g., FD1 and FD2) can be energized to efficiently collect the electrical signal. In some embodiments, the ToF pixel 510 can include on-chip silicon-on-insulator (SOI) circuitry 614, which can utilize a buried oxide (BOX) layer 616 on a top surface 618 of the substrate. It will be understood that other types, designs, and / or configurations of the ToF pixel 510 are possible and are contemplated.

[0135] FIG. 6B is a cross-sectional view 620 of a visible sensor pixel 520 according to an exemplary embodiment. In some examples, the visible sensor pixel 520 may be similar or identical to a similar structure of a complementary metal oxide semiconductor (CMOS) image sensor. In an exemplary embodiment, various elements of the visible sensor pixel 520 may be formed in a p-type substrate 622. Specifically, the N-well 624, the P-well 626, and the deep P-well 628 may form an n-type photodiode, which may include a PN junction created by doping a region of the substrate with a high concentration of donor impurities, which creates a layer of positive charge carriers (electrons) in that region. When light strikes the photodiode, the interaction creates electron-hole pairs. The electrons are attracted to the n-type region of the photodiode, while the holes are attracted to the p-type substrate. This creates a charge separation, resulting in the accumulation of electrons in the n-type region and holes in the p-type substrate. A readout circuit 630 may be used to amplify and read out the charge collected in the photodiode. One or more gates may be used to control the flow of charge between the photodiode and the readout circuit 630.

[0136] 6A and 6B show cross-sectional views of the ToF sensor pixel 510 and the VIS sensor pixel 520, it will be understood that other implementations of the two types of sensor pixels within the scope of the present disclosure are possible and contemplated. As an example, the ToF sensor pixel 510 and the VIS sensor pixel 520 may be configured to share the same substrate (e.g., silicon or III-V substrate). For example, the ToF sensor pixel 510 and the VIS sensor pixel 520 may be easily mounted on the same p-type substrate. However, it will be understood that non-uniform integration of the ToF sensor pixel 510 and the VIS sensor pixel 520 on the same silicon is also possible and contemplated.

[0137] 7A is an overhead view 700 of an arrangement 532 of ToF sensor pixels 510 and VIS sensor pixels 520, according to an example embodiment. While FIG. 7A shows one particular arrangement of the ToF sensor pixels 510 and VIS sensor pixels 520, it will be understood that a wide range of other arrangements are possible. In an example embodiment, the ToF sensor pixels 510 and VIS sensor pixels 520 may be arranged in alternating rows or columns. Other geometric arrangements of the sensor pixels are possible and are contemplated.

[0138] 7B is an illustrative diagram 720 of a color filter array 544 overlying a sensor array, according to an example embodiment. In some embodiments, the sensor array 722 may include an arrangement of ToF pixels 510 and / or VIS pixels 520.

[0139] 8 is an illustrative diagram of an apparatus 800, according to an example embodiment. The apparatus 800 may include a device (e.g., device 500). As an example, the device may include a plurality of time-of-flight sensor (ToF) pixels (e.g., ToF pixel 510) configured to detect light within a predetermined wavelength range.

[0140] The device may also include visible image sensor (VIS) pixels (e.g., VIS pixel 520). In such a scenario, the ToF pixels and the VIS pixels may be arranged along a first plane (e.g., plane 502). In various embodiments, the ToF pixels may be arranged at an arrangement between the VIS pixels (e.g., arrangement 532).

[0141] The apparatus 800 also includes one or more actuators 820 configured to translate the device along a first plane. In some embodiments, the actuators 820 may include piezoelectric actuators, voice coils, and / or microelectromechanical (MEMS) actuators. Of course, other types of actuators are possible and contemplated. Additionally, the actuators 820 may be configured to translate the device a predetermined distance 822. In various embodiments, the actuators 820 may be configured to translate the device about 10 μm along the y-axis. Other predetermined distances and directions are possible and contemplated.

[0142] In various examples, the actuator 820 may be configured to translate the device at a predetermined frequency (e.g., 60 Hz, 120 Hz, 1 kHz, etc.). Additionally or alternatively, the actuator 820 may be disposed on a printed circuit board (e.g., substrate 502). Furthermore, although some embodiments described herein relate to moving the device along a first plane, it will be understood that other methods of moving the device relative to incident light received by the system are contemplated and possible. For example, in various embodiments, the actuator 820 may be configured to translate one or more of the optical elements 540, the lens 542, or the color filter array 544.

[0143] The apparatus 800 further includes one or more light emitter devices (e.g., vertical cavity surface emitting lasers (VCSELs) 810) configured to emit light within a predetermined wavelength range. Additionally or alternatively, the VCSELs 810 may be configured to emit light pulses at a predetermined pulse rate (e.g., 60 Hz, 120 Hz, 1 kHz, etc.). In various examples, the VCSELs 810 may be configured to emit light pulses. In such a scenario, the light pulses may include wavelengths of 850 nm or 940 nm. Other emission wavelengths, such as near infrared wavelength ranges (e.g., 750 nm to 2500 nm), are also possible and contemplated. In some exemplary embodiments, the light emitters may include fiber optic amplifiers, laser diodes, light emitting diodes (LEDs), among other possibilities.

[0144] In some embodiments, the apparatus 800 may include at least one optical element (e.g., optical element 540). In such a scenario, the at least one optical element may include one or more lenses (e.g., lens 542). Additionally or alternatively, the at least one optical element may include a color filter array (CFA) (e.g., CFA 544). As some examples, the CFA may be a Bayer filter, a RCCC filter, or a RCCG filter.

[0145] The apparatus 800 may additionally or alternatively include a computing device configured to control one or more elements of the device.

[0146] 9 is an illustrative diagram of a system 900, according to an example embodiment. The system 900 includes a sensing layer 910. The sensing layer 910 includes a plurality of time-of-flight sensor (ToF) pixels (e.g., ToF pixels 510) configured to detect light from a field of view and form ToF image data (e.g., ToF image data 514).

[0147] The sensing layer 910 also includes a number of visible image sensor (VIS) pixels (eg, VIS pixels 520) configured to detect light from the field of view and form VIS image data (eg, VIS image data 524).

[0148] System 900 also includes a readout layer 920. Readout layer 920 includes readout circuitry 922 configured to receive the ToF image data and the VIS image data. In various embodiments, readout layer 920 may be configured to perform functions related to at least one of analog-to-digital conversion (ADC), high dynamic range image capture, or cache memory storage.

[0149] The system 900 further includes a processing layer 930. The processing layer 930 includes a processing circuit 932 configured to provide at least one composite image (e.g., composite information frame 550) based on at least one of the ToF image data or the VIS image data. In some embodiments, the processing circuit 932 may be configured to manage sensor movement, timing, and capture. Additionally or alternatively, the processing circuit 932 may include one or more Automotive Safety Level (ASIL) circuits 942 configured to classify the risk of a given driving scenario. Without limitation, the processing circuit 932 may include one or more of a central processing unit (CPU), a graphics processing unit (GPU), a tensor processing unit (TPU), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC).

[0150] In some embodiments, the processing layer 930 may include one or more neural networks that may be configured to generate an object list based on the ToF image data or images detected in the VIS image data. The processing layer 930 may additionally include one or more convolutional neural networks (CNN) 950 and / or recurrent neural networks (RNN) 960 that may be configured to track objects based on at least the object list.

[0151] In various embodiments, system 900 may include a communications interface 940. In such a scenario, communications interface 940 may be configured to provide information indicative of objects detected within the image. In some examples, communications interface 940 may be configured to interface with an external device or system.

[0152] In various examples, the sensing layer 910 and the readout layer 920 are communicatively linked. In some examples, the readout layer 920 and the processing layer 930 are communicatively linked. In some embodiments, each layer may be physically coupled. For example, the substrates of each of the sensing layer 910 and the readout layer 920 may be hybridized (e.g., bump bonded or otherwise physically coupled together). In some embodiments, the system 900 may include a clock circuit 970 that may be utilized to control time synchronization between two or more layers of the system 900. Additionally or alternatively, the clock circuit 970 may beneficially synchronize electronic shutter timing of the image sensing pixels 910. In an exemplary embodiment, various operations of the ToF pixel 510 and the VIS pixel 520 may be controlled by the clock circuit 970. As an example, the clock circuit 970 may provide a time reference for operations such as ToF / VIS electronic shutter timing, pixel readout sequencing, ToF / VIS sensor exposure adjustment, ToF / VIS sensor gain adjustment, among other possibilities.

[0153] Additionally or alternatively, the handling layer 930 may be wirebonded to the substrate (e.g., substrate 502). In other embodiments, the readout layer 920 may be wirebonded to the handling layer 930. Other methods of physically coupling the various layers are contemplated and possible.

[0154] 10A is an information flow diagram 1000 according to an example embodiment. Information flow diagram 1000 includes the capture of ToF and VIS images using a ToF+VIS imaging device (e.g., device 500). The ToF and VIS images may be transmitted in separate image streams (e.g., VIS image stream 1004 and ToF image stream 1006). Each image stream may be provided to a smart sensor 1008, which may include local image processing / object recognition hardware (e.g., processing layer 930). The output of smart sensor 1008 may be provided to central computation hardware 1010.

[0155] 10B illustrates a system 1020 according to an example embodiment. System 1020 may include a sensing layer 910, a readout layer 920, and a processing layer 930 as described with reference to system 900 and FIG. 9. System 1020 may include a compact, hybrid arrangement of various hardware elements.

[0156] FIG. 11 is a method 1100 according to an example embodiment.

[0157] Block 1102 includes causing one or more vertical cavity surface emitting lasers (VCSELs) (e.g., VCSEL 810) to emit light pulses. Other types of light emitter devices are possible and contemplated. In such scenarios, the light pulses include light within a predetermined wavelength range (e.g., near infrared and / or infrared wavelength ranges).

[0158] Block 1104 includes receiving or determining first ToF image data based on a reflected light pulse received by one or more ToF pixels (e.g., ToF pixel 510) at a first location. The received light is within a predetermined wavelength range. In an exemplary embodiment, block 1104 may include capturing time-of-flight information from the scene using the ToF pixel 510. In such a scenario, the time-of-flight information may represent the time difference between emitting an illumination light pulse and receiving reflected light associated with the illumination light pulse from the scene. The distance to the object is then calculated by multiplying the speed of light by the time-of-flight.

[0159] Block 1106 includes receiving or determining first VIS image data based on light received by one or more VIS pixels (e.g., VIS pixel 520) at the first location. As an example, block 1106 may include capturing visible light information from a scene using VIS pixel 520. In such a scenario, capturing visible light information may include receiving light from the scene via a camera lens. It will be appreciated that VIS pixel 520 may also be configured to capture near-infrared light and / or infrared light. The received light is converted into an electrical signal that varies based on the light intensity. The electrical signal may then be amplified and converted to a digital signal or stored in a charge capacitor for later readout. The analog or digital signal may then be processed to form an image.

[0160] Block 1108 includes causing an actuator (e.g., actuator 820) to displace one or more ToF pixels and one or more VIS pixels from a first position to a second position. In some alternative embodiments, the actuator can be utilized to displace an optical system (e.g., a lens) in the optical path.

[0161] Block 1110 includes determining second ToF image data based on the reflected light pulses received by one or more ToF pixels at the second location. In an example embodiment, block 1110 may be similar to block 1104, except that the ToF pixels may be in different relative locations. In such a scenario, the second ToF image data may be based on reflected light within a predetermined wavelength range (e.g., near-infrared and / or infrared wavelengths).

[0162] Block 1112 includes determining second VIS image data based on light received by one or more VIS pixels at the second location. In an example embodiment, block 1112 may be similar to block 1106, except that the VIS pixels may be in different relative locations. In such a scenario, the second VIS image data may be based on light received in visible light wavelengths. Additionally or alternatively, the second VIS image data may be based on light in other wavelength ranges, such as near-infrared and / or infrared wavelengths.

[0163] Block 1114 includes determining composite VIS image data from the first VIS image data and the second VIS image data. In some embodiments, determining the composite VIS image data may include at least one of (i) temporal denoising, (ii) 3D noise filtering, or (iii) super-resolution processing. In some examples, the temporal denoising may include utilizing temporal information between image frames (e.g., the first VIS image data and the second VIS image data) to reduce noise. In such a scenario, the temporal denoising may utilize various processes including frame differencing, motion compensation, and / or adaptive filtering. In an exemplary embodiment, the 3D noise filtering may use information from multiple frames (e.g., the first VIS image data and the second VIS image data) to reduce noise and may use processes such as block matching, non-local means, and wavelet-based noise filtering to reduce noise. Furthermore, in some examples, the super-resolution image processing may increase the resolution of the image by increasing the number of pixels using processes that may include pixel interpolation, edge sharpening, contrast adjustment, and / or machine learning algorithms.

[0164] Block 1116 includes determining composite ToF image data (e.g., composite information frame 550) from the first ToF image data and the second ToF image data. In various embodiments, determining the composite ToF image data may include determining at least one higher resolution ToF image. In various embodiments, determining the higher resolution ToF image may include processes such as interpolation of the ToF image data, edge sharpening, contrast adjustment, image sharpening, or application of machine learning algorithms.

[0165] Block 1118 includes generating at least one object depth map estimate from the combined ToF image data. In various embodiments, generating the object depth map estimate may be based on triangulating distances to each object, applying a phase-based method, or utilizing a learning-based method using a machine learning algorithm.

[0166] Block 1120 includes providing, via a communications interface (e.g., communications interface 940), the composite VIS image data and the data indicative of the at least one object depth map estimate. In some embodiments, the composite VIS image data and the data indicative of the at least one object depth map estimate may be provided to a central server, a vehicle, or a perception system.

[0167] In some embodiments, the method 1100 may include generating a list of objects based on the synthetic image by a convolutional neural network (CNN). In some examples, the CNN may generate the list of objects using a region proposal process. The region proposal process may include extraction of features (e.g., edges and corners) from the scene. The region proposal process may further include using the features to generate a set of candidate regions. These regions may include small rectangular regions (e.g., bounding boxes) of the image. The candidate regions may then be classified by the CNN to detect the objects they contain. In some embodiments, the CNN may use a softmax classifier to assign a probability to each object class for each region. The region with the highest probability for a particular object class is then considered to be the best candidate for that object. A list of objects from the scene may be generated by considering the regions classified as containing objects. The regions may be ranked by their probability scores, and the top-ranked regions may be included in the list.

[0168] The method 1100 may further include tracking the objects by a recurrent neural network (RNN) based on the list of objects and timing information. In various embodiments, the RNN may provide a list of objects from the scene by using a sequence modeling process. In such a scenario, sequence modeling may include predicting the next element in the sequence based on the previous element. In the case of object detection, the sequence may include a sequence of pixels in an image. In this way, sequence modeling may include extraction of features (e.g., object parts and object relations) from the image. Furthermore, the RNN may utilize the features to predict the next element in the sequence. This is done by using recurrent connections, which allows the RNN to take previous elements in the sequence into account when predicting the next element. A list of objects from the scene may be generated by considering the sequence of elements to be predicted. The elements may be ranked by their probability scores, and the top ranked elements may be included in the list.

[0169] The present disclosure is not limited with respect to the specific embodiments described in this application, which are intended as illustrations of various aspects. As will be apparent to those skilled in the art, many modifications and variations can be made without departing from the spirit and scope of the present disclosure. In addition to the methods and devices recited herein, functionally equivalent methods and devices within the scope of the present disclosure will be apparent to those skilled in the art from the foregoing description. Such modifications and variations are intended to fall within the scope of the appended claims.

[0170] The above detailed description describes various features and functions of the disclosed systems, devices, and methods with reference to the accompanying drawings. In the figures, similar symbols typically refer to similar components identically unless the context dictates otherwise. The exemplary embodiments described herein and in the figures are not intended to be limiting. Other embodiments can be utilized and other changes can be made without departing from the scope of the subject matter presented herein. It will be readily understood that the aspects of the present disclosure, as generally described herein and illustrated in the figures, can be arranged, substituted, combined, separated, and designed in a wide variety of different configurations, all of which are expressly contemplated.

[0171] With respect to any or all of the message flow diagrams, scenarios, and flowcharts in the figures and discussed herein, each step, block, operation, and / or communication may represent a processing of information and / or a transmission of information according to the exemplary embodiments. Alternative embodiments are included within the scope of these exemplary embodiments. In these alternative embodiments, for example, operations described as steps, blocks, transmissions, communications, requests, responses, and / or messages may be performed in a different order than shown or discussed, such as substantially simultaneously or in reverse order, depending on the functionality involved. Furthermore, more or fewer blocks and / or operations may be used in any of the message flow diagrams, scenarios, and flowcharts discussed herein, and these message flow diagrams, scenarios, and flowcharts may be combined with each other, either in part or in whole.

[0172] A step, block, or operation corresponding to the processing of information may correspond to circuitry that may be configured to perform a particular logical function of a method or technique described herein. Alternatively or additionally, a step or block corresponding to the processing of information may correspond to a module, segment, or portion of program code (including associated data). Program code may include one or more instructions executable by a processor to perform a particular logical operation or action in a method or technique. The program code and / or associated data may be stored in any type of computer readable medium, such as a storage device including a RAM, a disk drive, a solid state drive, or another storage medium.

[0173] Additionally, steps, blocks, or acts representing one or more information transmissions may correspond to information transmissions between software and / or hardware modules in the same physical device, however, other information transmissions may be information transmissions between software and / or hardware modules in different physical devices.

[0174] The particular arrangements shown in the figures should not be considered as limiting. It should be understood that other embodiments may include more or less of each element shown in a given figure. Further, some of the illustrated elements may be combined or omitted. Additionally, example embodiments may include elements not illustrated in the figures.

[0175] While various aspects and embodiments are disclosed herein, other aspects and embodiments will be apparent to those of ordinary skill in the art. The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope being indicated by the following claims.

Claims

1. A device, comprising: A plurality of time-of-flight sensor (ToF) pixels; a plurality of visible image sensor (VIS) pixels; a ToF communication channel configured to provide ToF image data indicative of one or more ToF pixels; and a VIS communication channel configured to provide VIS image data indicative of one or more VIS pixels, wherein the plurality of ToF pixels and the plurality of VIS pixels are arranged along a plane, and the plurality of ToF pixels are disposed at a location between the plurality of VIS pixels.

2. 10. The device of claim 1, wherein the ToF pixel is configured to detect at least one of the following wavelengths of light: 850 nm or 940 nm.

3. The device of claim 1 , wherein the ToF pixels measure a length or width of 10 μm or less.

4. The device of claim 1 , wherein the VIS pixels are configured to detect wavelengths between 380 nm and 700 nm.

5. The device of claim 1 , wherein the VIS pixels are arranged with a pixel pitch of 2.1 μm or less.

6. 2. The device of claim 1, wherein the arrangement of the ToF pixels and VIS pixels is configured to provide a composite information frame, the composite information frame being formed from a first partial information frame captured with the ToF pixels and VIS pixels at a first location and a second partial information frame captured with the ToF pixels and VIS pixels at a second location.

7. The device of claim 1 , wherein the arrangement comprises a two-dimensional grid alternating between a 5×5 square array of VIS pixels and a single ToF pixel.

8. The device of claim 1 , wherein the arrangement comprises a grating.

9. The device of claim 8 , wherein the lattice comprises at least one of a diamond lattice, a square lattice, a hexagonal lattice, a rectangular lattice, a diagonal lattice, or an equilateral triangular lattice.

10. The device of claim 1 , wherein the VIS pixels provide a combined resolution of 8.29 megapixels.

11. The device of claim 1 further comprising at least one optical element.

12. The device of claim 11 , wherein the at least one optical element comprises one or more lenses.

13. The device of claim 11 , wherein the at least one optical element comprises a color filter array (CFA).

14. The device of claim 13 , wherein the CFA is a Bayer filter.

15. The device of claim 13 , wherein the CFA is a RCCC filter.

16. The device of claim 13 , wherein the CFA is a RCCB filter or a RCCG filter.

17. 1. A system comprising: A sensing layer, a plurality of time-of-flight sensor (ToF) pixels configured to detect light from a field of view to form ToF image data; a sensing layer comprising a plurality of visible image sensor (VIS) pixels configured to detect light from the field of view and form VIS image data; a readout layer comprising readout circuitry configured to receive the ToF image data and the VIS image data; and a processing layer including processing circuitry configured to provide at least one composite image based on at least one of the ToF image data or the VIS image data, wherein the sensing layer and readout layer are communicatively linked, and the readout layer and processing layer are communicatively linked.

18. 20. The system of claim 17, wherein the readout layer is configured to perform functions related to at least one of analog-to-digital conversion (ADC), high dynamic range image capture, or cache memory storage.

19. The system of claim 17 , further comprising a communications interface, the communications interface configured to provide information indicative of objects detected within the image.

20. The processing layer comprises: one or more of a convolutional neural network (CNN), a recurrent neural network (RNN), a transformer, or a base model configured to generate an object list based on images detected in the ToF image data or the VIS image data; and one or more recurrent neural networks (RNNs) configured to track objects based at least on the object list.