Spaces:
Sleeping
Sleeping
Update main.py
Browse files
main.py
CHANGED
@@ -12,10 +12,8 @@ from fastapi.responses import StreamingResponse
|
|
12 |
from fastapi.middleware.gzip import GZipMiddleware
|
13 |
|
14 |
from utils import tts, read_image_file, pil_to_base64, base64_to_pil, get_hist
|
15 |
-
from typing import Optional
|
16 |
from huggingface_hub import hf_hub_download
|
17 |
|
18 |
-
|
19 |
from io import BytesIO
|
20 |
import zipfile
|
21 |
|
@@ -23,13 +21,14 @@ model_path = hf_hub_download(repo_id="ultralyticsplus/yolov8s", filename='yolov8
|
|
23 |
model = YOLO(model_path)
|
24 |
|
25 |
CLASS = model.model.names
|
26 |
-
|
27 |
-
|
28 |
ZIP = False
|
29 |
|
30 |
app = FastAPI()
|
31 |
app.add_middleware(GZipMiddleware, minimum_size=1000)
|
32 |
|
|
|
33 |
@app.get("/")
|
34 |
def read_root():
|
35 |
return {"Message": "Application startup complete"}
|
@@ -53,7 +52,7 @@ async def predict_api(
|
|
53 |
results = model.predict(image, show=False)[0]
|
54 |
masks, boxes = results.masks, results.boxes
|
55 |
area_image = image.width * image.height
|
56 |
-
|
57 |
# select and crop face image
|
58 |
if boxes is not None:
|
59 |
for xyxy, conf, cls in zip(boxes.xyxy, boxes.conf, boxes.cls):
|
@@ -76,13 +75,13 @@ async def predict_api(
|
|
76 |
if out_img is not None:
|
77 |
diff_value = dist.euclidean(get_hist(out_img), get_hist(last_seen))
|
78 |
print("Hist time", time.time() - start_time)
|
79 |
-
|
80 |
-
# return results
|
81 |
start_time = time.time()
|
82 |
print(f"Distance: {most_close}. Different value: {diff_value}")
|
83 |
-
if most_close >=
|
84 |
if ZIP:
|
85 |
-
voice_bot_path = tts(
|
86 |
image_bot_path = pil_to_base64(out_img)
|
87 |
print("Voice time", time.time() - start_time)
|
88 |
io = BytesIO()
|
|
|
12 |
from fastapi.middleware.gzip import GZipMiddleware
|
13 |
|
14 |
from utils import tts, read_image_file, pil_to_base64, base64_to_pil, get_hist
|
|
|
15 |
from huggingface_hub import hf_hub_download
|
16 |
|
|
|
17 |
from io import BytesIO
|
18 |
import zipfile
|
19 |
|
|
|
21 |
model = YOLO(model_path)
|
22 |
|
23 |
CLASS = model.model.names
|
24 |
+
default_bot_voice = "γγ―γγγγγγγΎγ"
|
25 |
+
area_threshold = 0.3
|
26 |
ZIP = False
|
27 |
|
28 |
app = FastAPI()
|
29 |
app.add_middleware(GZipMiddleware, minimum_size=1000)
|
30 |
|
31 |
+
|
32 |
@app.get("/")
|
33 |
def read_root():
|
34 |
return {"Message": "Application startup complete"}
|
|
|
52 |
results = model.predict(image, show=False)[0]
|
53 |
masks, boxes = results.masks, results.boxes
|
54 |
area_image = image.width * image.height
|
55 |
+
|
56 |
# select and crop face image
|
57 |
if boxes is not None:
|
58 |
for xyxy, conf, cls in zip(boxes.xyxy, boxes.conf, boxes.cls):
|
|
|
75 |
if out_img is not None:
|
76 |
diff_value = dist.euclidean(get_hist(out_img), get_hist(last_seen))
|
77 |
print("Hist time", time.time() - start_time)
|
78 |
+
|
79 |
+
# return results
|
80 |
start_time = time.time()
|
81 |
print(f"Distance: {most_close}. Different value: {diff_value}")
|
82 |
+
if most_close >= area_threshold and diff_value >= 0.5:
|
83 |
if ZIP:
|
84 |
+
voice_bot_path = tts(default_bot_voice, language="ja")
|
85 |
image_bot_path = pil_to_base64(out_img)
|
86 |
print("Voice time", time.time() - start_time)
|
87 |
io = BytesIO()
|