Relative temperatures of objects in an environment may be estimated from thermal images. Pixels of a thermal image may encode thermal intensity values that express relative amounts of thermal energy received by the thermal camera from objects in the environment. The amount of thermal energy emitted by an object for a given temperature is proportional to the object's thermal emissivity value.
In some cases, a computing device may be used to estimate and report an indication of a body temperature of a human subject. This is schematically illustrated in
An indication of a body temperature of a human subject may take any suitable form. In the example of
The body temperatures of human subjects may be estimated in any suitable way. It will be understood that a human's internal body temperature varies across different parts of the body. Thus, for the purposes of this disclosure, the “body temperature” of a human subject will refer to the subject's core body temperature, which is often used for the purposes of medical diagnosis.
In some examples, a thermal image of the real-world environment may be captured by a thermal camera, the thermal image having thermal intensity values for each of a plurality of pixels of the thermal image, including pixels corresponding to human subjects that may be in the environment. The thermal camera may in some cases be integrated into a head-mounted display device (or other computing device configured to perform functions described herein), or may alternatively be a standalone camera or a component of a separate camera system, such as camera system 114. The thermal intensity values of the thermal image encode the amount of thermal energy emitted by the objects in the real-world environment and received by the thermal camera. In this manner, the relative temperatures of the objects in the real-world environment may be estimated based on their corresponding thermal intensity values in the thermal image.
However, the amount of thermal energy emitted by an object at a particular temperature depends on the object's thermal emissivity value. In the case of human subjects, the skin tone of the human subject will often affect the amount of thermal energy emitted by the human subject at a particular body temperature, as different skin tones correspond to different thermal emissivity values. For example, in
Accordingly, the present disclosure is directed to techniques for estimating human body temperature based on an identified skin tone of a human subject. Specifically, after identifying the position of the face of a human subject within a thermal image, a skin tone of the human face is identified. Then, based on the identified skin tone, a skin tone correction factor is applied to one or more thermal intensity values corresponding to the human face. Based on these tone-corrected thermal intensity values, an indication of a body temperature of the human subject is reported. In this manner, the body temperature of human subjects may be more accurately estimated, even in cases where human subjects having multiple different skin tones are present.
Furthermore, method 200 is primarily described with respect to a single human subject, and results in reporting an indication of the body temperature of the human subject. However, it will be understood that steps of method 200 may be performed for any number of human subjects, who may be distributed between any number of different thermal images. In other words, each of the steps of method 200 may be performed for two or more human subjects, either simultaneously (e.g., two or more human subjects are visible in a same thermal image) or sequentially (e.g., two different human subjects are identified in two different thermal images). In cases where method 200 is applied to two or more human subjects, each human subject may have a different skin tone.
At 202, method 200 includes receiving, via a thermal camera, a thermal image captured of a real-world environment, the thermal image including thermal intensity values for each of a plurality of pixels of the thermal image. As discussed above, a thermal camera may be integrated into a computing device that performs one or more steps of method 200 beyond image capture. Alternatively, the thermal camera may be a standalone camera, or a component of a separate camera system. For example,
As another example,
Head-mounted display device 300 includes a storage machine 304 that may hold instructions executable by a logic machine 306 to perform one or more steps of method 200, and/or any other suitable computer functions. Additional details with respect to the storage machine and logic machine are described below with respect to
Head-mounted display device 300 also includes several cameras 308, 310, and 312. In one example, camera 308 may be a thermal camera, while camera 310 is a visible light camera and camera 312 is a depth camera. However, computing devices described herein may include any suitable collection of cameras useable to image environments and estimate body temperatures of human subjects. Each of these cameras may use any suitable technology.
In general, a “thermal camera” may include any imaging system configured to receive and encode thermal energy (e.g., infrared light) from objects in an environment. In some examples, a thermal camera may include a radiometric lens disposed before other optical elements of the thermal camera. Similarly, when included, visible light and depth cameras may take any suitable form. For instance, a depth camera may be a structured light depth camera or a time-of-flight depth camera. Any or all of the cameras of computing devices described herein may capture images having any suitable resolution, and the images may be captured with any suitable frame rate.
As described herein, thermal cameras capture “thermal images” of real-world environments. One example thermal image 400 is schematically shown in
In some cases, relatively higher thermal intensity values may correspond to regions in the imaged scene that are emitting relatively more thermal energy. In
A thermal image may take the form of any suitable data structure that includes a plurality of thermal intensity values, which in turn encode thermal energy received by the thermal camera from objects in an environment. In some cases, thermal intensity values may take the form of grey-level counts, which may have any suitable value. For example, grey-level counts may be expressed as a range between 0 and 255, or a different suitable quantization may be used. The present disclosure primarily describes thermal images as having a plurality of pixels. However, it will be understood that a “thermal image” need not be displayed on an electronic display, or otherwise visually represented in any manner. Rather, a thermal image including a plurality of pixels may in some cases be a purely non-visual data structure. Alternatively, and as will be described in more detail below, some representation of a thermal image may in some cases be visually displayed for review by a human user.
Returning to
This is schematically illustrated in
The face of a human subject may be identified in any suitable way. In some examples, any suitable facial recognition algorithm or technique may be used. For instance, one approach may include using a machine-learning trained classifier to identify pixels in an image (e.g., a visible light or thermal image) predicted to correspond to a human face.
Returning to
The skin tone of a human subject may be identified in any suitable way. In one example, the skin tone of a human subject may be identified based on the color of a human face in a second image as described above (e.g., a visible light image). For example, returning briefly to
Returning to
The computing device identifies one or more thermal intensity values 602A of one or more pixels corresponding to the human face. In some cases, the one or more thermal intensity values to which the skin tone correction factor is applied may correspond to one or more highest-intensity pixels depicting the human face. In many cases, these pixels may correspond to the subject's eyes, and/or the skin around the subject's eyes, as is shown in
Continuing with
For example, the thermal emissivity value of light-colored human skin has been estimated to be approximately 0.95, while the thermal emissivity of dark-colored skin is approximately 0.98. Thus, for a given body temperature, darker-skinned human subjects may have relatively higher thermal intensity values in a thermal image than lighter-skinned human subjects. Applying a skin tone correction factor may therefore include scaling thermal intensity values for lighter-skinned human subjects up, such that they are more consistent with darker-skinned human subjects. Alternatively, thermal intensity values for darker-skinned human subjects may be scaled down, such that they are more consistent with lighter-skinned human subjects. As another example, thermal intensity values for all human subjects may be scaled up by variable amounts, to give thermal intensity values consistent with a tone-neutral thermal emissivity value—e.g., 1.0.
In some implementations, skin tone correction factors may be predetermined for different specific skin tones. For example, the computing device may maintain a lookup table or similar data structure that defines a plurality of skin tone correction factors for use with a plurality of different skin tones. Alternatively, skin tone correction factors may be dynamically calculated on-the-fly based on a specific identified skin tone of a particular human subject.
In the examples of
Thus, in some examples, a distance between the human subject away from the thermal camera may be estimated, and a distance correction factor may be applied to the one or more thermal intensity values of the one or more pixels corresponding to the identified face of the human subject. This may result in distance-corrected thermal intensity values. Distance correction may be performed in addition to, or instead of, skin tone correction as described above. In the examples of
The distance between a human subject and a thermal camera may be determined in any suitable way. In some examples, this distance may be determined based on depth information collected by a depth camera—e.g., camera 312 of head-mounted display device 300 of
As with the skin tone correction factor, a distance correction factor may take any suitable form. Typically, applying a distance correction factor will include scaling thermal intensity values either up or down by some amount that depends on the distance between the human subject and the thermal camera. For example, when human subjects are relatively far from the thermal camera, thermal intensity values corresponding to the face of the human subject may be scaled up, such that they are more consistent with a human subject who is relatively closer to the thermal camera.
Returning to
An indication of a body temperature of a human subject may be estimated in any suitable way. As discussed above, thermal intensity values of pixels of a thermal image correspond to the relative temperatures of objects in an environment. Thus, in some cases, the computing device need not estimate an absolute, numerical body temperature of any particular human subject. Rather, in some cases, reporting an indication of a body temperature of a human subject may include outputting a notification that a particular human subject appears to have a meaningfully higher temperature than other human subjects, visible in a same or different thermal images.
Alternatively, in various examples, the computing device may use any suitable method for estimating the absolute, numerical body temperature of a human subject from a tone-corrected thermal intensity values of a thermal image. Because the performance of a thermal camera is affected by a number of factors, including temperature, it can be difficult or impossible to correlate any particular thermal intensity value with a temperature value without an independent reference. Accordingly, in one example, the real-world environment may include a blackbody radiator having a predetermined temperature and thermal emissivity value.
This is schematically illustrated in
In some examples, the real-world environment may have two or more blackbody radiators. The two or more blackbody radiators may have the same or different known temperatures, and the same or different known thermal emissivity values. It may be beneficial for two blackbody radiators to have the same predetermined temperature, but different known thermal emissivity values. For example, one blackbody radiator may have a thermal emissivity value of 0.95, while another blackbody radiator has a thermal emissivity value of 0.98. In this manner, the two or more blackbody radiators may serve as baseline references for two or more different skin tones of human subjects. This is also shown in
A “blackbody radiator” as described herein may take any suitable form. The blackbody radiators depicted in
In other examples, a real-world environment need not include a blackbody radiator for use as a reference. Rather, the computing device may derive a reference based on a plurality of other human subjects. For example, the computing device may identify the positions of a plurality of human faces in a plurality of thermal images. As discussed above, each of the plurality of human faces may correspond to pixels of respective thermal images having different thermal intensity values. The computing device may determine an average thermal intensity for the plurality of users, and compare tone-corrected thermal intensity values measured for future human subjects to this determined average. Any human subjects with tone-corrected thermal intensity values that significantly exceed the average (e.g., by two or more standard deviations) may be flagged. In other words, reporting an indication of the body temperature of a human subject may be further done based on a comparison of tone-corrected thermal intensity values for the human subject to an average thermal intensity of a plurality of other human faces. Again, this may be done in tandem with a known sensitivity of the thermal camera—e.g., a known difference in grey-count levels that corresponds to a known difference in temperature.
This is schematically illustrated in
In
In the example of
In
Once the body temperature of the human subject is estimated from tone-corrected thermal intensity values, an indication of the body temperature may be reported in any suitable way.
Displayed image 908 also includes a thermal reference 910, indicating to a human user the relative temperatures that each pixel of the thermal image correspond to. While different degrees of grey-scale shading are used in this example, this is not limiting. Rather, other examples may use spectra of visible light colors—e.g., a range from blue to red. In other words, the indication of the body temperature of the human subject may in some cases be reported via colors of pixels used to represent the human subject in the displayed image.
It will be understood that each of displayed images 900, 904, and 908 are non-limiting. In general, a displayed image may be a visible light image, a representation of a thermal image, or take any other suitable form. Furthermore, a displayed image may represent a human subject in any suitable way, and similarly report an estimated body temperature of the human subject in any suitable way. Displayed images may be presented using any suitable electronic display. For example, displayed images may be presented using a near-eye display (e.g., near-eye displays 110 or 302), or any other type of electronic display, including televisions, computer monitors, mobile device displays, etc.
The methods and processes described herein may be tied to a computing system of one or more computing devices. In particular, such methods and processes may be implemented as an executable computer-application program, a network-accessible computing service, an application-programming interface (API), a library, or a combination of the above and/or other compute resources.
Computing system 1000 includes a logic subsystem 1002 and a storage subsystem 1004. Computing system 1000 may optionally include a display subsystem 1006, input subsystem 1008, communication subsystem 1010, and/or other subsystems not shown in
Logic subsystem 1002 includes one or more physical devices configured to execute instructions. For example, the logic subsystem may be configured to execute instructions that are part of one or more applications, services, or other logical constructs. The logic subsystem may include one or more hardware processors configured to execute software instructions. Additionally, or alternatively, the logic subsystem may include one or more hardware or firmware devices configured to execute hardware or firmware instructions. Processors of the logic subsystem may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and/or distributed processing. Individual components of the logic subsystem optionally may be distributed among two or more separate devices, which may be remotely located and/or configured for coordinated processing. Aspects of the logic subsystem may be virtualized and executed by remotely-accessible, networked computing devices configured in a cloud-computing configuration.
Storage subsystem 1004 includes one or more physical devices configured to temporarily and/or permanently hold computer information such as data and instructions executable by the logic subsystem. When the storage subsystem includes two or more devices, the devices may be collocated and/or remotely located. Storage subsystem 1004 may include volatile, nonvolatile, dynamic, static, read/write, read-only, random-access, sequential-access, location-addressable, file-addressable, and/or content-addressable devices. Storage subsystem 1004 may include removable and/or built-in devices. When the logic subsystem executes instructions, the state of storage subsystem 1004 may be transformed—e.g., to hold different data.
Aspects of logic subsystem 1002 and storage subsystem 1004 may be integrated together into one or more hardware-logic components. Such hardware-logic components may include program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs), for example.
The logic subsystem and the storage subsystem may cooperate to instantiate one or more logic machines. As used herein, the term “machine” is used to collectively refer to the combination of hardware, firmware, software, instructions, and/or any other components cooperating to provide computer functionality. In other words, “machines” are never abstract ideas and always have a tangible form. A machine may be instantiated by a single computing device, or a machine may include two or more sub-components instantiated by two or more different computing devices. In some implementations a machine includes a local component (e.g., software application executed by a computer processor) cooperating with a remote component (e.g., cloud computing service provided by a network of server computers). The software and/or other instructions that give a particular machine its functionality may optionally be saved as one or more unexecuted modules on one or more suitable storage devices.
When included, display subsystem 1006 may be used to present a visual representation of data held by storage subsystem 1004. This visual representation may take the form of a graphical user interface (GUI). Display subsystem 1006 may include one or more display devices utilizing virtually any type of technology. In some implementations, display subsystem may include one or more virtual-, augmented-, or mixed reality displays.
When included, input subsystem 1008 may comprise or interface with one or more input devices. An input device may include a sensor device or a user input device. Examples of user input devices include a keyboard, mouse, touch screen, or game controller. In some embodiments, the input subsystem may comprise or interface with selected natural user input (NUI) componentry. Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board. Example NUI componentry may include a microphone for speech and/or voice recognition; an infrared, color, stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition.
When included, communication subsystem 1010 may be configured to communicatively couple computing system 1000 with one or more other computing devices. Communication subsystem 1010 may include wired and/or wireless communication devices compatible with one or more different communication protocols. The communication subsystem may be configured for communication via personal-, local- and/or wide-area networks.
This disclosure is presented by way of example and with reference to the associated drawing figures. Components, process steps, and other elements that may be substantially the same in one or more of the figures are identified coordinately and are described with minimal repetition. It will be noted, however, that elements identified coordinately may also differ to some degree. It will be further noted that some figures may be schematic and not drawn to scale. The various drawing scales, aspect ratios, and numbers of components shown in the figures may be purposely distorted to make certain features or relationships easier to see.
In an example, a method for estimating human body temperature comprises: receiving, via a thermal camera, a thermal image captured of a real-world environment, the thermal image including thermal intensity values for each of a plurality of pixels of the thermal image; identifying a position of at least a first human face within the thermal image, the first human face corresponding to a first human subject; identifying a skin tone of the first human face; applying, based on the identified skin tone, a skin tone correction factor to one or more thermal intensity values of one or more pixels corresponding to the first human face to give one or more tone-corrected thermal intensity values; and based on the one or more tone-corrected thermal intensity values, reporting an indication of a body temperature of the first human subject. In this example or any other example, the method further comprises: identifying a position of a second human face corresponding to a second human subject within a second thermal image; identifying a second skin tone of the second human face, different from the skin tone of the first human face; applying, based on the identified second skin tone, a second skin tone correction factor to one or more thermal intensity values of one or more pixels corresponding to the second human face to give one or more second tone-corrected thermal intensity values; and based on the one or more second tone-corrected thermal intensity values, reporting an indication of a body temperature of the second human subject. In this example or any other example, the method further comprises receiving, via a second camera sensitive to a different spectrum of light than the thermal camera, a second image captured of the real-world environment, and identifying correspondences between pixels of the second image and pixels of the thermal image. In this example or any other example, identifying the skin tone of the first human face includes identifying a color of the first human face in the second image. In this example or any other example, the method further comprises identifying a position of the first human face within the second image, and identifying the position of the first human face within the thermal image based on the correspondences between the pixels of the second image and the pixels of the thermal image. In this example or any other example, the one or more pixels corresponding to the first human face, having the thermal intensity values to which the skin tone correction factor is applied, include one or more highest-intensity pixels of the first human face. In this example or any other example, reporting the indication of the body temperature of the first human subject includes estimating an absolute body temperature of the first human subject. In this example or any other example, the thermal intensity values are grey-level counts, and the absolute body temperature of the first human subject is estimated based on a known sensitivity of the thermal camera. In this example or any other example, the absolute body temperature of the first human subject is numerically represented on a near-eye display of a head-mounted display device, such that the absolute body temperature is displayed at a screen space position on the near-eye display at or near a position corresponding to the first human subject. In this example or any other example, the method further comprises displaying a representation of the thermal image on an electronic display, and reporting the indication of the body temperature of the first human subject via colors of pixels used to represent the first human subject. In this example or any other example, reporting the indication of the body temperature of the first human subject includes outputting a notification that the body temperature of the first human subject is estimated to exceed a predetermined fever threshold. In this example or any other example, the first human subject is located at a predetermined distance away from the thermal camera. In this example or any other example, the method further comprises estimating a distance of the first human subject away from the thermal camera, applying a distance correction factor to the one or more thermal intensity values of the one or more pixels corresponding to the first human face to give one or more distance-corrected thermal intensity values, and further reporting the indication of the body temperature of the first human subject based on the distance-corrected thermal intensity values. In this example or any other example, the real-world environment includes a blackbody radiator having a predetermined temperature and thermal emissivity value, and the indication of the body temperature of the first human subject is further reported based on a comparison of thermal intensity values of one or more pixels corresponding to the blackbody radiator to the one or more tone-corrected thermal intensity values. In this example or any other example, the real-world environment includes two or more blackbody radiators, each having the predetermined temperature and different known thermal emissivity values. In this example or any other example, two or more human subject are represented in the thermal image. In this example or any other example, the method further comprises: identifying positions of a plurality of human faces in a plurality of thermal images, each of the plurality of human faces corresponding to one or more pixels of respective thermal images having corresponding thermal intensity values; determining an average thermal intensity of the plurality of human faces; and reporting the indication of the body temperature of the first human subject further based on a comparison of the average thermal intensity of the plurality of human faces to the one or more tone-corrected thermal intensity values.
In an example, a computing device comprises: a thermal camera; a logic machine; and a storage machine holding instructions executable by the logic machine to: receive, via the thermal camera, a thermal image captured of a real-world environment, the thermal image including thermal intensity values for each of a plurality of pixels of the thermal image; identify a position of at least a first human face within the thermal image, the first human face corresponding to a first human subject; identify a skin tone of the first human face; apply a skin tone correction factor to one or more thermal intensity values of one or more pixels corresponding to the first human face to give one or more tone-corrected thermal intensity values; and based on the one or more tone-corrected thermal intensity values, report an indication of a body temperature of the first human subject. In this example or any other example, the thermal intensity values are grey-level counts, reporting the indication of the body temperature of the first human subject includes estimating an absolute body temperature of the first human subject, and where the absolute body temperature of the first human subject is estimated based on a known sensitivity of the thermal camera.
In an example, a head-mounted display device comprises: a near-eye display; a thermal camera; a logic machine; and a storage machine holding instructions executable by the logic machine to: receive, via the thermal camera, a thermal image captured of a real-world environment, the thermal image including thermal intensity values for each of a plurality of pixels of the thermal image; identify a position of at least a first human face within the thermal image, the first human face corresponding to a first human subject; identify a skin tone of the first human face; apply a skin tone correction factor to one or more thermal intensity values of one or more pixels corresponding to the first human face to give one or more tone-corrected thermal intensity values; based on the one or more tone-corrected thermal intensity values, estimate a body temperature of the first human subject; and numerically display the body temperature of the first human subject at a screen space position on the near-eye display at or near a position corresponding to the first human subject.
It will be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated and/or described may be performed in the sequence illustrated and/or described, in other sequences, in parallel, or omitted. Likewise, the order of the above-described processes may be changed.
Number | Name | Date | Kind |
---|---|---|---|
6173068 | Prokoski | Jan 2001 | B1 |
9871387 | Bell | Jan 2018 | B1 |
10217286 | Angel | Feb 2019 | B1 |
10398353 | Addison | Sep 2019 | B2 |
10638938 | Tzvieli | May 2020 | B1 |
10970526 | Ye | Apr 2021 | B1 |
10976806 | Vancamberg | Apr 2021 | B1 |
10993625 | Steikuniene | May 2021 | B1 |
11298051 | Herrmann | Apr 2022 | B2 |
11309081 | Peyman | Apr 2022 | B2 |
20080169929 | Albertson | Jul 2008 | A1 |
20140200416 | Kashef | Jul 2014 | A1 |
20150049941 | Hall | Feb 2015 | A1 |
20150314681 | Riley, Sr. | Nov 2015 | A1 |
20160073955 | Salem | Mar 2016 | A1 |
20160136385 | Scorcioni | May 2016 | A1 |
20160317041 | Porges | Nov 2016 | A1 |
20170109571 | McDuff | Apr 2017 | A1 |
20170231490 | Toth | Aug 2017 | A1 |
20170238860 | el Kaliouby | Aug 2017 | A1 |
20170270593 | Sherman | Sep 2017 | A1 |
20170367580 | DiMaio | Dec 2017 | A1 |
20180232563 | Albadawi | Aug 2018 | A1 |
20190279009 | Srirangam Narashiman | Sep 2019 | A1 |
20190365299 | Carroll | Dec 2019 | A1 |
20200085311 | Tzvieli | Mar 2020 | A1 |
20200085312 | Tzvieli | Mar 2020 | A1 |
20200121245 | Barclay | Apr 2020 | A1 |
20200178809 | Wang | Jun 2020 | A1 |
20200221956 | Tzvieli | Jul 2020 | A1 |
20210022662 | Hyun | Jan 2021 | A1 |
20210059601 | Taylor | Mar 2021 | A1 |
20210076946 | Spickermann | Mar 2021 | A1 |
20210128056 | Aharon | May 2021 | A1 |
20210343005 | Kuybeda | Nov 2021 | A1 |
20210345885 | Umeda | Nov 2021 | A1 |
20210386198 | Clouse | Dec 2021 | A1 |
20210393155 | Rogers | Dec 2021 | A1 |
20220000077 | Halachmi | Jan 2022 | A1 |
20220090811 | Li | Mar 2022 | A1 |
20220133589 | Gruneberg | May 2022 | A1 |
Number | Date | Country |
---|---|---|
109580006 | Apr 2019 | CN |
109691989 | Apr 2019 | CN |
110044486 | Jul 2019 | CN |
110110629 | Aug 2019 | CN |
2017189498 | Oct 2017 | JP |
102037999 | Oct 2019 | KR |
Entry |
---|
“International Search Report and Written Opinion Issued in PCT Application No. PCT/US21/032134”, dated Jul. 27, 2021, 14 Pages. |
Number | Date | Country | |
---|---|---|---|
20210393137 A1 | Dec 2021 | US |