模型推理框架
智能机器人与机器学习是紧密相连的,机器学习又可以分成数据采集、标注、训练、推理等环节,其中数据的训练需要消耗大量算力,适合在服务器或者云端进行,不过训练好的模型可是要部署到机器人端进行推理运算的,所以模型推理的效率如何,直接决定了机器人视觉处理的效率,这刚好是TogetherROS所擅长的地方。
Hobot DNN模型推理库
TogetherROS集成了Hobot DNN模型推理库,集成了众多开源模型,借助底层芯片中的AI引擎BPU,提供充足的算力保障,开发者实际使用中,就不用花费很多时间在模型的调教和数据的训练上,基于这套系统,很快就可以部署人工智能应用啦。
hobot_dnn是在地平线X3开发板上利用BPU处理器实现AI推理功能,基于地平线EasyDNN和ROS2 Node进行二次开发,为应用开发提供更简单易用的模型集成开发接口,包括模型管理、基于模型描述的输入处理及结果解析,以及模型输出内存分配管理等功能。
关于hobot_dnn的使用逻辑流程如这张图所示,供大家参考,我们后续也会通过具体的案例解释代码的实现过程。
算法与应用库
在Hobot DNN模型推理库的基础上,地平线还提供了一套基于TogetherROS系统的AI算法包,称为BOXs,这样我们就不需要从零构建算法,基于这些标准而高效的算法,可以更关注应用层面的APP开发。
从这张图中我们可以看到,这套AI算法包中包含两大块,一个是基础算法,一个是应用算法。
基础算法中主要是图像分类、语义分割和目标检测这些常用的算法,应用层面就会基于这些算法和某些场景,动态实现更为复杂的人体识别、骨骼点识别、手势识别等具体的功能,这些模块就可以和机器人运功功能直接结合,节省了我们开发AI视觉部分的时间。
模型推理测试
这套模型推理和算法库的效果如何呢?
我们先来体验一个TogetherROS自带的案例,识别这张图片中的人,以及每个人的骨骼关键点。