图片预处理
由于该模型使用的数据集是CROHME比赛提供的数据集,图片均是二值化数据,而用户输入的图片可以是任意的,因此我们需要对传入模型的图片做预处理。
最初我们尝试使用直接将图片进行二值化,得到的效果很不好,因为直接处理会使图片的许多数字符号变得千奇百怪,这直接输入模型得到的latex序列正确率不到20%。
因此,图片处理的好坏直接影响了模型的预测结果。因此我查阅了有关图像处理方向的资料,找到了一种效果较好的方法。
- 首先,将图片转为灰度值
- 其次,根据需求进行二值化处理
处理前后的对比如下:
找了一些图片测试后,发现正确率测试后,为了减少相同风格字体带来的误差,这次找了周围同学写了一些数据集,因为自己标注比较困难,所以只进行了比较少的数据测试,但准确率明显有了较大的提升。
而后又遇到了另一个问题,我们发现有些图片是4通道的,即除了RGB之外,还有一个透明度的通道,如果用户输入这样一张图片,程序可能后崩溃。而不是选择抓错然后反馈给用户,我们选择增强程序功能,将RGBA的图片处理成RGB,然后在按照上面步骤进行二值化。
而RGBA转为RGB的方式有很多,得到的结果也有一些差距,我们通过测试找到了比较适合