ROS下自动实现目标检测与跟踪(一)

学习期间,自己研究了ROS下的目标自动检测与自动跟踪,最终将算法应用到移动机器人实现自动跟随。

要想实现自动检测与自动跟踪,第一步要做的就是完成目标的自动检测,这里不多说了,你可以在ROS下搭建自己的目标检测平台,算法基于YOLO系列,SSD系列,两者的改进算法系列都可以,具体选择因个人爱好及项目需求而定。

实现流程:
1.目标自动检测
这里不多说,因为每个人都不一样,自己按要求实现即可。
2.KCF算法改进
具体改进算法因涉及到个人核心研究内容,这里不多说,感兴趣可以私信。现在介绍一下改进的鼠标函数。

KCF算法有一个弊端,初始化时必须用鼠标人工选取跟踪目标,这大大降低了算法适用性。若要实现自动跟踪,则需要自动初始化跟踪目标,其改进也必须在鼠标函数里面改,鼠标函数代码如下:

void onMouse(int event, int x, int y, int, void*)
{
    if (select_flag)
    {
        selectRect.x = MIN(origin.x, x);
        selectRect.y = MIN(origin.y, y);
        selectRect.width = abs(x - origin.x);
        selectRect.height = abs(y - origin.y);
        selectRect &= cv::Rect(0, 0, rgbimage.cols, rgbimage.rows);
    }
    if (event == CV_EVENT_LBUTTONDOWN)
    {
        bBeginKCF = false;
        select_flag = true;
        origin = cv::Point(x, y);
        selectRect = cv::Rect(x, y, 0, 0);
    }
    else if (event == CV_EVENT_LBUTTONUP)
    {
        select_flag = false;
        bRenewROI = true;
    }
}

鼠标函数的意义:
当按下鼠标左键时,这个点就是起始点,此时目标选择标签select_flag = true;按住鼠标左键移动鼠标,会选择感兴趣区域。松开鼠标左键,此时目标选择标签select_flag = false,bRenewROI = true;经按键操作后实现了所框目标的位置信息,即selectRect。

暂时写到这里,下一篇介绍如何改进鼠标函数。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
ROS (机器人操作系统) 是一个开源的机器人软件平台,它提供了一系列的软件库和工具,用于开发机器人的控制、视觉、感知和导航等功能。ROS 的开源性使得各种机器人厂商可以共享和合作开发机器人技术,这样可以节约时间和成本,促进了机器人技术的快速发展。 ROS 平台可以实现机器人的跟随功能。对于跟随机器人来说,它需要能够识别和跟随人的姿势和动作,并应对环境中的障碍物,实现人-机器人协同移动。ROS 提供了一系列的库和算法,可以方便地实现这种人机交互功能。例如,ROS 提供了人脸检测和追踪库,可以实现对人的追踪功能。同时,ROS 也提供了地图构建和路径规划的功能,可以帮助机器人避开障碍物,实现自主导航。 通过 ROS 平台,开发者可以使用已有的代码库和算法,快速搭建一个跟随机器人的原型系统。此外,ROS 还支持各种传感器和硬件的接口,可以方便地与机器人的硬件系统进行集成。通过 ROS 的开源特性,开发者们可以共享和讨论实现跟随机器人的经验和技巧,共同推动跟随机器人技术的发展。 总的来说,ROS 的开源特性和丰富的功能使得它成为开发跟随机器人的理想选择。借助 ROS,开发者们可以更加高效地实现跟随机器人的功能,并且可以借鉴他人的经验,加速开发进程。随着开源社区的共同努力,ROS 可能会带来更多创新和进步,推动跟随机器人技术在各个领域的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值