camera_angle / README.md
aslakey's picture
New model updates
4de000c verified
---
license: apache-2.0
---
# Camera Angle
This model predicts an image's cinematic camera angle [low, neutral, high, overhead, dutch]. The model is a DinoV2 with registers backbone (initiated with `facebook/dinov2-with-registers-large` weights) and trained on a diverse set of two thousand human-annotated images.
## How to use:
```python
import torch
from PIL import Image
from transformers import AutoImageProcessor
from transformers import AutoModelForImageClassification
image_processor = AutoImageProcessor.from_pretrained("facebook/dinov2-with-registers-large")
model = AutoModelForImageClassification.from_pretrained('aslakey/camera_angle')
model.eval()
# example dutch angle image
# model labels [low, neutral, high, overhead, dutch]
image = Image.open('dutch_angle.jpg')
inputs = image_processor(image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
# technically multi-label training, but argmax works too!
predicted_label = outputs.logits.argmax(-1).item()
print(model.config.id2label[predicted_label])
```
## Performance:
| Camera Angle | Precision | Recall |
|--------------|-----------|--------|
| Low | 72% | 91% |
| Neutral | 86% | 70% |
| High | 87% | 75% |
| Overhead | 67% | 70% |
| Dutch (low coverage) | 50% | 50% |