Spaces:
Sleeping
Sleeping
Faizan Azizahmed Shaikh
commited on
Commit
·
67c544d
1
Parent(s):
31638e5
Delete src
Browse files- src/.ipynb_checkpoints/Webcam_Object_Detection-checkpoint.ipynb +0 -158
- src/.ipynb_checkpoints/realtime-checkpoint.py +0 -42
- src/.ipynb_checkpoints/requirements-checkpoint.txt +0 -0
- src/Webcam_Object_Detection.ipynb +0 -101
- src/__pycache__/items.cpython-311.pyc +0 -0
- src/app.py +0 -66
- src/items.py +0 -12
- src/output.avi +0 -3
- src/realtime.py +0 -42
- src/requirements.txt +0 -0
- src/yolov8n.pt +0 -3
src/.ipynb_checkpoints/Webcam_Object_Detection-checkpoint.ipynb
DELETED
@@ -1,158 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"cells": [
|
3 |
-
{
|
4 |
-
"cell_type": "code",
|
5 |
-
"execution_count": 1,
|
6 |
-
"id": "d9904ec5-391d-4967-9357-c8779d677142",
|
7 |
-
"metadata": {},
|
8 |
-
"outputs": [],
|
9 |
-
"source": [
|
10 |
-
"# import required libraries\n",
|
11 |
-
"from ultralytics import YOLO\n",
|
12 |
-
"import gradio as gr\n",
|
13 |
-
"import cv2\n",
|
14 |
-
"import math\n",
|
15 |
-
"from items import classNames"
|
16 |
-
]
|
17 |
-
},
|
18 |
-
{
|
19 |
-
"cell_type": "code",
|
20 |
-
"execution_count": 2,
|
21 |
-
"id": "1dbb6ae7-c844-4933-9a5c-f778bb1dfa83",
|
22 |
-
"metadata": {},
|
23 |
-
"outputs": [],
|
24 |
-
"source": [
|
25 |
-
"# detection function\n",
|
26 |
-
"def yolo_detect(feed, vid):\n",
|
27 |
-
" video = vid\n",
|
28 |
-
" # Load a pretrained YOLOv8n model\n",
|
29 |
-
" model = YOLO('yolov8n.pt')\n",
|
30 |
-
" \n",
|
31 |
-
" # Run inference on the source\n",
|
32 |
-
" results = model(video, stream=True, verbose=False) \n",
|
33 |
-
" frames = list()\n",
|
34 |
-
" \n",
|
35 |
-
" # plot annotations\n",
|
36 |
-
" for frame in results:\n",
|
37 |
-
" boxes = frame.boxes\n",
|
38 |
-
" single = frame.orig_img\n",
|
39 |
-
" for box in boxes:\n",
|
40 |
-
" # bounding box\n",
|
41 |
-
" x1, y1, x2, y2 = box.xyxy[0]\n",
|
42 |
-
" x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2) # convert to int values\n",
|
43 |
-
"\n",
|
44 |
-
" # put box in cam\n",
|
45 |
-
" cv2.rectangle(single, (x1, y1), (x2, y2), (255, 0, 255), 3)\n",
|
46 |
-
"\n",
|
47 |
-
" # object details\n",
|
48 |
-
" cv2.putText(single, classNames[int(box.cls[0])], (x1,y1), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 1)\n",
|
49 |
-
" \n",
|
50 |
-
" frames.append(single)\n",
|
51 |
-
" cv2.destroyAllWindows()\n",
|
52 |
-
" \n",
|
53 |
-
" h, w, c = frames[1].shape\n",
|
54 |
-
" \n",
|
55 |
-
" out_file = \"output.avi\"\n",
|
56 |
-
" fourcc=cv2.VideoWriter_fourcc('X', 'V', 'I', 'D')\n",
|
57 |
-
" writer = out = cv2.VideoWriter(out_file, fourcc, 25.0, (w, h))\n",
|
58 |
-
" for i in range(len(frames)):\n",
|
59 |
-
" writer.write(frames[i])\n",
|
60 |
-
" writer.release()\n",
|
61 |
-
" return out_file"
|
62 |
-
]
|
63 |
-
},
|
64 |
-
{
|
65 |
-
"cell_type": "code",
|
66 |
-
"execution_count": null,
|
67 |
-
"id": "692f5c49-67cd-4c11-8ee9-03dc7cb98809",
|
68 |
-
"metadata": {},
|
69 |
-
"outputs": [
|
70 |
-
{
|
71 |
-
"name": "stderr",
|
72 |
-
"output_type": "stream",
|
73 |
-
"text": [
|
74 |
-
"C:\\Users\\faiza\\anaconda3\\envs\\hgace\\Lib\\site-packages\\gradio\\utils.py:833: UserWarning: Expected 1 arguments for function <function yolo_detect at 0x000001B002054860>, received 2.\n",
|
75 |
-
" warnings.warn(\n",
|
76 |
-
"C:\\Users\\faiza\\anaconda3\\envs\\hgace\\Lib\\site-packages\\gradio\\utils.py:841: UserWarning: Expected maximum 1 arguments for function <function yolo_detect at 0x000001B002054860>, received 2.\n",
|
77 |
-
" warnings.warn(\n"
|
78 |
-
]
|
79 |
-
},
|
80 |
-
{
|
81 |
-
"name": "stdout",
|
82 |
-
"output_type": "stream",
|
83 |
-
"text": [
|
84 |
-
"Running on local URL: http://127.0.0.1:7861\n"
|
85 |
-
]
|
86 |
-
},
|
87 |
-
{
|
88 |
-
"name": "stderr",
|
89 |
-
"output_type": "stream",
|
90 |
-
"text": [
|
91 |
-
"Traceback (most recent call last):\n",
|
92 |
-
" File \"C:\\Users\\faiza\\anaconda3\\envs\\hgace\\Lib\\site-packages\\gradio\\routes.py\", line 442, in run_predict\n",
|
93 |
-
" output = await app.get_blocks().process_api(\n",
|
94 |
-
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
95 |
-
" File \"C:\\Users\\faiza\\anaconda3\\envs\\hgace\\Lib\\site-packages\\gradio\\blocks.py\", line 1392, in process_api\n",
|
96 |
-
" result = await self.call_function(\n",
|
97 |
-
" ^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
98 |
-
" File \"C:\\Users\\faiza\\anaconda3\\envs\\hgace\\Lib\\site-packages\\gradio\\blocks.py\", line 1097, in call_function\n",
|
99 |
-
" prediction = await anyio.to_thread.run_sync(\n",
|
100 |
-
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
101 |
-
" File \"C:\\Users\\faiza\\anaconda3\\envs\\hgace\\Lib\\site-packages\\anyio\\to_thread.py\", line 33, in run_sync\n",
|
102 |
-
" return await get_asynclib().run_sync_in_worker_thread(\n",
|
103 |
-
" ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
104 |
-
" File \"C:\\Users\\faiza\\anaconda3\\envs\\hgace\\Lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 877, in run_sync_in_worker_thread\n",
|
105 |
-
" return await future\n",
|
106 |
-
" ^^^^^^^^^^^^\n",
|
107 |
-
" File \"C:\\Users\\faiza\\anaconda3\\envs\\hgace\\Lib\\site-packages\\anyio\\_backends\\_asyncio.py\", line 807, in run\n",
|
108 |
-
" result = context.run(func, *args)\n",
|
109 |
-
" ^^^^^^^^^^^^^^^^^^^^^^^^\n",
|
110 |
-
" File \"C:\\Users\\faiza\\anaconda3\\envs\\hgace\\Lib\\site-packages\\gradio\\utils.py\", line 703, in wrapper\n",
|
111 |
-
" response = f(*args, **kwargs)\n",
|
112 |
-
" ^^^^^^^^^^^^^^^^^^\n",
|
113 |
-
"TypeError: yolo_detect() takes 1 positional argument but 2 were given\n"
|
114 |
-
]
|
115 |
-
}
|
116 |
-
],
|
117 |
-
"source": [
|
118 |
-
"demo = gr.Interface(fn=yolo_detect, \n",
|
119 |
-
" inputs=[gr.PlayableVideo(source='webcam'), gr.Video(autoplay=True)],\n",
|
120 |
-
" outputs=[gr.Video(autoplay=True, format='avi')],\n",
|
121 |
-
" cache_examples=True, allow_flagging='never')\n",
|
122 |
-
"demo.queue()\n",
|
123 |
-
"demo.launch(inline=False, debug=True, show_api=False, quiet=True)"
|
124 |
-
]
|
125 |
-
},
|
126 |
-
{
|
127 |
-
"cell_type": "code",
|
128 |
-
"execution_count": null,
|
129 |
-
"id": "120eca17-b44a-4cf9-86fc-651ddf791ffa",
|
130 |
-
"metadata": {},
|
131 |
-
"outputs": [],
|
132 |
-
"source": [
|
133 |
-
"# demo.close()"
|
134 |
-
]
|
135 |
-
}
|
136 |
-
],
|
137 |
-
"metadata": {
|
138 |
-
"kernelspec": {
|
139 |
-
"display_name": "Python 3 (ipykernel)",
|
140 |
-
"language": "python",
|
141 |
-
"name": "python3"
|
142 |
-
},
|
143 |
-
"language_info": {
|
144 |
-
"codemirror_mode": {
|
145 |
-
"name": "ipython",
|
146 |
-
"version": 3
|
147 |
-
},
|
148 |
-
"file_extension": ".py",
|
149 |
-
"mimetype": "text/x-python",
|
150 |
-
"name": "python",
|
151 |
-
"nbconvert_exporter": "python",
|
152 |
-
"pygments_lexer": "ipython3",
|
153 |
-
"version": "3.11.4"
|
154 |
-
}
|
155 |
-
},
|
156 |
-
"nbformat": 4,
|
157 |
-
"nbformat_minor": 5
|
158 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/.ipynb_checkpoints/realtime-checkpoint.py
DELETED
@@ -1,42 +0,0 @@
|
|
1 |
-
# import libraries
|
2 |
-
from ultralytics import YOLO
|
3 |
-
import cv2
|
4 |
-
import sys
|
5 |
-
|
6 |
-
def realtime(video):
|
7 |
-
# Load the YOLOv8 model
|
8 |
-
model = YOLO('yolov8n.pt')
|
9 |
-
|
10 |
-
# Open the video file
|
11 |
-
video_path = video
|
12 |
-
cap = cv2.VideoCapture(video_path)
|
13 |
-
cap.set(3, 720)
|
14 |
-
cap.set(4, 1280)
|
15 |
-
# Loop through the video frames
|
16 |
-
while cap.isOpened():
|
17 |
-
# Read a frame from the video
|
18 |
-
success, frame = cap.read()
|
19 |
-
|
20 |
-
if success:
|
21 |
-
# Run YOLOv8 inference on the frame
|
22 |
-
results = model(frame, verbose=False)
|
23 |
-
|
24 |
-
# Visualize the results on the frame
|
25 |
-
annotated_frame = results[0].plot()
|
26 |
-
|
27 |
-
# Display the annotated frame
|
28 |
-
cv2.imshow("YOLOv8 Inference", annotated_frame)
|
29 |
-
|
30 |
-
# Break the loop if 'q' is pressed
|
31 |
-
if cv2.waitKey(1) & 0xFF == ord("q"):
|
32 |
-
break
|
33 |
-
else:
|
34 |
-
# Break the loop if the end of the video is reached
|
35 |
-
break
|
36 |
-
|
37 |
-
# Release the video capture object and close the display window
|
38 |
-
cap.release()
|
39 |
-
cv2.destroyAllWindows()
|
40 |
-
|
41 |
-
if __name__ == '__main__':
|
42 |
-
realtime(sys.argv[1])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/.ipynb_checkpoints/requirements-checkpoint.txt
DELETED
File without changes
|
src/Webcam_Object_Detection.ipynb
DELETED
@@ -1,101 +0,0 @@
|
|
1 |
-
{
|
2 |
-
"cells": [
|
3 |
-
{
|
4 |
-
"cell_type": "code",
|
5 |
-
"execution_count": null,
|
6 |
-
"id": "d9904ec5-391d-4967-9357-c8779d677142",
|
7 |
-
"metadata": {},
|
8 |
-
"outputs": [],
|
9 |
-
"source": [
|
10 |
-
"# import required libraries\n",
|
11 |
-
"from ultralytics import YOLO\n",
|
12 |
-
"import gradio as gr\n",
|
13 |
-
"import cv2\n",
|
14 |
-
"import math\n",
|
15 |
-
"from items import classNames"
|
16 |
-
]
|
17 |
-
},
|
18 |
-
{
|
19 |
-
"cell_type": "code",
|
20 |
-
"execution_count": null,
|
21 |
-
"id": "1dbb6ae7-c844-4933-9a5c-f778bb1dfa83",
|
22 |
-
"metadata": {},
|
23 |
-
"outputs": [],
|
24 |
-
"source": [
|
25 |
-
"# detection function\n",
|
26 |
-
"def yolo_detect(feed, vid):\n",
|
27 |
-
" video = vid\n",
|
28 |
-
" # Load a pretrained YOLOv8n model\n",
|
29 |
-
" model = YOLO('yolov8n.pt')\n",
|
30 |
-
" \n",
|
31 |
-
" # Run inference on the source\n",
|
32 |
-
" results = model(video, stream=True, verbose=False) \n",
|
33 |
-
" frames = list()\n",
|
34 |
-
" \n",
|
35 |
-
" # plot annotations\n",
|
36 |
-
" for frame in results:\n",
|
37 |
-
" boxes = frame.boxes\n",
|
38 |
-
" single = frame.orig_img\n",
|
39 |
-
" for box in boxes:\n",
|
40 |
-
" # bounding box\n",
|
41 |
-
" x1, y1, x2, y2 = box.xyxy[0]\n",
|
42 |
-
" x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2) # convert to int values\n",
|
43 |
-
"\n",
|
44 |
-
" # put box in cam\n",
|
45 |
-
" cv2.rectangle(single, (x1, y1), (x2, y2), (255, 0, 255), 3)\n",
|
46 |
-
"\n",
|
47 |
-
" # object details\n",
|
48 |
-
" cv2.putText(single, classNames[int(box.cls[0])], (x1,y1), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 1)\n",
|
49 |
-
" \n",
|
50 |
-
" frames.append(single)\n",
|
51 |
-
" cv2.destroyAllWindows()\n",
|
52 |
-
" \n",
|
53 |
-
" h, w, c = frames[1].shape\n",
|
54 |
-
" \n",
|
55 |
-
" out_file = \"output.avi\"\n",
|
56 |
-
" fourcc=cv2.VideoWriter_fourcc('X', 'V', 'I', 'D')\n",
|
57 |
-
" writer = out = cv2.VideoWriter(out_file, fourcc, 25.0, (w, h))\n",
|
58 |
-
" for i in range(len(frames)):\n",
|
59 |
-
" writer.write(frames[i])\n",
|
60 |
-
" writer.release()\n",
|
61 |
-
" return out_file"
|
62 |
-
]
|
63 |
-
},
|
64 |
-
{
|
65 |
-
"cell_type": "code",
|
66 |
-
"execution_count": null,
|
67 |
-
"id": "692f5c49-67cd-4c11-8ee9-03dc7cb98809",
|
68 |
-
"metadata": {},
|
69 |
-
"outputs": [],
|
70 |
-
"source": [
|
71 |
-
"demo = gr.Interface(fn=yolo_detect, \n",
|
72 |
-
" inputs=[gr.PlayableVideo(source='webcam'), gr.Video(autoplay=True)],\n",
|
73 |
-
" outputs=[gr.PlayableVideo(autoplay=True, format='avi')],\n",
|
74 |
-
" cache_examples=True, allow_flagging='never')\n",
|
75 |
-
"demo.queue()\n",
|
76 |
-
"demo.launch(inline=False, debug=True, show_api=False, quiet=True)"
|
77 |
-
]
|
78 |
-
}
|
79 |
-
],
|
80 |
-
"metadata": {
|
81 |
-
"kernelspec": {
|
82 |
-
"display_name": "Python 3 (ipykernel)",
|
83 |
-
"language": "python",
|
84 |
-
"name": "python3"
|
85 |
-
},
|
86 |
-
"language_info": {
|
87 |
-
"codemirror_mode": {
|
88 |
-
"name": "ipython",
|
89 |
-
"version": 3
|
90 |
-
},
|
91 |
-
"file_extension": ".py",
|
92 |
-
"mimetype": "text/x-python",
|
93 |
-
"name": "python",
|
94 |
-
"nbconvert_exporter": "python",
|
95 |
-
"pygments_lexer": "ipython3",
|
96 |
-
"version": "3.11.4"
|
97 |
-
}
|
98 |
-
},
|
99 |
-
"nbformat": 4,
|
100 |
-
"nbformat_minor": 5
|
101 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/__pycache__/items.cpython-311.pyc
DELETED
Binary file (899 Bytes)
|
|
src/app.py
DELETED
@@ -1,66 +0,0 @@
|
|
1 |
-
#!/usr/bin/env python
|
2 |
-
# coding: utf-8
|
3 |
-
|
4 |
-
# In[ ]:
|
5 |
-
|
6 |
-
|
7 |
-
# import required libraries
|
8 |
-
from ultralytics import YOLO
|
9 |
-
import gradio as gr
|
10 |
-
import cv2
|
11 |
-
import math
|
12 |
-
from items import classNames
|
13 |
-
|
14 |
-
|
15 |
-
# In[ ]:
|
16 |
-
|
17 |
-
|
18 |
-
# detection function
|
19 |
-
def yolo_detect(feed, vid):
|
20 |
-
video = vid
|
21 |
-
# Load a pretrained YOLOv8n model
|
22 |
-
model = YOLO('yolov8n.pt')
|
23 |
-
|
24 |
-
# Run inference on the source
|
25 |
-
results = model(video, stream=True, verbose=False)
|
26 |
-
frames = list()
|
27 |
-
|
28 |
-
# plot annotations
|
29 |
-
for frame in results:
|
30 |
-
boxes = frame.boxes
|
31 |
-
single = frame.orig_img
|
32 |
-
for box in boxes:
|
33 |
-
# bounding box
|
34 |
-
x1, y1, x2, y2 = box.xyxy[0]
|
35 |
-
x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2) # convert to int values
|
36 |
-
|
37 |
-
# put box in cam
|
38 |
-
cv2.rectangle(single, (x1, y1), (x2, y2), (255, 0, 255), 3)
|
39 |
-
|
40 |
-
# object details
|
41 |
-
cv2.putText(single, classNames[int(box.cls[0])], (x1,y1), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 1)
|
42 |
-
|
43 |
-
frames.append(single)
|
44 |
-
cv2.destroyAllWindows()
|
45 |
-
|
46 |
-
h, w, c = frames[1].shape
|
47 |
-
|
48 |
-
out_file = "output.avi"
|
49 |
-
fourcc=cv2.VideoWriter_fourcc('X', 'V', 'I', 'D')
|
50 |
-
writer = out = cv2.VideoWriter(out_file, fourcc, 25.0, (w, h))
|
51 |
-
for i in range(len(frames)):
|
52 |
-
writer.write(frames[i])
|
53 |
-
writer.release()
|
54 |
-
return out_file
|
55 |
-
|
56 |
-
|
57 |
-
# In[ ]:
|
58 |
-
|
59 |
-
|
60 |
-
demo = gr.Interface(fn=yolo_detect,
|
61 |
-
inputs=[gr.PlayableVideo(source='webcam'), gr.Video(autoplay=True)],
|
62 |
-
outputs=[gr.PlayableVideo(autoplay=True, format='avi')],
|
63 |
-
cache_examples=True, allow_flagging='never')
|
64 |
-
demo.queue()
|
65 |
-
demo.launch(inline=False, debug=True, show_api=False, quiet=True)
|
66 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/items.py
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
# object classes
|
2 |
-
classNames = ["person", "bicycle", "car", "motorbike", "aeroplane", "bus", "train", "truck", "boat",
|
3 |
-
"traffic light", "fire hydrant", "stop sign", "parking meter", "bench", "bird", "cat",
|
4 |
-
"dog", "horse", "sheep", "cow", "elephant", "bear", "zebra", "giraffe", "backpack", "umbrella",
|
5 |
-
"handbag", "tie", "suitcase", "frisbee", "skis", "snowboard", "sports ball", "kite", "baseball bat",
|
6 |
-
"baseball glove", "skateboard", "surfboard", "tennis racket", "bottle", "wine glass", "cup",
|
7 |
-
"fork", "knife", "spoon", "bowl", "banana", "apple", "sandwich", "orange", "broccoli",
|
8 |
-
"carrot", "hot dog", "pizza", "donut", "cake", "chair", "sofa", "pottedplant", "bed",
|
9 |
-
"diningtable", "toilet", "tvmonitor", "laptop", "mouse", "remote", "keyboard", "cell phone",
|
10 |
-
"microwave", "oven", "toaster", "sink", "refrigerator", "book", "clock", "vase", "scissors",
|
11 |
-
"teddy bear", "hair drier", "toothbrush"
|
12 |
-
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/output.avi
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:12a1475d91cadf7ae8c048c1fb342c8c4ebfe806cfb4de08705c3f53fb07f1d2
|
3 |
-
size 88264158
|
|
|
|
|
|
|
|
src/realtime.py
DELETED
@@ -1,42 +0,0 @@
|
|
1 |
-
# import libraries
|
2 |
-
from ultralytics import YOLO
|
3 |
-
import cv2
|
4 |
-
import sys
|
5 |
-
|
6 |
-
def realtime(video):
|
7 |
-
# Load the YOLOv8 model
|
8 |
-
model = YOLO('yolov8n.pt')
|
9 |
-
|
10 |
-
# Open the video file
|
11 |
-
video_path = video
|
12 |
-
cap = cv2.VideoCapture(video_path)
|
13 |
-
cap.set(3, 720)
|
14 |
-
cap.set(4, 1280)
|
15 |
-
# Loop through the video frames
|
16 |
-
while cap.isOpened():
|
17 |
-
# Read a frame from the video
|
18 |
-
success, frame = cap.read()
|
19 |
-
|
20 |
-
if success:
|
21 |
-
# Run YOLOv8 inference on the frame
|
22 |
-
results = model(frame, verbose=False)
|
23 |
-
|
24 |
-
# Visualize the results on the frame
|
25 |
-
annotated_frame = results[0].plot()
|
26 |
-
|
27 |
-
# Display the annotated frame
|
28 |
-
cv2.imshow("YOLOv8 Inference", annotated_frame)
|
29 |
-
|
30 |
-
# Break the loop if 'q' is pressed
|
31 |
-
if cv2.waitKey(1) & 0xFF == ord("q"):
|
32 |
-
break
|
33 |
-
else:
|
34 |
-
# Break the loop if the end of the video is reached
|
35 |
-
break
|
36 |
-
|
37 |
-
# Release the video capture object and close the display window
|
38 |
-
cap.release()
|
39 |
-
cv2.destroyAllWindows()
|
40 |
-
|
41 |
-
if __name__ == '__main__':
|
42 |
-
realtime(sys.argv[1])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
src/requirements.txt
DELETED
File without changes
|
src/yolov8n.pt
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:31e20dde3def09e2cf938c7be6fe23d9150bbbe503982af13345706515f2ef95
|
3 |
-
size 6534387
|
|
|
|
|
|
|
|