Temperature-based camera intrinsics characterization

By characterizing camera modules at varying temperatures and generating regression models, the method addresses temperature-dependent intrinsic changes, ensuring accurate image interpretation and reducing errors in applications requiring strict calibration.

WO2025216733A1PCT designated stage Publication Date: 2025-10-16GOOGLE LLC

Patent Information

Application Number
PCT/US2024/023870
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-10
Publication Date
2025-10-16

AI Technical Summary

Technical Problem

Existing camera characterization methods fail to account for temperature-dependent changes in intrinsic characteristics, leading to inaccurate image interpretation and processing, particularly in applications requiring strict calibration and precise estimation.

Method used

Characterize camera modules at multiple temperatures to generate intrinsic characterization data, including regression models that account for thermal drift, ensuring accurate intrinsic parameter determination across varying temperatures.

Benefits of technology

Enables highly accurate image content interpretation and processing by accounting for temperature variations, reducing reprojection errors and ensuring clear, distortion-free images in applications like telepresence and 3D reconstruction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2024023870_16102025_PF_FP_ABST
    Figure US2024023870_16102025_PF_FP_ABST
Patent Text Reader

Abstract

Temperature-based camera characterization implementations are described herein. For example, a system for characterizing a camera module may include a temperature sensor configured to detect temperature associated with the camera module and a computing device communicatively coupled to the camera module and the temperature sensor. The computing device may be configured to perform a characterization sequence including: determining, for a first temperature detected by the temperature sensor, a first value for an intrinsic characteristic of the camera module; determining, for a second temperature detected by the temperature sensor, a second value for the intrinsic characteristic of the camera module; and storing, within a data structure associated with the camera module, intrinsic characterization data for the camera module, the intrinsic characterization data being based on the first value and the first temperature and based on the second value and the second temperature. Corresponding methods and devices are also disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

TEMPERATURE-BASED CAMERAINTRINSICS CHARACTERIZATIONBACKGROUND

[0001] Cameras capture two-dimensional (2D) representations (e.g., still images, video frames, etc.) of the three-dimensional (3D) world by manipulating light from the 3D environment through a system of optics (e.g., one or more lenses, etc.) and capturing that light on a light sensitive image sensor or film. To fully understand and account for the relationship between the 3D world and a 2D image captured by a camera in this way, information represented in the image may be processed, interpreted, translated, decoded, etc., in accordance with known characteristics of the camera. For example, intrinsic characteristics of the camera optics, the image sensor, the relationship betw een these, and / or other elements of the camera may all affect how- the camera represents the 3D world in the 2D images it produces.SUMMARY

[0002] Implementations described herein relate to temperature-based camera characterization. Various intrinsic characteristics of a camera influence and control how the camera converts incoming light from the 3D world into a 2D representation of the world (e.g., a still image, a video frame, etc.). Accordingly, if image content captured by a particular camera is to be relied on as accurately representing the world (e.g., so that the image content can be used to accurately identify and analyze objects, assess depth, generate other representations such as 3D models, etc.), the intrinsic characteristics of the camera may need to be accurately determined and accounted for. To this end, implementations described herein include procedures, systems, tests setups, and so forth that allow7the intrinsic characteristics of a particular camera under test (e g., a camera being manufactured, tested, etc.) to be determined and used. More particularly, since the ambient temperature in which a camera operates may influence the camera operation and the intrinsic characteristics the camera exhibits, implementations described herein relate to characterizing cameras (e.g., assessing their behavior to determine their intrinsic characteristics) in w ays that account for the temperature associated with the cameras during operation.

[0003] As a first example, one implementation described herein involves a systemfor characterizing a camera module. The system may include a temperature sensor configured to detect temperature associated with the camera module. For example, this temperature module may be an ambient temperature of a space in which the camera module is operating, a temperature measured at or near a particular component of the camera module (e.g., less than 10 mm from the camera module, such as less than 5 mm or less than 2 mm away, etc.), and / or another temperature associated with the camera module or a component thereof. Among other potential components, the system may also include a computing device (e.g.. a test computer) that is communicatively coupled to the camera module and the temperature sensor. This computing device may be configured to perform a characterization sequence including, for instance: 1) determining, for a first temperature detected by the temperature sensor, a first value for an intrinsic characteristic of the camera module (e.g., by performing an intrinsic calibration procedure on the camera module when the camera module is at the first temperature); 2) determining, for a second temperature detected by the temperature sensor, a second value for the intrinsic characteristic of the camera module (e.g., by repeating the intrinsic calibration procedure on the camera module when the camera module is at the second temperature), the second temperature being different from the first temperature and the second value being different from the first value; and 3) storing, within a data structure associated with the camera module, intrinsic characterization data for the camera module, the intrinsic characterization data being based on the first value and the first temperature and based on the second value and the second temperature.

[0004] As another example, an implementation described herein involves a method of performing a characterization sequence for a camera module. For example, the method may include: 1) detecting, by a temperature sensor, a first temperature associated with the camera module; 2) determining a first value for an intrinsic characteristic of the camera module while the camera module is at the first temperature; 3) detecting, by the temperature sensor, a second temperature associated with the camera module, the second temperature different from the first temperature; 4) determining a second value for the intrinsic characteristic of the camera module while the camera module is at the second temperature; and 5) storing, within a data structure associated with the camera module, intrinsic characterization data for the camera module, the intrinsic characterization data being based on the first value and the first temperature and based on the second value and the second temperature. It will be understood that this method may be embodied as instructions stored on a non-transitory computer- readable medium of a computing device. As such, the computing device may include at least one processor that executes these instructions of the method to perform or facilitate thecharacterization sequence. The computing device may be included within a system such as the system for characterizing the camera module described above.

[0005] While the system and method described in the example implementations above relate to characterizing the camera module (e.g., for use when the camera module is calibrated and assessed after being manufactured, etc.), other example implementations described herein relate to how characterization data may be put to use by an imaging system that incorporates and / or uses the camera module (e.g.. in the field after the camera module has been manufactured, calibrated and characterized in ways described herein, and deployed as part of the imaging system). For instance, an example method implementation may include: 1) accessing, by an imaging system that includes a camera module, intrinsic characterization data stored in a data structure associated with the camera module, the intrinsic characterization data defining an intrinsic characteristic of the camera module with respect to temperature; 2) detecting an operating temperature associated with operation of the camera module within the imaging system; and 3) determining, based on the intrinsic characterization data and the operating temperature, a value for the intrinsic characteristic of the camera module during the operation of the camera module.

[0006] Various additional operations may be added to these processes and methods as may serve a particular implementation, examples of which will be described in more detail below. Additionally, it will be understood that each of the processes and operations described as being performed by different types of implementations in the examples above (e.g., methods, systems, non-transitory computer readable media, etc.) may additionally or alternatively be performed by other types of implementations as well. For example, the characterization sequence described above as being encoded as instructions stored in the computer readable medium could be performed as a method or could be performed by a processor of a computing device in a camera characterization system. Similarly, the method set forth above could be encoded in instructions stored by a computer readable medium or stored within the memory of the computing device, and so forth.

[0007] The details of these and other implementations are set forth in the accompanying drawings and the description below. Other features will also be made apparent from the following description, drawings, and claims.BRIEF DESCRIPTION OF THE DRAWINGS

[0008] FIG. 1 shows an illustrative implementation of a temperature-based camera characterization system in accordance with principles described herein.

[0009] FIG. 2 shows an illustrative implementation of a temperature-based camera characterization method in accordance with principles described herein.

[0010] FIG. 3 shows an illustrative configuration in which temperature-based camera characterization may be performed in accordance with principles described herein.

[0011] FIG. 4 shows illustrative aspects of how temperature associated with a camera module may be controlled and manipulated during a characterization sequence in accordance with principles described herein.

[0012] FIGS. 5A-5C show illustrative temperature profiles that may be used to characterize a camera module in accordance with principles described herein.

[0013] FIGS. 6A and 6B show illustrative characterization datapoints and associated regression models that may be generated using temperature-based camera characterization sequences in accordance with principles described herein.

[0014] FIG. 7A shows illustrative characterization datapoints and an associated regression model that may be generated at a particular temperature for a plurality of camera states in accordance with principles described herein.

[0015] FIG. 7B shows illustrative characterization datapoints and associated regression models that may be generated for temperature-based camera characterization sequences performed with different camera states of a camera module in accordance with principles described herein.

[0016] FIG. 8 shows an illustrative imaging system that incorporates a camera module that has been characterized using temperature-based camera characterization methods described herein.

[0017] FIG. 9 shows an illustrative method that may be performed by the imaging system of FIG. 8 in accordance with principles described herein.

[0018] FIG. 10 shows an illustrative computing system that may be used to implement various devices and / or systems described herein.DETAILED DESCRIPTION

[0019] Implementations of temperature-based camera characterization are described herein. For any device configured to convert incoming light from the three-dimensional (3D) world into a representation of the world in another format (e.g., a two-dimensional (2D) still image or video frame, a 3D model, etc.), various intrinsic characteristics of the device and how these characteristics affect the ultimate representation being produced may be accounted for. For instance, a camera module configured to capture still or video images of the worldmay be characterized based on several intrinsic parameters that define various aspects of the image content the camera is configured to produce. Various examples of intrinsic parameters will be described in more detail below, but one illustrative example of an intrinsic parameter may be an optical center parameter indicative of an alignment of a focal point of a lens of the camera and a center of an image plane of the image sensor.

[0020] Because the intrinsic characteristics of a given camera module exert influence and control over the output the camera ultimately produces, it may be desirable for intrinsic characteristics to be determined as accurately as possible in order that the images generated by the camera can be accurately interpreted and understood (e.g., by whatever follow-on image processing may be performed using these images). The process of determining intrinsic characteristics of a camera module will be referred to herein as a camera characterization process or as characterizing the camera module. As such, the various steps that may be performed in the course of such a process may be referred to herein as a characterization sequence.

[0021] Even if a camera is accurately characterized in a certain state and at a certain time, a technical problem that may arise relates to the dependence of intrinsic characteristics on certain particularities of the state and time in which they are measured. As one example, certain intrinsic characteristics may change based on a state of the camera module (e.g., an orientation of the camera module, a lens focus state of the camera module defined by a lens distance from an image sensor of the camera module, etc.), such that intrinsic characteristics determined when the camera is in one camera state at a time of manufacturing may not necessarily apply when the camera is in a different camera state at a time of operation. As another example, various intrinsic characteristics may be at least somewhat dependent on a temperature associated with the camera module. As used herein, a temperature associated w ith a camera module may refer to an ambient temperature of the environment in which the camera module is operating, a temperature of a particular element or part of the camera (which may self-heat during operation or may be heated by the external environment, etc.), or another such temperature that may influence intrinsic characteristics of the camera in a detectable way.

