我希望了解如何定义内部或内部多边形分割部分的coco数据集我想教卷积网络识别建筑多边形中的洞带孔的多边形示例
的数据
ukqbszuj1#
最好的解决方案是使用RLE(行程长度编码)遮罩定义带孔的形状。在Matterport Mask R-CNN实现中,所有多边形分割都转换为RLE,然后转换为掩码。请查看coco.py中的annToMask()和annToRLE()。多边形的原因是它们存储在json中更有效,并且会缩小注解文件的大小。如果您无法使用实心多边形定义形状,除非你想在COCO中创建自己的自定义注解,并修改你的神经网络,以自己将这些多边形孔转换为RLE,否则你将被困在一个潜在的更大的RLE中。请注意,如果你使用的神经网络只找到边界框,这是不必要的,因为它无论如何都不能返回洞。
iaqfqrcu2#
我还构建了this导出器,用于分割,从掩码到COCO JSON注解格式,同时保留对象中的孔。使用此导出器,您将能够拥有带孔的注解,从而帮助网络更好地学习。
2条答案
按热度按时间ukqbszuj1#
最好的解决方案是使用RLE(行程长度编码)遮罩定义带孔的形状。
在Matterport Mask R-CNN实现中,所有多边形分割都转换为RLE,然后转换为掩码。请查看coco.py中的annToMask()和annToRLE()。多边形的原因是它们存储在json中更有效,并且会缩小注解文件的大小。如果您无法使用实心多边形定义形状,除非你想在COCO中创建自己的自定义注解,并修改你的神经网络,以自己将这些多边形孔转换为RLE,否则你将被困在一个潜在的更大的RLE中。
请注意,如果你使用的神经网络只找到边界框,这是不必要的,因为它无论如何都不能返回洞。
iaqfqrcu2#
我还构建了this导出器,用于分割,从掩码到COCO JSON注解格式,同时保留对象中的孔。使用此导出器,您将能够拥有带孔的注解,从而帮助网络更好地学习。