首頁 後端開發 Python教學 AI中Python 的人臉辨識

AI中Python 的人臉辨識

Apr 29, 2017 am 09:41 AM

 隨著去年alphago 的震撼表現,AI 再次成為科技公司的寵兒。 AI涉及的領域眾多,影像辨識中的人臉辨識是其中一個有趣的分支。百度的BFR,Face++的開放平台,漢王,訊飛等等都提供了人臉識別的API,對於老碼農而言,自己寫一小段代碼,來看看一張圖片中有幾個人,沒有高大上,只是覺得好玩,只需要7行程式碼。  

 import cv2
  face_patterns = cv2.CascadeClassifier('/usr/local/opt/opencv3/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml')
  sample_image = cv2.imread('/Users/abel/201612.jpg')
  faces = face_patterns.detectMultiScale(sample_image,scaleFactor=1.1,minNeighbors=5,minSize=(100, 100))
  for (x, y, w, h) in faces:
  cv2.rectangle(sample_image, (x, y), (x+w, y+h), (0, 255, 0), 2)
  cv2.imwrite('/Users/abel/201612_detected.png', sample_image);
登入後複製

  第1行 引入 OpenCV

  開源是偉大的,使我們視野更開闊,而且不用重複造輪子。這裡沒有用PIL,再結合特定演算法,而是直接使用了OpenCV(http://opencv.org)。 OpenCV是一個基於BSD許可發行的跨平台電腦視覺庫,可以運行在Linux、Windows和Mac OS作業系統上,輕量且高效,用C/C++編寫,同時提供了Python、Ruby、MATLAB等接口,實現了圖像處理和電腦視覺方面的許多通用演算法。

  第2行載入分類器cv2.CascadeClassifier

#  CascadeClassifier是Opencv中做人臉偵測時候的一個級聯分類器,該類別中封裝的是目標偵測機制即滑動視窗機制+級聯分類器的方式。資料結構包括Data和FeatureEvaluator兩個主要部分。 Data中儲存的是從訓練獲得的xml檔案中載入的分類器資料;而FeatureEvaluator中是關於特徵的載入、儲存和計算。這裡採用的訓練檔案是OpenCV中預設提供的haarcascade frontalface default.xml。至於Haar,LBP的具體原理,可以參考opencv的相關文檔,簡單地,可以理解為人臉的特徵資料。

  第3行 載入目標圖片 imread

  人臉辨識系統一般分為:人臉影像擷取、人臉影像預處理、人臉影像特徵擷取、配對與辨識。 簡化起見,之間讀入圖片,

 第4行多尺度偵測detectMultiScale

  呼叫CascadeClassifier 中的調detectMultiScale函數進行多尺度偵測,多尺度偵測中會呼叫單尺度的方法偵測detectSingleScale。 參數說明:

  scaleFactor 是影像的縮放因子

  minNeighbors 為每個級聯矩形應該保留的鄰近個數,可以理解為一個人周邊有幾個人臉

  minSize 是偵測視窗的大小

  這些參數都是可以針對圖片進行調整的,處理結果傳回一個人臉的矩形物件清單。

  第5行和第6行為每個人臉畫一個框

  循環讀取人臉的矩形物件列表,獲得人臉矩形的座標和寬高, 然後在原圖片中畫出該矩形框,呼叫的是OpenCV的rectangle 方法,其中矩形框的顏色等是可調整的。

  第7行 保存偵測後的結果

 神秘感不是這7行程式碼,而是OpenCV中的相關實現,OpenCV的中文網也是一個學習體會的好場所。

  因此,7行程式碼只是個噱頭,真正的核心是OpenCV。然後,安裝OpenCV環境的時候就是有一些坑,特別記錄一下。

  基於Mac的OpenCV環境

  建議使用Brew 安裝,如果沒有安裝brew,先執行下面指令: 

#
 $/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
登入後複製

  然後,指定目標倉庫$brew tap homebrew/science

  安裝OpenCV3 $brew install opencv3

  安裝速度取決於網絡,安裝完畢需要綁定Python開發環境,有多種土方法:

  1)增加環境變量,將opencv 的site-packages 添加到PYTHONPATH中

  2)使用ln 軟連接,將cv2.so 鏈接到python 環境的site-packages中

#  3  3  3  3  3  3  3  3  3 )直接cp cv2.so 到python 環境的site-packages 目錄下

#  更簡單地是執行以下命令: 

#
 echo /usr/local/opt/opencv3/lib/python2.7/site-packages >> /usr/local/lib/python2.7/site-packages/opencv3.pth
  mkdir -p /Users/hecom/.local/lib/python2.7/site-packages
  echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> /Users/hecom/.local/lib/python2.7/site-packages/homebrew.pth
