2017-06-19 84 views
-2

我正在寫一個android應用程序,它可以找到給定Set遊戲的解決方案。我想處理圖像並將其轉換爲卡片陣列,這是我已經寫過的一個類。但是,我之前沒有做過任何圖像處理,但是我的計劃是使用Neuroph這樣的東西來創建一個神經網絡來識別每張卡片,但是有81張不同的卡片,這樣看起來很耗時。我的另一個想法是識別與顏色無關的卡片,以將可能的卡片數量減少到27個,但我仍然不知道如何做到這一點。例如,如果我用這個圖像: 識別設置圖像中的卡片

我希望能夠以提取第一個是沒有填充一個單一紫色橢圓形,第二個是3個綠色鑽石被填充,第三個是2紅帶條紋的波浪形。

+0

目前還不清楚你問什麼,你問問最好的方法是檢測不同的卡?如果是這樣,你需要編輯你的問題,包括一個明確的問題:) –

回答

0

目標1:找出獨特的卡

這是相當簡單的,通過使用像InceptionV3訓練圖像識別神經網絡的特徵向量。使用InceptionV3識別您的具體內容有instructions online。哎呀,你只需要爲每個獨特的卡片獲取瓶頸功能,作爲你的訓練集的一部分。當您獲得一張新卡時,請獲取其瓶頸功能並將其與使用獨特卡瓶頸功能(使用cosine distance)進行比較。具有最小余弦距離的那個是可能的匹配。這只是每張獨特卡片的1個訓練示例。

目標2:給卡名稱

存儲與每張卡的例子,瓶頸特徵向量的名稱。

加成

如果你有時間給每個類型的卡超過1舉例來說,做到這一點。您的數據結構將如何[卡類型,瓶頸特徵向量]和[卡類型,卡名稱]中的另一個。這對於數千個訓練樣例來說不會很好地擴展,但每張卡類型只有少數幾個例子會很好。