Instructions to use aseylys/Outflock with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- ultralytics
How to use aseylys/Outflock with ultralytics:
from ultralytics import YOLOvv8 model = YOLOvv8.from_pretrained("aseylys/Outflock") source = 'http://images.cocodataset.org/val2017/000000039769.jpg' model.predict(source=source, save=True) - Notebooks
- Google Colab
- Kaggle
Outflock Camera Component OBB Model and Dataset
This repository contains a YOLOv8 medium oriented-bounding-box model and its training dataset. The model detects three parts of fixed camera systems:
| ID | Class | Description |
|---|---|---|
| 0 | Body |
Camera body or outer housing. |
| 1 | Lens |
Visible camera lens or optical module. |
| 2 | System |
The complete camera assembly or installed system. |
The model was developed for experiments to recognize Flock ALPR camera systems and their specific components. This model is for educational purposes only and should not be used for illegal purposes.
Flock cameras are showing up across the country, without the consent of citizens and are impinging on personal privacy and civil liberties - while also continuously being used for nefarious purposes by the very organizations citizens are told to trust.
For more information on Flock and on the widespread utilization of ALPR camera systems, please see DeFlock.org.
Model details
| Property | Value |
|---|---|
| Architecture | Ultralytics YOLOv8m-OBB |
| Task | Oriented object detection |
| Format | ONNX |
| Model file | model/best.onnx |
| Model size | 105,941,004 bytes, approximately 101 MiB |
| SHA-256 | 690f0eb7d626de52902665ccd233629f27a75443b8420aa5e884cc7f248a9860 |
| Ultralytics version recorded in ONNX | 8.4.104 |
| Input | images, float32 [1, 3, 960, 960] |
| Output | output0, float32 [1, 8, 18900] |
| ONNX opset | 12 |
| Batch size | 1, fixed |
| Embedded NMS | No |
Each raw output prediction contains four oriented-box values, three class scores, and one angle value. Confidence filtering and class-aware rotated NMS must be applied by the consumer.
The Outflock OpenCV pipeline letterboxes images to 960 by 960 pixels with a (114, 114, 114) fill color, scales pixels by 1 / 255, converts BGR to RGB, and uses NCHW layout. Detected boxes are mapped back into the original image coordinates after inference.
Training configuration
The model was initialized from yolov8m-obb.pt and trained using
train/trainObbModel.py with the following configuration:
| Setting | Value |
|---|---|
| Maximum epochs | 50 |
| Early-stopping patience | 20 epochs |
| Image size | 960 |
| Batch size | 16 |
| Optimizer | Automatic selection |
| Mixed precision | Enabled |
| Pretrained weights | Enabled |
| Training device | CUDA device 0 |
| Workers | 8 |
Configured augmentations include limited rotation, translation, scale,
perspective, horizontal flipping, mosaic, and mixup. Vertical flipping and
copy-paste augmentation are disabled. See train/trainObbModel.py for the exact values.
No training history, held-out test split, or evaluation metrics are included with the current export. The validation split was used during training, so it should not be treated as an independent test set.
Dataset summary
The uploadable dataset is generated at train/datasets/camera_obb in
Ultralytics YOLO OBB format.
| Split | Images | OBB annotations | Body | Lens | System |
|---|---|---|---|---|---|
| Train | 152 | 429 | 156 | 152 | 121 |
| Validation | 37 | 98 | 38 | 30 | 30 |
| Total | 189 | 527 | 194 | 182 | 151 |
There is no test split. The preparation script creates a deterministic 80/20 train/validation split using seed 42 and excludes images whose matching label file is absent or fails validation.
The generated dataset contains 149 JPEG, 35 PNG, and 5 WebP images. Image widths range from 320 to 4,032 pixels and heights range from 180 to 3,410 pixels. The median width is 1,200 pixels and the median height is 820 pixels.
Directory layout
datasets/camera_obb/
βββ data.yaml
βββ images/
β βββ train/
β βββ val/
βββ labels/
βββ train/
βββ val/
The generated labels/*.cache files are Ultralytics caches and are not part
of the underlying annotation format. They may be deleted and regenerated.
Annotation format
Each image has a same-stem .txt label file. Every line describes one
oriented bounding box:
class_id x1 y1 x2 y2 x3 y3 x4 y4
The four corner points are stored in polygon order. Coordinates are normalized to the image width and height and are expected to fall in the inclusive range from 0 to 1.
Example:
1 0.31 0.42 0.46 0.39 0.49 0.53 0.34 0.56
Reproducing the dataset and model
The training script rebuilds the generated dataset from train/data, trains the model, and optionally exports ONNX:
python train/trainObbModel.py --onnx
The main dependencies are PyTorch, Ultralytics, and PyYAML. Training expects a CUDA device by default. The generated data.yaml contains an absolute local path, so run the preparation script again or update its path entry after moving the dataset.
Run OpenCV inference on one image with:
python train/testObbOpenCv.py path/to/image.jpg \
--model flight/model/best.onnx \
--output path/to/output.jpg \
--conf 0.25 \
--iou 0.45 \
--imgsz 960
Intended uses
- Research and development involving oriented detection of the three camera component classes above.
- Testing Outflock's OpenCV and flight-camera inference pipeline.
- Fine-tuning or benchmarking on imagery with a similar viewpoint and domain, after establishing appropriate data rights.
Limitations and out-of-scope uses
- The dataset is small and was collected around a narrow search concept.
- Search-engine sampling can introduce geographic, product, viewpoint, resolution, and source-selection biases.
- Random image splitting does not guarantee that near-duplicate images or the same physical camera do not appear in both splits.
- The dataset has no independent test set and the exported model has no published accuracy, precision, recall, or mAP measurements.
- Performance on other camera designs, aerial viewpoints, difficult weather, occlusion, motion blur, or low-light imagery is unknown.
- This model should not be used as the sole input to safety-critical navigation, law enforcement, identification, or surveillance decisions.
Licensing, provenance, and privacy
The ONNX metadata identifies the exported Ultralytics model as AGPL-3.0. Users are responsible for complying with the applicable Ultralytics and model weight licensing terms.
The image acquisition utility performs a DuckDuckGo image search for
flock camera and downloads third-party image results. The current dataset does not include a source URL, author, attribution, consent record, or license manifest for each image. Consequently, the right to redistribute the images cannot be established from this repository alone, and no dataset license is asserted by this card.
Before publishing the dataset, audit every image for copyright and redistribution rights, remove images without adequate permission, and review the files and embedded metadata for people, license plates, addresses, trademarks, or other sensitive information. Until that audit is complete, a private or access-controlled Hugging Face dataset repository is recommended.
This README documents the current files and does not itself grant permission to redistribute the underlying images.
- Downloads last month
- -