一种基于python深度学习算法的视觉识别方法技术

技术编号:28784136 阅读:18 留言:0更新日期:2021-06-09 11:18
本发明专利技术公开一种基于python深度学习算法的视觉识别方法,后台使用python深度学习算法,构建神经网络,完成视觉识别任务;中间层使用c++加载python运行环境,通过dll打包的方式提供对于python的运行环境管理及调用接口;前台使用.net的界面框架,构建结果显示、配置管理界面,本发明专利技术首先是将图像识别与结果展示分离,可以针对业务变更灵活地调整识别程序或软件界面;同时,由于python神经网络进行图像识别,可以完成复杂的视觉识别任务,如瑕疵检测、喷码识别等;然后,由于使用c++的d l l动态链接库托管python代码,可以被.net内存式调用,避免了通信延时。最后,基于.net的界面框架,可以构建出美观易用的软件界面,大幅降低客户的学习和使用成本。学习和使用成本。学习和使用成本。

【技术实现步骤摘要】
一种基于python深度学习算法的视觉识别方法


[0001]本专利技术涉及计算机
,尤其涉及一种基于python深度学习算法的视觉识别方法、存储控制器、电子设备及存储介质。

技术介绍

[0002]视觉识别软件,即使用计算机数字图像处理技术,对采集图像进行识别并通过用户界面展示识别结果的专业软件;
[0003]Python是一种高级编程语言,相比其他语言,其在算法实现等具有较大优势。例如,完成同一个任务,C语言需要写1000行代码,C#需要写100行代码,而Python只需要写20行代码。并且,Python拥有众多的开源函数库;
[0004]在工业视觉领域,目前的视觉识别软件具有安全运行、准确率高等特点,但存在如下问题:
[0005]对检测场景的标准化要求较高。基于传统图像处理的视觉识别软件适配于标准化的识别场景,比如饮料液位检测、包装瑕疵检测等。这样导致无法完成更普遍的复杂检测需求,比如饮料异物检测、包装喷码检测等。
[0006]图像的识别延时较高。基于python神经网络的图像识别软件,往往需要在异构的识别程序与界面程序间做通信衔接,由于工业图像体积较大,图像通信会带来数十至数百毫秒的通信延时,会导致结果返回滞后,影响后续工艺执行。
[0007]展示界面美观性、易用性较低。基于python图形界面的视觉软件,虽然解决了图像传输延时的问题,但由于界面组件较为固定,导致界面风格及软件功能单一,客户学习成本高导致使用意愿降低。
[0008]总之,传统的视觉识别软件只能在识别场景、识别延时、界面美观易用中取舍,已有方案均无法适应高速、复杂的工业视觉识别场景。

技术实现思路

