首頁 後端開發 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

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1671
14
CakePHP 教程
1428
52
Laravel 教程
1331
25
PHP教程
1276
29
C# 教程
1256
24
數字虛擬幣交易平台top10 安全可靠的十大數字貨幣交易所 數字虛擬幣交易平台top10 安全可靠的十大數字貨幣交易所 Apr 30, 2025 pm 04:30 PM

數字虛擬幣交易平台top10分別是:1. Binance,2. OKX,3. Coinbase,4. Kraken,5. Huobi Global,6. Bitfinex,7. KuCoin,8. Gemini,9. Bitstamp,10. Bittrex,這些平台均提供高安全性和多種交易選項,適用於不同用戶需求。

量化交易所排行榜2025 數字貨幣量化交易APP前十名推薦 量化交易所排行榜2025 數字貨幣量化交易APP前十名推薦 Apr 30, 2025 pm 07:24 PM

交易所內置量化工具包括:1. Binance(幣安):提供Binance Futures量化模塊,低手續費,支持AI輔助交易。 2. OKX(歐易):支持多賬戶管理和智能訂單路由,提供機構級風控。獨立量化策略平台有:3. 3Commas:拖拽式策略生成器,適用於多平台對沖套利。 4. Quadency:專業級算法策略庫,支持自定義風險閾值。 5. Pionex:內置16 預設策略,低交易手續費。垂直領域工具包括:6. Cryptohopper:雲端量化平台,支持150 技術指標。 7. Bitsgap:

deepseek官網是如何實現鼠標滾動事件穿透效果的? deepseek官網是如何實現鼠標滾動事件穿透效果的? Apr 30, 2025 pm 03:21 PM

如何實現鼠標滾動事件穿透效果?在我們瀏覽網頁時,經常會遇到一些特別的交互設計。比如在deepseek官網上,�...

輕鬆協議(Easeprotocol.com)將ISO 20022消息標准直接實現為區塊鏈智能合約 輕鬆協議(Easeprotocol.com)將ISO 20022消息標准直接實現為區塊鏈智能合約 Apr 30, 2025 pm 05:06 PM

這種開創性的開發將使金融機構能夠利用全球認可的ISO20022標準來自動化不同區塊鏈生態系統的銀行業務流程。 Ease協議是一個企業級區塊鏈平台,旨在通過易用的方式促進廣泛採用,今日宣布已成功集成ISO20022消息傳遞標準,直接將其納入區塊鏈智能合約。這一開發將使金融機構能夠使用全球認可的ISO20022標準,輕鬆自動化不同區塊鏈生態系統的銀行業務流程,該標準正在取代Swift消息傳遞系統。這些功能將很快在“EaseTestnet”上進行試用。 EaseProtocolArchitectDou

數字貨幣app有前途嗎 蘋果手機數字貨幣交易平台app下載TOP10 數字貨幣app有前途嗎 蘋果手機數字貨幣交易平台app下載TOP10 Apr 30, 2025 pm 07:00 PM

數字貨幣App的前景廣闊,具體體現在:1. 技術創新驅動功能升級,通過DeFi與NFT融合及AI與大數據應用提升用戶體驗;2. 監管合規化趨勢,全球框架完善及AML、KYC要求趨嚴;3. 功能多元化與服務拓展,整合借貸、理財等服務並優化用戶體驗;4. 用戶基數與全球化擴張,預計2025年用戶規模突破10億。

幣圈中的三巨頭是哪些?虛擬幣主流交易所APP前十名推薦 幣圈中的三巨頭是哪些?虛擬幣主流交易所APP前十名推薦 Apr 30, 2025 pm 06:27 PM

在幣圈中,所謂的三巨頭通常指的是三種最具影響力和廣泛使用的加密貨幣。這些加密貨幣在市場上佔據了重要的地位,並在交易量和市值方面都表現出色。同時,虛擬幣主流交易所APP也是投資者和交易者進行加密貨幣交易的重要工具。本文將詳細介紹幣圈中的三巨頭以及推薦前十名的虛擬幣主流交易所APP。

已倒閉的加密交易所FTX在最新嘗試中對特定發行人採取法律訴訟 已倒閉的加密交易所FTX在最新嘗試中對特定發行人採取法律訴訟 Apr 30, 2025 pm 05:24 PM

在其最新嘗試中,已解決的加密交易所FTX採取了法律行動,以收回債務並償還客戶。在收回債務和償還客戶的最新努力中,已解決的加密交易所FTX已對特定發行人提起法律訴訟。 FTX交易和FTX恢復信託基金已針對未能履行其協議的某些代幣發行人提起訴訟,以將約定的硬幣匯出到交易所。具體來說,重組團隊在周一就合規性問題起訴了NFTStarsLimited和OrosemiInc.。 FTX正在起訴令牌發行人,以收回到期硬幣。 FTX曾經是美國最傑出的加密貨幣交易平台之一。該銀行在2022年11月因報導稱其創始人山姆·

Python vs. JavaScript:您應該學到哪種語言? Python vs. JavaScript:您應該學到哪種語言? May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

See all articles