2017-06-16 93 views
0

我正在嘗試使用像CNN這樣的深度學習技術來檢測和讀取車牌號碼的深度學習模型。我將在張量流中建立一個模型。但我仍然不知道構建這種模型的最佳方法是什麼。構建識別車牌模型的最佳方法(ALPR)

我檢查了幾個模型這樣 https://matthewearl.github.io/2016/05/06/cnn-anpr/

我也查了一些研究論文,但沒有顯示具體的方式。

所以我就準備要遵循的步驟是

  1. 圖像使用OpenCV的預處理(灰度,轉換等我不知道很多關於這部分)

  2. 車牌檢測(可能是通過滑動窗口方法)

  3. 使用CNN通過構建合成數據集來訓練,如上面的鏈接。

我的問題

有沒有什麼更好的方法來做到這一點?

RNN也可以結合CNN後的可變長度數字嗎?

我應該更喜歡檢測和識別個別字符,而不是整個板塊?

有許多老方法喜歡圖像預處理和直接傳遞到OCR.What會是最好的?

PS-我想製作一個商業實時系統。所以我需要很好的準確性。

+0

如果您希望CNN能夠在真實的光照,移動,角度和故意混淆的情況下閱讀真實生活中的車牌,那麼您將需要大量的示例圖像數據集。綜合數據只會讓你到目前爲止。就像凱西李建議的那樣,建立一系列約束步驟可能是你最好的選擇,但是你的系統只能和最薄弱的環節一樣強大。如果您的牌照檢測只有97%,那麼97%是您的準確度上限。如果您的CNN每個字符的準確率爲99%,並且有8個字符,那麼您的上限精度爲.99^8 = 92%。 – Wontonimo

+0

是的,我明白了。我需要一種方法來確保我只是從號碼牌中讀取,忽略圖像中的其他文本,如招牌或其他東西 –

回答

0

首先,我不認爲結合RNN和CNN可以實現實時系統。如果我想要實時系統,我個人更喜歡檢測單個字符,因爲車牌上不會超過10個字符。當檢測長度可變的平板時,檢測單個字符更加可行。

在我學會深度學習之前,我也嘗試過使用OCR來檢測鋼板。在我的情況下,OCR速度很快,但精度有限,特別是當版面不夠清晰時。即使圖像處理無法施救一些不清楚的情況下.......

所以,如果我是你,我會嘗試如下:整個圖像

  • 車牌檢測上

    1. 簡單的圖像預處理(可能通過滑動窗口方法)
    2. 對提取的板部分進行圖像處理(濾波器和幾何變換)以使其更加清晰。單獨的字符。
    3. 將CNN部署到每個角色。 (也許我會嘗試一些短的CNNs,因爲是實時的,比如LeNet在MNIST手寫數字數據中使用)(可能需要多線程)

    希望我的回答能幫上忙。

  • +0

    那麼......如何「分隔」字符。並且這裏以我的國家/地區號碼格式不是靜態的。它可以有很多形式,所以我不認爲滑動窗口方法可以用於檢測。我需要以某種方式找到我猜想的白色和黃色的盤子(區域),但是那樣會在較低的光線下停止工作。 –

    +0

    字符分離和版檢測需要一些圖像處理技術。你可以自己搜索那些。我相信很多論文都與他們有關。一種可用於字符分離的常用方法是連接組件標籤。對於平板檢測,首先對圖像進行一些預處理,如濾波器,形狀檢測等。 –