Cuevision is an iOS application built with Swift that helps billiard players improve their aim using the Diamond System. The app uses computer vision and machine learning to provide visual guidance, identify ball colors and numbers, and locate their positions on the table.
- Diamond System Aiming: Provides visual guidance to players for aiming based on the Diamond System calculations.
- Ball Detection and Recognition: Uses fine-tuned YOLOv8 to detect and identify the color and number of each ball on the billiard table.
- Ball Position Tracking: Accurately locates and tracks the position of each ball on the table in real-time.
- Visual Guidance: Overlays visual aids on the camera feed to guide the player's shots.
- Platform: iOS
- Language: Swift
- Frameworks:
- SwiftUI: For building the user interface.
- AVFoundation: For accessing the camera feed.
- Vision: For implementing computer vision features.
- Core ML: For integrating machine learning models for ball recognition.
- YOLOv8: Pre-trained machine learning model, fine-tuned with billiard balls dataset made in Roboflow
These are instructions on setting up your project locally. To get a local copy up and running follow these simple example steps.
- iOS 15.0 or later
As of now, our TestFlight links are not available, due to the Apple Developer Program account responsible for uploading to App Store is expired
- Launch the app on your iOS device.
- Point the camera at the billiard table.
- Follow the on-screen instructions to mark the positions of the cue ball and the object ball.
- The app will display the calculated aiming path.
- Align your shot using the visual guidance provided.
- Take the shot with confidence!
