一、LFW數據集
「LFW(Labeled Faces in the Wild)」是一個面向計算機視覺領域的人臉識別數據集,由美國馬里蘭大學的Gary B. Huang、Liang Chen 和David J. Kriegman三位教授於2007年創立。該數據集包含了13233張人臉圖片,人物數量為5749人。這些人物來自互聯網圖片、電視劇和電影中的面部特徵以及面部特徵數據庫。
數據集中每個人物都有一至多個人臉照片。每張圖片大小為250*250像素,256個灰度級。數據集的總大小超過1GB,適用於圖像識別、目標檢測、人臉識別等研究領域。
二、LFW數據集訓練集和測試集
數據集被劃分為兩個不同的部分:訓練集和測試集。訓練集分為兩個部分:要在其中訓練人臉識別系統的面部特徵和一個無用的圖像集合。同時,測試集包含了每個人物的多張不同的照片,用於測試人臉識別的精度,數據集被廣泛使用於研究人臉識別和驗證算法。
訓練集一共包含了1680個人,其中有13243張人臉圖像。測試集包含了2952個人物,其中超過6000張人臉圖像。
三、LFW數據集介紹
LFW數據集中人臉圖像非常大且難以處理,需要在數據集的處理上具有挑戰性。此外,該數據集的挑戰還在於含有不同年齡、種族、光照、姿勢和表情的多種人臉。
LFW是針對缺少大規模人臉數據集的研究人員而設計,也是精度優越的人臉識別算法所必需的數據集。人臉識別是一種比較成熟的領域,在人臉識別研究領域,LFW數據集是非常有代表性的數據集。
四、LFW數據集下載
下載鏈接:http://vis-www.cs.umass.edu/lfw/LFW.zip
如果需要獲得數據集中原始圖片的下載信息,可以前往http://www.cs.columbia.edu/CAVE/databases/pubfig/download/下載PubFig數據集。
五、LFW數據集可視化
訓練集和測試集中的人臉圖像是已經按照ID進行分類,並有名稱標籤的文件夾中。因此,可以輕鬆地將標籤添加到人臉識別的測試腳本中。使用Python的 Matplotlib 包和 NumPy 包,可以可視化lfw數據集中的人臉圖像。
import matplotlib.pyplot as plt
import numpy as np
import os
from PIL import Image
path = 'path/to/dataset/train'
folders = sorted(os.listdir(path))
images = []
names = []
for folder in folders:
for filename in os.listdir(os.path.join(path, folder)):
names.append(folder)
img = np.array(Image.open(os.path.join(path, folder, filename)))
images.append(img)
fig, axes = plt.subplots(2, 5, figsize=(15, 6))
for i, ax in enumerate(axes.flat):
ax.imshow(images[i], cmap='gray')
ax.set_title(names[i])
plt.show()
六、LFW數據集怎麼用
lfw數據集通過scikit-learn中相應的API提供了對Python代碼的支持。可以用如下代碼加載數據:
from sklearn.datasets import fetch_lfw_people
lfw = fetch_lfw_people(min_faces_per_person=70, resize=0.4)
這裡,min_faces_per_person參數定義了數據集中要求的人臉圖像的最小數量,resize是圖像大小的縮放比例。
lfw數據集還有更多的特徵,比如可以設置像素的最大/最小值,將測試集轉換為數目值,並可以選擇不同的訓練和測試數據,以達到更好的結果。
七、LFW數據集標籤格式
lfw數據集的標籤格式有兩個版本:名稱或數字。例如:
lfw_people.target_names = [
'Alejandro Toledo', 'Alvaro Uribe', 'Amelie Mauresmo', 'Andre Agassi',
'Angelina Jolie', 'Ariel Sharon', 'Arnold Schwarzenegger', 'Atal Bihari Vajpayee',
'Bill Clinton', 'Carlos Menem', 'Colin Powell', 'David Beckham', 'Donald Rumsfeld',
'George Robertson', 'George W Bush', 'Gerhard Schroeder', 'Gloria Macapagal Arroyo',
'Gray Davis', 'Guillermo Coria', 'Hamid Karzai', 'Hans Blix', 'Hugo Chavez',
'Igor Ivanov', 'Jack Straw', 'Jacques Chirac', 'Jean Chretien', 'Jennifer Aniston',
'Jennifer Capriati', 'Jennifer Lopez', 'Jeremy Greenstock', 'Jiang Zemin',
'John Ashcroft', 'John Negroponte', 'Jose Maria Aznar', 'Juan Carlos Ferrero',
'Junichiro Koizumi', 'Kofi Annan', 'Laura Bush', 'Lindsay Davenport',
'Lleyton Hewitt', 'Luiz Inacio Lula da Silva', 'Mahmoud Abbas', 'Megawati Sukarnoputri',
'Michael Bloomberg', 'Naomi Watts', 'Nestor Kirchner', 'Paul Bremer',
'Pete Sampras', 'Recep Tayyip Erdogan', 'Ricardo Lagos', 'Roh Moo-hyun',
'Rudolph Giuliani', 'Saddam Hussein', 'Serena Williams', 'Silvio Berlusconi',
'Tiger Woods', 'Tom Daschle', 'Tom Ridge', 'Tonino Picula', 'Tony Blair',
'Vicente Fox', 'Vladimir Putin', 'Winona Ryder', 'Vicente Fox'
]
n_classes = lfw_people.target_names.shape[0]
例如,講解標籤名導入到變量中:
from sklearn.datasets import fetch_lfw_people
lfw_people = fetch_lfw_people(min_faces_per_person=70, resize=0.4)
lfw_people.target_names
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/242827.html