譯者| 崔皓
審校| 孫淑娟
能夠準確識別動物的技術將幫助主人與丟失的寵物團聚,農民監控飼養的牲畜,研究人員研究野生動物。基於以上的應用場景,微晶片是最受歡迎的寵物辨識方法。然而,植入晶片需要進行侵入性手術,同時需要專門的設備讀取晶片,還要防範小偷提取微晶片的風險。還有一種方法就是DNA分析,它雖然很精確,但也非常昂貴且耗時。今天要跟大家介紹的是透過臉部辨識的方式來辨識動物。
由電腦視覺解決方案進行寵物的臉部辨識可以作為上述方案的替代品。儘管它有缺點,但該技術可以在特定情況下展示出高度的準確性。
那麼,寵物人臉辨識是如何運作的呢?阻礙技術進步的挑戰是什麼?寵物人臉辨識如何運作?
一般來說,寵物臉部辨識解決方案主要分為三個步驟:
(1)影像捕捉:動物的照片由高解析度相機拍攝。有些演算法只適用於預先定義的姿勢,因此有必要選擇符合這些標準的影像。
(2)特徵提取:評估動物的生物特徵資料的適用性,並在需要時進行預處理。然後演算法提取識別所需的特徵集。
(3)特徵匹配:提取的特徵以數學方式表示並與其他圖像匹配。例如,如果我們在遺失的寵物資料庫中尋找一隻狗,我們會將狗的獨特特徵與該資料庫中的所有動物進行配對。
有幾種方法可以執行匹配。一種方法是使用KNN和DBSCAN等演算法進行聚類,這將產生一組與我們的目標影像高度接近的影像,使用者可以手動選擇最合適的影像。
此外,可以部署機率方法以將最終結果表示為置信水準。例如,辨識目標是貓,同時演算法確定捕獲的影像是貓,其置信度為90%;如果確定是狗,其置信度為10%。
寵物的臉部辨識
以下是如何在現實生活中使用寵物臉部辨識的範例。其中一些系統是成功的、流行的,甚至是商業解決方案,還有一些是檢驗假設的學術嘗試。
尋找丟失的動物
失去他們的寵物對主人來說是令人心碎的。根據統計數據,此類事件比人們想像的還要普遍。在美國,所有三分之一家庭飼養的寵物(狗/貓)一旦失踪,有80% 都再也沒有找到。有幾個寵物臉部辨識的計劃可以幫助主人找到他們失去的朋友。
ForPaws
#ForPaws是一款APP產品,它透過寵物辨識的方式根據狗的鼻尖、膚色和毛皮類型來識別它們。主人必須上傳至少三張照片才能建立寵物的個人資料。目前,此解決方案可以辨識130個犬種,準確率達90%。
PIP
這家寵物識別公司開發了一個應用程序,允許寵物主人註冊和上傳動物的照片。此系統分析寵物的臉部特徵。如果主人可以提供額外的信息,例如性別、大小和重量,PiP聲稱它將能夠識別每隻失去的貓和狗。
任何發現丟失寵物的人都可以使用該應用程式尋找寵物的主人。 PiP的解決方案還不斷掃描社交媒體上的動物帖子,並向相關社區的居民發送丟失的寵物警報。
Love Lost
Petco的Love Lost是一個寵物主人和動物收容所的應用程式。使用者可以建立動物檔案,以便當寵物失蹤時,軟體可以開始將寵物的生物特徵資訊與收容所的新來者以及其他候選動物進行配對。
識別特定的寵物
訓練演算法可以用來辨識一隻特定的寵物。例如,寵物主人可以在準確識別寵物的前提下進行後續操作,例如發送警報或打開門讓寵物進入。
Aakaitz Garro前端工程師開發了寵物臉部解決方案
WeTransfer的前端工程師Arkaitz Garro開發了一種寵物臉部辨識解決方案,該解決方案可以識別鄰居的貓,當這個小傢伙出現在門口時向Garro(也可以是指定的人) 發送警報。為了捕捉貓的照片,Garro使用了小型相機和帶有運動偵測軟體的Raspberry Pi。當動物接近相機時,系統會拍攝照片並將其發送到AWS Recognition平台,該平台將其與Garro上傳的這隻貓的其他圖像進行比較。如果匹配成功,工程師會收到通知。
微軟用於寵物識別的物聯網設備
#同樣,微軟開發了一種物聯網設備,用戶可以將其安裝在家裡寵物進門的地方。當辨識到寵物後,設備會解鎖讓動物進門。
協助科學研究-海豚的臉部辨識
#除了辨識家庭寵物外,臉部辨識演算法還可用於偵測其他物種。 《海洋哺乳動物科學雜誌》上發表了一項研究,調查了識別海豚所需的一組特徵。研究人員在12年內追蹤拍攝150只寬吻(bottlenose)海豚。該團隊在海豚的生命週期中對其面部和背鰭進行識別,並評估這種方法的可行性。
使用這150名受試者,它歸結為只有31只具有全面輪廓(即面部左右兩側和背鰭的清晰照片)的海豚。這項研究依靠人類專家意見和統計方法來檢測同一海豚的不同影像之間的相似性。
此實驗的結果表明,海豚的臉部特徵隨著時間的推移保持一致,可用於識別目的。這種技術可以辨識成年後的小海豚,方便追蹤海豚成長的過程,這大大促進了海豚研究。
同一隻海豚在不同階段的特徵
#幫助農民監控牲畜
#辨識農場動物是具有挑戰性的。北京優瑞科技創辦人趙金石,他曾從事農業領域的軟體開發,對於識別農場動物他有自己的看法:「對於豬來說,識別起來會比較困難。因為豬看起來都一樣,但乳牛會相對容易一些。因為它們有明顯的特別,它們身上的花紋是黑白的,形狀不同。”
奶牛和他們的“互動”
然而,當涉及到乳牛識別時,挑戰出現了——即確定安裝攝影機的位置。乳牛是好奇心比較重的動物,即使是最輕微的環境變化也會引起它們的注意。當發現攝影機時,它們會透過舔舐的方式與之「互動」。但拋開挑戰不談,建立可以識別個別乳牛的系統將大大幫助飼養者。此解決方案可將動物的健康狀況、飲水、進食模式與動物的身份相匹配。透過人工智慧,能夠偵測動物的疾病跡象和異常行為,在緊急情況下通知飼養者。
如果要實作寵物臉部辨識解決方案需要主要考慮三個挑戰:
確定最優特徵集
科學家已經指定了可用於人臉辨識的特徵向量。然而,同樣的方法不適用於寵物,因為我們不知道需要使用哪些功能以及如何解釋它們。例如,在與人打交道時,科學家可以使用變分自動編碼器 (VAE) 架構從人臉中提取特徵。在這種方法中,人的照片被壓縮為包含所需特徵的向量,例如膚色和臉部表情。但在寵物臉部辨識方面,目前還沒有可靠的特徵向量。
可靠的特徵向量
解決可靠的特徵向量將顯著地推動該領域的發展。開源範例DogFaceNet是一種基於深度學習對狗進行識別的實作。它使用狗的眼睛和鼻子作為特徵集。如果總體目標是區分犬種,則此解決方案效果相當好,但在區分雙胞胎動物時其性能相當差。
動物姿勢
另一個例子是使用局部二值模式直方圖(LBPH) 演算法,該演算法將影像轉換為像素,並透過比較不同影像的像素值來進行操作。這種方法取決於動物的姿勢,這使得它對姿勢變化很敏感。值得一提的是,這種方法已經過時了。目前,工程師更傾向於使用更多的進階功能。
讓動物對著鏡頭擺姿勢
#對人類來說,很容易採取特定的姿勢並靜坐不動。然而,當我們試圖讓貓或狗以特定姿勢拍照就不那麼容易了。這需要應用到「姿勢敏感」的臉部辨識演算法,例如依賴像素相似度的演算法。
提供全面的訓練資料集
為了使訓練有效,資料必須多樣化並涵蓋演算法預期執行的所有任務。例如,如果演算法識別不同的狗品種,那麼資料集應該包含不同角度捕獲並正確標記的資訊來源。這裡會出現多種狀況,例如:有人可能會提交混合品種的圖像,有人可能會錯誤地標記圖像並分配錯誤的品種名稱。為了避免此類問題,專家必須一張一張地審查資料集中的所有照片,以驗證影像的合法性和標籤的準確性。
寵物人臉辨識領域的進展受到以下事實的阻礙:研究人員仍然無法指出可用於大規模準確識別動物的最佳特徵組合。儘管如此,還是有一些成功的應用程式是基於受限數據工作,例如識別特定的動物或一小群家養/野生動物。如果您正在建立自己的寵物臉部辨識系統,請記住動物是生物辨識技術的非合作用戶。有些會堅持舔相機,有些會拒絕為照片擺姿勢。為了消除不必要的麻煩,可以設計姿勢和表情中立的演算法。另一個需要考慮的問題是隱私法規。如果你想建立一個尋找丟失寵物的應用程序,是否需要主人顯示他們的位置?即使是主人家中寵物的照片,也可能暴露與主人相關的隱私資訊。
原文連結:https://readwrite.com/pet-face-recognition-are-we-there-yet/
崔皓,51CTO社群編輯,資深架構師,擁有18年的軟體開發與架構經驗,10年分散式架構經驗。曾任惠普技術專家。樂於分享,寫了許多熱門科技文章,閱讀量超過60萬。 《分散式架構原理與實務》作者。
以上是寵物的臉部識別,已經實現了嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!