上面的代码利用Python PIL包将文本添加到图像上。由于Mask-RCNN将每个连接的组件视为一个实例,因此在某些语言中,一个字符可以由不同的实例组成。例如,字符"把"包括左和右两个分量。要查找连接的组件,我们可以在skimage包中使用label()函数,如以下代码所示。
生成的训练数据如下图所示。左侧显示输入图像,右侧显示地面实况。正如你可以从右侧某些字符的颜色差异中看到的那样,单个字符可以包含多个实例。
生成的Mask-RCNN训练数据
为了训练Mask-RCNN,我在这个Github Repo中使用了Keras和Tensorflow的优秀实现。我们需要做的是指定Training模型的配置,如下所示。