登入後複製

以上是AI中Python 的人臉辨識的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

幣圈行情實時數據免費平台推薦前十名發布 幣圈行情實時數據免費平台推薦前十名發布 Apr 22, 2025 am 08:12 AM

適合新手的加密貨幣數據平台有CoinMarketCap和非小號。 1. CoinMarketCap提供全球加密貨幣實時價格、市值、交易量排名,適合新手與基礎分析需求。 2. 非小號提供中文友好界面,適合中文用戶快速篩選低風險潛力項目。

okx在線  okx交易所官網在線 okx在線 okx交易所官網在線 Apr 22, 2025 am 06:45 AM

OKX 交易所的詳細介紹如下:1) 發展歷程:2017 年創辦,2022 年更名為 OKX;2) 總部位於塞舌爾;3) 業務範圍涵蓋多種交易產品,支持 350 多種加密貨幣;4) 用戶遍布 200 餘個國家,千萬級用戶量;5) 採用多重安全措施保障用戶資產;6) 交易費用基於做市商模式,費率隨交易量增加而降低;7) 曾獲多項榮譽,如“年度加密貨幣交易所”等。

各大虛擬貨幣交易平台的特色服務一覽 各大虛擬貨幣交易平台的特色服務一覽 Apr 22, 2025 am 08:09 AM

機構投資者應選擇Coinbase Pro和Genesis Trading等合規平台,關注冷存儲比例與審計透明度;散戶投資者應選擇幣安和火幣等大平台,注重用戶體驗與安全;合規敏感地區的用戶可通過Circle Trade和Huobi Global進行法幣交易,中國大陸用戶需通過合規場外渠道。

大宗交易的虛擬貨幣交易平台排行榜top10最新發布 大宗交易的虛擬貨幣交易平台排行榜top10最新發布 Apr 22, 2025 am 08:18 AM

選擇大宗交易平台時應考慮以下因素:1. 流動性:優先選擇日均交易量超50億美元的平台。 2. 合規性:查看平台是否持有美國FinCEN、歐盟MiCA等牌照。 3. 安全性:冷錢包存儲比例和保險機制是關鍵指標。 4. 服務能力:是否提供專屬客戶經理和定制化交易工具。

支持多種幣種的虛擬貨幣交易平台推薦前十名一覽 支持多種幣種的虛擬貨幣交易平台推薦前十名一覽 Apr 22, 2025 am 08:15 AM

優先選擇合規平台如OKX和Coinbase,啟用多重驗證,資產自託管可減少依賴:1. 選擇有監管牌照的交易所;2. 開啟2FA和提幣白名單;3. 使用硬件錢包或支持自託管的平台。

數字貨幣交易app容易上手的推薦top10(025年最新排名) 數字貨幣交易app容易上手的推薦top10(025年最新排名) Apr 22, 2025 am 07:45 AM

gate.io(全球版)核心優勢是界面極簡,支持中文,法幣交易流程直觀;幣安(簡版)核心優勢是全球交易量第一,簡版模式僅保留現貨交易;OKX(香港版)核心優勢是界面簡潔,支持粵語/普通話,衍生品交易門檻低;火幣全球站(香港版)核心優勢是老牌交易所,推出元宇宙交易終端;KuCoin(中文社區版)核心優勢是支持800 幣種,界面採用微信式交互;Kraken(香港版)核心優勢是美國老牌交易所,持有香港SVF牌照,界面簡潔;HashKey Exchange(香港持牌)核心優勢是香港知名持牌交易所,支持法

幣圈十大行情網站的使用技巧與推薦2025 幣圈十大行情網站的使用技巧與推薦2025 Apr 22, 2025 am 08:03 AM

國內用戶適配方案包括合規渠道和本地化工具。 1. 合規渠道:通過OTC平台如Circle Trade進行法幣兌換,境內需通過香港或海外平台。 2. 本地化工具:使用幣圈網獲取中文資訊,火幣全球站提供元宇宙交易終端。

數字貨幣交易所App前十名蘋果版下載入口匯總 數字貨幣交易所App前十名蘋果版下載入口匯總 Apr 22, 2025 am 09:27 AM

提供各種複雜的交易工具和市場分析。覆蓋 100 多個國家,日均衍生品交易量超 300 億美元,支持 300 多個交易對與 200 倍槓桿,技術實力強大,擁有龐大的全球用戶基礎,提供專業的交易平台、安全存儲解決方案以及豐富的交易對。

See all articles