我另外一个同事电脑i3的CPU,没有独立显卡,也能很好的训练出算法。
以前我们被算法公司忽悠,我一直以为训练算法的机器至少要 i7已上的CPU,要好几块RTX3090的显卡才行。现在才知道普通PC就可以训练AI算法了。
训练算法
这个工具完全颠覆了我对算法的认知,感觉是个人就能训练出AI算法。
最多就三步:标注数据、训练算法、导出
第一步:标注数据
收集足够的图片放到一个目录中,打开“图片标注工具”标注这些数据。只要会用鼠标拉框就能标注数据,很简单。
网盘中有标注好的安全帽数据,我就直接拿来用了。标注数据也省了。
这个数据中把没戴安全帽的头标注为 head, 把戴了安全帽的头标注为 helmet, 没戴在头上的安全帽没有标注。这样算法就不会把没戴在头上的安全帽识别为戴了安全帽的头。
第二步:训练算法
新建训练任务
输入任务名称,我起名“安全帽识别”。
选择算法要运行的设备,我用的是3399pro边缘盒子,选择“RK3399-PRO NPU”。
如果要训练能在
手机上运行的算法,可以选择“Android 手机”。这个工具真的很良心,还能做手机上的算法。
选择模型大小。
创建好训练任务后,将训练数据设置为收集的安全帽图片的目录。
点击训练按钮
点击“开启训练”按钮就开始训练了。这太简单了吧
第三步:导出模型与SDK
训练差不多的时候就可以导出模型。
点击“导出模型/SDK”按钮
在弹出的对话框中,设置要导出的内容与要保存的目录。
我们的项目使用的是C++语言,所以我选择“C++ SDK”。
设置好后,点击“导出”按钮。
说明文档、SDK、模型、Demo源码都会保存到指定的目录中。
集成算法
导出的文件 sdk.zip 里面有如下文件
文件 model.model:训练好的算法模型文件。
class_list.txt:模型识别的物体的类别列表。该文件列出了类别编号与类别名的对应关系。
目录 libs : 起点物体识别SDK的库文件与用到的第三方库。
目录 demo:是使用 SDK 的范例代码。
文件 get_key : 用于获取设备 licnese key 的程序。
调用流程
范例代码
下面是使用训练出来的模型的范例代码: