Project
SkyWatch
Real-time computer vision for airborne object detection
- Role
- Computer Vision Engineer
- Stack
- Python, PyTorch, OpenCV, CUDA, C++
- Metrics
- Detection latency under operational constraints on synthetic test footage; false-positive rate reduced 40% relative to baseline over evaluation set
Detecting small, fast-moving airborne objects in cluttered sky imagery sits at the hard end of computer vision: targets are often sub-10-pixel, move unpredictably, and share visual characteristics with background clutter like birds, lens flares, and atmospheric distortion. Off-the-shelf detectors tuned for ground-scene recognition fail badly in this regime — wrong prior, wrong scale, wrong motion model.
SkyWatch is a real-time detection pipeline built for Israeli aerospace-defense applications. Operational specifics are under NDA; metrics are reported on synthetic test footage representative of the evaluation conditions.
What I built
The pipeline has three stages. Preprocessing: a motion-aware differencing stage amplifies frame-to-frame residuals characteristic of fast-moving objects while suppressing quasi-static background structure. This dramatically reduces the input complexity the downstream detector has to handle. Detection: a lightweight CNN optimized for sub-10-pixel targets runs on the preprocessed frames with hard latency constraints; the architecture trades capacity for inference speed to meet the real-time budget. Tracking: a Kalman-filter tracker maintains object identity across frames through brief occlusions and handles the assignment problem when multiple candidates appear simultaneously.
Hard parts
Annotation scarcity. Ground-truth labels for fast-moving sub-pixel targets in real sky imagery are expensive and slow to produce. Most of the training data was synthetic — procedurally generated with realistic atmospheric noise, motion blur, and clutter distributions. Closing the sim-to-real gap required careful calibration of the synthetic noise model against real sky statistics.
False-positive pressure. In cluttered imagery, background structures that resemble targets (birds, insects, atmospheric shimmer) generate constant false-positive pressure. The motion-aware preprocessing stage absorbs most of this, but the detector still needs a conservative threshold tuned to the operating regime.
NDA boundary
Result
40% reduction in false-positive rate relative to the baseline detector, at constant recall.
Detection latency held under operational constraints throughout the evaluation. The synthetic data pipeline, once calibrated, accelerated iteration cycles significantly — the most valuable structural decision of the project.