睿眼(Realeye)是一款集智能采集、识别、定位、抓取、视控全流程为一体的 AI 产品, 以其 AI 算法结合机械臂硬件实现对万事万物的定位抓取功能,能够实现对任意目标物从图 片采集、标注到模型训练和抓取。通过人性化的交互方式、易操作的界面,将原本复杂的数据采集、模型训练、模型部署、机械臂适配、机械臂操作、视控等功能简单、易懂地呈现给用户,降低用户学习和使用成本。
睿眼的模型训练功能是其亮点之一,无需复杂的理论和操作,也无需专业的设备,在笔记本电脑上就能够训练出一个自己想要的识别模型。经过一段时间的试用,在此与大家分享在使用睿眼进行模型训练时的一点心得。
1.图像采集
要自己训练一个新模型,第一步便是采集包含识别目标的图像。在睿眼中,这一步名为:采集数据。其页面如图1.1所示:
图1.1:“采集数据”页面
进入这一页面后,单击最左侧的功能按钮开始流程(整个操作流程就是从左到右使用这些功能按键即可)。点击最左侧的新增数据集后,在弹出的窗口中输入数据集名称以及识别物体的标签名称。输入完成后,系统会弹出窗口,需要在其中选择一个图像来源,如图1.2所示:
图1.2:视频源选择
这一步需要根据实际需要选择,这里选择camera作为视频源。那么,睿眼就会使用摄像头来拍摄画面,并截取画面生成图片,作为后续训练的素材。这里需检查摄像头是否成功连接,可查看右上角图标,从左到右第二个图标显示了摄像头的连接状态,图1.2中的状态即是连接正常。
图1.3:选择camera作为视频源后的确认窗口
选择camera作为视频源后,会弹出一个窗口,其中显示的画面即为当前摄像头所拍的画面。若画面中没有要识别训练的目标物体,请拖动机械臂末端以移动摄像头,使目标物体出现在画面中,并点击“S”键(“s”亦可)。
完成以上步骤后,便可以开始图像采集。如图1.4、1.5所示,点击“顺序播放画面“按键,睿眼便会从摄像头画面中不断截取图像(采集过程中文件列表不会立刻更新,需要点击停止采集后文件列表才会更新。
图1.4:开始顺序播放画面
图1.5:停止采集后的文件列表
睿眼的图像采集速度为5帧/秒,所以采集的时间越长,所得到的图像数量就越多。图像更多,则训练得到的模型效果更好,但也会相应的使训练时间变长。大家在实践的过程中可自行衡量。
2.图片标注
图像采集完成后就需要进行标注,以告知睿眼目标物体的轮廓和在图像中的位置。标注方式又分为手动标注和自动标注两种。自动标注可以一键自动标注物体轮廓,只需点击一下物体在画面中的所在位置即可。但是自动标注只能大致根据物体与背景的轮廓分界来标注其形状,在一些时候存在误识别等问题,此时就需要重新自动标注或手动标注。
图2.1:自动标注物体轮廓(识别有误)
此时便可使用手动标注方法:取消自动标注的选择,然后用鼠标左键点击物体轮廓边缘,使画面上的点围绕物体。若过程中有点错的点,可用鼠标右键取消。如图2.2所示:
图2.2:手动标注物体边缘
若完成了边缘标注,即可按空格键,生成一个绿色图案覆盖住目标物体,如此便完成了一张图片的标注流程。如图2.3所示:
图2.3:点击空格键生成轮廓
如果一张一张地标注,操作上非常繁琐,因此睿眼提供了一个自动标注多张图片的功能。如图2.4:
图2.4:正向追踪目标
在前面,我们标注了序号为11的图片,此时点击正向追踪目标,睿眼便会以11为示范,自动完成序号12至最后的所有图片的标注。在我的使用过程中,一般是先手动标注一两张图,尽可能精确,这样使用自动追踪得到的标注效果就会较好。自动追踪目标的过程中,可以看到页面右下角的图片编号变化,主画面窗口的图像也会逐张切换,并显示标注出的轮廓。当自动追踪结束后,可找出其中标注效果不好的进行重新标注。反向追踪同理,不过它是从当前序号向前标注,功能相同,序号方向相反。
标注完所有图像后,点击“数据增强“按钮,睿眼将会自动处理数据集,向其中添加一定数量的图像,使得训练效果更好,如图2.5:
图2.5:数据增强
需要注意,数据增强产生的图像会添加到整个数据集中,便会使得图像张数变多,造成训练的时间延长。
3.识别训练
获得数据集并处理完成后,即可开始模型训练,如图3.1:
图3.1:识别训练页面
首先选择训练的轮次,即训练过程中整个训练数据集被模型使用的次数。默认为30轮,轮次越多,效果越好,但是花费的时间也将按倍数增加。
其次为训练批次选择,在机器学习中,训练批次即每次更新模型参数时使用多少训练数据。此值越大,对资源消耗占用越多,但相应的训练效果也更好。需要注意,训练批次的选择会极大的影响训练时的内存占用,若设置得过大,而硬件性能不足,会导致训练失败闪退。
最后则是选择参与本次训练的数据集,可以使用刚刚标注好的数据集,也可以用之前标注的数据集。查看当前的所有数据集可以点击左侧最下方的“设置管理“按钮,如图3.2:
图3.2:查看当前的所有数据集
选择完三个参数后,点击左侧的“开始训练“按钮即可开始模型训练,接下来只需要等待即可。如图3.3:
图3.3:开始训练(负担最小,速度最快的配置)
训练过程中,可以实时查看训练情况,如图3.4所示(之前训练时截的):
图3.4:训练过程中的页面
训练完成后,便得到了识别模型,可用于推理识别和识别抓取等一系列过程。日后会对这些操作过程进行分享,此处暂不赘述。
4.虚拟内存设置
整个训练过程中,电脑硬件配置、图片数量、训练轮次、训练批次都会影响训练速度。
有时候,可能一开始运行识别训练就会报错闪退,最可能的原因就是电脑内存不足。为了解决这个问题,可以通过设置虚拟内存来解决。
首先进入设置-系统-系统信息,如图4.1所示:(笔者电脑系统为win11)
图4.1:设置-系统-系统信息
进入系统信息页面后点击进入高级系统设置:
图4.2:系统信息页面
然后依次点击:高级-性能-设置-高级-虚拟内存-更改:
图4.3:高级系统设置页面
进入虚拟内存设置页面后,选择一个空间多的盘(最好是固态),自定义虚拟内存大小,最大值推荐为16*1024mb,如图4.4所示:
图4.4:虚拟内存设置
完成以上操作后点击确定,虚拟内存的设置便完成了。
接下来便可再次尝试模型的识别训练。
欢迎在评论区交流讨论。祝您顺利!