arrow detection

Blending synthetic and real data to sharpen arrow detection with ConvNext

Twenty hours of hand-labeling real archery targets.

3 min readMachine Learning
Blending synthetic and real data to sharpen arrow detection with ConvNext
Arrow detection with ConvNext pretrained on DINOv3 [P]

The most impressive part of this archery detection project isn't the 96.6% F1 score, it's the fact that a single developer, working alone for a month, built a system that outperforms what most teams would deliver with far more resources. BrashBunyip rendered 40,000 synthetic Blender scenes, hand-labeled 8,000 real images (a 20-hour slog they describe with admirable honesty), and then trained both a registration and detection network on a million heavily augmented samples. The result is a pipeline that identifies arrow impacts with 80.5% whole-image correctness: no missed arrows, no false detections. This is exactly the kind of practical, scrappy AI work that makes synthetic data strategies worth paying attention to.

What makes this project instructive is how it blends synthetic and real data without pretending either is perfect. The Synthetic data opens a new path to zero-shot time series forecasting article from our publication highlights a similar principle: synthetic data can unlock capabilities that purely real datasets cannot, especially when labeled real data is scarce or expensive. BrashBunyip's approach mirrors that insight. The synthetic renders gave them controlled variety, different angles, lighting, backgrounds, while the real images provided the messy, irregular details that simulation alone misses. The combination, plus heavy augmentation, produced a model robust enough to handle warped paper and perspective skew. This isn't a theoretical paper accepted at a workshop; it's a working system built by one person who treated data generation as an engineering problem rather than an afterthought.

The technical details reveal a methodical mindset that others should emulate. After registration identifies the target and its semantic rings, detection runs the cropped image through the same detector twice, once normally, once mirrored, and combines the heatmaps to find local peaks. The homography transform removes perspective skew, but the clever part is the radial correction: comparing the detected semantic rings to perfect geometric rings and using that offset to adjust for paper that isn't perfectly planar. Your First NeurIPS Workshop Is Worth Funding Yourself resonates here because it speaks to the value of independent, focused work over institutional validation. BrashBunyip didn't need a lab or a grant to produce something that works. They needed a month, Blender, a labeler's patience, and the willingness to iterate through ResNets, ViTs, and ConvNext DINOv3 until something clicked.

The open question is whether this approach generalizes beyond archery targets. The same pipeline, synthetic rendering, hand-labeled real data, registration, detection, homography, radial correction, could apply to any domain where you have a known geometric structure and need to locate impacts or anomalies on a deformable surface. That is the specific takeaway: the combination of synthetic diversity and targeted real-world correction, executed by a single practitioner, can match or exceed what larger teams achieve with pure real data. Watch for someone to adapt this to industrial inspection, medical imaging, or sports analytics. BrashBunyip has shown the blueprint.

From Machine Learning

Worked on this for about a month. I experimented a lot with resnets (pretrained on Imagenet) which performed quite well, pure ViT which performed worse. ConvNext DINOv3 performed the best.

For data I rendered about 40000 varied blender scenes, and used 8000 labelled real images. I had to label most of these real images by hand, which was a huge pain in the ass and about 20 hours of my life I'll never get back. Both registration and detection networks were trained on about 1 million samples (heavy augmentations of the 48k dataset).

Read the original at Machine Learning