发明名称 利用苹果果梗图像计算苹果旋转角度的方法
摘要 本发明公开了一种利用苹果果梗图像计算苹果旋转角度的方法。包括如下步骤:苹果目标提取、果梗侧图像的特征点提取、两幅果梗图像特征点匹配、特征点旋转角度计算、旋转角度坏点剔除和苹果旋转角度计算。本发明利用苹果果梗作为苹果旋转角度计算的依据,检测速度快,准确度高。
申请公布号 CN103177434B 申请公布日期 2016.07.06
申请号 CN201310124247.X 申请日期 2013.04.10
申请人 浙江大学 发明人 应义斌;朱蓓;饶秀勤
分类号 G06T5/50(2006.01)I 主分类号 G06T5/50(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 林怀禹
主权项 一种利用苹果果梗图像计算苹果旋转角度的方法,其特征在于,包括如下步骤:1)苹果目标提取对苹果果梗图像I<sub>1</sub>(x,y)和I<sub>2</sub>(x,y)进行目标提取,即去除背景图像,提取苹果图像,用最大类间方差法进行分割,提取苹果目标图像,记为I<sub>ob_1</sub>(x,y)和I<sub>ob_2</sub>(x,y)2)果梗侧图像的特征点提取对图像I<sub>ob_1</sub>(x,y)提取特征点的步骤如下:①建立在不同尺度σ空间内的图像,定义图像I<sub>ob_1</sub>(x,y)为S(x,y),按式(1)定义G(x,y,σ)为可变尺度的2维高斯函数,按式(2)定义L(x,y,σ)为不同尺度σ空间的图像,有:<maths num="0001"><math><![CDATA[<mrow><mi>G</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>&sigma;</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mrow><mn>2</mn><msup><mi>&pi;&sigma;</mi><mn>2</mn></msup></mrow></mfrac><msup><mi>e</mi><mfrac><mrow><msup><mi>x</mi><mn>2</mn></msup><mo>+</mo><msup><mi>y</mi><mn>2</mn></msup></mrow><mrow><mn>2</mn><msup><mi>&sigma;</mi><mn>2</mn></msup></mrow></mfrac></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000977326520000011.GIF" wi="1529" he="191" /></maths>L(x,y,σ)=G(x,y,σ)*S(x,y)   (2);②对不同尺度σ空间的图像L(x,y,σ)按式(3)进行连续平滑和采样,记D为相邻尺度的高斯差分图像;D(x,y,σ)=L(x,y,kσ)‑L(x,y,σ)   (3);其中k为常数;③提取高斯差分图像D上的峰值点作为特征点的候选点;每一个采样点与其同尺度的8个相邻点以及上下相邻尺度对应的9×2个点共26个点比较,将局部极值点集,即灰度值极大值或极小值作为特征点候选点集;④去除极值点集中的不稳定点;利用Taylor二次级数在采样点处的尺度空间函数约束条件剔除对图像噪声敏感的低对比度的极值点;利用Hessian矩阵的轨迹和行列式去除边缘处的候选特征点;⑤确定特征点的方向;记固定尺寸σ的高斯平滑图像为L(x,y,k<sub>0</sub>σ),利用特征点的梯度方向信息建立角度直方图,峰值即为局部梯度的主方向,分别按式(4)和式(5)计算像素梯度值m(x,y)和方向θ(x,y);<maths num="0002"><math><![CDATA[<mrow><mi>m</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><msqrt><msup><mrow><mo>(</mo><mi>L</mi><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>k</mi><mn>0</mn></msub><mi>&sigma;</mi><mo>)</mo></mrow><mo>-</mo><mi>L</mi><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>k</mi><mn>0</mn></msub><mi>&sigma;</mi><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mo>(</mo><mi>L</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mn>0</mn></msub><mi>&sigma;</mi><mo>)</mo></mrow><mo>-</mo><mi>L</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mn>0</mn></msub><mi>&sigma;</mi><mo>)</mo></mrow><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000977326520000021.GIF" wi="1886" he="126" /></maths><maths num="0003"><math><![CDATA[<mrow><mi>&theta;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>tan</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mfrac><mrow><mi>L</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mn>0</mn></msub><mi>&sigma;</mi><mo>)</mo></mrow><mo>-</mo><mi>L</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>-</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mn>0</mn></msub><mi>&sigma;</mi><mo>)</mo></mrow></mrow><mrow><mi>L</mi><mrow><mo>(</mo><mi>x</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>k</mi><mn>0</mn></msub><mi>&sigma;</mi><mo>)</mo></mrow><mo>-</mo><mi>L</mi><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mn>1</mn><mo>,</mo><mi>y</mi><mo>,</mo><msub><mi>k</mi><mn>0</mn></msub><mi>&sigma;</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000977326520000022.GIF" wi="1834" he="188" /></maths>其中k<sub>0</sub>为常数;⑥建立特征点的描述符:以特征点为中心点采集16×16个像素窗口,将像素窗口分为4×4的子块,则每个子块可得到8个方向的梯度大小信息和梯度方向直方图,用128维向量描述该特征点;记提取的特征点为N<sub>1</sub>(x<sub>n</sub>,y<sub>n</sub>),n为正整数;对图像I<sub>ob_2</sub>(x,y)重复步骤①~⑥,得到其特征点N<sub>2</sub>(x<sub>n</sub>,y<sub>n</sub>),n为正整数;3)两幅果梗图像特征点匹配采用kd树进行特征点的搜索匹配;以苹果果梗图像I<sub>1</sub>(x,y)中的特征点N<sub>1</sub>(x<sub>n</sub>,y<sub>n</sub>)为基准点,n为正整数,搜索与图像I<sub>1</sub>(x,y)中的特征点最邻近的图像I<sub>2</sub>(x,y)中的特征点;记图像I<sub>1</sub>(x,y)和图像I<sub>2</sub>(x,y)中对应匹配点坐标为(x<sub>m</sub>,y<sub>m</sub>)和(x<sub>m</sub>′,y<sub>m</sub>′);4)获取圆的中心坐标采用Canny算子提取苹果图像的边界,对苹果图像的边界点采用最小二乘圆进行拟合,得到图像I<sub>ob_1</sub>(x,y)和图像I<sub>ob_2</sub>(x,y)的圆心点坐标,分别为(x<sub>0</sub>,y<sub>0</sub>)和(x<sub>0</sub>′,y<sub>0</sub>′);5)特征点旋转角度计算特征点的旋转角度θ<sub>m</sub>计算公式为:<maths num="0004"><math><![CDATA[<mrow><msub><mi>&theta;</mi><mi>m</mi></msub><mo>=</mo><mfrac><mn>180</mn><mi>&pi;</mi></mfrac><mo>&times;</mo><mrow><mo>(</mo><msup><mi>tan</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mfrac><mrow><msup><msub><mi>y</mi><mi>m</mi></msub><mo>&prime;</mo></msup><mo>-</mo><msup><msub><mi>y</mi><mn>0</mn></msub><mo>&prime;</mo></msup></mrow><mrow><msup><msub><mi>x</mi><mi>m</mi></msub><mo>&prime;</mo></msup><mo>-</mo><msup><msub><mi>x</mi><mn>0</mn></msub><mo>&prime;</mo></msup></mrow></mfrac><mo>-</mo><msup><mi>tan</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mfrac><mrow><msub><mi>y</mi><mi>m</mi></msub><mo>-</mo><msub><mi>y</mi><mn>0</mn></msub></mrow><mrow><msub><mi>x</mi><mi>m</mi></msub><mo>-</mo><msub><mi>x</mi><mn>0</mn></msub></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000977326520000023.GIF" wi="1299" he="170" /></maths>6)旋转角度坏点剔除以特征点的旋转角度θ<sub>m</sub>为对象,记为:θ={θ<sub>i</sub>|θ<sub>i</sub>∈θ<sub>m</sub>,i=1,2,…,m}   (7)将对象分为3个类W<sub>j</sub>,j=1,2,3,这3个类的聚类中心分别为:z<sub>1</sub>,z<sub>2</sub>,z<sub>3</sub>,对应的特征点数量为M<sub>j</sub>,j=1,2,3;聚类过程如下:①从对象中任意选择3个对象作为初始聚类中心;②用式(8)计算两个对象间的欧式距离:<maths num="0005"><math><![CDATA[<mrow><mi>d</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mi>i</mi></msub><mo>,</mo><msub><mi>&theta;</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><msqrt><mrow><msup><mrow><mo>(</mo><msub><mi>&theta;</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&theta;</mi><mi>j</mi></msub><mo>)</mo></mrow><mi>T</mi></msup><mrow><mo>(</mo><msub><mi>&theta;</mi><mi>i</mi></msub><mo>-</mo><msub><mi>&theta;</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000977326520000031.GIF" wi="1574" he="187" /></maths>将当前对象归类到d(θ<sub>i</sub>,θ<sub>j</sub>)取得最小值时聚类中心θ<sub>j</sub>所在的类;③用式(9)分别计算3个类的聚类中心:<maths num="0006"><math><![CDATA[<mrow><msub><mi>z</mi><mi>j</mi></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>M</mi><mi>j</mi></msub></mfrac><munder><mi>&Sigma;</mi><mrow><mi>x</mi><mo>&Element;</mo><msub><mi>w</mi><mi>j</mi></msub></mrow></munder><mi>x</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000977326520000032.GIF" wi="1622" he="173" /></maths>④用式(10)计算J值:<maths num="0007"><math><![CDATA[<mrow><mi>J</mi><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>k</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>M</mi><mi>j</mi></msub></munderover><mi>d</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mi>j</mi></msub><mo>,</mo><msub><mi>z</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000977326520000033.GIF" wi="1566" he="236" /></maths>式中k=3;⑤循环步骤②~④,直到J值不再发生变化;7)苹果旋转角度计算取对象数量最多的类的聚类中心为苹果旋转角度。
地址 310027 浙江省杭州市西湖区浙大路38号