當前位置:
首頁 > 知識 > 手把手教你運用深度學習構建視頻人臉識別模型

手把手教你運用深度學習構建視頻人臉識別模型

作者:Faizan Shaikh

翻譯:季洋

校對:王雨桐

本文約2700字,建議閱讀10 分鐘。

本文將展示如何使用開源工具完成一個人臉識別的演算法。


引言

「計算機視覺和機器學習已經開始騰飛,但是大多數人並不清楚計算機在識別一張圖片的時候,它到底看到了什麼。」

——麥克.克里奇

計算機視覺這個精彩領域在最近幾年突飛猛進,目前已經具備了一定的規模。大量的應用已經在全世界被廣泛使用 —— 而這也僅僅是個開始!

在這個領域中,我最讚賞的一件事就是對開源的接納。即使是那些技術大佬們也樂於與大家分享新的突破和創新,從而使這些技術不再「曲高和寡」。

其中一項技術就是人臉識別,它可以解決很多現實問題(如果被正確又合乎倫理地使用)。本文將展示如何使用開源工具完成一個人臉識別的演算法。以下是的一個有趣的演示,這也為接下來的內容做好鋪墊:

所以,你準備好了嗎?精彩才剛剛開始!

提示:如果你想要了解計算機視覺的複雜性, 下面這個深度學習的計算機視覺是很好的起步課程。

Computer Vision using Deep Learning

https://trainings.analyticsvidhya.com/courses/course-v1:AnalyticsVidhya CVDL101 CVDL101_T1 /about


內容

人臉識別中有前景的應用

系統準備—— 硬體/軟體要求

硬體安裝

軟體安裝

探究Python的實現

簡單演練

人臉識別案例

人臉識別中有前景的應用

我找到了一些經典的人臉識別技術應用案例。你一定碰到過類似的例子,但並沒有意識到這些場景背後到底使用了什麼技術!

例如,對於每一張上傳到平台的圖像,Facebook都用自動生成的標籤建議替代手動給圖像加標籤。Facebook使用了一個簡單的人臉識別演算法來分析圖像中人臉的像素,同時將它和相關用戶做比較。我們將學習如何創建一個人臉識別模型,但是在我們描述相關的技術細節之前,先來探討一些其它的應用案例。

我們現在常常用最新的「人臉解鎖」功能來解鎖手機。這是一個很小的人臉識別技術案例,以幫助維護個人數據安全。同樣的想法可以應用於更大範圍,使相機能夠在抓取圖像的同時識別人臉。

人臉識別技術還應用於廣告、醫療、銀行等行業中,只是不太被人所知。在大多數公司,甚至在很多會議中,進入時都需要佩戴身份識別卡。但是我們能否找到一種無需佩戴任何身份識別卡就能進出的方法呢?人臉識別非常有助於這個想法的實現。人們只需要看著鏡頭,系統就會自動判斷他是否具備許可權。

另一個有趣的人臉識別應用是計算參與活動(如會議或音樂會)的人數。這並不是手動計算參加者的數量,我們可以安裝一個攝像機,它能夠捕捉參加者影像並計算人員總數。如此可以使得過程自動化,同時也能節省大量人力。這個技術非常實用,不是嗎?

你可以想出更多類似的應用 ——在下面的留言中和我們分享吧!

本文將側重於人臉識別的實踐應用,對演算法如何運作只作注釋。如果你想了解更多,可以瀏覽下面這篇文章:


Understanding and Building an Object Detection Model from Scratch in Python

https://www.analyticsvidhya.com/blog/2018/06/understanding-building-object-detection-model-python/


系統準備 —— 硬體/軟體要求

現在你知道了人臉識別技術可以實現的應用,讓我們看看如何能夠通過可用的開源工具來實現它。這就能體現領域的優勢了 —— 分享開源代碼的意願和行動都是其他領域無法比擬的。

針對本文,以下列出了我使用的和推薦使用的系統配置如下:

一個網路攝像頭(羅技 Logitech C920)用來搭建一個實時人臉識別器,並將其安裝在聯想E470 ThinkPad系列筆記本(英特爾酷睿5第7代內核Core i5 7th Gen)。你也可以使用筆記本電腦自帶的攝像頭,或電視監控系統攝像頭。在任意系統上做實時的視頻分析都可以,並不一定是我正在使用的配置。

使用圖形處理器(GPU)來加速視頻處理會更好。

在軟體方面,我們使用Ubuntu 18.04操作系統安裝所有必要的軟體。

為了確保搭建模型前的每件事都安排妥當,接下來我們將詳細探討如何配置。


步驟一:硬體安裝

首要的事就是檢查網路攝像頭是否正確安裝。在Ubuntu上有一個簡單小技巧 —— 看一下相應的設備在操作系統中是否已經被註冊。你可以照著以下的步驟來做:


步驟1.1:在連接網路攝像頭到筆記本電腦之前,通過在命令提示符窗口輸入命令ls /dev/video* 來檢查所有連接上的視頻設備。這將列出那些已經連接入系統的視頻設備。

步驟1.2:連接網路攝像頭並再次執行這一命令。

如果網路攝像頭被成功連接,將顯示一個新的設備。


步驟1.3:另一件你可以做的事是使用任一網路攝像頭軟體來檢查攝像頭能否正常工作,Ubuntu中你可以用「Cheese」來檢查。

這裡我們可以看出網路攝像頭已經安裝成功啦!硬體部分完成!


步驟二:軟體安裝

步驟2.1:安裝Python

本文中的代碼是用Python 3.5編寫。儘管有多種方法來安裝Python,我還是建議使用Anaconda —— 數據科學中最受歡迎的Python發行版。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 數據派THU 的精彩文章:

業內大牛送給計算機方向學生的7個實用建議!
基於TextRank演算法的文本摘要

TAG:數據派THU |