基于 DINOv3 预训练 ConvNext 的箭靶检测模型,测试集 F1 达 96.6%
Arrow detection with ConvNext pretrained on DINOv3 [P]
作者用 DINOv3 预训练的 ConvNext 做箭靶检测,测试集 F1 为 96.6%,整图正确率 80.5%(无漏检、无误检)。对比实验中,ImageNet 预训练的 ResNet 表现不错,纯 ViT 较差。
| 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). End result was F1 96.6% on test and whole image correctness of 80.5% (no missed arrows, no false detections). The process is basically registration to identify target, semantic rings, centre, scoring zones. Detection then takes a cropped image and produces a heatmap of impact candidates. I run that image through the same detector mirrored and combine both in decoder to find local peaks. I tried a sliding window approach which didn't produce better results. I then apply a homography transform to remove perspective skew and flatten the target so the impacts conform to a canonical coordinate system. There's then a small correction step where I adjust impact coordinates to account for warped paper (homography can remove perspective skew but it can't fix warped paper that isn't planar). This is a neat trick because I basically compare the heatmap of the semantic rings produced by the registration model to the perfect geometric rings of the archery target and use that offset to make a radial correction. submitted by /u/BrashBunyip[link] [留言] |
来源:r/MachineLearning · reddit.com