ifzhang / ByteTrack

[ECCV 2022] ByteTrack: Multi-Object Tracking by Associating Every Detection Box
MIT License
4.85k stars 914 forks source link

is it possible to use your trained model just for detection purpose ? #61

Open ssbilakeri opened 3 years ago

pedromoraesh commented 3 years ago

Of course, you can use it. The detection part is the base for good tracking performance. In this case, they aim to use almost every detection box to improve the tracking step. With this in mind, you can use the model just for detection without sending the boxes to the tracker.

ssbilakeri commented 3 years ago

Thank you for your response.

I have used your trained model on mix dataset as a detector with the deepsort tracker. Though it is not related to ByteTracker . would you find any reason for the below traceback.

please help me to fix it

Traceback (most recent call last): File "/content/drive/MyDrive/working_code_on_backbone_yolox/evaluation_singlcam.py", line 293, in det.detect() File "/content/drive/MyDrive/working_code_on_backbone_yolox/evaluation_singlcam.py", line 183, in detect outputs = self.deepsort.update(bbox_xywh, scores, img0) File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep_sort.py", line 30, in update features = self._get_features(bbox_xywh, ori_img) File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep_sort.py", line 111, in _get_features features = self.extractor(im_crops) File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep/feature_extractor.py", line 44, in call im_batch = self._preprocess(im_crops) File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep/feature_extractor.py", line 38, in _preprocess im_batch = torch.cat([self.norm(_resize(im, self.size)).unsqueeze(0) for im in im_crops], dim=0).float() File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep/feature_extractor.py", line 38, in im_batch = torch.cat([self.norm(_resize(im, self.size)).unsqueeze(0) for im in im_crops], dim=0).float() File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep/feature_extractor.py", line 36, in _resize return cv2.resize(im.astype(np.float32)/255., size) cv2.error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/resize.cpp:3720: error: (-215:Assertion failed) !ssize.empty() in function 'resize'

On Thu, Nov 11, 2021 at 2:30 AM Pedro H. de Moraes @.***> wrote:

Of course, you can use it. The detection part is the base for good tracking performance. In this case, they aim to use almost every detection box to improve the tracking step. With this in mind, you can use the model just for detection without sending the boxes to the tracker.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ifzhang/ByteTrack/issues/61#issuecomment-965741671, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOOYJBIVZCRFHFF3KAXSYJTULLMPBANCNFSM5HUI6HOQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

ssbilakeri commented 3 years ago

for imagePath in imagePaths:

load the image, pre-process it, and store it in the data list

print(imagePath)  #here I have printed the imagename
image = cv2.imread(imagePath)
image = cv2.resize(image, (28, 28))   # 28, 28
image = img_to_array(image)
data.append(image)

if(type(image) == type(None)): passelse: image = cv2.resize(image, (h, w), interpolation=cv2.INTER_AREA)

import cv2

image = cv2.imread('noexist.jpg')try: resize = cv2.resize(image, (64,64))except cv2.error as e: print('Invalid frame!') cv2.waitKey()

On Thu, Nov 11, 2021 at 11:06 AM Shavantrevva Bilakeri @.***> wrote:

Thank you for your response.

I have used your trained model on mix dataset as a detector with the deepsort tracker. Though it is not related to ByteTracker . would you find any reason for the below traceback.

please help me to fix it

Traceback (most recent call last): File "/content/drive/MyDrive/working_code_on_backbone_yolox/evaluation_singlcam.py", line 293, in det.detect() File "/content/drive/MyDrive/working_code_on_backbone_yolox/evaluation_singlcam.py", line 183, in detect outputs = self.deepsort.update(bbox_xywh, scores, img0) File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep_sort.py", line 30, in update features = self._get_features(bbox_xywh, ori_img) File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep_sort.py", line 111, in _get_features features = self.extractor(im_crops) File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep/feature_extractor.py", line 44, in call im_batch = self._preprocess(im_crops) File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep/feature_extractor.py", line 38, in _preprocess im_batch = torch.cat([self.norm(_resize(im, self.size)).unsqueeze(0) for im in im_crops], dim=0).float() File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep/feature_extractor.py", line 38, in im_batch = torch.cat([self.norm(_resize(im, self.size)).unsqueeze(0) for im in im_crops], dim=0).float() File "/content/drive/MyDrive/working_code_on_backbone_yolox/deep_sort/deep_sort/deep/feature_extractor.py", line 36, in _resize return cv2.resize(im.astype(np.float32)/255., size) cv2.error: OpenCV(4.1.2) /io/opencv/modules/imgproc/src/resize.cpp:3720: error: (-215:Assertion failed) !ssize.empty() in function 'resize'

On Thu, Nov 11, 2021 at 2:30 AM Pedro H. de Moraes < @.***> wrote:

Of course, you can use it. The detection part is the base for good tracking performance. In this case, they aim to use almost every detection box to improve the tracking step. With this in mind, you can use the model just for detection without sending the boxes to the tracker.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ifzhang/ByteTrack/issues/61#issuecomment-965741671, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOOYJBIVZCRFHFF3KAXSYJTULLMPBANCNFSM5HUI6HOQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

zxchang-1 commented 2 years ago

I had the same problem,I have used his trained model on mix dataset as a detector with the deepsort tracker too. I wonder if you have solved your problem

Traceback (most recent call last): File "C:/Users/zxc/Desktop/ByteTrack-main/tools/demo_track.py", line 558, in main(exp, args) File "C:/Users/zxc/Desktop/ByteTrack-main/tools/demo_track.py", line 549, in main image_demo_deepsort2(predictor, vis_folder, current_time, args) File "C:/Users/zxc/Desktop/ByteTrack-main/tools/demo_track.py", line 378, in image_demo_deepsort2 outputs = deepsort.update((torch.Tensor(bbox_xywh)), (torch.Tensor(confs)), img_info['raw_img']) File "C:\Users\zxc\Desktop\ByteTrack-main\deep_sort\deep_sort.py", line 29, in update features = self._get_features(bbox_xywh, ori_img) File "C:\Users\zxc\Desktop\ByteTrack-main\deep_sort\deep_sort.py", line 99, in _get_features features = self.extractor(im_crops) File "C:\Users\zxc\Desktop\ByteTrack-main\deep_sort\deep\feature_extractor.py", line 45, in call im_batch = self._preprocess(im_crops) File "C:\Users\zxc\Desktop\ByteTrack-main\deep_sort\deep\feature_extractor.py", line 40, in _preprocess im_batch = torch.cat([self.norm(_resize(im, self.size)).unsqueeze(0) for im in im_crops], dim=0).float() File "C:\Users\zxc\Desktop\ByteTrack-main\deep_sort\deep\feature_extractor.py", line 40, in im_batch = torch.cat([self.norm(_resize(im, self.size)).unsqueeze(0) for im in im_crops], dim=0).float() File "C:\Users\zxc\Desktop\ByteTrack-main\deep_sort\deep\feature_extractor.py", line 37, in _resize a=cv2.resize(im.astype(np.float32)/255., size) cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\resize.cpp:4052: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'