一种基于双目IDE开发软件的智能工业摄像头的制作方法

文档序号:25992434发布日期:2021-07-23 21:04阅读:131来源:国知局
一种基于双目IDE开发软件的智能工业摄像头的制作方法

本发明涉及智能摄像头领域,特别涉及一种基于双目ide开发软件的智能工业摄像头领域。



背景技术:

随着工业4.0的推广普及,利用工业摄像头采集现场图像数据进行生产环境与生产质量情况的分析应用越来越多。传统工业摄像头的使用是通过上位机连接,而智能工业摄像头可以脱离上位机使用,这样既节省了成本又降低了功耗。目前使用智能工业摄像头进行数据采集时,依然受开发环境复杂、所需协议过多、硬件底层操作难度较大、现有远程调试交互不友好的因素的钳制,无疑增大了数据实时采集、分析的难度。

网上存在的单目智能工业摄像头系统,依然是通过连接在上位机的摄像头模块采集图像数据,并将采集到的图像数据存储在上位机中,通过上位机中单独的图像处理软件进行图像处理。该系统存在成本高、功耗高、操作环境复杂、图像处理难度大以及资源浪费的问题。同时该工业摄像头的计算能力有限,不能满足高性能计算的图像处理,如3d实时模型,ai计算,对生产环境和生产质量情况的实时分析时,容易造成生产流程上的纰漏;工业摄像头图像处理难度大,系统并未集成图像处理程序,需要单独的上位机及程序操作,资源浪费,上位机中的资源优势并没有有效的利用;工业摄像头操作环境复杂,无法做到一键式运行操作,无法实现远程操作;一般双目摄像头的焦距和两镜头之间距离不匹配的因素导致左右输入图片的质量不理想时,现有技术得到的深度图也不理想,且成本高,功耗大。



技术实现要素:

针对现有技术存在的不足,本发明提供的一种基于ide开发软件的智能工业摄像头,通过内部应用异构计算技术直接进行图像采集以及图像处理,提升双目智能工业摄像头的边缘计算能力,减少成本、增加计算资源,降低功耗。利用arm技术实现ide软件的远程交互,实现远程交叉编译、数据采集、图像处理的功能。简化操作环境,实现一键式运行操作,使得图像处理更加快捷方便。

本发明的技术方案为:

一种基于双目ide开发软件的智能工业摄像头包括:

第一摄像头,其用于采集图像数据;

第二摄像头,其用于采集图像数据,且与第一摄像头的基线长度可调节;

电路板,其连接第一摄像头和第二摄像头,其上设置有异构计算卡,用于控制图像数据采集程序并对图像数据进行分析;

双目ide软件,其利用arm技术对电路板进行远程控制。

优选的是,电路板包括:

第一采集电路板,其可拆卸安装第一摄像头;

第二采集电路板,其可拆卸安装第二摄像头;

控制电路板,其分别连接第一采集电路板和第二采集电路板,且其上设置有fpga计算卡;

计算电路板,其连接控制电路板,且其上设置有cpu和gpu协同计算卡。

优选的是,双目ide软件的开发过程为:

根据需求功能远程编译代码生成目标程序,并调用视觉算法;

远程调试以监听目标程序是否被执行;

运行目标程序,第一摄像头和第二摄像头采集图像数据;

对图像数据进行存储并通过计算生成和输出结果图。

优选的是,双目ide软件的开发过程还包括:

创建脚本文件,以使目标程序开机自启动;

远程删除代码可执行的文件;

远程控制远程装置关机操作。

优选的是,远程编译包括如下步骤:

调用交叉编译工具对代码进行解析,并在本地编译出基于arm平台运行的目标程序。

通过服务器将目标程序传输到下位机中;

调用应用程序命令,运行目标程序并在编译器中显示目标程序的输出信息。

有选的是,远程调试包括如下步骤:

创建调试监听进程,并设置目标程序的断点;

调用运行父进程追踪子进程的运行数据;

通过捕捉子进程的断点信号实时观察子进程状态。

优选的是,远程调试还包括上位机与下位机创建安全验证,安全验证的过程为:

创建一对公钥私钥对,并把公钥存储于服务器上;

当用户要连接到服务器时,客户端使用私钥向服务器发出验证请求;

服务器寻找私钥对应的公钥,利用公钥加密质询文件,并将质询文件发送给客户端;

客户端用私钥解密质询文件并发送给服务器以完成登录。

优选的是,结果图包括单目图、双目图、深度图中的一种或多种。

优选的是,还包括视觉算法库,其设置于ide开发软件内部,用于储存自主开发的视觉算法。

一种计算机可读存储介质,存储有双目ide软件,该双目ide软件被执行时可以实现上述的智能工业摄像头图像采集和图像数据分析方法。

本发明的有益效果是:

1、自主研发双目摄像头硬件,可根据使用情况调节双目摄像头之间的基线baseline长度,工作模式可切换单目/双目/深度图的模式。

2、模块脱离上位机,内部应用异构计算技术直接进行图像采集以及图像处理,直接输出处理后的深度图,提升双目智能工业摄像头的边缘计算能力,减少成本、增加计算资源,降低功耗。

3、自主开发智能工业摄像头ide软件,该软件具备多种功能,同时集成了自主开发的视觉算法库。利用异构计算中的arm技术可实现ide软件的远程交互,实现远程交叉编译、数据采集、图像处理的功能。简化操作环境,实现一键式运行操作,使得图像处理更加快捷方便。

附图说明

图1为本发明提供的一种双目智能工业摄像头设计框图。

图2为本发明中双目ide软件开发过程图。

图3为为本发明中双目ide软件的功能图。

图4为本发明中双目ide软件远程调试原理图。

