tsing90 / pytorch_semantic_human_matting

This is an unofficial implementation of the paper "Semantic human matting":
https://arxiv.org/pdf/1809.01354.pdf
83 stars 18 forks source link

test m_net #32

Open Tomhouxin opened 4 years ago

Tomhouxin commented 4 years ago

在测试test里的m_net时候,发现代码跑不通,原因如下 1, trimap = np.eye(3)[trimap.reshape(-1)].reshape(list(trimap.shape) + [3]) 这里应该是准备把一通道的trimap变成三通道,但np.eye(3)[trimap.reshape(-1)]会out of bounds,3*3的对角矩阵下标越界

2,frame_seg = seg_process(args, (tensor_img, tensor_tri), net, trimap=trimap_src) 应该把最后一个参数去掉,seg_process方法没有这个参数

Tomhouxin commented 4 years ago

np.eye(3)[trimap.reshape(-1)]之所以会越界,是因为T_net的结果trimap image 除了0 128 255以外,还有(0,128)区间的值,这部分值应该是属于unknown区域,这样也就形成了如下透明边缘 image 如果理解有误,望指出 为了保证M_net输入trimap正确,我暂时把(0,128)区间的值都变成了1, image 但这样应该是会对最终结果有较大影响

wuzb19951013 commented 4 years ago

我发现转换为png格式的trimap输出可以改善这个结果

ulnay commented 4 years ago

png 格式的trimap 没有压缩,jpg的话会压缩,从而出现了0-128之间的值