4
4
import glog as log
5
5
from openvino .inference_engine import IECore
6
6
7
- from torchdet3d .utils import draw_kp , Regressor , Detector , OBJECTRON_CLASSES
7
+ from torchdet3d .utils import draw_kp , Regressor , Detector , OBJECTRON_CLASSES , MultiCameraTracker
8
8
9
9
10
10
def draw_detections (frame , reg_detections , det_detections , reg_only = True ):
@@ -34,6 +34,9 @@ def run(params, capture, detector, regressor, write_video=False, resolution = (1
34
34
vout = cv .VideoWriter ()
35
35
vout .open ('output_video_demo.mp4' ,fourcc ,fps ,resolution ,True )
36
36
win_name = '3D-object-detection'
37
+ tracker = MultiCameraTracker (1 , None , visual_analyze = None )
38
+
39
+
37
40
has_frame , prev_frame = capture .read ()
38
41
prev_frame = cv .resize (prev_frame , resolution )
39
42
if not has_frame :
@@ -46,7 +49,11 @@ def run(params, capture, detector, regressor, write_video=False, resolution = (1
46
49
frame = cv .resize (frame , resolution )
47
50
detections = detector .wait_and_grab ()
48
51
detector .run_async (frame )
49
- outputs = regressor .get_detections (prev_frame , detections )
52
+
53
+ tracker .process (prev_frame , detections , None )
54
+ tracked_objects = tracker .get_tracked_objects ()
55
+
56
+ outputs = regressor .get_detections (prev_frame , tracked_objects )
50
57
51
58
vis = draw_detections (prev_frame , outputs , detections , reg_only = False )
52
59
cv .imshow (win_name , vis )
0 commit comments