[0022] For instance, referring to the optical center parameter mentioned above, this intrinsic characteristic may tend to change between when the camera module is at a first temperature (e.g., a standard room temperature) and when the camera module is at a second temperature (e.g., a warmer temperature) since the temperature increase may cause various structures in the optical system to expand in a w ay that affects the alignment of the lens focalpoint to the center of the image plane. It will be understood that certain camera module designs (e.g.. those with optical elements made of plastic material such as PM MA. polycarbonate, etc.) and certain intrinsic characteristics may be more dependent on temperature than others (e.g., due to larger coefficients of thermal expansion (CTE), different changes of refractive index with temperature (dn / dT), and so forth). Even for designs and intrinsic parameters that tend to remain fairly static over a temperature range, however, the accuracy and precision required by certain applications (e.g., computer vision applications, 3D modeling applications, etc.) may be difficult to achieve without extremely accurate intrinsic parameters.

[0023] Accordingly, to address this technical problem of intrinsic characteristics being dependent on dynamic conditions such as temperature, implementations described herein relate to systems and methods for temperature-based camera characterization that accounts for these temperature dependencies. Certain implementations may also or alternatively include state-based camera characterization (e.g., to reflect intrinsic changes to camera modules with respect to changes in parameters such as lens focus distance or orientation), as will be described and illustrated in more detail below.

[0024] At least one technical solution that is presented herein to address this technical problem involves, for example, characterizing a camera along each of a variety' of dimensions (e.g., determining a variety of different intrinsic parameters) at a plurality of different temperature settings. Characterization data produced by this type of characterization sequence may thus include not only a single set of intrinsic parameters for the camera but may include multiple sets of intrinsic parameters associated with the different temperatures (and, in certain implementations, multiple sets of intrinsic parameters associated with different camera states for each temperature or associated with different temperatures for each camera state). Moreover, as will be further described below, the characterization data may include regression models that are based on the measured data and configured to facilitate accurate predictions of intrinsic characteristics at settings (e.g., temperature settings, state settings, etc.) that may not be explicitly tested for a particular camera module.

[0025] At least one technical effect of this technical solution is that intrinsic parameters used to interpret image content generated by a camera module that has been characterized in this way may be highly accurate regardless of temperature (i.e., since the temperature is taken into account). Conventionally, intrinsic characterization of camera modules has failed to account for how temperature can affect the intrinsic parameters of a camera, meaning that the intrinsic parameters may be at least somewhat inaccurate forinterpreting or processing image content that was captured at temperatures other than the temperature assumed by the specified parameters. Implementations described herein advantageously avoid this problem by accounting for temperature in the ways described herein. As such, image content interpreted and processed in accordance with temperaturebased intrinsic characteristics described herein may be relied on to accurately represent the world so that various tasks can be successfully performed. For example, computer vision operations involving accurately identifying and analyzing objects, precisely assessing depth, generating 3D models and volumetric representations of objects, and so forth, may all greatly benefit from highly accurate intrinsic parameters obtained in the ways described herein.

[0026] Highly accurate, temperature-based intrinsic characterization of cameras may be advantageous for a variety of use cases and applications. In particular, implementations described herein may serve applications that require strict camera calibration and extremely accurate estimation (e.g., with reprojection error of a few pixels or even below one pixel). Some use cases requiring such strict camera calibration may include applications that use 3D content recorded from many cameras simultaneously, such as for telepresence applications (e.g.. 3D teleportation communication systems, etc.), stereo imaging applications, depth estimation for 3D reconstruction, special geometry measurements, and so forth. Implementations described herein allow for dynamic camera models to be generated that account for thermal drift of intrinsic characteristics so that the models may be relied on to reduce reprojection errors within even very tight error budgets, thereby ensuring clear and distortion-free images for use in any of these or other suitable applications.

[0027] Various implementations will now be described in more detail with reference to the figures. It will be understood that particular implementations described below are provided as non-limiting examples and may be applied in various situations. Additionally, it will be understood that other implementations not explicitly described herein may also fall within the scope of the claims set forth below. Systems and methods described herein for temperature-based camera characterization may result in any or all of the technical effects mentioned above, as well as various additional effects and benefits that will be described and / or made apparent below.

[0028] FIG. 1 shows an illustrative implementation of a temperature-based camera characterization system 100 in accordance with principles described herein. It will be understood that while the implementation of camera characterization system 100 illustrated in FIG. 1 shows certain features and attributes that may be present in certain examples, other features and attributes not included as part of this implementation and / or not explicitlyillustrated in FIG. 1 may also be present in other implementations of camera characterization system 100 (as will be described below in reference to various additional example implementations).

[0029] One role of this and other implementations of camera characterization system 100 may be to characterize various camera units (units under test (UUTs)) such as may be produced by a manufacturing facility’ or the like. It will be understood that such UUTs may not be considered part of the test system (e.g.. camera characterization system 100) per se. even though the UUT may generally be in place whenever the test system operates to perform a characterization sequence. In the example of FIG. 1, the camera unit under test is illustrated as a camera module 102 that is outlined with a different line style (double lines with rounded comers) to visually distinguish the UUT from other elements and aspects of the test system (i.e., camera characterization system 100) itself.

[0030] Camera module 102 may represent any suitable components of a camera unit as may sen e a particular implementation. For instance, camera module 102 may include a camera element that includes an image sensor chip for detecting light and converting the light to a digital signal, as well as an optical system (e.g., one or more lenses, waveguides, or other optical elements) for focusing and directing the light to the image sensor chip, a control board (e.g., an integrated circuit board) with processing resources configured to control the camera element (e.g., to cause the camera element to capture an image, to process and produce image data captured by the camera elements, etc.), a flexible printed circuit (FPC) connecting the camera element and the control board, a power supply, and / or any other components as may serve a particular implementation. In some examples, each of the camera module components mentioned above may be considered part of camera module 102 and, as such, may be switched out for corresponding components when a new UUT is to be tested. In other examples, certain components of the camera module may instead be included as part of camera characterization system 100, such that they are not switched out when a new UUT is to be tested. For instance, only some of the components (e.g., only the optical system, only the image sensor chip, only the camera element with the optical system and the image sensor chip, etc.) may be tested during certain charactenzation sequences such that only these components (and not the other components such as the control board or the power supply) are switched out when it comes time to characterize a new camera module UUT.

[0031] Once characterized by camera characterization system 100 in accordance with characterization sequences described herein, the camera module 102 may be configured to be deployed and used in any manner and / or as part of any device. For instance, in someexamples, camera module 102 may be configured to serve as a standalone camera device. In other examples, camera module 102 may be integrated as a camera that is part of another device (e.g., a mobile device that performs other functions, etc.). As will be described in more detail below, certain camera modules 102, after being characterized by an implementation of camera characterization system 100, may be included within imaging systems that are configured to rely on highly accurate cameras. For instance, such imaging systems may be configured to perform any of the use cases or applications mentioned above including, for example, 3D communication (e g., for a teleportation or telepresence system), 3D imaging (e.g., for a medical use case, etc.), or the like.

[0032] As shown in FIG. 1, this implementation of camera characterization system 100 may include a temperature sensor 104 and a computing device 106 that is communicatively coupled to the camera module 102 and to temperature sensor 104. Temperature sensor 104 may be implemented by any suitable device configured to detect temperature associated with the camera module 102. For instance, temperature sensor 104 may include or be implemented by a thermocouple, resistance temperature detector (RTD), infrared thermometer, thermistor, digital temperature integrated circuit sensor, or another suitable temperature sensor. In some examples, temperature sensor 104 may represent a combination of two or more of these temperature sensor examples, or, in other words, camera characterization system 100 may include a plurality of temperature sensors. It may be useful to employ multiple temperature sensors for various reasons, including, for example, that different temperature sensors may be placed at different locations with respect to camera module 102. For instance, a first temperature sensor could be located at an image sensor of camera module 102, a second temperature sensor could be located at or near a lens of camera module 102, a third temperature sensor could be located externally to (but near) camera module 102 (e.g., to measure ambient temperature in the vicinity), and so forth. For the temperature associated with camera module 102 that is to be recorded (i.e., the temperature that will be associated with a particular intrinsic value measurement), any of the temperatures measured by this plurality of sensors may be employed. Additionally or alternatively, the temperature recorded for a given test may be a mean average of the temperatures from the plurality of temperature sensors; a highest, lowest, or median value of the detected temperatures from the plurality of temperature sensors; or another detected or derived temperature value as may serve a particular implementation.

[0033] Once a temperature is measured or otherwise determined by the one or more temperature sensors (e.g., by temperature sensor 104), computing device 106 may carry outany characterization sequence described herein to generate and store characterization data 108 (also referred to as intrinsic characterization data) in a data structure 109 associated with camera module 102 (e.g., a lookup table, a calibration file with raw measurement data and / or regression models such as described in more detail below, etc.) based on a plurality of temperature readings 110 obtained from temperature sensor 104 and based on captured data 112 (e.g., image data, metadata, etc., obtained from the camera module 102).

[0034] For example, as part of one illustrative characterization sequence for the camera module 102 shown in FIG. 1, computing device 106 may perform operations including: 1) determining, for a first temperature detected by temperature sensor 104, a first value 114-1 for an intrinsic characteristic of the camera module 102; 2) determining, for a second temperature detected by temperature sensor 104, a second value 114-2 for the intrinsic characteristic of the camera module 102; and 3) storing, within data structure 109, characterization data 108 for camera module 102, the characterization data being based on (e.g., including, being derived from, etc.) value 114-1 and the first temperature and based on value 114-2 and the second temperature. Characterization data 108 is depicted in FIG. 1 in a visual form by a graph that shows the various temperatures readings 110 along the x-axis ("Temperalure") and the values of a particular intrinsic characteristic along the y-axis (“Intrinsic Characteristic”). As shown in the graph, the second temperature associated with second value 114-2 may be different from the first temperature associated with first value 114-1, just as the second value 114-2 is different from the first value 114-1. In other words, the graph shows that the particular intrinsic characteristic being depicted is dependent on, or changes with, the temperature associated with the camera module 102.

