2020-05-30 11:19:01 0
視覺檢測設備OCR 和 OCV之間的區別
簡介
1.光學字符識別(OCR)和光學字符驗證(OCV)之間是有區別的。在OCR的情況下,將根據與字符模式數據庫的比較來識別單個字母數字字符。換句話說,將識別出的字母數字字符的模式與數據庫中每個字符的模式進行比較。選擇最匹配的模式作為當前識別的字符。在OCV的情況下,對于特定的字母數字模式是什么有先驗知識,并且系統實質上是在驗證或驗證當前字符是否正確。雖然驗證和識別之間存在細微的差異,但意義重大。
2.對于涉及光學字符識別(OCR)或光學字符驗證的應用,有一些“經驗法則”:
3.最小字符的筆劃寬度應至少為三個像素寬
一個典型的字符應覆蓋約20-25像素乘以20-25像素的區域
字符之間的間距應為兩個像素
字體樣式應為粗體
那么,這里的關鍵問題是一個人想要讀取的字符串的長度。在一個字符上有20個像素,字符之間有兩個像素間距時,字符串的最大長度應在22個字符的數量級上,以適合500像素排列的相機。這假定了可重復的定位,因此在視野內不提供字符串位置。在光學字符識別/驗證應用中,希望使用粗體字體。通常,在基于機器視覺的實現中,在給定的時間只能處理一種字體樣式,這也是事實。
4.另一個經驗法則是,最佳的OCR系統的正確讀取率約為99.9%。換句話說,每千個字符中有一個將被誤讀或“未讀”。應該評估在給定應用程序中的影響。例如,如果每分鐘要讀取300個對象,并且0.1%被分類為“不讀取”,則在一小時內您將有大約20種產品要手動讀取。這可以接受嗎?這是最好的情況。最糟糕的情況是他們被誤讀了。
5.在開發OCR / OCV應用程序時,還必須理解許多其他應用程序問題。必須定義數據集中的字母數字數量。另外,必須理解可能期望的不同字體樣式的數量。是否必須同時處理大小寫字符?字母數字,大寫和小寫以及字體樣式的組合可能最終決定代表每個相應字母數字的數據庫中必須存在的模式數量。
6.必須理解所有可能影響場景的變量。位置變量可能包括零件位置,字符字段位置以及最終在字段內的特定字符位置。位置變量可以同時具有平移和旋轉性質。這可能意味著在使用模式識別算法讀取字母數字之前,機器視覺系統需要“查找例程”。位置不確定性的程度可能決定優化性能所需的特定算法。對于所有密集用途,機器視覺系統應在旋轉和過渡上對用戶盡可能透明。
7.如果由于打印字母數字的平面相對于必須安裝相機的位置的變化而存在“ z軸”位置不確定性,則系統可能還必須保持比例不變。給定字母數字出現的平面不能保持與相機平面平行,這也可能意味著系統具有處理透視誤差的能力。如果字符串恰好位于圓柱或球形零件上,則必須將其傳送給投標的潛在機器視覺公司,因為系統必須處理字符圖像捕獲中的任何變形。
8.具有字母數字字符串的物體的表面特性可能會有變化,應將其傳達給潛在投標人。例如,由于制造(不同的機床,刀具等)的變化,或者由于正常暴露于大氣而隨著時間的流逝,零件的表面光潔度和/或反射特性可能會在零件內部或零件之間變化。零件的顏色可能因批次而異,甚至在給定批次內也不一樣。如果色相不變,則顏色的飽和度或亮度水平可能會發生變化。可能存在其他零件屬性,這些屬性可能是包圍字母數字字符串的變量,例如孔或其他切口。系統可能必須容忍可接受的物理條件;例如零件尺寸公差,表面劃痕,毛刺等。
9.毫無疑問,字符的筆劃寬度,字符高度,字符到字符的間距以及字母數字字符串的有效對比度會因字符的打印方式而有所不同。這種對比度可以從一個字符變化到同一部分上的另一個字符,既可以在一個特定的字符上任意變化,也可以隨零件而變化。這些可能是由于制造過程,印刷過程,零件或原材料供應商以及后期制造和應用處理而引起的變化。
10.交付的任何系統都應足夠強大,以處理“混淆對”,而不管預期的所有外觀變量如何。換句話說,系統不應將“ B”與“ 3”或“ 8”混淆。字母“ I”帶有“ 1”;'G'與'6'; 字母“ O”,數字為零;'6'和'9'或'3'和'8'; 或應用程序中會遇到的字母數字的任何其他組合。
11.盡管由于打印不當或由于處理不當而導致某些字符筆跡丟失,但系統可能應該能夠可靠地讀取字符。對于部分打印的所有條件,這可能是不可能的要求。因此,向供應商建議在這種情況下,系統應該在出現不確定性的情況下發出“未讀”信號,而不是冒著被誤讀的信號。
12.這些都是在邀請供應商競標之前應在全面規范中定義的所有注意事項。為了提高可靠性,應指定一種字體樣式。它應該是盡可能粗體的字體樣式,并具有一組字母數字,每個字母數字都在幾何上進行了唯一定義,以提高系統的可靠性。該規范應同時包括錯誤接受(誤讀)和錯誤拒絕(未讀)速率。
13.至少有四種基本的OCR方法:
基于相關性的,基本上是幾何形狀的評分和匹配
最近鄰分類器/決策理論,基本上使用特定的幾何特征/特征集并基于與特定多維模型的接近度進行匹配
句法的或結構的,本質上使用特定的特征以及這些特征之間的關系
神經網絡/基于演示的模糊邏輯分類和基于正確決策的強化。
有些系統出廠時已預先安裝了字體,這些字體已經過預先培訓:例如,半字體,OCR-A,OCR-B。有些軟件可以在工廠接受使用特定字體樣式的培訓。其他要求供應商訓練新的字體樣式。
不同的執行可能會產生不同的性能,因此很難說一種方法是最優越的。除語法方法外,所有方法都是特定于字體的。要求系統接受培訓以同時讀取多個字體樣式,這會加劇提供正確讀取的能力,因為更多字符可能會成為混亂對的受害者。當涉及多字體應用程序時,通常認為語法方法是最可靠的。通過這種方法,可以使用通常與字體樣式無關的特定字符特征和特定關系。
例如," E”的特征可能是:如果一個向量通常向東,另一個向量向南,并且如果該向量在向南的方向與一個相交點相交,則從開始,在該向量也向東方向和向南的向量以及向南的向量與向東的向量相交,則字符為“ E”。
該方法要求根據矢量和弧及其方向唯一定義每個字符。盡管可能存在字體樣式,但無論它們的字體樣式如何,通常都會存在這些條件,但就其性質而言可能會引起混淆。在任何應用中都應避免這些情況。
沒有公司提供有關閱讀準確性的數字。所有人都正確地認為閱讀準確性與許多因素有關:打印質量,應用條件(例如照明均勻性/一致性,字體樣式和混淆對的可能性),系統訓練得如何,字符間距的一致性等等。在良好的條件下,人們可以期望99.9%的讀取準確性。給定更多的“讀取”時間,某些系統要求99.96%的讀取精度。
通常,系統具有多種讀取字符的方法。如果可以高置信度可靠地讀取字符(由系統確定),則僅啟用一組算法。如果系統確定了給定字符的不確定程度,則更好的系統可以啟用另一組算法來讀取該特定字符。如果仍然令人擔憂,則某些系統可以啟用更多的識別算法。然后,最終決定可以基于“投票”,即不同方法表明同一性格導致有關該性格的決定的次數。即使只有一套字符識別算法,系統也可能具有通過讀取5至10次字符來“投票”的能力。例如,如果十次,
通常可以通過在訓練過程中建立有利于“不讀”的條件來控制錯誤讀。在“不讀”的情況下,系統通常會以突出顯示的方式顯示未識別的字符,因此操作員可以通過鍵盤確定并輸入正確的字符。
還可以通過在字符串中添加校驗和數字來減少錯誤讀取。該數字必須與某些規則讀取的另一個數字一致:例如,讀取的所有數字的總和的最后一位必須與校驗和的編號相同。
比較讀取速率也不是一件容易的事。大多數公司都不愿意在讀取率或吞吐量上增加太多。在大多數情況下,可以假定要求的讀取速率基于最佳條件。在大多數情況下,閱讀之前還必須增加與拍照和查找字符串/查找字符相關的時間。同樣,這些取決于打印和字體類型的質量以及是否必須處理旋轉和平移。
14.照明
對于OCR,照明非常關鍵。照明對于實現嚴格的OCR可能與算法一樣重要。在OCR應用中,照明產生字符串的二進制圖像。字符在深色背景上顯示為白色,反之亦然。理想地,照明產生一致的二進制圖像。結果,所使用的算法通常在二進制圖像而不是灰度圖像上運行,這加速了處理和讀取。
15.關于光學字符驗證的評論
除了工程細節之外,還有兩個與光學字符驗證(OCV)應用有關的基本問題。它們是:通過驗證字符正確對應用程序滿意嗎?還是系統必須能夠確保字符質量的要求-打印質量檢查(PQI)。公司采用這種方式的方式并不相互包含。
正如我們在有關OCR的評論中所觀察到的,在OCV應用中,照明至關重要。目的是產生二進制圖像。OCV的大多數方法都利用了圖像是二進制的事實。許多提供GPMV系統的人都提供了一種二進制關聯方法來驗證字符。只要可以確保二進制狀態,此方法通常會產生足夠的結果來驗證正確的字符。
一些系統使用灰度模板作為建立角色圖案和隨后進行比較的基礎。相關例程使用匹配度或匹配分數作為確定字符是否正確的基礎。基于灰度模板,它可以容忍影響灰度的條件,從而有效地將其標準化。因此,這種情況不太可能引起錯誤的拒絕。
一些這樣的條件包括:印刷對比度本身,源自不同背景顏色的印刷對比度差異,筆劃寬度上對比度的變化,源自場景之間,場景之間的照明不均勻性的對比度變化等。
另一方面,形狀評分可能不是檢查字符質量的最佳方法。如果條件變化會影響字符筆劃的形狀,但在可讀性方面仍然可以接受(筆劃變粗或變細,輕微擦拭),則建立可以容忍這些條件的形狀匹配分數可能會影響字符驗證的可靠性。通過放寬形狀得分匹配標準以容忍反映適度字符退化但仍然清晰易讀的字符的條件,甚至可能會出現不同字符的形狀變得可接受的情況,或者可能產生可能會被誤解的字符的條件對于系統。
一個特別需要關注的條件是處理噴墨打印中的筆劃寬度變化。解決此問題的一種方法是通過訓練系統接受一個字符來“愚弄”系統,前提是該系統與三種字體樣式之一中的任何相似字符匹配。字體樣式將對應于:粗,細和標稱筆劃寬度。這種方法的兩個缺點是:最有可能使系統對質量問題和速度的容忍度更高。每個比賽得分比較需要花費有限的時間;與三個匹配相關的時間是進行單個相關的時間的三倍。
某些系統實際上在操作員設置期間執行光學字符識別(OCR),但在運行模式下進行光學字符驗證(OCV)。在設置過程中,系統基于將灰度模板與字體庫中的每個字符相關聯來讀取每個字符。字體庫中匹配得分最高或與正在讀取的字符相關性最高的字符被視為已讀取的字符。這將顯示在屏幕上,以供操作員驗證正確性。在運行模式下,系統會知道每個位置都有哪個字符,因此僅實際執行“匹配”或驗證。
從當前印記派生的灰度模板與為當前訓練集中的特定位置存儲的灰度模板匹配。只要匹配數(或相關數)大于先前確定的值(在1-1000的范圍內,其中1000是最佳匹配),系統就會確認該字符為正確字符。
驗證可能構成“混亂對”的字符不僅需要匹配分數,還需要其他邏輯才能可靠。一種方法是建立可能引起混淆的感興趣區域(ROI),并尋找對比度變化。另一種方法包括根據涉及的字符集自動啟用的不同工具。因此,例如,雖然前一種方法會沿“ B”的左筆觸在三個位置應用“感興趣區域”(ROI),這些區域是將其與“ 8”或“ 3”區分開的區域并尋找對比度變化,后一種方法將使用方向矢量屬性-沿著邊界的每個像素處的灰度變化方向。人們認為這更加可靠。
以下討論回顧了其他兩種方法的屬性。提供OCV / PQI系統的其他大多數公司都體現了所審查的一種或多種技術。因此,該討論實際上比所建議的更為籠統,并且該討論的目的是討論文獻中發現的方法之間的差異。
盡管一些公司使用二進制模板作為他們進行字符比較的基礎,但它們各自的執行方式可能會大不相同。例如,在一種情況下,該方法基于使用標稱值周圍的灰度區域作為二進制圖像的基礎。即,將具有例如在60-120之間的灰色陰影值的所有像素分配給黑色或前景區域。超出該范圍的所有像素均被分配為背景或白色區域。標稱值本身是自適應的。也就是說,它使用當前場景內ROI中的灰度分布來校正該值。
另一種方法可能是建立一個閾值,高于該閾值所有像素均為白色或背景,低于該閾值所有像素為黑色或前景。該方法使用自適應閾值來補償光水平變化。然后,它基于執行相關例程以針對最初確定的名義閾值和圍繞名義的10個灰色陰影的每個陰影建立最佳字符匹配。這些都是在操作員設置期間自動執行的。但是,閾值可能無法根據場景進行調整。
方法之間的另一個基本區別可能是窗口搜索例程的基礎。在一種情況下,它可能基于斑點分析,而在另一種情況下,它可能基于標準化的灰度相關性。斑點分析基于字符像素字符串的邊界框分布,并定位其質心并相應地校正到參考位置。這種方法將對可能太靠近要檢查的字符串的任何文本,圖形或多余的“噪聲”敏感。
找到區域后,一種方法可能是在特定字符上尋找特定特征以執行精細對齊。在另一種方法中,精確對齊通常基于一個字符(“灰度邊緣模板”)使用相關匹配。通常,這是在操作員設置期間自動完成的,并且系統包含某些規則,以標識應使用哪個字符的哪個字符作為相關模板的基礎。
在對圖像進行二值化之后,一個系統可能會執行侵蝕操作,然后基于每個子區域對與學習的模板進行的前景和背景比較來做出決策。在另一個系統中,在進行圖像減法之前,除了較大的字符串對齊之外,還逐字符進行對齊。隨后可以進行單個像素腐蝕以消除多余的像素,然后進行另一種腐蝕,其像素寬度基于在工程設置過程中建立的粗/細設置。旨在補償筆劃寬度的變化。
在某些方法中,該決定是基于單個子區域的結果,而在其他方法中,該決定是基于與特定字符模板減法相關的像素殘差結果。在這兩種情況下,拒絕的“靈敏度”都可能基于預先確定的變化像素百分比。一些實現還自動拒絕對比度小于操作員培訓期間建立的對比度的50%的字符。該百分比可以在工程設置期間進行調整。
在某些產品中發現的另一種方法是基于二進制圖像和基于提取局部幾何特征及其相互關系的句法分析。這種方法更適合OCR應用,而不太適合涉及字符質量的應用。另一種方法也是基于二進制圖像,并使用矢量相關性作為驗證或識別的基礎。盡管這種方法對縮放或筆劃寬度變細或變小應該不那么敏感,但它可能對局部筆劃形狀變化更敏感。
在兩種情況下,二值化的魯棒性都取決于特定機器視覺系統在對圖像進行二值化之前或之后可能執行的圖像預處理。盡管如此,預計這種方法可能會產生對OCV有利的性能,但在字符質量問題上卻缺乏希望。
其他幾種執行都是基于OCR作為驗證字符的方法。這些趨向于變慢并且不適合PQI。除了執行特定的算法外,吞吐量還取決于以下功能:字符串的位置可重復性,字符串中的字符數,字符串數,外觀上的預期變量以及是否還需要PQI。
通常,執行形態學運算的系統在PQI上更好。
執行之間的區別是,有些執行是基于較大區域中的子區域執行模板匹配,而子區域一次包含多個字符(甚至可能是整個字符串),而逐個字符進行匹配。一些人認為這對于激光打標可能是足夠的,因為失敗通常是整個字符集(所有字符串和字符串中的所有字符)的“無標記”條件,而不是特定于字符的“無標記”。在噴墨打印中不太可能是這種情況。
在將幾個字符驗證為一個模式的情況下,混淆對更成問題,因為不會逐個字符地進行分析。它也更容易受到字符間距變化的字符的影響。通常,系統確實提供了基于字符建立其感興趣區域的能力,但是在操作員設置過程中這樣做可能比較笨拙,并且可能需要更多時間。
同樣如上所述,某些系統具有一組內置規則來處理混亂對。在其他系統中,此功能可能不存在,或者它們使用基于ROI分析的方法。在操作員設置期間,某些系統比其他系統需要更多的操作員干預。在某些系統中,屬性(例如:閾值,字符串定位,字符對齊,拒絕的對比度屬性,字符比例和寬高比以及使混淆對成為可能的規則)對操作員完全自動透明地執行。
這是什么意思呢?基本上,有很多方法可以執行可靠的OCV。執行更多圖像處理的方法也更適合執行PQI。更魯棒的方法通常在灰度數據上運行,并且比二進制像素計數做得更多。設置為避免錯誤接受時,較簡單的方法往往會產生較高的錯誤拒絕率。其中一些不如其他字符更適合于字符質量評估,例如,由于噴墨打印的性質,預計會出現更多的錯誤次品。另一方面,某些方法被認為更適合處理混淆對。