李 杰,高煒欣,王杠杠
(1.西安石油大學(xué) 陜西省油氣井測控技術(shù)重點實驗室,陜西 西安 710065;2.西安石油大學(xué) 光電油氣測井與檢測教育部重點實驗室,陜西 西安 710065;3.西安石油大學(xué) 西部低滲-特低滲油藏開發(fā)與治理教育部工程研究中心,陜西 西安 710065)
目前,國內(nèi)各企業(yè)在進行凝膠力學(xué)性能檢測時主要采用穿透計法、凝膠強度測定器法、落球法、黏度法、承壓法等方法[1],這些傳統(tǒng)的測量方法均為接觸式測量,在測量過程中,會破壞凝膠結(jié)構(gòu),且受人為因素影響較大,存在一定誤差。而數(shù)字圖像處理技術(shù)和計算機視覺技術(shù)的不斷發(fā)展和成熟,為通過圖像處理技術(shù)得到凝膠的力學(xué)特性提供了必要條件。文獻[1—2]根據(jù)毛細管圖像的基本特征,首先對凝膠圖像進行有針對性的預(yù)處理,然后通過自適應(yīng)閾值分割算法,獲得比較精確的凹液面圖像,利用橢圓曲線對凝膠凹液面進行擬合,從而計算凝膠位移。但是凝膠受壓力驅(qū)動時會發(fā)生畸變,導(dǎo)致利用橢圓曲線擬合凝膠凹液面測得的凝膠物理特性產(chǎn)生巨大誤差;在視覺測量方面,文獻[3]提出利用基于灰度圖像的匹配方法,得到橋梁的自振頻率;文獻[4]提出利用KAZE算法和ORB算法,得到橋體RIO區(qū)域?qū)?yīng)點,后利用視覺位移法得到橋體的震蕩位移;文獻[5]提出使用形態(tài)學(xué)處理后的自適應(yīng)二值化的計量管圖片,由于在豎直方向上投影的像素數(shù)量只有在液位附近會比較多,利用處理后的灰度直方圖,即可以找到液面位置。經(jīng)過對比,本文提出了一種在圖像經(jīng)過廣度搜索的自適應(yīng)閾值處理后,引入形態(tài)學(xué)處理和視覺位移法,得到凝膠位移變量的便攜、高效的解決方案。人們對凝膠力學(xué)性能(主要是黏度)的研究由來已久,并且發(fā)展出許多相當成熟的方法,常見的測量方法有毛細管法、旋轉(zhuǎn)法、振動式法[6-11]。本文以泊肅葉定理作為系統(tǒng)測量凝膠力學(xué)性能的核心測量原理。
凝膠在毛細管中受到壓力差會發(fā)生形變,而凝膠的形變和它的力學(xué)特性有關(guān),所以,通過高速攝像機采集到凝膠的圖片得到凝膠形變量,進而計算出它的力學(xué)特性[2]。凝膠在毛細管中的運動狀況如圖1所示。
圖1 凝膠運動狀況
由于空氣與凝膠不發(fā)生化學(xué)反應(yīng),且空氣與凝膠的接觸面一般呈現(xiàn)圓弧狀,所以可以拿空氣作為驅(qū)動的介質(zhì),以空氣作為表征凝膠形變的載體。在評價凝膠力學(xué)特性的各項指標中,最重要的力學(xué)特性參數(shù)為黏度和彈性模量。根據(jù)泊肅葉定律,流體在水平的均勻圓管以層流狀態(tài)經(jīng)過時,流體體積流量與圓管長度、圓管的半徑、圓管兩端壓強差以及流體黏度系數(shù)有以下關(guān)系:
(1)
其中:η為被測液體的粘滯系數(shù),即黏度,MPa·s;Q為毛細管中被測液體的體積流量,mm3/s;r為毛細管半徑,mm;ΔP為毛細管兩端的壓強差,MPa;L為被測流體的總長度,mm。
式(1)表明不可壓縮牛頓流體在圓管中作水平定常層流時,體積流量正比于壓強差和圓管半徑的4次方,反比于流體的粘滯系數(shù)和流體總長度[2]。所以,可得黏度公式為:
(2)
式(2)中Q定義為體積流量,則
(3)
其中:ΔV為毛細管中流體體積,mm3;Δt為流體運動的時間,s。
由圓柱的體積公式可知:
ΔV=πr2Δl。
(4)
其中,r為毛細管內(nèi)半徑,mm;從凝膠運動圖像中可得到凝膠的單位時間位移Δl(單位:mm)以及間隔時間Δt(單位:s),將Δl及r代入式(4)中,便可求得流體體積ΔV。將式(4)代入式(3)中,便可算出流量Q。
再通過對毛細管兩端加壓,測量兩端壓力差,即可得到ΔP。將毛細管半徑r、流體長度L,毛細管兩端壓力差ΔP以及計算出的流量Q帶入式(2),即可得到該實驗條件下的凝膠黏度系數(shù)。
由以上原理分析可知,當知曉在單位時間t內(nèi),凝膠的移動位移Δl(像素數(shù)),以及該時間段內(nèi),毛細管兩端的壓強差ΔP,凝膠長度L和毛細管半徑r時,通過帶入式(2)、(3)、(4)即可得到凝膠的黏度值,而凝膠的移動位移Δl和毛細管兩端的壓強差ΔP則為凝膠力學(xué)特性(黏度)計算與分析的重要參數(shù)。可以通過數(shù)字圖像處理和壓力表采集得到。
由式(2)至(4)可知,只需測得凝膠單位時間內(nèi)的位移Δl以及毛細管兩端的壓強差ΔP,即可獲得凝膠的力學(xué)特性。為此將凝膠注入位于毛細管夾內(nèi)的毛細管中,毛細管一端連接壓力泵,利用空氣壓力驅(qū)動凝膠在毛細管中發(fā)生位移,并通過RS485串口通信采集實時采集壓力數(shù)據(jù)。攝像頭位于毛細管夾的正上方,通過USB圖像采集卡實時采集凝膠移動過程圖片,將所有數(shù)據(jù)儲存數(shù)據(jù)庫,通過凹液面圖像處理算法得到精準凹液面后,利用視覺位移法得到凝膠單位時間內(nèi)移動的位移,進而通過式(2)至(4)得到凝膠的力學(xué)特性。如圖2所示。
圖2 視覺位移法拍攝示意圖
平面E為待測凝膠毛細管橫截圖,P為CCD平面,需要使用攝像機拍攝一組凝膠發(fā)生形變前后的圖片,這組圖片組成一組像對,O為相機固定點,為了方便表示,將相機位置從O點后面移到前面,實線表示形變前的位置,虛線表示形變后的位置。
經(jīng)過放大鏡放大后的凝膠圖片如圖3所示??梢园l(fā)現(xiàn),凝膠圖像呈黑白兩色,背景簡單,且不發(fā)生變化,而毛細管構(gòu)成的RIO區(qū)域相對面積較小且RIO圖像邊界處含有大量噪聲。凝膠位移不能突變,只能連續(xù)變化,所以在當前幀圖像找到凝膠凹液面后,下一幀圖像只需要在前一幀圖像凹液面左右一定區(qū)間內(nèi)進行檢測即可,可以減小計算量,更快進行定位。實際中,由于人員的操作失誤或者由于實驗環(huán)境改變,在獲取的凝膠圖像中會出現(xiàn)大量噪聲干擾,給圖像的處理帶來很大的難度。因此,通過使用圖像處理方法求取凝膠的力學(xué)特性(黏度、剪切速率等參數(shù))就要求凝膠圖像分割算法應(yīng)具有較強的魯棒性。
圖3 凝膠圖片
由圖3可以發(fā)現(xiàn),凝膠圖像的凹液面邊緣模糊,且存在很大噪聲。通過CCD傳感器實時成像的圖像噪聲按其產(chǎn)生的來源可分為外部噪聲和內(nèi)部噪聲,而對通過CCD傳感器采集得到的毛細管凝膠圖像而言,其噪聲主要產(chǎn)生于阻性器件發(fā)熱、光電轉(zhuǎn)換和圖像傳輸過程。因此,在由攝像機拍攝得到凝膠圖片時,圖片會受到離散脈沖噪聲、椒鹽噪聲和零均值的高斯噪聲影響,而椒鹽噪聲混合高斯噪聲為其主要噪聲。
常見的濾波方法可以分為頻域濾波和空間濾波兩大類。頻域濾波包含:理想低通濾波器、巴特沃思(Butterworth)濾波器、指數(shù)低通濾波器、梯形低通濾波器;空間濾波包括:均值濾波、中值濾波、高斯平滑濾波、對比度選擇濾波、小波降噪等。其中均值濾波能夠很好抑制高斯噪聲,但同時會破壞圖像細節(jié)。經(jīng)過對比,針對毛細管凝膠圖片,選擇均值濾波會達到更好的效果。
通過對采集到的大量凝膠圖像繪制其直方圖發(fā)現(xiàn),凝膠圖像灰度值的分布特點是:毛細管內(nèi)壁部分和凝膠凹液面主要集中在灰度級較低區(qū)域,而噪聲主要集中在中部。直方圖呈現(xiàn)單峰型或者兩邊高中間低,多波谷的雙峰型,如圖4所示。
圖4 凝膠灰度直方圖
倘若使得凝膠圖片的直方圖為雙峰型或者可以均勻地分布在整個灰度區(qū)域內(nèi),則可以增強圖像對比度,便于實現(xiàn)圖像的有效分割。在各種非線性增強算法中,Sin函數(shù)增強灰度變換曲線特征是上、下部分變化緩慢,中間變換較大[1]。利用Sin函數(shù)對對比度差的凝膠毛細管圖像進行拉伸,使得高于平均灰度的背景灰度增大,而低于平均灰度的毛細管內(nèi)壁及凝膠凹液面的灰度減小,這對于區(qū)分背景區(qū)域與凝膠凹液面和毛細管內(nèi)壁區(qū)域十分有效[1]。Sin函數(shù)增強函數(shù)的方程為:
(5)
其中,f(x,y)是變換前灰度值,g(x,y)是變換后灰度值,a是變換前最低灰度值,b是變換前最高灰度值。Sin函數(shù)變換曲線如圖5所示。
圖5 Sin函數(shù)變換曲線
可以發(fā)現(xiàn),經(jīng)過Sin增強后圖像的灰度直方圖呈現(xiàn)雙峰型并均勻地分布在整個灰度范圍內(nèi)。
通過Sin函數(shù)對圖像的灰度值進行增強后,得到毛細管凝膠圖像所對應(yīng)的圖像和灰度直方圖,如圖6所示。
圖6 Sin 增強處理后的毛細管凝膠圖像及其灰度圖像
閾值分割是為了提取圖像感興趣區(qū)域,凝膠圖像中,感興趣區(qū)域為毛細管圖像,只需準確求取凝膠凹液面位置即可滿足數(shù)學(xué)模型的要求。因此,邊緣檢測算子及分割算法應(yīng)具有較強魯棒性及抑噪能力,以適應(yīng)不同質(zhì)量凝膠圖像。在各種邊緣檢測算子中,Sobel算子可以較好地抑制噪聲,因此本文采用Sobel算子先進行邊緣檢測,然后利用具有廣度搜索的自適應(yīng)算法進行分割處理。以圖6(a)為例,Sobel結(jié)合OTSU算法處理后分割凝膠圖像,可以取得較好的凹液面定位效果,然而對于質(zhì)量不好的圖片,OTSU就無法取得較好的分割效果[1]。而自適應(yīng)閾值分割算法,在每次分割時會自動選擇閾值,且分割不受圖像質(zhì)量影響,具有較強的魯棒性。但對于一些灰度直方圖呈兩邊高而中間低,雙峰型的凝膠圖片,由于受高亮噪聲影響,無法取得很好的效果。為此,本文在自適應(yīng)閾值分割算法的基礎(chǔ)上,引入廣度搜索算法,提出一種特定地針對凝膠圖片分割的基于廣度搜索的自適應(yīng)閾值分割算法。對閾值分割后的凝膠圖片,搜索毛細管邊界區(qū)域內(nèi)的所有凹液面邊界,選取起始點與終止點縱坐標差值的最大值的邊界線,作為凹液面的擬合曲線,剔除其他邊界線。本文給出如下算法方案:
設(shè)圖像D(x,y)為理想狀態(tài)下的凝膠圖片,毛細管的長度為L1,經(jīng)過自適應(yīng)分割法分割后的圖像為P,P的凹液面的亮點個數(shù)為a,則圖像P的亮點個數(shù)為
Sum=2L1+a,
(6)
Sum(實際)=2L1+a+e。
(7)
其中:e為有噪聲引起的亮點個數(shù)變化值,L1為毛細管的長度,Sum為凹液面亮點總個數(shù)。
通過間隔相同時間t獲取若干凝膠圖片,按時間順序依次取兩張圖片picture_0和picture_1構(gòu)成一組圖像對,每組以第一張作為標準片,即所謂零像片,第二張作為對比片。當物點發(fā)生變形位移時,在相片上會產(chǎn)生上、下視差或左、右視差,或者兩種視差同時存在[4]。此時變形的點有立體出現(xiàn),而無變形的點位則不出現(xiàn)立體[4]。對每組像對中的形變點進行測量,再結(jié)合攝影機的放大比例,即可測量出凝膠的實際位移量。其本質(zhì)是通過相機的針孔成像模型可以很容易得到物平面與像平面上物體大小的相似線性關(guān)系[4]。通過間隔時間拍攝,可以得到圖7。
圖7 位移視覺法形變前后像對
其中,l為T時刻凝膠移動的位移,L+Δl為T+Δt時刻的凝膠位移,P0、P1為T和T+Δt時刻拍攝的凝膠圖像,Δl為Δt時刻的位移。由圖7知,觀測P0和P1組成相對時,可以看到存在水平視差。
如圖8所示,觀測點從A1移動到A2時,其在水平方向和豎直方向的位移量分別為ΔX、ΔY:
圖8 位移視覺法原理圖
(8)
(9)
其中,Z表示攝影機焦點中心到P平面的垂直距離,f表示攝影機的主焦距,Δpx、Δpy表示水平和豎直的視覺位移差,Δpx、Δpy計算如下:
Δpx=p1-po,
(10)
Δpy=q1-qo。
(11)
式中:p0、p1分別為凝膠觀測點形變前后在數(shù)字圖像中的行像素坐標;q0、q1分別為凝膠觀測點形變前后在數(shù)字圖像中的列像素坐標。
通過分析可知,將分割后的N對像對的毛細管上下邊界之間的M個觀測亮點帶入式(8)至(11)中,得出N*M個位移值ΔXij,i表示第i對像對,j表示第j個觀測點,然后去掉最大和最小值,求其平均值作為最優(yōu)解Δx。
由式(8)、(9)可知,位移ΔX和ΔY的測量精度主要由攝影比例尺α=Z/f和視差Δp的測量精度決定[3]。測量的中誤差可按
(12)
計算。其中mz表示攝影機焦點中心到P平面的垂直距離測量誤差,mp表示視差Δp的測量誤差,mf表示攝影機的主焦距測量誤差。廣度搜索的自適應(yīng)分割算法如圖9所示。
圖9 廣度搜索的自適應(yīng)閾值算法
3種分割算法分割結(jié)果如圖10所示。對比圖10(b)、圖10(c)和圖10(d),可以發(fā)現(xiàn):OTSU算法和自適應(yīng)分割法分割效果較差,雖然管壁和凹液面均被清晰分割出來,但在凹液面前的環(huán)形光環(huán)也被分割出來,這會影響凝膠凹液面的提取??梢娮赃m應(yīng)閾值分割算法選出的閾值與理想的閾值有很大的偏差。當采用廣度搜索的自適應(yīng)閾值分割法進行分割時,不僅可以清晰地分割凝膠凹液面,還可以剔除凹液面前的環(huán)形光環(huán)帶來的誤差。這對后面力學(xué)性能的分析有很大的幫助。
圖10 毛細管凝膠圖像分割過程示意圖
為了評價系統(tǒng)性能,使用中國某地區(qū)石油公司的凝膠溶液,選擇其中的7#、9#作為實驗用品,在毛細管兩端施加壓力,通過CCD攝像機采集凝膠移動過程的圖片,部分7#原始毛細管移動圖片如圖11(a)所示,經(jīng)過基于廣度搜索的自適應(yīng)分割法分割后的圖像如圖11(b)所示。分析此過程全部70張圖像,列出前后兩張圖像凹液的10個高亮點(分別記作1~10號位置)的位移移動(單位:像素),并與手動計算的凹液面最遠點(精確點)坐標進行對比[1],繪制位移誤差散點圖(圖12)。
圖11 部分凝膠移動圖像
圖12 凹液面位移誤差散點圖
結(jié)果顯示,分別提取的7#和9#凝膠樣品凹液面的700個點中,7#有10號、8號在第45張圖片至第50張圖片間存在一定誤差,9#有10號、8號、5號在第40張圖片至第50張圖片間存在一定誤差,7#誤差率約為1.7%,9#誤差率約為2.4%。故本文提出的機器測量方法可以準確獲取凝膠位移參數(shù),并進行下一步的凝膠力學(xué)特性分析。
在凝膠力學(xué)特性中,黏度是最重要的參數(shù)之一,對選定的9#、7#凝膠溶液進行黏度分析實驗,繪制它們的人工計算黏度和本方法計算黏度(或簡稱機器測量)的曲線圖,如圖13所示。
圖13 凝膠樣品黏度對比曲線
結(jié)果顯示,機器測量的黏度變化趨勢與人工計算黏度變化趨勢基本吻合,但在凝膠黏度變化曲線圖中,第25張到第35張之間存在一定誤差。這是由于視覺誤差(圖像處理)原因,導(dǎo)致在人工測量(機器測量)時,會造成測量位移從而產(chǎn)生誤差,在計算凝膠黏度時,由于乘法原理,較小的位移誤差又被放大所致。
本文選取黏度變化曲線的平均黏度值即為樣品所需要黏度。人工計算7#樣品黏度為33 823.64 mPa·s,人工計算9#黏度為233 727 mPa·s;機器測量7#樣品黏度為40 184.9 mPa·s,機器測量9#樣品黏度為240 235 mPa·s。誤差率為:7#18.8%,9#2.78%。
結(jié)果表明,本文提出的機器測量的方法其準確率滿足實驗室的實驗要求。
本文采用一種非接觸式、快捷的方法,利用圖像對凝膠的力學(xué)特性進行評估與研究,提出的基于廣度搜索的自適應(yīng)閾值分割方法增強了系統(tǒng)的魯棒性。首先對圖像進行均值濾波和Sin函數(shù)增強,其次利用廣度搜索的自適應(yīng)閾值分割,得到凝膠圖像的凹液面,最后進行凝膠力學(xué)性能參數(shù)的計算與分析。實驗表明,性能參數(shù)平均誤差率低于1%,驗證了該流程和算法對于毛細管凝膠力學(xué)性能參數(shù)分析的有效性和準確性。