WO2024228752A1 - Systems and methods for imaging based on illumination map - Google Patents
Systems and methods for imaging based on illumination map Download PDFInfo
- Publication number
- WO2024228752A1 WO2024228752A1 PCT/US2023/085226 US2023085226W WO2024228752A1 WO 2024228752 A1 WO2024228752 A1 WO 2024228752A1 US 2023085226 W US2023085226 W US 2023085226W WO 2024228752 A1 WO2024228752 A1 WO 2024228752A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image capture
- image
- camera
- setting
- environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/70—Circuitry for compensating brightness variation in the scene
- H04N23/73—Circuitry for compensating brightness variation in the scene by influencing the exposure time
Definitions
- the present disclosure generally relates to image capture and processing.
- aspects of the present disclosure relate to systems and techniques for generating a map of illumination in an environment based on respective settings for image capture parameter(s) (e.g., autoexposure and auto-white-balance) used at different poses of a device, and determining new settings for the image capture parameter(s) with the device at a predicted pose based on the map.
- image capture parameter(s) e.g., autoexposure and auto-white-balance
- a smartphone or tablet includes a front facing camera to capture selfie images and a rear facing camera to capture an image of a scene (such as a landscape or other scenes of interest to a device user).
- a camera can capture images using an image sensor of the camera, which can include an array of photodetectors.
- Some devices can analyze image data captured by an image sensor to detect an object within the image data.
- cameras can be used to capture images of scenes that include one or more people.
- a system determines a setting for an image capture parameter based on a map of at least one location of at least one light source in an environment and based on a predicted pose of the image capture device in the environment.
- the system causes an image to be captured using the setting determined for the image capture parameter.
- the system receives imaging data identifying a plurality of settings for the image capture parameter. Each setting of the plurality of settings is configured to be used for imaging at a respective pose of the image capture device of a plurality of poses of the image capture device in the environment.
- the system generates the map of the at least one location of the at least one light source in the environment based on the imaging data.
- an apparatus for imaging includes a memory and at least one processor (e.g., implemented in circuitry) coupled to the memory.
- the at least one processor is configured to and can: determine a setting for an image capture parameter based on a map of at least one location of at least one light source in an environment and based on a predicted pose of an image capture device in the environment; and cause an image to be captured using the setting determined for the image capture parameter.
- a method of imaging includes: determining a setting for an image capture parameter based on a map of at least one location of at least one light source in an environment and based on a predicted pose of an image capture device in the environment; and causing an image to be captured using the setting determined for the image capture parameter.
- a non-transitory computer-readable medium has stored thereon instructions that, when executed by one or more processors, cause the one or more processors to: determine a setting for an image capture parameter based on a map of at least one location of at least one light source in an environment and based on a predicted pose of an image capture device in the environment; and cause an image to be captured using the setting determined for the image capture parameter.
- an apparatus for imaging includes: means for determining a setting for an image capture parameter based on a map of at least one location of at least one light source in an environment and based on a predicted pose of an image capture device in the environment; and means for causing an image to be captured using the setting determined for the image capture parameter.
- the apparatus is part of, and/or includes a wearable device, an extended reality device (e.g., a virtual reality (VR) device, an augmented reality (AR) device, or a mixed reality (MR) device), a head-mounted display (HMD) device, a wireless communication device, a mobile device (e.g., a mobile telephone and/or mobile handset and/or so-called “smart phone” or other mobile device), a camera, a personal computer, a laptop computer, a server computer, a vehicle or a computing device or component of a vehicle, another device, or a combination thereof.
- the apparatus includes a camera or multiple cameras for capturing one or more images.
- the apparatus further includes a display for displaying one or more images, notifications, and/or other displayable data.
- the apparatuses described above can include one or more sensors (e ., one or more inertial measurement units (IMUs), such as one or more gyroscopes, one or more gyrometers, one or more accelerometers, any combination thereof, and/or other sensor).
- IMUs inertial measurement units
- FIG. l is a block diagram illustrating an example architecture of an image capture and processing system, in accordance with some examples
- FIG. 2 is a block diagram illustrating an example architecture of at least a portion of an imaging system configured to generate a map for estimating light source locations in an environment, in accordance with some examples;
- FIG. 3 is a block diagram illustrating an example architecture of at least a portion of an imaging system configured to use an illumination map indicating estimated light source locations in an environment to determine settings for image capture parameter(s) for camera(s) to use for image signal processor (ISP) processing, in accordance with some examples;
- ISP image signal processor
- FIG. 4 is a block diagram illustrating an example architecture of at least a portion of an imaging system that includes a headset and a handset that, together, generate a map for estimating light source locations in an environment, in accordance with some examples;
- FIG. 5A is a perspective diagram illustrating a head-mounted display (HMD) that is used as part of an imaging system, in accordance with some examples;
- FIG. 5B is a perspective diagram illustrating the head-mounted display (HMD) of FIG. 5A being worn by a user, in accordance with some examples;
- FIG. 6A is a perspective diagram illustrating a front surface of a mobile handset that includes front-facing cameras and that can be used as part of an imaging system, in accordance with some examples;
- FIG. 6B is a perspective diagram illustrating a rear surface of a mobile handset that includes rear-facing cameras and that can be used as part of an imaging system, in accordance with some examples;
- FIG. 7 is a perspective diagram illustrating a vehicle that includes various sensors, in accordance with some examples.
- FIG. 8 is a block diagram illustrating an example of a neural network that can be used for imaging, in accordance with some examples
- FIG. 9 is a conceptual diagram illustrating examples of images and examples of corresponding illumination maps, in accordance with some examples.
- FIG. 10 is a flow diagram illustrating a process for imaging, in accordance with some examples.
- FIG. 11 is a diagram illustrating an example of a computing system for implementing certain aspects described herein.
- a camera is a device that receives light and captures image frames, such as still images or video frames, using an image sensor.
- image image
- image frame and “frame” are used interchangeably herein.
- Cameras can be configured with a variety of image capture and image processing settings. The different settings result in images with different appearances. Some camera settings are determined and applied before or during capture of one or more image frames, such as ISO, exposure time, aperture size, f/stop, shutter speed, focus, and gain. For example, settings or parameters can be applied to an image sensor for capturing the one or more image frames. Other camera settings can configure post-processing of one or more image frames, such as alterations to contrast, brightness, saturation, sharpness, levels, curves, or colors. For example, settings or parameters can be applied to a processor (e.g., an image signal processor or ISP) for processing the one or more image frames captured by the image sensor.
- a processor e.g., an image signal processor or ISP
- Exposure time refers to how long an aperture of the camera is opened (during image capture) to expose an image sensor of the camera (or, in some cameras, a piece of film) to light from an environment. A longer exposure time can allow the image sensor to receive more light from the environment, causing the image captured by the camera to depict the environment as more brightly-illuminated.
- Some cameras include autoexposure control (AEC) systems to automatically determine exposure settings (e.g., exposure times and/or apertures sizes), for instance by starting from a default exposure setting value and gradually adjusting in the appropriate direction (e.g., as determined based on a comparison of the average luminosity of the resulting images to a target luminosity) over the course of multiple image frames, before finally arriving at an exposure setting that produces good image quality for the scene (e.g., the portion of the environment being photographed). Because of this, it can take a while for a camera to “settle” into settings that produce good image quality, and can suffer from poor image quality in the meantime.
- AEC autoexposure control
- AVB Automatic white balance
- AF autofocus
- AGC automatic gain control
- AVB Automatic white balance
- AF autofocus
- AGC automatic gain control
- Imaging systems and techniques are described.
- a system determines a setting for an image capture parameter based on a map of at least one location of at least one light source in an environment and based on a predicted pose of the image capture device in the environment.
- the system causes an image to be captured using the setting determined for the image capture parameter.
- the system receives imaging data identifying a plurality of settings for the image capture parameter.
- Each setting of the plurality of settings is configured to be used for imaging at a respective pose of the image capture device of a plurality of poses of the image capture device in the environment.
- the system generates the map of the at least one location of the at least one light source in the environment based on the imaging data.
- the imaging and feature tracking systems and techniques described herein provide a number of technical improvements over prior imaging and feature tracking systems. For instance, the imaging and feature tracking systems and techniques described herein predict settings to use for the image capture parameters based on a predicted pose and an illumination map, so that no settling delay is needed, and a camera can immediately be set to a setting that produces good image quality when the camera reaches (or comes within a threshold distance of) the predicted pose.
- the camera can still use AEC systems, AWB systems, AF systems, and/or AGC systems to make adjustments to the settings.
- the adjustments made to the settings are smaller changes to the settings that would be less noticeable to the human eye and take less time to settle than traditional AEC, AWB, AF, and/or AGC that starts from a default setting that does not take illumination mapping into account.
- FIG. 1 is a block diagram illustrating an architecture of an image capture and processing system 100.
- the image capture and processing system 100 includes various components that are used to capture and process images of one or more scenes (e.g., an image of a scene 110).
- the image capture and processing system 100 can capture standalone images (or photographs) and/or can capture videos that include multiple images (or video frames) in a particular sequence.
- a lens 115 of the system 100 faces a scene 110 and receives light from the scene 110.
- the lens 115 bends the light toward the image sensor 130.
- the light received by the lens 115 passes through an aperture controlled by one or more control mechanisms 120 and is received by an image sensor 130.
- the scene 110 is a scene in an environment.
- the image capture and processing system 100 is coupled to, and/or part of, a vehicle 190, and the scene 110 is a scene in an environment around the vehicle 190.
- the scene 110 is a scene of at least a portion of a user.
- the scene 110 can be a scene of one or both of the user’s eyes, and/or at least a portion of the user’s face.
- the one or more control mechanisms 120 may control exposure, focus, and/or zoom based on information from the image sensor 130 and/or based on information from the image processor 150.
- the one or more control mechanisms 120 may include multiple mechanisms and components; for instance, the control mechanisms 120 may include one or more exposure control mechanisms 125A, one or more focus control mechanisms 125B, and/or one or more zoom control mechanisms 125C.
- the one or more control mechanisms 120 may also include additional control mechanisms besides those that are illustrated, such as control mechanisms controlling analog gain, flash, HDR, depth of field, and/or other image capture properties.
- the focus control mechanism 125B of the control mechanisms 120 can obtain a focus setting.
- focus control mechanism 125B store the focus setting in a memory register.
- the focus control mechanism 125B can adjust the position of the lens 115 relative to the position of the image sensor 130. For example, based on the focus setting, the focus control mechanism 125B can move the lens 115 closer to the image sensor 130 or farther from the image sensor 130 by actuating a motor or servo, thereby adjusting focus.
- additional lenses may be included in the system 100, such as one or more microlenses over each photodiode of the image sensor 130, which each bend the light received from the lens 115 toward the corresponding photodiode before the light reaches the photodiode.
- the focus setting may be determined via contrast detection autofocus (CDAF), phase detection autofocus (PDAF), or some combination thereof.
- the focus setting may be determined using the control mechanism 120, the image sensor 130, and/or the image processor 150.
- the focus setting may be referred to as an image capture setting and/or an image processing setting.
- the exposure control mechanism 125 A of the control mechanisms 120 can obtain an exposure setting.
- the exposure control mechanism 125A stores the exposure setting in a memory register. Based on this exposure setting, the exposure control mechanism 125A can control a size of the aperture (e.g., aperture size or f/stop), a duration of time for which the aperture is open (e.g., exposure time or shutter speed), a sensitivity of the image sensor 130 (e.g., ISO speed or film speed), analog gain applied by the image sensor 130, or any combination thereof.
- the exposure setting may be referred to as an image capture setting and/or an image processing setting.
- an exposure setting can be provided to the exposure control mechanism 125A of the control mechanisms 120 from the image processor 150, the host processor 152, the ISP 154, or a combination thereof.
- the zoom control mechanism 125C of the control mechanisms 120 can obtain a zoom setting.
- the zoom control mechanism 125C stores the zoom setting in a memory register.
- the zoom control mechanism 125C can control a focal length of an assembly of lens elements (lens assembly) that includes the lens 115 and one or more additional lenses.
- the zoom control mechanism 125C can control the focal length of the lens assembly by actuating one or more motors or servos to move one or more of the lenses relative to one another.
- the zoom setting may be referred to as an image capture setting and/or an image processing setting.
- the lens assembly may include a parfocal zoom lens or a varifocal zoom lens.
- the lens assembly may include a focusing lens (which can be lens 115 in some cases) that receives the light from the scene 110 first, with the light then passing through an afocal zoom system between the focusing lens (e.g., lens 115) and the image sensor 130 before the light reaches the image sensor 130.
- the afocal zoom system may, in some cases, include two positive (e.g., converging, convex) lenses of equal or similar focal length (e.g., within a threshold difference) with a negative (e.g., diverging, concave) lens between them.
- the zoom control mechanism 125C moves one or more of the lenses in the afocal zoom system, such as the negative lens and one or both of the positive lenses.
- the image sensor 130 includes one or more arrays of photodiodes or other photosensitive elements. Each photodiode measures an amount of light that eventually corresponds to a particular pixel in the image produced by the image sensor 130. In some cases, different photodiodes may be covered by different color filters, and may thus measure light matching the color of the filter covering the photodiode. For instance, Bayer color filters include red color filters, blue color filters, and green color filters, with each pixel of the image generated based on red light data from at least one photodiode covered in a red color filter, blue light data from at least one photodiode covered in a blue color filter, and green light data from at least one photodiode covered in a green color filter.
- color filters may use yellow, magenta, and/or cyan (also referred to as “emerald”) color filters instead of or in addition to red, blue, and/or green color filters.
- Some image sensors may lack color filters altogether, and may instead use different photodiodes throughout the pixel array (in some cases vertically stacked). The different photodiodes throughout the pixel array can have different spectral sensitivity curves, therefore responding to different wavelengths of light.
- Monochrome image sensors may also lack color filters and therefore lack color depth.
- the image sensor 130 may alternately or additionally include opaque and/or reflective masks that block light from reaching certain photodiodes, or portions of certain photodiodes, at certain times and/or from certain angles, which may be used for phase detection autofocus (PDAF).
- the image sensor 130 may also include an analog gain amplifier to amplify the analog signals output by the photodiodes and/or an analog to digital converter (ADC) to convert the analog signals output of the photodiodes (and/or amplified by the analog gain amplifier) into digital signals.
- ADC analog to digital converter
- certain components or functions discussed with respect to one or more of the control mechanisms 120 may be included instead or additionally in the image sensor 130.
- the image sensor 130 may be a charge-coupled device (CCD) sensor, an electron-multiplying CCD (EMCCD) sensor, an active-pixel sensor (APS), a complimentary metal-oxide semiconductor (CMOS), an N-type metal-oxide semiconductor (NMOS), a hybrid CCD/CMOS sensor (e.g., sCMOS), or some other combination thereof.
- CCD charge-coupled device
- EMCD electron-multiplying CCD
- APS active-pixel sensor
- CMOS complimentary metal-oxide semiconductor
- NMOS N-type metal-oxide semiconductor
- hybrid CCD/CMOS sensor e.g., sCMOS
- the image processor 150 may include one or more processors, such as one or more image signal processors (ISPs) (including ISP 154), one or more host processors (including host processor 152), and/or one or more of any other type of processor 1110 discussed with respect to the computing system 1100.
- the host processor 152 can be a digital signal processor (DSP) and/or other type of processor.
- the image processor 150 is a single integrated circuit or chip (e.g., referred to as a system-on-chip or SoC) that includes the host processor 152 and the ISP 154.
- the chip can also include one or more input/output ports (e.g., input/output (I/O) ports 156), central processing units (CPUs), graphics processing units (GPUs), broadband modems (e.g., 3G, 4G or LTE, 5G, etc.), memory, connectivity components (e.g., BluetoothTM, Global Positioning System (GPS), etc.), any combination thereof, and/or other components.
- input/output ports e.g., input/output (I/O) ports 156
- CPUs central processing units
- GPUs graphics processing units
- broadband modems e.g., 3G, 4G or LTE, 5G, etc.
- memory e.g., USB 2.0, etc.
- connectivity components e.g., BluetoothTM, Global Positioning System (GPS), etc.
- the VO ports 156 can include any suitable input/output ports or interface according to one or more protocol or specification, such as an Inter-Integrated Circuit 2 (I2C) interface, an Inter-Integrated Circuit 3 (I3C) interface, a Serial Peripheral Interface (SPI) interface, a serial General Purpose Input/Output (GPIO) interface, a Mobile Industry Processor Interface (MIPI) (such as a MIPI CSI-2 physical (PHY) layer port or interface, an Advanced High-performance Bus (AHB) bus, any combination thereof, and/or other input/output port.
- I2C Inter-Integrated Circuit 2
- I3C Inter-Integrated Circuit 3
- SPI Serial Peripheral Interface
- GPIO serial General Purpose Input/Output
- MIPI Mobile Industry Processor Interface
- the host processor 152 can communicate with the image sensor 130 using an I2C port
- the ISP 154 can communicate with the image sensor 130 using an MIPI port.
- the image processor 150 may perform a number of tasks, such as de-mosaicing, color space conversion, image frame downsampling, pixel interpolation, automatic exposure (AE) control, automatic gain control (AGC), CDAF, PDAF, automatic white balance, merging of image frames to form an HDR image, image recognition, object recognition, feature recognition, receipt of inputs, managing outputs, managing memory, or some combination thereof.
- the image processor 150 may store image frames and/or processed images in random access memory (RAM) 140 and/or 1 120, read-only memory (ROM) 145 and/or 1125, a cache, a memory unit, another storage device, or some combination thereof.
- I/O devices 160 may be connected to the image processor 150.
- the I/O devices 160 can include a display screen, a keyboard, a keypad, a touchscreen, a trackpad, a touch-sensitive surface, a printer, any other output devices 1135, any other input devices 1145, or some combination thereof.
- a caption may be input into the image processing device 105B through a physical keyboard or keypad of the I/O devices 160, or through a virtual keyboard or keypad of a touchscreen of the I/O devices 160.
- the I/O 160 may include one or more ports, jacks, or other connectors that enable a wired connection between the system 100 and one or more peripheral devices, over which the system 100 may receive data from the one or more peripheral device and/or transmit data to the one or more peripheral devices.
- the I/O 160 may include one or more wireless transceivers that enable a wireless connection between the system 100 and one or more peripheral devices, over which the system 100 may receive data from the one or more peripheral device and/or transmit data to the one or more peripheral devices.
- the peripheral devices may include any of the previously-discussed types of I/O devices 160 and may themselves be considered I/O devices 160 once they are coupled to the ports, jacks, wireless transceivers, or other wired and/or wireless connectors.
- the image capture and processing system 100 may be a single device. In some cases, the image capture and processing system 100 may be two or more separate devices, including an image capture device 105A (e.g., a camera) and an image processing device 105B (e.g., a computing device coupled to the camera). In some implementations, the image capture device 105 A and the image processing device 105B may be coupled together, for example via one or more wires, cables, or other electrical connectors, and/or wirelessly via one or more wireless transceivers. In some implementations, the image capture device 105 A and the image processing device 105B may be disconnected from one another.
- an image capture device 105A e.g., a camera
- an image processing device 105B e.g., a computing device coupled to the camera.
- the image capture device 105 A and the image processing device 105B may be coupled together, for example via one or more wires, cables, or other electrical connectors, and/or wirelessly via one or more wireless transceivers.
- a vertical dashed line divides the image capture and processing system 100 of FIG. 1 into two portions that represent the image capture device 105A and the image processing device 105B, respectively.
- the image capture device 105A includes the lens 115, control mechanisms 120, and the image sensor 130.
- the image processing device 105B includes the image processor 150 (including the ISP 154 and the host processor 152), the RAM 140, the ROM 145, and the I/O 160. In some cases, certain components illustrated in the image capture device 105 A, such as the ISP 154 and/or the host processor 152, may be included in the image capture device 105 A.
- the image capture and processing system 100 can include an electronic device, such as a mobile or stationary telephone handset (e.g., smartphone, cellular telephone, or the like), a desktop computer, a laptop or notebook computer, a tablet computer, a set-top box, a television, a camera, a display device, a digital media player, a video gaming console, a video streaming device, an Internet Protocol (IP) camera, or any other suitable electronic device.
- the image capture and processing system 100 can include one or more wireless transceivers for wireless communications, such as cellular network communications, 1102.11 wi-fi communications, wireless local area network (WLAN) communications, or some combination thereof.
- the image capture device 105 A and the image processing device 105B can be different devices.
- the image capture device 105A can include a camera device and the image processing device 105B can include a computing device, such as a mobile handset, a desktop computer, or other computing device.
- the image capture and processing system 100 can include more components than those shown in FIG. 1.
- the components of the image capture and processing system 100 can include software, hardware, or one or more combinations of software and hardware.
- the components of the image capture and processing system 100 can include and/or can be implemented using electronic circuits or other electronic hardware, which can include one or more programmable electronic circuits (e.g., microprocessors, GPUs, DSPs, CPUs, and/or other suitable electronic circuits), and/or can include and/or be implemented using computer software, firmware, or any combination thereof, to perform the various operations described herein.
- the software and/or firmware can include one or more instructions stored on a computer-readable storage medium and executable by one or more processors of the electronic device implementing the image capture and processing system 100.
- FIG. 2 is a block diagram illustrating an example architecture of at least a portion of an imaging system 200 configured to generate a map 240 for estimating light source locations 245 in an environment.
- the imaging system 200 can include at least one camera (e.g., image capture and processing system 100, an image capture device 105 A, and/or image processing device 105B) with an image sensor 130.
- the imaging system 200 can receive camera inputs 215 from the camera.
- the camera inputs 215 can include image data captured using the camera (e.g., image(s) captured using the camera’s image sensor) at different times (e.g., with different timestamps).
- the camera inputs 215 can include ISP region settings and/or statistics 225 for such settings used for image capture and/or processing by the camera at different times (e.g., with different timestamps), such as settings for exposure (e.g., as determined using autoexposure control (AEC)), white balance (e.g., as determined using auto-white-balance (AWB)), focus (e.g., as determined using autofocus (AF)), digital gain and/or analog gain (e.g., as determined using automatic gain control (AGC) and/or autoexposure control (AEC)), or a combination thereof.
- settings for exposure e.g., as determined using autoexposure control (AEC)
- white balance e.g., as determined using auto-white-balance (AWB)
- focus e.g., as determined using autofocus (AF)
- digital gain and/or analog gain e.g., as determined using automatic gain control (AGC) and/or autoexposure control (AEC)
- AEC automatic gain
- the imaging system 200 can transfer illumination statistics 235 (based on the camera inputs 215 and/or the ISP region settings and/or statistics 225) to a map generator, which can use the illumination statistics 235 along with pose data 230 as inputs for generating an illumination map 240.
- the illumination statistics 235 can include indication(s) of the camera input(s) 215 at different times and/or corresponding pose(s) (e.g., in the pose data 230), and/or of the ISP region settings and/or statistics 225 at different times and/or corresponding pose(s) (e.g., in the pose data 230).
- the illumination statistics 235 can indicate different levels of illumination estimated to be in the environment while different settings for the image capture parameter(s) were in use, as is discussed with respect to the illumination map 240.
- the pose data 230 can indicate location(s) (e.g., three-dimensional coordinates in the environment) and/or orientation(s) (e.g., pitch, yaw, and/or roll) of the camera in the environment at different times (e.g., with different timestamps).
- the pose data 230 can be determined, for instance, by a 6-degrees-of-freedom (6DOF) system 220 in response to pose sensor inputs 210 from various pose sensor(s).
- 6DOF 6-degrees-of-freedom
- Pose sensor(s) can include inertial measurement unit(s) (IMU(s)), accelerometer(s), gyroscope(s), gyrometer(s), speedometer(s), barometer(s), altimeter(s), positioning receiver(s) (e.g., global navigation satellite system (GNSS) receiver(s)), other inertial sensor(s), camera(s), range sensor(s) (e.g., light-based, radio-based, microwave-based, time-of- flight (ToF) sensors, and/or structured light sensors), or combinations thereof.
- IMU inertial measurement unit
- accelerometer e.g., gyroscope(s), gyrometer(s), speedometer(s), barometer(s), altimeter(s), positioning receiver(s) (e.g., global navigation satellite system (GNSS) receiver(s)), other inertial sensor(s), camera(s), range sensor(s) (e.g., light-based, radio-based, microwave-based, time
- the pose data 230 and illumination statistics 235 can indicate poses at which the imaging system 200 (e.g., or at least the camera) was at when specific image(s) of the camera input(s) 215 were captured, and/or when specific settings for specific image capture parameter(s) (e.g., exposure, white balance, focus, and/or gain) were applied at the camera. Based on this, the map generator generates an illumination map 240.
- the imaging system 200 e.g., or at least the camera
- specific settings for specific image capture parameter(s) e.g., exposure, white balance, focus, and/or gain
- the illumination map 240 can indicate different levels of illumination estimated to be in the environment while different settings for the image capture parameter(s) were in use, while different images were being captured, and/or while the imaging system 200 (or at least the camera) was at different poses. For instance, if exposure time (as set using AEC) is lower when the camera is facing north than when the camera is facing any other direction (e.g., east, west, or south), then the map generator can predict and/or estimate the presence of a light source (e.g., a lamp, a light bulb, a window letting in light from outdoors, etc.) to the north in the environment.
- a light source e.g., a lamp, a light bulb, a window letting in light from outdoors, etc.
- white balance (as set using AWB) can be a indicator of the light source’s color temperature, which can in turn indicate the type or category of the light source (e.g., sunlight, moonlight, incandescent lighting, fluorescent lighting, light-emitting diode(s) (LED(s)), flames, device screens (e.g., liquid crystal display(s) (LCD(s)), etc.) and/or how affected a portion of the scene is by that light source based on the light color temperature.
- the type or category of the light source e.g., sunlight, moonlight, incandescent lighting, fluorescent lighting, light-emitting diode(s) (LED(s)), flames, device screens (e.g., liquid crystal display(s) (LCD(s)), etc.
- the map generator can predict and/or estimate that the light source to the north is likely to be sunlight (e.g., from a window).
- the illumination map 240 can also factor in gain, which can predict and/or estimate the presence of a light source similarly to exposure.
- the illumination map 240 can appear similar to a heat map, with certain areas in the environment mapped to higher estimated levels of illumination (e.g., luminosity) than average (e.g., average over the entire environment or a surrounding portion), and certain areas in the environment mapped to lower estimated levels of illumination than average.
- the position(s) representing local maxima (and/or total maxima) in illumination in the environment in the illumination map 240 can represent the location(s) of light source(s) in the environment.
- the illumination map 240 shows differences in illumination (e.g., luminosity) at a first portion of the environment relative to a second portion of the environment.
- the illumination map 240 shows differences in light color (e g., hue and/or tone) at a first portion of the environment relative to a second portion of the environment.
- the illumination map 240 can be referred to as an illuminant map, an exposure-white-balance-gain map, an image capture settings map, a light source location map, and the like.
- the imaging system 200 can use the illumination map 240 to estimate and/or predict the specific light source locations of each of the one or more light source(s) in the environment.
- the number of light sources in the environment 250 can be provided as an input(s) to the imaging system 200 to help the imaging system 200 know how many light source(s) to find in the illumination map 240.
- the imaging system 200 can adjust an illumination threshold up or down until the number of patches in the illumination map 240 where the illumination exceeds the illumination threshold are equal to the number of light sources in the environment 250. In this way, the imaging system 200 can determine the light source locations 245.
- the number of light sources in the environment 250 can be input manually, can be previously determined, can be estimated based on the illumination map 240 and/or other data (e.g. based on image(s) of the environment), or a combination thereof.
- the illumination map generator of the imaging system 200 can also use the contents of at least some of the images captured by the camera to generate the illumination map 240 as well. For instance, images can be analyzed to determine peaks in brightness and/or luminosity in the images, which can be paired with poses of the camera when those images were captured to identify positions in the environment. This can help to increase accuracy of the illumination map 240, and/or to increase the accuracy of the light source locations 245 specifically. That said, use of the images can increase bandwidth usage, battery usage, and/or thermal output relative to use of just the setting(s) for image capture parameter(s) (e.g., just automatically- determined exposure settings, white balance settings, focus settings, and/or gain settings).
- just the setting(s) for image capture parameter(s) e.g., just automatically- determined exposure settings, white balance settings, focus settings, and/or gain settings.
- the illumination map generator can generate the illumination map 240 using the setting(s) for the image capture parameter(s) (e.g., just automatically-determined exposure settings, white balance settings, focus settings, and/or gain settings), and can refine specific portions of the illumination map 240 (e.g., the light source locations 245) based on select images of those portions, for instance based on images selected because they were captured when the camera was at a pose matching the estimated illumination peaks (e.g., local and/or total maxima) as determined using the illumination map 240.
- the setting(s) for the image capture parameter(s) e.g., just automatically-determined exposure settings, white balance settings, focus settings, and/or gain settings
- specific portions of the illumination map 240 e.g., the light source locations 245
- select images of those portions for instance based on images selected because they were captured when the camera was at a pose matching the estimated illumination peaks (e.g., local and/or total maxima) as determined using the illumination map 240.
- the illumination map 240 that is generated based on the setting(s) for the image capture parameter(s) can indicate a peak in illumination to the north, so the imaging system 200 can use one image (e.g., from the camera input 215) captured while the camera was facing north (e.g., according to the pose data 230) to refine the specific location of the light source in the environment (e.g., to refine one of the light source locations 245).
- the imaging system 200 can request that the user of the imaging system 200 move the imaging system 200 (or at least the camera(s) of the imaging system 200) by a specified amount 205 and/or in specified direction(s) (e.g., translationally and/or rotationally), which can contribute to obtaining camera inputs 215 at different poses as indicated by the pose data 230.
- a specified amount 205 and/or in specified direction(s) e.g., translationally and/or rotationally
- This can be referred to as guided estimation or guided mapping.
- the imaging system 200 can generate the illumination map 240 based on whatever portion(s) of the environment the imaging system 200 has obtained camera inputs 215 for based on the pose data 230, and can leave gaps in the illumination map 240 to be filled in later when the imaging system 200 eventually turns toward the portions of the environment represented by the gaps, at which point the imaging system 200 can fill in the gaps in the illumination map 240. This can be referred to as opportunistic estimation or opportunistic mapping. [0052] In some examples, the imaging system 200 can continue to refine and/or update the illumination map 240 over time.
- illumination can change in an environment over time, for instance when a light is turned on or off, when a dimmer on a light is changed to a different level, when a time of day changes (e.g., day to night or night to day), when a display screen changes what is being displayed (e.g., a brighter scene vs. a darker scene), when an obstruction obstructs or occludes light from a light source (e.g., a person walks in front of a window and blocks light from the window), or some combination thereof.
- a time of day changes e.g., day to night or night to day
- a display screen changes what is being displayed (e.g., a brighter scene vs. a darker scene)
- an obstruction obstructs or occludes light from a light source (e.g., a person walks in front of a window and blocks light from the window), or some combination thereof.
- the imaging system 200 can continue to collect pose sensor inputs 210 and camera inputs 215 over time (e.g., throughout different times of day), and can track light levels and/or confidence levels (associated with the determination of the light levels) over time (e.g., throughout different times of day), and can continue to update the illumination map 240 dynamically as new camera inputs 215 and corresponding pose sensor inputs 210 are received over time, in some cases in real-time or near real-time.
- the imaging system 200 can receive external inputs indicative of a change in an illumination scheme in the environment.
- the imaging system 200 can be in communication with one or more internet of things (loT) devices, such as smart light bulbs, that can communicate a change in status of the loT devices to the imaging system 200.
- the imaging system 200 can receive a notification that a light bulb in the environment has been turned off, and can revise the illumination map 240 for at least a portion of the environment near the bulb that was turned off so that the revised illumination map 240 is up-to- date.
- LoT internet of things
- the illumination map generator can generate the illumination map 240 and/or estimate the light source locations 245 using one or more trained machine learning (ML) model(s) 255, for instance by inputting the pose data 230 and the illumination statistics 235 into the trained ML model(s) 255.
- the trained ML model(s) 255 can have been previously trained using training data that includes accurate illumination maps of environments (and/or light source locations) as well as examples of corresponding illumination statistics (e.g., as in illumination statistics 235) at different poses represented by corresponding pose data (e.g., pose data 230) throughout the environments.
- the trained ML model(s) 255 can have been trained to generate the accurate illumination maps of the environments from the training data (and/or the light source locations from the training data) when the corresponding illumination statistics and pose data from the training data are input into the trained ML model(s) 255.
- the illumination map generator uses the trained ML model(s) 255 to generate the illumination map 240, and the imaging system 200 uses triangulation and/or a lookup table to estimate the light source locations 245.
- the trained ML model(s) 255 can include one or more neural network(s) (NN(s)) (e.g., neural network 800), convolutional neural network(s) (CNN(s)), time delay neural network(s) (TDNN(s)), deep network(s) (DN(s)), autoencoder(s) (AE(s)), variational autoencoder(s) (VAE(s)), deep belief net(s) (DBN(s)), recurrent neural network(s) (RNN(s)), residual neural network(s) (e.g., RestNet), U-Net-style neural network(s), generative adversarial network(s) (GAN(s)), conditional generative adversarial network(s) (cGAN(s)), feed-forward network(s), network(s) having fully connected layers, trained support vector machine(s) (SVM(s)), trained random forest(s) (RF(s)), computer vision (CV) system(s), autoregressive (AR)
- the trained ML model(s) 255 include at least one GAN.
- a graphic representing the trained ML model(s) 255 illustrates a set of circles connected to another.
- Each of the circles can represent a node (e.g., node 816), a neuron, a perceptron, a layer, a portion thereof, or a combination thereof.
- the circles are arranged in columns.
- the leftmost column of white circles represent an input layer (e.g., input layer 810).
- the rightmost column of white circles represent an output layer (e.g., output layer 814).
- Two columns of shaded circled between the leftmost column of white circles and the rightmost column of white circles each represent hidden layers (e.g., hidden layers 812A-812N).
- the nodes are connected using lines that can represent weights.
- the illumination map 240 can be cached locally at the imaging system 200 (e.g., at a head-mounted display 510), at a companion device (e.g., mobile handset 610) communicatively coupled to the imaging system 200 through an interface (e.g., wireless or wired), and/or remotely at a cloud server or edge node, or a combination thereof.
- a companion device e.g., mobile handset 610 communicatively coupled to the imaging system 200 through an interface (e.g., wireless or wired), and/or remotely at a cloud server or edge node, or a combination thereof.
- FIG. 3 is a block diagram illustrating an example architecture of at least a portion of an imaging system 300 configured to use an illumination map 320 indicating estimated light source locations 245 in an environment to determine settings 330 for image capture param eter(s) 335 for camera(s) 340 to use for image signal processor (ISP) processing 345.
- the imaging system 300 e.g., the 6DOF system 310
- the pose sensor input(s) 305 can be received from, and/or captured by, any of the types of sensors discussed with respect to the pose sensor input(s) 210.
- the pose sensor input(s) 305 can include the pose sensor input(s) 210 and/or can be included in the pose sensor input(s) 210.
- the 6DOF system 310 can include 6DOF system 220 and/or can be included in the 6DOF system 220.
- the 6DOF system 310 is the 6DOF system 220. In an illustrative example, if the pose sensor input(s) 305 indicates that the user is rotating the imaging system 300 from east to north, then the 6DOF system 310 can generate the predicted pose(s) 315 for the future frame(s) to continue the rotation that is in progress from east to north.
- the 6DOF system 310 can generate the predicted pose(s) 315 for the future frame(s) to continue the translational movement to the west.
- the imaging system 300 can receive an illumination map 320 of the environment that the imaging system 300 is in.
- the illumination map 320 can be an example of the illumination map 240, and can indicate estimated light source locations in the environment, similarly to the illumination map 240 indicating the light source locations 245.
- the imaging system 300 and the imaging system 200 are part of the same system, and the illumination map 320 is the illumination map 240.
- the imaging system 300 can determine a dominant illumination and exposure condition 325 for the future frame(s) to be captured at the predicted pose(s) 315. Based on the dominant illumination and exposure condition 325 for the future frame(s) to be captured at the predicted pose(s) 315 (and in some cases the predicted pose(s) 315 and/or the illumination map 320 in addition to or in place of the dominant illumination and exposure condition 325), the imaging system 300 can determine setting(s) 330 for image capture parameter(s) 335 to be used at the predicted pose(s) 315.
- the settings 330 for the image capture parameters 335 can therefore include a reduced time duration setting for the exposure time image capture parameter (e.g., lower than a threshold, for instance lower than average or default) to prevent overexposure, and a white balance setting configured to offset the warm coloring of the light source to capture more accurate colors in the environment.
- a reduced time duration setting for the exposure time image capture parameter e.g., lower than a threshold, for instance lower than average or default
- the imaging system 300 can send the settings 330 for the image capture parameters 335 to one or more cameras 340 and/or corresponding ISPs to apply the settings 330 to the image capture parameters 335 of the camera(s) 340 when the pose(s) of the camera(s) 340 reach the predicted pose(s) 315 (or come within a threshold range of the predicted pose(s) 315), for instance to apply the settings 330 to the image capture parameters 335 during ISP processing 345.
- the imaging system 300 can effectively predict appropriate settings 330 for the image capture parameters 335.
- Traditional AEC systems, AWB systems, AF systems, and AGC systems (together sometimes referred to as 3A systems) typically start from a default setting value and gradually adjust in the appropriate direction over the course of multiple image frames, before finally arriving at a setting (e.g., for exposure, white balance, focus, and/or gain) that works well for the scene (e.g., the portion of the environment being photographed).
- the settings 330 to use for the image capture parameters 335 are predicted based on the predicted pose(s) 315 and the illumination map 320, no such delay is needed, and the camera(s) 340 can immediately be set to a setting 330 that produces good image quality.
- the camera(s) 340 can still use AEC systems, AWB systems, AF systems, and/or AGC systems to make adjustments to the settings 330.
- the adjustments made to the settings 330 are smaller changes to the settings 330 that would be less noticeable to the human eye and take less time to settle than traditional AEC, AWB, AF, and/or AGC that starts from a default setting that does not take illumination mapping into account.
- the imaging system 200 and/or imaging system 300 can update the trained ML model(s) 255 of the imaging system 200 based on how accurate the settings 330 for the image capture parameter(s) 335 end up being relative to automated settings-determination systems (e.g. AEC, AWB, AF, AGC, and/or 3A) for the image capture parameter(s) 335.
- automated settings-determination systems e.g. AEC, AWB, AF, AGC, and/or 3A
- the imaging system 300 can generate settings 330 that include an exposure setting, a white balance setting, a focus setting, an analog gain setting and/or a digital gain setting.
- the imaging system 300 can use AEC, AWB, AF, and/or AGC to adjust any of the determined settings 330 that need adjustments to be optimal.
- the imaging system 200 and/or imaging system 300 can treat this as positive feedback. Based on this positive feedback, the imaging system 200 and/or imaging system 300 can strengthen and/or reinforce weights associated with generating at least this one of the settings 330 as an output of the trained ML model(s) 255, and/or to weaken or remove other weights other than those associated with generating at least this one of the settings 330 as an output of the trained ML model(s) 255. If an adjustment to one of the settings 330 is significant (e.g., more than a threshold), the imaging system 200 and/or imaging system 300 can treat this as negative feedback.
- the imaging system 200 and/or imaging system 300 can treat this as negative feedback.
- the imaging system 200 and/or imaging system 300 can weaken and/or remove weights associated with generating at least this one of the settings 330 as an output of the trained ML model(s) 255, and/or to strengthen and/or reinforce other weights other than those associated with generating at least this one of the settings 330 as an output of the trained ML model(s) 255.
- the imaging system 300 can also use trained ML model(s) to determine the dominant illumination and exposure condition 325 based on the predicted pose(s) 315 and the illumination map 320.
- the imaging system 300 can use a pre-filled lookup table, a database, or another data structure to determine the dominant illumination and exposure condition 325 based on the predicted pose(s) 315 and the illumination map 320.
- the imaging system 300 can also use trained ML model(s) to determine the settings 330 for the image capture parameters 335 based on the dominant illumination and exposure condition 325, the predicted pose(s) 315, and/or the illumination map 320.
- FIG. 4 is a block diagram illustrating an example architecture of at least a portion of an imaging system 400 that includes a headset 405 and a handset 410 that, together, generate a map for estimating light source locations in an environment.
- the headset 405 is an example of a head-mounted display (HMD) 510
- the handset 410 is an example of a mobile handset 610.
- HMD head-mounted display
- the headset 405 is actually a mobile handset 610 or a vehicle 710.
- the handset 410 is actually a different type of computing device, such as a laptop or a desktop computer, or a vehicle computer of a vehicle 710.
- the headset 405 can be referred to as a pair of glasses, or a “glass” system.
- the handset 410 can be referred to as a host device, or as a companion device to the headset 405.
- the headset 405 can be referred to as a companion device to the handset 410.
- the headset 405 and the handset 410 can be communicatively coupled using a communication interface (e.g., a wireless communication interface and/or a wired communication interface).
- a communication interface e.g., a wireless communication interface and/or a wired communication interface
- the imaging system 400 is an example of the imaging system 200 and/or the imaging system 300 with operations (and/or the hardware that performs the operations) spread across two or more devices (e.g., the headset 405 and the handset 410).
- headsets such as the headset 405 or the HMD 510) are generally built to be even smaller and lighter than handsets (such as the handset 410) because headsets are built to be worn on a user’s face and/or head for long periods of time, and need to be comfortable to users wearing them in this manner. Because of this, headsets have even less capacity (both in terms of physical space and weight) for large batteries than handsets, and instead generally have smaller batteries than handsets.
- headsets are built to be worn on a user’s face and/or head for long periods of time, headsets are even more temperature-sensitive, as a user’s face is generally even more sensitive to heat (and/or damage from high heat) than a user’s hands.
- the headset 405 is able to use less battery power and maintain a lower (and thus safer) heat.
- the headset 405 includes a 6DOF system 415 that is able to share pose data 430 (indicating the pose of the headset 405) with the handset 410.
- the handset 410 can have its own 6DOF system 450 as well, which can be used to supplement the pose data from the 6DOF system 415 of the headset 405 (e.g., with lateral positioning data such as GNSS positioning data and/or relative positioning data such as movement or acceleration data).
- Use of the 6D0F system 450 of the handset 410 can improve accuracy of pose determination (e.g., as the handset 410 may have space for more sensors and/or more accurate sensors) and can reduce power usage and heat generation at the headset 405 by reducing how much data is sent from the headset 405 to the handset 410.
- Camera(s) 435 e.g., visual light camera(s) such as red-green-blue (RGB) camera(s) of the imaging system 400 can be included in the headset 405, the handset 410, or both. Imaging data from the camera(s) 435 can be received at the handset 410, for instance images captured, image capture settings used to capture the images, camera input(s) 215, ISP region settings and/or statistics 225, and/or illumination statistics 235. The handset 410 can generate ISP grid statistics (e g., ISP region settings and/or statistics 225, illumination statistics 235) based on the data from the camera(s) 435.
- ISP grid statistics e.g., ISP region settings and/or statistics 225, illumination statistics 235
- the handset 410 can perform AEC, AWB, AF, and/or AGC for the image(s) captured by the camera(s) 435.
- the handset 410 can generate an illumination map 420 and/or settings 425 for image capture parameter(s).
- the illumination map 420 can be an example of the illumination map 240 and/or the illumination map 320.
- the settings 425 can be an example of the setting(s) 330 for the image capture parameter(s) 335.
- the handset 410 can send the illumination map 420 and/or the settings 425 to the headset 405.
- the headset 405 can then apply the settings 425 to image(s) captured at the headset 405.
- the headset 405 can also overlay virtual content 455 over the image (e.g., for XR applications).
- the virtual content 455 can be generated and/or rendered at the headset 405 and/or at the handset 410.
- FIG. 5 A is a perspective diagram 500 illustrating a head-mounted display (HMD) 510 that is used as part of an imaging system (e.g., imaging system 200, 300, and/or 400).
- the HMD 510 may be, for example, an augmented reality (AR) headset, a virtual reality (VR) headset, a mixed reality (MR) headset, an extended reality (XR) headset, or some combination thereof.
- the HMD 510 may be an example of a headset 405 and/or of an imaging system 200, 300, and/or 400.
- the HMD 510 includes a first camera 530A and a second camera 53OB along a front portion of the HMD 510.
- the first camera 530A and the second camera 530B may be examples of image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the HMD 510 includes a third camera 530C and a fourth camera 530D facing the eye(s) of the user as the eye(s) of the user face the display(s) 540.
- the third camera 530C and the fourth camera 530D may be examples of image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the HMD 510 may only have a single camera with a single image sensor.
- the HMD 510 may include one or more additional cameras in addition to the first camera 53OA, the second camera 53OB, third camera 530C, and the fourth camera 530D.
- the HMD 510 may include one or more additional sensors in addition to the first camera 530A, the second camera 53OB, third camera 53OC, and the fourth camera 530D, which may also include other types of image sensor(s) of the imaging system 200, 300, and/or 400.
- the first camera 530A, the second camera 530B, third camera 530C, and/or the fourth camera 53OD may be examples of the image capture and processing system 100, the image capture device 105 A, the image processing device 105B, or a combination thereof.
- any of the first camera 530A, the second camera 530B, third camera 530C, and/or the fourth camera 530D can be, or can include, depth sensors.
- the HMD 510 may include one or more displays 540 that are visible to a user 520 wearing the HMD 510 on the user 520’s head.
- the one or more displays 540 of the HMD 510 can be examples of the one or more displays of the output device(s) 1135 of the computing system 1100.
- the HMD 510 may include one display 540 and two viewfinders.
- the two viewfinders can include a left viewfinder for the user 520’s left eye and a right viewfinder for the user 520’ s right eye.
- the left viewfinder can be oriented so that the left eye of the user 520 sees a left side of the display.
- the right viewfinder can be oriented so that the right eye of the user 520 sees a right side of the display.
- the HMD 510 may include two displays 540, including a left display that displays content to the user 520’ s left eye and a right display that displays content to a user 520’s right eye.
- the one or more displays 540 of the HMD 510 can be digital “pass-through” displays or optical “see-through” displays.
- the HMD 510 may include one or more earpieces 535, which may function as speakers and/or headphones that output audio to one or more ears of a user of the HMD 510, and may be examples of output device(s) 1135 of the computing system 1100.
- One earpiece 535 is illustrated in FIGs. 5 A and 5B, but it should be understood that the HMD 510 can include two earpieces, with one earpiece for each ear (left ear and right ear) of the user.
- the HMD 510 can also include one or more microphones (not pictured).
- the one or more microphones can be examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the audio output by the HMD 510 to the user through the one or more earpieces 535 may include, or be based on, audio recorded using the one or more microphones.
- FIG. 5B is a perspective diagram 550 illustrating the head-mounted display (HMD) of FIG. 5A being worn by a user 520.
- the user 520 wears the HMD 510 on the user 520’s head over the user 520’s eyes.
- the HMD 510 can capture images with the first camera 530A and the second camera 530B.
- the HMD 510 displays one or more output images toward the user 520’ s eyes using the display(s) 540.
- the output images can include image(s) captured according to the setting(s) 330 and/or the setting(s) 425 and/or with the virtual content 455.
- the output images can be based on the images captured by the first camera 530A and the second camera 530B (e.g., the camera input(s) 215), for example processed versions and/or with the virtual content (e.g., image(s) captured according to the setting(s) 330 and/or the setting(s) 425 and/or with the virtual content 455) overlaid.
- the output images may provide a stereoscopic view of the environment, in some cases with the virtual content overlaid and/or with other modifications.
- the HMD 510 can display a first display image to the user 520’s right eye, the first display image based on an image captured by the first camera 530A.
- the HMD 510 can display a second display image to the user 520’ s left eye, the second display image based on an image captured by the second camera 530B.
- the HMD 510 may provide overlaid virtual content in the display images overlaid over the images captured by the first camera 53OA and the second camera 530B.
- the third camera 53OC and the fourth camera 530D can capture images of the eyes of the before, during, and/or after the user views the display images displayed by the display(s) 540. This way, the sensor data from the third camera 530C and/or the fourth camera 530D can capture reactions to the virtual content by the user’s eyes (and/or other portions of the user).
- An earpiece 535 of the HMD 510 is illustrated in an ear of the user 520.
- the HMD 510 may be outputting audio to the user 520 through the earpiece 535 and/or through another earpiece (not pictured) of the HMD 510 that is in the other ear (not pictured) of the user 520.
- FIG. 6A is a perspective diagram 600 illustrating a front surface of a mobile handset 610 that includes front-facing cameras and can be used as part of an imaging system (e.g., imaging systems 200, 300, and/or 400).
- the mobile handset 610 may be an example of an imaging system 200, 300, and/or 400.
- the mobile handset 610 may be, for example, a cellular telephone, a satellite phone, a portable gaming console, a music player, a health tracking device, a wearable device, a wireless communication device, a laptop, a mobile device, any other type of computing device or computing system discussed herein, or a combination thereof.
- the front surface 620 of the mobile handset 610 includes a display 640.
- the front surface 620 of the mobile handset 610 includes a first camera 630A and a second camera 630B.
- the first camera 630A and the second camera 630B may be examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the first camera 630A and the second camera 630B can face the user, including the eye(s) of the user, while content (e.g., image(s) captured according to the setting(s) 330 and/or the setting(s) 425 and/or with the virtual content 455) is displayed on the display 640.
- the display 640 may be an example of the display(s) of the output device(s) 1135 of the computing system 1100.
- the first camera 630A and the second camera 630B are illustrated in a bezel around the display 640 on the front surface 620 of the mobile handset 610.
- the first camera 630A and the second camera 630B can be positioned in a notch or cutout that is cut out from the display 640 on the front surface 620 of the mobile handset 610.
- the first camera 630A and the second camera 630B can be under-display cameras that are positioned between the display 640 and the rest of the mobile handset 610, so that light passes through a portion of the display 640 before reaching the first camera 630A and the second camera 630B.
- the first camera 630A and the second camera 630B of the perspective diagram 600 are front-facing cameras.
- the first camera 630A and the second camera 630B face a direction perpendicular to a planar surface of the front surface 620 of the mobile handset 610.
- the first camera 630A and the second camera 630B may be two of the one or more cameras of the mobile handset 610.
- the front surface 620 of the mobile handset 610 may only have a single camera.
- the display 640 of the mobile handset 610 displays one or more output images toward the user using the mobile handset 610.
- the output images can include image(s) captured according to the setting(s) 330 and/or the setting(s) 425 and/or with the virtual content 455.
- the output images can be based on the images (e.g., the camera input(s) 215) captured by the first camera 630A, the second camera 630B, the third camera 630C, and/or the fourth camera 630D, for example processed versions and/or with the virtual content (e.g., image(s) captured according to the setting(s) 330 and/or the setting(s) 425 and/or with the virtual content 455) overlaid.
- the front surface 620 of the mobile handset 610 may include one or more additional cameras in addition to the first camera 630A and the second camera 630B.
- the one or more additional cameras may also be examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the front surface 620 of the mobile handset 610 may include one or more additional sensors in addition to the first camera 630A and the second camera 630B.
- the one or more additional sensors may also be examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the front surface 620 of the mobile handset 610 includes more than one display 640.
- the one or more displays 640 of the front surface 620 of the mobile handset 610 can be examples of the display(s) of the output device(s) 1135 of the computing system 1100.
- the one or more displays 640 can include one or more touchscreen displays.
- the mobile handset 610 may include one or more speakers 635 A and/or other audio output devices (e.g., earphones or headphones or connectors thereto), which can output audio to one or more ears of a user of the mobile handset 610.
- One speaker 635 A is illustrated in FIG. 6A, but it should be understood that the mobile handset 610 can include more than one speaker and/or other audio device.
- the mobile handset 610 can also include one or more microphones (not pictured).
- the one or more microphones can be examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the mobile handset 610 can include one or more microphones along and/or adjacent to the front surface 620 of the mobile handset 610, with these microphones being examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the audio output by the mobile handset 610 to the user through the one or more speakers 635A and/or other audio output devices may include, or be based on, audio recorded using the one or more microphones.
- FIG. 6B is a perspective diagram 650 illustrating a rear surface 660 of a mobile handset that includes rear-facing cameras and that can be used as part of an imaging system (e.g., imaging systems 200, 300, and/or 400).
- the mobile handset 610 includes a third camera 630C and a fourth camera 630D on the rear surface 660 of the mobile handset 610.
- the third camera 630C and the fourth camera 630D of the perspective diagram 650 are rear-facing.
- the third camera 630C and the fourth camera 630D may be examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400 of FIG. 2, 3, and/or 4.
- the third camera 630C and the fourth camera 630D face a direction perpendicular to a planar surface of the rear surface 660 of the mobile handset 610.
- the third camera 630C and the fourth camera 630D may be two of the one or more cameras of the mobile handset 610.
- the rear surface 660 of the mobile handset 610 may only have a single camera.
- the rear surface 660 of the mobile handset 610 may include one or more additional cameras in addition to the third camera 630C and the fourth camera 630D.
- the one or more additional cameras may also be examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the rear surface 660 of the mobile handset 610 may include one or more additional sensors in addition to the third camera 630C and the fourth camera 630D.
- the one or more additional sensors may also be examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the first camera 630A, the second camera 630B, third camera 630C, and/or the fourth camera 630D may be examples of the image capture and processing system 100, the image capture device 105 A, the image processing device 105B, or a combination thereof.
- any of the first camera 630A, the second camera 630B, third camera 630C, and/or the fourth camera 630D can be, or can include, depth sensors.
- the mobile handset 610 may include one or more speakers 635B and/or other audio output devices (e.g., earphones or headphones or connectors thereto), which can output audio to one or more ears of a user of the mobile handset 610.
- One speaker 635B is illustrated in FIG. 6B, but it should be understood that the mobile handset 610 can include more than one speaker and/or other audio device.
- the mobile handset 610 can also include one or more microphones (not pictured).
- the one or more microphones can be examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the mobile handset 610 can include one or more microphones along and/or adjacent to the rear surface 660 of the mobile handset 610, with these microphones being examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435) of the imaging systems 200, 300, and/or 400.
- the audio output by the mobile handset 610 to the user through the one or more speakers 635B and/or other audio output devices may include, or be based on, audio recorded using the one or more microphones.
- the mobile handset 610 may use the display 640 on the front surface 620 as a pass- through display.
- the display 640 may display output images, such as image(s) captured according to the setting(s) 330 and/or the setting(s) 425 and/or with the virtual content 455.
- the output images can be based on the images (e.g. the camera input(s) 215) captured by the third camera 630C and/or the fourth camera 630D, for example processed versions and/or with the virtual content (e.g., image(s) captured according to the setting(s) 330 and/or the setting(s) 425 and/or with the virtual content 455) overlaid.
- the first camera 630A and/or the second camera 630B can capture images of the user’s eyes (and/or other portions of the user) before, during, and/or after the display of the output images with the virtual content on the display 640. This way, the sensor data from the first camera 630A and/or the second camera 630B can capture reactions to the virtual content by the user’s eyes (and/or other portions of the user).
- FIG. 7 is a perspective diagram 700 illustrating a vehicle 710 that includes various sensors.
- the vehicle 710 may be an example of one or more imaging systems 200, 300, and/or 400.
- the vehicle 710 is illustrated as an automobile, but may be, for example, an automobile, a truck, a bus, a train, a ground-based vehicle, an airplane, a helicopter, an aircraft, an aerial vehicle, a boat, a submarine, a watercraft, an underwater vehicle, a hovercraft, a robot, a vacuum cleaner, another type of vehicle discussed herein, or a combination thereof.
- the vehicle may be at least partially controlled and/or used with sub-systems of the vehicle 710, such as ADAS of the vehicle 710, IVI systems of the vehicle 710, control systems of the vehicle 710, a vehicle electronic control unit (ECU) 630 of the vehicle 710, or a combination thereof.
- sub-systems of the vehicle 710 such as ADAS of the vehicle 710, IVI systems of the vehicle 710, control systems of the vehicle 710, a vehicle electronic control unit (ECU) 630 of the vehicle 710, or a combination thereof.
- the vehicle 710 includes a display 720.
- the vehicle 710 includes various sensors, all of which can be examples of the image sensor(s) (corresponding to camera input(s) 215, camera(s) 340, and/or camera(s) 435).
- the vehicle 710 includes a first camera 730A and a second camera 730B at the front, a third camera 730C and a fourth camera 730D at the rear, and a fifth camera 730E and a sixth camera 730F on the top.
- the vehicle 710 includes a first microphone 735A at the front, a second microphone 735B at the rear, and a third microphone 735C at the top.
- the vehicle 710 includes a first sensor 740A on one side (e.g., adjacent to one rear-view mirror) and a second sensor 740B on another side (e.g., adjacent to another rear-view mirror).
- the first sensor 740A and the second sensor 740B may include cameras, microphones, depth sensors (e.g., Radio Detection and Ranging (RADAR) sensors, Light Detection and Ranging (LIDAR) sensors, Sound Detection and Ranging (SOD AR) sensors, Sound Navigation and Ranging (SONAR) sensors, time of flight (ToF) sensors, structured light sensors, stereoscopic cameras, etc.), or any other types of sensors(s) described herein.
- the vehicle 710 may include additional image sensor(s) in addition to the sensors illustrated in FIG. 7.
- the vehicle 710 may be missing some of the sensors that are illustrated in FIG. 7.
- the display 720 of the vehicle 710 displays one or more output images toward a user of the vehicle 710 (e.g., a driver and/or one or more passengers of the vehicle 710).
- the output images can include image(s) captured according to the setting(s) 330 and/or the setting(s) 425 and/or with the virtual content 455.
- the output images can be based on the images (e.g., the camera input(s) 215) captured by the first camera 730A, the second camera 730B, the third camera 730C, the fourth camera 730D, the fifth camera 730E, the sixth camera 730F, the first sensor 740A, and/or the second sensor 740B, for example processed versions and/or with the virtual content (e.g., image(s) captured according to the setting(s) 330 and/or the setting(s) 425 and/or with the virtual content 455) overlaid.
- the virtual content e.g., image(s) captured according to the setting(s) 330 and/or the setting(s) 425 and/or with the virtual content 455) overlaid.
- any of the first camera 730A, the second camera 730B, the third camera 730C, the fourth camera 730D, the fifth camera 730E, the sixth camera 730F, the first sensor 740A, and/or the second sensor 740B can be, or can include, depth sensors.
- FIG. 8 is a block diagram illustrating an example of a neural network (NN) 800 that can be used for imaging operations.
- the neural network 800 can include any type of deep network, such as a convolutional neural network (CNN), an autoencoder, a deep belief net (DBN), a Recurrent Neural Network (RNN), a Generative Adversarial Networks (GAN), and/or other type of neural network.
- the neural network 800 may be an example of one of the trained ML model(s) 255.
- the neural network 800 may used by the illumination map generator of the imaging system 200 to generate the illumination map 240 and/or the estimate the light source locations 245.
- An input layer 810 of the neural network 800 includes input data.
- the input data of the input layer 810 can include data representing the pixels of one or more input image frames.
- the input data of the input layer 810 includes data representing the pixels of image data and/or corresponding image capture settings (e.g., the camera input(s) 215, ISP region settings and/or statistics 225, illumination statistics 235, data from the camera 435, ISP grid statistics 440, results of processing 445, an image captured by one of the cameras 530A-530D and/or corresponding image capture settings, an image captured by one of the cameras 630A-630D and/or corresponding image capture settings, an image captured by one of the cameras 730A-730F and/or corresponding image capture settings, the image 910, the image 920, the image 930, the imaging data of operation 1005, image(s) captured using the input device 1145, or a combination thereof).
- image capture settings e.g., the camera input(s) 215, ISP region settings and/or statistics 225
- the input data of the input layer 810 includes pose data, such as pose sensor inputs 210, data from the 6DOF system 220, pose data 230, data from the 6DOF system 310, data from the 6DOF system 415, pose data 430, data from the 6DOF system 450, data from the first sensor 740 A, data from the second sensor 740B, or a combination thereof.
- the input data of the input layer 810 includes depth data captured by depth sensor(s).
- the input data of the input layer 810 includes processed data that is to be processed further, such as various features, weights, intermediate data, or a combination thereof.
- the images can include image data from an image sensor including raw pixel data (including a single color per pixel based, for example, on a Bayer filter) or processed pixel values (e g., RGB pixels of an RGB image).
- the neural network 800 includes multiple hidden layers 812, 812B, through 812N.
- the hidden layers 812, 812B, through 812N include “N” number of hidden layers, where “N” is an integer greater than or equal to one.
- the number of hidden layers can be made to include as many layers as needed for the given application.
- the neural network 800 further includes an output layer 814 that provides an output resulting from the processing performed by the hidden layers 812, 812B, through 812N.
- the output layer 814 can provide output data, such as the illumination map 240, the estimated light source locations 245, the illumination map 320, the dominant illumination condition 325, the settings 330, the illumination map 420, the settings 425, the virtual content 455, or a combination thereof.
- the neural network 800 is a multi-layer neural network of interconnected filters. Each filter can be trained to learn a feature representative of the input data. Information associated with the filters is shared among the different layers and each layer retains information as information is processed.
- the neural network 800 can include a feed-forward network, in which case there are no feedback connections where outputs of the network are fed back into itself.
- the network 800 can include a recurrent neural network, which can have loops that allow information to be carried across nodes while reading in input.
- the network can include a convolutional neural network, which may not link every node in one layer to every other node in the next layer.
- nodes of the input layer 810 can activate a set of nodes in the first hidden layer 812A.
- each of the input nodes of the input layer 810 can be connected to each of the nodes of the first hidden layer 812A.
- the nodes of a hidden layer can transform the information of each input node by applying activation functions (e.g., filters) to this information.
- the information derived from the transformation can then be passed to and can activate the nodes of the next hidden layer 812B, which can perform their own designated functions.
- Example functions include convolutional functions, downscaling, upscaling, data transformation, and/or any other suitable functions.
- the output of the hidden layer 812B can then activate nodes of the next hidden layer, and so on.
- the output of the last hidden layer 812N can activate one or more nodes of the output layer 814, which provides a processed output image.
- nodes e.g., node 816) in the neural network 800 are shown as having multiple output lines, a node has a single output and all lines shown as being output from a node represent the same output value.
- each node or interconnection between nodes can have a weight that is a set of parameters derived from the training of the neural network 800.
- an interconnection between nodes can represent a piece of information learned about the interconnected nodes.
- the interconnection can have a tunable numeric weight that can be tuned (e g., based on a training dataset), allowing the neural network 800 to be adaptive to inputs and able to learn as more and more data is processed.
- the neural network 800 is pre-trained to process the features from the data in the input layer 810 using the different hidden layers 812, 812B, through 812N in order to provide the output through the output layer 814.
- FIG. 9 is a conceptual diagram 900 illustrating examples of images (e.g., image 910, image 920, and image 930) and examples of corresponding illumination maps (e.g., illumination map 915, illumination map 925, and illumination map 935).
- the image 910 depicts scene with a concrete structure illuminated by a green-colored light (as indicated by the word “green” in the image 910).
- the corresponding illumination map 915 illustrates that a source of the green-colored light is coming from the lower-left of the scene depicted in the image 910.
- the illumination map 915 includes higher luminosity and/or color saturation (of a green color as indicated by the word “green” in the illumination map 915) in the lower-left corner of illumination map 915 than in the remainder of the illumination map 915.
- the image 920 depicts scene with a room illuminated in red light from the right (as indicated by the word “red” in the image 920), but that otherwise looks more beige (as indicated by the word “beige” in the image 920).
- the corresponding illumination map 925 illustrates that a source of the red-colored light is coming from the right-hand side of the scene depicted in the image 920.
- the illumination map 925 includes higher luminosity and/or color saturation (of a red color as indicated by the word “red” in the illumination map 925) from the right side of illumination map 925 than in the remainder of the illumination map 925.
- the image 930 depicts scene with a room illuminated by a blue-colored light (as indicated by the word “blue” in the image 930).
- the corresponding illumination map 935 illustrates that a source of the blue-colored light is coming from the lower- right of the scene depicted in the image 930.
- the illumination map 935 includes higher luminosity and/or color saturation (of a blue color as indicated by the word “blue” in the illumination map 935) in the lower-right comer of illumination map 935 than in the remainder of the illumination map 935.
- FIG. 10 is a flow diagram illustrating a process 1000 for imaging.
- the process 1000 for imaging may be performed by an imaging system (e.g., a chipset, a processor or multiple processors such as an ISP, host processor, application processor, or other processor, or other component).
- an imaging system e.g., a chipset, a processor or multiple processors such as an ISP, host processor, application processor, or other processor, or other component.
- the imaging system can include, for example, the image capture and processing system 100, the image capture device 105 A, the image processing device 105B, the image processor 150, the ISP 154, the host processor 152, the imaging system 200, the trained ML model(s) 255, the imaging system 300, the imaging system 400, the headset 405, the handset 410, the HMD 510, the mobile handset 610, the vehicle 710, the neural network 800, the computing system 1100, the processor 1110, a system, and apparatus, a device, a non-transitory computer readable medium having stored thereon a program to be performed using a processor, or a combination thereof.
- the imaging system includes a display.
- the imaging system includes a transceiver and/or other communication interface(s).
- the imaging system (or component thereof) is configured to, and can, determine a setting (e.g., setting(s) 330, settings 425) for an image capture parameter (e.g., image capture parameters(s) 335) based on a map (e.g., illumination map 240, illumination map 320, illumination map 420, illumination map 915, illumination map 925, illumination map 935) of at least one location of at least one light source (e.g., light source locations 245) in an environment and based on a predicted pose (e.g., predicted pose(s) 315) of an image capture device (e.g., image capture and processing system 100, 6DOF system 220, camera(s) 340, headset 405, handset 410, HMD 510, mobile handset 610, vehicle 710) in the environment.
- the image capture parameter include exposure, white balance, focus, gain, other image capture parameters or settings discussed herein, or a combination thereof.
- the map indicates a direction of the at least one light source in the environment, for instance relative to at least a portion of the environment, relative to at least a portion of an image of the environment, relative to at least one object in the environment, relative to the image capture device (e.g., relative to the predicted pose of the image capture device), or a combination thereof.
- the map indicates a direction that light from the at least one light source travels through the environment, for instance relative to at least a portion of the environment, relative to at least a portion of an image of the environment, relative to at least one object in the environment, relative to the image capture device (e.g., relative to the predicted pose of the image capture device), or a combination thereof.
- the map indicates at least one color of light from the at least one light source.
- the illumination map 915 indicates green light coming from the lower-left comer of the scene illustrated in the image 910 toward the rest of the scene
- the illumination map 925 indicates red light coming from the right side of the scene illustrated in the image 920 toward the left side of the scene
- the illumination map 935 indicates blue light coming from the lower-right comer of the scene illustrated in the image 930 toward the rest of the scene.
- the map indicates a color of light from the at least one light source.
- the map can indicate that the light from the light source is white, red, orange, yellow, green, turquoise, blue, indigo, violet, a color in between any of the listed colors, another color, or a combination thereof.
- the imaging system (or component thereof) is configured to, and can, cause an image to be captured (e.g., using the image capture device and/or the camera(s) 340) using the setting determined for the image capture parameter (e.g., with the image capture service set to use the setting for the image capture parameter).
- the imaging system (or component thereof) is configured to, and can, receive imaging data (e g., camera input(s) 215, ISP region settings and/or statistics 225, illumination statistics 235, camera(s) 435, ISP grid statistics 440, AE/AWB processing 445, image 910, image 920, image 930) identifying a plurality of settings for the image capture parameter (e.g., the image capture parameter of operation 1005, and/or one or more other image capture parameter(s)), each setting of the plurality of settings configured to be used for imaging at a respective pose of an image capture device of a plurality of poses of the image capture device in an environment (e.g., pose sensor inputs 210, 6DOF system 220, pose data 230, 6DOF system 415, pose data 430, 6DOF system 450).
- imaging data e.g., camera input(s) 215, ISP region settings and/or statistics 225, illumination statistics 235, camera(s) 435, ISP grid statistics 440,
- the imaging system (or component thereof) is configured to, and can, generate the map of the at least one location of the at least one light source in the environment based on the imaging data (e.g., using the trained ML model(s) 255 and/or the neural network 800).
- Illustrative examples of the image sensor includes the image sensor 130, an image sensor associated with the camera input(s) 215, image sensor(s) of the camera(s) 340, image sensor(s) of the camera(s) 435, the first camera 53OA, the second camera 530B, the third camera 53OC, the fourth camera 53OD, the first camera 630A, the second camera 630B, the third camera 630C, the fourth camera 630D, the first camera 730A, the second camera 730B, the third camera 730C, the fourth camera 73 OD, the fifth camera 73 OE, the sixth camera 73 OF, the first sensor 740 A, the second sensor 740B, an image sensor used to capture an image used as input data for the input layer 810 of the NN 800, an image sensor that captures the image 910, an image 920, an image 930, the image capture device of operation 1005, the input device 1145, another image sensor described herein, another sensor described herein, or a combination thereof.
- imaging data and/or of the image examples include the camera input(s) 215, the ISP region settings and/or statistics 225, the illumination statistics 235, the ISP grid statistics 440, the settings used in processing 445, and/or image data captured by any of the previously-listed image sensors.
- the imaging system (or component thereof) is configured to, and can, input the imaging data into a trained machine learning model (e.g., the trained ML model(s) 255, the neural network 800) to generate the map.
- the trained machine learning model includes one or more neural network(s) (NN(s)) (e g., neural network 800), convolutional neural network(s) (CNN(s)), time delay neural network(s) (TDNN(s)), deep network(s) (DN(s)), autoencoder(s) (AE(s)), variational autoencoder(s) (VAE(s)), deep belief net(s) (DBN(s)), recurrent neural network(s) (RNN(s)), residual neural network(s) (e.g., RestNet), U-Net-style neural network(s), generative adversarial network(s) (GAN(s)), conditional generative adversarial network(s) (cGAN(s)), feed-forward
- NN(s) e
- the imaging system (or component thereof) is configured to, and can, generate, using the imaging data, an image capture settings map (e.g., ISP region settings and/or statistics 225, illuminating statistics 235, ISP grid statistics 440, the settings used in processing 445) configured to map the plurality of settings for the image capture parameter across different portions of the environment, wherein generating the map of the at least one location of the at least one light source in the environment is based on the image capture settings map.
- the image capture device is part of the imaging system.
- the imaging system (or component thereof) is configured to, and can, receive the imaging data from the image capture device.
- the imaging system (or component thereof) is configured to, and can, set the image capture parameter to the setting at the image capture device.
- the imaging system can send a signal to the image capture device to cause the image capture device to capture the image while the image capture parameter is set to the setting.
- the imaging system (or component thereof) is configured to, and can, receive the image from the image capture device.
- the imaging system may be a headset 405, handset 410, HMD 510, mobile handset 610, vehicle 710, or a combination thereof.
- the image capture device is part of the imaging system.
- the imaging system (or component thereof) is configured to, and can, set the image capture parameter to the setting at the image capture device, and send a signal to the image capture device to cause the image capture device to capture the image while the image capture parameter is set to the setting.
- the imaging system (or component thereof) is configured to, and can, receive the image from the image capture device.
- the imaging system may be a headset 405, handset 410, HMD 510, mobile handset 610, vehicle 710, or a combination thereof.
- the image capture device is part of the companion device.
- the companion device may be an example of the headset 405, while the imaging system may be an example of the handset 410.
- the imaging system (or component thereof) is configured to, and can, receive the imaging data from a companion device over an interface.
- the imaging system can send a first signal over the interface to cause the companion device to set the image capture parameter to the setting at the companion device.
- the imaging system can send a second signal over the interface to cause the companion device to capture the image using the image capture device while the image capture parameter is set to the setting.
- the imaging system (or component thereof) is configured to, and can, receive the image from the companion device over the interface.
- the companion device includes a head-mounted display (HMD) device (e.g., headset 405 and/or HMD 510).
- the interface is wireless.
- the interface is wired.
- the imaging system may be a headset 405, handset 410, HMD 510, mobile handset 610, and/orvehicle 710.
- the companion device may be a headset 405, handset 410, HMD 510, mobile handset 610, vehicle 710, or a combination thereof.
- the image capture device is part of the companion device.
- the companion device may be an example of the headset 405
- the imaging system may be an example of the handset 410.
- the imaging system (or component thereof) is configured to, and can, send a first signal over an interface (e.g., wired and/or wireless) to cause the companion device to set the image capture parameter to the setting at the companion device.
- the imaging system can send a second signal over the interface to cause the companion device to capture the image using the image capture device while the image capture parameter is set to the setting.
- the imaging system (or component thereof) is configured to, and can, receive the image from the companion device over the interface.
- the companion device includes a head-mounted display (HMD) device (e.g., headset 405 and/or HMD 510).
- the imaging system may be a headset 405, handset 410, HMD 510, mobile handset 610, and/or vehicle 710.
- the companion device may be a headset 405, handset 410, HMD 510, mobile handset 610, and/or vehicle 710.
- the imaging system (or component thereof) is configured to, and can, determine the predicted pose (e.g., predicted pose(s) 315) of the image capture device in the environment based on at least one previous pose (e.g., pose sensor inputs 210, pose data 230, pose sensor inputs 305, pose data 430) of the image capture device in the environment.
- the predicted pose of operation 1005 can refer to the predicted pose(s) 315 for the future frame(s)
- the at least one previous pose can refer to the data from the 6DOF system 310 that the predicted pose(s) 315 for the future frame(s) are determined based on in FIG. 3.
- the imaging system (or component thereof) is configured to, and can, receive the image from the image capture device. In some aspects, the imaging system (or component thereof) is configured to, and can, output the image. In some aspects, the imaging system (or component thereof) is configured to, and can, display the image using a display (e.g., a display of the headset 405, a display of the handset 410, the display(s) 540 of the HMD 510, the display 640 of the mobile handset 610, display(s) 720 of the vehicle 710, a display of the output device 1135, another display discussed herein, or a combination thereof).
- a display e.g., a display of the headset 405, a display of the handset 410, the display(s) 540 of the HMD 510, the display 640 of the mobile handset 610, display(s) 720 of the vehicle 710, a display of the output device 1135, another display discussed herein, or a combination thereof.
- the imaging system (or component thereof) is configured to, and can, send a signal to a companion device over a communication interface to cause the companion device to display the image using a display (e.g., a display of the headset 405, a display of the handset 410, the display(s) 540 of the HMD 510, the display 640 of the mobile handset 610, display(s) 720 of the vehicle 710, a display of the output device 1135, another display discussed herein, or a combination thereof).
- a display e.g., a display of the headset 405, a display of the handset 410, the display(s) 540 of the HMD 510, the display 640 of the mobile handset 610, display(s) 720 of the vehicle 710, a display of the output device 1135, another display discussed herein, or a combination thereof.
- the companion device can be an example of the headset 405 while the imaging system is an example of the handset 410, or vice versa.
- the imaging system (or component thereof) is configured to, and can, send the image to a recipient device over a communication interface (e.g., output device 1135, communication interface 1140).
- a communication interface e.g., output device 1135, communication interface 1140.
- the communication interface may be wired or wireless.
- the communication interface may be a communication interface between the headset 405 and the handset 410.
- the image capture parameter is an exposure value (e.g., exposure time, exposure duration, aperture size, gain, or a combination thereof) a white balance value (e.g., white balance gain, white balance hue, white balance tone, white balance luminosity, or a combination thereof), an aperture size, an ISO, an analog gain, an digital gain, a focus, another image capture parameter discussed herein, or a combination thereof.
- an exposure value e.g., exposure time, exposure duration, aperture size, gain, or a combination thereof
- a white balance value e.g., white balance gain, white balance hue, white balance tone, white balance luminosity, or a combination thereof
- an aperture size e.g., an ISO, an analog gain, an digital gain, a focus, another image capture parameter discussed herein, or a combination thereof.
- the imaging system includes multiple cameras, as in the cameras 530A-530D of the HMD 510, the cameras 630A-630D of the mobile handset 610, or the cameras 730A-730F of the vehicle 710.
- the image is to be captured using the first camera and the setting
- the imaging system (or component thereof) is configured to, and can, determine a second setting for the image capture parameter for a second camera of the image capture device based on the map, the predicted pose of the image capture device in the environment, and a position of the second camera compared to a first camera of the image capture device.
- the imaging system can cause a second image to be captured using the second camera and using the second setting determined for the image capture parameter for the second camera.
- the imaging system (or component thereof) is configured to, and can, identify a use case for the image based on a stored software application, wherein the setting for the image capture parameter is also based on the use case.
- the use case of the image may be for a computer vision application, for instance for feature detection, feature recognition, object detection, object recognition, facial detection, facial recognition, person detection, person recognition, simultaneous localization and mapping (SLAM), visual simultaneous localization and mapping (vSLAM), another computer vision process or application, or a combination thereof.
- the use case of the image may be for an extended reality (XR) application, such as augmented reality (AR), virtual reality (VR), mixed reality (MR), a video game, or a combination thereof.
- AR augmented reality
- VR virtual reality
- MR mixed reality
- the setting for the image capture parameter can emphasize edges, comers, blobs, and/or other features, without concern for whether the image is visually pleasing and/or clear to a human viewer (e.g., in some examples, without concern for whether colors, tone, textures, and/or saturation are accurate, and/or without concern for certain types of distortion).
- the setting for the image capture parameter can be configured to make the image visually pleasing and/or clear to a human viewer, for instance by ensuring color accuracy, tone accuracy, texture accuracy, color saturation accuracy, reduction in distortion, or a combination thereof.
- the imaging system (or component thereof) is configured to, and can, identify a type of the image capture device and/or of the imaging system.
- the setting for the image capture parameter is also based on the type of the image capture device and/or of the imaging system. For instance, the settings that are optimal may differ if the camera is a small cell phone camera versus if the camera is a professional digital single-lens reflex (DSLR) camera.
- DSLR professional digital single-lens reflex
- the settings that are optimal may differ based on a model of the image capture device, what portion(s) of the electromagnetic spectrum the image sensor of the image capture device is sensitive to (e.g., visible light, infrared, ultraviolet, portions thereof, and/or combinations thereof), autofocus type (e.g., PDAF, CDAF, active autofocus), lens type (e.g., telephoto, wide angle, ultrawide, fisheye, standard), current zoom setting (e.g., current zoom level), another property of the image capture device, or a combination thereof.
- the settings that are optimal may differ based on the imaging system (e.g., based on the image capture device(s) of the imaging system and/or based on the displays to be used by the imaging system).
- the settings that are optimal may differ slightly if the type of the imaging system is an HMD 510, a mobile handset 610, a vehicle 710, another imaging system, a subset of any of the listed imaging systems, or a combination thereof.
- settings that are optimal for the image capture parameter may differ for images intended to be output via the display(s) 540 of the HMD 510, for images intended to be output via the display(s) 640 of the mobile handset 610, and/or for images intended to be output via the display(s) 720 of the vehicle 710, for images intended to be output via a display of a monochrome or greyscale device such as an ebook reader, for images intended to be output via a display of another type of device (e.g., a laptop, a desktop, a television, a game console), or a combination thereof. What display(s) or type(s) of display(s) the image is to be output to may also be considered a use case as discussed above.
- the imaging system (or component thereof) is configured to, and can, cause a second image to be captured (e.g., using the same image capture device or a second image capture device) using the setting determined for the image capture parameter (e.g., at operation 1010). For instance, if the image capture device is capturing a video and/or a plurality of images (e g., in a sequence) and the imaging system determines that the image capture device is not moving (e.g., the pose has not changed), the same setting for the image capture parameter can be applied to the capture of the second image (e.g., of the video or plurality of image) by the image capture device to improve efficiency and reduce redundant work.
- the same setting for the image capture parameter can be applied to the capture of the second image (e.g., of the video or plurality of image) by the image capture device to improve efficiency and reduce redundant work.
- the imaging system includes a second image capture device that has a similar pose (e.g., similar location and/or orientation) and/or similar type (e.g., model and/or manufacturer and/or lens type and/or sensor type and/or aperture size) as the image capture device of the imaging system, the same setting for the image capture parameter can be applied to the capture of the second image by the second image capture device to improve efficiency and reduce redundant work.
- a similar pose e.g., similar location and/or orientation
- similar type e.g., model and/or manufacturer and/or lens type and/or sensor type and/or aperture size
- the processes described herein may be performed by a computing device or apparatus.
- the processes described herein can be performed by the image capture and processing system 100, the image capture device 105 A, the image processing device 105B, the image processor 150, the ISP 154, the host processor 152, the the imaging system 200, the trained ML model(s) 255, the imaging system 300, the imaging system 400, the headset 405, the handset 410, the HMD 510, the mobile handset 610, the vehicle 710, the neural network 800, the computing system 1100, the processor 1110, or a combination thereof.
- the computing device can include any suitable device, such as a mobile device (e.g., a mobile phone), a desktop computing device, a tablet computing device, a wearable device (e.g., a VR headset, an AR headset, AR glasses, a network-connected watch or smartwatch, or other wearable device), a server computer, a vehicle or computing device of a vehicle, a robotic device, a television, and/or any other computing device with the resource capabilities to perform the processes described herein.
- a mobile device e.g., a mobile phone
- a desktop computing device e.g., a tablet computing device
- a wearable device e.g., a VR headset, an AR headset, AR glasses, a network-connected watch or smartwatch, or other wearable device
- server computer e.g., a server computer, a vehicle or computing device of a vehicle, a robotic device, a television, and/or any other computing device with the resource capabilities to perform the processes described herein.
- the computing device or apparatus may include various components, such as one or more input devices, one or more output devices, one or more processors, one or more microprocessors, one or more microcomputers, one or more cameras, one or more sensors, and/or other component(s) that are configured to carry out the steps of processes described herein.
- the computing device may include a display, a network interface configured to communicate and/or receive the data, any combination thereof, and/or other component(s).
- the network interface may be configured to communicate and/or receive Internet Protocol (IP) based data or other type of data.
- IP Internet Protocol
- the components of the computing device can be implemented in circuitry.
- the components can include and/or can be implemented using electronic circuits or other electronic hardware, which can include one or more programmable electronic circuits (e.g., microprocessors, graphics processing units (GPUs), digital signal processors (DSPs), central processing units (CPUs), and/or other suitable electronic circuits), and/or can include and/or be implemented using computer software, firmware, or any combination thereof, to perform the various operations described herein.
- programmable electronic circuits e.g., microprocessors, graphics processing units (GPUs), digital signal processors (DSPs), central processing units (CPUs), and/or other suitable electronic circuits
- the processes described herein may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) executing collectively on one or more processors, by hardware, or combinations thereof.
- code e.g., executable instructions, one or more computer programs, or one or more applications
- the code may be stored on a computer-readable or machine-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors.
- the computer-readable or machine-readable storage medium may be non- transitory.
- FIG. 11 is a diagram illustrating an example of a system for implementing certain aspects of the present technology.
- computing system 1100 can be for example any computing device making up internal computing system, a remote computing system, a camera, or any component thereof in which the components of the system are in communication with each other using connection 1105.
- Connection 1105 can be a physical connection using a bus, or a direct connection into processor 11 10, such as in a chipset architecture.
- Connection 1105 can also be a virtual connection, networked connection, or logical connection.
- computing system 1100 is a distributed system in which the functions described in this disclosure can be distributed within a datacenter, multiple data centers, a peer network, etc.
- one or more of the described system components represents many such components each performing some or all of the function for which the component is described.
- the components can be physical or virtual devices.
- Example system 1100 includes at least one processing unit (CPU or processor) 1110 and connection 1105 that couples various system components including system memory 1115, such as read-only memory (ROM) 1120 and random access memory (RAM) 1125 to processor 1110.
- system memory 1115 such as read-only memory (ROM) 1120 and random access memory (RAM) 1125 to processor 1110.
- Computing system 1100 can include a cache 1112 of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 1110.
- Processor 1110 can include any general purpose processor and a hardware service or software service, such as services 1132, 1134, and 1136 stored in storage device 1130, configured to control processor 1110 as well as a special-purpose processor where software instructions are incorporated into the actual processor design.
- Processor 1110 may essentially be a completely self- contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc.
- a multi-core processor may be symmetric or asymmetric.
- computing system 1100 includes an input device 1145, which can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech, etc.
- Computing system 1100 can also include output device 1135, which can be one or more of a number of output mechanisms. In some instances, multimodal systems can enable a user to provide multiple types of input/ output to communicate with computing system 1100.
- Computing system 1100 can include communications interface 1140, which can generally govern and manage the user input and system output.
- the communication interface may perform or facilitate receipt and/or transmission wired or wireless communications using wired and/or wireless transceivers, including those making use of an audio jack/plug, a microphone jack/plug, a universal serial bus (USB) port/plug, an Apple® Lightning® port/plug, an Ethernet port/plug, a fiber optic port/plug, a proprietary wired port/plug, a BLUETOOTH® wireless signal transfer, a BLUETOOTH® low energy (BLE) wireless signal transfer, an IBEACON® wireless signal transfer, a radio-frequency identification (RFID) wireless signal transfer, near-field communications (NFC) wireless signal transfer, dedicated short range communication (DSRC) wireless signal transfer, 1102.11 Wi-Fi wireless signal transfer, wireless local area network (WLAN) signal transfer, Visible Light Communication (VLC), Worldwide Interoperability for Microwave Access (WiMAX), Infrared (IR) communication wireless signal transfer, Public Switched Telephone Network (PSTN) signal transfer, Integrated Services Digital Network (
- the communications interface 1140 may also include one or more Global Navigation Satellite System (GNSS) receivers or transceivers that are used to determine a location of the computing system 1100 based on receipt of one or more signals from one or more satellites associated with one or more GNSS systems.
- GNSS systems include, but are not limited to, the US-based Global Positioning System (GPS), the Russia-based Global Navigation Satellite System (GLONASS), the China-based BeiDou Navigation Satellite System (BDS), and the Europe-based Galileo GNSS.
- GPS Global Positioning System
- GLONASS Russia-based Global Navigation Satellite System
- BDS BeiDou Navigation Satellite System
- Galileo GNSS Europe-based Galileo GNSS
- Storage device 1130 can be a non-volatile and/or non-transitory and/or computer- readable memory device and can be a hard disk or other types of computer readable media which can store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, a floppy disk, a flexible disk, a hard disk, magnetic tape, a magnetic strip/stripe, any other magnetic storage medium, flash memory, memristor memory, any other solid-state memory, a compact disc read only memory (CD-ROM) optical disc, a rewritable compact disc (CD) optical disc, digital video disk (DVD) optical disc, a blu-ray disc (BDD) optical disc, a holographic optical disk, another optical medium, a secure digital (SD) card, a micro secure digital (microSD) card, a Memory Stick® card, a smartcard chip, a EMV chip, a subscriber identity module (SIM) card, a
- SD
- the storage device 1130 can include software services, servers, services, etc., that when the code that defines such software is executed by the processor 1110, it causes the system to perform a function.
- a hardware service that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 1110, connection 1105, output device 1135, etc., to carry out the function.
- computer-readable medium includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other mediums capable of storing, containing, or carrying instruction(s) and/or data.
- a computer-readable medium may include a non-transitory medium in which data can be stored and that does not include carrier waves and/or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium may include, but are not limited to, a magnetic disk or tape, optical storage media such as compact disk (CD) or digital versatile disk (DVD), flash memory, memory or memory devices.
- a computer-readable medium may have stored thereon code and/or machine-executable instructions that may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements.
- a code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents.
- Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted using any suitable means including memory sharing, message passing, token passing, network transmission, or the like.
- the computer-readable storage devices, mediums, and memories can include a cable or wireless signal containing a bit stream and the like.
- non-transitory computer-readable storage media expressly exclude media such as energy, carrier signals, electromagnetic waves, and signals per se.
- Processes and methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer- readable media.
- Such instructions can include, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or a processing device to perform a certain function or group of functions. Portions of computer resources used can be accessible over a network.
- the computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, source code, etc.
- Examples of computer-readable media that may be used to store instructions, information used, and/or information created during methods according to described examples include magnetic or optical disks, flash memory, USB devices provided with non-volatile memory, networked storage devices, and so on.
- Devices implementing processes and methods according to these disclosures can include hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof, and can take any of a variety of form factors.
- the program code or code segments to perform the necessary tasks may be stored in a computer-readable or machine- readable medium.
- a processor(s) may perform the necessary tasks.
- form factors include laptops, smart phones, mobile phones, tablet devices or other small form factor personal computers, personal digital assistants, rackmount devices, standalone devices, and so on.
- Functionality described herein also can be embodied in peripherals or add-in cards. Such functionality can also be implemented on a circuit board among different chips or different processes executing in a single device, by way of further example.
- the instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are example means for providing the functions described in the disclosure.
- Coupled to refers to any component that is physically connected to another component either directly or indirectly, and/or any component that is in communication with another component (e.g., connected to the other component over a wired or wireless connection, and/or other suitable communication interface) either directly or indirectly.
- Claim language or other language reciting “at least one of’ a set and/or “one or more” of a set indicates that one member of the set or multiple members of the set (in any combination) satisfy the claim.
- claim language reciting “at least one of A and B” means A, B, or A and B.
- claim language reciting “at least one of A, B, and C” means A, B, C, or A and B, or A and C, or B and C, or A and B and C.
- the language “at least one of’ a set and/or “one or more” of a set does not limit the set to the items listed in the set.
- claim language reciting “at least one of A and B” can mean A, B, or A and B, and can additionally include items not listed in the set of A and B.
- the techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices such as general purposes computers, wireless communication device handsets, or integrated circuit devices having multiple uses including application in wireless communication device handsets and other devices. Any features described as modules or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a computer-readable data storage medium comprising program code including instructions that, when executed, performs one or more of the methods described above.
- the computer-readable data storage medium may form part of a computer program product, which may include packaging materials.
- the computer-readable medium may comprise memory or data storage media, such as random access memory (RAM) such as synchronous dynamic random access memory (SDRAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), FLASH memory, magnetic or optical data storage media, and the like.
- RAM random access memory
- SDRAM synchronous dynamic random access memory
- ROM read-only memory
- NVRAM non-volatile random access memory
- EEPROM electrically erasable programmable read-only memory
- FLASH memory magnetic or optical data storage media, and the like.
- the techniques additionally, or alternatively, may be realized at least in part by a computer-readable communication medium that carries or communicates program code in the form of instructions or data structures and that can be accessed, read, and/or executed by a computer, such as propagated signals or waves.
- the program code may be executed by a processor, which may include one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, an application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry.
- DSPs digital signal processors
- ASICs application specific integrated circuits
- FPGAs field programmable logic arrays
- a general purpose processor may be a microprocessor; but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
- a processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
- processor may refer to any of the foregoing structure, any combination of the foregoing structure, or any other structure or apparatus suitable for implementation of the techniques described herein.
- functionality described herein may be provided within dedicated software modules or hardware modules configured for encoding and decoding, or incorporated in a combined video encoderdecoder (CODEC).
- CODEC combined video encoderdecoder
- Claim language or other language reciting “at least one processor configured to,” “at least one processor being configured to,” or the like indicates that one processor or multiple processors (in any combination) can perform the associated operation(s).
- claim language reciting “at least one processor configured to: X, Y, and Z” means a single processor can be used to perform operations X, Y, and Z; or that multiple processors are each tasked with a certain subset of operations X, Y, and Z such that together the multiple processors perform X, Y, and Z; or that a group of multiple processors work together to perform operations X, Y, and Z.
- claim language reciting “at least one processor configured to: X, Y, and Z” can mean that any single processor may only perform at least a subset of operations X, Y, and Z.
- Illustrative aspects of the disclosure include:
- Aspect 1 An apparatus for imaging, the apparatus comprising: a memory; and at least one processor (e.g., implemented in circuitry) coupled to the memory and configured to: determine a setting for an image capture parameter based on a map of at least one location of at least one light source in an environment and based on a predicted pose of an image capture device in the environment; and cause an image to be captured using the setting determined for the image capture parameter.
- a processor e.g., implemented in circuitry
- Aspect 2 The apparatus of Aspect 1, wherein the map indicates a direction of the at least one light source in the environment.
- Aspect 3. The apparatus of any of Aspects 1 to 2, the at least one processor configured to: receive imaging data identifying a plurality of settings for the image capture parameter, each setting of the plurality of settings configured to be used for imaging at a respective pose of the image capture device of a plurality of poses of the image capture device in the environment; and generate the map of the at least one location of at least one light source in the environment based on the imaging data.
- Aspect 4 The apparatus of Aspect 3, the at least one processor configured to: input the imaging data into a trained machine learning model to generate the map.
- Aspect 5 The apparatus of Aspect 4, wherein the trained machine learning model is at least one of a trained generative adversarial network (GAN) or a trained convolutional neural network (CNN).
- GAN trained generative adversarial network
- CNN trained convolutional neural network
- Aspect 6 The apparatus of any of Aspects 3 to 5, the at least one processor configured to: generate, using the imaging data, an image capture settings map configured to map the plurality of settings for the image capture parameter across different portions of the environment, wherein generating the map of the at least one location of the at least one light source in the environment is based on the image capture settings map.
- Aspect 7 The apparatus of any of Aspects 1 to 6, wherein the map indicates a color of light from the at least one light source.
- Aspect 8 The apparatus of any of Aspects 1 to 7, the at least one processor configured to: set the image capture parameter to the setting at the image capture device, wherein the image capture device is part of the apparatus; and send a signal to the image capture device to cause the image capture device to capture the image while the image capture parameter is set to the setting.
- Aspect 9 The apparatus of any of Aspects 1 to 8, the at least one processor configured to: send a first signal over an interface to cause a companion device to set the image capture parameter to the setting at the companion device, wherein the image capture device is part of the companion device; and send a second signal over the interface to cause the companion device to capture the image using the image capture device while the image capture parameter is set to the setting.
- Aspect 10 The apparatus of Aspect 9, wherein the companion device includes a headmounted display (HMD) device.
- HMD headmounted display
- Aspect 11 The apparatus of any of Aspects 9 to 10, wherein the interface is wireless.
- Aspect 12 The apparatus of any of Aspects 9 to 11, wherein the interface is wired.
- Aspect 13 The apparatus of any of Aspects 1 to 13, wherein the at least one processor is configured to: determine the predicted pose of the image capture device in the environment based on at least one previous pose of the image capture device in the environment.
- Aspect 14 The apparatus of any of Aspects 1 to 12, wherein the at least one processor is configured to: receive the image from the image capture device.
- Aspect 15 The apparatus of any of Aspects 1 to 14, wherein the image capture parameter is an exposure value.
- Aspect 16 The apparatus of any of Aspects 1 to 15, wherein the image capture parameter is a white balance value.
- Aspect 17 The apparatus of any of Aspects 1 to 16, wherein the image capture parameter is at least one of aperture size, ISO, analog gain, digital gain, or focus.
- Aspect 18 The apparatus of any of Aspects 1 to 17, wherein the at least one processor is configured to: determine a second setting for the image capture parameter for a second camera of the image capture device based on the map, the predicted pose of the image capture device in the environment, and a position of the second camera compared to a first camera of the image capture device; and cause a second image to be captured using the second setting determined for the image capture parameter for the second camera, wherein the image is to be captured using the first camera and the setting.
- Aspect 19 The apparatus of any of Aspects 1 to 18, wherein the at least one processor is configured to: identify a use case for the image based on a stored software application, wherein the setting for the image capture parameter is also based on the use case.
- Aspect 20 The apparatus of any of Aspects 1 to 19, wherein the at least one processor is configured to: identify a type of the image capture device, wherein the setting for the image capture parameter is also based on the type of the image capture device.
- Aspect 21 The apparatus of any of Aspects 1 to 20, wherein the apparatus includes at least one of a head-mounted display (HMD), a mobile handset, or a wireless communication device.
- HMD head-mounted display
- a method of imaging comprising: determining a setting for an image capture parameter based on a map of at least one location of at least one light source in an environment and based on a predicted pose of an image capture device in the environment; and causing an image to be captured using the setting determined for the image capture parameter.
- Aspect 23 The method of Aspect 22, further comprising: receiving imaging data identifying a plurality of settings for the image capture parameter, each setting of the plurality of settings configured to be used for imaging at a respective pose of the image capture device of a plurality of poses of the image capture device in the environment; and generating the map of the at least one location of at least one light source in the environment based on the imaging data.
- Aspect 24 The method of any of Aspects 22 or 23, further comprising: operations according to any of Aspects 1 to 21.
- Aspect 25 A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to perform operations according to any of Aspects 1 to 24.
- Aspect 26 An apparatus for imaging, the apparatus comprising one or more means for performing operations according to any of Aspects 1 to 24.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
Description
Claims
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202380097371.3A CN121040082A (en) | 2023-05-01 | 2023-12-20 | Imaging system and method based on illumination pattern |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IN202321031023 | 2023-05-01 | ||
| IN202321031023 | 2023-05-01 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024228752A1 true WO2024228752A1 (en) | 2024-11-07 |
Family
ID=89771741
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2023/085226 Pending WO2024228752A1 (en) | 2023-05-01 | 2023-12-20 | Systems and methods for imaging based on illumination map |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN121040082A (en) |
| WO (1) | WO2024228752A1 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170178360A1 (en) * | 2014-03-28 | 2017-06-22 | Philips Lighting Holding B.V. | Locating a portable device based on coded light |
| US20190116307A1 (en) * | 2017-10-17 | 2019-04-18 | Motorola Mobility Llc | Photography Environment Control |
-
2023
- 2023-12-20 WO PCT/US2023/085226 patent/WO2024228752A1/en active Pending
- 2023-12-20 CN CN202380097371.3A patent/CN121040082A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170178360A1 (en) * | 2014-03-28 | 2017-06-22 | Philips Lighting Holding B.V. | Locating a portable device based on coded light |
| US20190116307A1 (en) * | 2017-10-17 | 2019-04-18 | Motorola Mobility Llc | Photography Environment Control |
Also Published As
| Publication number | Publication date |
|---|---|
| CN121040082A (en) | 2025-11-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TW202203085A (en) | Automatic camera guidance and settings adjustment | |
| US11847793B2 (en) | Collaborative tracking | |
| US12289532B2 (en) | Systems and methods for determining image capture settings | |
| US11863729B2 (en) | Systems and methods for generating synthetic depth of field effects | |
| US12289535B2 (en) | Systems and methods for multi-context image capture | |
| EP4463787A1 (en) | Systems and methods of media processing | |
| WO2024173048A1 (en) | Systems and methods for motion blur compensation for feature tracking | |
| WO2024163067A1 (en) | Method and apparatus for optimum overlap ratio estimation for three dimensional (3d) reconstructions | |
| US20240209843A1 (en) | Scalable voxel block selection | |
| US12289433B2 (en) | Systems and methods for device interoperability for extended reality | |
| WO2024228752A1 (en) | Systems and methods for imaging based on illumination map | |
| US20250227214A1 (en) | Systems and methods for device interoperability for extended reality | |
| US11982527B2 (en) | Systems and methods of imaging with multi-domain image sensor | |
| US20240386659A1 (en) | Color metadata buffer for three-dimensional (3d) reconstruction | |
| US20250086889A1 (en) | Multi-frame three-dimensional (3d) reconstruction | |
| US12382183B2 (en) | Adaptive algorithm for power efficient eye tracking | |
| WO2024159475A1 (en) | Systems and methods for environment mapping based on multi-domain sensor data | |
| WO2024191497A1 (en) | Systems and methods for runtime network adjustment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23848216 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202547081280 Country of ref document: IN |
|
| WWP | Wipo information: published in national office |
Ref document number: 202547081280 Country of ref document: IN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023848216 Country of ref document: EP |
|
| ENP | Entry into the national phase |
Ref document number: 2023848216 Country of ref document: EP Effective date: 20251201 |
|
| ENP | Entry into the national phase |
Ref document number: 2023848216 Country of ref document: EP Effective date: 20251201 |