❶ 求下載過cacd2000數據集,Adience數據集和IMDB-WIKI數據集的大神能分享到我的郵箱,不勝感激!!
公開人臉數據集
本頁面收集到目前為止可以下載到的人臉資料庫,可用於訓練人臉深度學習模型。
人臉識別
資料庫
描述
用途
獲取方法
WebFace 10k+人,約500K張圖片 非限制場景 鏈接
FaceScrub 530人,約100k張圖片 非限制場景 鏈接
YouTube Face 1,595個人 3,425段視頻 非限制場景、視頻 鏈接
LFW 5k+人臉,超過10K張圖片 標準的人臉識別數據集 鏈接
MultiPIE 337個人的不同姿態、表情、光照的人臉圖像,共750k+人臉圖像 限制場景人臉識別 鏈接 需購買
MegaFace 690k不同的人的1000k人臉圖像 新的人臉識別評測集合 鏈接
IJB-A 人臉識別,人臉檢測 鏈接
CAS-PEAL 1040個人的30k+張人臉圖像,主要包含姿態、表情、光照變化 限制場景下人臉識別 鏈接
Pubfig 200個人的58k+人臉圖像 非限制場景下的人臉識別 鏈接
人臉檢測
資料庫
描述
用途
獲取方法
FDDB 2845張圖片中的5171張臉 標准人臉檢測評測集 鏈接
IJB-A 人臉識別,人臉檢測 鏈接
Caltech10k Web Faces 10k+人臉,提供雙眼和嘴巴的坐標位置 人臉點檢測 鏈接
人臉表情
資料庫
描述
用途
獲取方法
CK+ 137個人的不同人臉表情視頻幀 正面人臉表情識別 鏈接
人臉年齡
資料庫
描述
用途
獲取方法
IMDB-WIKI 包含:IMDb中20k+個名人的460k+張圖片 和維基網路62k+張圖片, 總共: 523k+張圖片 名人年齡、性別 鏈接
Adience 包含2k+個人的26k+張人臉圖像 人臉性別,人臉年齡段(8組) 鏈接
CACD2000 2k名人160k張人臉圖片 人臉年齡 鏈接
人臉性別
資料庫
描述
用途
獲取方法
IMDB-WIKI 包含:IMDb中20k+個名人的460k+張圖片 和維基網路62k+張圖片, 總共: 523k+張圖片 名人年齡、性別 鏈接
Adience 包含2k+個人的26k+張人臉圖像 人臉性別,人臉年齡段(8組) 鏈接
人臉關鍵點檢測
資料庫
描述
用途
獲取方法
資料庫 描述 用途 獲取方法
人臉其它
資料庫
描述
用途
獲取方法
CeleBrayA 200k張人臉圖像40多種人臉屬性 人臉屬性識別 獲取方法
GitHub:DeepFace
❷ 人臉數據分析是什麼
人臉數據分析是什麼
人臉數據分析是什麼,人臉識別是基於人的臉部特徵信息進行身份識別的一種生物識別技術,隨著科技發展現在很多場所都用的到人臉分析,很多人還不清楚其中的原理是什麼,那麼就來了解一下人臉數據分析是什麼吧。
人臉數據分析是什麼1
一、人臉識別技術
完整的人臉識別系統一般包括人臉檢測跟蹤、人臉關鍵點定位、人臉屬性分析、人臉驗證、人臉識別、人臉聚類等模塊。
1、人臉檢測跟蹤:
人臉檢測跟蹤技術提供快速、高准確率的人像檢測功能。對背景復雜低質量的圖片或百人人群監控視頻,可以在移動設備和個人電腦上實現毫秒級別的人臉檢測跟蹤。
2、人臉關鍵點定位:
人臉關鍵點定位可以精確定位面部的關鍵區域位置,微秒級別眼,口,鼻輪廓等人臉106個關鍵點定位漏孫。該技術可適應一定程度遮擋和大角度側臉,表情變化,遮擋,模糊,明暗變化等各種實際環境。
3、人臉屬性分析:
提供准備的面部分析技術,准確識別10多種人臉屬性大類,例如性別,年齡、種族、表情、飾品、胡須、面部動作狀態等。可以用於廣告定向投放或顧客信息分析,讓你秒懂顧客戶心。
4、人臉驗證、識別、聚類:
人臉驗證技術可被用於登錄驗證、身份識別等應用場景。給定人臉樣本,毫秒級別檢索大規模人臉資料庫或監控視頻,給出身份認證,實現身份和人臉綁定。
人臉識別技術可以自動識別出照片、視頻流中的人臉身份,可以實現安防檢查、VIP識別、照片自動圈人、人臉登錄等功能能,在認證出96%的人臉時,誤檢率低於十萬分之一。數十萬人的人臉快速聚類,可用於基於人臉的智能相冊以及基於合影的社交網路分析。讓照片管理更直觀,讓社交關系更清晰。
二、智能廣告大數據分析特點
1、精確統計進出店鋪的客流量:
啟動應用,顯示人臉識別檢測界面,通過人臉識別技術檢測頭肩、檢測人臉、對人臉進行跟蹤識別,提取人臉特徵值,進行精準的人體判斷,准確的識別用戶人臉,基於人體跟蹤,有效避免因徘徊、逗留引起的重復計數,從而達到精確統計進出店鋪的客流量的數據。在統計客流量的同時展示店鋪的廣告宣傳信息、店鋪簡介、特色產品、售後服務等相關信息。
2、精準分析入店客戶:
通過人臉識別技術,主動分析每一位停留觀看廣告的年齡、性別、並實時上傳至伺服器,管理者通過對消費群體的數據分析,精準挖掘出店鋪和產品主要面向的銷售者群體屬於哪一類人,從而改善產品設計、運營模式、推廣方案,極大有利於提升店鋪的利潤和廣告的回報率。
3、精確認識和挖掘VIP客戶:
精確、實時識別VIP客戶並推送用戶信息至店員手機,VIP客戶歷史入店信息及購買記錄一沒念目瞭然,店員重點接待VIP客戶大大提升店鋪營業額。通過大數據分析挖掘回頭客,提升客戶提袋率及VIP客戶轉化率,系統自動識別並排除店員,不再誤統計為客流,真正做到准確的返察鏈數據分析。
4、完備的報表:數據即事實 :
大數據分析並形成簡潔、客觀、精確的數據報表,直觀的看到每日/月的客流量( 人數、人次)、客流人群分布(年齡、性別)、入店率、平均關注時間、提袋率(轉化率),對店鋪的客流量進行趨勢分析(日、周、月),進行統一的廣告效果分析,精準挖掘出每一個廣告後面隱藏的客戶數據,極大有利於廣告製作和投放的精準營銷,幫助商家精準定位有效客群,為投放商、製作方等相關企業提供可靠的數據參考,發現提高有效展示和回報率的關鍵。
5、大數據分析,驅動管理優化
通過大數據可以分析店鋪什麼產品最受關注、產品的目標客戶群是哪些人、最受關注的產品是什麼、單個產品為何有些銷量高有些則低、VIP客戶關注的是什麼產品、什麼區域受冷落、什麼區域關注度比較高。
通過數據分析的結果優化店鋪管理,找出最適合店鋪的經營模式、消費者最關注的廣告、轉化率最高的產品、根據客戶逛店路徑分析熱點區域,調整主打產品陳列引起客戶關注度,改善店員服務過程中存在的不足,從宏觀到細節進行優化,達到店鋪的利益最大化。
6、 主動推送潛在客戶,方便直接的提供業務幫助
將採集到的多用戶信息進行聚類並分析得到統計數據,根據駐足觀看的用戶性別不同、年齡層次不同,1-2秒內切換廣告內容,推送更針對性的產品廣告信息。比如,為20-30歲的男性用戶推送剃須刀、洗面奶等適合他們需求的廣告,從而有效提高廣告的關注效果,提高廣告的傳播和產品購買的`轉化率。
人臉數據分析是什麼2
人臉數據分析的應用價值
人臉識別需要積累採集到的大量人臉圖像相關的數據,用來驗證演算法,不斷提高識別准確性,這些數據諸如A Neural Network Face Recognition Assignment(神經網路人臉識別數據)、orl人臉資料庫、麻省理工學院生物和計算學習中心人臉識別資料庫、埃塞克斯大學計算機與電子工程學院人臉識別數據等。
1、在人臉識別的設備上,除人臉識別區域外,設置固定的廣告播放區域,使用多媒體信息發布系統,定時或不定時地輪播商家自定義的廣告,比如商家簡介、產品介紹、活動促銷、聯系方式等多媒體信息。
內容展現方式多種多樣,可以是視頻、圖片、文字、流媒體等素材,讓用戶體驗到現代化購物的感覺,智能化的液晶產品可以讓店鋪的整體美觀度大大提升,頓刻顯得高大上。
2、對於每一個廣告投放商而言,廣告效果的好壞直接關繫到投入產出比,也決定著未來是否需繼續投放。而對於廣告製作方來說,什麼樣的廣告最能吸引目標客戶?提高有效傳播率,他們需要足夠的數據調研來為下一步廣告製作提供依據。
為此,南翼基於人臉識別的智能廣告大數據分析解決方案,為廣告機提供廣告效果分析解決方案,幫助商家精準定位有效客群,為投放商、製作方等相關企業提供可靠的數據參考,發現提高有效展示和回報率的關鍵,提升廣告運營的價值。
3、除了人臉識別外,我們還提供手勢識別技術,用戶可以自由通過簡單、通用的手勢進行廣告內容的切換,或者還可以在線玩一些有趣的游戲,從而提高用戶的好感度,也可以通過完成商家指定的人臉表情贏得獎品等活動來增強商家與客戶的互動性。
❸ 建立多模態情感資料庫屬於什麼技術領域
情感計算是為了賦予計算機識別、理解、表達和適應人類情感的能力,以此實現高效、親切的人機交互。人類情感有著表情、語音、生理信號等多種載體,進行多模態情感識別研究可以促進情感計算慶模消的發展,而多模態情感識別研究需要多模態情感資料庫的支持。當前的情感資料庫多是單模態的,雖有少量的多模態資料庫但是還存在著一些不足的地方。因此設計並建立一個包含平靜碼侍、高興、驚奇、厭惡、傷心、生氣、害怕7種情感的多模態情感資料庫具有重要的理譽知論意義。<br> 本文首先設計了同步採集表情圖片、語音、前額腦電信號三種模態數據的採集方案,篩選影視素材並製作了情感...
❹ 新鮮事:有專家說可以「讀取」面部表情的AI其實不太可靠
現如今,人工智慧越來越多地出現在我們的生活中沒笑,為我們帶來便利的同時,它的發展也存在一定的爭議,例如與隱私、法律、道德倫理的沖突。針對可以「讀懂」情緒的人工智慧系統,心理學家給出了他們的一些看法,一起來看看吧!
Artificial Intelligence (AI) systems that panies claim can 「read」 facial expressionsis based on outdated science and risks being unreliable and discriminatory
one of the world』s leading experts on the psychology of emotion has warned.
一位研究情感心理學的世界頂尖專家警告稱,某些公司聲稱可以「讀懂」面部表情的人工智慧技術是基於過時的科學,存在不可靠和具有歧視性的風險。
Lisa Feldman Barrett
professor of psychology at Northeastern University
said that such technologies appear to disregard a growing body of evidence undermining the notion that the basic facial expressions are universal across cultures. As a result
such technologies--some of which are already being deployed in real-world settings--run the risk of being unreliable or discriminatory
she said.
Northeastern大學的心理學教授麗莎·費爾德曼·巴雷特表示,此類技術似乎無視越來越多的證據,破壞了基本面部表情在整個文化中普遍存在的觀念。她說,結果就是,這樣的技術(其中一些已經在實際環境中部署了)存在著不可靠或歧視性的風險。
Amazon claimsits own facial recognition system
Rekognition
can detect seven basic emotions--happiness
sadness
anger
surprise
disgust
calmness and confusion.The EU is reported to be trialling sofare which purportedly can detect deception through an *** ysis of micro-expressions in an attempt to bolster border security.
亞馬遜聲稱其自己的面部識別系統Rekognition能夠識別七種基本情緒--快樂做察擾、悲傷、憤怒、驚訝、厭惡、冷靜和困惑。據報道,歐盟正在試用一種軟體,據稱這種軟體可以通過分析微表情來發現欺騙行為,以加強邊境安全。
「Based on the published scientific evidence
our judgment is that [these technologies] shouldn』t be rolled out and used to make consequential decisions about people』s lives
」 said Feldman Barrett.
Feldman Barrett說:「根據已發純旦表的科學文獻,我們的判斷是,這些技術不應該推出並應用於人們生活中的重大決定。」
Speaking ahead of a talk at the American Association for the Advancement of Science』s annual meeting in Seattle
Feldman Barrett said the idea of universal facial expressions for happiness
sadness
fear
anger
surprise and disgust had gained traction in the 1960s after anAmerican psychologist
Paul Ekman
concted research in Papua New Guinea showing that members of an isolated tribe gave similar answers to Americans when asked to match photographs of people displaying facial expressions with different scenarios
such as 「Bobby』s dog has died」.
20世紀60年代,在美國心理學家 Paul Ekman 在西雅圖舉行的美國美國科學進步協會年度會議上發表演講之前,Feldman Barrett的通用面部表情表達快樂、悲傷、恐懼、憤怒、驚訝和厭惡的想法得到了認可。根據Paul Ekman 在巴布亞紐幾內亞進行的研究表明,當被要求將人們表現出面部表情的照片與不同的場景(例如「鮑比的狗死了」)相匹配時,獨居部落的人也給出了類似的答案。
However
a growing body of evidence has shown that beyond these basic stereotypes there is a huge range in how people express emotion
both across and within cultures.
然而,越來越多的證據表明,在這些基本的刻板印象之外,不管是在跨文化中還是本文化中,人們表達情感的方式都有很大的差異。
In western cultures
for instance
people have been found to scowl only about 30% of the time when they』re angry
she said
meaning they move their faces in other ways about 70% of the time.
例如,在西方文化中,人們發現當他們生氣的時候只有30%的概率會皺眉,這意味著他們還有70% 的可能會以其他方式移動臉部。
「There is low reliability
」 Feldman Barrett said. 「And people often scowl when they』re not angry. That』s what we』d call low specificity. People scowl when they』re concentrating really hard
when you tell a bad joke
when they have gas.」
Feldman Barrett說:「所以這可靠性很低。人們不生氣的時候也會皺眉頭。這就是我們所說的低特異性。當人們集中注意力的時候,或聽到一個糟糕的笑話的時候,又或是當他們放屁的時候,他們也會皺起眉頭。」
The expression that is supposed to be universal for fear is the supposed stereotype for a threat or anger face in Malaysia
she said. There are also wide variations within cultures in terms of how people express emotions
while context such as body language and who a person is talking to is critical.
她說,在馬來西亞,人們普遍認為恐懼是一種威脅或憤怒的表情。在人們表達情感的方式上,不同文化之間也存在著很大的差異,而肢體語言和與之交談的人這樣的背景環境是至關重要的。
多知道一點
刷臉解鎖手機
刷臉解鎖手機,已經是我們習以為常的操作了。這背後其實是一種非接觸式的生物識別技術。第一次錄入面容時,手機系統通過前置攝像頭掃描獲取用戶的臉部數據,這些數據會被轉換為系統可以識別的數字信號並存儲在資料庫中。
當用戶需要解鎖時,手機會通過攝像頭捕捉到的臉部進行3D建模,其中的數據會和原已存儲的數據進行覈對,即可獲得二者相似值,如果相似度足夠高,則實現解鎖。
❺ 人臉識別常用的人臉資料庫有哪些
給你提供幾個線索,數據都可以去數據堂下載。
1.FERET人臉資料庫 -
由FERET項目創建,包含1萬多張多姿態和光照的人臉圖像,是人臉識別領域應用最廣泛的人臉資料庫之一.其中的多數人是西方人,每個人所包含的人臉圖像的變化比較單一
2.CMU-PIE人臉資料庫
由美國卡耐基梅隆大學創建,包含68位志願者的41,368張多姿態,光照和表情的面部圖像.其中的姿態和光照變化圖像也是在嚴格控制的條件下採集的,目前已經逐漸成為人臉識別領域的一個重要的測試集合
3.YALE人臉資料庫
由耶魯大學計算視覺與控制中心創建,包含15位志願者的165張圖片,包含光照,表情和姿態
的變化.
4. YALE人臉資料庫B
包含了10個人的5,850幅多姿態,多光照的圖像.其中的姿態和光照變化的圖像都是在嚴格控制的條件下採集的,主要用於光照和姿態問題的建模與分析.由於採集人數較少,該資料庫的進一步應用受到了比較大的限制
5. MIT人臉資料庫
由麻省理工大學媒體實驗室創建,包含16位志願者的2,592張不同姿態,光照和大小的面部圖像.
6. ORL人臉資料庫
由劍橋大學AT&T實驗室創建,包含40人共400張面部圖像,部分志願者的圖像包括了姿態,
表情和面部飾物的變化.該人臉庫在人臉識別研究的早期經常被人們採用,但由於變化模式較少,多數系統的識別率均可以達到90%以上,因此進一步利用的價值已經不大.
7. BioID人臉資料庫
包含在各種光照和復雜背景下的1521張灰度面部圖像,眼睛位置已經被手工標注。
❻ 可鑒別的多特徵聯合稀疏表示人臉表情識別方法
基於稀疏表示的人臉表情識別系統研究
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2015)25-0137-03
人臉的表情包含了人體行為的情感信息和心理信息,這是人們在進行非語言的交流時所採取最有效的手段。人們可以根據表情來充分地將自己悉枝的思想以及情感表達出來,同時根據人臉表情來對對方內心世界和對方的態度來加以了解,所以說人臉的表情在日常生活當中扮演著極為重要的角色。表情能夠將很多的語言以及聲音不能夠表達出來的信息給表達出來,其在醫療和語言學以及相關的服務行業中都在發揮著極為重要的作用。
1 人臉表情識別的技術現狀
1.1 提取人臉表情特徵
由於提取人臉表情特徵採取的圖像類型不一樣,對此我們可以將其分成靜態表情的圖像特徵進行提取以及序列表情的圖像特徵進行提取這兩種。第一種提取的是表情靜止時的特徵,第二種提取的是表情在運動過程中的特徵,對於第一種的提取方法一般為Gabor小波,主成份分析(PCA)以及線性的判斷分析(LDA)等的方法;而針對與第二種的提取方法有特徵點跟蹤,查分圖像法以及光流法等。
1)提取靜態的表情特徵的常用方法
PCA主要是用在抽取原始特徵以及降維,這種方法運算的中心思想是把二維的圖像轉為一維向量,根據從大到小的排列順序對特徵值以及特徵向量加以調整,並且通過K-L的變換投影獲得正交基,對其加以取捨進而得到人臉的散鍵表情特徵其子空間。其實際上識別表情的過程就是把測試的樣本進行比較投影進表情特徵的子空間里,之後再將其跟測試的樣本加以比較判定出它的表情類別。Gabor小波這種方法是現在我們比較常用的一種表示特徵的方法,它能夠有效地將環境噪音加以清除,使提取的圖像特徵有效加強,主要是通過圖像在不同方向不同尺度上的頻率信息對圖像的特徵加以表明。
2)提取變動的表情特徵常用的方法
對於序列圖像特徵加以提取的代表性方法就是光流法。這種方法在1981年被第一次提出,主要是根據對視頻圖像里的表情特徵光流加以計算進而得到每一個特徵點的運動情況,這就是表情特徵。
第一種提取特徵的方法它採集較方便,計算更快捷,但是不能夠對更大時間和空間信息加以探知。而第二種提取特徵的方法雖可以對運動的表情信息加以提取,進而使得到的識別效果較好,但這種方法其計算的數據量較龐大,且具有很高的重睜掘敏復率,實際的操作當中比較困難。因此從目前來看,提取表情特徵應該朝著將各種提取方法相互融合來對信息加以特徵提取。
1.2傳統的人臉表情識別系統中存在的問題
對於人類表情識別的研究中可以依據人類對不同的表情加以區別上獲得啟發,但運用計算機的視覺技術准確地對人臉表情進行識別的系統,實際運用中還有很多難題。
1) 不容易建立起理想的人臉表情相關模型
因為人臉是比較柔的,所以把人的表情和情感進行分類,在此基礎上再建立一個模型,把人類的表情特徵以及情感信息再相對應這就顯得十分的困難。
2)表情資料庫不完善
現在很多研究的實驗結果都是在各自研究團隊里研發出來的表情資料庫的基礎上得到的,我們知道每一個表情庫由於噪音或者是光照等環境方面的影響都各不相同,再加上每個表情庫里的人臉圖像在文化,種族當中都存在著比較大的區別,所以實驗的結果應該多次加以重復驗證,增加推廣能力。
3)學科方法和技術有自身的局限性
盡管我們在對人臉識別的系統中研究工作正在逐步加深,得到了很大的進步,但因為很多的研究者都是自己展開工作,在新技術和新方法將優點充分發揮出來的同時也不可避免地有著自身的局限性,多種技術相互融合上面的工作開展得還比較慢。
2 提取改進LBP的人臉表情特徵
局部二元模式(LBP)指的是一個能描述運算元的有效圖像紋理特徵,根據存在於圖像中的任意一點和它相鄰那點的灰度值中發生的大小關系來判定圖像中部分紋理空間構造,從這方面上來看,它有旋轉和抗亮度變化的能力。
2.1 原始的LBP運算元
LBP一開始先將圖像中各個像素點之間的灰度值加以計算,將在各個像素點和跟她相鄰的點存在於灰度值上的二值關系加以計算,根據計算後得出的二指關系根據相應規則來形成局部二值的模式,同時將多區域的直方圖序列當做這個圖像的一個二值模式。
圖1 基本的LBP運算元計算的過程
一個基本的LBP運算元應該是上圖1所示那樣,將其定義成3*3的窗口,有8個鄰域的像素點,把窗口中心點的灰度值對窗口內的像素點其灰度值執行二值化,再依據不同的像素點位置來加權求和,進而得到這個窗口LBP編碼值。
2.2 改進的LBP運算元
從上面我們可以知道原始的演算法自身紋理描述力是很強的,但在特定的局域內,原始LBP運算元只考慮到了存在於中心像素點跟鄰域的像素點之間灰度值的差異,把中心像素點作用以及鄰域像素點其灰度值之間的互相關系忽略掉了,因而造成在某些情況下把局部的結構特點信息有所忽略。如下圖2就是某種特定的情況。圖2 原始的LBP運算元在特定情形中的編碼
圖2中所產生的11111111主要是對暗點以及會讀平坦的區域進行檢測,可以說是特徵檢測器。我們在此基礎上,對原始的LBP運算元進行改進,根據使一位二值編碼增加的方式來加以擴展,提出了多重心化的二值模式也就是MLBP,具體的改進過程如圖3所示。
圖3 改進的LBP運算元計算的過程(P=8、R=1)
由圖3中獲得的兩個8位子編碼將其當做獨立的兩 個MLBP的自編碼,繼而對所有模式直方圖加以計算,根據這個直方圖來加以分類或者是識別。LBP具體的演算法公式如下:
在這當中,N,R分別表示的是臨域點的個數和半徑,gc表示的是像素點,gn表示的是它的臨域點。根據這個改進的MLBP運算元我們可以看出,它根據使一位二值的編碼增加的形式,在將原始LBP運算元的優勢得到保持前提下,將中心像素點作用和鄰域像素點二者間灰度值的關系又加以利用。跟原始的相比,改進的運算元並沒有時特徵模式有所增加,而且還可以將原始的運算元中沒有考慮到的中心像素點和鄰域像素點灰度值間關系產生的結構特點提取出來,讓其鑒別能力得到提高。
3 人臉識別系統的設計
3.1 系統構成
該系統主要是被硬體平台以及軟體開發的平台這兩部分構成。硬體平台指的就是那些採集圖像的設備和計算機系統,而軟體開發的平台就是本文中所描述到的在上述所說的演算法中改進開發出來的一種人臉識別的系統。
3.2 系統軟體
系統軟體的構造。系統軟體可以劃分成以下兩個部分。首先是獲取圖像,當進入到主界面中時,點擊打開圖像或者是打開視頻,系統初始化的硬體設備能夠根據直接打開的靜態表情圖像或者是視頻等,來對人臉表情圖像進行獲取並將圖像顯示出來,之後再對人臉開始進行檢測和定位。其次,就是提取相應的表情特徵並對其進行識別。
下面為了對該系統在進行識別表情時的效果進行驗證,本文進行了幾組對比實驗。先將Gabor跟采樣降維相結合的特徵提取方式下得出的不同分類器效果加以比較,再將該系統下的分類跟其他的分類器效果進行比較。具體如下圖4所示。
圖4 不同的分類器下表情識別比較圖
在圖4中,橫坐標1-7分別表示的是生氣、厭惡、恐懼、高興和瓶頸、傷心以及驚奇,數字8表示的是所有的表情。
結論:
根據圖4我們可看出,在特徵提取條件相同情況下,整體實驗數據中稀疏表示明顯比另兩種分類型的性能要好,而且BP神經網路分類效果也非常良好,但是最近鄰之間的分類器的精準度沒有前兩種表現得好。
該文中運用的這種提取特徵方法的效果明顯比Gabor跟采樣降維相結合的方法效果要好。
上面進行的對比實驗,充分驗證了本文中的分類系統的優越感。下面跟文獻中已經有的方案進行對比,具體如下圖5所示。
[不同人臉表情識別方法\&識別率\&Gabor+彈性模板匹配[5]\&80%\&特徵塊PCA+最近鄰分析器[8]\&75.45%\&本文方法\&85.71%\&]
圖5 跟文獻中含有的方案進行比較效果
根據圖5所示,我們可以看出,跟其他文獻中採用的方法來看,本文採用的方法在表情識別上有著明顯的優勢。具體的我們還可以從下圖6的人臉表情識別界面中看到本文中設計的人臉識別系統具體應用情況。
圖6 人臉表情識別的界面
3.3簡析人臉識別演算法
1)優點
這種演算法將以前在迭代過程中的迭矩陣計算大大簡化,而且在識別的速度上也得到了有效的提升,能跟隨光照的變化進行有效的識別,對人臉進行識別的主要困難就是遮擋、單樣本等這些問題,而稀疏表示在這些問題的前提下仍然能具備潛在的發展力,我們可以進一步對其加以研究,這也是現在研究的一個重點方向。
2) 缺點
在上面實驗中我們發現其分類器表現出了良好的使用效果,但這種演算法也存在著一些不足之處,由於數據量不斷地增加,稀疏表示分類需要的時間也會隨之而增加。此外,這種表示方法雖然在速度上明顯優於其他,但是其產生的識別率並不是很高,也就是說不能准確地對表情進行有效識別。
4 展望人臉表情識別的系統
這種新型的對人臉表情加以識別的系統利於將人們的生活品質提高。當人們一旦從比較寒冷的地方或者是比較炎熱的地方回到室內時,可以根據這個表情識別的系統快速地把人們面部表情與最佳溫度中人臉表情相對比,進而讓空調自動把室內的溫度調轉至最佳。此外,在醫療行業中,可以將表情識別運用到電子護士護理中來。尤其是對於那些重症病人,在對其進行治療的過程中可以根據這個具有表情分析能力的機器人護士對病人實行實時的看管護理。除以上幾點外,在對兒童實行教育時也可以將其應用其中,可以根據兒童在某種情形下所產生的表情以及行為進行具體分析和觀察,有效挖掘他們潛在的氣質和能力,引導我們更好地對兒童實行教育,促進兒童的健康成長。
5 結語
綜上所述,對人臉表情加以識別是具有很大挑戰的新興課題,筆者主要對存在於人臉表情識別演算法中的問題進行了簡要的分析,並在此基礎上提出了改進的演算法進而提出了對人臉表情加以識別的系統。但從目前來看,我國關於人臉識別的系統研究當中還存在著一些問題,因此,對於我們來說將更加智能化的關於人臉表情識別的系統加以實現還是一個十分艱巨的任務,還需要我們不斷的努力。
參考文獻:
[1] 趙曉龍. 安防系統中的基於稀疏表示的人臉識別研究[D].西北大學,2014.
[2] 朱可. 基於稀疏表示的人臉表情識別[D].西北大學,2013.
[3] 萬川. 基於動態序列圖像的人臉表情識別系統理論與方法研究[D].吉林大學,2013.
[4] 歐陽琰. 面部表情識別方法的研究[D].華中科技大學,2013.
[5] 王哲偉. 基於稀疏表示殘差融合的人臉表情識別[D].五邑大學,2011.
[6] 張慕凡. 基於稀疏表示的人臉識別的應用研究[D].南京郵電大學,2014.
[7] 趙曉. 基於稀疏表示的人臉識別方法研究[D].北京工業大學,2013.
[8] 何玲麗. 基於核稀疏表示的人臉識別方法研究[D].湖南大學,2014.
❼ places2數據集有人臉圖像嗎
places2數據集主要包含各種場景的圖片,如室內宴核、室外、城市、虧祥嘩自然風景等,而不是人臉圖像。這是因為places2數據集的目的是為了讓計算機更好地理解和識別場景,而不是人臉。因此,該數據集主要包含各種場景的圖片,以便訓練計算機視覺演算法來識別場景。
但是,places2數據集中可能會包含一些包含人臉的場景圖片,例如在城市街道或戶外自然風景中出現的人物。這些圖片中的人臉通常是場景的一部分,而不是像人臉識別數據集中那樣重點關注人臉。因此,如果需要使用places2數據集來訓練人臉識別演算法,可能需要進行一些銷行額外的處理和篩選,以確保選取的圖片具有較高的人臉可見度。
❽ 人臉圖像如何匹配和識別
其提取人臉圖像的特徵資料庫中存儲的特徵模板進行搜索匹配,通過設定一個閾值,當相似度超過這一閾值,則把匹配得到族族的結果輸出,人臉識別就是將待識別的人臉特徵與已得到人臉特徵模板進行比較,根據兆首弊相似程度對人臉的身份信息進行判斷。這一過程又分為兩芹明類:一類是確認,是一對一進行圖像比較的過程,另一類是辨認,是一對多進行圖像匹配對比的過程。
❾ 在ios上識別不了的小表情
識別不上可能因為網謹稿猛絡問題。
修改後台對敬源應的配置文件,將其utf8改掉,比如Java是改祥橋為資料庫名+autoReconnect=true,讓其自動識別。
❿ 怎樣使用OpenCV進行人臉識別
友情提示,要看懂代碼前,你得先知道OpenCV的安裝和配置,會用C++,用過一些OpenCV函數。基本的圖像處理和矩陣知識也是需要的。[gm:我是簫鳴的注釋]由於我僅僅是翻譯,對於六級才過的我,肯定有一些翻譯錯的或者不當的地方,所以請大家糾錯。
1.1.介紹Introction
從OpenCV2.4開始,加入了新的類FaceRecognizer,我們可以使用它便捷地進行人臉識別實驗。本文既介紹代碼使用,又介紹演算法原理。(他寫的源代碼,我們可以在OpenCV的opencv\moles\contrib\doc\facerec\src下找到,當然也可以在他的github中找到,如果你想研究源碼,自然可以去看看,不復雜)目前支持的演算法有
Eigenfaces特徵臉createEigenFaceRecognizer()
Fisherfaces createFisherFaceRecognizer()
LocalBinary Patterns Histograms局部二值直方圖 createLBPHFaceRecognizer()
下面所有的例子中的代碼在OpenCV安裝目錄下的samples/cpp下面都能找到,所有的代碼商用或者學習都是免費的。1.2.人臉識別Face Recognition
對人類來說,人臉識別很容易。文獻[Tu06]告訴我們,僅僅是才三天的嬰兒已經可以區分周圍熟悉的人臉了。那麼對於計算機來說,到底有多難?其實,迄今為止,我們對於人類自己為何可以區分不同的人所知甚少。是人臉內部特徵(眼睛、鼻子、嘴巴)還是外部特徵(頭型、發際線)對於人類識別更有效?我們怎麼分析一張圖像,大腦是如何對它編碼的?David Hubel和TorstenWiesel向我們展示,我們的大腦針對不同的場景,如線、邊、角或者運動這些局部特徵有專門的神經細胞作出反應。顯然我們沒有把世界看成零散的塊塊,我們的視覺皮層必須以某種方式把不同的信息來源轉化成有用的模式。自動人臉識別就是如何從一幅圖像中提取有意義的特徵,把它們放入一種有用的表示方式,然後對他們進行一些分類。基於幾何特徵的人臉的人臉識別可能是最直觀的方法來識別人臉。第一個自動人臉識別系統在[Kanade73]中又描述:標記點(眼睛、耳朵、鼻子等的位置)用來構造一個特徵向量(點與點之間的距離、角度等)。通過計算測試和訓練圖像的特徵向量的歐氏距離來進行識別。這樣的方法對於光照變化很穩健,但也有巨大的缺點:標記點的確定是很復雜的,即使是使用最先進的演算法。一些幾何特徵人臉識別近期工作在文獻[Bru92]中有描述。一個22維的特徵向量被用在一個大資料庫上,單靠幾何特徵不能提供足夠的信息用於人臉識別。特徵臉方法在文獻[TP91]中有描述,他描述了一個全面的方法來識別人臉:面部圖像是一個點,這個點是從高維圖像空間找到它在低維空間的表示,這樣分類變得很簡單。低維子空間低維是使用主元分析(Principal Component Analysis,PCA)找到的,它可以找擁有最大方差的那個軸。雖然這樣的轉換是從最佳重建角度考慮的,但是他沒有把標簽問題考慮進去。[gm:讀懂這段需要一些機器學習知識]。想像一個情況,如果變化是基於外部來源,比如光照。軸的最大方差不一定包含任何有鑒別性的信息,因此此時的分類是不可能的。因此,一個使用線性鑒別(Linear Discriminant Analysis,LDA)的特定類投影方法被提出來解決人臉識別問題[BHK97]。其中一個基本的想法就是,使類內方差最小的同時,使類外方差最大。
近年來,各種局部特徵提取方法出現。為了避免輸入的圖像的高維數據,僅僅使用的局部特徵描述圖像的方法被提出,提取的特徵(很有希望的)對於局部遮擋、光照變化、小樣本等情況更強健。有關局部特徵提取的方法有蓋伯小波(Gabor Waelets)([Wiskott97]),離散傅立葉變換(DiscreteCosinus Transform,DCT)([Messer06]),局部二值模式(LocalBinary Patterns,LBP)([AHP04])。使用什麼方法來提取時域空間的局部特徵依舊是一個開放性的研究問題,因為空間信息是潛在有用的信息。
1.3.人臉庫Face Database
我們先獲取一些數據來進行實驗吧。我不想在這里做一個幼稚的例子。我們在研究人臉識別,所以我們需要一個真的人臉圖像!你可以自己創建自己的數據集,也可以從這里(http://face-rec.org/databases/)下載一個。
AT&TFacedatabase又稱ORL人臉資料庫,40個人,每人10張照片。照片在不同時間、不同光照、不同表情(睜眼閉眼、笑或者不笑)、不同人臉細節(戴眼鏡或者不戴眼鏡)下採集。所有的圖像都在一個黑暗均勻的背景下採集的,正面豎直人臉(有些有有輕微旋轉)。YaleFacedatabase A ORL資料庫對於初始化測試比較適合,但它是一個簡單的資料庫,特徵臉已經可以達到97%的識別率,所以你使用其他方法很難得到更好的提升。Yale人臉資料庫是一個對於初始實驗更好的資料庫,因為識別問題更復雜。這個資料庫包括15個人(14個男人,1個女人),每一個都有11個灰度圖像,大小是320*243像素。資料庫中有光照變化(中心光照、左側光照、右側光照)、表情變化(開心、正常、悲傷、瞌睡、驚訝、眨眼)、眼鏡(戴眼鏡或者沒戴)。
壞消息是它不可以公開下載,可能因為原來的伺服器壞了。但我們可以找到一些鏡像(比如 theMIT)但我不能保證它的完整性。如果你需要自己剪裁和校準圖像,可以閱讀我的筆記(bytefish.de/blog/fisherfaces)。ExtendedYale Facedatabase B 此資料庫包含38個人的2414張圖片,並且是剪裁好的。這個資料庫重點是測試特徵提取是否對光照變化強健,因為圖像的表情、遮擋等都沒變化。我認為這個資料庫太大,不適合這篇文章的實驗,我建議使用ORL資料庫。
1.3.1. 准備數據
我們從網上下了數據,下了我們需要在程序中讀取它,我決定使用CSV文件讀取它。一個CSV文件包含文件名,緊跟一個標簽。
/path/to/image.ext;0
假設/path/to/image.ext是圖像,就像你在windows下的c:/faces/person0/image0.jpg。最後我們給它一個標簽0。這個標簽類似代表這個人的名字,所以同一個人的照片的標簽都一樣。我們對下載的ORL資料庫進行標識,可以獲取到如下結果:
./at/s1/1.pgm;0
./at/s1/2.pgm;0
...
./at/s2/1.pgm;1
./at/s2/2.pgm;1
...
./at/s40/1.pgm;39
./at/s40/2.pgm;39
想像我已經把圖像解壓縮在D:/data/at下面,而CSV文件在D:/data/at.txt。下面你根據自己的情況修改替換即可。一旦你成功建立CSV文件,就可以像這樣運行示常式序:
facerec_demo.exe D:/data/at.txt
1.3.2 Creating the CSV File
你不需要手工來創建一個CSV文件,我已經寫了一個Python程序來做這事。
[gm:說一個我實現的方法
如果你會cmd命令,或者稱DOS命令,那麼你打開命令控制台。假設我們的圖片放在J:下的Faces文件夾下,可以輸入如下語句:
J:\Faces\ORL>dir /b/s *.bmp > at.txt
然後你打開at.txt文件可能看到如下內容(後面的0,1..標簽是自己加的):
。。。。
J:\Faces\ORL\s1\1.bmp;0
J:\Faces\ORL\s1\10.bmp;0
J:\Faces\ORL\s1\2.bmp;0
J:\Faces\ORL\s1\3.bmp;0
J:\Faces\ORL\s1\4.bmp;0
J:\Faces\ORL\s1\5.bmp;0
J:\Faces\ORL\s1\6.bmp;0
J:\Faces\ORL\s1\7.bmp;0
J:\Faces\ORL\s1\8.bmp;0
J:\Faces\ORL\s1\9.bmp;0
J:\Faces\ORL\s10\1.bmp;1
J:\Faces\ORL\s10\10.bmp;1
J:\Faces\ORL\s10\2.bmp;1
J:\Faces\ORL\s10\3.bmp;1
J:\Faces\ORL\s10\4.bmp;1
J:\Faces\ORL\s10\5.bmp;1
J:\Faces\ORL\s10\6.bmp;1
。。。。
自然還有c++編程等方法可以做得更好,看這篇文章反響,如果很多人需要,我就把這部分的代碼寫出來。(遍歷多個文件夾,標上標簽)
]
特徵臉Eigenfaces
我們講過,圖像表示的問題是他的高維問題。二維灰度圖像p*q大小,是一個m=qp維的向量空間,所以一個100*100像素大小的圖像就是10,000維的圖像空間。問題是,是不是所有的維數空間對我們來說都有用?我們可以做一個決定,如果數據有任何差異,我們可以通過尋找主元來知道主要信息。主成分分析(Principal Component Analysis,PCA)是KarlPearson (1901)獨立發表的,而 Harold Hotelling (1933)把一些可能相關的變數轉換成一個更小的不相關的子集。想法是,一個高維數據集經常被相關變數表示,因此只有一些的維上數據才是有意義的,包含最多的信息。PCA方法尋找數據中擁有最大方差的方向,被稱為主成分。
演算法描述Algorithmic Description
令 2 表示一個隨機特徵,其中 3 .
計算均值向量 4
5
計算協方差矩陣 S
6
計算 的特徵值7 和對應的特徵向量 8 9
對特徵值進行遞減排序,特徵向量和它順序一致. K個主成分也就是k個最大的特徵值對應的特徵向量。
x的K個主成份:
10其中11 .
PCA基的重構:
12其中 13 .
然後特徵臉通過下面的方式進行人臉識別:
A. 把所有的訓練數據投影到PCA子空間
B. 把待識別圖像投影到PCA子空間
C. 找到訓練數據投影後的向量和待識別圖像投影後的向量最近的那個。
還有一個問題有待解決。比如我們有400張圖片,每張100*100像素大小,那麼PCA需要解決協方差矩陣 14的求解,而X的大小是10000*400,那麼我們會得到10000*10000大小的矩陣,這需要大概0.8GB的內存。解決這個問題不容易,所以我們需要另一個計策。就是轉置一下再求,特徵向量不變化。文獻 [Duda01]中有描述。
[gm:這個PCA還是自己搜著看吧,這里的講的不清楚,不適合初學者看]OpenCV中使用特徵臉Eigenfaces in OpenCV
給出示常式序源代碼
#include "opencv2/core/core.hpp"
#include "opencv2/contrib/contrib.hpp"
#include "opencv2/highgui/highgui.hpp"
#include <iostream>
#include <fstream>
#include <sstream>
usingnamespace cv;
usingnamespace std;
static Mat norm_0_255(InputArray _src) {
Mat src = _src.getMat();
// 創建和返回一個歸一化後的圖像矩陣:
Mat dst;
switch(src.channels()) {
case1:
cv::normalize(_src, dst, 0,255, NORM_MINMAX, CV_8UC1);
break;
case3:
cv::normalize(_src, dst, 0,255, NORM_MINMAX, CV_8UC3);
break;
default:
src.To(dst);
break;
}
return dst;
}
//使用CSV文件去讀圖像和標簽,主要使用stringstream和getline方法
staticvoid read_csv(const string& filename, vector<Mat>& images, vector<int>& labels, char separator =';') {
std::ifstream file(filename.c_str(), ifstream::in);
if (!file) {
string error_message ="No valid input file was given, please check the given filename.";
CV_Error(CV_StsBadArg, error_message);
}
string line, path, classlabel;
while (getline(file, line)) {
stringstream liness(line);
getline(liness, path, separator);
getline(liness, classlabel);
if(!path.empty()&&!classlabel.empty()) {
images.push_back(imread(path, 0));
labels.push_back(atoi(classlabel.c_str()));
}
}
}
int main(int argc, constchar*argv[]) {
// 檢測合法的命令,顯示用法
// 如果沒有參數輸入則退出!.
if (argc <2) {
cout <<"usage: "<< argv[0]<<" <csv.ext> <output_folder> "<< endl;
exit(1);
}
string output_folder;
if (argc ==3) {
output_folder = string(argv[2]);
}
//讀取你的CSV文件路徑.
string fn_csv = string(argv[1]);
// 2個容器來存放圖像數據和對應的標簽
vector<Mat> images;
vector<int> labels;
// 讀取數據. 如果文件不合法就會出錯
// 輸入的文件名已經有了.
try {
read_csv(fn_csv, images, labels);
} catch (cv::Exception& e) {
cerr <<"Error opening file \""<< fn_csv <<"\". Reason: "<< e.msg << endl;
// 文件有問題,我們啥也做不了了,退出了
exit(1);
}
// 如果沒有讀取到足夠圖片,我們也得退出.
if(images.size()<=1) {
string error_message ="This demo needs at least 2 images to work. Please add more images to your data set!";
CV_Error(CV_StsError, error_message);
}
// 得到第一張照片的高度. 在下面對圖像
// 變形到他們原始大小時需要
int height = images[0].rows;
// 下面的幾行代碼僅僅是從你的數據集中移除最後一張圖片
//[gm:自然這里需要根據自己的需要修改,他這里簡化了很多問題]
Mat testSample = images[images.size() -1];
int testLabel = labels[labels.size() -1];
images.pop_back();
labels.pop_back();
// 下面幾行創建了一個特徵臉模型用於人臉識別,
// 通過CSV文件讀取的圖像和標簽訓練它。
// T這里是一個完整的PCA變換
//如果你只想保留10個主成分,使用如下代碼
// cv::createEigenFaceRecognizer(10);
//
// 如果你還希望使用置信度閾值來初始化,使用以下語句:
// cv::createEigenFaceRecognizer(10, 123.0);
//
// 如果你使用所有特徵並且使用一個閾值,使用以下語句:
// cv::createEigenFaceRecognizer(0, 123.0);
//
Ptr<FaceRecognizer> model = createEigenFaceRecognizer();
model->train(images, labels);
// 下面對測試圖像進行預測,predictedLabel是預測標簽結果
int predictedLabel = model->predict(testSample);
//
// 還有一種調用方式,可以獲取結果同時得到閾值:
// int predictedLabel = -1;
// double confidence = 0.0;
// model->predict(testSample, predictedLabel, confidence);
//
string result_message = format("Predicted class = %d / Actual class = %d.", predictedLabel, testLabel);
cout << result_message << endl;
// 這里是如何獲取特徵臉模型的特徵值的例子,使用了getMat方法:
Mat eigenvalues = model->getMat("eigenvalues");
// 同樣可以獲取特徵向量:
Mat W = model->getMat("eigenvectors");
// 得到訓練圖像的均值向量
Mat mean = model->getMat("mean");
// 現實還是保存:
if(argc==2) {
imshow("mean", norm_0_255(mean.reshape(1, images[0].rows)));
} else {
imwrite(format("%s/mean.png", output_folder.c_str()), norm_0_255(mean.reshape(1, images[0].rows)));
}
// 現實還是保存特徵臉:
for (int i =0; i < min(10, W.cols); i++) {
string msg = format("Eigenvalue #%d = %.5f", i, eigenvalues.at<double>(i));
cout << msg << endl;
// 得到第 #i個特徵
Mat ev = W.col(i).clone();
//把它變成原始大小,為了把數據顯示歸一化到0~255.
Mat grayscale = norm_0_255(ev.reshape(1, height));
// 使用偽彩色來顯示結果,為了更好的感受.
Mat cgrayscale;
applyColorMap(grayscale, cgrayscale, COLORMAP_JET);
// 顯示或者保存:
if(argc==2) {
imshow(format("eigenface_%d", i), cgrayscale);
} else {
imwrite(format("%s/eigenface_%d.png", output_folder.c_str(), i), norm_0_255(cgrayscale));
}
}
// 在一些預測過程中,顯示還是保存重建後的圖像:
for(int num_components =10; num_components <300; num_components+=15) {
// 從模型中的特徵向量截取一部分
Mat evs = Mat(W, Range::all(), Range(0, num_components));
Mat projection = subspaceProject(evs, mean, images[0].reshape(1,1));
Mat reconstruction = subspaceReconstruct(evs, mean, projection);
// 歸一化結果,為了顯示:
reconstruction = norm_0_255(reconstruction.reshape(1, images[0].rows));
// 顯示或者保存:
if(argc==2) {
imshow(format("eigenface_reconstruction_%d", num_components), reconstruction);
} else {
imwrite(format("%s/eigenface_reconstruction_%d.png", output_folder.c_str(), num_components), reconstruction);
}
}
// 如果我們不是存放到文件中,就顯示他,這里使用了暫定等待鍵盤輸入:
if(argc==2) {
waitKey(0);
}
return0;
}