Try your CoreML Models on multiple videos and images easily and quickly.
macOS 13.0+
Currently supports Object Detection and Classification models that can be used with Vision framework.
- Control main configuration via CLI
- Support for USB camera video feed
- Simple HTTP API to retrieve current detections
List available cameras and exit. Each camera has a Unique ID allowing selecting it with the option -camera.
List available screens and exit. Each screen has a Unique ID allowing selecting it with the option -fullscreen.
Use the provided ID to select a camera as the video feed. The camera ID is provided with the option -listCameras. This option cannot be used with the option -video as they are mutually exclusive.
Use the provided video file as the source. The path can be relative or absolute.
Use the provided model file. The path can be relative or absolute. The provided model is a CoreML model. If no model is provided, the internal model yolov3.mlmodel is used.
Use the provided ID to select the screen as video output. The video is full screen without any UI component. Note that the video and/or the screen can be portrait or landscape. The video will be displayed with a maximum fitting size while keeping its aspect ratio.
Overlay detection boxes, labels, FPS, and the current number of items detected on the video.
Keep only the provided labels. They are provided as a comma-separated list. Overlays will then only display these labels.
If the mode is -video, loop the video. Has no effect in -camera mode.
Enable the following HTTP API at the provided port number:
Returns the detections of the current frame (JSON array: boxes, labels, confidence).
Video by Brett Sayles from Pexels
Photo by Patrick Tomasso from Unsplash
For demo purposes and being able to test the functionality quickly, the project includes a sample mlmodel file:
- YOLOv3Tiny: https://github.com/pjreddie/darknet (downloaded from Apple's website)