Skip to content

Commit ee68501

Browse files
authored
Merge pull request opencv#26153 from onurcankaraman:sample/trackerUpdate
sample: tracker parameters updated
2 parents e1fec15 + aa11a89 commit ee68501

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

samples/python/tracker.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@
2424
[--nanotrack_backbone NANOTRACK_BACKBONE]
2525
[--nanotrack_headneck NANOTRACK_TARGET]
2626
[--vittrack_net VITTRACK_MODEL]
27+
[--vittrack_net VITTRACK_MODEL]
28+
[--tracking_score_threshold TRACKING SCORE THRESHOLD FOR ONLY VITTRACK]
29+
[--backend CHOOSE ONE OF COMPUTATION BACKEND]
30+
[--target CHOOSE ONE OF COMPUTATION TARGET]
2731
'''
2832

2933
# Python 2/3 compatibility
@@ -37,6 +41,11 @@
3741

3842
from video import create_capture, presets
3943

44+
backends = (cv.dnn.DNN_BACKEND_DEFAULT, cv.dnn.DNN_BACKEND_HALIDE, cv.dnn.DNN_BACKEND_INFERENCE_ENGINE, cv.dnn.DNN_BACKEND_OPENCV,
45+
cv.dnn.DNN_BACKEND_VKCOM, cv.dnn.DNN_BACKEND_CUDA)
46+
targets = (cv.dnn.DNN_TARGET_CPU, cv.dnn.DNN_TARGET_OPENCL, cv.dnn.DNN_TARGET_OPENCL_FP16, cv.dnn.DNN_TARGET_MYRIAD,
47+
cv.dnn.DNN_TARGET_VULKAN, cv.dnn.DNN_TARGET_CUDA, cv.dnn.DNN_TARGET_CUDA_FP16)
48+
4049
class App(object):
4150

4251
def __init__(self, args):
@@ -57,15 +66,22 @@ def createTracker(self):
5766
params.model = self.args.dasiamrpn_net
5867
params.kernel_cls1 = self.args.dasiamrpn_kernel_cls1
5968
params.kernel_r1 = self.args.dasiamrpn_kernel_r1
69+
params.backend = args.backend
70+
params.target = args.target
6071
tracker = cv.TrackerDaSiamRPN_create(params)
6172
elif self.trackerAlgorithm == 'nanotrack':
6273
params = cv.TrackerNano_Params()
6374
params.backbone = args.nanotrack_backbone
6475
params.neckhead = args.nanotrack_headneck
76+
params.backend = args.backend
77+
params.target = args.target
6578
tracker = cv.TrackerNano_create(params)
6679
elif self.trackerAlgorithm == 'vittrack':
6780
params = cv.TrackerVit_Params()
6881
params.net = args.vittrack_net
82+
params.tracking_score_threshold = args.tracking_score_threshold
83+
params.backend = args.backend
84+
params.target = args.target
6985
tracker = cv.TrackerVit_create(params)
7086
else:
7187
sys.exit("Tracker {} is not recognized. Please use one of three available: mil, goturn, dasiamrpn, nanotrack.".format(self.trackerAlgorithm))
@@ -141,6 +157,24 @@ def run(self):
141157
parser.add_argument("--nanotrack_backbone", type=str, default="nanotrack_backbone_sim.onnx", help="Path to onnx model of NanoTrack backBone")
142158
parser.add_argument("--nanotrack_headneck", type=str, default="nanotrack_head_sim.onnx", help="Path to onnx model of NanoTrack headNeck")
143159
parser.add_argument("--vittrack_net", type=str, default="vitTracker.onnx", help="Path to onnx model of vittrack")
160+
parser.add_argument('--tracking_score_threshold', type=float, help="Tracking score threshold. If a bbox of score >= 0.3, it is considered as found ")
161+
parser.add_argument('--backend', choices=backends, default=cv.dnn.DNN_BACKEND_DEFAULT, type=int,
162+
help="Choose one of computation backends: "
163+
"%d: automatically (by default), "
164+
"%d: Halide language (http://halide-lang.org/), "
165+
"%d: Intel's Deep Learning Inference Engine (https://software.intel.com/openvino-toolkit), "
166+
"%d: OpenCV implementation, "
167+
"%d: VKCOM, "
168+
"%d: CUDA"% backends)
169+
parser.add_argument("--target", choices=targets, default=cv.dnn.DNN_TARGET_CPU, type=int,
170+
help="Choose one of target computation devices: "
171+
'%d: CPU target (by default), '
172+
'%d: OpenCL, '
173+
'%d: OpenCL fp16 (half-float precision), '
174+
'%d: VPU, '
175+
'%d: VULKAN, '
176+
'%d: CUDA, '
177+
'%d: CUDA fp16 (half-float preprocess)'% targets)
144178

145179
args = parser.parse_args()
146180
App(args).run()

0 commit comments

Comments
 (0)