researchmm / TracKit

[ECCV'20] Ocean: Object-aware Anchor-Free Tracking
MIT License
610 stars 98 forks source link

配置文件中的RANGE: 1 , USE: 60000作用是什么? #66

Closed codylcs closed 3 years ago

codylcs commented 3 years ago

[您好,配置文件的两个参数RANGE,USE是起什么作用呢?训练的时候哪里用到了(搜了下整个项目,没有找到两个参数)?]

codylcs commented 3 years ago

self.frame_range = info.RANGE self.num_use = info.USE 代码找到了,疑问还在,这两个参数可以改动吗?会有什么影响?

JudasDie commented 3 years ago

self.frame_range = info.RANGE self.num_use = info.USE 代码找到了,疑问还在,这两个参数可以改动吗?会有什么影响?

hi,可以改动,frame range确定了合适的搜索范围,num_use是使用的训练量,至于结果可能只能看下实验结果,不合适的选pair搜索范围会让结果变低。

codylcs commented 3 years ago

self.frame_range = info.RANGE self.num_use = info.USE 代码找到了,疑问还在,这两个参数可以改动吗?会有什么影响?

hi,可以改动,frame range确定了合适的搜索范围,num_use是使用的训练量,至于结果可能只能看下实验结果,不合适的选pair搜索范围会让结果变低。

感谢回复,看代码了,是多个数据集混合训练的时候,先针对单个数据集扩充到self.num_use大小,再进行shuffle,所有数据集添加完后再进行shuffle,而self.frame_range是指的是单个视频x和z的跨帧搜索范围,这里的话如果用单个数据集,并改变了数据集视频数量时,设置num_use为数据集的视频个数是合理的,可以这么理解吧?(题外,不看OCEAN的指标的话,泛化能力还是比SIAMFC++好的,尽管都用的是anchor free)

JudasDie commented 3 years ago

self.frame_range = info.RANGE self.num_use = info.USE 代码找到了,疑问还在,这两个参数可以改动吗?会有什么影响?

hi,可以改动,frame range确定了合适的搜索范围,num_use是使用的训练量,至于结果可能只能看下实验结果,不合适的选pair搜索范围会让结果变低。

感谢回复,看代码了,是多个数据集混合训练的时候,先针对单个数据集扩充到self.num_use大小,再进行shuffle,所有数据集添加完后再进行shuffle,而self.frame_range是指的是单个视频x和z的跨帧搜索范围,这里的话如果用单个数据集,并改变了数据集视频数量时,设置num_use为数据集的视频个数是合理的,可以这么理解吧?(题外,不看OCEAN的指标的话,泛化能力还是比SIAMFC++好的,尽管都用的是anchor free)

如果单个数据集特别大话设置为数据集数量还是有点难搞,如果数据集太小设置为数据集数量可能会没收敛,我一般设置为20w,比如我在AntiUAV或者VISTRONE上面fintune时候。另外如果不考虑VOT的话,你可以试试训练20epoch,然后把end学习率从0.00001调到0.0005,应该结果差不多。Ocean比siamfc++在一些比较难的情况下可能会稳定点,比如你可以看oceanplus的paper里面测试base tracker在VOT2020这种很stable的测试方法下面,ocean还是比大多数siamese稳定的。 image

codylcs commented 3 years ago

谢谢您的建议,使用OCEAN的目的是针对特定场景的,暂时不考虑通用的目标跟踪, 另有关于数据集crop的疑问: 数据集预处理的时候,需要预先使用par_crop.py生成X.jpg和Z.jpg,而训练加载数据集做数据增强的时候又没有用到z.jpg, template, , = self._augmentation(template_image, template_box, self.template_size) search, bbox, dag_param = self._augmentation(search_image, search_box, self.search_size, search=True) line_97,98 这是出于什么目的啊?数据增强的话做shift,坐标肯定也不是原有z.jpg目标的坐标了

JudasDie commented 3 years ago

谢谢您的建议,使用OCEAN的目的是针对特定场景的,暂时不考虑通用的目标跟踪, 另有关于数据集crop的疑问: 数据集预处理的时候,需要预先使用par_crop.py生成X.jpg和Z.jpg,而训练加载数据集做数据增强的时候又没有用到z.jpg, template, , = self._augmentation(template_image, template_box, self.template_size) search, bbox, dag_param = self._augmentation(search_image, search_box, self.search_size, search=True) line_97,98 这是出于什么目的啊?数据增强的话做shift,坐标肯定也不是原有z.jpg目标的坐标了

其实生成数据集时候,你可以取消掉代码里面生成z的部分,只保留x就行。z其实就是x中心那块,所以直接加载x然后center crop就好。

codylcs commented 3 years ago

谢谢,那就不生成z.jpg了,小图片真的太占空间了,泪奔,如果可以提供youtube_BB的原始视频的百度云下载链接就更好了,这个原始数据集太大了,没有合适的渠道拿到,如果数据集只有10G的话,下载没多大问题,您那还有原始视频云盘链接吗?

JudasDie commented 3 years ago

谢谢,那就不生成z.jpg了,小图片真的太占空间了,泪奔,如果可以提供youtube_BB的原始视频的百度云下载链接就更好了,这个原始数据集太大了,没有合适的渠道拿到,如果数据集只有10G的话,下载没多大问题,您那还有原始视频云盘链接吗?

我这边也没,之前是在公司下载的,我记得好像很多个T,云盘估计都放不下。

codylcs commented 3 years ago

谢谢,那就不生成z.jpg了,小图片真的太占空间了,泪奔,如果可以提供youtube_BB的原始视频的百度云下载链接就更好了,这个原始数据集太大了,没有合适的渠道拿到,如果数据集只有10G的话,下载没多大问题,您那还有原始视频云盘链接吗?

我这边也没,之前是在公司下载的,我记得好像很多个T,云盘估计都放不下。

100多个G,那就用公开的Crop_511吧,感谢回复,祝科研顺利,问题就此关闭了