vumichien commited on
Commit
f8685aa
·
1 Parent(s): 26946a6

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +10 -1
main.py CHANGED
@@ -12,6 +12,7 @@ from fastapi.responses import StreamingResponse
12
  from utils import tts, read_image_file, pil_to_base64, get_hist
13
  from typing import Optional
14
  from huggingface_hub import hf_hub_download
 
15
 
16
  from io import BytesIO
17
  import zipfile
@@ -42,6 +43,8 @@ async def predict_api(
42
  most_close = 0
43
  out_img = None
44
  diff_value = 0.5
 
 
45
  if boxes is not None:
46
  for xyxy, conf, cls in zip(boxes.xyxy, boxes.conf, boxes.cls):
47
  if int(cls) != 0:
@@ -51,20 +54,26 @@ async def predict_api(
51
  if area_rate >= most_close:
52
  out_img = image.crop(tuple(box)).resize((64, 64))
53
  most_close = area_rate
 
 
54
  if last_seen is not None:
55
  last_seen = read_image_file(await last_seen.read())
56
  if out_img is not None:
57
  diff_value = dist.euclidean(get_hist(out_img), get_hist(last_seen))
58
- print(most_close, diff_value)
 
 
59
  if most_close >= area_thres and diff_value >= 0.5:
60
  voice_bot_path = tts(defaul_bot_voice, language="ja")
61
  image_bot_path = pil_to_base64(out_img)
 
62
  io = BytesIO()
63
  zip_filename = "final_archive.zip"
64
  with zipfile.ZipFile(io, mode='w', compression=zipfile.ZIP_DEFLATED) as zf:
65
  for file_path in [voice_bot_path, image_bot_path]:
66
  zf.write(file_path)
67
  zf.close()
 
68
  return StreamingResponse(
69
  iter([io.getvalue()]),
70
  media_type="application/x-zip-compressed",
 
12
  from utils import tts, read_image_file, pil_to_base64, get_hist
13
  from typing import Optional
14
  from huggingface_hub import hf_hub_download
15
+ import time
16
 
17
  from io import BytesIO
18
  import zipfile
 
43
  most_close = 0
44
  out_img = None
45
  diff_value = 0.5
46
+ total_time = time.time()
47
+ start_time = time.time()
48
  if boxes is not None:
49
  for xyxy, conf, cls in zip(boxes.xyxy, boxes.conf, boxes.cls):
50
  if int(cls) != 0:
 
54
  if area_rate >= most_close:
55
  out_img = image.crop(tuple(box)).resize((64, 64))
56
  most_close = area_rate
57
+ print("Yolo time", time.time() - start_time)
58
+ start_time = time.time()
59
  if last_seen is not None:
60
  last_seen = read_image_file(await last_seen.read())
61
  if out_img is not None:
62
  diff_value = dist.euclidean(get_hist(out_img), get_hist(last_seen))
63
+ print("Hist time", time.time() - start_time)
64
+ start_time = time.time()
65
+ print(f"Distance: {most_close}. Different value: {diff_value}")
66
  if most_close >= area_thres and diff_value >= 0.5:
67
  voice_bot_path = tts(defaul_bot_voice, language="ja")
68
  image_bot_path = pil_to_base64(out_img)
69
+ print("Voice time", time.time() - start_time)
70
  io = BytesIO()
71
  zip_filename = "final_archive.zip"
72
  with zipfile.ZipFile(io, mode='w', compression=zipfile.ZIP_DEFLATED) as zf:
73
  for file_path in [voice_bot_path, image_bot_path]:
74
  zf.write(file_path)
75
  zf.close()
76
+ print("Total time", time.time() - total_time)
77
  return StreamingResponse(
78
  iter([io.getvalue()]),
79
  media_type="application/x-zip-compressed",