技术领域:
本发明属于油田生产技术领域,具体涉及一种基于orb和ransac的油相流速测量方法。
背景技术:
:
在油田生产和化工领域,油水两相流是一种最为常见的两相流。目前油水两相流的主要特点是低流速、高含水,流型较为复杂,使其流动特性与其他条件下流体的流动特性不同,加大了流速等流动参数测量的难度。油田产液油的总量估算和油田设备的安全操控与流动参数的准确测量至关重要。粒子追踪技术(ptv)是一种常见的多相流流速测量技术,其关键是追踪单个粒子的运动轨迹,即对单个粒子进行匹配。粒子匹配的准确性直接影响最终多相流流速等流动参数的准确测量。在油水两相流中,水是无色透明的,低流速情况下无法观测到水的流动特征,因此,粒子的匹配即是针对油相进行匹配的,获取最终的平均速度亦为油相运动的平均速度。
orb特征提取与匹配方法是目前特征匹配方法中计算速度较快的一种匹配方法,其后续计算过程中所需的存储空间也相对较少。ransac算法可以从存在错误数据中提取正确数据,但其提炼的数据较少。若结合orb特征提取及匹配和ransac算法,并对其进行改进,提高算法的计算速度,增多提炼的正确数据,并将其算法应用到ptv算法过程中,用于测量油水两相流油相流速,使其油相速度更为精确。
技术实现要素:
:
本发明的目的是为解决低流速高含水油水两相流油相流速测量的过程中,由于图像粒子匹配受图像模糊、亮度不均等影响流速测量精度的问题,提供一种基于改进的orb和ransac算法的油水两相流油相流速测量方法。
本发明采用的技术方案为:一种基于orb和ransac的油相流速测量方法,所述测量方法包括以下步骤:
步骤一:根据fast算法处理图像的数据信息,检测图像中的特征点;
所述fast算法计算方法为:
判断某一像素点o(i,j)是否为特征点,将以点o为中心,半径为3的周围像素点对应的像素值大小与点o处的像素值大小进行比较,若超过12个像素点对应的像素值与点o的像素值差的绝对值大于设定的阈值则判定点o为特征点,否则点o不是特征点;
判断点o(i,j)是否为特征点的表达式为
式中,若e为1时,判定点o为特征点,否则点o不是特征点,其中dij表达式为
式中tn为设定的阈值,amn为矩阵a的元素,矩阵a的表达式为
步骤二:确定特征点的方向θ,根据改进的brief算法描述步骤二中检测的特征点,使其描述子具有稳定性;
所述的确定特征点方向的方法为:
若经步骤一判定点o(i,j)为特征点,则确定以点o(i,j)为中心,半径为r的所有像素点像素值的质心m(xm,ym),质心m(xm,ym)的计算公式为
式中x,y分别表示以点o为中心,半径为r内像素点对应的横纵坐标值;i(x,y)为点(x,y)处的像素值大小,特征点o的方向θ计算公式为
所述改进的brief算法的计算方法为:
在点o周围的31×31区域内随机抽取l 1个随机点,将其定义为矩阵s,矩阵s的表达式为
为使矩阵s对于特征点固定且唯一,将矩阵s进行旋转θ得sθ,sθ的计算公式为
式中rθ为特征点方向θ对应的旋转矩阵,pl是指随机点旋转后的位置;比较矩阵sθ中pk和pk 1(1≤k≤l)代表的点像素值的大小,记录对应的二值码,构成的二值码串即为点o的描述子,点o描述子fo的表达式为
式中k是描述子中一二值码对应的序号,fo的初始值为0,i(pk)是指矩阵pk代表点处的像素值大小;
步骤三:根据hamming距离对采集的多帧图像中特征点进行匹配,初步提取匹配点对;
所述匹配点对粗提取的计算方法为
式中g表示特征点是否匹配成功,若g=1,则表示匹配成功,否则表示匹配失败;fo1、fo2分别表示第一帧和第二帧图像中特征点o的描述子,q表示图像中特征点的序号,s表示图像中检测到特征点的个数;粗提取后的匹配点对用矩阵h表示,h表示为
式中z表示粗提取匹配点对的个数,x1z,y1z分别是到第一帧图像中经粗提取得到的特征点的横纵坐标,x2z,y2z分别是到第二帧图像中经粗提取得到的特征点横纵坐标,h1z和h2z分别表示为
步骤四:利用改进的ransac算法对初步提取的匹配点对进行筛选,提取最终的匹配点对;
所述改进的ransac算法的计算方法为
流程1:设置hamming距离一个阈值,提取低于阈值的匹配点对得到精提取的匹配点对,标记为矩阵i,i表示为
式中z′表示为筛选后匹配点对的个数。x1z′,y1z′分别是到第一帧图像中经粗提取得到的特征点的横纵坐标,x2z′,y2z′分别是到第二帧图像中经粗提取得到的特征点横纵坐标;i1z′和i2z′分别表示为
改进ransac算法的观测数据和模型计算数据分别为矩阵h和矩阵i;
流程2:匹配点对的坐标h和i均需进行归一化,以减少噪声的干扰,计算公式为
式中prv、mrv(r,v=1,2)分别为第v帧归一化后粗提取(r=1)或精提取(r=2)的特征点的坐标和归一化转换矩阵;mrv(r,v=1,2)计算公式为
式中
式中u,u′分别是指归一化前粗提取(r=1)或精提取(r=2)的图像中特征点的序号;
流程3:根据精提取后的匹配点对p21、p22估计模型,获取基础矩阵f′,基础矩阵f′的计算公式为
式中
式中
流程4:计算观测数据h到对极线的距离,低于设定的阈值tn判定为内点,记录内点数β,β的计算公式为
式中p11x、p11y、p12x、p12y分别为p11、p12的第一行和第二行,w是矩阵p11和p12列的序号,p11w、p12w分别为p11、p12的第w列。p11和p12的改写方式为
流程5:重复流程3和流程4,选取最大内点数βmax以及对应的内点,内点即为最终的匹配数据。内点的表达公式为
式中pin1、pin2分别是第一帧和第二帧图像已成功匹配的特征点。x1′、y1′分别为第一帧图像已成功匹配特征点的横纵坐标,x1″、y1″分别为特征点(x1′,y1′)对应第二帧图像中特征点的横纵坐标;
步骤五:根据最终提取到的匹配点对的位置信息和图像间采集的时间差t计算所有特征粒子的平均运动速度
所述油相的平均运动速度计算公式为:
式中h表示最终匹配点对的序号,t是指两帧图像采集的时间差。
基于改进的orb和ransac算法的油水两相流油相流速测量方法为油田产液处于高含水低流速阶段流速等参数测量提供有力的支撑。它根据水是无色透明的特点不影响油相的特征提取这一优势,利用改进orb算法进行检测提取图像中油相特征点,提升计算速度,然后根据hamming距离进行粗提取,采用改进ransac算法进一步精提取,利用最终精提取后的匹配点对的位置信息和图像间时间差计算油相的流动速度。本方法用于测量低流速高含水油水两相流油相流速。
本发明的有益效果:采用改进的orb和ransac算法实现了油水两相流油相特征点的识别与提取,实现了多样性提取正确油相特征匹配点对,不仅缩短了orb和ransac算法测量油水两相流油相流速的计算时间,而且大大提高了速度测量精度。它对于低流速高含水状态下油水两相流流动特性的研究具有重要的意义。能够实现对低流速高含水油水两相流油相流速的快速测量;并且能降低图像亮度不均对油相测量精度的影响,可提高工作准确性。
附图说明:
图1为实施例一中改进brief算法描述子选点比较方式示意图;
图2为实施例一中改进ransac算法整体过程分析图;
图3为实施例一中某一流速下监测管内油相采用传统orb和ransac算法匹配结果图;
图4为实施例一中某一流速下监测管内油相采用改进的orb和ransac算法匹配结果图;
图5为实施例一中改进的orb和ransac算法和传统orb和ransac算法测量不同流速下油相平均相对误差分析对比图。
具体实施方式:
实施例一
如图1-5所示,一种基于orb和ransac的油相流速测量方法,其特征在于:所述测量方法包括以下步骤:
步骤一:根据fast算法处理图像的数据信息,检测图像中的特征点;
所述fast算法计算方法为:
判断某一像素点o(i,j)是否为特征点,将以点o为中心,半径为3的周围像素点对应的像素值大小与点o处的像素值大小进行比较,若超过12个像素点对应的像素值与点o的像素值差的绝对值大于设定的阈值则判定点o为特征点,否则点o不是特征点;
判断点o(i,j)是否为特征点的表达式为
式中,若e为1时,判定点o为特征点,否则点o不是特征点,其中dij表达式为
式中tn为设定的阈值,amn为矩阵a的元素,矩阵a的表达式为
步骤二:确定特征点的方向θ,根据改进的brief算法描述步骤二中检测的特征点,使其描述子具有稳定性;
所述的确定特征点方向的方法为:
若经步骤一判定点o(i,j)为特征点,则确定以点o(i,j)为中心,半径为r的所有像素点像素值的质心m(xm,ym),质心m(xm,ym)的计算公式为
式中x,y分别表示以点o为中心,半径为r内像素点对应的横纵坐标值;i(x,y)为点(x,y)处的像素值大小,特征点o的方向θ计算公式为
所述改进的brief算法的计算方法为:
在点o周围的31×31区域内随机抽取l 1个随机点,将其定义为矩阵s,矩阵s的表达式为
为使矩阵s对于特征点固定且唯一,将矩阵s进行旋转θ得sθ,sθ的计算公式为
式中rθ为特征点方向θ对应的旋转矩阵,pl是指随机点旋转后的位置;比较矩阵sθ中pk和pk 1(1≤k≤l)代表的点像素值的大小,如图1所示,记录对应的二值码,构成的二值码串即为点o的描述子,点o描述子fo的表达式为
式中k是描述子中一二值码对应的序号,fo的初始值为0,i(pk)是指矩阵pk代表点处的像素值大小;
步骤三:根据hamming距离对采集的多帧图像中特征点进行匹配,初步提取匹配点对;
所述匹配点对粗提取的计算方法为
式中g表示特征点是否匹配成功,若g=1,则表示匹配成功,否则表示匹配失败;fo1、fo2分别表示第一帧和第二帧图像中特征点o的描述子,q表示图像中特征点的序号,s表示图像中检测到特征点的个数;粗提取后的匹配点对用矩阵h表示,h表示为
式中z表示粗提取匹配点对的个数,x1z,y1z分别是到第一帧图像中经粗提取得到的特征点的横纵坐标,x2z,y2z分别是到第二帧图像中经粗提取得到的特征点横纵坐标,h1z和h2z分别表示为
步骤四:利用改进的ransac算法对初步提取的匹配点对进行筛选,提取最终的匹配点对;
所述改进的ransac算法的整体分析如图2所示,其计算方法为
流程1:设置hamming距离一个阈值,提取低于阈值的匹配点对得到精提取的匹配点对,标记为矩阵i,i表示为
式中z′表示为筛选后匹配点对的个数。x1z′,y1z′分别是到第一帧图像中经粗提取得到的特征点的横纵坐标,x2z′,y2z′分别是到第二帧图像中经粗提取得到的特征点横纵坐标;i1z′和i2z′分别表示为
改进ransac算法的观测数据和模型计算数据分别为矩阵h和矩阵i;
流程2:匹配点对的坐标h和i均需进行归一化,以减少噪声的干扰,计算公式为
式中prv、mrv(r,v=1,2)分别为第v帧归一化后粗提取(r=1)或精提取(r=2)的特征点的坐标和归一化转换矩阵;mrv(r,v=1,2)计算公式为
式中
式中u,u′分别是指归一化前粗提取(r=1)或精提取(r=2)的图像中特征点的序号;
流程3:根据精提取后的匹配点对p21、p22估计模型,获取基础矩阵f′,基础矩阵f′的计算公式为
式中
式中
流程4:计算观测数据h到对极线的距离,低于设定的阈值tn判定为内点,记录内点数β,β的计算公式为
式中p11x、p11y、p12x、p12y分别为p11、p12的第一行和第二行,w是矩阵p11和p12列的序号,p11w、p12w分别为p11、p12的第w列。p11和p12的改写方式为
流程5:重复流程3和流程4,选取最大内点数βmax以及对应的内点,内点即为最终的匹配数据。内点的表达公式为
式中pin1、pin2分别是第一帧和第二帧图像已成功匹配的特征点。x1′、y1′分别为第一帧图像已成功匹配特征点的横纵坐标,x1″、y1″分别为特征点(x1′,y1′)对应第二帧图像中特征点的横纵坐标;
步骤五:根据最终提取到的匹配点对的位置信息和图像间采集的时间差t计算所有特征粒子的平均运动速度
所述油相的平均运动速度计算公式为:
式中h表示最终匹配点对的序号,t是指两帧图像采集的时间差。
为验证本方法中改进的orb和ransac算法的正确性,将本方法用于测量模拟井中油水两相流中油相流速。经多次重复实验,改进的orb和ransac算法和传统orb和ransac算法最终获取的匹配结果如图3和4所示,改进的orb和ransac算法和传统orb和ransac算法对油相流速测量的误差分析如图5所示。
看图可知,改进后算法匹配结果数目明显多于传统算法,且二者整体看均为正确匹配,表明改进的orb和ransac算法具有可行性,可提高后续的油滴平均速度求解的精度。经计算可知,传统orb和ransac算法测量油相流速的最大误差为25.16%,平均误差为5.2%,而改进的orb和ransac算法测量油相流速的最大误差为6.16%,平均误差为1.2%,远低于传统orb和ransac算法,且在仪器测量允许误差范围内,证明改进的orb和ransac算法可用于低流速高含水油水两相流中油相测量过程中。
本方法采用改进的orb和ransac算法计算油水两相流油相流速测量过程中,且该算法检测获取的匹配点对数目多,流速测量准确度且应用性强,所以本发明应用到油田生产是可行的。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明只局限于上述具体实施。在不脱离本发明整体思路和权利要求所保护的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
1.一种基于orb和ransac的油相流速测量方法,其特征在于:所述测量方法包括以下步骤:
步骤一:根据fast算法处理图像的数据信息,检测图像中的特征点;
所述fast算法计算方法为:
判断某一像素点o(i,j)是否为特征点,将以点o为中心,半径为3的周围像素点对应的像素值大小与点o处的像素值大小进行比较,若超过12个像素点对应的像素值与点o的像素值差的绝对值大于设定的阈值则判定点o为特征点,否则点o不是特征点;
判断点o(i,j)是否为特征点的表达式为
式中,若e为1时,判定点o为特征点,否则点o不是特征点,其中dij表达式为
式中tn为设定的阈值,amn为矩阵a的元素,矩阵a的表达式为
步骤二:确定特征点的方向q,根据改进的brief算法描述步骤二中检测的特征点,使其描述子具有稳定性;
所述的确定特征点方向的方法为:
若经步骤一判定点o(i,j)为特征点,则确定以点o(i,j)为中心,半径为r的所有像素点像素值的质心m(xm,ym),质心m(xm,ym)的计算公式为
式中x,y分别表示以点o为中心,半径为r内像素点对应的横纵坐标值;i(x,y)为点(x,y)处的像素值大小,特征点o的方向q计算公式为
所述改进的brief算法的计算方法为:
在点o周围的31×31区域内随机抽取l 1个随机点,将其定义为矩阵s,矩阵s的表达式为
为使矩阵s对于特征点固定且唯一,将矩阵s进行旋转q得sq,sq的计算公式为
式中rq为特征点方向q对应的旋转矩阵,pl是指随机点旋转后的位置;比较矩阵sq中pk和pk 1(1≤k≤l)代表的点像素值的大小,记录对应的二值码,构成的二值码串即为点o的描述子,点o描述子fo的表达式为
式中k是描述子中一二值码对应的序号,fo的初始值为0,i(pk)是指矩阵pk代表点处的像素值大小;
步骤三:根据hamming距离对采集的多帧图像中特征点进行匹配,初步提取匹配点对;
所述匹配点对粗提取的计算方法为
式中g表示特征点是否匹配成功,若g=1,则表示匹配成功,否则表示匹配失败;fo1、fo2分别表示第一帧和第二帧图像中特征点o的描述子,q表示图像中特征点的序号,s表示图像中检测到特征点的个数;粗提取后的匹配点对用矩阵h表示,h表示为
式中z表示粗提取匹配点对的个数,x1z,y1z分别是到第一帧图像中经粗提取得到的特征点的横纵坐标,x2z,y2z分别是到第二帧图像中经粗提取得到的特征点横纵坐标,h1z和h2z分别表示为
步骤四:利用改进的ransac算法对初步提取的匹配点对进行筛选,提取最终的匹配点对;
所述改进的ransac算法的计算方法为
流程1:设置hamming距离一个阈值,提取低于阈值的匹配点对得到精提取的匹配点对,标记为矩阵i,i表示为
式中z′表示为筛选后匹配点对的个数。x1z′,y1z′分别是到第一帧图像中经粗提取得到的特征点的横纵坐标,x2z′,y2z′分别是到第二帧图像中经粗提取得到的特征点横纵坐标;i1z′和i2z′分别表示为
改进ransac算法的观测数据和模型计算数据分别为矩阵h和矩阵i;
流程2:匹配点对的坐标h和i均需进行归一化,以减少噪声的干扰,计算公式为
式中prv、mrv(r,v=1,2)分别为第v帧归一化后粗提取(r=1)或精提取(r=2)的特征点的坐标和归一化转换矩阵;mrv(r,v=1,2)计算公式为
式中
式中u,u′分别是指归一化前粗提取(r=1)或精提取(r=2)的图像中特征点的序号;
流程3:根据精提取后的匹配点对p21、p22估计模型,获取基础矩阵f′,基础矩阵f′的计算公式为
式中
式中
流程4:计算观测数据h到对极线的距离,低于设定的阈值tn判定为内点,记录内点数β,β的计算公式为
式中p11x、p11y、p12x、p12y分别为p11、p12的第一行和第二行,w是矩阵p11和p12列的序号,p11w、p12w分别为p11、p12的第w列。p11和p12的改写方式为
流程5:重复流程3和流程4,选取最大内点数βmax以及对应的内点,内点即为最终的匹配数据。内点的表达公式为
式中pin1、pin2分别是第一帧和第二帧图像已成功匹配的特征点。x1′、y1′分别为第一帧图像已成功匹配特征点的横纵坐标,x1″、y1″分别为特征点(x1′,y1′)对应第二帧图像中特征点的横纵坐标;
步骤五:根据最终提取到的匹配点对的位置信息和图像间采集的时间差t计算所有特征粒子的平均运动速度
所述油相的平均运动速度计算公式为:
式中h表示最终匹配点对的序号,t是指两帧图像采集的时间差。
技术总结