YOLO Vision Studio
A browser-based computer vision app for trying four trained Ultralytics YOLO models on images, videos, or a live browser webcam. Inference runs on the CPU.
Designed & created by Murtaza Ali
- Website: murtazaalikhan.com
- Kaggle: murtazakhanpro
Try the app
Choose a model from the menu, then select a webcam, video, or image workflow. The app draws the model output over the input. Video results have a download link.
1. Choose a model
Select one of the four tasks before starting an input workflow:
| Menu option | Weight file |
|---|---|
| Object Detection | object_detection.pt |
| Segmentation | segmentaion_model.pt |
| Pose Estimation | pose_model.pt |
| OBB (Oriented Bounding Boxes) | obb.pt |
The segmentation file uses the spelling present in the supplied file. Rename it only if you also update MODEL_FILES in app.py.
2. Use your webcam
Click Use Web Cam and allow camera access in the browser. The left panel shows the camera preview; the right panel shows predictions. Click the button again to stop the camera.
The webcam runs in the visitor's browser and sends reduced-size frames to the server. This works in a secure browser context such as the HTTPS Hugging Face Space URL. The container itself does not need a physical camera.
3. Upload an image or video
Choose Upload Image to view the annotated image immediately. Choose Upload Video to run video inference; when it finishes, select Download processed video.
Uploads are limited to 500 MB. Images accepted: JPG, JPEG, PNG, BMP, WEBP, TIF, TIFF. Videos accepted: MP4, AVI, MOV, MKV, WEBM, MPEG, MPG.
Deploy this folder to Hugging Face Spaces
- Create a new Space and choose Docker as its SDK.
- Upload the contents of this
Assignment_14folder to the Space repository root. Keepapp.py,Dockerfile,requirements*.txt, this README, and all four.ptfiles at the root; keep thedocs/imagesfolder. - Upload the model weights with the Hugging Face web interface or Git LFS/Xet support. Together, the supplied weight files are about 167 MiB, so a normal Git blob push may be unsuitable.
- Wait for the Docker build and model startup to finish, then open the Space URL and grant camera access if you want to try webcam mode.
The Space configuration in this README uses the Docker SDK and port 7860. The Dockerfile installs CPU-only PyTorch wheels, installs the application dependencies, and starts one Gunicorn worker to avoid loading four model copies.
CPU and resource notes
All four models are loaded when the app starts, and all inference runs on CPU. First startup can take a little while; image and video processing speed depends on the Space CPU. Video outputs and uploaded files live in the container's writable storage and may disappear when the Space restarts. A browser webcam streams frames to the server, so it uses CPU and network bandwidth while active.
Run locally with Docker
From this directory:
docker build -t yolo-vision-studio .
docker run --rm -p 7860:7860 yolo-vision-studio
Open http://localhost:7860. To install dependencies directly into a Python 3.11 environment instead:
python -m pip install -r requirements-cpu.txt
python app.py
The direct Python command uses Flask's built-in development server. Use the Docker/Gunicorn command for deployment.
Project files
app.pyβ Flask app, UI, and inference endpoints.Dockerfileβ Hugging Face Docker Space image and Gunicorn startup.requirements.txtβ application dependencies.requirements-cpu.txtβ CPU-only PyTorch plus application dependencies.object_detection.pt,segmentaion_model.pt,pose_model.pt,obb.ptβ trained weights.docs/images/β visual quick-start guides.
License and model provenance
Set the Space license metadata only after confirming the licenses and redistribution permissions for the application and all four model weight files. The model weights are supplied as project assets; this README does not claim they are licensed for redistribution.