[0035] Characterization data 108 may be generated based on temperature readings 110 and corresponding captured data 112 in a variety of ways described in more detail below. While FIG. 1 illustrates characterization data 108 using a two-dimensional graph of a particular intrinsic characteristic as a function of temperature, it will be understood that characterization data 108 may be represented in any manner as may serve a particular implementation (e.g., based on the nature of the intrinsic characteristic, based on how the system is implemented, etc.). As one example, characterization data 108 may be maintained (e g., stored in non-transitory storage, loaded in transitory memory, etc.) in data structure 109 (e.g., a lookup table, calibration file, or other suitable structure configured to correlate certain temperature readings with certain values of the intrinsic characteristic). Certain sets of characterization data 108 may include not only a list of temperature-value datapoints (such as illustrated by values 114-1 and 114-2 in the graph of FIG. 1), but also a model, function, orother dataset stored within data structure 109 to facilitate the determination of intrinsic parameters for temperatures that may or may not have been explicitly tested. For example, as will be described in more detail below, a regression model (e.g., a linear regression model, a non-linear regression model, etc.) may be generated based on the measured datapoints and stored within data structure 109 as part of characterization data 108 to allow other temperature-value datapoints not explicitly measured to be derived or extrapolated.

[0036] The graph shown in FIG. 1 represents one generic intrinsic characteristic that may be mapped to temperature for the camera module 102. It will be understood, however, that a plurality of several intrinsic characteristics may be characterized, tested, and mapped to temperature using the principles described herein. Moreover, characterization data 108 (e.g., datapoints such as illustrated by values 114-1 and 114-2 in the graph, regression models such as mentioned above and as will be illustrated in more detail below, etc.) defining each of these intrinsic characteristics with respect to temperature may be generated and stored by computing device 106 (e.g., within the data structure 109 that is associated with the particular camera module 102). The intrinsic characteristics analyzed and characterized by camera characterization system 100 in these ways may include any suitable intrinsic characteristics, including those relating only to certain elements of the camera module 102 (e.g., relating to a particular lens or to the camera optics system more generally) as well as those relating to the camera module 102 as a whole (e.g.. relating to relationships between different elements such as the alignment of the optics to the image sensor mentioned as an example above).

