1天学会搭建营销网站昆山专业做网站

diannao/2026/1/21 14:41:41/文章来源:
1天学会搭建营销网站,昆山专业做网站,专业做网站网络,基于响应式设计的网站建设原文链接#xff1a;https://cloud.tencent.com/developer/article/1425800 嘉宾 | 向宇波编辑 | suiling来源 | AI科技大本营在线公开课出品 | AI科技大本营#xff08;ID#xff1a;rgznai100#xff09;随着行业的发展和技术的成熟#xff0c;文字识别#xff08;OCRhttps://cloud.tencent.com/developer/article/1425800 嘉宾 | 向宇波编辑 | suiling来源 | AI科技大本营在线公开课出品 | AI科技大本营IDrgznai100随着行业的发展和技术的成熟文字识别OCR目前已经应用到了多个行业中比如物流行业快递包裹的分拣金融行业的支票单据识别输入交通领域中的车牌识别以及日常生活中的卡证、票据识别等等。OCR文字识别技术是目前常用的一种AI能力。但一般OCR的识别结果是一种按行输出的半结构化输出。本次公开课我们邀请到了百度高级研发工程师向宇波老师他将在12月20日周四带来一场主题为《基于模板的文字识别结果结构化处理技术》的分享。本课程从百度自定义模板文字识别展开从理论到案例详细介绍OCR结构化的相关技术并理清OCR和结构化之间的关系和适用场景。向宇波大家好我是来自百度AI技术生态部的研发工程师我叫向宇波今天给大家带来的分享是基于模板的文字识别结果结构化处理技术我们主要讲的是文字处理结果的结构化。 文字识别行业现状我们从一个财税案例的角度出发。大家在公司里肯定都做过报销报销的时候我们都会有出租车票、定额发票等我们需要将各种发票贴到纸上然后提交上去由财务来做后面的事情。通常来说他们其实做的都非常辛苦要耗费大量的人力来进行人工录入。这样的话不仅成本很高而且耗时也很长人工录入的话还有可能会出错。我们能不能够通过用文字识别的方式来解决这个问题呢比如把这个流程变成这样我们在中间加一层不是人工录入而是通过一个识别系统首先我们把这些票据通过图像采集设备例如高分辨率扫描、拍照这种方式转换成图像然后通过文字识别技术把图像上的文字识别出来再经过一个数据的结构化最后输入到财务系统。这样能节约大量的人力物力也能够提高效率及准确率。其关键部分是在识别之后做一个结构化处理。我们来看一下多模板的结构化识别。首先来说我们从刚刚的例子也能看得到哪怕是一个很简单的报销过程也涉及到很多种票据例如火车票、定额发票等等。现实生活中这种票据非常多。所以我们的结构化方案要能够支持多种模板。一般来讲OCR识别出来的结果是单纯的一行一行文字这样业务处理起来会比较困难key value形式的结构会比较好处理。我们用一个例子来解释比如我们识别一张火车票这个火车票上面有一行文字是始发站然后是车次、到达站。如果直接处理识别出来的那一行文字相对麻烦因为需要去切分出各个字段。但是如果我们的识别结果有结构那处理起来就会容易很多。通过key value的形式检索我就能够知道我的始发站北京南然后到达站天津、车次。所以结构化给业务处理带来了极大的便利。接下来我们看一下文字识别分类。通常来说文字识别分为两个大类一种是通用文字识别另一种就是专用垂类识别。通用文字识别就像刚刚提到的对一个图片来说识别结果会以行的形式输出同时会有比较准确的文字坐标这种按行输出的结构可以称之为半结构化它只能告诉你在这一行在这一行从上到下罗列没有真正意义上的key value结构。专用垂类识别的结果有结构比如说对于身份证其实我们知道所有身份证都长的一样我们能够知道身份证上这个地方是姓名这个地方是性别这个地方是民族所以我们能够返回的时候就告诉你姓名是什么性别是什么生日是什么。常见的专用垂类还覆盖几类常见卡证像身份证、银行卡、增值税发票这些。但是开发一个专用垂类识别通常来说需要花比较多的人力物力才能够达到一个比较高的准确度所以它的开发周期和人力成本都比较高。整个看来业务处理需要不同板式的文字识别并且希望能够结构化但是如果把它们变成专用的垂类模板来就会面临成本很高周期很长的情况。基于这些矛盾我们推出了一个基于模板的文字识别结果的结构化方案。给大家做一个例子来演示比如用火车票。我有一个火车票的模板就是就拿我自己的火车票举例大家可以看到我的始发站、终点站都有了。然后我们可以再做一个模板这次可以换一个增值税发票的。首先我们上传一张模板的底图所有的增值税发票都长的差不多。然后我现在来选一些参照字段选这个纳税人、开票日期、税率、开票人、小写、收款人、价税这样就差不多了。比如说我想要识别这个大写的金额保存。就可以选择另外一张这两张显然是不一样的。我们来看一下应该是这张可以看到这里写的是1000元整这样的话我们也可以多框选一些别的字段就可以像刚刚火车票一样在这边在页面上就可以测试出来我们想要的字段都能够给它结构化按key value的形式找到。基于模板的文字识别结构化流程刚刚说的看起来操作很简单但其实在它的背后我们做了一系列的操作。这个就是我们对整个文字识别结构化的流程它经历了4个大的步骤4大流程。首先是图片摆正然后是模板匹配、多次摆正最后是结构化。对于图片的摆正来说首先我们会进行一次文字识别然后基于文字来寻找参照字段。我们通过参照字段来选择参照字段能够围成的最大面积的四边形根据这个四边形来计算透视投影矩阵并做一系列的图像变换然后再计算所匹配的程度。如果足够匹配了OK那我们结构化如果没有匹配并且没有达到我们的匹配次数上限我们是可以再来一次尝试多次摆正摆得更好一点。基于深度学习的文字识别 我们来讲一讲基于深度学习的文字识别。首先大体上来说有两种方式一种是单字检测加上单字识别另一种是行检测加上行识别。单字检测就是把文字当做一般的物体检测任务例如可以用faster-rcnn这个网络去做每一个字都可以当做一个小物体。检测出来的单字再用单字识别处理本质上是个多分类任务。行识别就不再是检测一个一个字而是一个文本行。一般来说文本行的特征有高度不是很高但是可能一行字会比较长它其实是类似于小竖条然后横着摆过来一个很长条的。对通常的物体检测模型做改造然后去检测其中一个好的例子就是cptn。然后把一行文字导出来之后再来识别就可以当做是一个序列标注的问题了。当然现在也有这种端到端的是大家正在做的一些方向。 基于模板的图片摆正 我们再回到刚刚的模板。模板可以认为是一个标准的底版定义的结构比如这个定额发票其实我们一开始就知道我们需要识别的部分在模板上的位置在这个票据上我就知道这个发票代码它其实就在这儿发票号码在这儿金额在这儿。如果每张图都长这样其实就很简单。但实际上来识别的图都不像模板一样摆的那么正识别的区域在图片上的位置不是固定的比如有可能我上传的图是这样如果按照固定位置扣取很可能什么都扣不到。所以我们需要有一种方案也就是刚刚说的摆正那套流程希望把所有待识别图都摆的跟模板一样正。我们选用的是透视投影方法来做图片的摆正尽可能的把待识别的图跟模板图对齐这样比较方便后面提取字。透视投影变换的时候需要4组从待识别图到模板图对应的点对。也就是说像这样比如这个发票的票字它在这儿但是识别图上在这儿模板上在这儿这边一个发票号码然后各种类似这样的对应起来的点对。通过这4组点对可以计算一个透视投影矩阵做透视投影变换。我们通过框选模板上固定字段来做参照字段进而通过文字匹配方式寻找对应点对。通常一个票据它的板式固定那么它就符合我们刚刚说的那种条件是对应的点对。如果参照字段有多个这个时候可能就会遇到一个问题了。比如说对于这个票据来说它虽然很简单在上面可以提取的字也只有1、2、3、4、5比如说我只提取了5个字段作为参照字段但是计算索引的时候只需要4个点此时需要取舍。比如这儿虽然只有5个字段但实际组成的点对个数其实是比较多的比如这个蓝线的可以算一个这个红线这一圈也可以算一个。我们经过一些实验当然从主观上看也能够想到参照字段越分散它摆正的效果越好。可以这么理解越分散的时候每一个点它能够管辖的区域就越存在这个票面的四周那么它摆的时候相当于说你从一个更高的维度或者一个更大的范围去摆那么摆完的效果肯定比在一个小范围内去拉动其他地方来摆的误差小。 然后怎么样来衡量这个分散的程度我们选用面积作为衡量四边形分散程度的指标。我们选面积的一个原因是好计算四边形可以当做是两个三角形只要有坐标那么两个三角形的面积很好计算。另一个其实说分散是很难衡量的如果转化成面积的话其实面积就是一个数比较好度量比较。 模板匹配 我们把待识别图做了透视投影之后接下来要计算它和模板匹配的程度。因为有的时候比如说这个时候识别的文字并不是太好我摆了一下然后这个时候我发现我可以识别的字更多了而且第一次摆的时候我能识别得更多但是发现这个时候摆的还不够那我怎么能知道它摆得不够好就需要来计算和模板的匹配程度。我们在这个地方选择的是用新的透视投影矩阵来计算摆正的程度。用新的透视投影矩阵计算摆正图片四顶点和模板四顶点的距离来判断匹配程度。比如刚刚我们摆正之后这个图的四个顶点和模板底图的四个顶点有三个点都是比较近的然后这个点相对来说远一点就可以通过这种距离的方式来判断它的匹配程度。如果这个点通过摆正之后计算出来它到了这个位置那么距离的差其实就很小了就可以认为它已经摆的非常好了所以我们选择的是用这种策略来判断它匹配的程度。当然如果摆得很歪这儿离得也很远整个是这样一个倾斜的角度如果和模板原图的四个点其实距离比较远是能够判断出去这个时候匹配得不够好可能还要再去做一次。刚刚说到了多次摆正也就是说我可能会计算多个透视投影矩阵。这个时候我们用到了一种技巧就是透视投影矩阵的一个栈来操作。如果对级联透视矩阵有了解的同学就知道我们通常来说透视投影的乘法是倒着乘的。比如这里的一个公式M1代表的是透视投影之后的一个结果M_origin表示是原图的矩阵然后乘透视投影矩阵。如果它只有一次摆正的时候只有一个透视投影矩阵这个时候它就等价于那个结果就是用原图乘以这个透视投影矩阵。但有可能中间我们在处理的时候发现没有摆正可能这个时候就会计算出很多个透视投影矩阵我们就会把它们都重复地往透视投影矩阵的栈里面压入。这个时候我们乘以透视投影矩阵栈就等价于原图逆序乘以矩阵栈中每个元素。 为什么一定要费劲来用这个透视投影矩阵栈我倒着乘它从origin倒着乘M2再乘M1和乘M2、M1它俩的解读要加一个括号其实是一样的从矩阵上是这样。但是因为我们其实还是对图片做透视投影如果单纯的类似括号的方式处理的话它先乘以M2它可能会把这个角扭到这儿这个角往里收可能会有一些图超出了图片原本的大小。那么在最后的一步处理的时候会进行一个裁剪如果它有超出的部分那么这个部分其实就已经被抛弃了。即使我后面希望再把它扭回来其实那部分的信息已经永远丢失。所以我们在这个时候有一个透视投影矩阵栈虽然它是逆着出来的但其实计算的时候是先把这个矩阵栈里边做了一个相当于加括号的优先计算以保留原图的全部信息。 多类型结构化 我们经过一系列的摆正操作之后图片就跟模板比较接近了可以对它进行一个识别结果的结构化处理。从刚刚我们的演示操作能看得到我们的处理通常来说是有一个固定的识别区就像刚刚火车票的这种始发站、车次号、终点站我们识别出来是每个字有个小方框。我们对于这种固定识别区来说操作相对比较简单可以根据单字矩形框的待识别区矩形框的交并比来判断是否属于某个字段。就像这样比如说我们框的北京框是这儿对于北京南这三个字完全处在起点站这个待识别区的内部。OK那就可以确定它俩肯定是起点站这个识别区的内容。对于站这个字虽然它也沾了一点但是这个字的矩形框和整个待识别区矩形框的交并比并不多所以我们就把它抛弃掉。对于车次来说我们正好把这个全部框住所以它们都是。对天津两个字跟北京南的情况类似。对于这种简单的情况可能就结束了。对于更复杂的比如说成段落的比如说我框了整个这一片的时候我们就需要做纵横双向排序来自动处理跨行文字的拼接。什么意思比如这两行我会先对文字做一个上下的排序所以第一行的字肯定拿出来会在第二行的前面所以需要先对纵向每一个字做比较然后把它们先分成上下两行。然后再看那两行之后按照左右来排序这样排完之后出来的结果才是顺序的从左到右第一行然后第二行这样的关系。还有一种表格识别区。比如这个地方这个识别区就是某一种体检的结果可以很明显地看到它是一种表格而且它没有线它既没有横线也没有竖线。我们需要把整个表格的结构从文字重新构建出来我们在这个地方采用的是一种自底向上的表格构建方式用先列后行的方式来减少非刚性形变的影响。比如说我们识别完了之后现有单字的位置比如前白蛋白4个字的坐标我们先从单字的坐标开始来构建组成一个字段关系。比如我们现在有4个字我们根据位置关系把它组合成一个字段这样的话我们就知道它们是一个整体不可拆分。通常来说表格的这种一个单格的内容确实是不可拆分的。然后我们根据它的横向的位置关系来串成列其实就有点像串冰糖葫芦一样。比如这个我们知道其实所有的字段它的横向位置都在这个区域我们就可以把它们都这样串起来像串糖葫芦一样串成一列。另外的两列也可以做类似的操作但最后读的时候是一行一行读比如糖、5.04。按列之后再每次取列的头部字段来根据高度信息组装成行。比如在这儿就是糖这一列取第一个就是糖第二列取第一个就是5.04第三个就是取这个。 这种方式能够一定程度上地减少对于非刚性形变的影响。比如说什么叫刚性形变什么叫非刚性形变比如像现在是个平铺的就是一个很薄的很平整的一个面片把它做仿射变换都是刚性的但如果是弯曲这种扭过来折痕这种其实就称为非刚性形变。那么它们的相对位置可能会有一些波纹型的变化这种会比较难以处理。我们现在就把结构化的两个方式讲完了总结一下还是对应到刚刚的4个大的流程一个是图片摆正一个是模板匹配计算和模板匹配的程度如果匹配的还不错匹配上了OK那我们就进行结构化去提取我们事先定义好的待识别区和表格识别区。但如果很不幸我们摆的还不够正那可能就会需要去做多次摆正这样一个操作力求把它跟模板匹配得比较好最后再做结构化。 迁移学习与图像分类 下面给大家介绍一下我们这个产品的分类器。为什么需要分类其实根据第一个财税的例子来看可能我们会报很多种票据比如说出租车票、增值税发票。一般来说我们传的时候是一张一张传但汇聚到财务的时候那就是一堆了财务其实对不同的票据处理方式都不一样所以非常需要把它们区分出来。比如说对增值税发票有可能你报了那个发票多会对公司有什么减税别的人只是单纯的报销。最近我们也提出了对模板进行分类。其实最简单的一个想法是如果我们是按图片它就是一个简单的图像分类。我们可以采用的方案是基于迁移学习的一个图像分类所谓迁移学习就是在已有的分类任务上效果比较好的CNN的模型在别的分类任务上面也有不错的效果大家都知道比如ImageNet比赛有很庞大的数据如果在那上面运行的预训练模型的结果不错那么用它提取出来的特征在别的分类上效果也不错。第二就是迁移学习能够极大地减少训练数据需求的量还有训练时长。我们的分类除了基于图像还有关注到它基本都是票据类的图像它其实是包括文字的所以我们也结合了文字的特征来进行一个分类。首先是把整张图过一遍CNN的模型提取出它的图像的特征然后还要结合它的OCR出来的文字提取它的文字特征。最后把两种特征进行一个融合然后再去训练最终的分类器。 可以给大家看一个例子。比如在这里有一个分类器管理我们可以看到我现在已经有的三个分类器点编辑进去看一看。我现在能分的就是车牌跟火车票可以在这儿试一试。火车票它就分类到我的火车票了就像刚刚我定的那个模板一样就把那些数据都给结构化出来。就是说刚刚在这个地方的时候相当于是指定了某一个模板。但是在分类器的时候其实就不需要了随便扔随便把图扔进去然后它就能自动地帮我们分类并且做我们需要的结构化。基于分类的原理就是这样。最后给大家带来一个财税场景上的例子就是木牛盒子这个产品它首先通过批量的票据扫描其实就是这种扫描仪能够把图像比较清晰地扫描出来然后使用我们刚刚自定义模板的票据分类然后结构化的功能加各种票据进行分类出来就做到了智能识别。然后再把它结构化出来再生成凭证进行输出。 以上就是今天我给大家分享的内容谢谢大家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/89591.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何建设网站网站建设安全技术

