Skip to content

Commit a16b1d1

Browse files
feat(idle): remove code for model inference. Add support for sending requests to flask server
1 parent d836049 commit a16b1d1

File tree

7 files changed

+28
-31
lines changed

7 files changed

+28
-31
lines changed

.dockerignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
.cache
2-
__pycache__
2+
__pycache__
3+
idle_models

confs/configs.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22
"classes": [
33
67
44
],
5-
"iou_thres": 0.5,
6-
"conf_thres": 0.3,
7-
"model_path": "idle_models/idle_v0.3.11.pt",
85
"wait_time": 10,
96
"threshold": 100
107
}

confs/settings.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
username = 'admin'
22
password = 'just4Taqtile'
33
camera_url = 'http://192.168.1.162/onvif-http/snapshot?Profile_1'
4-
server_url = 'http://192.168.1.999'
4+
server_url = 'http://127.0.0.1'
55
folder = 'images/192.168.1.163'

functional.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
import requests
1010
import httplib2
1111
import numpy as np
12-
from idle_models.IdleObjectDetectionModel import IdleObjectDetectionModel
1312
import time
14-
from dotenv import load_dotenv
1513

1614

1715
def create_logger():
@@ -34,9 +32,6 @@ def create_logger():
3432

3533
def init_connection():
3634
password = os.environ.get("password")
37-
if password is None:
38-
load_dotenv("confs/settings.env")
39-
password = os.environ.get("password")
4035
username = os.environ.get("username")
4136
try:
4237
h = httplib2.Http(".cache")
@@ -47,16 +42,6 @@ def init_connection():
4742
return None
4843

4944

50-
def init_model():
51-
model = IdleObjectDetectionModel(
52-
MODEL_PATH,
53-
CONF_THRES,
54-
IOU_THRES,
55-
CLASSES
56-
)
57-
return model
58-
59-
6045
def get_frame(h):
6146
try:
6247
time_ = datetime.datetime.now()

main.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
import time
22
from functional import *
3+
from send_request import predict
4+
from dotenv import load_dotenv
35

46

7+
password = os.environ.get("password")
8+
if password is None:
9+
load_dotenv("confs/settings.env")
510
logger = create_logger()
611

712

813
def run():
14+
server_url = os.environ.get("server_url")
915
while (h := init_connection()) is None:
1016
logger.warning("Cannot create connection")
1117
time.sleep(1)
12-
model = init_model()
13-
logger.info("Model is initialized")
1418
prev_preds = None
1519
iter_idx = 0
1620
while True:
@@ -24,8 +28,8 @@ def run():
2428
time.sleep(1)
2529
continue
2630
time.sleep(2)
27-
preds, scores = model(img)
28-
img = put_rectangle(img, preds.numpy(), scores.numpy())
31+
preds, scores = predict(img, server_url)
32+
img = put_rectangle(img, preds, scores)
2933
if len(scores) > 0:
3034
logger.info("Telephone is detected")
3135
if check_coordinates_diffs(prev_preds, preds):

requirements.txt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
11
colorlog==4.8.0
22
httplib2==0.22.0
3-
matplotlib==3.6.3
43
numpy==1.22.3
5-
onnx==1.13.1
64
opencv_python==4.7.0.72
75
pafy==0.5.5
8-
pandas==1.5.3
96
Pillow==9.5.0
107
pydantic==1.10.2
118
python-dotenv==1.0.0
129
PyYAML==6.0
1310
requests==2.27.1
14-
scipy==1.10.1
15-
seaborn==0.12.2
16-
tqdm==4.64.1
17-
ultralytics==8.0.112

send_request.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import requests
2+
import numpy as np
3+
4+
5+
PORT = 5000
6+
7+
8+
def predict(img: np.array, server_url: str):
9+
response = requests.post(
10+
f"{server_url}:{PORT}/predict",
11+
json={
12+
"image": img.tolist()
13+
}
14+
)
15+
coordinates = np.array(response.json().get("coordinates"))
16+
confidences = np.array(response.json().get("confidences"))
17+
return [coordinates, confidences]

0 commit comments

Comments
 (0)