Source-linked AI summary
Automatic Detection of Solar Photovoltaic Arrays in High Resolution Aerial Imagery
Jordan M. Malof, Kyle Bradbury, Leslie M. Collins, Richard G. Newell
TL;DR
Existing sources for distributed PV information are costly, time consuming, and spatially limited. This paper presents an automated detector using high-resolution color aerial imagery, demonstrating effective pixel- and object-level detection while leaving precise array shape and size estimation as a challenge.
Problem
Existing surveys and utility interconnection filings are costly, time consuming, and typically limited to state- or national-level spatial resolution.
Method
The paper automatically identifies distributed PV arrays in high-resolution (≤0.3 meters per pixel) color aerial imagery using a computer algorithm validated against 2,794 human-annotated PV regions.
Results
The algorithm is highly effective per pixel and effective for object detection, with performance decreasing as the required intersection-over-union threshold increases.
Takeaways & Limitations
The results demonstrate the feasibility of collecting distributed PV information over large areas using aerial or satellite imagery and establish a baseline for future algorithm development.
Takeaways & Limitations
The detector is far less effective at estimating the precise shape and size of PV arrays than at detecting the arrays themselves.
Abstract
from arXiv · showhide
The quantity of small scale solar photovoltaic (PV) arrays in the United States has grown rapidly in recent years. As a result, there is substantial interest in high quality information about the quantity, power capacity, and energy generated by such arrays, including at a high spatial resolution (e.g., counties, cities, or even smaller regions). Unfortunately, existing methods for obtaining this information, such as surveys and utility interconnection filings, are limited in their completeness and spatial resolution. This work presents a computer algorithm that automatically detects PV panels using very high resolution color satellite imagery. The approach potentially offers a fast, scalable method for obtaining accurate information on PV array location and size, and at much higher spatial resolutions than are currently available. The method is validated using a very large (135 km^2) collection of publicly available [1] aerial imagery, with over 2,700 human annotated PV array locations. The results demonstrate the algorithm is highly effective on a per-pixel basis. It is likewise effective at object-level PV array detection, but with significant potential for improvement in estimating the precise shape/size of the PV arrays. These results are the first of their kind for the detection of solar PV in aerial imagery, demonstrating the feasibility of the approach and establishing a baseline performance for future investigations.
I. INTRODUCTION
Distributed PV is growing, but existing information sources are costly, slow, and spatially coarse. This work proposes automated detection in high-resolution aerial imagery to locate arrays and estimate their shape and size.
- Distributed PV growth has increased demand for detailed information on array locations, capacity, and energy production.
- Surveys and utility interconnection filings are costly, time consuming, and typically limited to state- or national-level spatial resolution.The EIA began reporting state-level distributed PV data only at the end of 2015.
- High-resolution imagery at ≤0.3 meters per pixel can reveal individual PV arrays, including their shape, size, and color.Automated processing can be rerun as new imagery becomes available.
- The paper addresses automated array detection and shape/size estimation, while inferring capacity and energy production remains a separate technical challenge.
- The evaluation uses human-annotated aerial imagery covering 135 km^2 and more than 2,700 PV arrays.The imagery supports evaluation of both PV-pixel identification and individual panel objects.
B. Related work: object detection in aerial imagery
Prior aerial-image object detection research covers many targets and algorithms, but PV-array detection had only been tested in a small feasibility study. This work introduces a larger, more comprehensive benchmark.
- Aerial imagery recognition has used image processing, statistical modeling, machine learning, heuristic rules, and other algorithms for roads, buildings, and vehicles.
- Random Forest classification is used here to classify individual pixels as PV or non-PV, extending its prior use in land-cover and object-recognition tasks.
- Large labeled datasets support detector development and accurate performance assessment under diverse environments and imaging conditions.
- The proposed work evaluates pixel- and object-level detection, shape and size accuracy, and establishes a publicly reproducible baseline.The dataset covers 135 km^2 with more than 2,700 PV-array annotations.
II. THE AERIAL IMAGERY DATASET
The study uses publicly available, ortho-rectified RGB aerial imagery from Fresno, California, with human-annotated PV regions divided into training and testing sets.
- The Fresno imagery covers 135 km^2, was collected in one month in 2013, and has 0.3-meter-per-pixel resolution.All imagery is ortho-rectified RGB aerial photography.
- The broader public dataset contains 601 images across three cities, with varying resolution.
- The analysis randomly sampled 60 Fresno images because recent high-resolution imagery and many PV installations were available.
- Two annotators scanned the imagery, whose annotations were merged by union to produce 2,794 PV regions.
- Disjoint Fresno Training and Fresno Testing datasets were created to train the detector and obtain an unbiased performance estimate.
A. Algorithm overview
The PV detector transforms RGB imagery into local image features, classifies each pixel with a Random Forest, refines confidence regions, and returns detected PV objects.
- The algorithm processes RGB aerial imagery through four major steps: feature extraction, Random Forest classification, post-processing, and object detection.
- Feature extraction: Feature extraction maps the three-channel RGB image to an M-channel image of local color, texture, and pattern statistics.
- Random Forest Classifier: The trained Random Forest assigns each pixel a PV confidence, producing a spatial map of likely PV-array locations.
- Post-processing: Post-processing identifies high-confidence local maxima, grows pixel regions around them, and zeros confidence values outside those regions.
- Object detection: Object detection groups contiguous high-confidence pixels into objects and assigns each object the maximum pixel confidence within it.
B. Feature extraction
The algorithm converts RGB aerial imagery into local statistical feature vectors, classifies each pixel with a Random Forest, and produces a PV-confidence map.
- Feature extraction: Each pixel is represented by means and variances computed in several surrounding 3x3 windows across the three RGB channels.The feature extraction maps the three-channel image into an M-channel feature image.
- Feature extraction: Two rings of nine windows provide 102 total features after removing six duplicated features at their shared location.Each window contributes six features, and the two rings balance local image statistics against computation time.
- Random Forest classification: A Random Forest receives each pixel’s feature vector and assigns a confidence indicating its likelihood of corresponding to a PV array.The confidence values form a single-channel spatial map of likely PV locations.
- Random Forest classification: Random Forests were selected because they model complex nonlinear feature-label relationships and can process massive high-resolution imagery efficiently.The dataset contains 1.5 billion pixels across 135 km2, motivating computational efficiency.
- Random Forest classification: The Random Forest averages class probabilities from multiple decision trees, each routing the feature vector through decision nodes to a leaf.Trees are trained independently using bootstrap samples, random feature subsets, and Gini-index-based splits.
D. Post-processing
Post-processing converts raw pixel confidence maps into smoother connected regions by retaining strong local maxima, growing regions, and applying morphological operations.
- Post-processing: Post-processing aims to improve pixel-wise accuracy and prepare confidence maps for object detection.Its input and output are illustrated in Fig. 6 and its procedure is specified in Table 2.
- Seed selection: Only local maxima above threshold c0 and largest within a surrounding window of length Ls are retained as region-growing seeds.This criterion is designed to remove maxima likely to be false alarms.
- Region growing: Otsu’s method grows a smooth high-confidence foreground region around each retained maximum within a square window of length Lg.The method separates foreground and background confidence values automatically.
- Region refinement: Morphological closing and dilation smooth the connected regions using disks with radii r1 and r2.The resulting regions share confidence values, making object extraction easier.
E. Object Detection
Object detection converts post-processed confidence maps into detected PV objects by grouping neighboring positive-confidence pixels into connected regions.
- Object extraction: Pixels with confidence greater than zero are set to one, while all others are set to zero before connected-region extraction.The resulting binary image provides the basis for identifying contiguous groups of pixels.
- Object extraction: Each connected high-confidence region is treated as a detected object, with its confidence equal to the region’s maximum-confidence pixel.An example of this processing sequence appears in Fig. 6.
- Evaluation: The experiments separately evaluate pixel classification and object detection, including the shape and size of detected PV arrays.The object-level experiment assesses correspondence between detected pixel groups and PV array annotations.
- Evaluation: The Fresno Training dataset tunes the classifier and algorithm parameters, while the Fresno Testing dataset provides an unbiased performance estimate using precision-recall curves.This separation follows a standard supervised-learning evaluation design.
A. Performance metrics
Performance is assessed with precision-recall curves for detection tradeoffs and the Jaccard index for overlap between detected objects and human annotations.
- Precision-recall curves: Precision-recall curves vary the confidence threshold to measure the tradeoff between retrieving true targets and avoiding false detections.Recall is the proportion of true targets returned, while precision is the proportion of returned detections that are true targets.
- Precision-recall curves: An effective detector approaches the top-right of the precision-recall curve, whereas random pixel detection would yield P=0.0007 in the Fresno Testing data.The baseline follows the approximately 0.07% fraction of pixels corresponding to PV arrays.
- Object overlap: The Jaccard index measures overlap between detected and annotated pixel sets as J(A, B) = |A∩B| / |A∪B|.Greater overlap produces a larger index, ranging from 0 toward 1.
- Object overlap: Object detections are counted as correct only when their Jaccard index exceeds an application-dependent threshold.Reporting multiple thresholds reflects different requirements for shape and size accuracy.
- Object overlap: When one detected object overlaps multiple ground-truth annotations, those annotations are united before applying the Jaccard criterion.If the union sufficiently overlaps the detection, all included annotations count as detected.
C. Algorithm training and optimization
Training and parameter optimization used the Fresno Training dataset, with five million sampled pixels selected as a performance–computation tradeoff. The final parameters were then fixed for all experiments.
- Training and parameter optimization: All training and parameter optimization was performed on the Fresno Training dataset.The chosen parameters were used in all experiments.
- Training and parameter optimization: Five million pixels trained the Random Forest, including roughly 500,000 PV pixels and randomly sampled non-PV pixels.Increasing the sample size improved performance but increased computation time.
- Training and parameter optimization: Five million training pixels were selected as a tradeoff between performance and Random Forest computation time.
- Training and parameter optimization: The parameter m was fixed at the conventional value of √M rather than optimized.Other parameters were selected by measuring training-data performance over a coarse grid of candidate values.
V. EXPERIMENTAL RESULTS
Pixel-based experiments evaluated the detector before and after post-processing on Fresno training and testing imagery. Testing results were far above random detection, but performance dropped relative to training, with the Random Forest identified as the main contributor.
- Experimental results: The experiments reported pixel-based results followed by object-based results.
- Pixel-based performance: The RF and RFPP detectors performed far above the random baseline on Fresno Testing, where PV arrays comprise 0.07% of pixels and random precision is P=0.0007.
- Pixel-based performance: Pixel-based performance decreased from the Fresno Training dataset to the Fresno Testing dataset.The testing results provide an unbiased estimate of RF and RFPP performance.
- Pixel-based performance: The Random Forest, rather than post-processing, was identified as the main contributor to testing-data performance loss.The results suggest overfitting to patterns unique to the training data.
- Pixel-based performance: Overfitting reduced the detector’s ability to identify previously unseen PV arrays in the testing data.The paper identifies addressing this issue as an important direction for future work.
B. Object-based performance
Object-based performance exceeded the random baseline but declined as the Jaccard index required increasingly precise shape and size agreement. Lower J values support localization, whereas higher values better assess array-shape and size estimation.
- Object-based performance: Object-based detector performance was above the baseline random detector for all evaluated Jaccard index values.
- Object-based performance: At J=0.1, the detector achieved R=0.7 with P=0.6, while at J=0.5 it achieved R=0.55 at the same P=0.6.
- Object-based performance: At J=0.7, the detector never reached P=0.6.Increasing J makes near-location detections incorrect and leaves more PV annotations undetected.
- Object-based performance: J=0.1 is appropriate when general object location matters more than precise shape or size, including preprocessing for slower detection algorithms.At J=0.1, roughly 90% of targets were detected with P≅0.1.
- Object-based performance: J=0.7 is appropriate when accurately estimating target shape and size matters, such as estimating individual PV-array power capacity.The reported J=0.7 performance establishes a baseline for future improvement.
VI. CONCLUSIONS AND FUTURE WORK
The approach automatically detects small-scale PV arrays over large areas using high-resolution RGB aerial imagery and human-annotated ground truth. It performs strongly for pixel and object detection, but precise array shape and size estimation remains weaker and practical requirements remain unresolved.
- Validation: The algorithm was validated on at least 135 km^2 of Fresno aerial imagery with human annotations of solar PV locations.Performance was measured using pixel-based and object-based precision-recall curves.
- Results: Pixel-level detection was highly effective, removing most non-PV pixels while detecting most true PV pixels.
- Results: Object detection was effective, but precise estimation of PV-array shape and size was substantially less effective.
- Future work: The study establishes a baseline benchmark for future PV-detection algorithms and makes its data freely available for further development.The exact experimental images are listed in the supplemental materials.