注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
LabVIEW调用Halcon实现深度学习之DeepOCR
视频号:
B站:
在LabVIEW2018版中,NI引入了深度学习功能,官方也提供了一个深度学习的例子——目标缺陷检测: DeepLearning Object Detection 范例中虽然可以调用深度学习模型(OpenVINO为xml格式或TensorFlow为pb格式),但是也仅仅只是调用模型罢了,也就是能用深度学习的方法,来实现推理过程。但是模型的的训练,则完全无法实现,即没有提供标注工具,也没有提供相应的范例。哪怕是将一些第三方模型转换为LabVIEW中能支持的xml、pb模型的转换工具也没有。所以,实际上LabVIEW官方的深度学习的功能是很鸡肋的。只能用官方的模型看看运行效果,确实可以检测到目标的缺陷。至于验证一下其他项目,那就抱歉了,实现不了。要训练模型,就得换到Python等环境中去。话说回来,如果我能在Python中进行训练了,那我为什么不直接在Python中推理吗?又何必再换到LabVIEW中来实现呢,简直多此一举。而要在Python中训练,那学习成本相对来说就比较高了,需要学习OpenVINO/TensorFlow等库,还至少需要学习一门文编程语言,如Python之类的。当然了,如果预算允许,那也可以买一些LabVIEW的第三方工具包,现在也有一些第三方的开发了一些工具包,可以训练推理,比NI官方的效果要好,不过好像都是收费工具包。 使用官方模型自动识别官方图片中的字符效果1 识别效果2 识别效果3 识别效果4 识别效果5 识别效果6 Halcon官方预训练了一个字母数字的模型,效果还是非常不错的。对于大部分的英文、英文标点、数字等识别,基本上都可以轻松实现,只要图像质量不是非常差,识别都是准确的,当然,对于一些非常小且又模糊的,即使人眼看,都看不太清楚的,那就无能为力了,这种情况应该无论是谁都无法精准的识别的。 使用自己训练的模型检测+识别中文字符 中文模型识别字符(高分辨率图像) 中文模型识别字符(低分辨率图像) 在Halcon环境中可以使用DLT来进行标注,训练则是使用Halcon中自带的例子在HDevelop中进行处理的(为了偷懒,没有在LabVIEW中实现)。训练的模型效果就没有Halcon官方训练的模型效果好了。训练模型和数据集的大小有关系,数据集中的数据越多,训练的效果就越好,教程中也只是为了实现训练这个过程,数据相对比较少,仅使用了15幅图像进行标注训练,效果也就是上面那样的了。大部分的能够识别,少部分无法识别或识别错误。中文模型仅使用了识别训练,未处理检测训练,所以对于检测或自动的模型时,部分内容无法检测到。 DLT中标注 HDevelop中进行训练
|