[0009]本专利技术的目的在于提供涉及一种基于python深度学习算法的视觉识别方法、存储控制器、电子设备及存储介质,能够完成复杂场景下的视觉检测识别任务。
[0010]第一方面,本专利技术实施例提供了一种基于python深度学习算法的视觉识别方法,通过软件实现,所述方法包括:
[0011]后台使用python深度学习算法,构建神经网络,完成视觉识别任务;
[0012]中间层使用c++加载python运行环境,通过dll打包的方式提供对于python的运行环境管理及调用接口;
[0013]前台使用.net的界面框架,构建结果显示、配置管理界面。
[0014]进一步地基于python深度学习算法的视觉识别软件架构,包括:
[0015]实现层,通过代码构建软件功能模块;
[0016]交互层,通过内存传值的方式完成加载调用;
[0017]应用层,负责采集产品图片,并进行识别结果显示。
[0018]可选地,所述实现层包括;
[0019]图形界面模块,基于.net构建软件界面供用户交互使用;
[0020]C++程序模块,使用C++加载python环境,并通过dll打包提供服务接口;
[0021]python程序模块,使用python加载神经网络模型,提供图像识别能力。
[0022]可选地,所述交互层包括;
[0023]视觉主程序模块,用于加载dll、接收采集图像、调用dll识别、结果显示;
[0024]dll调用模块,用于加载并维持python环境、提供识别接口;
[0025]识别脚本,所述识别脚本被dll模块加载,提供图像识别能力。
[0026]可选地,所述应用层包括:
[0027]图像采集模块,用于工业相机完成流水线上面产品图像的拍摄;
[0028]结果展示模块,用于识别结果反馈到软件界面。
[0029]进一步地,加载dll时,通过python的C语言支持包,完成python环境初始化,所述python的C语言支持包在构建的python环境中加载python识别脚本。
[0030]进一步地,所述视觉主程序模块工作包括以下步骤:
[0031]步骤1:启动程序,加载dll,通过加载dll程序,获得识别方法调用句柄;
[0032]步骤2:加载并读取python程序,dll加载时,通过python的C语言支持包,完成python环境初始化,在构建的python环境中加载python识别脚本;
[0033]步骤3:获取图片,调用dll识别方法,当接收到推送的图片时,创建线程调用dll识别方法;
[0034]步骤4:返回识别结果
[0035]dll接收到识别调用,根据传入的图片内存指针进行参数读取;
[0036]将其传入python运行环境,等待识别结果并返回给视觉软件。
[0037]步骤5:结果推送
[0038]视觉软件接收到dll返回值,将图像和识别结果一起推送到软件界面进行显示。
[0039]第二方面,本专利技术实施例提供了一种存储控制器,包括:处理器、存储器和总线;
[0040]所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行视觉主程序模块工作步骤。
[0041]第三方面,本专利技术提供了一种电子设备,包括:
[0042]处理器;
[0043]用于存储处理器可执行指令的存储器;
[0044]其中,所述处理器通过运行所述可执行指令以实现上述的方法。
[0045]第四方面,本专利技术提供了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述方法的步骤。
[0046]有益效果
[0047]本专利技术提出了一种基于python深度学习算法的视觉识别方法,后台使用python深度学习算法,构建神经网络,完成视觉识别任务;中间层使用c++加载python运行环境,通过dll打包的方式提供对于python的运行环境管理及调用接口;前台使用.net的界面框架,构
建结果显示、配置管理界面,本专利技术首先是将图像识别与结果展示分离,可以针对业务变更灵活地调整识别程序或软件界面;同时,由于python神经网络进行图像识别,可以完成复杂的视觉识别任务,如瑕疵检测、喷码识别等;然后,由于使用c++的dll动态链接库托管python代码,可以被.net内存式调用,避免了通信延时。最后,基于.net的界面框架,可以构建出美观易用的软件界面,大幅降低客户的学习和使用成本。
附图说明
[0048]图1为本专利技术实施例的一种基于python深度学习算法的视觉识别方法的流程图;
[0049]图2为本专利技术另一种实施例的一种基于python深度学习算法的视觉识别方法的软件架构示意图;
[0050]图3为本专利技术实施例的视觉主程序模块2

1工作时序;
[0051]图4为本专利技术实施例的一种电子设备的结构框图。
具体实施方式
[0052]下面将结合实施例对本专利技术的技术方案进行清楚、完整地描述,显本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于python深度学习算法的视觉识别方法,通过软件实现,其特征在于,所述方法包括:后台使用python深度学习算法,构建神经网络,完成视觉识别任务;中间层使用c++加载python运行环境,通过dll打包的方式提供对于python的运行环境管理及调用接口;前台使用.net的界面框架,构建结果显示、配置管理界面。2.根据权利要求1所述的方法,其特征在于,软件架构包括:实现层,通过代码构建软件功能模块;交互层,通过内存传值的方式完成加载调用;应用层,负责采集产品图片,并进行识别结果显示。3.根据权利要求2所述的方法,其特征在于,所述实现层包括:图形界面模块,基于.net构建软件界面供用户交互使用;C++程序模块,使用C++加载python环境,并通过dll打包提供服务接口;python程序模块,使用python加载神经网络模型,提供图像识别能力。4.根据权利要求2所述的方法,其特征在于,所述交互层包括;视觉主程序模块,用于加载dll、接收采集图像、调用dll识别、结果显示;dll调用模块,用于加载并维持python环境、提供识别接口;识别脚本,所述识别脚本被dll模块加载,提供图像识别能力。5.根据权利要求2所述的方法,其特征在于,所述应用层包括:图像采集模块,用于工业相机完成流水线上面产品图像的拍摄;结果展示模块,用于识别结果反馈到软件界面。6.根据权利要求4所述的方法,其特征在于,加载dll时,通过python的C语言支持包,完成python环境初始化,所述python的C语言支持包...

【专利技术属性】
技术研发人员:史晓凌卞珂珂李立琴刘伟华
申请(专利权)人:北京智通云联科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1