skin-vision / app.py
dolor8946's picture
upload model.pt and app.py
4aee5ae verified
raw
history blame
No virus
1.12 kB
import cv2
import torch
import numpy as np
from ultralytics import YOLO
from fastapi import FastAPI
app = FastAPI()
model = YOLO('model.pt')
#device = torch.device('cuda')
#model.to(device)
@app.post("/detect/")
def detect(img):
try:
objects_dict = {}
img_arr = cv2.imread(img)
img_arr = cv2.resize(img_arr, (416, 416))
img_arr = np.array([img_arr.transpose(2, 0, 1)])
#img_arr = torch.from_numpy(img_arr).float().to(device)
results = model(img_arr)
for r in results:
n = len(r.boxes.cls)
for i in range(n):
cls = int(r.boxes.cls[i].cpu())
temp_obj = [int(r.boxes.conf[i].cpu()), r.boxes.xyxy[i].cpu().numpy()] #уверенность модели, координаты прямоугольника
if cls not in objects_dict:
objects_dict[cls] = [temp_obj]
else:
objects_dict[cls].append(temp_obj)
return objects_dict
except Exception as e:
print(str(e))
return {}