IP Library Granted Patent US 12,394,068
Granted Patent B2
US 12,394,068 · App. 18/403,691 · Granted Aug 19, 2025

Cloud forecasting for electrochromic devices

Inventors: Christian Humann (Berkeley, CA); Andrew McNeil (Oakland, CA)
Assignee: Smart Window Inc., Limited
G06T7/248E06B9/24G01J1/42G02F1/163G06T7/11G06T7/13G06T7/90E06B2009/2464G01J2001/4266G06T2207/10024G06T2207/20021G06T2207/30192
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,394,068
App. No.
18/403,691
Granted
Aug 19, 2025
Kind
B2
Abstract

A method includes identifying images corresponding to sky conditions. The method further includes isolating cloud pixels from sky pixels in each of the images. Responsive to determining percentage of cloud pixels in one or more of the images meets a threshold value, the method further includes determining predicted cloud movement relative to sun position by tracking similar feature points between two or more images of the images. The method further includes causing a tint level of an electrochromic device to be controlled based on the predicted cloud movement relative to the sun position.

Claims (52)

1. A method comprising:

identifying a plurality of images corresponding to sky conditions;

isolating cloud pixels from sky pixels in each of the plurality of images;

responsive to determining percentage of cloud pixels in one or more of the plurality of images meets a threshold value, determining predicted cloud movement relative to sun position by tracking similar feature points between two or more images of the plurality of images;

triangulating, based on the plurality of images, to determine a height of one or more clouds; and

causing a tint level of an electrochromic device to be controlled based on the predicted cloud movement relative to the sun position and based on the height of the one or more clouds.

2. The method of claim 1 , wherein the plurality of images are a series of auto-exposure, fisheye, low dynamic range (LDR) images that were captured at a set frequency and undistorted by projecting pixels onto a rectangular plane.

3. The method of claim 1 , wherein the isolating of the cloud pixels from the sky pixels further comprises:

providing the plurality of images as input to a trained machine learning model; and receiving output from the trained machine learning model, wherein the predicted cloud

movement relative to the sun position is based on the output.

4. The method of claim 1 , further comprising determining a cloud direction angle from the predicted cloud movement relative to the sun position.

5. The method of claim 4 , further comprising:

generating, based on the cloud pixels and the sky pixels, a plurality of vector shapes, wherein a first vector shape of the plurality of vector shapes is located proximate the sun position, a second vector shape of the plurality of vector shapes is located proximate the first vector shape in a direction of about 180 degrees from the cloud direction angle, wherein the first vector shape is disposed between the sun position and the second vector shape, wherein each vector shape of the plurality of vector shapes represents a respective predicted time event that is to occur after capturing of the plurality of images, and wherein length and distance from the sun position of each vector shape correlates to a cloud speed; and

calculating the percentage of cloud pixels in each vector shape corresponding to the respective predicted time event.

6. The method of claim 5 , wherein each of the plurality of vector shapes is rectangular.

7. The method of claim 1 , wherein the causing of the tint level of the electrochromic device to be controlled is based on change time of about 10 seconds to about 2 minutes to change the tint level of the electrochromic device.

8. The method of claim 1 further comprising:

generating a cloud mask for each of the plurality of images based on the cloud pixels and the sky pixels; and

determining cloud-edge to cloud-area ratio from the cloud mask, wherein the determining that the percentage of cloud pixels in one or more of the plurality of images meets the threshold value comprises determining the cloud-edge to cloud-area ratio meets the threshold value.

9. The method of claim 1 , wherein the causing of the tint level to be controlled comprises causing the electrochromic device to be cleared responsive to determining the sun position is to be obstructed for a threshold amount of time.

10. The method of claim 1 , further comprising identifying illuminance data received from an illuminance sensor of a sky sensor, wherein the plurality of images are captured by an imaging device of the sky sensor, and wherein the causing of the tint level to be controlled is further based on the illuminance data.

11. The method of claim 10 , further comprising determining direct normal illuminance (DNE) data based on the illuminance data and the plurality of images, and wherein the causing of the tint level of the electrochromic device to be controlled is further based on the DNE data.

12. The method of claim 1 , wherein a first subset of the plurality of images are captured by a first imaging device and a second subset of the plurality of images are captured by a second imaging device.

13. A system comprising: a memory; and

a processing device, operatively coupled to the memory, wherein the processing device is configured to:

identify a plurality of images corresponding to sky conditions;

isolate cloud pixels from sky pixels in each of the plurality of images;

responsive to determining percentage of cloud pixels in one or more of the plurality of images meets a threshold value, determine predicted cloud movement relative to sun position by tracking similar feature points between two or more images of the plurality of images;

triangulate, based on the plurality of images, to determine a height of one or more clouds; and

cause a tint level of an electrochromic device to be controlled based on the predicted cloud movement relative to the sun position and based on the height of the one or more clouds.

14. The system of claim 13 , wherein to isolate the cloud pixels from the sky pixels, the processing device is further configured to:

provide the plurality of images as input to a trained machine learning model; and receive output from the trained machine learning model, wherein the processing