图5为本发明的一个实施例中双目摄像头的采集图像。

图6为本发明的一个实施例中双目摄像头的输出图像。

图7为本发明的一个实施例中双目摄像头的采集图像。

图8为本发明的一个实施例中双目摄像头的输出图像。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在本发明的描述中,术语“中”、“上”、“下”、“横”、“内”的指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。

本发明在硬件上自主研发模块内部使用的电路板,设计框图如图1所示,包括第一采集电路板c1、第二采集电路板c2、控制电路板b1和计算电路板b2。

第一采集电路板c1可拆卸安装用于采集图像数据的第一摄像头;第二采集电路板c2可拆卸安装用于采集图像数据的第二摄像头;控制电路板b1分别连接第一采集电路板c1和第二采集电路板c2,计算电路板b2连接控制电路板b1。控制电路板b1上设置有fpga计算卡,计算电路板b2上设置有cpu和gpu协同计算卡,控制电路板b1和计算电路板b2共同实现对第一摄像头和第二摄像头采集的图像数据进行异构计算。

采用fpga+cpu+gpu计算模式,能实现本地超过1tflops的计算处理能力,可支持各种人工智能算法的运行。在硬件上自主研发模块内部使用的电路板,通过调节第一采集电路板c1和第二采集电路板c2的相对位置,可以调节第一摄像头和第二摄像头的基线距离,从而使获取到的图像范围增加,可以快速调节后应用于不同场景中。

如图2所示为双目ide软件的开发过程,具体包括如下步骤:

s110利用ide软件创建项目。

s120根据需求功能远程编译代码生成目标程序。

调用交叉编译工具对代码进行解析,并在本地编译出基于arm平台运行的目标程序。通过服务器将目标程序传输到下位机中;调用应用程序命令,运行目标程序并在编译器中显示所述目标程序的输出信息。

arm架构是一种精简指令集处理器架构,广泛的应用于嵌入式系统设计中,具有低成本高性能低功耗的特性。由于是跨平台编译,所以在本机中需要配置编译环境。在安装集成开发环境中,已包含了所需的所有动态库(外部依赖库及附加的驱动和算法接口)。

s121调用视觉算法。

ide软件内置视觉算法库用于储存自主开发的视觉算法,软件根据功能需求调用相应的视觉算法。

s130远程调试、运行目标程序。

远程调试的原理如图3所示,创建调试监听进程,并设置目标程序的断点;调用运行父进程追踪子进程的运行数据;通过捕捉所述子进程的断点信号实时观察子进程状态。

远程调试运行的过程中,上位机和下位机之间,使用ssh(加密的网络传输协议)进行通信,上位机与下位机安全验证的过程为:

创建一对公钥私钥对,并把公钥存储于服务器上;

当用户要连接到服务器时,客户端使用私钥向服务器发出验证请求;

服务器寻找私钥对应的公钥,利用公钥加密质询文件,并将质询文件发送给客户端;

客户端用私钥解密质询文件并发送给服务器以完成登录。

s140摄像头采集图像数据

s150存储图像数据并分析生成和输出结果图。

结果图根据功能需求的不同为单目图、双目图、深度图中的一种或多种。

如图4所示为本发明双目ide软件包括创建项目;代码远程编译、调试、运行;删除代码可执行文件;自动远程交互启动可执行文件;远程关机操作的功能。

在一个具体实施例中,给双目智能工业摄像头上电后,系统自动运行,通过选择深度图模式输出图像。

在ide界面中创建项目,ide会调用arm框架提供的交叉编译工具对代码进行解析,并在本地编译出基于arm平台运行的程序。

利用ssh将编译完成的运行程序传输到下位机中。secureshell(ssh)是建立在应用层基础上的安全网络协议,它是专为远程登录回话和其他网络服务提供安全性的协议,可以有效弥补网络中的漏洞。区别于传统的ftp、pop的会用明文传输数据、用户账号和用户口令的方式,ssh更有安全性。如若使用的是build&run,ide使用ssh调用shell命令,运行目标程序并在vscode中的中断窗口中显示程序的输出信息。

在linux系统中存在ptrace系统调用,ptrace该系统调用运行父进程追踪子进程的运行数据。gdb的跟踪调试功能设置程序的断点breakpoint,父进程通过ptrace接管子进程除了sigkill之外所有的信号。当子进程(就是我们调试的程序)在发送breakpoint或者单步调试,会产生一个信号sigtrap,被父进程(这里的gdb)捕获到,这时用户就可以通过gdb实时观察到当前的子进程状态。

在程序运行前,创建一个gdb监听进程以监听固定程序是否被执行,当目标程序开始执行后,gdb监听程序会将该程序捕获。在ide中的操作会通过gdbserver将信息传输到下位机以达到控制程序的目的。

设备考试运行,第一摄像头和第二摄像头采集到的图像数据如图5所示,通过异构计算,采用fpga+cup+gpu的计算模式,生成深度图如图6所示。采集到又一图像数据如图7所示,通过异构计算生成的深度图如图8所示。

本发明提供的基于双目ide开发软件的智能工业摄像头,相比于传统工业摄像头更加便捷化、智能化。减少了模块成本、降低了系统的功耗,优化了模块系统的操作环境,提升了双目智能工业摄像头的边缘计算能力,使其能够满足如输出深度图、3d实时模型、ai方面的计算的应用。

以上所述实施例中,各技术特征可以任意组合,为使描述简洁,未对上述实施例中各技术特征所有可能的组合都进行描述,然而只要这些技术特征组合不存在矛盾,都应当认为是本说明书记载的范围。

以上内容仅是本发明的实施例,方案中公知的具体结构及特性的常识在此未作过多描述,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不脱离本发明的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1