资讯
2019-04-16 14:18:03 来源:
[摘要] 排爆机器人(EOD robot)是一种可以遥控操作地面移动机器人,一般是由一个机械手和一个可移动平台组成,主要用于拆除疑似爆炸物品,以减少作业现场人员伤亡,是目前军警方面使用的
在这种机器人中,我们采用了Carry R.Bradski提出的CAMSHIFT(Continuously Adaptive Mean Shift)算法,该算法以颜色的直方图为目标模式的目标跟踪算法,即使目标出现变形和部分遮挡也可以应用,而且运算效率很高。
CAMSHIFT算法简要流程:
(1)初始化目标模型、候选区域、候选区域中心位置y0
1)计算目标区域的hue分量图的直方图。
cvCalcHist(&hue,hist,0,mask);
2)初始化候选区域,y0即候选区域的中心坐标。
track_window=selection;
(2)根据目标模型的直方图计算权值,将当前帧转换为反向投影图。
cvCalcBackProject(&hue,backproject,hist);
cvAnd(backproject,mask,backproject,0);
(3)计算新的目标候选位置y0(mean shift算法)
1)按公式(2)计算新的目标位置y1.
2)令d=||y1-y0||,y0=y1,设ε为误差阀值,N为最大迭代次数。如果d<ε或者k≥N,则迭代结束,返回新的目标位置y0;否则k=k+1,跳到1)。
下图为调试CAMSHIFT算法识别目标物
应用CAMSHIFT算法前需将爆炸物的图像由RGB颜色空间转化到HSV颜色空间,依据CAMSHIFT算法流程,首先选择大小为S的爆炸物图像作为初始搜索窗口,然后对该窗口中每个像素点H通道采用,得到色调直方图。然后将该直方图保存下来作为搜索目标的颜色直方图模型,在目标跟踪过程中,对摄像头采集到的图像的每个像素通过查询目标颜色直方图,得到该像素为目标像素的概率。经过上述预处理,视频中每一帧图像都转化为目标颜色概率分布图,也成为目标颜色投影图。下图为流程图:
摄像头随动设计
当摄像头采集到目标爆炸物时,操作者在上位机端圈出目标物所在区域作为初始搜索窗口,通过CAMSHIFT算法可以可到目标物在摄像头采集图像窗口中的位置,从而计算出目标物所在区域离图像窗口中心点的偏移量Δx、Δy。将所得的偏移量转化为摄像头云台的转动量,使云台跟随目标物转动,从而使目标物可以保持在摄像头采集画面窗口的中心位置。调试过程中出现跟随不及时现象,经检验为主控芯片多任务操作性能不佳。决定采用双主控芯片方案,由一片单独的芯片负责摄像头云台的随动动作,检验证明随动性能由明显提高。下图为随动流程图:
价格:¥0.00
价格:¥0.00