• <rp id="0z434"><ruby id="0z434"></ruby></rp>

    <li id="0z434"><tr id="0z434"></tr></li>
    <strike id="0z434"></strike>
    <dd id="0z434"><big id="0z434"></big></dd>
  • <dd id="0z434"></dd>
    服務熱線:
    0517-86998326
    掃碼關注
    掃一掃
    關注三暢自動化
    免費咨詢熱線
    051786998326

    基于機器視覺的磁翻板液位計實時讀數識別方法

     摘 要:在現代艦船機艙等無人值守的場合,艦員往往無法及時有效地跟蹤監測液位計信息。因此,提出了一種基于機器視覺的磁翻板液位計實時液位識別方法。首先,運用改進的 DB-FFT 識別方法對液位計面板中的字符進行檢測;然后,利用 CRNN 模型識別檢測到的字符內容,并采用基于圖像識別和圖像差值的靜態與動態分析方法識別液位指示位;zui后,結合刻度及液位位置計算出液位實時讀數。實驗結果表明:該方法能夠實時、高效地識別磁翻板液位計液位并顯示數值,對磁翻板液位計的數字化轉型應用具有重要意義。

     
    磁翻板液位計(磁性浮子式液位計)根據浮力原理和磁性耦合作用研制而成 。當被測容器中的液位變化時,液位計本體管中的磁性浮子也隨之變化,浮子內的永久磁鋼通過磁耦合傳遞到磁翻柱指示器,驅動紅、白翻柱翻轉,指示器的紅白交界處即為容器內部液位的實際高度。目前,常用的磁翻板液位計自身還不能實現自動化、遠距離識別和實時監測等功能。
     
    隨著計算機及人工智能技術的發展,基于機器視覺的各類不同場景液位識別方法研究取得了長足的進步。劉治鋒[3]應用圖像識別的方法,對采集的水位圖像進行了一系列處理,包括形狀矯正、光強矯正、目標分析等處理方法,從而實現了水位的自動檢測。任明武等[4]同樣應用圖像識別方法,精確地檢測和定位出了水位線。在瓶裝液體識別的場景中,黃玲等[5]研發了一種帶標桿的透明瓶裝液體液位檢測系統,有效地利用了液體的折射原理,通過圖像處理確定標桿斷開的位置從而得到液位的高度。而神經網絡的興起又為機器視覺的圖像識別研究提供了新的思路,深度神經 網 絡 模 型,特 別 是 深 度 卷 積 神 經 網 絡 (deepconvolutionalneuralnetworks,DCNN)[6]在 各種視覺任務中的應 用 獲 得 了 巨 大 成 功。Laroca等[7]提出了利用卷積神經網絡來實現自動抄表的功能。陳志恒等[8]實現了基于 EMD 的神經網絡空耦超聲存儲油罐液位的檢測,其具體采用了 BP(backpropagation)神經網絡,識別率高達99% ?;谏鲜隼碚摷夹g的發展,各類指示計、液位計等的自動化識別應用場景層出不窮,如血管血清液位計的檢測[9]、試管液位檢測[10]等。因此,本文提出了一種基于計算機視覺的液位實時讀數識別方法,通過高精度攝像頭實時抓拍液位計面板獲得圖像數據,再利用圖像識別的方法來識別并計算液位計讀數。
     磁翻板液位計
    1 理論基礎
    1.1 字符檢測
    進行圖像識別前,需先識別和定位液位計上的刻度值,刻度值一般從下至上均勻分布于磁翻板液位計面板,常見的磁翻板液位計面板如圖1所示。
     
    場景字符檢測作為場景字符讀取的關鍵組成部分,其目標是定位每個字符實例的邊界或區域。近年來,基于分割的方法在文本檢測的場景中十分常用,分割之后的二值化處理也至關重要,分割的結果將在這一過程中被轉換為文本框或文本區域。
     
    本文基于可微二值化(differentiablebinarization,DB)的模塊來簡化分割后的處理步驟,該方法可設定自適應閾值來提升網絡性能。在此基礎上,結合液位計面板上字符位置分布特征,結合快速傅里葉變換(fastFouriertransform,FFT)提出優化方法(簡稱 DB-FFT 方法),從而提高字符檢測效率。
     
    1.1.1 基于 DB實現字符檢測
    對于標準的二值化處理,給定一個由分段網絡生成的概率圖P∈RH ×W ,其中 H 代表圖像的高度,W 代表圖像的寬度。將其轉換為二值化的圖,若一個像素點的值為1,則代表該像素屬于字符區域,一般來說圖像二值化可表示為360桌面截圖20231124092803.jpg
    式中:t為預測字符區域所定義的閾值;(i,j)為圖像中像素的位置。
     
    由于Bi,j的值為0和1是不可微分的,所以無法參與到網絡的訓練。為此,將式(1)進行轉換,使得 CNN 中的二值化過程可以端到端地進行訓練。轉換過程為360桌面截圖20231124092807.jpg
     
    式中:B∧i,j為近似二值化映射;T 為從網絡中學習到的自適應閾值映射;k 為放大系數,根據經驗默認將其設置為50。
     
    基于上述方法,利用分段網絡訓練可實現字符檢測,部分檢測效果如圖2所示。
     
    在復雜環境下或存在噪聲干擾時,檢測結果會出現中心位置略有偏移、部分字符位置未檢測出等現象。經過分析后發現,磁翻板液位計面板上的字符位置分布存在如下規律:從上至下均勻分布,從左至右對稱分布。因此,可以通過左右對稱將另一側的字符推理出來,通過垂直方向字符位置均勻分布來校驗,并補齊沒有被檢測出的字符。
     
    1.1.2 基于 DB-FFT 實現字符檢測
    在獲取字符行坐標時,為了使用字符的相同間隔來提取數字字符并過濾掉其他字符,采用傅里葉變換來獲取字符的峰值坐標,zui終根據行和列的峰值得到zui終的字符位置,處理結果如圖3所示。
     
    在應用傅里葉變換推理優化字符檢測位置后,不僅可補全未被檢測出的字符位置,還可增強字符位置的區域?;?DB方法和 DB-FFT 方法的檢測效果對比如圖4所示??梢?后者檢測出的字符位置相對更加全面。
     
    1.2 字符識別
    本文 應 用 文 獻 [6]提 出 的 CRNN(convolutionalrecurrentneuralnetwork)模型來識別磁翻板液位計面板中的字符。CRNN 是一種卷積循環神經網絡結構,用于解決基于圖像的序列識別問題,特別是場景文字識別問題。具體過程為:首先,通過 CNN 將圖片的特征提取出來;然后,采用 RNN 對序列進行預測;zui后,通過一個 CTC的翻譯層得到zui終結果。
     
    1.3 液位計指示位置識別
    磁翻板液位計指示的位置為黑白交界處(見圖5箭頭所指位置)。
     
    由于磁浮子翻轉時,暗色部分是從上往下翻轉,會出現暗色部分不連續的情況。具體存在兩種情況:①該磁浮子僅部分翻轉,未完全翻轉為暗色;②該磁浮子完全翻轉為暗色。為有效識別磁翻板液位計指示位置,本文分別從靜態和動態角度提供了兩種識別方法。
     
    1.3.1 靜態分析法
    靜態分析法針對單幀圖像進行分析,主要采用基于顏色像素的計算方法。從靜態角度分析,液位計的暗色磁浮子部分代表了液位信息,因此只需識別出暗色磁浮子區域即可。首先將顏色空間轉換到 HSV(huesaturationvalue),然后根據閾值去除其他顏色,zui后找到暗色矩形塊。
     
    如圖6所示,結合磁浮子翻轉特征,若磁浮子完全翻轉為暗色,則zui上方暗色矩形塊的上側為當前指示位置;若磁浮子未完全翻轉為暗色,則zui上方暗色矩形塊的下側為當前指示位置。
     
    1.3.2 動態分析法
    動態分析法主要適用于液位計指示值實時變動的場景。通過對連續兩個時序的圖像進行像素相減,可識別出變化區域,此即液位計指示位置?;谏鲜鲈?在液位計指示動態變化過程中,先獲取連續兩個時序的圖片信息,再將這兩幀圖像像素值相減,便可獲得變化區域的二值化圖(見圖7(a));進行去除噪聲處理后,所得結果如圖7(b)所示;采用水平投影方法獲取波的峰值如圖7(c)所示,此即為液位計指示值。
     
    由于篇幅原因,想要了解完整內容,請聯系作者本人。
    文章資訊
    基于機器視覺的磁翻板液位計實時讀數識別方法
    玻璃板液位計
    磁翻板液位計與差壓液位計雙重監控分離器液位的方法
    關于磁翻板液位計應用大型乙烯裝置冷區現場的問題
    磁翻板液位計在海水脫硫液位測量中選擇什么材質
    淺析磁翻柱液位計下水煤漿輸送規律研究
    頂裝磁翻板液位計測量小密度介質時會有盲區嗎?
    淺析用于貿易交接和庫存控制的高精度磁翻板液位計
    一個6米的磁翻板液位計在5米以上測量不對是何原因
    數顯液位計,浮球數顯液位計,磁性浮球數顯液位計廠家
    關于煉廠罐區磁翻板液位計安全措施的探討
    分析液壓沖擊對磁性浮子液位計零件的磨損
    磁翻板液位計維護的重要性及快速判斷故障問題
    磁翻板液位計在甲醛儲罐區的改造說明
    如何解決磁翻板液位計水浸問題及預防故障的措施
    磁翻板液位計如何利用干簧管進行遠傳的原理以及質量比
    2014年液位計市場二次探底 經濟反彈概率猛增
    經濟型磁翻板液位計與耐受型磁翻板液位計的指標區別
    磁翻板液位計在電廠除氧器液位測量中的分析與改進
    石化油品儲罐雷達液位計設計原理及應用
    亚洲无码精彩视频_久久综合久久综合久_欧美激情中文字幕乱码免费_中文字幕在线观看亚洲日韩_国产福利一区二区在线精品_亚洲综合图色40p_午夜福利国产精品

  • <rp id="0z434"><ruby id="0z434"></ruby></rp>

    <li id="0z434"><tr id="0z434"></tr></li>
    <strike id="0z434"></strike>
    <dd id="0z434"><big id="0z434"></big></dd>
  • <dd id="0z434"></dd>