AI中Python 的人臉辨識
隨著去年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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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