[0037] As used herein, an intrinsic characteristic of a camera module may thus be understood to refer to any attribute or property of the camera module that is inherent or unique to the camera module (e.g., based on the construction of the camera module, the materials from which the camera module is constructed, the geometry or spatial relationship of elements of the camera module, etc.) and that influences how the world is projected onto the image plane of the camera module. Intrinsic characteristics of the camera module 102 may hence include attributes specific to the camera module 102 such as, for example: 1) a focal length (f) indicative of a distance between a focal point of a lens of the camera module 102 and an image plane of the camera module; 2) an optical center (cx, cy) indicative of an alignment of the focal point of the lens and a center of the image plane of the image sensor; 3) a distortion parameter (e.g., a set of distortion coefficients such as radial distortion coefficients ki, k2, and ks, tangential distortion coefficients pi. and pi. etc.) indicating a deviation of the lens from an ideal pinhole camera lens; or other characteristics (e.g.. pixel size, sensor skew' or tilt of the image plane with respect to the optical axis, etc.).

[0038] While each of these intrinsic characteristics may be influenced and changed based on the temperature associated with the camera module 102 at a particular time and based on certain aspects of the camera state as will be described in more detail below (e.g., a focus state of the camera, an orientation of the camera, etc.), it will be understood that the intrinsic characteristics are otherwise essentially static characteristics of the camera module. As such, intrinsic characteristics such as those described above may be distinguished from other characteristics and attributes of the camera module that are specifically adapted to be intentionally configurable such as relationships between different optical elements and the image plane that allow the camera module to focus, zoom, and so forth. While these ty pes of characteristics may also be dependent on temperature (such that it may be desirable to account for temperature in the design of a zoom or auto-focus feature for the camera module), such configurable, non-fixed characteristics would not generally be considered to be intrinsic characteristics of the camera module as that term is used herein.

[0039] FIG. 2 shows an illustrative implementation of a temperature-based camera characterization method 200 in accordance with principles described herein. For example, method 200 may be one example of a method of performing a characterization sequence for a particular camera module (e.g., the camera module 102 described above). While method 200 shows illustrative operations 202-210 according to one implementation, it will be understood that other implementations of method 200 could omit, add to, reorder, and / or modify any of operations 202-210 shown in FIG. 2. In some examples, multiple operations shown in FIG. 2 or described in relation to FIG. 2 may be performed concurrently (e.g., in parallel) with one another, rather than being performed sequentially as illustrated and / or described. Each of operations 202-210 of method 200 will now be described in more detail as the operations may be performed by an implementation of camera characterization system 100 that is characterizing a particular camera module (as a unit under test).

[0040] At operation 202, the camera characterization system 100 may detect a first temperature associated with the camera module. For example, as mentioned above, this detection may be performed using one or more temperature sensors of camera characterization system 100 (e.g., temperature sensor 104). The first temperature may represent an ambient temperature in which the camera module is operating, a temperature detected at a particular component of the camera module (e.g., near a lens or image sensor of the camera), an average of these and / or other temperatures measure in and around the camera module, and / or another suitable temperature described herein to be associated with the camera module.

[0041] At operation 204, the camera characterization system 100 may determine a first value for an intrinsic characteristic of the camera module while the camera module is at the first temperature. For example, as will be described in more detail below, a computing device such as computing device 106 may determine the first value based on captured data received from the camera module (e.g., captured data 112) that includes a captured image of a known calibration pattern. Based on that image and a previous understanding of the calibration pattern depicted, the first value of the intrinsic characteristic may be determined as the value that corresponds with the first temperature detected at operation 202. For instance, operation 204 may including performing a calibration procedure for the camera module by capturing one or more images of the calibration pattern (e.g., a calibration chart or another suitable calibration object) and calculating one or more intrinsic parameters (e.g., focal length, optical center, distortion coefficients, and / or other intrinsic parameters) based on how the captured image(s) compare to know n characteristics of the calibration pattern.

[0042] At operation 206, camera characterization system 100 may detect a second temperature associated with the camera module. The second temperature may be different from the first temperature. For instance, if the first temperature was a comfortable room temperature at which the camera module may be expected to operate, the second temperature may be a w armer or colder temperature that may be encountered by the camera module as it warms up past the room temperature, as it is used in unusually warm or cold environments, or the like. As with the detection of the first temperature at operation 202. the detection at operation 206 of the second temperature may be performed using one or more temperature sensors such as temperature sensor 104. Though the second temperature associated with the camera module may be a different value (e.g., w armer or colder) than the first temperature, both temperatures may represent an equivalent measurement (e.g., a measurement of the ambient temperature of the environment, a measurement of temperatures at the same component of the camera module, a same averaging or derivation from measured temperatures, etc.).

[0043] At operation 208. the camera characterization system 100 may determine a second value for the intrinsic charactenstic of the camera module w hile the camera module is at the second temperature. For example, the second value may be determined in the same way as described for the first value of the intrinsic characteristic determined at operation 204 (e.g., based on a captured image depicting a known calibration pattern, such as by performing the same calibration procedure for the camera module using a second capture image or second set of capture images to obtain the same intrinsic parameters mentioned above). Due to thedifference between the first and second temperatures, however, the second value determined for the intrinsic characteristic may be different from the first value determined at operation 204.

[0044] At operation 210, the camera characterization system 100 may store intrinsic characterization data for the camera module within a data structure (e.g., data structure 109) associated with the camera module. For example, the data structure may include one or more files that will be stored by or otherwise associated with the camera module after the characterization sequence so as to indicate the characterization data (with respect to temperature) to any person or system using the camera module. The characterization data stored in the data structure may be based on the first value and the first temperature (forming a first datapoint such as illustrated by value 114-1 above), based on the second value and the second temperature (forming a second datapoint such as illustrated by value 114-2 above), and based on other similar datapoints as may have been measured in a given characterization sequence. As described in relation to characterization data 108, the characterization data generated at operation 210 may include any suitable number of datapoints (e.g., including more than the two explicitly described in this example) formatted and stored using any type of data structure as may serve a particular implementation (e.g., a lookup table stored in memory', a file stored on a non- transitory medium, etc.). Additionally, as will be described and illustrated in more detail below, the characterization data stored at operation 210 may further include modeling one or more intrinsic characteristics to facilitate extrapolation from the limited data that has been explicitly measured from the camera module. For example, the characterization data may further include one or more regression models based on the measured intrinsic characteristic datapoints.

[0045] Method 200 represents at least part of a characterization sequence (which may possibly further include characterizing the camera module at additional temperatures, for additional intrinsic characteristics, etc.) that may be performed with respect to a particular camera module, such as a camera module that has been manufactured and is to be offered for sale alone or as part of a product (e.g., as part of an imaging system such as any of the examples described herein). It may be desirable for this characterization sequence to take a short amount of time so that the testing of each camera module can be efficient, and more modules may be characterized in a given amount of time. Accordingly, over time, it may be determined that certain temperatures or temperature ranges are more important to characterize than others. For example, it may be learned that for a given type of camera module and / or a given intrinsic characteristic, the intrinsic characteristic values do not tend tochange much in a certain temperature range and do tend to be more volatile in another temperature range. These types of observations and determinations may lead to greater efficiency and improvements in the characterization sequence over time. Similarly, observations over time that different materials, lens shapes, camera designs, etc., tend to produce certain temperature dependencies for certain intrinsic characteristics may lead to learning that may further increase the efficiency of characterization sequences. Accordingly, both system-level characterization and unit-level characterization may be achieved using similar characterization sequences based on principles such as illustrated by method 200.

[0046] FIG. 3 shows an illustrative configuration 300 in which temperature-based camera characterization may be performed in accordance with principles described herein. As shown, elements of camera characterization system 100 described above such as temperature sensor 104 and computing device 106 are included in configuration 300 together with a camera module 102 that will be understood to be the unit under test in this example. However, additional detail is included in illustrative configuration 300 to further illustrate how the temperature-based camera characterization may be accomplished.

[0047] For example, computing device 106 is shown to include additional details such as a processor 302 that will be understood to represent one or more processors or other suitable processing resources of the computing device, as well as a memory 304 that will be understood as representing any transitory or non-transitory computer storage for maintaining instructions and data. As shown, for instance, memory 304 may include instructions embodying a characterization sequence 306 (e.g., a sequence including operations such as those described above in relation to method 200), as well as data structures (e.g., lookup tables, regression models, etc.) implementing characterization data 108 (also described above). An implementation of temperature sensor 104 is shown to be associated with the camera module 102 so that it may provide the plurality of temperature readings 110 as the camera module 102 provides captured data 112 such as described above. As mentioned above, a combination of multiple temperature sensors may implement this temperature sensor 104 in certain implementations.

[0048] Configuration 300 shows that the camera module 102 may include a field of view 308 allowing the camera module 102 to capture images of a calibration chart 310 positioned within the field of view 308 during characterization sequence 306. Calibration chart 310 may be considered part of camera characterization system 100 in certain examples, as may other elements described herein such as a control board for the camera module 102, a power supply for the control board, and so forth. Also shown to be included in illustrativeconfiguration 300 (e.g., as a part of camera characterization system 100) is a light source 312 configured to illuminate calibration chart 310 during characterization sequence 306. For example, light source 312 may be implemented by an omnidirectional light source (e.g., a light bulb, etc.) or a more directional light source (e.g., a panel or strip of LEDs configured to illuminate calibration chart 310) that operates in a flicker-free and / or other particular manner.

[0049] Calibration chart 310 may depict any suitable calibration pattern or patterns (e.g.. Calibu patterns, ChArUco patterns, etc.) for use in any of the ways described herein. Additionally, as shown, calibration chart 310 may include two parts (e.g., two separate charts or two elements of the same chart) that are placed in a V-shaped configuration such that the parts are not parallel to one another. Whatever patterns may be employed in calibration chart 310, computing device 106 may be configured to compare the expected calibration pattern with what is depicted in images being captured by the camera module 102 to thereby determine various intrinsic characteristics of the camera module 102. For example, computing device 106 may determine estimation errors quantified by reprojection error between what is observed in the images and what would be expected based on the system's foreknowledge of the calibration patterns. For example, a reprojection error may be computed as a Euclidean distance between a point detected in a calibration image (e.g., one of images 314-1 through 314-3) and a corresponding world point projected into the same image.

[0050] Characterization sequence 306 may direct the camera module 102 to capture a first image 314-1 while temperature sensor 104 is detecting a first temperature a second image 14-2 while the temperature sensor is detecting the second temperature, and so forth. Accordingly, computing device 106 may determine a first value for an intrinsic characteristic based on first image 314-1, determine a second value for the intrinsic characteristic based on second image 314-2. and so forth. More particularly, as shown, first image 314-1 may be captured by the camera module 102 at a time T1 (’‘Time: T1 ”) and may be provided to computing device 106 as part of captured data 112. Computing device 106 may then correlate first image 314-1 with a temperature reading 110 received from temperature sensor 104 at that same time Tl. Accordingly, any intrinsic characteristics that may be derived from image 314-1 may be associated with the relevant temperature in characterization data 108. Likewise, at a later time T2 (“Time: T2”) when the temperature detected by temperature sensor 104 has changed, the camera module 102 may provide image 314-2 as part of captured data 112. While image 314-2 may depict calibration chart 310 in a nearly identical way as image 314-1, the change in temperature may lead to slight differences between images 314-1 and 314-2 that computing device 106 may analyze and attribute to temperature-based changes to one ormore intrinsic characteristics of the camera module 102. Results of this analysis, as well as other similar analyses based on other images at other times for other temperatures (e.g., image 314-3 at time T3, etc.), may be represented in characterization data 108 in the ways that have been described.

[0051] In some implementations, certain temperature-dependent characteristics of the camera module 102 other than intrinsic characteristics may also be characterized as part of characterization sequence 306. In some cases, this characterization could be performed concurrently with the intrinsic parameter characterization, while in other cases this characterization may be performed separately (e.g., after the intrinsic parameter characterization is complete).

[0052] As one example of another ty pe of characterization that may be performed for camera modules under test such as the camera module 102, a spatial frequency response characterization may be performed. For instance, to allow an image quality7spatial frequency response characterization to be performed concurrently with the intrinsic parameter characterization during characterization sequence 306, calibration chart 310 may not only be configured to facilitate determining one or more intrinsic characteristics of the camera module 102 but may further be configured to facilitate determining a spatial frequency7response of the camera module 102. In this case, characterization sequence 306 may further include (along with operations described above for the intrinsic parameter characterization): determining, based on first image 314-1 and in parallel with determining the first value for the intrinsic characteristic, a first response value for the spatial frequency response of the camera module 102; determining, based on second image 314-2 and in parallel with determining the second value for the intrinsic characteristic, a second response value for the spatial frequency response; and so forth for the remainder of the images provided in captured data 112 (e.g., image 314-3, etc.). Based on these datapoints (e.g., the first response value and the first temperature, the second response value and the second temperature, etc.), characterization sequence 306 may further include generating response data (similar to or part of characterization data 108) for the spatial frequency response of the camera module 102.

[0053] As another example of a type of characterization that may be performed for camera modules under test such as camera module 102, characterization of certain camera states may be performed. For example, as mentioned above, along with varying according to temperature, certain intrinsic parameters may also vary according to certain aspects of the camera's state, such as how the camera is oriented in space, how the camera is set to focus (e.g., how far a lens of the camera module is positioned from an image sensor of the cameramodule), and so forth. As will be described and illustrated in more detail below, each of these state-based aspects may be characterized in addition to or as an alternative to the temperaturebased characterization described herein. For instance, at a given temperature, intrinsic parameters associated with several different focus distances for a lens of the camera module may be measured (before moving to another temperature and repeating the process in certain implementations). As another example, at a given focus distance for the lens, intrinsic parameters associated with several different temperatures may be measured (before moving to another focus distance and repeating the process in certain implementations).

[0054] FIG. 4 shows illustrative aspects of how temperature associated with a camera module under test (e.g., the camera module 102 that has been described in relation to other examples above) may be controlled and manipulated during a characterization sequence such as characterization sequence 306. More particularly, as shown, the camera module 102 may be at least somewhat isolated from the rest of the environment to allow for greater temperature stability and, in some cases, temperature control during characterization sequence 306. FIG. 4 shows that one aspect of this isolation may include an enclosure 402 that is configured to contain the camera module 102 without blocking field of view 308 of the camera module 102 during characterization sequence 306. In this example, for instance, enclosure 402 is shown to include a cover glass 404 that allows light to pass through from the environment (e.g., from calibration chart 310) to camera module 102. Accordingly, field of view 308 is depicted as passing through cover glass 404, which may be implemented by a transparent material that reflects or resists heat transfer (e.g., disallowing the passage of air, etc.) while allowing light to pass through uninhibited.

[0055] Enclosure 402 illustrates one way that the camera module 102 may be isolated during characterization sequence 306, but it will be understood that other means of isolation may additionally or alternatively be employed to achieve the same types of objectives (e.g., to stabilize and / or control the temperature associated with the camera module 102 and to help ensure that highly accurate intrinsic parameter measurements can be made). For example, in addition or as an alternative to being enclosed within enclosure 402, the camera module 102 may be operated with a passive vibration isolation system (e.g.. such that high frequency vibrations are minimized), may be placed in a dark room (e.g., with no windows and a closed door, with black curtains at the door to avoid stray light reaching the optical path of the camera system, etc.), or the like.

[0056] Along with including temperature sensor 104 (implemented by one or more temperature sensors, as described above) for detecting the temperature associated with thecamera module 102, camera characterization system 100 may further include a temperature control device 406 that is communicatively coupled to computing device 106 and configured to purposely affect, influence, or otherwise control the temperature associated with the camera module 102. In FIG. 4, temperature sensor 104 and temperature control device 406 are adjacent to one another and illustrated as including one line (e.g., a wire or cable, etc.) extending out of enclosure 402 toward characterization sequence 306. This will be understood to illustrate that, in some examples, the same device may be configured to both detect (e.g., sense) the temperature and exert at least some control over it. For example, temperature control device 406 may include or be implemented by an external heater that is placed in the vicinity of the camera module 102 (e.g., either inside or outside enclosure 402) and is configured to heat up the camera module 102 (e.g.. to a particular temperature as measured by a feedback sensor in the heater). As another example, temperature control device 406 may include or be implemented by a thermoelectric cooler (TEC) that may likewise be placed in the vicinity of the camera module 102 (e.g., either inside or outside enclosure 402) to set the camera module 102 to a selected temperature (e.g., again, as measured by a feedback sensor in the TEC that may also implement temperature sensor 104). Temperature control device 406 may additionally or alternatively include or be implemented by other ty pes of thermal controllers as may serve a particular implementation.

[0057] As characterization sequence 306 is performed by camera characterization system 100, temperature sensor 104 and temperature control device 406 may be used to control the temperature associated with the camera module by, for instance, directing temperature control device 406 to bring the camera module 102 to a first temperature prior to determining a first value for the intrinsic characteristic, directing temperature control device 406 to bring the camera module 102 to a second temperature prior to determining a second value for the intrinsic characteristic, and so forth.

[0058] A dashed arrow labeled as heat transfer 408 represents still other ways that the temperature associated with the camera module 102 may be influenced and / or controlled during the performance of a characterization sequence by camera characterization system 100. Specifically, heat transfer 408 may represent a heat transport device configured to draw heat away from the camera module 102 during the characterization sequence. For instance, heat transport devices used to implement heat transfer 408 may include at least one of a heat sink, a length of thermal tape (e.g., graphite tape, etc.), a fan (e.g., for heat convection purposes, etc.), or the like. Heat transfer 408 is shown to draw heat away from camera module 102 and outside of enclosure 402 in this example, though it will be understood that.in certain examples, no enclosure may be used and / or these ty pes of heat transport devices may be configured to transfer heat away from the entire camera setup (e.g.. from the enclosure rather than just from the camera module 102).

[0059] Using the various principles and thermal devices described in relation to FIG. 4 (e.g., enclosure 402 and other isolation measures, temperature control device 406, heat transport devices associated with heat transfer 408, etc.), camera characterization system 100 may characterize various intrinsic characteristics across a range of temperatures associated wi th a given camera module 102. In some examples, the range of temperatures tested may be substantially continuous. For instance, the intrinsic characteristics may be repeatedly assessed as a continuous ramp-up of temperature is applied to the camera module. In other examples, the range of temperatures tested may be configured with discrete temperature values. For instance, the intrinsic characteristics may be assessed at predetermined temperatures that are purposely set before each measurement is taken.

[0060] To illustrate, FIGS. 5A-5C show illustrative temperature profiles including a temperature profile 500-A in FIG. 5A. a temperature profile 500-B in FIG. 5B, and a temperature profile 500-C in FIG. 5C, which may be used to characterize a camera module in accordance with principles described herein.

[0061] First, in the example of temperature profile 500-A in FIG. 5A, the controlling of the temperature associated with the camera module is shown to include increasing the temperature associated with the camera module in accordance with a continuous temperature ramp 502 that rises over time. It will be understood that the controlling of the temperature could likewise include decreasing the temperature associated with the camera module in accordance with a similarly continuous temperature ramp that slopes downward. In either case, each of the temperatures of interest (e.g., including the first temperature and the second temperature explicitly mentioned in examples above) may be included on the temperature ramp. While temperature ramp 502 is shown to be linear, a non-linear curve (e.g., accelerating upwards or downwards, etc.) could also be employed as may serve a particular implementation.

[0062] In the example of temperature profile 500-B in FIG. 5B. the controlling of the temperature associated with the camera module is shown to include driving the temperature associated with the camera module to a sequence of discrete temperatures 504. For example, the sequence of discrete temperatures may include each of the temperatures of interest (such as the first temperature and the second temperature explicitly mentioned in examples above). As has been described, these temperatures of interest represented by the temperatures 504may be modified over time based on a learning process, such as when it is observed (e.g., for a particular type of camera module) that certain temperatures tend to lead to more significant changes in intrinsic characteristic values than others. While the sequence of discrete temperatures 504 is shown to be monotonically ascending in the example of temperature profile 500-B, it will be understood that other temperature profiles could monotonically descend or include both rising and falling segments.

[0063] In the example of temperature profile 500-C in FIG. 5C. the controlling of the temperature associated with the camera module is again shown to include driving the temperature associated with the camera module to a sequence of discrete temperatures 506 of interest (e.g., similar to temperatures 504 shown in FIG. 5B). However, since the ideal step function illustrated in FIG. 5B may not be practical or possible to achieve in a real-world scenario, temperature profile 500-C illustrates that the driving of the temperature associated with the camera module to each particular discrete temperature 506 of the sequence of discrete temperatures 506 may include both: 1) identifying the particular discrete temperature, and 2) monitoring the temperature associated with the camera module (using the temperature sensor) until an equilibrium is achieved at the particular discrete temperature. For example, as shown, a transition period 508 for each discrete temperature 506 is shown to precede an equilibrium period 510 for each discrete temperature 506 where the temperature holds steady at the desired value so that the intrinsic characteristic value may be determined (e.g.. an image may be captured and provided to the computing device for analysis). While transition periods 508 in FIG. 5C show an overdamped approach in which the temperature rises relatively slowly until reaching the desired temperature, it will be understood that an underdamped approach could alternatively be employed in which the temperature rises more quickly to reach the desired temperature, but where the temperature may overshoot slightly and come into the thermal equilibrium thereafter.

