| --- |
| license: apache-2.0 |
| --- |
| |
| # Camera Level |
|
|
| This model predicts an image's cinematic camera level [ground, hip, shoulder, eye, aerial]. The model is a DinoV2 with registers backbone (initiated with `facebook/dinov2-with-registers-large` weights) and trained on a diverse set of five 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_level') |
| model.eval() |
| |
| # Model labels: [ground, hip, shoulder, eye, aerial] |
| image = Image.open('cinematic_shot.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: |
|
|
|
|
| | Category | Precision | Recall | |
| |----------|-----------|--------| |
| | ground | 65% | 51% | |
| | hip | 69% | 62% | |
| | shoulder | 68% | 74% | |
| | eye | 51% | 39% | |
| | aerial | 89% | 76% | |