Nginx 安装 下载 nginx 下载地址:http://nginx.org/en/download.html 将下载好的压缩包拷贝到根目录下 通过xshell如果出现 bash: rz: 未找到命令 ,需要先运行下面的命令 yum -y install lrzsz安装 解压到当前目录 tar -zxvf nginx-1.22.1.tar.gz安…

怎么用h5做网站莱芜金点子招聘信息

一、磁盘操作 1.U盘接入虚拟机 在虚拟机中查找可移动设备 2.检测U盘是否被虚拟机识别 ls /dev/sd* 查找到有除sda外的内容,说明U盘链接成功 3.查看磁盘的使用情况 df -h 若U盘没有被挂载在具体的目录下时,是不能被查找到的4.给磁盘分区 使用 …

中国大连网站宁波营销型网站建设

一.数组 稠密数组(非稀疏数组) 稀疏数组 二.数组的添加和删除 我们已经常见过添加数组元素最简单的方法:为新索引赋值;也可以使用push()方法在数组末尾增加一个或者多个元素: a []; a.push("zero"); a.push("one","two"); 可以像删除对象属性一…

云南营销型网站wordpress 网站维护

MYBATIS最核心的莫过于动态的获取各种的参数值, 为了将来更好的使用MYBATIS进行开发, 我们必须先打好 "获取参数值" 这一基础 一. MYBATIS获取参数值的两种情况: 1.${} 实质:字符串的拼接 注解:${}使用的字符串拼接的方式拼接SQL语句, 所以, 如果其中出现了字符串…

