Contents ...
udn網路城邦
歪的就是歪的!不先轉正的字,用CNN也找不到的!
2025/02/04 03:18
瀏覽648
迴響0
推薦5
引用0

這個案例算是相當困難的,用我的舊版也是無法正確辨識的!原因就是最後一個M字因為解析度不夠,會與背景沾連無法正確切割,理論上我是可以用顏色把黑字與紅色背景切割,但是如果要考慮各種顏色的邊界,必須做非常多次不同條件的全圖二值化,再綜合整理所有可能的邊界,那我的辨識速度就會跟CNN一樣慢到讓人抓狂,必須買昂貴的GPU周邊設備來救援了!

我的舊版面對這種可能造成缺字的狀況時,作法其實跟CNN很類似,就是用已經確認的幾個字的大小作出臨時的特徵矩陣,去字串的左右邊搜尋可能與背景沾連的這種字元!但是前提是假設字元沒有明顯的歪斜,我才能知道它「像是」某個字元!如果判斷門檻高了會找不到沾連的字,降低門檻呢?誤認的多餘字元會更麻煩。

現在的新辨識流程就比較有彈性,我不會強制在字元歪斜的原圖上做類似CNN的搜尋動作,而是先找到確定有排列成行特徵的目標群組,先做轉正的幾何處理,範圍會比確認的目標群組再大一點,就是如果有可能漏失的字元也會跟著群組一起轉正,如上圖右邊的幾個小圖:

最上方是未旋轉的原圖車牌目標切割子影像,第二個是經過幾何轉正後的二值化影像,可以看到最初在原圖無法切割的M字在此就很容易辨識為M了!我是在此階段才再度使用CNN的特徵矩陣搜尋技巧完成辨識補遺的!所以啦!我的舊版在原圖中無法確認的M字,新版會在幾何修正的子影像中輕易找到!

所以大家必須知道:要辨識出各種歪斜角度的車牌字元,只是用大量資料的「訓練」或「學習」就可以做得很好?那絕對是騙人的!用MLDLCNN的模式,即使可以做到堪用的程度,成本也會高得嚇人!所有具備高辨識率的車牌辨識程序中,幾何修正是絕對不可少的關鍵程序!也是降低整體運算量的關鍵!

簡單說,就是要先找到車牌概略位置,在此小區域做最佳的幾何校正,然後在校正過的小影像中才能使用類似CNN的掃描方式找到正確的字元!在原始影像中本來就拍攝得歪歪斜斜的字元,要訓練出AI模型直接辨識成功?而且辨識率還很高?那絕對是唬弄騙人的假AI!他們希望大家相信有這種神奇的事?但事實上從未成功出現過!

有誰推薦more

限會員,要發表迴響,請先登入