xggIoU / centernet_tensorflow_wilderface_voc

This is the unofficial implementation of the "CenterNet:Objects as Points".Just a simple try with self-modified shufflenetv2 and yolov3.If you want better results, you need more experiments.
MIT License
111 stars 25 forks source link

关于标签问题 #7

Open yeyuxmf opened 5 years ago

yeyuxmf commented 5 years ago

感谢提供的开源实现,比源代码容易看多了,结构也很清晰。不过有点小疑问: row1 = int(center_map_int[1]) - 1 row2 = int(center_map_int[1]) + 2 col1 = int(center_map_int[0]) - 1 col2 = int(center_map_int[0]) + 2 mask_gt_batch[x, row1:row2, col1:col2] = 1.0 假设center_map_int[1] = 7, 那么mask_gt_batch[x, row1:row2, col1:col2] 这相当于在6、7、8这三个点的标签等于1,不知道为什么?不是说只是中心点为1么

xggIoU commented 5 years ago

是的,backbone跟官方不一样的。另外这个mask是为了回归bbox,当然可以直接在loss里计算mask。我这里是把中心点3✖3范围作为bbox回归的区域,避免只对应一个点对不准(目标的heatmap的中心点和bbox上的点对准),当然也可以只用中心点回归bbox。这两种方式官方的代码里都有的。从实验上来看,两种都可以。

yeyuxmf commented 5 years ago

谢谢,是我没考虑到。从另一个方面说,相邻点特征相似又有那么一点不同,既相当于增加了损失权重,又增加了网络回归点对特征的鲁棒性。还有一个疑问: mean_coco= [0.408, 0.447, 0.470] std_coco= [0.289, 0.274, 0.278] mean_voc = [0.485, 0.456, 0.406] std_voc = [0.229, 0.224, 0.225] 我硬是没看到这几个值的用处,官方代码也看到了,一样没看到其用在哪里干嘛了(官方代码看了会儿,太难看^-^)。

xggIoU commented 5 years ago

这个是voc和coco数据集上图像的mean和std,归一化的。我这里直接/255.的,所以没用。

yeyuxmf commented 5 years ago

哦,谢谢,正在参考你们的开源去实现。希望后面有机会可以继续交流。

hanjw123 commented 5 years ago

感谢提供的开源实现,比源代码容易看多了,结构也很清晰。不过有点小疑问: row1 = int(center_map_int[1]) - 1 row2 = int(center_map_int[1]) + 2 col1 = int(center_map_int[0]) - 1 col2 = int(center_map_int[0]) + 2 mask_gt_batch[x, row1:row2, col1:col2] = 1.0 假设center_map_int[1] = 7, 那么mask_gt_batch[x, row1:row2, col1:col2] 这相当于在6、7、8这三个点的标签等于1,不知道为什么?不是说只是中心点为1么

请问offset_gt_batch是怎么实现的?

xggIoU commented 5 years ago

根w,h预测是一样的