[0064] As mentioned above, characterization data 108 comprising specific intrinsic parameters (i.e., measured values for intrinsic characteristics) with respect to temperature may be stored and formatted using suitable data structures such as lookup tables and the like. While this type of data may be useful for setting intrinsic parameters of a camera module for certain temperatures that have been explicitly analyzed, however (e.g., temperatures included on the continuous temperature ramp 502 of FIG. 5 A, temperatures from the sequences of discrete temperatures 504 or 506 of FIGS. 5B and 5C, etc.), it may not be practical or desirable (e.g., worth the test time) to explicitly determine the full set of intrinsic parameters for every temperature that a camera module may encounter. Accordingly, temperature-basedmodeling of various intrinsic characteristics may be useful to allow intrinsic parameters to be extrapolated or estimated for temperatures that may be encountered by a camera module but that may not correspond to any particular entry in a lookup table that has been generated (i. e. , do not correspond to any particular measurement that has been performed during the characterization sequence).

[0065] To illustrate examples of how such modeling may be performed, FIGS. 6A and 6B show illustrative characterization data and associated regression models that may be generated using temperature-based camera characterization sequences in accordance with principles described herein. More particularly, FIG. 6A shows a graph 600-A and FIG. 6B shows a graph 600-B. Both of these graphs 600-A and 600-B are shown to depict various datapoints 602 that will be understood to each represent a determined value for a particular intrinsic characteristic (as indicated by the y-axis labeled "‘Intrinsic Characteristic”) at a particular temperature (as indicated by the x-axis labeled “Temperature”). While datapoints 602 cover a number of specific temperatures over a particular temperature range, it will be understood that a camera module could encounter temperatures between these datapoints and / or outside of this range, such that even if a lookup table were created with all the information of datapoints 602, certain temperatures could be encountered that would have no entry7in that lookup table. Moreover, there may be various constraints making it difficult to even obtain as many datapoints 602 as are shown in these examples. For a manufacturing line producing a large number of camera modules, for example, it may not be practical for a characterization sequence to gather so many datapoints over such a large range, since, for example, it may take several minutes for the temperature to settle at each desired discrete temperature or for the temperature to be moved across the range. As a result, any lookup table that may be constructed from actual datapoints may include insufficient entries to cover every situation that the camera module may be expected to encounter.

[0066] Accordingly, the generating of characterization data for an intrinsic characteristic may include, along with determining certain datapoints 602, constructing a regression model (e.g.. regression model 604-A in the example of FIG. 6A. regression model 604-B in the example of FIG. 6B) that is configured to facilitate prediction of the intrinsic characteristic of the camera module for certain additional temperatures not detected by7the temperature sensor during the characterization sequence. For example, these regression models 604-A and 604-B may be generated based on respective datapoints 602, or. in other words, based on measured values of the intrinsic characteristic and their corresponding temperatures. If a temperature is encountered that does not correspond to any particularmeasured value (i. e. , any particular datapoint 602), a good estimate for the intrinsic parameter at that temperature may be determined using a suitable regression model (e.g., one of regression models 604-A or 604-B), since these may extend beyond the tested temperature range and may be continuous (covering every possible temperature value) within the range, as shown.

[0067] Regression models generated in these ways may be constructed as linear regression models, such as illustrated by regression model 604-A in FIG. 6A, or as non-linear regression models, such as illustrated by regression model 604-B in FIG. 6B. Additionally, depending on the intrinsic characteristic analysis that is performed to generate each of the datapoints 602. it will be understood that different regression models may be constructed for each of a variety of intrinsic characteristics (e.g., including any of the intrinsic characteristics described herein). For instance, regression models 604-A and 604-B may each represent any of: 1) a focal length model configured to facilitate prediction of a distance between a focal point of a lens of the camera module and an image plane of the camera module w hen the camera module is at the additional temperature; 2) an optical center model configured to facilitate prediction of an alignment of the focal point of the lens and a center of the image plane when the camera module is at the additional temperature; 3) a distortion parameter model configured to facilitate prediction of a deviation of the lens from an ideal pinhole camera lens when the camera module is at the additional temperature; or 4) a combination of these or any other suitable model for any of the intrinsic characteristics described herein. Any of these regression models may be used to perform any of the calibration operations described herein, such as computing reprojection errors for captured images.

[0068] As mentioned above, since intrinsic parameters of a camera module may vary with various aspects of the camera state other than temperature, it may be desirable to characterize the camera module with respect to these state-based aspects in addition to or as an alternative to the temperature-based characterization described herein. For example, it may be convenient and provide certain efficiencies to perform state-based characterization in connection with temperature-based characterization.

[0069] To illustrate, FIG. 7 A shows a graph 700-A that, similar to graphs 600-A and 600-B, depicts various datapoints 702 that will each be understood to represent a determined value for a particular intrinsic characteristic (as indicated by the y-axis labeled “Intrinsic Characteristic’'). However, rather than indicating the intrinsic characteristic at a particular temperature as datapoints 602 do in FIGS. 6A-6B, datapoints 702 will be understood to represent the intrinsic characteristics at different camera states for a given temperature (asindicated by the x-axis labeled “Camera State (Fixed Temperature)”).

[0070] The camera state represented along the x-axis may refer to any aspect of the camera module that, when changed, may influence the intrinsic characteristics of the camera in a way that can be measured and accounted for. As has been mentioned, one example of such a camera state may be a lens focus state defined as a distance of a lens of the camera module from an image sensor, which may be configurable to change the focus of the camera. Other example camera states mentioned herein (e.g., an orientation of the camera, etc.) may also be accounted for to the extent that they similarly influence the intrinsic characteristics of the camera module.

[0071] While datapoints 702 in FIG. 7A are shown to cover several specific camera states, it will be understood that certain camera states may be binary or otherwise limited to a discrete number of states. Other camera states may vary continuously over a range in a manner similar to temperatures, such that a camera module could encounter states (e.g., focus distances) between the datapoints and / or outside of the range represented in the figure. As such, even if a lookup table were created with all the information of datapoints 702, certain states in this example could be encountered that would have no entry in that lookup table.

[0072] Consequently, and for similar reasons as described above with respect to temperature, the generating of state-based characterization data for an intrinsic characteristic may include constructing a regression model 704-A that is configured to facilitate prediction of the intrinsic characteristic of the camera module for certain additional states not explicitly measured during the characterization sequence. For example, regression model 704-A may be generated based on respective datapoints 702, or, in other words, based on measured values of the intrinsic characteristic in the various camera states (e.g., a different lens focus states of the camera module, etc.). If a camera state (e.g.. lens focus distance, a particular orientation, etc.) is encountered that does not correspond to any particular measured value (i.e., any particular datapoint 702), a good estimate for the intrinsic parameter in that camera state may be determined using a suitable regression model such as regression model 704-A. As with regression models 604-A and 604-B described above, a regression model for camera state may be constructed as a linear or non-hnear regression model.

[0073] FIG. 7B shows a graph 700-B depicting illustrative characterization datapoints 702-B-l and 702-B-2 and associated regression models 704-B-l and 704-B-2 that may be generated for temperature-based camera characterization sequences performed with different camera states of a camera module in accordance with principles described herein. As such, graph 700-B is similar to graph 700-A, except that temperature is illustrated along the x-axisand respective datapoints 702-B-l and 702-B-2 are shown to be measured for different camera states. More particularly, for instance, datapoints 702-B-l may be detected for a first camera state (“Camera State 1”) such as a first lens focus state or a first orientation of the camera module, while datapoints 702 -B-2 may be detected for a second camera state (“Camera State 2”) such as a second lens focus state or a second orientation of the camera module, and so forth for any suitable number of states. FIG. 7B further shows that respective regression models (linear or non-linear) may be constructed for these respective sets of datapoints. Specifically, as shown, a regression model 704-B-l may be constructed as a function of temperature for the first camera state, and a regression model 704-B-2 may be constructed as a function of temperature for the second camera state.

[0074] It will be understood that, in certain examples, additional regression models may be constructed as a function of temperature for additional camera states not explicitly represented in FIG. 7B. It will also be understood that regression models may additionally or alternatively be constructed as a function of camera state for discrete temperatures. For example, this may be visualized by imagining multiple regression models (similar to regression model 704- A) drawn on the camera-state versus intrinsic-characteristic graph 700- A in FIG. 7A.

[0075] As illustrated by FIG. 7B, a characterization sequence may include (referring to datapoints 702-B-l): 1) determining, for a first temperature and for a first lens focus state of a camera module (e.g., Camera State 1), a first value for an intrinsic characteristic of the camera module; and 2) determining, for a second temperature and for the first lens focus state of a camera module, a second value for the intrinsic characteristic of the camera module. The characterization sequence may then include (referring now to datapoints 702-B-2): 3) determining, for the first temperature and for a second lens focus state of the camera module, a third value for the intrinsic characteristic of the camera module; and 4) determining, for the second temperature and for the second lens focus state of the camera module, a fourth value for the intrinsic characteristic of the camera module. Intrinsic characterization data for the camera module stored in a data structure for this characterization sequence may then be based on not only the first and second values and first and second temperatures, but also on the first and second lens focus states and the third and fourth values for the intrinsic characteristics. In other words, respective sets of datapoints (such as illustrated by datapoints 702-B-l and 702- B-2) and / or regression models (such as illustrated by regression models 704-B-l and 704-B- 2) may be stored to represent the desired range of temperatures and camera states (e.g., lens focus distances, etc.).

