本公開涉及圖像處理,特別是涉及一種指針式儀表盤的讀數方法、裝置、設備及存儲介質。
背景技術:
1、現有的指針式儀表盤讀數方法主要分為兩類:
2、傳統圖像處理的方法和基于圖像分割模型的方法。
3、傳統圖像處理的方法首先對圖像做一些降噪的預處理,然后檢測表盤中的圓,得到圓心和半徑,接著再在圓環上用邊緣線檢測和規則過濾的方式檢測表盤的刻度線,再沿著圓心和半徑方向掃描一圈找到指針的位置。這種方法當表盤拍攝扭曲時會產生非常大的誤差,刻度線和指針檢測的準確率也非常低。
4、基于圖像分割模型方法首先需要標注所有的刻度線和指針區域的分割掩膜,然后訓練圖像分割模型,模型預測時先預測出所有的刻度線和指針mask掩膜,再把刻度線和指針指向的位置從二維空間轉換到一維空間,根據指針在一維空間指向的位置進行讀數。在該方法中,每張儀表盤圖像都需要精細的標注所有刻度線和指針的分割掩膜,工作量巨大;模型訓練時平等的對待所有的刻度線,而中間的刻度線偏差對讀數效果的影響很小,但是起始和結束位置的刻度線少預測或多預測都會對最終的讀數造成很大的偏差影響。
5、因此,需要一種更為行之有效的指針式儀表盤讀數方法。
技術實現思路
1、本公開要解決的一個技術問題是,如何設計一種更為行之有效的指針式儀表盤讀數方法。
2、根據本公開的第一個方面,提供了一種指針式儀表盤的讀數方法,包括:將第一表盤圖像輸入預先訓練好的關鍵點預測模型,得到所述關鍵點預測模型輸出的關鍵點預測結果,所述關鍵點預測結果包括用于表征刻度線起始位置的第一預測結果、用于表征刻度線結束位置的第二預測結果、用于表征表盤的圓心位置的第三預測結果以及用于表征表盤中各個指針的指針位置的第四預測結果;基于所述關鍵點預測結果計算所述第一表盤圖像的讀數。
3、可選地,該方法還包括:將第二表盤圖像輸入預先訓練好的變換參數預測模型,得到所述變換參數預測模型輸出的仿射變換參數預測結果,其中,所述仿射變換參數預測結果包括至少部分仿射變換參數,所述第二表盤圖像為原始采集到的表盤圖像;基于所述仿射變換參數預測結果對所述第二表盤圖像進行仿射變換,得到所述第一表盤圖像。
4、可選地,所述至少部分仿射變換參數為仿射變換矩陣中的所有參數值,或者所述至少部分仿射變換參數為仿射變換矩陣中的前八個參數值。
5、可選地,所述變換參數預測模型為深度神經網絡。
6、可選地,該方法還包括:獲取一條或多條訓練樣本,其中,任意一條所述訓練樣本對應一個表盤圖像,所述訓練樣本的標記用于表征表盤分割掩模、表盤中的刻度線起始位置、刻度線結束位置、圓心位置以及指針位置;基于所述表盤分割掩碼獲取所述表盤圖像中的多個點位在新的表盤圖像中的映射位置,新圖像中的表盤為圓形表盤;基于所述多個點位以及所述多個點位在新的表盤圖像中的映射位置計算仿射變換矩陣,得到仿射變換參數實際值;基于所述變換參數預測模型輸出的仿射變換參數預測結果對所述訓練樣本的標記所表征的刻度線起始位置、刻度線結束位置、圓心位置以及指針位置進行仿射變換,得到仿射變換后的刻度線起始位置、刻度線結束位置、圓心位置以及指針位置;基于所述訓練樣本訓練所述變換參數預測模型和所述關鍵點預測模型;在訓練過程中,以使損失函數減小為目標調整所述變換參數預測模型和所述關鍵點預測模型,其中,所述損失函數包括第一損失函數和第二損失函數,所述第一損失函數用于表征所述變換參數預測模型輸出的仿射變換參數預測結果與仿射變換參數實際值之間的差異,所述第二損失函數用于表征所述關鍵點預測模型輸出的關鍵點預測結果與仿射變換后的刻度線起始位置、刻度線結束位置、圓心位置以及指針位置之間的差異。
7、可選地,所述第一預測結果為第一特征圖,所述第一特征圖中各個位置的特征值用于表征該位置屬于刻度線起始位置的概率,所述第二預測結果為第二特征圖,所述第二特征圖中各個位置的特征值用于表征該位置屬于刻度線結束位置的概率,所述第三預測結果為第三特征圖,所述第三特征圖中各個位置的特征值用于表征該位置屬于表盤的圓心位置的概率,所述第四預測結果為第四特征圖,所述第四特征圖中各個位置的特征值用于表征該位置屬于表盤中的指針位置的概率,該方法還包括:構造四個全零的特征圖;針對第一個全零的特征圖,以仿射變換后的刻度線起始位置為中心,在第一窗口范圍內構造二維高斯分布,得到與所述第一特征圖對應的熱圖;針對第二個全零的特征圖,以仿射變換后的刻度線結束位置為中心,在第二窗口范圍內構造二維高斯分布,得到與所述第二特征圖對應的熱圖;針對第三個全零的特征圖,以仿射變換后的圓心位置為中心,在第三窗口范圍內構造二維高斯分布,得到與所述第三特征圖對應的熱圖;針對第四個全零的特征圖,以仿射變換后的指針位置為中心,在第四窗口范圍內構造二維高斯分布,得到與所述第四特征圖對應的熱圖;基于所述第一特征圖與其對應的熱圖之間的差異,所述第二特征圖與其對應的熱圖之間的差異,所述第三特征圖與其對應的熱圖之間的差異以及所述第四特征圖與其對應的標記熱圖的差異,構造所述第二損失函數。
8、可選地,所述關鍵點預測模型為輸出與輸入相同尺寸且輸出通道為4的神經網絡結構,或者所述關鍵點預測模型為深度卷積神經網絡結構,所述深度卷積神經網絡結構的最后一層全連接層的神經元的個數為(3+n)×2,其中,n為表盤中指針的數量,每兩個神經元對應一個關鍵點,每兩個神經元的輸出用于表征其對應的關鍵點的坐標。
9、可選地,所述第一預測結果為第一特征圖,所述第一特征圖中各個位置的特征值用于表征該位置屬于刻度線起始位置的概率,所述第二預測結果為第二特征圖,所述第二特征圖中各個位置的特征值用于表征該位置屬于刻度線結束位置的概率,所述第三預測結果為第三特征圖,所述第三特征圖中各個位置的特征值用于表征該位置屬于表盤的圓心位置的概率,所述第四預測結果為第四特征圖,所述第四特征圖中各個位置的特征值用于表征該位置屬于表盤中的指針位置的概率。
10、可選地,該方法還包括:將所述第一特征圖中特征值最大的位置確定為刻度線起始位置;將所述第二特征圖中特征值最大的位置確定為刻度線結束位置;將所述第三特征圖中特征值最大的位置確定為表盤的圓心位置;利用非極大值抑制算法將搜索到的所述第四特征圖中的局部極大值所對應的位置作為表盤中指針的指針位置。
11、可選地,所述第一預測結果為刻度線起始位置,所述第二預測結果為刻度線結束位置,所述第三預測結果為表盤的圓心位置,所述第四預測結果為表盤中指針的指針位置。
12、可選地,基于所述關鍵點預測結果計算所述第一表盤圖像的讀數,包括:基于所述刻度線起始位置、所述刻度線結束位置、所述圓心位置以及所述指針位置,確定指針從刻度線起始位置到刻度線結束位置之間的第一角度范圍,以及各個指針從刻度線起始位置到指針位置的第二角度范圍;基于所述第一角度范圍、各個指針的第二角度范圍以及各個指針的讀數范圍,確定各個指針的讀數;基于各個指針的讀數以及所述指針式儀表盤的讀數規則,確定所述第一表盤圖像的最終讀數。
13、可選地,該方法還包括:以表盤的圓心位置為原點,建立平面直角坐標系;基于刻度線起始位置相對于平面直角坐標系中的x軸的第一旋轉角度以及刻度線結束位置相對于x軸的第二旋轉角度,確定指針從起始位置到終止位置的第一角度范圍;基于指針位置相對于平面直角坐標系中的x軸的第三旋轉角度以及所述第一旋轉角度,確定指針從起始位置到指針位置的第二角度范圍。
14、根據本公開的第二個方面,還提供了一種指針式儀表盤的讀數裝置,包括:第一預測模塊,用于將第一表盤圖像輸入預先訓練好的關鍵點預測模型,得到所述關鍵點預測模型輸出的關鍵點預測結果,所述關鍵點預測結果包括用于表征刻度線起始位置的第一預測結果、用于表征刻度線結束位置的第二預測結果、用于表征表盤的圓心位置的第三預測結果以及用于表征表盤中各個指針的指針位置的第四預測結果;計算模塊,用于基于所述關鍵點預測結果計算所述第一表盤圖像的讀數。
15、可選地,該裝置還包括:第二預測模塊,用于將第二表盤圖像輸入預先訓練好的變換參數預測模型,得到所述變換參數預測模型輸出的仿射變換參數預測結果,其中,所述仿射變換參數預測結果包括至少部分仿射變換參數,所述第二表盤圖像為原始采集到的表盤圖像;第一仿射變換模塊,用于基于所述仿射變換參數預測結果對所述第二表盤圖像進行仿射變換,得到所述第一表盤圖像。
16、可選地,所述至少部分仿射變換參數為仿射變換矩陣中的所有參數值,或者所述至少部分仿射變換參數為仿射變換矩陣中的前八個參數值。
17、可選地,所述變換參數預測模型為深度神經網絡。
18、可選地,該裝置還包括:第一獲取模塊,用于獲取一條或多條訓練樣本,其中,任意一條所述訓練樣本對應一個表盤圖像,所述訓練樣本的標記用于表征表盤分割掩模、表盤中的刻度線起始位置、刻度線結束位置、圓心位置以及指針位置;第二獲取模塊,用于基于所述表盤分割掩碼獲取所述表盤圖像中的多個點位在新的表盤圖像中的映射位置,新圖像中的表盤為圓形表盤;基于所述多個點位以及所述多個點位在新的表盤圖像中的映射位置計算仿射變換矩陣,得到仿射變換參數實際值;第二仿射變換模塊,用于基于所述變換參數預測模型輸出的仿射變換參數預測結果對所述訓練樣本的標記所表征的刻度線起始位置、刻度線結束位置、圓心位置以及指針位置進行仿射變換,得到仿射變換后的刻度線起始位置、刻度線結束位置、圓心位置以及指針位置;訓練模塊,用于基于所述訓練樣本訓練所述變換參數預測模型和所述關鍵點預測模型;在訓練過程中,以使損失函數減小為目標調整所述變換參數預測模型和所述關鍵點預測模型,其中,所述損失函數包括第一損失函數和第二損失函數,所述第一損失函數用于表征所述變換參數預測模型輸出的仿射變換參數預測結果與仿射變換參數實際值之間的差異,所述第二損失函數用于表征所述關鍵點預測模型輸出的關鍵點預測結果與仿射變換后的刻度線起始位置、刻度線結束位置、圓心位置以及指針位置之間的差異。
19、可選地,所述第一預測結果為第一特征圖,所述第一特征圖中各個位置的特征值用于表征該位置屬于刻度線起始位置的概率,所述第二預測結果為第二特征圖,所述第二特征圖中各個位置的特征值用于表征該位置屬于刻度線結束位置的概率,所述第三預測結果為第三特征圖,所述第三特征圖中各個位置的特征值用于表征該位置屬于表盤的圓心位置的概率,所述第四預測結果為第四特征圖,所述第四特征圖中各個位置的特征值用于表征該位置屬于表盤中的指針位置的概率,該裝置還包括:第一構造模塊,用于構造四個全零的特征圖;第二構造模塊,用于針對第一個全零的特征圖,以仿射變換后的刻度線起始位置為中心,在第一窗口范圍內構造二維高斯分布,得到與所述第一特征圖對應的熱圖;第三構造模塊,用于針對第二個全零的特征圖,以仿射變換后的刻度線結束位置為中心,在第二窗口范圍內構造二維高斯分布,得到與所述第二特征圖對應的熱圖;第四構造模塊,用于針對第三個全零的特征圖,以仿射變換后的圓心位置為中心,在第三窗口范圍內構造二維高斯分布,得到與所述第三特征圖對應的熱圖;第五構造模塊,用于針對第四個全零的特征圖,以仿射變換后的指針位置為中心,在第四窗口范圍內構造二維高斯分布,得到與所述第四特征圖對應的熱圖;第六構造模塊,用于基于所述第一特征圖與其對應的熱圖之間的差異,所述第二特征圖與其對應的熱圖之間的差異,所述第三特征圖與其對應的熱圖之間的差異以及所述第四特征圖與其對應的標記熱圖的差異,構造所述第二損失函數。
20、可選地,所述關鍵點預測模型為輸出與輸入相同尺寸且輸出通道為4的神經網絡結構,或者所述關鍵點預測模型為深度卷積神經網絡結構,所述深度卷積神經網絡結構的最后一層全連接層的神經元的個數為(3+n)×2,其中,n為表盤中指針的數量,每兩個神經元對應一個關鍵點,每兩個神經元的輸出用于表征其對應的關鍵點的坐標。
21、可選地,所述第一預測結果為第一特征圖,所述第一特征圖中各個位置的特征值用于表征該位置屬于刻度線起始位置的概率,所述第二預測結果為第二特征圖,所述第二特征圖中各個位置的特征值用于表征該位置屬于刻度線結束位置的概率,所述第三預測結果為第三特征圖,所述第三特征圖中各個位置的特征值用于表征該位置屬于表盤的圓心位置的概率,所述第四預測結果為第四特征圖,所述第四特征圖中各個位置的特征值用于表征該位置屬于表盤中的指針位置的概率。
22、可選地,該裝置還包括:第一確定模塊,用于將所述第一特征圖中特征值最大的位置確定為刻度線起始位置;第二確定模塊,用于將所述第二特征圖中特征值最大的位置確定為刻度線結束位置;第三確定模塊,用于將所述第三特征圖中特征值最大的位置確定為表盤的圓心位置;第四確定模塊,用于利用非極大值抑制算法將搜索到的所述第四特征圖中的局部極大值所對應的位置作為表盤中指針的指針位置。
23、可選地,所述第一預測結果為刻度線起始位置,所述第二預測結果為刻度線結束位置,所述第三預測結果為表盤的圓心位置,所述第四預測結果為表盤中指針的指針位置。
24、可選地,所述計算模塊基于所述刻度線起始位置、所述刻度線結束位置、所述圓心位置以及所述指針位置,確定指針從刻度線起始位置到刻度線結束位置之間的第一角度范圍,以及各個指針從刻度線起始位置到指針位置的第二角度范圍;所述計算模塊基于所述第一角度范圍、各個指針的第二角度范圍以及各個指針的讀數范圍,確定各個指針的讀數;所述計算模塊基于各個指針的讀數以及所述指針式儀表盤的讀數規則,確定所述第一表盤圖像的最終讀數。
25、可選地,所述計算模塊以表盤的圓心位置為原點,建立平面直角坐標系;所述計算模塊基于刻度線起始位置相對于平面直角坐標系中的x軸的第一旋轉角度以及刻度線結束位置相對于x軸的第二旋轉角度,確定指針從起始位置到終止位置的第一角度范圍;所述計算模塊基于指針位置相對于平面直角坐標系中的x軸的第三旋轉角度以及所述第一旋轉角度,確定指針從起始位置到指針位置的第二角度范圍。
26、根據本公開的第三個方面,提供了一種計算設備,包括:處理器;以及存儲器,其上存儲有可執行代碼,當可執行代碼被處理器執行時,使處理器執行如上述第一方面所述的方法。
27、根據本公開的第四個方面,提供了一種計算機程序產品,包括可執行代碼,當所述可執行代碼被電子設備的處理器執行時,使所述處理器執行如上述第一方面所述的方法。
28、根據本公開的第五個方面,提供了一種非暫時性機器可讀存儲介質,其上存儲有可執行代碼,當可執行代碼被電子設備的處理器執行時,使處理器執行如上述第一方面所述的方法。
29、由此,本公開通過利用關鍵點預測模型直接預測與讀數相關的有限個關鍵點(即刻度線起始位置、刻度線結束位置、表盤的圓心位置、指針位置),而非表盤圖像中所有刻度線,可以極大減少訓練數據的標注工作量,并且有助于模型將學習的注意力集中在只對讀數有關的信息上,更大范圍地提升讀數的準確率。