guxinqian / ap3d Goto Github PK
View Code? Open in Web Editor NEWPytorch implementation of "Appearance-Preserving 3D Convolution for Video-based Person Re-identification"
License: Apache License 2.0
Pytorch implementation of "Appearance-Preserving 3D Convolution for Video-based Person Re-identification"
License: Apache License 2.0
self.train_name_path = osp.join(self.root, 'info/train_name.txt')
self.test_name_path = osp.join(self.root, 'info/test_name.txt')
self.track_train_info_path = osp.join(self.root, 'info/tracks_train_info.mat')
self.track_test_info_path = osp.join(self.root, 'info/tracks_test_info.mat')
self.query_IDX_path = osp.join(self.root, 'info/query_IDX.mat')
could you provide the info folder?
I require a small clarification on my understanding of inflate_* functions.
If time_dim = 1, the inflate_* functions still behave like 2D functions.
i.e., inflate_conv will make the conv2d layer to conv3d layer, but still behave like conv2d layer, since time_dim=1.
Is that correct?
Or Is there any other advantage in inflate_* functions?
Thanks in advance!
每组实验跑下来,测试精度逗比训练精度高一点,这是为什么呢?还是说我代码没有跑正确,求教!!!
邮箱:[email protected]
在尝试将该项目迁移到其它框架上,由于特殊的问题无法加载权重, 因此在训练过程中出现欠拟合情况,loss无法下降,准确率也无法提升。 是否不加载这个权重就会难以拟合
python train.py --root /home/guxinqian/data/ -d mars --arch ap3dres50 --gpu 0,1 --save_dir log-mars-ap3d
这个mar文件夹是用来存放什么的。
在10个epoch后训练的准确率就一直在99-100%浮动,然后mAP和Rank-1提不上去
Excellent work! I noticed that you have compared different approaches for temporal information modeling in Table 2. I wonder how did you perform Deformable 3D Conv? Is it identical to our recently published D3Dnet? (https://github.com/XinyiYing/D3Dnet)
D3D is an effective approach for motion-aware spatio-temporal modeling and works well for video super-resolution. Did it fail in the Video-based Person ReID task?
请问一下为什么duke数据集的结果 非常低?
For MARS dataset, the gallery has 9330 tracklet, but why get [11310,2048] matrix for gallery set?
I follow the instructions of training and test description, but I could only get top1:89.9% top5:97.0% top10:97.9% mAP:84.3%.
Could you kindly please give me some hint to improve?
Thanks for your great work!
I am studying your code, and I find that in the implementation of contrastive attention, you use a detach() trick like:
x_att = self.x_mapping(x.unsqueeze(3).expand(-1, -1, -1, N-1, -1, -1).contiguous().view(b, c, (N-1)*t, h, w).detach())
n_att = self.n_mapping(neighbor_new.detach())
contrastive_att = self.contrastive_att_net(x_att * n_att)
neighbor_new = neighbor_new * contrastive_att
which indicates that you don't want the gradients to be broadcast. I want to know the exact reason of the detach() usage. And have you tried to train and test your network without detach(), how about the performance under such condition? Thank you very much!
x_norm_expand = x_norm.unsqueeze(3).expand(-1, -1, -1, N-1, -1, -1).permute(0, 2, 3, 4, 5, 1)
虽然能够理解利用拷贝进行相关矩阵的计算的操作,但是这里的扩维和expand操作是为什么呢,在之后的contrastive_att中也是,因为之前接触其它方向的时候没见过6维Tensor
Hi Xinqian,
To replicate only I3D results, do we need to change anything else except AP3D.APP3DC ---> AP3D.I3D
in L168
of ResNet.py
? If I only do this change, I get 3% mAP difference according to Table 1.
如题,下载了您的源代码和MARS数据集,进行源代码的运行时
for batch_idx, (vids, pids, _) in enumerate(trainloader):
中总是满足
if (pids-pids[0]).sum() == 0:
# can't compute triplet loss
continue
即pids总是相等的一组值。这是为什么
AP3D中def init(self, conv2d, **kwargs): 之类的函数中将conv2d作为参数传入,但是没找到它是怎么申明的,是直接用的torch.nn.Conv2d吗
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.