[0076] Once characterization data has been generated (e.g., with datapoints 602, 702, 702-B-l, and / or 702-B-2; with regression models 604-A, 604-B, 704-A, 704-B-l, and / or 704- B-2; etc.), that characterization data may be stored in a data structure associated with the camera module such as a configuration file or calibration file configured for use when the camera is in operation. For example, as has been described, camera modules integrated with imaging systems and devices requiring highly accurate intrinsic characterization (e.g., systems that perform 3D modeling, etc.) may use the characterization data to ensure that their intrinsic characterization holds accurate regardless of temperature. To illustrate, FIG. 8 shows an example imaging system 802 that incorporates a camera module 102 that has been characterized using temperature-based camera characterization methods described herein. As such, imaging system 802 is shown to include a storage facility 804 (e.g.. transitory memory, non-transitory storage, etc.) in which the data structure with the characterization data 108 for the particular camera module 102 is stored. As shown, for example, characterization data 108 may represent a plurality of datapoints 806 (analogous to datapoints 602 described above) specific to this camera module 102, as well as a regression model 808 derived from datapoints 806. Accordingly, in operation, imaging system 802 may be configured to use characterization data 108 to determine temperature-sensitive, highly accurate intrinsic characteristics for the camera module 102.

[0077] To illustrate, FIG. 9 shows an illustrative method 900 that may be performed by imaging system 802 in accordance with principles described herein. Similarly as described above for method 200, method 900 may represent one example of a method of using temperature-based characterization data to facilitate highly accurate operation of an imaging system utilizing a camera module. However, while method 900 shows illustrative operations 902-806 according to one implementation, it will be understood that other implementations of method 900 could omit, add to, reorder, and / or modify any of operations 902-906 shown in FIG. 9. In some examples, multiple operations shown in FIG. 9 or described in relation to FIG. 9 may be performed concurrently (e.g., in parallel) with one another, rather than being performed sequentially as illustrated and / or described. Each of operations 902-906 of method 900 will now be described in more detail as the operations may be performed by an implementation of imaging system 802. For example, imaging system 802 may be implemented by a system configured to serve any of the applications described herein as requiring strict camera calibration and highly accurate intrinsic parameter estimation (e.g., with reprojection error of a few pixels or even below one pixel), such as telepresence applications (e.g., 3D teleportation communication systems, etc.), stereo imagingapplications, depth estimation for 3D reconstruction, and so forth.

[0078] At operation 902. imaging system 802 may access characterization data for an intrinsic characteristic of the camera module. As has been described, this characterization data (e.g., characterization data 108) may define the intrinsic characteristic with respect to temperature. Additionally, while a single intrinsic characteristic is described for purposes of this example, it will be understood that characterization data 108 may define characterization data for various intrinsic characteristics that have been pre-characterized in the ways described above. Datapoints (e.g., such as datapoints 806) and models (e.g., such as regression model 808) for each of various intrinsic characteristics may be incorporated in the characterization data.

[0079] At operation 904. imaging system 802 may detect an operating temperature associated with operation of the camera module 102 within imaging system 802. For example, imaging system 802 may include a temperature sensor (not explicitly shown in FIG. 8) that is configured to actively monitor the temperature associated with the camera module 102 during operation, including as that temperature may change (e.g., as the ambient temperature in the room changes, as imaging system 802 and / or the camera module 102 warm up during operation, etc.). Based on this temperature sensor, the operating temperature may be detected. In another example, the operating temperature may be detected in another way (e.g., by a system separate from imaging system 802) and may be received by imaging system 802.

[0080] At operation 906, imaging system 802 may determine a value for the intrinsic characteristic of the camera module during the operation of the camera module. In particular, imaging system 802 may determine a value that is accurate to the present operating temperature based on the characterization data accessed at operation 902 and based on the operating temperature detected at operation 904. For example, the intrinsic parameter may be looked up in a lookup table of characterization data 108 based on the temperature detected at operation 904. As another example, in this case where characterization data 108 includes the regression model 808 configured to facilitate prediction of the intrinsic characteristic of the camera module 102. the determining of the value for the intrinsic characteristic at operation 906 may include using the regression model to predict the value based on the operating temperature.

[0081] Again, while only a single intrinsic characteristic is described for this example, it will be understood that operation 906 may involve determining temperature-based values for each of the relevant intrinsic characteristics of the camera module 102 at this stage.Accordingly, the intrinsic parameters used for any operations of imaging system 802 are ensured to be highly accurate and precise regardless of what the temperature might be in the operating environment or how the temperature may be changing as the system operates.

[0082] As has been mentioned, various methods and processes described herein may be implemented at least in part as instructions embodied in a non-transitory computer- readable medium and executable by one or more computing devices. In general, a processor (e.g.. a microprocessor) receives instructions, from a non-transitory computer-readable medium (e.g., a memory, etc.), and executes those instructions, thereby performing one or more operations such as the operations described herein. Such instructions may be stored and / or transmitted using any of a variety of known computer-readable media.

[0083] A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media, and / or volatile media. Non-volatile media may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random-access memory (DRAM), which typically constitutes a main memory. Common forms of computer- readable media include, for example, a disk, hard disk, magnetic tape, any other magnetic medium, a compact disc read-only memory (CD-ROM), a digital video disc (DVD), any other optical medium, random access memory (RAM), programmable read-only memory (PROM), electrically erasable programmable read-only memory (EPROM), FLASH- EEPROM, any other memory chip or cartridge, or any other tangible medium from which a computer can read.

[0084] FIG. 10 shows an illustrative computing system 1000 that may be used to implement various devices and / or systems described herein. For example, computing system 1000 may include or implement (or partially implement) camera characterization systems such as camera characterization system 100 and / or any components thereof (e.g., camera module 102, computing device 106) or other devices used therewith (e.g., imaging system 802).

[0085] As shown in FIG. 10, computing system 1000 may include a communication interface 1002, a processor 1004, a storage device 1006, and an input / output (I / O) module 1008 communicatively connected via a communication infrastructure 1010. While an illustrative computing system 1000 is shown in FIG. 10, the components illustrated in FIG. 10 are not intended to be limiting. Additional or alternative components may be used in otherembodiments. Components of computing system 1000 show n in FIG. 10 will now be described in additional detail.

[0086] Communication interface 1002 may be configured to communicate with one or more computing devices. Examples of communication interface 1002 include, without limitation, a wired network interface (such as a netw ork interface card), a wireless netw ork interface (such as a wireless network interface card), a modem, an audio / video connection, and any other suitable interface.

[0087] Processor 1004 generally represents any type or form of processing unit capable of processing data or interpreting, executing, and / or directing execution of one or more of the instructions, processes, and / or operations described herein. Processor 1004 may direct execution of operations in accordance with one or more applications 1012 or other computer-executable instructions such as may be stored in storage device 1006 or another computer-readable medium.

[0088] Storage device 1006 may include one or more data storage media, devices, or configurations and may employ any type, form, and combination of data storage media and / or device. For example, storage device 1006 may include, but is not limited to, a hard drive, network drive, flash drive, magnetic disc, optical disc, RAM, dynamic RAM, other non-volatile and / or volatile data storage units, or a combination or sub-combination thereof. Electronic data, including data described herein, may be temporarily and / or permanently stored in storage device 1006. For example, data representative of one or more executable applications 1012 configured to direct processor 1004 to perform any of the operations described herein may be stored within storage device 1006. In some examples, data may be arranged in one or more databases residing within storage device 1006.

[0089] I / O module 1008 may include one or more I / O modules configured to receive user input and provide user output. One or more I / O modules may be used to receive input for a single virtual experience. I / O module 1008 may include any hardware, firmware, software, or combination thereof supportive of input and output capabilities. For example, I / O module 1008 may include hardware and / or software for capturing user input, including, but not limited to, a keyboard or keypad, a touchscreen component (e.g., touchscreen display), a receiver (e.g., an RF or infrared receiver), motion sensors, and / or one or more input buttons.

