一种集群式AI检测设备的管理服务器
文献发布时间:2024-04-18 20:01:23
技术领域
本发明属于计算机技术领域,具体涉及一种集群式AI检测设备的管理服务器。
背景技术
随着计算机技术的快速发展,在全球信息化快速发展的大背景下,人工智能(Artificial Intelligence,AI)已成为国家重要的基础性战略资源,正引领新一轮科技创新。
目前市面上的AI算法服务器,通常只能动态加载一个算法模型,无法支持多个算法模型运行过程中的切换(动态切换),当需要切换不同的算法模型时,只能在程序停止后切换,或重新修改配置后重启服务器来实现。基于此,本发明提出了一种支持算法模型动态切换的集群式AI检测设备的管理服务器。
发明内容
为了克服现有技术中的问题,本发明提出了一种支持算法模型动态切换的集群式AI检测设备的管理服务器。
本发明解决上述技术问题的技术方案如下:
本发明提供了一种集群式AI检测设备的管理服务器,所述服务器内设置有模式管理模块、视觉检测模型管理模块、AI算法容器接口管理模块、算力平衡管理模块、前端控制模块和配置设备接口模块;
所述模式管理模块用于设置服务器的工作模式,所述工作模式包括训练模式与AI识别模式;
所述视觉检测模型管理模块用于匹配前端视觉检测设备与具体的视觉识别模型,以实现不同的视觉检测设备完成不同的视觉识别任务;
所述AI算法容器接口管理模块用于储存及调取所需的AI算法容器接口;
所述算力平衡管理模块用于协调服务器、各前端视觉检测设备的算力;
所述前端控制模块用于设置服务器的各项工作参数;
所述配置设备接口模块用于对接若干前端视觉检测设备。
进一步地,所述配置设备接口模块可外接键盘、触摸屏、移动终端或者鼠标,用于录入指令,配置服务器工作参数。
进一步地,还包括MES扩展接口,用于与MES系统进行数据通讯。
进一步地,在训练模式下,前端视觉终端设备只采集照片,不做识别处理,服务器根据自身负荷情况决定是工作在中心训练模式还是工作在协调训练模式;具体地,若自身算力充足,则工作在中心训练模式下,若自身算力不足,则工作在协调训练模式,所述协调训练模式下,服务器会委托通讯连接着的其他算法机器进行训练。
进一步地,所述视觉检测模型管理模块可基于产品型号识别实时自动切换、手动切换或者按照生产计划切换前端视觉识别设备对应的视觉识别模型,所述视觉识别模型包括分类视觉检测模型、异常值视觉检测模型及物体识别检测模型。
进一步地,所述AI算法容器接口管理模块用于为具体的视觉识别模型提供一种或多种AI算法容器接口。
进一步地,所述视觉检测终端设备包括一类前端设备和二类前端设备,所述一类前端设备是指自身具有GPU计算能力,能够不依赖服务器的算力独立完成AI识别检测功能;所述二类前端设备,是指自身不具备GPU计算能力的低算力终端设备,仅承担对被检测产品的拍照采样,照片传到服务器端后,在服务器内实施AI视觉检测算法的运算;
在AI识别工作模式下,服务器中的所述算力平衡管理模块根据具体连接的视觉检测终端设备的类别,决定将AI视觉检测算法的计算任务分配给视觉检测终端设备或是服务器自己承接。
与现有技术相比,本发明具有如下技术效果:
本发明中通过模式管理模块设置服务器的工作模式,从而实现服务器内训练/识别模式的动态切换;视觉检测模型管理模块匹配前端视觉检测设备与具体的视觉识别模型,以实现不同的视觉检测设备完成不同的视觉识别任务,AI算法容器接口管理模块调取所需的AI算法容器接口,从而实现服务器内算法容器的动态切换,避免了服务器重新启动。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明的服务器内功能模块示意图;
图2为基于本发明服务器搭建的视觉检测系统示意图;
图3为基于本发明服务器的前端视觉检测设备工作模式示意图;
图4为基于本发明服务器搭建的视觉检测系统基于不同场景调用不同模型示意图;
图5为本发明服务器中内存的预留机制示意图。
具体实施方式
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的技术方案的具体实施方式、结构、特征及其功效,详细说明如下。一个或多个实施例中的特定特征、结构或特点可由任何合适形式组合。除非另有定义,本发明所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
参照图1-图2,在本发明的一个实施例中,提供了一种集群式AI检测设备的管理服务器,所述服务器内设置有模式管理模块、视觉检测模型管理模块、AI算法容器接口管理模块、算力平衡管理模块、前端控制模块和配置设备接口模块;
所述模式管理模块用于设置服务器的工作模式,所述工作模式包括训练模式与AI识别模式;
所述视觉检测模型管理模块用于匹配前端视觉检测设备与具体的视觉识别模型,以实现不同的视觉检测设备完成不同的视觉识别任务;
所述AI算法容器接口管理模块用于调取所需的AI算法容器接口;实现方式为预置各容器的工作路径、运行环境参数以及参数配置表等,通过程序代码可以在容器版本有变更时进行实时设定或事先预设定;
所述算力平衡管理模块用于协调服务器、各前端视觉检测设备的算力;
所述前端控制模块用于对接若干前端视觉检测设备;
所述配置设备接口模块用于外接指令输入装置,所述指令输入装置用于录入指令,配置服务器工作参数。
在具体实施例中,所述配置设备接口模块可外接键盘、触摸屏、移动终端或者鼠标等,用于录入指令,配置服务器工作参数。
在具体实施例中,还包括MES扩展接口,用于与MES系统进行数据通讯。
由于不同的视觉检测模型可能运行在不同的算法容器内,为了实现不停机的情况下进行不同视觉检测模型的动态切换,服务器预先在内存中基于AI算法容器接口管理模块加载算法容器管理栈,栈中记录着容器算法加载所需要的库资源(库地址,程序调用接口,程序启动上下文等)句柄,算法模型等内存运行的上下文参数,即预先加载新视觉检测模型所需的基本条件,但是对于占据大量内存的库文件本身,暂不加载,以节省内存,在需要进行视觉检测模型的动态切换时,可以在数秒中内实现对现有模型的关闭和新模型的加载过程,实现了不停机动态切换视觉检测模型。视觉检测模型管理器和AI算法容器管理器的相互配合运用,保证显存和内存的使用效率最大化。
算法容器动态调度调度的实现方法为:预先获取各算法容器所需的内存空间大小,并以最大的需求预留内存空间,比如,如图5所示,halcon容器加载后所占用的内存空间为0xeeee0000字节,yolo7容器加载后占用内存空间为0xdfff0000,openCV容器加载后占用内存空间为0x4fff0000,由此可知,halcon占用内存空间最大,故服务器启动初期,按照最大内存空间需求量,再加上一定的余量保留内存,图5中预留了0xffff0000字节。由此,在动态加载时,只要加载的算法容器均从起始地址0x11110000开始装载,就能确保整个过程不会产生内存溢出的问题。
在实际使用过程中的内存占用量肯定不是一成不变的,会根据任务强度变化而变化,但是对于一个给定的检测场景,显然是可以事先进行一定量的测试,进而事先确定所需的内存空间,并进行适配性的配置。
场景一:
服务器工作在训练模式下,所谓训练模式,就是要基于一个或多个特定的算法和相应的训练集,训练获得具有特定识别功能和一定效率的视觉检测模型,以便后续进行识别用。
前端视觉检测设备根据工作模式的不同,决定将采集的照片传递到不同的位置,比如,请参考图3,前端视觉检测设备(即图中的相机终端)的工作模式以不同的MODE值进行区分,包括COLLECTION模式即“采集模式”,DETECTION模式即“识别模式”和TRAINING模式即“训练模式”,若服务器工作在训练模式下,则前端视觉检测设备工作在“采集模式”,拍摄获得的照片上传至模型训练库里,作为训练集;若前端视觉检测设备工作在“识别模式”“训练模式”,则前端视觉检测设备拍摄的照片将上传至待识别缓冲区,等待视觉检测模型进行识别。服务器工作在训练模式下,由于没有成型的视觉检测模型,所以前端视觉检测设备工作在采集模式下,只负责采集照片,照片将上传至模型训练库里用于作为训练视觉检测模型的训练集。
服务器根据自身的硬件配置情况决定是工作在中心训练模式还是工作在协调训练模式,具体地,若自身算力充足,则可以工作在中心训练模式下,即所有的计算工作都由服务器自身承担,一般是由GPU承担主要运算工作,CPU的算力也要消耗过半,若服务器自身硬件算力不足,则服务器工作在协调训练模式,所述协调训练模式下,服务器会委托通讯连接着的其他具有算法的机器分担训练的相关运算;由于训练模式计算量大,一般情况下,服务器同一时间只能训练一个视觉检测模型。
训练结束获得的视觉检测模型包括分类视觉检测模型、异常值视觉检测模型及物体识别检测模型,当然也不限于上述模型,根据需求可以训练其他功能的模型,训练获得的视觉检测模型会分别储存在服务器中,并由视觉检测模型管理模块根据需求进行实时调度。
所述视觉检测模型管理模块负责根据需要自动切换所需的视觉检测模型,所述AI算法容器接口管理模块用于为AI算法提供容器接口,所述AI算法容器接口包括yolo、OpenCV、TAO、Halcon等。针对一个识别场景需求,可以分别对接不同容器,分别查看不同的容器、算法条件下,在同等功能要求下的训练效果有何差异。
场景二
请参考图4中前端视觉检测设备1和前端视觉检测设备2,本场景下,A型号产品同时在紧邻在一块的1号线和2号线上生产,前端视觉检测设备1设于1号线上,前端视觉检测设备2设于2号线上,然而,由于1号线和2号线紧邻在一块,且相互之间无遮挡,所以前端视觉检测设备1拍摄的照片中会同时存在1号线和2号线上的产品,在此场景下,寄希望于服务器对产线上的产品进行异常值检测,即以对视觉检测设备1抓取到的1号线上产品进行异常值检测,对视觉检测设备2抓取到的2号线上产品进行异常值检测。
针对这种场景下,在设备投用初期,基于视觉检测设备1或视觉检测设备2抓取到的照片进行异常值检测模型的训练时,由于两条线并列紧挨在一块,所以视觉检测设备抓取到的照片中可能存在旁边产线上的产品,故对照片的处理包括多个步骤:在调用Yolo7算法进行物体检测,紧接着需要调用OpenCV算法,对图片进行分割,以将视觉检测设备1抓取到的照片中仅保留1号线上产品,视觉检测设备2抓取到的照片中仅保留2号线上产品,随后再调用Halcon算法,对产品图片进行滤波、抠图之后,最后才用于产品异常值检测模型的训练。
故,在这种场景下,视觉模型管理器首先加载相应规格的算法模型完成图像预处理(比如OpenCV做分割),其次加载Halcon算法模型,完成缺陷检测,这个缺陷检测过程,可能也需要分两步完成,第一步加载分类算法模型,完成第一次检测,帅选出类别差异较大的产品,第二步加载异常值检测模型,完成异常值缺陷能检测。这样多种算法复合叠加运用,将缺陷检测率从单一算法运用的95%的识别率提高到99%以上。
若视觉检测设备1、视觉检测设备2自身配置有GPU,则对于具体的视觉检测的计算任务就直接在视觉检测设备1、视觉检测设备2上完成,即视觉检测设备1、视觉检测设备2即采集照片,又负责进行AI视觉检测,仅向服务器汇报进度和结果即可,服务器只需要做调度工作。但是这种情况下,由于需要给每个视觉检测设备配置GPU,成本较高。
如本例中,1号线和2号线生产的都是同种型号的产品,所以此时可以将GPU配置在服务器端,视觉检测设备1、视觉检测设备2无需配置GPU,视觉检测设备1、视觉检测设备2只需要抓取相应的照片,传送到服务器端由服务器进行相应的视觉检测的运算,这种模式因为需要配置的GPU数量少,可以使系统整体的成本较低。
场景三
请参考图4中前端视觉检测设备3,此场景下,视觉检测设备3被设置在一条独立的流水线上,视觉检测设备3抓取到的照片背景比较干净,不会存在如场景二那种其他产线上的类似产品的情况,但是这条流水线上可能会不同时间段承担多种规格产品,视觉识别任务是首先要检测出现的产品是产品B还是产品C,也可以根据MES系统计划任务数量自动切换,根据不同的产品进行针对性的异常值检测。
故在此场景下,在训练视觉检测模型时,系统会获知,首先需要调用Yolo7算法进行物体规格识别,然后再调用Halcon算法对照片进行滤波抠图,随后进行分类检测和异常值检测。
场景四
请参考图4中前端视觉检测设备4,C型号产品出现在视觉检测设备4前的位置、朝向、形状等相对固定,几乎不会有变化,所以在设备与系统部署初期,针对视觉检测设备4就可以只调用Halcon等单一算法模型算法进行AI识别处理即可,无需进行物体检测、图分割等预处理工作。
场景五
请参考图4整体,视觉检测设备1、视觉检测设备2、视觉检测设备3、视觉检测设备4分别设置在现场上不同的产线上,视觉检测设备1、视觉检测设备2如场景二中所描述的产线,视觉检测设备3位于如场景三所述的产线上,视觉检测设备4位于如场景四所述的产线上,4个视觉检测设备均通讯连接着集群式AI检测设备的管理服务器,服务器实时检测前端视觉检测设备发来的AI识别任务,并基于具体是哪个前端视觉检测设备,调用不同的算法模型进行对应的AI识别任务,若有多台前端视觉检测设备发来任务请求,则根据服务器算力情况,可以同时加载多个模型同时进行处理,也可以按照先后顺序排队处理。
视觉检测模型的切换当然还可以手动切换或者按照生产计划切换。
在本发明的另一个实施例中,提供了一种集群式AI检测设备的管理服务器的运行方法,包括以下步骤:
步骤1.设置工作模式,所述工作模式包括训练模式和AI识别模式。
对于原有的产品型号,可切换为AI识别模式;对于新增产品型号,可切换为训练模式,进行训练。
步骤2.在训练模式下,前端视觉终端设备对产品拍照并上传照片,根据采集的产品照片启动训练,完成的训练模型加载到视觉检测模型管理模块中,并在AI算法容器接口管理模块中配置各容器的工作路径、运行环境参数以及参数配置表。
训练模式下,前端视觉终端设备只采集产品照片,人工做分拣,将其认为瑕疵品和合格品,不同的样本分别列入瑕疵品样本训练库和合格品样本训练库,启动训练;完成的训练模型加载到视觉检测模型管理模块中,训练模型可得知所述产品类型具体加载几种视觉识别模型,以及运用的顺序,不同的产品型号存在不同的算法加载序列。
在AI算法容器接口管理模块中配置具体的视觉识别模型启用的容器、工作路径、运行环境参数以及参数配置表等,AI算法容器接口管理器中包括TAO、Halcon、OpenCV、Yolo等算法模型的接口,可根据需要拓展容器接口。本过程是反复过程,只要检测到有产品型号更新,就可以在闲暇时间启动训练过程。
在训练过程中,服务器根据自身配置信息决定是工作在中心训练模式还是工作在协调训练模式;具体地,若自身算力充足,则工作在中心训练模式下,若自身算力不足,则工作在协调训练模式,所述协调训练模式下,服务器会委托所连接的其他算法机器进行训练。
步骤3.在AI识别模式下,算力平衡管理模块协调服务器、各前端视觉检测设备的算力,开始识别工作。
在识别模式下,获取配置信息及前端视觉设备信息,管理机器配置信息包括管理机器是否具备GPU算力;前端设备信息包括前端设备是否具具备算力。
根据服务器及前端设备信息选择调度中心模式或运算中心模式。若前端视觉设备具备算力的场景,可设置为调度中心模式,这种模式下可以接收存储前端视觉设备上传的数据,并把数据转移到闲置的前端视觉设备进行视觉检测处理;在识别过程中,如果有前端视觉设备处于闲置状态,通过算力平衡管理模块把算力分配给空闲的前端视觉设备。若管理机器自身配置有显卡具备GPU算力时,前端视觉设备不具备或者部分不具备视觉检测算力场景,可以工作于运算中心模式,也可以工作于调度中心模式。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
- 用于4D成像的多射束X射线暴露的系统和方法
- 用于检查涡轮机构件的成像系统及其组装方法
- 放射线检测装置及其制造方法和放射线成像系统
- X射线检查系统以及用于借助于这种X 射线检查系统转动检查对象的方法
- 用于X射线成像设施的检查台和X射线成像设施