Files
james.maesandClaude Opus 4.7 3c5a171d34 Add YOLOv3 object detection (80 COCO classes) via Git LFS
Drops Apple's full YOLOv3 (~248 MB) into Sources/Resources/Models/ as the
primary object detector. Xcode auto-compiles the .mlmodel into a .mlmodelc
inside the app bundle; the model is a Vision-friendly pipeline so
VNCoreMLRequest returns VNRecognizedObjectObservation directly — no manual
NMS or output decoding required.

Detection pipeline
- YOLOv3 is the primary detector, returning bounding boxes labeled with
  COCO classes: person, bicycle, car, ..., bottle, wine glass, cup, fork,
  knife, spoon, bowl, ... laptop, mouse, remote, keyboard, cell phone, ...
  book, clock, vase. 80 classes total — covers the "is that a coffee mug"
  question and many others.
- VNDetectFaceRectanglesRequest stays as a supplementary FACE labeler
  (more precise than YOLO's "person" for the face region).
- VNRecognizeAnimalsRequest stays for finer-grained cat/dog labels.
- Saliency and human-rectangle requests removed — YOLO supersedes them.
- Per-label NMS with IoU>0.5 inside filterAndMerge drops same-label
  overlaps. Cross-label overlaps (e.g. person + face) are kept since they
  carry different information.
- Min-confidence filter (Theme.Performance.detectionMinConfidence, 0.30)
  prunes weak guesses.

Distribution
- Model is tracked via Git LFS (.gitattributes) — it exceeds GitHub's
  100 MB per-file limit.
- README documents the `git lfs install && git lfs pull` prerequisite.
- scripts/fetch-model.sh remains as a no-LFS fallback that downloads the
  same model from Apple's Core ML catalog.

Theme knobs
- Performance.detectionMinConfidence (default 0.30)
- Performance.detectorModelName (default "YOLOv3")

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-15 11:19:53 -05:00

12 lines
216 B
Plaintext

.DS_Store
build/
DerivedData/
.swiftpm/
*.xcuserstate
xcuserdata/
# Regenerated from project.yml — do not commit
VisionPOC.xcodeproj/
# Models are stored via Git LFS (see .gitattributes). Nothing to ignore here.