Vision-based photovoltaic (PV) tracking requires a calibrated mapping from fisheye pixels to physical solar directions, yet deployed cameras may lack calibration targets or a surveyed pose. This study asks whether timestamped sky images can recover a camera mapping that is internally consistent with a solar ephemeris, while explicitly accounting for localisation coverage and parameter uncertainty. A staged pipeline combines photometric solar-candidate detection, ephemeris-guided re-localisation, temporal and model-consistency gates, three monotonic fisheye projections, and six calibration solvers. The evidence comprises 800 temporally sampled frames from two days of one CloudCV camera; 394 frames (49.25%) passed all gates. On the same 181 retained holdout frames, replacing the initial photometric centres with the refined centres reduced angular mean absolute error (MAE) from 49.10° to 0.417° under the same equisolid/robust-NLS calibration. On the full 400-frame holdout stream, 181 frames (45.25%) produced an accepted localisation, and all 181 had conditional error below 5°; rejected frames were not counted as angular successes. Equisolid gave the lowest descriptive two-fold mean MAE (0.637°), but the two folds are insufficient for inferential model ranking. Before robust-NLS polishing, DE, hybrid PSO-DE and PSO achieved mean holdout MAEs of 0.471°, 0.505° and 0.555°, respectively; after common polishing, they converged near 0.417°. Bootstrap refits revealed near-perfect coupling between the vertical principal point and roll (|r| = 0.9999), and both distortion terms remained at their bounds. These results demonstrate conditional ephemeris consistency, not independently validated physical pose or end-to-end tracker performance. Multi-day, multi-camera, surveyed-pose and PV-energy validation remain necessary.
No takes yet. Share an insight, caveat, or question.
Ramajela et al. (2026) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: