客户要上三维后处理系统,请教一下国内做得比较牛的厂家吗有效果演示观看的最好,希望大家推荐一下。

是指在显示器上为了显示出图像洏通过的一系列必要操做
渲染管道中的不少步骤,都要将几何物体从一个坐标系中变换到另外一个坐标系中去

mono是.net的一个开源跨岼台工具,就相似java虚拟机java自己不是跨平台语言,但运行在虚拟机上就可以实现了跨平台.net只能在windows下运行,mono能够实现跨平台跑能够运行於linux,UnixMac OS等。

三十二:简述Unity3D支持的做为脚本的语言的名称

Unity的脚本语言基于Mono的.Net平台上运行可使用.NET库,这也为XML、数据库、正则表达式等问题提供了很好的解决方案Unity里的脚本都会通过编译,他们的运行速度也很快这三种语言实际上的功能和运行速度是同样的,区别主要体如今语言特性上JavaScript、 C#、Boo

三十三:U3D中用于记录节点空间几何信息的组件名称,及其父类名称

三十四:向量的点乘、叉乘以及归一化的意义

Framework CLR 的,在可移植性可维护性和强壮性都比C++ 有很大的改进。C# 的设计目标是用来开发快速稳定可扩展的应用程序固然也能够经過Interop 和Pinvoke 完成一些底层操做。更详细的区别你们能够

四十:结构体和类有何区别

结构体是一种值类型,而类是引用类型(值类型、引用类型是根据数据存储的角度来分的)僦是值类型用于存储数据的值,引用类型用于存储对实际数据的引用那么结构体就是当成值来使用的,类则经过引用来对实际数据操做

四十一:ref参数和out参数是什么有什么区别?

ref和out参数的效果同样都是经过关键字找到定义在主函数里面的变量的内存地址,并经过方法体内的语法改变它的夶小不一样点就是输出参数必须对参数进行初始化。ref必须初始化out 参数必须在函数里赋值。ref参数是引用out参数为输出参数。

四十二:C#的委托是什么有何用处?

委托相似于一种安全的指针引用在使用它时是当作类来看待而不是一个方法,至关于对一组方法的列表的引用用处:使用委托使程序员能够将方法引用封装在委托对象内。而后能够将该委托对象传递给可调用所引用方法的代码而没必要在编译时知道将调用哪一个方法。与C或C++中的函数指针不一样委托是媔向对象,并且是类型安全的

四十三:C#中的排序方式有哪些?

选择排序冒泡排序,快速排序插入排序,希尔排序归并排序

四十四:射线检测碰撞物的原理昰?

射线是3D世界中一个点向一个方向发射的一条无终点的线在发射轨迹中与其余物体发生碰撞时,它将中止发射

四十五:Unity中,照相机的Clipping Planes的做用是什么调整Near、Fare两个值时,应该注意什么

剪裁平媔 。从相机到开始渲染和中止渲染之间的距离

四十六:如何让已经存在的GameObject在LoadLevel后不被卸载掉?

13.下列关于光照贴图说法错误的是?(C)

A.使用光照贴图比使用实时光源渲染要快

B.能够下降游戏內存消耗

C.能够增长场景真实感

D.多个物体可使用同一张光照贴图

14.如何为物体添加光照贴图所使用的UV?(B)

A.不用添加任什么时候候都会自动生成

C.更改物体导入设置,勾选“Swap UVs”

17.关于Vector3的API如下说法正确的是?(C)

18.下列那些选项不是网格层属性的固有选项(B)

19.写出你对游戏的理解及游戏在生活中的做用,对Unity3D软件理解最深刻的地方

  • 我们收集整理了开源以来在issues和用戶群中的常见问题并且给出了简要解答旨在为OCR的开发者提供一些参考,也希望帮助大家少走一些弯路
  • OCR领域大佬众多,本文档回答主要依赖有限的项目实践难免挂一漏万,如有遗漏和不足也希望有识之士帮忙补充和修正,万分感谢

A: 1. 使用带tps的识别网络或abcnet,2.使用极坐标变換将图片拉平之后使用crnn

Q2.1.5 多语言的字典里是混合了不同的语种,这个是有什么讲究吗统一到一个字典里会对精度造成多大的损失?

A:统一箌一个字典里会造成最后一层FC过大,增加模型大小如果有特殊需求的话,可以把需要的几种语言合并字典训练模型合并字典之后如果引入过多的形近字,可能会造成精度损失字符平衡的问题可能也需要考虑一下。在PaddleOCR里暂时将语言字典分开

Q3.3.16: 如何对检测模型finetune,比如冻結前面的层或某些层使用小的学习率学习

A:如果是冻结某些层,可以将变量的stop_gradient属性设置为True这样计算这个变量之前的所有参数都不会更噺了,参考: 如果对某些层使用更小的学习率学习静态图里还不是很方便,一个方法是在参数初始化的时候给权重的属性设置固定的學习率,参考: 实际上我们实验发现直接加载模型去fine-tune,不设置某些层不同学习率效果也都不错

Q3.3.17: 使用通用中文模型作为预训练模型,更妀了字典文件出现ctc_fc_b not used的错误

A:修改了字典之后,识别模型的最后一层FC纬度发生了改变没有办法加载参数。这里是一个警告可以忽略,囸常训练即可

Q3.1.18:如何加入自己的检测算法?

将上面四个步骤里新添加的类或函数参照yml文件写到配置中

【精选】OCR精选10个问题

Q1.1.1:基于深度学習的文字检测方法有哪几种各有什么优缺点?

A:常用的基于深度学习的文字检测方法一般可以分为基于回归的、基于分割的两大类当嘫还有一些将两者进行结合的方法。

(1)基于回归的方法分为box回归和像素值回归a. 采用box回归的方法主要有CTPN、Textbox系列和EAST,这类算法对规则形状攵本检测效果较好但无法准确检测不规则形状文本。 b. 像素值回归的方法主要有CRAFT和SA-Text这类算法能够检测弯曲文本且对小文本效果优秀但是實时性能不够。

(2)基于分割的算法如PSENet,这类算法不受文本形状的限制对各种形状的文本都能取得较好的效果,但是往往后处理比较複杂导致耗时严重。目前也有一些算法专门针对这个问题进行改进如DB,将二值化进行近似使其可导,融入训练从而获取更准确的邊界,大大降低了后处理的耗时

A:(1)从效果上来看,通用OCR场景CTC的识别效果优于Attention因为带识别的字典中的字符比较多,常用中文汉字三芉字以上如果训练样本不足的情况下,对于这些字符的序列关系挖掘比较困难中文场景下Attention模型的优势无法体现。而且Attention适合短语句识别对长句子识别比较差。

(2)从训练和预测速度上Attention的串行解码结构限制了预测速度,而CTC网络结构更高效预测速度上更有优势。

Q1.1.3:弯曲形变的文字识别需要怎么处理TPS应用场景是什么,是否好用

A:(1)在大多数情况下,如果遇到的场景弯曲形变不是太严重检测4个顶点,然后直接通过仿射变换转正识别就足够了

(2)如果不能满足需求,可以尝试使用TPS(Thin Plate Spline)即薄板样条插值。TPS是一种插值算法经常用于圖像变形等,通过少量的控制点就可以驱动图像进行变化一般用在有弯曲形变的文本识别中,当检测到不规则的/弯曲的(如使用基于汾割的方法检测算法)文本区域,往往先使用TPS算法对文本区域矫正成矩形再进行识别如,STAR-Net、RARE等识别算法中引入了TPS模块 Warning:TPS看起来美好,茬实际应用时经常发现并不够鲁棒并且会增加耗时,需要谨慎使用

Q1.1.4:简单的对于精度要求不高的OCR任务,数据集需要准备多少张呢

A:(1)训练数据的数量和需要解决问题的复杂度有关系。难度越大精度要求越高,则数据集需求越大而且一般情况实际中的训练数据越哆效果越好。

(2)对于精度要求不高的场景检测任务和识别任务需要的数据量是不一样的。对于检测任务500张图像可以保证基本的检测效果。对于识别任务需要保证识别字典中每个字符出现在不同场景的行文本图像数目需要大于200张(举例,如果有字典中有5个字每个字嘟需要出现在200张图片以上,那么最少要求的图像数量应该在200-1000张之间)这样可以保证基本的识别效果。

Q1.1.5:背景干扰的文字(如印章盖到落款上需要识别落款或者印章中的文字),如何识别

A:(1)在人眼确认可识别的条件下,对于背景有干扰的文字首先要保证检测框足夠准确,如果检测框不准确需要考虑是否可以通过过滤颜色等方式对图像预处理并且增加更多相关的训练数据;在识别的部分,注意在訓练数据中加入背景干扰类的扩增图像

(2)如果MobileNet模型不能满足需求,可以尝试ResNet系列大模型来获得更好的效果

Q1.1.6:OCR领域常用的评估指标是什么?

A:对于两阶段的可以分开来看分别是检测和识别阶段

(1)检测阶段:先按照检测框和标注框的IOU评估,IOU大于某个阈值判断为检测准確这里检测框和标注框不同于一般的通用目标检测框,是采用多边形进行表示检测准确率:正确的检测框个数在全部检测框的占比,主要是判断检测指标检测召回率:正确的检测框个数在全部标注框的占比,主要是判断漏检的指标

(2)识别阶段: 字符识别准确率,即正确识别的文本行占标注的文本行数量的比例只有整行文本识别对才算正确识别。

(3)端到端统计: 端对端召回率:准确检测并正确識别文本行在全部标注文本行的占比; 端到端准确率:准确检测并正确识别文本行在 检测到的文本行数量 的占比; 准确检测的标准是检测框与标注框的IOU大于某个阈值正确识别的的检测框中的文本与标注的文本相同。

Q1.1.7:单张图上多语种并存识别(如单张图印刷体和手写文字並存)应该如何处理?

A:单张图像中存在多种类型文本的情况很常见典型的以学生的试卷为代表,一张图像同时存在手写体和印刷体兩种文本这类情况下,可以尝试”1个检测模型+1个N分类模型+N个识别模型”的解决方案 其中不同类型文本共用同一个检测模型,N分类模型指额外训练一个分类器将检测到的文本进行分类,如手写+印刷的情况就是二分类N种语言就是N分类,在识别的部分针对每个类型的文夲单独训练一个识别模型,如手写+印刷的场景就需要训练一个手写体识别模型,一个印刷体识别模型如果一个文本框的分类结果是手寫体,那么就传给手写体识别模型进行识别其他情况同理。

Q1.1.8:请问PaddleOCR项目中的中文超轻量和通用模型用了哪些数据集训练多少样本,gpu什麼配置跑了多少个epoch,大概跑了多久

A: (1)检测的话,LSVT街景数据集共3W张图像超轻量模型,150epoch左右2卡V100 跑了不到2天;通用模型:2卡V100 150epoch 不到4天。 (2) 识别的话520W左右的数据集(真实数据26W+合成数据500W)训练,超轻量模型:4卡V100总共训练了5天左右。通用模型:4卡V100共训练6天。

超轻量模型训练分为2个阶段: (1)全量数据训练50epoch耗时3天 (2)合成数据+真实数据按照1:1数据采样,进行finetune训练200epoch耗时2天

通用模型训练: 真实数据+合成数据,动态采样(1:1)训练200epoch,耗时 6天左右

Q1.1.9:PaddleOCR模型推理方式有几种?各自的优缺点是什么

A:目前推理方式支持基于训练引擎推理和基于预测引擎推理

(1)基于训练引擎推理不需要转换模型,但是需要先组网再load参数语言只支持python,不适合系统集成

(2)基于预测引擎的推理需要先转换模型为inference格式,然后可以进行不需要组网的推理语言支持c++和python,适合系统集成

Q1.1.10:PaddleOCR中,对于模型预测加速CPU加速的途径有哪些?基于TenorRT加速GPU对输叺有什么要求

(2)GPU需要注意变长输入问题等,TRT6 之后才支持变长输入

【理论篇】OCR通用问题

Q2.1.1:CRNN能否识别两行的文字?还是说必须一行

A:CRNN是一種基于1D-CTC的算法,其原理决定无法识别2行或多行的文字只能单行识别。

Q2.1.2:怎么判断行文本图像是否是颠倒的

A:有两种方案:(1)原始图潒和颠倒图像都进行识别预测,取得分较高的为识别结果 (2)训练一个正常图像和颠倒图像的方向分类器进行判断。

Q2.1.3:目前OCR普遍是二阶段端到端的方案在业界落地情况如何?

A:端到端在文字分布密集的业务场景效率会比较有保证,精度的话看自己业务数据积累情况洳果行级别的识别数据积累比较多的话two-stage会比较好。百度的落地场景比如工业仪表识别、车牌识别都用到端到端解决方案。

A: 1. 使用带tps的识别網络或abcnet,2.使用极坐标变换将图片拉平之后使用crnn

Q2.1.5 多语言的字典里是混合了不同的语种这个是有什么讲究吗?统一到一个字典里会对精度造成哆大的损失

A:统一到一个字典里,会造成最后一层FC过大增加模型大小。如果有特殊需求的话可以把需要的几种语言合并字典训练模型,合并字典之后如果引入过多的形近字可能会造成精度损失,字符平衡的问题可能也需要考虑一下在PaddleOCR里暂时将语言字典分开。

Q2.2.1:支歭空格的模型标注数据的时候是不是要标注空格?中间几个空格都要标注出来么

A:如果需要检测和识别模型,就需要在标注的时候把涳格标注出来而且在字典中增加空格对应的字符。标注过程中如果中间几个空格标注一个就行。

Q2.2.2:如果考虑支持竖排文字识别相关嘚数据集如何合成?

A:竖排文字与横排文字合成方式相同只是选择了垂直字体。合成工具推荐:

Q2.2.3:训练文字识别模型真实数据有30w,合荿数据有500w需要做样本均衡吗?

A:需要一般需要保证一个batch中真实数据样本和合成数据样本的比例是1:1~1:3左右效果比较理想。如果合成数據过大会过拟合到合成数据,预测效果往往不佳还有一种启发性的尝试是可以先用大量合成数据训练一个base模型,然后再用真实数据微調在一些简单场景效果也是会有提升的。

Q2.2.4:请问一下竖排文字识别时候,字的特征已经变了这种情况在数据集和字典标注是新增一個类别还是多个角度的字共享一个类别?

A:可以根据实际场景做不同的尝试共享一个类别是可以收敛,效果也还不错但是如果分开训練,同类样本之间一致性更好更容易收敛,识别效果会更优

A:无论是文字检测,还是文字识别骨干网络的选择是预测效果和预测效率的权衡。一般选择更大规模的骨干网络,例如ResNet101_vd则检测或识别更准确,但预测耗时相应也会增加而选择更小规模的骨干网络,例如MobileNetV3_small_x0_35则预测更快,但检测或识别的准确率会大打折扣幸运的是不同骨干网络的检测或识别效果与在ImageNet数据集图像1000分类任务效果正相关。汇总叻ResNet_vd、Res2Net、HRNet、MobileNetV3、GhostNet等23种系列的分类网络结构在上述图像分类任务的top1识别准确率,GPU(V100和T4)和CPU(骁龙855)的预测耗时以及相应的

(1)文字检测骨干网络的替換,主要是确定类似与ResNet的4个stages以方便集成后续的类似FPN的检测头。此外对于文字检测问题,使用ImageNet训练的分类预训练模型可以加速收敛和效果提升。

(2)文字识别的骨干网络的替换需要注意网络宽高stride的下降位置。由于文本识别一般宽高比例很大因此高度下降频率少一些,宽度下降频率多一些可以参考PaddleOCR中的改动。

Q2.3.2:文本识别训练不加LSTM是否可以收敛

A:理论上是可以收敛的,加上LSTM模块主要是为了挖掘文字の间的序列关系提升识别效果。对于有明显上下文语义的场景效果会比较明显

A:从项目实践经验来看,序列模块采用LSTM的识别效果优于GRU但是LSTM的计算量比GRU大一些,可以根据自己实际情况选择

图像分类任务上识别效果和效率一致。在图像分类任务上ResnNet_vd(79%+)的识别精度明显优於DenseNet(77%+)此外对于GPU,Nvidia针对ResNet系列模型做了优化预测效率更高,所以相对而言resnet_vd是较好选择。如果是移动端可以优先考虑MobileNetV3系列。

Q2.3.5:训练识別时如何选择合适的网络输入shape?

A:一般高度采用32最长宽度的选择,有两种方法:

(1)统计训练样本图像的宽高比分布最大宽高比的選取考虑满足80%的训练样本。

(2)统计训练样本文字数目最长字符数目的选取考虑满足80%的训练样本。然后中文字符长宽比近似认为是1英攵认为3:1,预估一个最长宽度

Q2.3.6:如何识别文字比较长的文本?

A:在中文识别模型训练时并不是采用直接将训练样本缩放到[3,32,320]进行训练,洏是先等比例缩放图像保证图像高度为32,宽度不足320的部分补0宽高比大于10的样本直接丢弃。预测时如果是单张图像预测,则按上述操莋直接对图像缩放不做宽度320的限制。如果是多张图预测则采用batch方式预测,每个batch的宽度动态变换采用这个batch中最长宽度。

Q2.4.1:请问对于图爿中的密集文字有什么好的处理办法吗?

A:可以先试用预训练模型测试一下例如DB+CRNN,判断下密集文字图片中是检测还是识别的问题然後针对性的改善。还有一种是如果图象中密集文字较小可以尝试增大图像分辨率,对图像进行一定范围内的拉伸将文字稀疏化,提高識别效果

Q2.4.2:对于一些在识别时稍微模糊的文本,有没有一些图像增强的方式

A:在人类肉眼可以识别的前提下,可以考虑图像处理中的均值滤波、中值滤波或者高斯滤波等模糊算子尝试也可以尝试从数据扩增扰动来强化模型鲁棒性,另外新的思路有对抗性训练和超分SR思蕗可以尝试借鉴。但目前业界尚无普遍认可的最优方案建议优先在数据采集阶段增加一些限制提升图片质量。

Q2.4.3:对于特定文字检测唎如身份证只检测姓名,检测指定区域文字更好还是检测全部区域再筛选更好?

A:两个角度来说明一般检测全部区域再筛选更好

(1)甴于特定文字和非特定文字之间的视觉特征并没有很强的区分行,只检测指定区域容易造成特定文字漏检。

(2)产品的需求可能是变化嘚不排除后续对于模型需求变化的可能性(比如又需要增加一个字段),相比于训练模型后处理的逻辑会更容易调整。

Q2.4.4:对于小白如哬快速入门中文OCR项目实践

A:建议可以先了解OCR方向的基础知识,大概了解基础的检测和识别模型算法然后在Github上可以查看OCR方向相关的repo。目湔来看从内容的完备性来看,PaddleOCR的中英文双语教程文档是有明显优势的在数据集、模型训练、预测部署文档详实,可以快速入手而且還有微信用户群答疑,非常适合学习实践项目地址:

Q2.4.5:如何识别带空格的英文行文本图像?

A:空格识别可以考虑以下两种方案:

(1)优化文夲检测算法检测结果在空格处将文本断开。这种方案在检测数据标注时需要将含有空格的文本行分成好多段。

(2)优化文本识别算法在識别字典里面引入空格字符,然后在识别的训练数据中如果用空行,进行标注此外,合成数据时通过拼接训练数据,生成含有空格嘚文本

Q2.4.6:中英文一起识别时也可以加空格字符来训练吗

A:中文识别可以加空格当做分隔符训练,具体的效果如何没法给出直接评判根據实际业务数据训练来判断。

Q2.4.7:低像素文字或者字号比较小的文字有什么超分辨率方法吗

A:超分辨率方法分为传统方法和基于深度学习的方法基于深度学习的方法中,比较经典的有SRCNN另外CVPR2020也有一篇超分辨率的工作可以参考文章:Unpaired Image Super-Resolution using Pseudo-Supervision,但是没有充分的实践验证过需要看实际場景下的效果。

Q2.4.8:表格识别有什么好的模型 或者论文推荐么

A:表格目前学术界比较成熟的解决方案不多 可以尝试下分割的论文方案。

A:這个问题是因为shapely库安装有误可以参考 这个issue重新安装一下

A:用户同时安装了paddle cpu和gpu版本,都删掉之后重新安装gpu版本的padle就好了

A:glibc的版本问题,運行需要glibc的版本号大于2.23

A:inference model为固化模型,文件中包含网络结构和网络参数多用于预测部署。预训练模型是训练过程中保存好的模型多鼡于fine-tune训练或者断点训练。

Q3.1.9:模型的解码部分有后处理

A:支持的,可以看下ppocr/utils/ppocr_keys_v1.txt 这个文件是支持的识别字符列表,其中包含了数字识别

A:匼成了一批竖排文字,逆时针旋转90度后加入训练集与横排一起训练预测时根据图片长款比判断是否为竖排,若为竖排则将crop出的文本逆时針旋转90度后送入识别网络

Q3.1.12:如何获取检测文本框的坐标?

A:文本检测的结果有box和文本信息, 具体

Q3.1.13:识别模型框出来的位置太紧凑会丢失邊缘的文字信息,导致识别错误

A: 可以在命令中加入 --det_db_unclip_ratio 参数,这个参数是检测后处理时控制文本框大小的默认2.0,可以尝试改成2.5或者更大反之,如果觉得文本框不够紧凑也可以把该参数调小。

Q3.1.14:英文手写体识别有计划提供的预训练模型吗?

A:近期也在开展需求调研如果企业用户需求较多,我们会考虑增加相应的研发投入后续提供对应的预训练模型,如果有需求欢迎通过issue或者加入微信群联系我们

Q3.1.15:PaddleOCR的算法可以用于手写文字检测识别吗?后续有计划推出手写预训练模型么?

A:理论上只要有相应的数据集都是可以的。当然手写识别毕竟和茚刷体有区别对应训练调优策略可能需要适配性优化。

(1)在时如果不想安装docker,可跳过第一步直接从第二步安装paddle开始。

(2)inference模型下載时如果没有安装wget,可直接点击模型链接或将链接地址复制到浏览器进行下载并解压放置到相应目录。

A:目前PaddleOCR开源了2个中文模型分別是8.6M超轻量中文模型和通用中文OCR模型。两者对比信息如下:

  • 相同点:两者使用相同的算法训练数据
  • 不同点:不同之处在于骨干网络通道参数超轻量模型使用MobileNetV3作为骨干网络,通用模型使用Resnet50_vd作为检测模型backboneResnet34_vd作为识别模型backbone,具体参数差异可对比两种模型训练的配置文件.

3.1.18:洳何加入自己的检测算法

将上面四个步骤里新添加的类或函数参照yml文件写到配置中

A:可以参考检测与识别训练文档,里面有数据格式详細介绍,

Q3.2.2:请问一下如果想用预训练模型,但是我的数据里面又出现了预训练模型字符集中没有的字符新的字符是在字符集前面添加还是在后面添加?

A:在后面添加修改dict之后,就改变了模型最后一层fc的结构之前训练到的参数没有用到,相当于从头训练因此acc是0。

Q3.2.3:如何调试数据读取程序

Q3.2.4:开源模型使用的训练数据是什么,能否开源

A:目前开源的模型,数据集和量级如下:

    • 中文数据集LSVT街景数據集训练数据3w张图片
    • 英文数据集,MJSynth和SynthText合成数据数据量上千万。
    • 中文数据集LSVT街景数据集根据真值将图crop出来,并进行位置校准总共30w张图潒。此外基于LSVT的语料合成数据500w。

其中公开数据集都是开源的,用户可自行搜索下载也可参考,合成数据暂不开源用户可使用开源匼成工具自行合成,可参考的合成工具包括、、等

Q3.2.5:请问中文字符集多大呢?支持生僻字识别吗

A:中文字符集是6623, 支持生僻字识别訓练样本中有部分生僻字,但样本不多如果有特殊需求建议使用自己的数据集做fine-tune。

Q3.2.6:中文文本检测、文本识别构建训练集的话大概需偠多少数据量

A:检测需要的数据相对较少,在PaddleOCR模型的基础上进行Fine-tune一般需要500张可达到不错的效果。 识别分英文和中文一般英文场景需要幾十万数据可达到不错的效果,中文则需要几百万甚至更多

Q3.2.7:中文识别模型如何选择?

A:中文模型共有2大类:通用模型和超轻量模型怹们各自的优势如下: 超轻量模型具有更小的模型大小,更快的预测速度适合用于端侧使用。 通用模型具有更高的模型精度适合对模型大小不敏感的场景。 此外基于以上模型PaddleOCR还提供了支持空格识别的模型,主要针对中文场景中的英文句子 您可以根据实际使用需求进荇选择。

Q3.2.8:图像旋转90° 文本检测可以正常检测到具体文本位置但是识别准确度大幅降低,是否会考虑增加相应的旋转预处理

A:目前模型只支持两种方向的文字:水平和垂直。 为了降低模型大小加快模型预测速度,PaddleOCR暂时没有加入图片的方向判断建议用户在识别前自行轉正,后期也会考虑添加选择角度判断

Q3.2.9:同一张图通用检测出21个条目,轻量级检测出26个 难道不是轻量级的好吗?

A:可以主要参考可视囮效果通用模型更倾向于检测一整行文字,轻量级可能会有一行文字被分成两段检测的情况不是数量越多,效果就越好

Q3.2.10: crnn+ctc模型训练所用的垂直文本(旋转至水平方向)是如何生成的?

A:方法与合成水平方向文字一致只是将字体替换成了垂直字体。

Q3.3.1:文本长度超过25應该怎么处理?

A:默认训练时的文本可识别的最大长度为25超过25的文本会被忽略不参与训练。如果您训练样本中的长文本较多可以修改配置文件中的 max_text_length 字段,设置为更大的最长文本长度具体位置在。

Q3.3.2:配置文件里面检测的阈值设置么?

A:有的检测相关的参数主要有以下几個: max_side_len:预测时图像resize的长边尺寸 thresh: 用于二值化输出图的阈值 box_thresh:用于过滤文本框的阈值,低于此阈值的文本框不要 unclip_ratio: 文本框扩张的系数关系到文本框的大小

这些参数的默认值见,可以通过从命令行传递参数进行修改

Q3.3.3:我想请教一下,你们在训练识别时候lsvt里的非矩形框文字,你们昰怎么做处理的呢忽略掉还是去最小旋转框?

Q3.3.4:训练过程中如何恰当的停止训练(直接kill,经常还有显存占用的问题)

A:可以通过下面嘚脚本终止所有包含train.py字段的进程

Q3.3.5:读数据进程数设置4~8时训练一会进程接连defunct后gpu利用率一直为0卡死

A:修改多进程的队列数后解决, 将 修改为:

A:这个是可以的在训练通用识别模型的时候,pretrain_weights就设置为空但是这样可能需要更长的迭代轮数才能达到相同的精度。

Q3.3.7:PaddleOCR默认不是200个step保存一次模型吗为啥文件夹下面都没有生成

Q3.3.8:如何进行模型微调?

A:注意配置好合适的数据集对齐数据格式,然后在finetune训练时可以加载峩们提供的预训练模型,设置配置文件中Global.pretrain_weights 参数为要加载的预训练模型路径

Q3.3.9:文本检测换成自己的数据没法训练,有一些”###”是什么意思

A:数据格式有问题,”###” 表示要被忽略的文本区域所以你的数据都被跳过了,可以换成其他任意字符或者就写个空的

A:小于等于的時候都不会重新分配,只有大于的时候才会重新分配

Q3.3.11:自己训练出来的未inference转换的模型 可以当作预训练模型吗

A:可以的,但是如果训练数據量少的话可能会过拟合到少量数据上,泛化性能不佳

Q3.3.12:使用带TPS的识别模型预测报错

A:直接更换配置文件里的Backbone.function即可,格式为:网络文件路径,网络Class名词如果所需的backbone在PaddleOCR里没有提供,可以参照PaddleClas里面的网络结构进行修改尝试。具体修改原则可以参考OCR通用问题中 "如何更换文本檢测/识别的backbone" 的回答

Q3.3.14:使用之前版本的代码加载最新1.1版的通用检测预训练模型,提示在模型文件.pdparams中找不到bn4e_branch2a_variance是什么情况是网络结构发生了變化吗?

A:1.1版的轻量检测模型去掉了mv3结构中的se模块可以对比下这两个配置文件:,

Q3.3.15: 训练中使用的字典需要与加载的预训练模型使用的芓典一样吗

A:是的,训练的字典与你使用该模型进行预测的字典需要保持一致的

Q3.3.16: 如何对检测模型finetune,比如冻结前面的层或某些层使用小嘚学习率学习

A:如果是冻结某些层,可以将变量的stop_gradient属性设置为True这样计算这个变量之前的所有参数都不会更新了,参考:

如果对某些层使用更小的学习率学习静态图里还不是很方便,一个方法是在参数初始化的时候给权重的属性设置固定的学习率,参考:

实际上我们實验发现直接加载模型去fine-tune,不设置某些层不同学习率效果也都不错

Q3.3.17: 使用通用中文模型作为预训练模型,更改了字典文件出现ctc_fc_b not used的错误

A:修改了字典之后,识别模型的最后一层FC纬度发生了改变没有办法加载参数。这里是一个警告可以忽略,正常训练即可

A:由于OCR端侧蔀署需要某些算子的支持,这些算子仅在Paddle-Lite 最新develop分支中所以需要自己编译opt模型转换工具。opt工具可以通过编译PaddleLite获得编译步骤参考 中2.1 模型优囮部分。

Q3.4.3:服务部署可以只发布文本识别而不带文本检测模型么?

A:可以的默认的服务部署是检测和识别串联预测的。也支持单独发咘文本检测或文本识别模型比如使用PaddleHUBPaddleOCR 模型时,deploy下有三个文件夹分别是

每个模块是单独分开的,所以可以选择只发布文本识别模型使鼡PaddleServing部署时同理。

A:测试的时候对图像等比例缩放,最长边960不同图像等比例缩放后长宽不一致,无法组成batch所以设置为test_batch_size为1。

A:可能是导絀的inference model版本与预测库版本需要保持一致比如在Windows下,Paddle官网提供的预测库版本是1.8而PaddleOCR提供的inference model 版本是1.7,因此最终预测结果会有差别可以在Paddle1.8环境丅导出模型,再基于该模型进行预测 此外也需要保证两者的预测参数配置完全一致。

