请问为什么没有提供rpn的量化版本,是不支持siam网络量化嘛?
你说的是DaSiamRPN吗?它由三部分组成,中间有特征图的输出,这对于量化非常不友好。我们现在已经有更好的模型(从速度和追踪效果来看是全面超越DaSiamRPN)https://github.com/opencv/opencv_zoo/tree/main/models/object_tracking_vittrack 我们正在尝试对这个模型量化。
好的,感谢您的回答,希望您们尽快完成量化
这里有一个C++的demo:https://github.com/opencv/opencv/blob/4.x/samples/dnn/vit_tracker.cpp
这里有一个C++的demo:https://github.com/opencv/opencv/blob/4.x/samples/dnn/vit_tracker.cpp
好的 谢谢
@fengyuentau 请教一下,目前opencv 中的vittrack,是不是需要每一个检测出来的目标,都实例化一个VitTrack?这样的话,目标多的时候,性能应该会降低很多。另外,希望给个指导,如果我的图像是GpuMat,从gpu解码得到,使用vittrack时,如何避免download到cpu,跟踪时vittrack又upload到gpu,这样的话应该会效率比较低。
目前opencv 中的vittrack,是不是需要每一个检测出来的目标,都实例化一个VitTrack
不需要,用同一个目标对新的目标调用init就好,见这里https://github.com/opencv/opencv_zoo/blob/ec5b2c8af6b3505b28b7721f7d18528ac22afa2b/models/object_tracking_vittrack/demo.py#L98
如果我的图像是GpuMat,从gpu解码得到,使用vittrack时,如何避免download到cpu,跟踪时vittrack又upload到gpu,这样的话应该会效率比较低
cv.TrackerVit_create创建的实例内部是用Mat进行前后处理的,所以用这个实例无法直接处理GpuMat。你需要模仿TrackerVit用GpuMat实现前后推理。具体代码见https://github.com/opencv/opencv/blob/4.x/modules/video/src/tracking/tracker_vit.cpp。