GraphFPN中输入变量的格式问题
Opened this issue · 9 comments
您好,我在调试fpn.py中的FPN类中遇到问题:请问变量img_metas的格式是什么?如果您能分享您的原始数据,我将十分感谢!992202340@qq.com
def forward(self, inputs, img_metas):
"""Forward function."""
assert len(inputs) == len(self.in_channels)
#sp_values = []
sp_positions = []
#sp_edges = []
for i in range(len(img_metas)):
img_meta = img_metas[i]
filename = img_meta['ori_filename'][0:-4:1]
for scale in range(4):
filename = '/data1/zhaogangming/cob_train_'+str(4**(scale))+'_superpixel/'+filename
#sp_value_name = filename+'value.npy'
sp_position_name = filename+'position.npy'
#sp_edge_name = filename+'edge.npy'
if os.path.exists(sp_position_name):
sp_positions.append(np.load(sp_position_name, allow_pickle=True))
#sp_values.append(np.load(sp_value_name, allow_pickle=True))
#sp_edges.append(np.load(sp_edge_name, allow_pickle=True))
else:
sp_positions.append([])
请查看cob中的superpixel处理方式,和mmdetection对img_metas的基础定义。
您好,请问我使用Slic超像素分割的方法构成节点。发现Slic超像素分割的方法并不能固定产生超像素个数,导致我无法进行批量训练。请问这个怎么解决?
请问您是通过聚合超像素块来完成图节点池化操作的吗?如果是的话,请问是按照什么规则聚合超像素块呢?
这个合并操作是指对应的节点特征向量求平均吗?那么池化后的邻接矩阵如何获得?
我猜的是,你用的Graph-UNet的TopK池化方法,这样的话就可以很容易获得池化后的节点特征以及邻接矩阵。不知道我理解(猜)的对不对。。。
然后是经过Graph-UNet的图上采样后,将每个节点特征向量再根据超像素分割的索引返回去每个超像素块吗?比如第一个节点特征向量就赋给第一个超像素内所有像素点。
实在不好意思,我水平有限,以及刚刚接触mmdetection。所以我就按照我读完论文后自己的理解问了一些问题。