2015-08-25 186 views
2

我有一個相當簡單的任務:目標是檢測另一圖像內的圖像模式。特別是,我必須從掃描儀採集的圖像中識別卡式濫用藥物濫用測試的正確方面,並且可能的錯誤率最低。我正在用C#使用AForge.NET庫。識別子圖像

DOA測試圖片:

link http://www.atbsrl.com/media/SO/doa-test-sample.png

測試進展畫面:

link http://www.atbsrl.com/media/SO/Schema03.png

盒面是非常相似的,但在第一(A側)具有3個摻假條(帶有顏色區域),另一個只是濫用藥物條(B側)。我非常肯定地認識到A方,所以我嘗試將不同的方法混合起來,例如,我們可以使用不同的方法來組合不同的方法。顏色匹配和模板匹配,但目前我的測試與AForge.NET沒有產生預期的結果,因爲輸入圖像的可變性。

你有什麼建議嗎?

+5

建議:不要低估任務的難度;) –

+2

@WillemvanRumpt - 當我讀「簡單」時,我大聲笑了起來。 – rayryeng

+0

它不是*超硬*(就像識別任何圖像中的任何貓)。這是一個明確定義的問題,有一組已知的輸入,並沒有多少變化。這是一個2D問題。顏色是一些明確定義的。當然可以。 – RobAu

回答

0

使用卷積神經網絡。使用經典圖像處理幾乎沒有什麼可以做到,誤差率會很低。

要應用這一點,請儘可能多地收集每一面的儘可能多的圖片(最好是一千或更多;一百張可能不夠,一萬張是理想的),然後製作一個帶有文件名和標籤的文本文件,他們來自(前面的0或後面的1)。然後,採取現成的軟件包,如Caffelibccv,並在此數據集上進行訓練。您可以使用幾乎任何網絡模型,但Caffe中的CaffeNet將正常工作,請遵循this tutorial爲您的應用程序重新訓練經過培訓的CaffeNet(這比從頭開始更容易,並且可以使用更少的數據工作)。要開始使用,最簡單的方法就是啓動Caffe預安裝的AWS實例,如this one。考慮到您的數據的性質,我認爲您將很容易得到1%的錯誤率(或者如果您有更多數據,則可能低得多)。

如果您可以修改檢測到的對象,可以使用更簡單的算法:例如爲每個面着色,或者放置基準標記或簡單的條形碼。

+0

不幸的是,媒體無法以任何方式修改。 – mdoneda

+0

如何才能解決問題?我用Google搜索,看起來非常有效但實施起來很複雜。那麼「訓練」步驟呢? – mdoneda

+0

@mdoneda:我加了一些關於如何應用神經網絡的細節,請看看。 –