·528· 智能系统学报 第14卷 41=(1-)元-1+β (13) 则海参中心位置卫为 式中:B为学习速率;1为帧数。 p=%+ 2 (15) 2 改进算法 尺度因子S为 在海参抓取过程中机器人相对目标位置不断 a-p剑 变化,导致目标尺度发生较大变化,直接应用 s=pa-P (16) KCF算法跟踪精度将大幅下降,不能满足任务要 式中:上标“1”代表第1帧,上标1代表第1帧。 求。对KCF算法进行改进,分别对两个头部位置 如图7(a)所示,目标尺寸变化大时KCF算法 进行局部跟踪,并利用两个头部之间的距离变化 不能估计目标尺度,跟踪效果明显不好;如图7b) 估计目标尺度,同时计算出目标的准确位置。 所示,改进算法则可以准确跟踪目标海参的位置 2.1海参头部定位 并正确检测其尺度。 海参在摄像机中显示的姿态可能有如图5所 示的3种情况,不能简单地根据给定的目标中心 位置确定两头部位置。将目标外包框等分成3×3 共9个子图像,标记为x,其中i=1,2,3和j=1,2,3 分别表示图像块的行号和列号。由于海参各部分 的颜色基本相同,且不论海参处于何种姿态,中 心块x22都是海参的中部,因此可通过周围块与中 心块的灰度偏差确定头部位置。两个头部位置xA (a)KCF算法跟踪效果 和x的可能组合有以下种情况(见图5): (xA,xB)∈{x11,x33),(x12,X32),(x13,X31),(x21,x23)} (a)姿态I (b)姿态Ⅱ (c)姿态Ⅲ (b)改进算法跟踪效果 图5海参目标选点原理图 Fig.5 The target selection principle of a sea cucumber 图7追踪效果的比较 按式(14)计算各图像块组合与中心块的像素 Fig.7 Comparison of the tracking results 偏差,取偏差最小的组合为跟踪目标。 2.3改进算法流程 Dy=uy+ (14) 改进算法流程分为头部定位模块、训练模 式中符号表示对应图像块像素灰度值之差的 块、检测模块3个模块,如算法1所示。在头部定 2-范数。 位模块中,首先将海参目标图像分块,然后计算 2.2尺度和位置估计方法 各块与中心块像素灰度值的距离(即2-范数),选 由初始帧确定海参头部位置后开始跟踪,将 取距离最小的两块作为目标;在训练模块中,分 第t帧中两图像块中心分别记为p和,如图6 别用KC℉方法计算两块的滤波器:在检测模块 所示。 中,分别用KCF方法计算两块的位置,然后计算 目标中心和尺度因子。 算法1改进算法 输入初始目标的定位模块x,2: 输出目标的中心位置p,目标的尺度因子s。 1)当t=1时,根据初始条件计算目标位置p以 和pg,并截取图像块x、2,通过式(3)计算得出 图6海参尺度和位置估计示意 Fig.6 Schematic representation of the scale and location 基准输出样本y、;通过式(9)求核函数的傅氏 estimation for a sea cucumber 变换(x,x)和(x2,x2),并求输出样本的傅氏变xˆt+1 = (1−β) xˆt−1 +βxˆt (13) 式中: β 为学习速率;t 为帧数。 2 改进算法 在海参抓取过程中机器人相对目标位置不断 变化,导致目标尺度发生较大变化,直接应用 KCF 算法跟踪精度将大幅下降,不能满足任务要 求。对 KCF 算法进行改进,分别对两个头部位置 进行局部跟踪,并利用两个头部之间的距离变化 估计目标尺度,同时计算出目标的准确位置。 2.1 海参头部定位 3×3 xi j i = 1,2,3 x22 xA xB 海参在摄像机中显示的姿态可能有如图 5 所 示的 3 种情况,不能简单地根据给定的目标中心 位置确定两头部位置。将目标外包框等分成 共 9 个子图像,标记为 ,其中 和 j = 1,2,3 分别表示图像块的行号和列号。由于海参各部分 的颜色基本相同,且不论海参处于何种姿态,中 心块 都是海参的中部,因此可通过周围块与中 心块的灰度偏差确定头部位置。两个头部位置 和 的可能组合有以下种情况 (见图 5): (xA, xB) ∈ {(x11, x33),(x12, x32),(x13, x31),(x21, x23)} (a) 姿态Ⅰ (b) 姿态Ⅱ (c) 姿态Ⅲ 图 5 海参目标选点原理图 Fig. 5 The target selection principle of a sea cucumber 按式 (14) 计算各图像块组合与中心块的像素 偏差,取偏差最小的组合为跟踪目标。 Di j = xi j − x22 + x4−i,4−j − x22 (14) 式中符号 ∥·∥ 表示对应图像块像素灰度值之差的 2-范数。 2.2 尺度和位置估计方法 t p t A p t B 由初始帧确定海参头部位置后开始跟踪,将 第 帧中两图像块中心分别记为 和 ,如图 6 所示。 图 6 海参尺度和位置估计示意 Fig. 6 Schematic representation of the scale and location estimation for a sea cucumber p 则海参中心位置 t 为 p t = p t A + p t B 2 (15) 尺度因子 S 为 S = p t A − p t B p 1 A − p 1 B (16) 式中:上标“1”代表第 1 帧,上标 t 代表第 t 帧。 如图 7(a) 所示,目标尺寸变化大时 KCF 算法 不能估计目标尺度,跟踪效果明显不好;如图 7(b) 所示,改进算法则可以准确跟踪目标海参的位置 并正确检测其尺度。 (a) KCF 算法跟踪效果 (b) 改进算法跟踪效果 图 7 追踪效果的比较 Fig. 7 Comparison of the tracking results 2.3 改进算法流程 改进算法流程分为头部定位模块、训练模 块、检测模块 3 个模块,如算法 1 所示。在头部定 位模块中,首先将海参目标图像分块,然后计算 各块与中心块像素灰度值的距离 (即 2-范数),选 取距离最小的两块作为目标;在训练模块中,分 别用 KCF 方法计算两块的滤波器;在检测模块 中,分别用 KCF 方法计算两块的位置,然后计算 目标中心和尺度因子。 算法 1 改进算法 输入 初始目标的定位模块 x1,x2; p t 输出 目标的中心位置 ,目标的尺度因子 s。 t = 1 p 1 A p 1 B x1 x2 y1 y2 κˆ (x1, x1) κˆ (x2, x2) 1) 当 时,根据初始条件计算目标位置 和 ,并截取图像块 、 ,通过式 (3) 计算得出 基准输出样本 、 ;通过式 (9) 求核函数的傅氏 变换 和 ,并求输出样本的傅氏变 ·528· 智 能 系 统 学 报 第 14 卷