[0090] I / O module 1008 may include one or more devices for presenting output to a user, including, but not limited to, a graphics engine, a display (e.g., a display screen), one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers. In certain embodiments, I / O module 1008 is configured to provide graphicaldata to a display for presentation to a user. The graphical data may be representative of one or more graphical user interfaces and / or any other graphical content as may sen e a particular implementation.

[0091] The following examples describe temperature-based camera characterization implementations in accordance with principles described herein:

[0092] 1. A system for characterizing a camera module, the system comprising: a temperature sensor configured to detect temperature associated with the camera module; and a computing device communicatively coupled to the camera module and the temperature sensor, the computing device configured to perform a characterization sequence including: determining, for a first temperature detected by the temperature sensor, a first value for an intrinsic characteristic of the camera module; determining, for a second temperature detected by the temperature sensor, a second value for the intrinsic characteristic of the camera module, the second temperature being different from the first temperature and the second value being different from the first value; and storing, within a data structure associated with the camera module, intrinsic characterization data for the camera module, the intrinsic characterization data being based on the first value and the first temperature and based on the second value and the second temperature.

[0093] 2. The system of any of the preceding examples, further comprising: a calibration chart positioned within a field of view of the camera module during the characterization sequence; and a light source configured to illuminate the calibration chart during the characterization sequence; wherein: the characterization sequence further includes directing the camera module to capture a first image while the temperature sensor is detecting the first temperature and a second image while the temperature sensor is detecting the second temperature; and the computing device determines the first value based on the first image and determines the second value based on the second image.

[0094] 3. The system of example 2, wherein: the calibration chart is configured to facilitate determining the intrinsic characteristic of the camera module and is further configured to facilitate determining a spatial frequency response of the camera module; and the characterization sequence further includes: determining, based on the first image and in parallel with determining the first value, a first response value for the spatial frequency response of the camera module, determining, based on the second image and in parallel with determining the second value, a second response value for the spatial frequency response, and storing, within the data structure associated with the camera module, response data for the spatial frequency response of the camera module, the response data being based on the firstresponse value and the first temperature and based on the second response value and the second temperature.

[0095] 4. The system of any of the preceding examples, wherein: the characterization sequence further includes constructing a regression model configured to facilitate prediction of the intrinsic characteristic of the camera module for an additional temperature not detected by the temperature sensor during the characterization sequence; and the intrinsic characterization data stored within the data structure includes the regression model.

[0096] 5. The system of example 4, wherein the regression model includes at least one of: a focal length model configured to facilitate prediction of a distance between a focal point of a lens of the camera module and an image plane of the camera module when the camera module is at the additional temperature; an optical center model configured to facilitate prediction of an alignment of the focal point of the lens and a center of the image plane when the camera module is at the additional temperature; or a distortion parameter model configured to facilitate prediction of a deviation of the lens from an ideal pinhole camera lens when the camera module is at the additional temperature.

[0097] 6. The system of any of the preceding examples, further comprising an enclosure configured to contain the camera module without blocking a field of view of the camera module during the characterization sequence.

[0098] 7. The system of any of the preceding examples, further comprising a temperature control device communicatively coupled to the computing device; wherein the characterization sequence further includes controlling a temperature associated with the camera module by: directing the temperature control device to bring the camera module to the first temperature prior to the determining the first value, and directing the temperature control device to bring the camera module to the second temperature prior to the determining the second value.

[0099] 8. The system of example 7, wherein the controlling the temperature associated with the camera module includes increasing or decreasing the temperature associated with the camera module in accordance with a continuous temperature ramp that includes both the first temperature and the second temperature.

[0100] 9. The system of example 7, wherein the controlling the temperature associated with the camera module includes driving the temperature associated with the camera module to a sequence of discrete temperatures, the sequence of discrete temperatures including the first temperature and the second temperature.

[0101] 10. The system of example 9, wherein the driving the temperature associatedwith the camera module to a particular discrete temperature of the sequence of discrete temperatures includes: identifying the particular discrete temperature; and monitoring the temperature associated with the camera module using the temperature sensor until an equilibrium is achieved at the particular discrete temperature.

[0102] 11. The system of any of the preceding examples, wherein the intrinsic characteristic is at least one of: a focal length indicative of a distance between a focal point of a lens of the camera module and an image plane of the camera module; an optical center indicative of an alignment of the focal point of the lens and a center of the image plane; or a distortion parameter indicating a deviation of the lens from an ideal pinhole camera lens.

[0103] 12. The system of any of the preceding examples, further comprising a heat transport device configured to draw heat away from the camera module during the characterization sequence, the heat transport device including at least one of a heat sink, a length of thermal tape, or a fan.

[0104] 13. The system of any of the preceding examples, wherein: the first value for the intrinsic characteristic of the camera module is determined for the first temperature and for a first lens focus state of the camera module; the characterization sequence further includes determining, for the first temperature and for a second lens focus state of the camera module, a third value for the intrinsic characteristic of the camera module; and the intrinsic characterization data for the camera module stored in the data structure is further based on the first lens focus state, the second lens focus state, and the third value for the intrinsic characteristic.

[0105] 14. The system of example 13, wherein: the second value for the intrinsic characteristic of the camera module is determined for the second temperature and for the first lens focus state of the camera module; the characterization sequence further includes determining, for the second temperature and for the second lens focus state of the camera module, a fourth value for the intrinsic characteristic of the camera module; and the intrinsic characterization data for the camera module stored in the data structure is further based on the fourth value for the intrinsic characteristic.

[0106] 15. A method of performing a characterization sequence for a camera module, the method comprising: detecting, by a temperature sensor, a first temperature associated with the camera module; determining a first value for an intrinsic characteristic of the camera module while the camera module is at the first temperature; detecting, by the temperature sensor, a second temperature associated with the camera module, the second temperature different from the first temperature; determining a second value for the intrinsic characteristicof the camera module while the camera module is at the second temperature; and storing, within a data structure associated with the camera module, intrinsic characterization data for the camera module, the intrinsic characterization data being based on the first value and the first temperature and based on the second value and the second temperature.

[0107] 16. The method of example 15, further comprising controlling, a temperature control device, a temperature associated with the camera module by: directing the temperature control device to bring the camera module to the first temperature prior to the determining the first value; and directing the temperature control device to bring the camera module to the second temperature prior to the determining the second value.

[0108] 17. The method of example 16, wherein the controlling the temperature associated with the camera module includes increasing or decreasing the temperature associated with the camera module in accordance with a continuous temperature ramp that includes both the first temperature and the second temperature.

[0109] 18. The method of example 16. wherein the controlling the temperature associated with the camera module includes driving the temperature associated with the camera module to a sequence of discrete temperatures, the sequence of discrete temperatures including the first temperature and the second temperature.

[0110] 19. The method of any of examples 15 to 18, further comprising constructing a regression model configured to facilitate prediction of the intrinsic characteristic of the camera module for an additional temperature not detected by the temperature sensor during the characterization sequence; wherein the intrinsic characterization data stored within the data structure includes the regression model.

[0111] 20. The method of example 19, wherein the regression model includes at least one of: a focal length model configured to facilitate prediction of a distance between a focal point of a lens of the camera module and an image plane of the camera module when the camera module is at the additional temperature; an optical center model configured to facilitate prediction of an alignment of the focal point of the lens and a center of the image plane when the camera module is at the additional temperature; or a distortion parameter model configured to facilitate prediction of a deviation of the lens from an ideal pinhole camera lens when the camera module is at the additional temperature.

[0112] 21. The method of example 19, wherein the regression model is constructed as a linear regression model.

[0113] 22. The method of example 19, wherein the regression model is constructed as a non-linear regression model.

[0114] 23. The method of any of examples 15 to 22, wherein: the first value for the intrinsic characteristic of the camera module is determined for the first temperature and for a first lens focus state of the camera module: the second value for the intrinsic characteristic of the camera module is determined for the second temperature and for the first lens focus state of the camera module; the method further comprises: determining, for the first temperature and for a second lens focus state of the camera module, a third value for the intrinsic characteristic of the camera module, and determining, for the second temperature and for the second lens focus state of the camera module, a fourth value for the intrinsic characteristic of the camera module; and the intrinsic characterization data for the camera module stored in the data structure is further based on the first lens focus state, the second lens focus state, the third value for the intrinsic characteristic, and the fourth value for the intrinsic characteristic.

[0115] 24. A method comprising: accessing, by an imaging system that includes a camera module, intrinsic characterization data stored in a data structure associated with the camera module, the intrinsic characterization data defining an intrinsic characteristic of the camera module with respect to temperature; detecting an operating temperature associated with operation of the camera module within the imaging system; and determining, based on the intrinsic characterization data and the operating temperature, a value for the intrinsic characteristic of the camera module during the operation of the camera module.

[0116] 25. The method of example 24, wherein: the intrinsic characterization data stored in the data structure includes a regression model configured to facilitate prediction of the intrinsic characteristic of the camera module; and the determining the value for the intrinsic characteristic includes using the regression model to predict the value based on the operating temperature.

[0117] Various implementations of the systems and techniques described herein can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardw are, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0118] A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made w ithout departing from the spirit and scope of the description and claims. In addition, the logic flows depicted in the figures do notrequire the particular order shown, or sequential order, to achieve desirable results. In addition, other steps may be provided, or steps may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.

[0119] Specific structural and functional details disclosed herein are merely representative for purposes of describing example implementations. Example implementations, however, may be embodied in many alternate forms and should not be construed as limited to only the implementations set forth herein.

[0120] It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. A first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the implementations of the disclosure. As used herein, the term and / or includes any and all combinations of one or more of the associated listed items.

[0121] The terminology used herein is for the purpose of describing particular implementations only and is not intended to be limiting of the implementations. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and / or “including,” when used in this specification, specify the presence of the stated features, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof.

[0122] It will be understood that when an element is referred to as being “coupled,” “connected,” or “responsive” to, or “on,” another element, it can be directly coupled, connected, or responsive to, or on, the other element, or intervening elements may also be present. In contrast, when an element is referred to as being “directly coupled,” “directly- connected,” or “directly responsive” to, or “directly on,” another element, there are no intervening elements present. As used herein the term “and / or” includes any and all combinations of one or more of the associated listed items.

[0123] Spatially relative terms, such as “beneath,” “below,” “lower,” “above,” “upper.” and the like, may be used herein for ease of description to describe one element or feature in relationship to another element(s) or feature(s) as illustrated in the figures. It will be understood that the spatially relative terms are intended to encompass differentorientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below’’ or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, the term “below” can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 130 degrees or at other orientations) and the spatially relative descriptors used herein may be interpreted accordingly.

