Replaces the bundled detector with Ultralytics' YOLOv8x trained on Open Images V7 — 601 object classes including coffee cup, mug, wine glass, mobile phone, computer monitor, sunglasses, laptop, plus body parts (human face / hand / eye / arm / leg). Substantially better "is that a coffee mug" detection than the 80-class COCO model. Conversion - Ultralytics' yolov8x-oiv7.pt → Core ML mlpackage via ultralytics.YOLO(...).export(format="coreml", nms=True). Output is a Vision-friendly pipeline (preprocessing + model + NMS), so VNCoreMLRequest continues to return [VNRecognizedObjectObservation] directly with no manual decoding. - scripts/convert-yolo-oiv7.py is the conversion entry point. - scripts/fetch-model.sh rewritten as a no-LFS fallback that bootstraps a Python venv, installs coremltools + ultralytics, runs the conversion, and drops the result into Sources/Resources/Models/. Bundling - yolov8x-oiv7.mlpackage is a directory (~131 MB weight.bin + small model.mlmodel descriptor + Manifest.json). - .gitattributes adds LFS tracking for **/weight.bin and **/model.mlmodel inside Sources/Resources/Models so the contents go to LFS without the surrounding directory metadata pretending to be binary. - Old YOLOv3.mlmodel removed from the repo (still in LFS history if needed). Theme - Theme.Performance.detectorModelName updated to "yolov8x-oiv7" (the detector falls back to mlpackage extension automatically via the existing Bundle.main.url lookup). README + scripts updated to reflect the new model and 601-class vocabulary. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
5 lines
297 B
Plaintext
5 lines
297 B
Plaintext
Sources/Resources/Models/*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
|
Sources/Resources/Models/*.mlpackage filter=lfs diff=lfs merge=lfs -text
|
|
Sources/Resources/Models/**/weight.bin filter=lfs diff=lfs merge=lfs -text
|
|
Sources/Resources/Models/**/model.mlmodel filter=lfs diff=lfs merge=lfs -text
|