device determines the predicted cloud movement relative to the sun position based on the output.

15. The system of claim 13 , wherein the processing device is further configured to determine a cloud direction angle from the similar feature points in the two or more images of the plurality of images.

16. The system of claim 15 , wherein the processing device is further configured to: generate, based on the cloud pixels and the sky pixels, a plurality of vector shapes,

wherein a first vector shape of the plurality of vector shapes is located proximate the sun position, a second vector shape of the plurality of vector shapes is located proximate the first vector shape in a direction of about 180 degrees from the cloud direction angle, wherein the first vector shape is disposed between the sun position and the second vector shape, wherein each vector shape of the plurality of vector shapes represents a respective predicted time event that is to occur after capturing of the plurality of images, and wherein length and distance from the sun position of each vector shape correlates to a cloud speed; and

calculate the percentage of cloud pixels in each vector shape corresponding to the respective predicted time event.

17. The system of claim 13 , wherein the processing device is further configured to: generate a cloud mask for each of the plurality of images based on the cloud pixels

and the sky pixels; and

determine cloud-edge to cloud-area ratio from the cloud mask, wherein the determining that the percentage of cloud pixels meets the threshold value comprises determining the cloud-edge to cloud-area ratio meets the threshold value.

18. A non-transitory machine-readable storage medium storing instructions which, when executed cause a processing device to perform operations comprising:

identifying a plurality of images corresponding to sky conditions; isolating cloud pixels from sky pixels in each of the plurality of images;

responsive to determining percentage of cloud pixels in one or more of the plurality of images meets a threshold value, determining predicted cloud movement relative to sun

position by tracking similar feature points between two or more images of the plurality of images;

triangulating, based on the plurality of images, to determine a height of one or more clouds; and

causing a tint level of an electrochromic device to be controlled based on the predicted cloud movement relative to the sun position and based on the height of the one or more clouds.

19. The non-transitory machine-readable storage medium of claim 18 , wherein the isolating of the cloud pixels from the sky pixels further comprises:

providing the plurality of images as input to a trained machine learning model; and receiving output from the trained machine learning model, wherein the determining of

the predicted cloud movement relative to the sun position is based on the output.

20. The non-transitory machine-readable storage medium of claim 18 , wherein the operations further comprise:

generating a cloud mask for each of the plurality of images based on the cloud pixels and the sky pixels; and

determining cloud-edge to cloud-area ratio from the cloud mask, wherein the determining that the percentage of cloud pixels meets the threshold value comprises determining the cloud-edge to cloud-area ratio meets the threshold value.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2025
From: HALIO , LLC
To: SMART WINDOW INC., LIMITED
Reel/Frame 070438/0439 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 5, 2025
From: HALIO , INC.
To: HALIO , LLC
Reel/Frame 070402/0474 →
CHANGE OF NAME Recorded Sep 4, 2024
From: KINESTRAL TECHNOLOGIES, INC.
To: HALIO, INC.
Reel/Frame 068836/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2024
From: HUMANN, CHRISTIAN; MCNEIL, ANDREW
To: KINESTRAL TECHNOLOGIES, INC.
Reel/Frame 068438/0899 →
Continuity (3)
Continuation 17987783 · Nov 15, 2022
Provisional Application 63280420 · Nov 17, 2021
Related Publication 20240144488A1 · May 2, 2024
References Cited (13)
US 11900617B2 · Humann · 2024 [cited by examiner]
US 20140067733A1 · Humann · 2014 [cited by applicant]
US 20170293049A1 · Frank et al. · 2017 [cited by applicant]
EP 2518254A1 · 2012 [cited by applicant]
GB 2563126A · 2018 [cited by applicant]
WO 2016054112A1 · 2016 [cited by applicant]
WO 2020179326A1 · 2020 [cited by applicant]
Wood-Bradley, et al., “Cloud Tracking with Optical Flow for Short-Term Solar Forecasting.” Solar Thermal Group, Australian National University, Canberra, Australia, 2012. 6 pages. [cited by applicant]
Tulpan, et al., “Detection of Clouds in Sky/Cloud and Aerial Images Using Moment Based Texture Segmentation.” Conference Paper, Jun. 2017, 11 pages. [cited by applicant]
Marques, et al., “Intra-hour DNI Forecasting Based on Cloud Tracking Image Analysis.” Solar Energy, vol. 91 (2013), pp. 327-336. [cited by applicant]
Pfister, et al., “Cloud Coverage Based on All-Sky Imaging and Its Impact on Surface Irradiance.” National Institute of water and Atmospheric Research, Lauder, Central Otago, New Zealand. Oct. 2003, 14 pages. [cited by applicant]
Chu, et al., “A Smart Image-Based Cloud Detection System for Intrahour Solar Irradiance Forecasts.” Department of Mechanical and Aerospace Engineering, University of California, San Diego. Sep. 2014, 13 pages. [cited by applicant]
International Search Report and Written Opinion received for PCT Application No. PCT/US2022/050162, mailed Mar. 3, 2023. [cited by applicant]