发明名称 一种用于水果图像的快速匹配计算方法
摘要 本发明公开了一种用于水果图像的快速匹配计算方法。通过有效匹配区域的提取以及对SIFT方法的改进实现水果图像的快速匹配,先获取水果侧面图像,在侧面图像中搜索水果轮廓的左右边界点,进而提取匹配所需的有效区域;然后对有效区域进行特征点提取:得到带有特征点描述子的特征点集;再通过计算两个特征点集中特征点描述子之间的欧氏距离对特征点进行匹配,得到待选匹配点集后进行误匹配点剔除,得到正确匹配点集。本发明通过采用单层高斯差分图像代替SIFT方法中尺度空间的构造以及取消旋转不变性,并且对特征点描述子进行降维,减少了水果图像特征点检测过程中多余的计算;通过有效重叠区域提取,去除了不必要的计算量,提高了运算速度。
申请公布号 CN104036494A 申请公布日期 2014.09.10
申请号 CN201410217655.4 申请日期 2014.05.21
申请人 浙江大学 发明人 饶秀勤;林文彬;应义斌
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 林超
主权项 一种用于水果图像的快速匹配计算方法,其特征在于该方法的步骤如下: 1)原始图像获取: 将水果水平放置,使得水果的花萼果梗连线与水平面垂直,从水果侧面采集一幅清晰的侧面图像作为左图,以水果的花萼果梗连线为中心轴旋转60°角度再采集另一幅侧面图像作为右图; 2)水果边界点提取: 将左图和右图进行背景分割,然后自上而下扫描图像,分别记录左图和右图中各自水果轮廓最左侧的像素点与水果轮廓最右侧的像素点,将最左侧的像素点和最右侧的像素点的横坐标值相减,分别得到左图水果最大横径和右图水果最大横径; 3)有效图像提取: 左图中,裁剪去除最右侧的像素点左侧宽度为0.1×左图水果最大横径的区域和该像素点以右的所有区域,去除最左侧的像素点右侧宽度为0.55×左图水果最大横径的区域和该像素点以左的所有区域;右图中,裁剪去除最右侧的像素点左侧宽度为0.55×右图水果最大横径的区域和该像素点以右的所有区域,去除最左侧的像素点右侧宽度为0.1×右图水果最大横径的区域和该像素点以左的所有区域;裁剪后得到有效左图和有效右图,记有效左图的图像宽度为width; 4)特征点提取: 4.1)检测极值点: 4.1.1)首先将有效左图、有效右图按公式1计算,得到初始高斯左图、初始高斯右图: L(x,y,σ)=G(x,y,σ)*I(x,y) (1) 其中,L(x,y,σ)为计算得到的图像,G(x,y,σ)为高斯核,I(x,y)为待计算图像,x为待计算图像的横坐标,y为待计算图像的纵坐标,高斯核G(x,y,σ)的表达式如以下式2所示: <img file="FDA0000508628180000011.GIF" wi="1197" he="117" />其中,σ为尺度坐标; 然后通过上采样方法将初始高斯左图、初始高斯右图放大一倍,得到第一层高斯左图、第一层高斯右图;再将第一层高斯左图、第一层高斯右图按上述公式1进行计算,得到第二层高斯左图、第二层高斯右图;最后将第二层高斯 左图减去第一层高斯左图得到高斯差分左图,将第二层高斯右图减去第一层高斯右图得到高斯差分右图; 4.1.2)对于高斯差分左图和高斯差分右图中每一个像素点p,以p为中心的3×3邻域中,如果p的灰度值小于或大于3×3邻域中每个像素点的灰度值,则将该像素点p标记为极值点; 对高斯差分左图和高斯差分右图按照以上步骤进行遍历,分别得到左图极值点集和右图极值点集,左图极值点集和右图极值点集的极值点数量分别为n<sub>1</sub>和n<sub>2</sub>; 4.2)由左图极值点集和右图极值点集生成特征点描述子: 对左图极值点集和右图极值点集中每一个极值点(x,y)分别进行如下处理: 4.2.1)在高斯差分左图和高斯差分右图中,分别以左图极值点集和右图极值点集中的每个极值点为中心选取邻域,并各自划分为4×4个子区域,共计十六个子区域,每个子区域的宽度为dis; 4.2.2)在每一个子区域内对每一个像素点按以下公式3计算梯度模值,按以下公式4计算梯度方向: <img file="FDA0000508628180000021.GIF" wi="1818" he="86" />θ(x,y)=arctan((f(x,y+1)‑f(x,y‑1))/(f(x+1,y)‑f(x‑1,y))) (4) 其中,f(x,y)为高斯差分左图或高斯差分右图中极值点(x,y)的灰度值,m(x,y)为高斯差分图像左图或高斯差分右图中极值点(x,y)处的梯度模值,θ(x,y)为高斯差分左图或高斯差分右图中极值点(x,y)处的梯度方向; 然后将0~360度的方向依次分为0°,10°,...,340°,350°共计36个角度值,将每一个像素点得到的梯度方向通过四舍五入归到对应的角度值中; 4.2.3)将0~360度的方向依次分为0°、45°,…,270°,315°共计八个角度值,对于八个角度值下各个方向α,将该子区域与邻近的三个子区域中每一个像素点的梯度模值按公式5计算得到的权重模值weight进行累加,得到该子区域在该方向α的模值: <img file="FDA0000508628180000022.GIF" wi="1857" he="138" />其中,m(x,y)为该像素点在一个方向的梯度模值,x<sub>k</sub>为该像素点与当前极值点的列距离,y<sub>k</sub>为该像素点与当前极值点的行距离,σ<sub>w</sub>为尺度参数,σ<sub>w</sub>为2×子区域的宽度dis,d<sub>r</sub>为行贡献因子,d<sub>c</sub>为列贡献因子,d<sub>o</sub>为方向贡献因子; 最后获得4×4个子区域在八个方向下的各个梯度,共生成128维特征点描述子向量; 4.3)归一化特征点描述子向量: 由步骤4.2)中得到的128维特征点描述子向量的初始幅值为H=(h<sub>1</sub>,h<sub>2</sub>,…h<sub>128</sub>),根据以下公式6对128维特征点描述子向量进行归一化处理,归一化后的幅值为L=(l<sub>1</sub>,l<sub>2</sub>,…l<sub>128</sub>): <img file="FDA0000508628180000031.GIF" wi="617" he="220" />其中,当前向量维数i=1,2,3,…128;每一维向量维数j=1,2,3,…128;如果其中l<sub>i</sub>大于0.2,则将其改为0.2,再根据公式6对该128维特征点描述子向量的幅值重新进行一次归一化,得到最终幅值T=(t<sub>1</sub>,t<sub>2</sub>,…t<sub>128</sub>); 然后将左图极值点集和右图极值点集中每一个极值点横、纵坐标都减为原来的1/2,最后得到带有特征点描述子的左图特征点集和右图特征点集; 4.4)特征点描述子降维: 将每一个子区域的八个特征点描述子向量中角度为45°、135°、225°、315°四个向量分别投影加到各自相邻的两个向量中,最终得到64维特征点描述子; 5)特征点匹配: 从左图特征点集的第一个特征点开始直到第n<sub>1</sub>个特征点,对于每个特征点都遍历右图特征点集,从中搜索与该特征点描述子的欧氏距离最近的两个特征点,其中欧氏距离的计算公式如下式7: <img file="FDA0000508628180000032.GIF" wi="1655" he="223" />其中,Des <sub>i</sub>(n)是指左图特征点集中第i个特征点第n维向量的幅值,Des <sub>j</sub>(n)是指右图特征点集中第j个特征点第n维向量的幅值; 假设在右图特征点集中找到与左图特征点集中当前特征点的描述子<img file="FDA0000508628180000033.GIF" wi="57" he="65" />欧氏距离最近的特征点和次近的特征点,并得到最近的欧氏距离值和次近的欧氏距离值,然后将最近的欧氏距离值除以次近的欧氏距离值,得到比例值k:若得到的比例值k&lt;0.95,则该左图特征点集中当前特征点与右图特征点集中与该特征点欧氏距离最近的特征点为一对待选匹配点,否则舍弃; 左图特征点集中所有特征点都按照上述遍历之后完成匹配,得到待选匹配点集; 6)匹配点筛选: 对步骤5)得到的待选匹配点集中每一对待选匹配点进行筛选,按以下具体步骤: 有效左图中的待选匹配点到有效左图右边缘的距离为width1,与其对应的有效右图中的待选匹配点到有效右图左边缘的距离为width2,将距离width1与距离width2相加得到距离总值Sum,有效左图的图像宽度为width;若距离总值Sum&lt;1.25×有效左图的图像宽度width,并且距离总值Sum&gt;0.75×有效左图的图像宽度width,则将该对待选匹配点判断为正确匹配点,否则将该对待选匹配点判断为误匹配点并予以舍弃,最终得到正确匹配点集; 7)匹配点坐标还原: 对步骤6)得到的正确匹配点集中每一对正确匹配点中位于有效左图中的正确匹配点横坐标加上0.55×左图水果最大横径,位于有效右图中的正确匹配点横坐标加上0.1×右图水果最大横径。 
地址 310058 浙江省杭州市西湖区余杭塘路866号