search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

貓奴的自我修養,教你如何用機器學習識別貓的品種 | 豈安低調分享

乾貨

觀點

案例

資訊

我們

之前我進行過一個簡單的機器學習實驗,來判斷圖像是否為墨西哥卷餅。

使用相同的基於雲的認知機器學習技術 Custom Vision,我想處理一個更複雜的場景。

用機器學習演算法能否判斷貓的品種?

PS:文末有驚喜

訓練數據集

按照慣例,我需要為機器學習演算法輸入一些圖像,讓其了解要學習的內容。

首先,我找到了貓的品種列表,包括圖像和名稱信息,然後以此為基礎在網上找圖片。

然後,我在 Flickr 上分別搜索每個貓的品種,並使用 Chrome 的擴展插件從第一頁開始下載圖像。

在找圖片時,之所以使用Flickr而不是谷歌圖片,是為了用 Chrome 擴展插件下載高解析度的圖像。

Flickr上的蘇格蘭折耳貓

我花了一個小時左右下載了圖片,然後對圖片進行處理。刪除了當中不是貓的圖片,避免影響訓練集。

然後,我刪除了同一個場景中相同貓的圖像。這是為了避免對演算法進行過度訓練,從而避免它尋找精確匹配的圖像,而不側重預測。

記住,機器學習的目的是為了讓演算法識別以前未見過的新信息,而不是尋找精確的匹配。

最後,我確保每個品種至少收集5張圖像,因為這是在 Custom Vision 上創建的標籤所需的圖像數量。

但是,有些常見的貓品種有超過20張圖像,而一些不常見的品種只有6張左右的可用圖像。

每個品種有不同數量的訓練圖像

這可能會導致識別結果產生偏差,但至少我們意識到演算法中的潛在偏差。

最後,我收集了超過900張貓的圖像,包含50個不同品種。

完成數據收集后,我將所有圖像上傳到 Custom Vision,並將每張圖像標記為相應品種。

之後,只需點擊一個按鈕來訓練演算法,它就可以在幾秒鐘內進行貓的品種預測。

測試數據集

有趣的部分開始了,讓我們先來看看演算法的性能。

性能還不錯

基於900張圖像和50個品種標籤,演算法的性能還不錯。

這比我預想的要好,鑒於它不僅僅是識別該圖像是否為貓。

對於沒有受過訓練的人來說,判斷貓品種間的細微差異也是很困難的。

以半信半疑的態度,我打算用之前從未見過的圖像對演算法進行測試。

首先是 Sola,我家耳朵並沒有折起來的蘇格蘭折耳貓。

首先,在已知我家貓是純種蘇格蘭折耳的前提下,我用演算法對它進行了測試。

Sola為蘇格蘭折耳的幾率為53.9%

測試我家貓很有意思,因為訓練集中的所有蘇格蘭折耳貓圖像中,貓都是折耳的。

我並不覺得這有什麼影響,接著測試了幾張 Sola 的照片。

Sola為蘇格蘭折耳的幾率僅為34.1%

突然間,我的貓被判定為很可能是威爾士貓。

接著我檢查了訓練集中所有標有威爾士貓的圖像,竟然發現一隻看起來和 Sola 完全一樣的貓的圖像。

儘管每個貓的品種均有其獨特的外觀,但兩隻完成不同品種的貓也可能在面部形態上很相似。

也許有更多不同的威爾士貓圖像可以避免這樣的問題。

測試成功的例子

讓我們看看一些不同品種的測試成功例子。

96.9%為暹羅貓

99.8%為阿比西尼亞貓

99.9%為薩凡納貓

預測失敗的例子

之前暹羅貓演算法測試的效果很出色,讓我們再來看看。

首先,測試從背面拍攝的暹羅貓圖像會怎麼樣?

不可能是暹羅貓

老實說,這並不令人驚訝。

所有訓練圖像集的暹羅貓都是面朝相機,而不是看向旁邊的。

再來一張暹羅貓臉部特寫會怎麼樣?

11.1% 為暹羅貓

這個結果似乎與以前我家 Sola 臉部特寫的測試結果類似。

或許不僅僅通過貓的臉部來判斷時,該演算法的效果會更好。

老實說,如果暹羅貓訓練集有相似圖像的情況下,結果可能會比11.1%要好。

下面,讓我們測試一些不是貓的圖像。

狗、兔、豚鼠

你可能已經注意到,上面每個結果都有「貓」的標籤。

使用 Custom Vision,你至少需要兩個標籤來標記每個圖像。

讓我們來測試一下其他毛茸茸的動物圖像。

這貨絕對不是喵星人

有可能是貓

測試出來是貓

測試出來是貓

測試出來是貓

不可能是貓

顯然,如果看起來足夠相似,該演算法很難區分什麼是貓,什麼不是貓。

經過訓練的演算法很可能是基於顏色,圖案和整體形狀來進行模糊匹配。

結論

給定粗略的訓練集,經過訓練的演算法在特定的條件下能夠很好的判斷貓的品種。

然而,對於沒有訓練過的項目,該演算法表現的不太好,例如如何區分貓和非貓的動物。

所以在投入時間訓練任何機器演算法之前,對其能夠處理的範圍進行明確的定義是明智之舉。

原文鏈接:

你會感興趣的內容:

【品質乾貨】

如何從零設計結構清晰、操作友好的許可權管理模塊

Jmeter簡單介紹與搭配Jenkins實現自動化測試實踐

【答疑】

項目經理除了催進度還能做什麼?

【反爬蟲】

常見的反爬蟲和應對方法

姿勢

我是不是忘了什麼?哦,對了,驚喜!

我們是誰?

豈安科技!

我們在做什麼?

線上行為分析解決方案專家!讓互聯網更安全!

怎麼找到我們?



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