网站建设论文html格式电子商务网站建设的背景

条件变量允许多个线程之间的交流。它可以阻塞某个线程,直到另一个线程的提醒再继续,这是通过关联一个互斥体来实现的。 本文章的代码库: https://gitee.com/gamestorm577/CppStd condition_variable condition_variable是和mutex一起使用…

大型网站怎样做优化PHP新云网站模板

每次配置模型环境,无论是在windows,linux,集群服务器上都会在这里卡一段,为了未来配置方便,记录下配置注意事项 配置cuda和torch主要有几个要点,分别是: 显卡与驱动(NIVIADA drive…

做自己的网站要钱么杭州十大互联网公司

文章目录创建快照快照收费你申请了阿里云服务器,其实就是申请了一个云盘,这个云盘安装了操作系统,你可以远程访问这个系统并使用该系统。我们可以给云盘创建快照,从而达到备份服务器数据的目的。创建快照 快照收费 如果您计划不再…

简单的网站维护大港网站建设公司

小程序Android端运行软件 微信开发者工具/hbuiderx uni-app框架:使用Vue.js开发跨平台应用的前端框架,编写一套代码,可编译到Android、小程序等平台。 前端:HTML5,CSS3 VUE 后端:java(springbootssm)/python(flaskdja…

做视频网站注意什么手机网站源码怎么打开

目录 一.写在前面 二.子空间垂直 2.1 理论解释 2.2 举例分析 三. 零空间 3.1 零空间与q-ary垂直格 3.2 零空间与行/列空间 四. 格密码相关 一.写在前面 格密码中的很多基础原语都来自于线性代数的基本概念,比如举几个例子: 格密码中的非满秩格…

企业营销型网站的内容o2o与网站建设

以前不怎麼使用mysql,最近有些事情,需要用到php和mysql。目前使用的版本是5.5.1 發現mysql與sql server有很多不同。可能逐漸地會整理一些文檔出來給大家參考。 今天第一篇說說,update操作的差異。在mysql中,如果update語句要設置…

个人博客网站模板wordpress体育建设网站首页

《AIX环境下DB2冷备机恢复方案(生产实践)》 1 DB2数据库常见备份方式简要说明2 方案说明3 实际方案(信息已脱敏)3.1 基本信息3.2 创建互信3.3 部署scp脚本3.4 在冷备机192.168.16.165上部署恢复脚本3.5 在冷备机192.168.16.165上部…

东莞网站建设 石佳盘点国内免费云服务器

题目列表 2951. 找出峰值 2952. 需要添加的硬币的最小数量 2953. 统计完全子字符串 2954. 统计感冒序列的数目 一、找到峰值 这个简单的模拟&#xff0c;代码如下 class Solution { public:vector<int> findPeaks(vector<int>& mountain) {int nmountain…

店铺推广方式有哪些seo 资料包怎么获得

对于整数求和&#xff0c;我们经常用循环来求所求数个数确定的一组数。可是&#xff0c;我们预先不知道要对多少个数求和&#xff0c;这就需要不断读取数据直至没有新的输入为止&#xff1a; #include<iostream> int main() {int sum 0, value 0;// sum为出入数字的和&…

商城微网站创建网页建立

今晨&#xff0c;微软在纽约的秋季新品发布会上&#xff0c;发布了 Surface Pro 6、Laptop 2 以及最顶级的 Studio 2 三款备受期待的 Surface 产品。至此&#xff0c;包括年初的 Surface Book 2 在内&#xff0c;完成了2018 年 Surface 产品线所有升级计划。当然这场规模不算大…

房产网站如何做有哪些免费发布信息的平台

一、C语言的生命力 在当前的科技发展和就业市场需求下&#xff0c;可以肯定地说C语言并没有像一些新兴语言&#xff08;如Python、JavaScript等&#xff09;那样受到大量的关注。然而&#xff0c;并不意味着学习C语言的人会越来越少。 首先&#xff0c;C语言作为一种深受尊重…

网站建设内容保障制度苏州诗华洛网站建设

3月13日&#xff0c;OpenAI投资的人形机器人——Figure 01迎来重磅更新&#xff0c;接入最新版ChatGPT后&#xff0c;它能和人交流描述眼前看到的事物。在视频中&#xff0c;Figure 的人形机器人&#xff0c;可以完全与人类流畅对话&#xff0c;还能理解人的自然语言指令进行抓…

如何自己做收费的视频网站网站如何在百度上做推广

字面量 在代码中&#xff0c;被写下来的固定的值&#xff0c;被称为字面量。 python中哪些值是可以被写出来的呢?又该如何写呢&#xff1f; 字符串&#xff1a;又称文本&#xff0c;是由任意数量的字符如中文&#xff0c;英文&#xff0c;各类符号&#xff0c;数字组成。 这…

wordpress音乐网站成都专业网站推广

在电商领域&#xff0c;订单系统的设计至关重要&#xff0c;涉及到用户体验、营销费用分摊、以及各种参数的校验。本文将从多个角度深入探讨订单系统的设计&#xff0c;包括与营销系统的整合、营销费用分摊&#xff0c;以及下单前的各种参数校验。 1. 订单系统与营销系统整合 …

游戏开发网站开发成品网站nike源码1688

一、单选题(共15题,共30分) 第1题 我国第一台大型通用电子计算机使用的逻辑部件是 ( )。 A:集成电路 B:大规模集成电路 C:晶体管 D:电子管 答案:D 第2题 下列流程图的输出结果是( )? A:5 12 B:12 5 C:5 5 D:12 12 答案:B 第3题 如果要找出整数 a …

物流网站建设的背景做卫浴软管的网站

非聚集索引&#xff0c;这个是大家都非常熟悉的一个东西&#xff0c;有时候我们由于业务原因&#xff0c;sql写的非常复杂&#xff0c;需要join很多张表&#xff0c;然后就泪流满面了。。。这时候就有DBA或者资深的开发给你看这个猥琐的sql&#xff0c;通过执行计划一分析,或许…