[0124] Unless otherwise defined, the terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which these concepts belong. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and / or the present specification and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.

[0125] Further to the descriptions above, a user may be provided with controls allowing the user to make an election as to both if and when systems, programs, or features described herein may enable collection of user information (e.g., information about a user's social network, social actions, or activities, profession, a user's preferences, or a user's current location), and if the user is sent content or communications from a server. In addition, certain data may be treated in one or more ways before it is stored or used, so that personally identifiable information is removed. For example, a user's identity may be treated so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized, or location information may be obtained (such as to a city, zip code, or state level), so that a particular location of a user cannot be determined. Thus, the user may have control over what information is collected about the user, how that information is used, and what information is provided to the user.

[0126] While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes, and equivalents may occur to those skilled in the art. It is therefore to be understood that the appended claims are intended to cover such modifications and changes as fall within the scope of the implementations. It will be understood that they have been presented by way of example only, not limitation, and various changes in form and details may be made. Any portion of the apparatus and / or methods described herein may be combined in any combination, except mutually exclusive combinations. The implementations described herein can include various combinations and / or sub-combinations of the functions, components, and / or features of thedifferent implementations described. As such, the scope of the present disclosure is not limited to the particular combinations hereafter claimed, but instead extends to encompass any combination of features or example implementations described herein irrespective of whether or not that particular combination has been specifically enumerated in the accompanying claims at this time.

Claims

WHAT IS CLAIMED IS:

1. A system for characterizing a camera module, the system comprising: a temperature sensor configured to detect temperature associated with the camera module; and a computing device communicatively coupled to the camera module and the temperature sensor, the computing device configured to perform a characterization sequence including: determining, for a first temperature detected by the temperature sensor, a first value for an intrinsic characteristic of the camera module; determining, for a second temperature detected by the temperature sensor, a second value for the intrinsic characteristic of the camera module, the second temperature being different from the first temperature and the second value being different from the first value; and storing, within a data structure associated with the camera module, intrinsic characterization data for the camera module, the intrinsic characterization data being based on the first value and the first temperature and based on the second value and the second temperature.

2. The system of claim 1, further comprising: a calibration chart positioned within a field of view of the camera module during the characterization sequence; and a light source configured to illuminate the calibration chart during the characterization sequence; wherein: the characterization sequence further includes directing the camera module to capture a first image while the temperature sensor is detecting the first temperature and a second image while the temperature sensor is detecting the second temperature; and the computing device determines the first value based on the first image and determines the second value based on the second image.

3. The system of claim 2, wherein: the calibration chart is configured to facilitate determining the intrinsic characteristic of the camera module and is further configured to facilitate determining a spatial frequency response of the camera module; and the characterization sequence further includes: determining, based on the first image and in parallel with determining the first value, a first response value for the spatial frequency response of the camera module, determining, based on the second image and in parallel with determining the second value, a second response value for the spatial frequency response, and storing, within the data structure associated with the camera module, response data for the spatial frequency response of the camera module, the response data being based on the first response value and the first temperature and based on the second response value and the second temperature.

4. The system of any of claims 1 to 3, wherein: the characterization sequence further includes constructing a regression model configured to facilitate prediction of the intrinsic characteristic of the camera module for an additional temperature not detected by the temperature sensor during the characterization sequence; and the intrinsic characterization data stored within the data structure includes the regression model.

5. The system of claim 4, wherein the regression model includes at least one of: a focal length model configured to facilitate prediction of a distance between a focal point of a lens of the camera module and an image plane of the camera module when the camera module is at the additional temperature; an optical center model configured to facilitate prediction of an alignment of the focal point of the lens and a center of the image plane when the camera module is at the additional temperature; or a distortion parameter model configured to facilitate prediction of a deviation of the lens from an ideal pinhole camera lens when the camera module is at the additional temperature.

6. The system of any of claims 1 to 5. further comprising an enclosure configured to contain the camera module without blocking a field of view of the camera module during the characterization sequence.

7. The system of any of claims 1 to 6. further comprising a temperature control device communicatively coupled to the computing device; wherein the characterization sequence further includes controlling a temperature associated with the camera module by: directing the temperature control device to bring the camera module to the first temperature prior to the determining the first value, and directing the temperature control device to bring the camera module to the second temperature prior to the determining the second value.

8. The system of claim 7, wherein the controlling the temperature associated with the camera module includes increasing or decreasing the temperature associated with the camera module in accordance with a continuous temperature ramp that includes both the first temperature and the second temperature.

9. The system of claim 7, wherein the controlling the temperature associated with the camera module includes driving the temperature associated with the camera module to a sequence of discrete temperatures, the sequence of discrete temperatures including the first temperature and the second temperature.

10. The system of claim 9, wherein the driving the temperature associated with the camera module to a particular discrete temperature of the sequence of discrete temperatures includes: identifying the particular discrete temperature; and monitoring the temperature associated with the camera module using the temperature sensor until an equilibrium is achieved at the particular discrete temperature.

11. The system of any of claims 1 to 10, wherein the intrinsic characteristic is at least one of: a focal length indicative of a distance between a focal point of a lens of the camera module and an image plane of the camera module;an optical center indicative of an alignment of the focal point of the lens and a center of the image plane; or a distortion parameter indicating a deviation of the lens from an ideal pinhole camera lens.

12. The system of any of claims 1 to 11, further comprising a heat transport device configured to draw heat away from the camera module during the characterization sequence, the heat transport device including at least one of a heat sink, a length of thermal tape, or a fan.

13. The system of any of claims 1 to 12, wherein: the first value for the intrinsic characteristic of the camera module is determined for the first temperature and for a first lens focus state of the camera module; the characterization sequence further includes determining, for the first temperature and for a second lens focus state of the camera module, a third value for the intrinsic characteristic of the camera module; and the intrinsic characterization data for the camera module stored in the data structure is further based on the first lens focus state, the second lens focus state, and the third value for the intrinsic characteristic.

14. The system of claim 13, wherein: the second value for the intrinsic characteristic of the camera module is determined for the second temperature and for the first lens focus state of the camera module; the characterization sequence further includes determining, for the second temperature and for the second lens focus state of the camera module, a fourth value for the intrinsic characteristic of the camera module; and the intrinsic characterization data for the camera module stored in the data structure is further based on the fourth value for the intrinsic characteristic.

15. A method of performing a characterization sequence for a camera module, the method comprising: detecting, by a temperature sensor, a first temperature associated with the camera module;determining a first value for an intrinsic characteristic of the camera module while the camera module is at the first temperature; detecting, by the temperature sensor, a second temperature associated with the camera module, the second temperature different from the first temperature; determining a second value for the intrinsic characteristic of the camera module while the camera module is at the second temperature; and storing, within a data structure associated with the camera module, intrinsic characterization data for the camera module, the intrinsic characterization data being based on the first value and the first temperature and based on the second value and the second temperature.

16. The method of claim 15, further comprising controlling, a temperature control device, a temperature associated with the camera module by: directing the temperature control device to bring the camera module to the first temperature prior to the determining the first value; and directing the temperature control device to bring the camera module to the second temperature prior to the determining the second value.

17. The method of claim 16, wherein the controlling the temperature associated with the camera module includes increasing or decreasing the temperature associated with the camera module in accordance with a continuous temperature ramp that includes both the first temperature and the second temperature.

18. The method of claim 16, wherein the controlling the temperature associated with the camera module includes driving the temperature associated with the camera module to a sequence of discrete temperatures, the sequence of discrete temperatures including the first temperature and the second temperature.

19. The method of any of claims 15 to 18, further comprising constructing a regression model configured to facilitate prediction of the intrinsic characteristic of the camera module for an additional temperature not detected by the temperature sensor during the characterization sequence; wherein the intrinsic characterization data stored within the data structure includes the regression model.

20. The method of claim 19, wherein the regression model includes at least one of: a focal length model configured to facilitate prediction of a distance between a focal point of a lens of the camera module and an image plane of the camera module when the camera module is at the additional temperature; an optical center model configured to facilitate prediction of an alignment of the focal point of the lens and a center of the image plane when the camera module is at the additional temperature; or a distortion parameter model configured to facilitate prediction of a deviation of the lens from an ideal pinhole camera lens when the camera module is at the additional temperature.

21. The method of claim 19, wherein the regression model is constructed as a linear regression model.

22. The method of claim 19, wherein the regression model is constructed as a nonlinear regression model.

23. The method of any of claims 15 to 22, wherein: the first value for the intrinsic characteristic of the camera module is determined for the first temperature and for a first lens focus state of the camera module; the second value for the intrinsic characteristic of the camera module is determined for the second temperature and for the first lens focus state of the camera module; the method further comprises: determining, for the first temperature and for a second lens focus state of the camera module, a third value for the intrinsic characteristic of the camera module, and determining, for the second temperature and for the second lens focus state of the camera module, a fourth value for the intrinsic characteristic of the camera module; and the intrinsic characterization data for the camera module stored in the data structure is further based on the first lens focus state, the second lens focus state, the third value for the intrinsic characteristic, and the fourth value for the intrinsic characteristic.

24. A method comprising: accessing, by an imaging system that includes a camera module, intrinsic characterization data stored in a data structure associated with the camera module, the intrinsic characterization data defining an intrinsic characteristic of the camera module with respect to temperature; detecting an operating temperature associated with operation of the camera module within the imaging system; and determining, based on the intrinsic characterization data and the operating temperature, a value for the intrinsic characteristic of the camera module during the operation of the camera module.

25. The method of claim 24, wherein: the intrinsic characterization data stored in the data structure includes a regression model configured to facilitate prediction of the intrinsic characteristic of the camera module; and the determining the value for the intrinsic characteristic includes using the regression model to predict the value based on the operating temperature.

Citation Information

Patent Citations

  • Localization of lens focus parameter estimation and subsequent camera calibration

    US11367220B1

  • Sensor-assisted autofocus calibration

    US20150156485A1

  • Online compensation of thermal distortions in a stereo depth camera

    US20170094255A1

  • Camera intrinsic re-calibration in mono visual tracking system

    US20230154044A1

Cited By

  • Vacuum low-temperature-oriented collimator detection system and method

    CN122130345A