|
9 | 9 | }, |
10 | 10 | { |
11 | 11 | "cell_type": "code", |
12 | | - "execution_count": 8, |
| 12 | + "execution_count": 1, |
13 | 13 | "metadata": {}, |
14 | 14 | "outputs": [], |
15 | 15 | "source": [ |
16 | 16 | "import numpy as np\n", |
17 | 17 | "import cv2 as cv\n", |
18 | | - "from motrackers.detectors import nanodet\n", |
| 18 | + "from motrackers.detectors import Nanodet\n", |
19 | 19 | "from motrackers import CentroidTracker, CentroidKF_Tracker, SORT, IOUTracker\n", |
20 | 20 | "from motrackers.utils import draw_tracks\n", |
21 | 21 | "from nanodet.util import Logger, cfg, load_config, load_model_weight\n", |
|
24 | 24 | }, |
25 | 25 | { |
26 | 26 | "cell_type": "code", |
27 | | - "execution_count": 9, |
| 27 | + "execution_count": 2, |
28 | 28 | "metadata": {}, |
29 | 29 | "outputs": [], |
30 | 30 | "source": [ |
|
35 | 35 | }, |
36 | 36 | { |
37 | 37 | "cell_type": "code", |
38 | | - "execution_count": 10, |
| 38 | + "execution_count": 3, |
39 | 39 | "metadata": {}, |
40 | 40 | "outputs": [ |
41 | 41 | { |
42 | 42 | "data": { |
43 | 43 | "application/vnd.jupyter.widget-view+json": { |
44 | | - "model_id": "87a5b23e8af54b2aae7a0234a88ab351", |
| 44 | + "model_id": "51e2f69a12a44156811e0421ab0e949c", |
45 | 45 | "version_major": 2, |
46 | 46 | "version_minor": 0 |
47 | 47 | }, |
48 | 48 | "text/plain": [ |
49 | 49 | "Select(description='MOTracker:', options=('CentroidTracker', 'CentroidKF_Tracker', 'SORT', 'IOUTracker'), valu…" |
50 | 50 | ] |
51 | 51 | }, |
52 | | - "execution_count": 10, |
| 52 | + "execution_count": 3, |
53 | 53 | "metadata": {}, |
54 | 54 | "output_type": "execute_result" |
55 | 55 | } |
|
67 | 67 | }, |
68 | 68 | { |
69 | 69 | "cell_type": "code", |
70 | | - "execution_count": 11, |
| 70 | + "execution_count": 4, |
71 | 71 | "metadata": {}, |
72 | 72 | "outputs": [], |
73 | 73 | "source": [ |
|
86 | 86 | }, |
87 | 87 | { |
88 | 88 | "cell_type": "code", |
89 | | - "execution_count": 12, |
| 89 | + "execution_count": 5, |
90 | 90 | "metadata": {}, |
91 | 91 | "outputs": [ |
92 | 92 | { |
|
103 | 103 | "name": "stderr", |
104 | 104 | "output_type": "stream", |
105 | 105 | "text": [ |
106 | | - "\u001b[1m\u001b[35m[root]\u001b[0m\u001b[34m[04-10 20:46:36]\u001b[0m\u001b[32mINFO:\u001b[0m\u001b[37mPress \"Esc\", \"q\" or \"Q\" to exit.\u001b[0m\n", |
107 | | - "\u001b[1m\u001b[35m[root]\u001b[0m\u001b[34m[04-10 20:46:36]\u001b[0m\u001b[32mINFO:\u001b[0m\u001b[37mPress \"Esc\", \"q\" or \"Q\" to exit.\u001b[0m\n" |
| 106 | + "\u001b[1m\u001b[35m[root]\u001b[0m\u001b[34m[04-10 21:59:08]\u001b[0m\u001b[32mINFO:\u001b[0m\u001b[37mPress \"Esc\", \"q\" or \"Q\" to exit.\u001b[0m\n" |
108 | 107 | ] |
109 | 108 | } |
110 | 109 | ], |
111 | 110 | "source": [ |
112 | 111 | "# 导入模型文件\n", |
113 | 112 | "local_rank = 0\n", |
114 | | - "model = WEIGHTS_PATH\n", |
| 113 | + "modelpath = WEIGHTS_PATH\n", |
115 | 114 | "device = \"cpu:0\"\n", |
116 | 115 | "config = CONFIG_FILE_PATH\n", |
117 | 116 | "logger = Logger(local_rank, use_tensorboard=False)\n", |
118 | 117 | "load_config(cfg, config)\n", |
119 | | - "detmodel = nanodet.Nanodet(cfg, model, logger, device)\n", |
| 118 | + "detmodel = Nanodet(cfg, modelpath, logger, device)\n", |
120 | 119 | "logger.log('Press \"Esc\", \"q\" or \"Q\" to exit.')" |
121 | 120 | ] |
122 | 121 | }, |
123 | 122 | { |
124 | 123 | "cell_type": "code", |
125 | | - "execution_count": 13, |
| 124 | + "execution_count": 6, |
126 | 125 | "metadata": { |
127 | 126 | "scrolled": false |
128 | 127 | }, |
|
138 | 137 | " print(\"Cannot read the video feed.\")\n", |
139 | 138 | " break\n", |
140 | 139 | " \n", |
141 | | - " meta, res = detmodel.inference(image)\n", |
142 | | - " bboxes, confidences, class_ids = detmodel.visualize(res[0], meta, cfg.class_names, 0.43)\n", |
| 140 | + " meta, res = model.inference(image)\n", |
| 141 | + " bboxes,confidences,class_ids,updated_image = model.visualize(res[0], meta, cfg.class_names, 0.43)\n", |
143 | 142 | " \n", |
144 | 143 | " tracks = tracker.update(bboxes, confidences, class_ids)\n", |
145 | | - " \n", |
146 | | - " updated_image = detmodel.draw_bboxes(image.copy(), bboxes, confidences, class_ids)\n", |
147 | 144 | "\n", |
148 | 145 | " updated_image = draw_tracks(updated_image, tracks)\n", |
149 | 146 | "\n", |
|
157 | 154 | }, |
158 | 155 | { |
159 | 156 | "cell_type": "code", |
160 | | - "execution_count": 14, |
| 157 | + "execution_count": 7, |
161 | 158 | "metadata": {}, |
162 | 159 | "outputs": [ |
163 | 160 | { |
164 | 161 | "name": "stdout", |
165 | 162 | "output_type": "stream", |
166 | 163 | "text": [ |
167 | | - "forward time: 0.146s | decode time: 0.004s | viz time: 0.000s\n" |
| 164 | + "forward time: 0.156s | decode time: 0.038s | viz time: 0.003s\n" |
| 165 | + ] |
| 166 | + }, |
| 167 | + { |
| 168 | + "name": "stderr", |
| 169 | + "output_type": "stream", |
| 170 | + "text": [ |
| 171 | + "d:\\ProgramData\\Anaconda3\\envs\\ist\\lib\\site-packages\\torch\\functional.py:478: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at C:\\actions-runner\\_work\\pytorch\\pytorch\\builder\\windows\\pytorch\\aten\\src\\ATen\\native\\TensorShape.cpp:2895.)\n", |
| 172 | + " return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]\n" |
168 | 173 | ] |
169 | 174 | }, |
170 | 175 | { |
171 | | - "ename": "AttributeError", |
172 | | - "evalue": "'Nanodet' object has no attribute 'draw_bboxes'", |
| 176 | + "ename": "ValueError", |
| 177 | + "evalue": "not enough values to unpack (expected 4, got 3)", |
173 | 178 | "output_type": "error", |
174 | 179 | "traceback": [ |
175 | 180 | "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", |
176 | | - "\u001b[1;31mAttributeError\u001b[0m Traceback (most recent call last)", |
177 | | - "Cell \u001b[1;32mIn[14], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m main(VIDEO_FILE, model, tracker)\n", |
178 | | - "Cell \u001b[1;32mIn[13], line 16\u001b[0m, in \u001b[0;36mmain\u001b[1;34m(video_path, model, tracker)\u001b[0m\n\u001b[0;32m 12\u001b[0m bboxes, confidences, class_ids \u001b[39m=\u001b[39m detmodel\u001b[39m.\u001b[39mvisualize(res[\u001b[39m0\u001b[39m], meta, cfg\u001b[39m.\u001b[39mclass_names, \u001b[39m0.43\u001b[39m)\n\u001b[0;32m 14\u001b[0m tracks \u001b[39m=\u001b[39m tracker\u001b[39m.\u001b[39mupdate(bboxes, confidences, class_ids)\n\u001b[1;32m---> 16\u001b[0m updated_image \u001b[39m=\u001b[39m detmodel\u001b[39m.\u001b[39;49mdraw_bboxes(image\u001b[39m.\u001b[39mcopy(), bboxes, confidences, class_ids)\n\u001b[0;32m 18\u001b[0m updated_image \u001b[39m=\u001b[39m draw_tracks(updated_image, tracks)\n\u001b[0;32m 20\u001b[0m cv\u001b[39m.\u001b[39mimshow(\u001b[39m\"\u001b[39m\u001b[39mimage\u001b[39m\u001b[39m\"\u001b[39m, updated_image)\n", |
179 | | - "\u001b[1;31mAttributeError\u001b[0m: 'Nanodet' object has no attribute 'draw_bboxes'" |
| 181 | + "\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)", |
| 182 | + "Cell \u001b[1;32mIn[7], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m main(VIDEO_FILE, detmodel, tracker)\n", |
| 183 | + "Cell \u001b[1;32mIn[6], line 12\u001b[0m, in \u001b[0;36mmain\u001b[1;34m(video_path, model, tracker)\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[39mbreak\u001b[39;00m\n\u001b[0;32m 11\u001b[0m meta, res \u001b[39m=\u001b[39m model\u001b[39m.\u001b[39minference(image)\n\u001b[1;32m---> 12\u001b[0m bboxes,confidences,class_ids,updated_image \u001b[39m=\u001b[39m model\u001b[39m.\u001b[39mvisualize(res[\u001b[39m0\u001b[39m], meta, cfg\u001b[39m.\u001b[39mclass_names, \u001b[39m0.43\u001b[39m)\n\u001b[0;32m 14\u001b[0m tracks \u001b[39m=\u001b[39m tracker\u001b[39m.\u001b[39mupdate(bboxes, confidences, class_ids)\n\u001b[0;32m 16\u001b[0m updated_image \u001b[39m=\u001b[39m draw_tracks(updated_image, tracks)\n", |
| 184 | + "\u001b[1;31mValueError\u001b[0m: not enough values to unpack (expected 4, got 3)" |
180 | 185 | ] |
181 | 186 | } |
182 | 187 | ], |
183 | 188 | "source": [ |
184 | | - "main(VIDEO_FILE, model, tracker)" |
| 189 | + "main(VIDEO_FILE, detmodel, tracker)" |
185 | 190 | ] |
186 | 191 | }, |
187 | 192 | { |
|
0 commit comments