语义分割的标签是与原始图片一一对应的Mask文件,做Mask RCNN需要知道每个图片内部每个对象的类别,边框,Mask。如果我们的手里只有语义分割的Mask标签文件,那么如何训练Mask RCNN网络呢?
1、读取mask文件
2、逐类的使用opencv的fillConvexPoly()方法提取每一个目标的边界线。
3、对一个目标的边界线坐标集,使用opencv的fillConvexPoly()方法填充,获得每个目标的mask二值图,根据边界线集获取x,y的最大最小值,组合成边界框。
class DatasetFromSemantic(torch.utils.data.Dataset):"""将语义分割的标签转换为mask rcnn网络需要的格式"""def __init__(sel