HALCON DEEP OCR 训练自己的模型和简单验证

本文详细介绍了如何使用MVTecDeepLearningTool进行图像打标,包括软件下载、设置、打标流程、数据集导出和训练模型的应用。步骤包括新建项目、调整参数、批量处理和训练,最后展示如何在测试图片上应用训练好的模型。
摘要由CSDN通过智能技术生成

1.打标

1.1打标软件下载

打标软件是需要使用MVTec Deep Learning Tool (system),免费下载,去官网注册即可。

MVTec Deep Learning Tool 23.08 EA out now!: MVTec Software

1.2打标软件使用过程

先调整语言,右上角齿轮,设置语言

新建项目,选deepocr

添加图像

点击"图像",切换到打标流程

鼠标先拉一条横线,再移动横线,最后拉出一个框,下方会自动识别一个结果,根据实际结果调整结果

把所有图片打标完成,然后导出数据集

至此达标完成

1.3打标导出,导入到官方例子

deep_ocr_recognition_training_workflow.hdev

找到该工程的路径我这里是 C:\Users\Administrator\AppData\Roaming\MVTec\HALCON-23.05-Progress\examples\hdevelop\OCR\Deep-OCR

将生成的数据集放到工程目录

打开程序,将数据集路径改成刚生成的数据集

根据实际图片数量修改batch size,我这里是5张,这里是批处理数量,图片量大时可以不和图片数量对等

MaxBatchSizeTraining := 5

修改迭代次数

NumEpochs := 500

2.开始训练

运行程序,不断的F5就行

可以观察下loss和accuracy的曲线,最终loss我这里降低到了0.1以下

3.应用训练模型

得到训练模型之后,新建一个程序,就在\OCR\Deep-OCR目录下,将以下代码填入

这里的testimages是需要自己加入的测试图片,放置位置在C:\Users\Administrator\AppData\Roaming\MVTec\HALCON-23.05-Progress\examples\images

create_deep_ocr ([], [], DeepOcrHandle)
* 
* The finetuned model needs to be specified as the recognition
* component.
set_deep_ocr_param (DeepOcrHandle, 'recognition_model', 'ocr_recognition_data_test/model_testbest.hdl')
* 
* Additionally we make sure that the runtime related parameters
* are set optimally for inference.
set_deep_ocr_param (DeepOcrHandle, 'recognition_batch_size', 1)
set_deep_ocr_param (DeepOcrHandle, 'recognition_optimize_for_inference', 'true')

dev_open_window (0, 0, 500, 200, 'black', WindowHandle)
list_image_files ('test_images', 'default', [], ImageFiles)
tuple_shuffle (ImageFiles, ImageFiles)
* 
NumImages := 10
for I := 0 to min2(NumImages,|ImageFiles|) - 1 by 1
    read_image (Image, ImageFiles[I])
    apply_deep_ocr (Image, DeepOcrHandle, 'recognition', DeepOcrResult)
    dev_display_deep_ocr_results (Image, WindowHandle, DeepOcrResult, [], [])
    stop ()
endfor
dev_disp_text ('Press F5 to end this example', 'window', 'bottom', 'right', 'black', [], [])
stop ()
dev_close_window ()
* 
* 
* ***   6.) REMOVE FILES   ***
clean_up_output (OutputDir, RemoveOutputs)

然后运行,可以看到识别结果

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值