Inspiration
Solar farms in Malaysia and ASEAN cover hundreds of acres and hold hundreds of thousands of panels. Drone thermal surveys already capture every module, but engineers still review orthomosaics by hand to find faulty panels. On a large site, this takes days, and defects get missed. We asked a simple question: can computer vision find the exact faulty module across a whole site, not just a hot area in an image?
What it does
Inspec-Ther takes a drone thermal orthomosaic (a GeoTIFF), detects every individual solar panel, flags defective modules, and pins each one to its real-world location so that field teams can go straight to the right panel. Results feed into a monitoring dashboard for follow-up.
How we built it
Data capture: DJI Matrice 4T drone surveys, stitched into thermal orthomosaics. Input reality: after ortho conversion, the thermal maps become false-colour RGB GeoTIFFs (vox palette), and the radiometric °C values are lost. So we treat the problem as visual pattern detection on colour, not temperature thresholds. Panel detection: classical computer vision with OpenCV (colour segmentation, contours, grid fitting), combined with SolarGeo and DeepLab-style segmentation to separate individual modules. Scaling to full sites: large orthomosaics are split into overlapping tiles, processed per block, then merged with a rematch step so a panel cut by a tile edge isn't counted twice. Defect review: each detected panel produces an evidence packet. A decision layer accepts it, sends it to review or corrects it, and a human makes the final call. Platform: a Django web app that handles GeoTIFF uploads, detection jobs, panel editing and reports.
Challenges we ran into
No temperature data: losing radiometric values forced us to detect defects from colour patterns alone. Scale: a single site can contain hundreds of thousands of panels, while detection works per block and is capped at roughly 4,000 panels per pass, so tiling and merging became core engineering work. Tile edges: panels split across tiles caused duplicates and misses. Tuning the overlap and rematch settings mattered more than changing the model. Choosing the model: we deliberately avoided generic object detectors. A site is a near-regular grid of panels, so geometry-aware segmentation fit the problem better.
Accomplishments that we're proud of
About 64.2 MW of solar capacity inspected for 20+ clients in Malaysia and ASEAN. On the Rembau 60 MW site, 3,235 defects identified. Over 80% of individual panels labelled correctly in our live detection workflow.
What we learned
On real sites, the data pipeline matters as much as the model: projection, tiling, overlap, and deduplication. Human review is part of the system, not an extra. Accuracy only counts when it holds up across a whole site.
What's next for Inspec-Ther
Geo-stable panel identity, so the same module can be tracked across repeat surveys. An open-weight decision model fine-tuned on our accepted and rejected panel labels, to triage defects faster. Bigger single-pass detection for full-site runs.
Built With
- amazon-web-services
- computer-vision
- deeplab
- django
- dji-matrice-4t
- docker
- drone
- gdal
- geotiff
- image-segmentation
- javascript
- numpy
- opencv
- postgresql
- python
- pytorch
- rasterio
- solargeo
- thermal-imaging
Log in or sign up for Devpost to join the conversation.