这段时间在做表格还原的工作,属于版面分析的一个模块。目前已经能做到截图/扫描/拍照表格图像检测,表格信息提取和html写入。可以多平台使用,不需要微软的接口。但在结合ocr的文本检测和文本识别确定表格内容的过程中,只通过单元格坐标和文本检测的坐标设定规则去判定文本是否属于该单元格具有较大的风险。一是极大依赖文本检测和表格坐标提取的准确度,二是,表格框和文本检测框的重叠方式有多种,规则难以自适应。所以想到了借鉴目标检测的IoU思路作为判别条件,同时增加表格是否存在内容判别算法,可进一步减少还原误差。但是在实践过程中发现,原版的IoU并不适用表格和文本框场景。自己根据具体的情况设计了新的IoU判别思路,并仔细学习了最近两年关于IoU的改进论文。本篇博客主要参考GIoU和DIoU,欢迎交流。
DIoU的论文《Faster and Better Learning for Bounding Box Regressing》阅读笔记:
主要内容:文章讨论了IoU和GIoU的弊端,提出了一种CIoU(Complete IoU)用于框回归以及用于NMS的Distance-IoU(即DIoU),并对比了IoU,GIoU和DIoU。DIoU在经典的YOLOv3,SSD和Faster R-CNN检测算法中使得mAP获得了可喜的提高。文章提出,一个好的框回归损失函数必须考虑三个因素:重叠区域,宽高比例和中心点距离。关于IoU,GIoU和DIoU在训练中对比的可视化如图1:
IoU梯度更新时,如果重叠区域为0,则无法跟新梯度信息。知道交并比计算值大小,无法得知实际交并情况。如下图2:
显然最左边的回归效果最好,最右边最差。GIOU则是通过扩大边框尺寸去将目标框包含进来,而DIOU是一开始就不断减少和目标框的距离。从GIOU的损失计算公式上看,GIOU极度依赖IOU项,实验中,GIOU需要更多的迭代计算达到收敛的目的。