Comments (8)
在matching目录下有相关代码。先用test_matching.py测试某个数据库,将结果保存成.mat。然后用demo.m可视化,这个是MATLAB代码,但是在开源的Octave上写的,用它测试没问题,不用MATLAB。
from qaconv.
嗯嗯感谢作者!另外还有一个事情没有看懂,相似度结果(response)的形状为[1,hw,h,w],其channels个数为hw,为何经过global max pooling之后channels变成了2*hw。论文中说是“ 2hw for each pair of images”,可是GMP不是只取response的池化结果吗?
from qaconv.
[1, "hw", h, w]经过GMP后变成[1, "hw", 1, 1];同时[1, "hw", h, w]经过permute后可以变成[1, h, w, "hw"],进而reshape成[1, hw, "h", "w"],从而可以再次GMP变成[1, hw, 1, 1]。两个结果concat后就是2hw了。
from qaconv.
感谢解答,这么说的话,GMP就是对response([1,hw,h,w])进行直接最大池化以及permute-reshape后再最大池化,那permute-reshape这一步的含义是什么呢?
from qaconv.
含义是query上的点可以在gallery特征图上找最大匹配,反过来gallery上的点也可以在query图上找最大匹配,就是“最大”这个操作的操作范围在谁上面做。因此permute-reshape就是反过来匹配的意思,而QAConv这个卷积操作是对称的。
from qaconv.
感谢作者耐心的回答!
from qaconv.
作者您好,还有两个问题想向您请教:
(1)您论文开始部分的Fig.2的对应区域匹配效果很好,但是我按您上面提到的方法可视化之后,发现效果并不如您的Fig.2,有不少误匹配的区域,也有一些明显的区域没有匹配成功,不知道如何才能做到类似Fig.2的匹配效果?
(2)您上面提到的,[1, "hw", h, w]经过GMP变成了[1, "hw", 1, 1],同时[1, "hw", h, w]经过permute后可以变成[1, h, w, "hw"],进而reshape成[1, hw, "h", "w"],从而可以再次GMP变成[1, hw, 1, 1]。这里的两个[1, hw, 1, 1]是不是是相同的呢?
from qaconv.
(1) 代码里面设置了一个匹配分数阈值和匹配线个数可以调,一般是调高点只保留下效果比较好的一些匹配图。如果不设置阈值全部匹配都显示的话,那是会有很多错误匹配的,毕竟对于局部匹配而言是弱监督学习。而阈值调高的话,漏匹配也就很常见。我最近的另外一个工作,基于Transformer的(https://arxiv.org/abs/2105.14432),匹配效果会更好一些,后续也会开源出来。
(2) 不是相同的,代表了两个方向的匹配(每个query点从整个gallery图里找最优匹配,还是每个gallery点从整个query图例找最优匹配)。你的引号也很好地指示了区别。
from qaconv.
Related Issues (20)
- Question about backbone HOT 4
- Question about grad clipping in Graph Sampling Based Deep Metric Learning for Generalizable Person Re-Identification HOT 2
- some questions HOT 1
- self.model.eval() HOT 2
- 这个代码可以跑多个训练集混合训练的实验吗? HOT 1
- Dataset setting and memory overflow HOT 15
- Out of memory,--test_fea_batch --test_gal_batch --test_prob_batch all had seted to 128 HOT 16
- Issues about evaluators.py HOT 2
- Unable to use ClassMemoryLoss to train the model HOT 4
- Error about main.py HOT 1
- The Graph Sampling work 相关问题 HOT 2
- Graph Sampler HOT 3
- 复现的小问题 HOT 1
- graph sampling的疑问 HOT 4
- 关于s=1 HOT 2
- where is the "main_gs.py" HOT 1
- Can't find qaconv_loss HOT 5
- OSNet-IBN-GS代码 HOT 3
- 多源域训练/目标域测试 HOT 1
- 训练结果为0 HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qaconv.