比OCR更强大的PPT图片转文档重建技术目前office、wps、腾讯文档等主流办公产品都会采用AI技术将图片排版还原为doc格式文档。一般来说,文字多、格式简单的图片效果更好。如果内容丰富,图片转为doc文档,由于图片比例、文档排版插入、丰富背景还原不佳等原因,很多ppt形式的图片无法还原为电子文档。目前,越来越多的资源信息以图像的形式存储,但很多用户在获取图像后需要对图像进行编辑或以电子文档的形式存储。最主流的方法是直接进行OCR提取,但是这种方法不能满足用户排版的需求。目前主流的office、wps、腾讯文档等办公产品都会使用一些技术将图片排版后还原为doc形式的文档。通常情况下,文字多、格式简单的图片效果较好,但如果内容丰富、图片丰富将ppt内容图片转为doc文档时,由于图片比例,文档的局限性排版插入,文档还原度差,适应单一背景和丰富背景,很多ppt形式的图片不能很好的还原成电子文档。QQ研发团队前期推出了基于深度学习的文档重构和表格重构技术文章。该产品也已在腾讯文档、PCQQ、手机QQ上线。最近,我们增加了PPT重建功能。小程序正在建设中,后续会增加更多子功能,如OCR、文档自动选择、摩尔纹去除、图像失真恢复等,欢迎大家通过QQ小程序体验。下面主要介绍PPT重构技术。产品流程如图1所示,效果图如图2所示:图1图片转PPT产品流程图2图片转PPT(左:原图右:PPT)1.图片ppt框架的技术流程项目主要分为三个模块:预处理:包括文档检测与校正、图像摩尔纹去除、文档失真恢复、文档旋转、语义分割等,主要是深度学习,以及GPU上的模型部署。排版分析:每个实体的还原,以及排版处理,逻辑过程都部署在CPU上。后期处理:生成并导出PPT文件图3项目技术模块下面我就来一一介绍一下我们主要模块中用到的技术细节。2.AI模块2.1自动选框用户拍摄的图片一般都不是整齐的图片,因此提取前需要做大量的预处理工作,其中最重要的模块就是对真实的PPT/文档内容进行选框和选框。图4自动选框效果内容选框的技术已有很多,比如图像处理中的边缘提取,但效果并不好,需要大量的后期处理。随着AI的发展,也出现了一些提取边缘的深度学习方法,比如HED网络。前期同事也基于hed进行了模型训练,得到了不错的检测效果。使用的框架图如下:Decoder1分支的简图如下:经过HED处理后,工程的后处理仍然需要大量的规则判断,尤其是在选择候选框的时候加入了太多的规则,如下图所示。因此,我们需要进一步优化模型,减少后处理的复杂工作,优化帧选择的准确性。图5框选择的后处理通过案例分析,我们预测的框通常有更多的背景区域。如果我们通过语义分析知道文档大概的内容区域,然后通过边缘线检测出准确的边界信息,融合信息是不是会更准确呢?复选框。因此在原有的基础上增加了一个分割分支,多任务学习,在decoder模块中分离出两个分支,一个分支学习图像的边缘信息,另一个分支学习图像的语义信息,如如下图所示。图6多任务边缘检测网络图7网络示意图两个分支的编码器部分共享卷积层的权重。在边缘检测分支中,我们还是分成多个block来计算loss,通过se模块对分支进行融合。对于边缘检测,我们希望得到更多的全局信息,所以引入了SEblock,如下图,并在featrueMap上做了attention。图8SEBlock在语义分割分支中,我们使用传递过来的Unet结构。最后将两个分支的损失加权进行训练。在训练过程中,我们的数据来自于模拟和真实数据的标注,另一部分来自于半监督方法通过检测分支的结果获取文档内容得到分割mask。在infer过程中,检测分支获取所有可能的四边形,并根据分割分支的结果计算出miou,选择miou最大的检测框作为最终的选框对象。图9.检测与分割相结合以获得最佳帧。通过对比可以发现,语义分割分支可以获得更准确的检测框。图10验证集验证优化前后对比图,hed验证集miou=88.38,多任务网络miou=90.63,多任务训练方法miou可以提升2个点。2.2图像校正检测PPT文档内容后,我们需要在后续处理前对图像质量进行提升,希望转换后的文件具有更高的还原度。对于图像校正,我们主要做摩尔纹去除、文档旋转校正和畸变修复。2.2.1去除摩尔纹对于截屏图片,摩尔纹会影响我们后续处理的图像质量,所以在对图片进行检测后,我们首先使用一个小的分类模型来判断是否需要对摩尔纹进行处理。如果属于截屏场景,会调用去除摩尔纹模块。去除摩尔纹的网络框架和效果图如下:图11去除摩尔纹网络图12去除摩尔纹效果(左:带摩尔纹的图像:原图右:去除摩尔纹效果)2.2.2畸变恢复检测到四边形后,通过投影变换可以一步矫正图像,但对于畸变图像,光靠图像处理是不够的。我们使用失真恢复模型来恢复图像的失真。这一步对于纸质PPT拍摄和文档拍摄图片比较重要。warpingrecovery的网络框架和效果图:图13.warpingrecovery的效果warpednetwork借鉴了论文DocumentImageUnwarpingviaAStackedU-Net的思路,最近做了比较大的优化,主要结合曲线拟合具有网络结构的算法解决了失真恢复后文本空间轻微抖动的问题,我们稍后会公开这块的技术细节。2.2.3文本旋转OCR也是我们重构的一个重要模块。除了提取图片中的文字信息外,它还具有通过文字检测框获取图片中文字旋转角度的功能。但是,目前的OCR在预测-45--45度之间的角度时更加准确。对于90度和180度旋转的图片,预测的角度不是很准确。我们采用的方案是先通过一个小的分类模型预测图片的象限方向,分类类别为[0,90,180,270]。先把图片旋转到-45~45之间。然后通过OCR预测角度将图片旋转0度。效果如下图所示:图14综合分类模型与OCR模型旋转左图为原图,中图为判断需要旋转180度的图片,右图为原图通过OCR预测角度旋转。2.3实体提取通过以上步骤,我们可以得到比较干净整洁的PPT内容图片。在这一步中,我们需要通过语义分割检测出图片的实体部分,之后再生成PPT。图像到文字和图像到excel的转换都需要此模块。对于PPT图片,我们主要分为文字类、图片类、表格类、背景类。下图是标注语义分割类别的示意图。图15语义分割示意图针对主流框架和基础网络,我们利用PPT的分割数据做了一些实验对比从网络结构的性能分析来看,bisenet更具性价比。我们在项目中使用了Bisenet框架。在学习特征的时候,并行有两个分支,一个是学习空间细节信息,一个是学习高层语义信息,然后融合学习到的信息,更好的学习全局信息和局部信息特征信息。图16BiseNet网络2.4实体恢复上一步我们已经知道了图片中哪个区域是文字、图片、表格,但是直接插入到PPT中会出现很多问题,比如对嵌入文字的处理图片、文本框直接插入背景等问题。我们主要介绍文本和背景的恢复。2.4.1文本恢复经过文本段的实体分割和OCR提取后,可以得到文本框信息。如图17所示,左图为原图,右图红框内为我们获取到的文字区域,但是无法直接获取到字体颜色。图17OCR选中文本框得到文本框后,字体颜色恢复步骤如下:截取文本框区域,如图18(a)所示,自适应二值化文本框区域得到前景和背景,如图18(b)前景颜色计算区域的均值得到前景和背景颜色值,如图18(b),计算点a的像素值rgb的均值对应前景像素区域,并将其设置为字体颜色。图18(a)的文本块区域,背景色为RGB([73.,192.,179]);前景色RGB([207,255,255])图18(c)的文本块区域,背景色RGB([229,250,245]);foregroundcolorRGB([78,156,149])图18获取文本框前景得到字体大小和颜色还原,结合前面的背景重建,我们可以得到最终的还原效果,字体几乎完全还原,如图19所示:图19字体还原效果2.4.2背景还原通过语义分割模型后,我们可以得到前景中的所有实体和背景区域的其余部分。通过实体提取直接在画布上插入,效果如图20。图20背景不做处理,直接插入效果。可以看出,文本区域块与周围其他背景颜色差异太大,过渡特别突兀,如果插入的文本框颜色与文本颜色一致,则无法读取文本清楚地。.所以我们需要通过修复算法重建背景。重建背景、图片、文字、表格,包括图片上的文字即可生成PPT。2.5生成PPT通过以上步骤,我们得到了各个实体模块,并对各个模块进行了还原重构。通过语义分割模块,可以获得各个实体(表格、图片、文本、背景)的相对坐标位置。通过重建模块,可以得到:表格:表格的样式、行列数、单元格中的文本内容图像:文本区域从图像中擦除后,通过impaintingText重建图像内容:文本区域的字体颜色和字体大小Background:擦除前景区域后,通过inpainting重建背景内容,最后根据officeopen依次插入画布上的背景、表格、图片、文本实体xml格式,得到最终可编辑的.ppt格式。腾讯文档通过http请求获取一个.ppt格式的文件,然后将其转换成腾讯文档的在线电子文档进行展示。