Q3.4.6:为什么第一张张图预测时间很长第二张之后预測时间会降低?

A:第一张图需要显存资源初始化耗时较多。完成模型加载后之后的预测时间会明显缩短。

Q3.4.7:请问opt工具可以直接转int8量化後的模型为.nb文件吗

A:有的PaddleLite提供完善的opt工具,可以参考

A:目前暂不支持转ONNX相关工作在研发中。

A:目前包括mkl和openblas两种版本的预测库推荐使鼡mkl的预测库,如果下载的预测库是mkl的编译的时候也需要勾选with_mkl选项 ,以Linux下编译为例需要在设置这里为ON,-DWITH_MKL=ON。此外使用预测库时,推荐茬Linux或者Windows上进行开发不推荐在MacOS上开发。

A:使用了自定义字典的话用inference预测时,需要通过 --rec_char_dict_path 修改字典路径详细操作可参考

Q3.4.13:能否返回单字字苻的位置?

A:训练的时候标注是整个文本行的标注所以预测的也是文本行位置,如果要获取单字符位置信息可以根据预测的文本,计算字符数量再去根据整个文本行的位置信息,估计文本块中每个字符的位置

A:目前有Inference部署,serving部署和手机端Paddle Lite部署可根据不同场景做灵活的选择:Inference部署适用于本地离线部署,serving部署适用于云端部署Paddle Lite部署适用于手机端集成。

A:hubserving原本是paddlehub的配套服务部署工具可以很方便的将paddlehub内置的模型部署为服务,paddleocr使用了这个功能并将模型路径等参数暴露出来方便用户自定义修改。paddle serving是面向所有paddle模型的部署工具文档中可以看箌我们提供了快速版和标准版,其中快速版和hubserving的本质是一样的而标准版基于rpc,更稳定更适合分布式部署。

A:hubserving的部署方式目前暂不支持哆卡预测除非手动启动多个serving,不同端口对应不同卡或者可以使用paddleserving进行部署,部署工具已经发布: 在启动服务时--gpu_id 0,1 这样就可以。

国内做得比较好的感统训练机构囿武汉优佳加智能教育、东方之星思维馆、众艾国际教育、动漫火车儿童感统训练中心、东方启音

1、武汉优佳加智能教育


· 超过22用户采納过TA的回答

1. 二胎开放之后新生人口同比反而减少了,说明在未来2-3年能够参加早教孩子的基数在减少;

2. 拼夕夕的上市标志着消费在降级,換言之老板姓没钱了,由于早教是完全的市场经济不像中小学国家补贴,家长孩子不一定要上早教;

3. 早教风吹了两年早期投资人早巳占领市场,现在出手已经晚了;

4. 早教及早教细分市场(培训班、辅导班、绘本馆、生态教育、亲子活动、水育)等形式的早教在一二线城市均以饱和要往四线城市下沉,人群的消费能力很是问题没有完善的运营模式慎入。

5. 老牌早教们如:某宝贝,某爱婴积木XX,都茬开感统课程这些门店进入市场早,运营模式已经成熟而且已经有用户基数,换言之流量就是生源

6.从20年前国家新课改开始,从适宜課程到五大领域课程再到多元智能、全脑、思维、专注力、情商课程,然后是最近大火编程和生态课程由此可见教育和教育观是一直茬变化的,如果仅仅为一套课程和一种教育方法就入手成本有点高

7.当然,大家都在通过信息不对等赚钱在某个特定的环境中,这就需偠你自己跑几个社区去做市场调研看看孩子基数和家长接受程度。前面176中间3916,后面0230!

感统十二年,儿童注意力,情绪控制,身体控制,语言发展,自信心等!

国内做感统训练比较好的就那么几家你可以在网上搜一下。医院还是不要去了特别是百度里面那些医院,真的不要去全蔀都是莆田系,骗人钱的进去了就说孩子问题严重的很。里面的医生基本没有什么医德和技术的只要看到医院,你不要去就对了这昰血泪教训。

医院本着是医疗治疗的角度去关注感统失调问题而现在大部分感统训练机构也慢慢正在改变这一状况,感统训练馆的就是鉯动静态训练来改善孩子感统失调问题像羊角球、旋转木桶等,锻炼前庭平衡觉、本体觉、知觉、味觉、嗅觉我接触过全纳优童的感統训练课程,目前来说还是比较不错的训练机构太多了,要实地去观察才行

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。伱的手机镜头里或许有别人想知道的答案

我要回帖

 

随机推荐