A DEtection TRansformer (DETR) model with a ResNet-50 backbone (
facebook/detr-resnet-50
) finetuned on a custom photogrammetry calibration sphere dataset.
Model Usage
Object Detection (using
transformers
)
from transformers import AutoImageProcessor, AutoModelForObjectDetection
from huggingface_hub import hf_hub_download
from PIL import Image
import torch
# download example image
img_path = hf_hub_download(repo_id="1aurent/REVA-QCAV", filename="examples/chevaux.jpg")
img = Image.open(img_path)
# transform image using image_processor
image_processor = AutoImageProcessor.from_pretrained("1aurent/REVA-QCAV")
data = image_processor(img, return_tensors="pt")
# get outputs from the model
model = AutoModelForObjectDetection.from_pretrained("1aurent/REVA-QCAV")
with torch.no_grad():
output = model(**data)
# use image_processor post processing
img_CHW = torch.tensor([img.height, img.width]).unsqueeze(0)
output_processed = image_processor.post_process_object_detection(output, threshold=0.9, target_sizes=img_CHW)
Object Detection (using
onnxruntime
)
from transformers.models.detr.modeling_detr import DetrObjectDetectionOutput
from transformers import AutoImageProcessor
from huggingface_hub import hf_hub_download
import onnxruntime as ort
from PIL import Image
import torch
# download onnx and start inference session
onnx_path = hf_hub_download(repo_id="1aurent/REVA-QCAV", filename="model.onnx")
session = ort.InferenceSession(onnx_path)
# download example image
img_path = hf_hub_download(repo_id="1aurent/REVA-QCAV", filename="examples/chevaux.jpg")
img = Image.open(img_path)
# transform image using image_processor
image_processor = AutoImageProcessor.from_pretrained("1aurent/REVA-QCAV")
data = image_processor(img, return_tensors="np").data
# get logits and bbox predictions using onnx session
logits, pred_boxes = session.run(
output_names=["logits", "pred_boxes"],
input_feed=data,
)
# wrap outputs inside DetrObjectDetectionOutput
output = DetrObjectDetectionOutput(
logits=torch.tensor(logits),
pred_boxes=torch.tensor(pred_boxes),
)
# use image_processor post processing
img_CHW = torch.tensor([img.height, img.width]).unsqueeze(0)
output_processed = image_processor.post_process_object_detection(output, threshold=0.9, target_sizes=img_CHW)
Citation
@article{reva-qcav,
author = {Laurent Fainsin and Jean Mélou and Lilian Calvet and Antoine Laurent and Axel Carlier and Jean-Denis Durou},
title = {Neural sphere detection in images for lighting calibration},
journal = {QCAV},
year = {2023},
url = {https://hal.science/hal-04160733}
}
Runs of 1aurent REVA-QCAV on huggingface.co
11
Total runs
0
24-hour runs
0
3-day runs
2
7-day runs
-1
30-day runs
More Information About REVA-QCAV huggingface.co Model
REVA-QCAV huggingface.co is an AI model on huggingface.co that provides REVA-QCAV's model effect (), which can be used instantly with this 1aurent REVA-QCAV model. huggingface.co supports a free trial of the REVA-QCAV model, and also provides paid use of the REVA-QCAV. Support call REVA-QCAV model through api, including Node.js, Python, http.
REVA-QCAV huggingface.co is an online trial and call api platform, which integrates REVA-QCAV's modeling effects, including api services, and provides a free online trial of REVA-QCAV, you can try REVA-QCAV online for free by clicking the link below.
1aurent REVA-QCAV online free url in huggingface.co:
REVA-QCAV is an open source model from GitHub that offers a free installation service, and any user can find REVA-QCAV on GitHub to install. At the same time, huggingface.co provides the effect of REVA-QCAV install, users can directly use REVA-QCAV installed effect in huggingface.co for debugging and trial. It also supports api for free installation.