99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實戰(zhàn)洞察。

Eigenface人臉識別:用PCA降維實現(xiàn)輕量級Python人臉識別系統(tǒng)

Eigenface人臉識別:用PCA降維實現(xiàn)輕量級Python人臉識別系統(tǒng) 簡介基于Python的Eigenface人臉識別課程設(shè)計包面向需要完成人臉識別方向課程設(shè)計或畢業(yè)設(shè)計的高校學(xué)生完整覆蓋從人臉檢測、特征提取、模型訓(xùn)練到識別驗證的經(jīng)典實現(xiàn)流程。包內(nèi)共11個文件包含5個Python源碼腳本、模型配置json、OpenCV級聯(lián)分類器xml、設(shè)計報告docx以及說明文檔和license整體大小約7.14MB目錄結(jié)構(gòu)清晰便于按流程閱讀和實踐。代碼基于Python 3.7與OpenCV 4.5.0開發(fā)在Visual Studio Code中運(yùn)行調(diào)用攝像頭配合haar_cascade_frontalface_default.xml完成人臉檢測將截取到的人臉尺寸歸一化并轉(zhuǎn)換為pgm格式生成個人樣本同時提供訓(xùn)練、測試、重構(gòu)、人臉采集等多個模塊腳本覆蓋從數(shù)據(jù)準(zhǔn)備、模型訓(xùn)練到結(jié)果驗證的完整鏈路可直接修改后復(fù)用于實驗。隨包附帶的word設(shè)計報告可幫助理解Eigenface原理與實驗設(shè)計。目前已有558人學(xué)習(xí)下載適合作為人臉識別入門項目、課程設(shè)計模板及算法實驗改寫的參考素材。1. Eigenface 人臉識別這個 zip到底解決什么問題Eigenface特征臉是很多人接觸人臉識別時繞不過去的第一個里程碑算法。它不依賴深度學(xué)習(xí)不燒 GPU純用 Python 和 NumPy 就能在幾十行代碼里跑通一套“訓(xùn)練—識別”流程把一張人臉圖像壓縮成幾十個系數(shù)再用最近鄰去匹配身份。這個 zip 本質(zhì)上是一個完整的 Eigenface 實現(xiàn)包里面應(yīng)該包含數(shù)據(jù)預(yù)處理腳本、PCA 訓(xùn)練代碼、識別腳本和一個人臉數(shù)據(jù)集組織目錄。它適合三類人正在做畢設(shè)或課設(shè)的學(xué)生剛接觸機(jī)器視覺想從原理層面理解 PCA 降維如何作用于圖像的工程師以及需要在嵌入式設(shè)備或低算力環(huán)境里做輕量級人臉驗證的場景。先給出一個反直覺的結(jié)論Eigenface 在白底證件照上準(zhǔn)確率能到 95% 以上但一到真實光照、側(cè)臉、遮擋場景就會斷崖式下跌——這不是 bug而是線性子空間模型的天花板。理解了這個邊界你才能真正用好這個 zip而不是拿到手跑通 demo 就以為可以上生產(chǎn)。2. 特征臉原理為什么 PCA 能把人臉變成一組數(shù)字2.1 從像素空間到特征空間的本質(zhì)跳躍一張 112×92 的灰度人臉圖展平后是一個 10304 維的向量。如果直接把所有訓(xùn)練樣本丟進(jìn)分類器維度災(zāi)難會同時帶來計算開銷和過擬合。Eigenface 的核心假設(shè)是人臉雖然分布在 10304 維空間里但真正的變化其實被少數(shù)幾個方向主導(dǎo)——比如光照方向、臉型寬窄、五官位置。PCA 要做的就是找到這些主方向把每張人臉從 10304 維投影到 1050 維而且保留絕大部分區(qū)分度。數(shù)學(xué)上假設(shè)訓(xùn)練集有 N 張人臉每張是 d 維向量。先算平均臉import numpy as np def compute_mean_face(face_matrix): # face_matrix: shape (N, d)每行是一張展平后的人臉 mean_face np.mean(face_matrix, axis0) return mean_face # 示例10 張 112x92 的圖展平后每張 10304 維 faces np.random.randn(10, 10304) mean compute_mean_face(faces) print(mean.shape) # (10304,)這段代碼做的事就是把所有訓(xùn)練樣本逐像素求平均得到一張“平均臉”。注意這里 axis0 表示沿著樣本維度求均值得到的 mean_face 是一維數(shù)組長度等于單張圖片的像素數(shù)。之后我們要把每張臉減去平均臉得到差值矩陣再做協(xié)方差矩陣的特征分解。協(xié)方差矩陣的維度是 d×d對 10304 維來說直接算特征分解內(nèi)存爆炸所以要用一個小技巧——對差值矩陣的轉(zhuǎn)置做 SVD 或特征分解而不是直接對協(xié)方差矩陣操作。2.2 從協(xié)方差矩陣到特征臉降維的完整推導(dǎo)設(shè)差值矩陣 X 的 shape 為 (N, d)我們要找的其實是 X?X 的特征向量。但 X?X 是 d×d代價太高轉(zhuǎn)而做 XX?這是 N×N對幾十到幾百個訓(xùn)練樣本來說非常小。XX? 的特征向量 v 對應(yīng)關(guān)系是X?X 的特征向量 u X?v 再歸一化。這就是經(jīng)典的“轉(zhuǎn)置技巧”也是 Eigenface 能跑在純 CPU 上的關(guān)鍵。def train_eigenfaces(face_matrix, n_components25): # face_matrix: shape (N, d)每行是一張人臉 N, d face_matrix.shape mean_face np.mean(face_matrix, axis0) centered face_matrix - mean_face # 去均值 # 小矩陣N x N cov_small np.dot(centered, centered.T) # (N, N) eigvals, eigvecs_small np.linalg.eigh(cov_small) # 特征值降序排列 idx np.argsort(eigvals)[::-1] eigvecs_small eigvecs_small[:, idx] # 還原到 d 維空間 eigvecs np.dot(centered.T, eigvecs_small) # (d, N) norm np.linalg.norm(eigvecs, axis0) eigvecs eigvecs / norm # 歸一化 # 取前 n_components 個主成分作為特征臉 eigenfaces eigvecs[:, :n_components] return mean_face, eigenfaces # 用法 X np.random.randn(40, 10304) mean, eigenfaces train_eigenfaces(X, n_components30) print(eigenfaces.shape) # (10304, 30)這里的核心參數(shù) n_components決定了最終特征空間的維度。選多少沒有絕對標(biāo)準(zhǔn)常見做法是先保留能解釋 90% 以上方差的前 k 個主成分。你可以加一行代碼算解釋方差比explained_variance_ratio eigvals[idx] / np.sum(eigvals) cumsum np.cumsum(explained_variance_ratio) k np.argmax(cumsum 0.95) 1 print(f保留 {k} 個特征臉即可解釋 95% 方差)注意 np.linalg.eigh 返回的特征值已經(jīng)是升序所以必須做一次逆序索引。用 eigh 而不是 eig是因為協(xié)方差矩陣是對稱的eigh 數(shù)值穩(wěn)定性更好速度也更快。特征臉本質(zhì)上是 d 維向量可以 reshape 回 (112, 92) 可視化你會看到一張張“幽靈臉”前幾個特征臉對應(yīng)光照和整體明暗后面則越來越像具體的人臉結(jié)構(gòu)差異。3. 用 Python 搭建完整 Eigenface 項目從數(shù)據(jù)集到識別3.1 數(shù)據(jù)集組織與預(yù)處理流程圖這個 zip 里大概率自帶一個數(shù)據(jù)集目錄結(jié)構(gòu)通常是按人分文件夾每個文件夾放同一人的多張不同表情/姿態(tài)的灰度圖。如果你手頭沒有用 ORL 人臉數(shù)據(jù)集400 張40 人每人 10 張或 Yale 數(shù)據(jù)集最合適。數(shù)據(jù)加載和預(yù)處理我一般這樣組織import os import cv2 import numpy as np IMG_SIZE (112, 92) def load_dataset(data_dir): 目錄結(jié)構(gòu): data_dir/ person_01/ 1.pgm 2.pgm person_02/ 1.pgm ... 返回: faces: (N, 10304) 的 float32 矩陣 labels: (N,) 的 int 標(biāo)簽 name_map: 標(biāo)簽 - 人名 的字典 faces, labels [], [] name_map {} label 0 for person_name in sorted(os.listdir(data_dir)): person_dir os.path.join(data_dir, person_name) if not os.path.isdir(person_dir): continue name_map[label] person_name for img_name in os.listdir(person_dir): img_path os.path.join(person_dir, img_name) if not img_path.lower().endswith((.pgm, .jpg, .png, .bmp)): continue img cv2.imread(img_path, cv2.IMREAD_GRAYSCALE) if img is None: print(f警告: 無法讀取 {img_path}) continue img cv2.resize(img, IMG_SIZE) faces.append(img.flatten().astype(np.float32)) labels.append(label) label 1 return np.array(faces), np.array(labels), name_map # 用法示例 faces, labels, name_map load_dataset(./att_faces) print(faces.shape) # (400, 10304) print(labels[:10]) # [0 0 0 ...]這個地方有四個易錯點。第一cv2.imread 讀入的灰度圖是 uint8范圍 0255必須轉(zhuǎn) float32否則后續(xù)算均值、協(xié)方差時精度不夠且可能溢出。第二resize 到固定尺寸很關(guān)鍵同一數(shù)據(jù)集里原始圖片可能尺寸不一致Eigenface 的向量維度必須統(tǒng)一。第三文件名過濾只認(rèn)圖片后綴防止把 Mac 的 .DS_Store 或 Windows 的隱藏文件讀進(jìn)來。第四label 從 0 開始按字母序遞增name_map 負(fù)責(zé)把數(shù)字標(biāo)簽映射回人名識別結(jié)果輸出時用 name_map 轉(zhuǎn)回字符串。3.2 訓(xùn)練流程封裝一個類搞定所有邏輯class EigenfaceRecognizer: def __init__(self, n_components25): self.n_components n_components self.mean_face None self.eigenfaces None self.labels None self.projections None self.name_map None def fit(self, faces, labels, name_mapNone): # faces: (N, d), labels: (N,) self.labels labels self.name_map name_map if name_map is not None else {i: str(i) for i in set(labels)} self.mean_face np.mean(faces, axis0) centered faces - self.mean_face # 計算小協(xié)方差矩陣的特征分解 cov_small np.dot(centered, centered.T) eigvals, eigvecs_small np.linalg.eigh(cov_small) # 按特征值降序 idx np.argsort(eigvals)[::-1] eigvecs_small eigvecs_small[:, idx] # 映射回原空間并歸一化 eigenfaces np.dot(centered.T, eigvecs_small) norms np.linalg.norm(eigenfaces, axis0) eigenfaces eigenfaces / norms # 取前 n_components 個 self.eigenfaces eigenfaces[:, :self.n_components] # 把所有訓(xùn)練樣本投影到特征臉空間 self.projections np.dot(centered, self.eigenfaces) return self def predict(self, face): face: (d,) 或 (1, d) 的展平人臉向量 返回 (label, distance) face np.asarray(face).reshape(1, -1).astype(np.float32) centered face - self.mean_face # 投影到特征臉空間 projection np.dot(centered, self.eigenfaces) # (1, n_components) # 計算與所有訓(xùn)練樣本投影的歐氏距離 distances np.linalg.norm(self.projections - projection, axis1) best_idx np.argmin(distances) return self.labels[best_idx], distances[best_idx]這個類封裝的思路是fit 里做完 PCA 并緩存所有訓(xùn)練樣本在特征臉空間的坐標(biāo)predict 階段只需要做兩次矩陣乘法和一次距離排序——推理速度極快單張 112×92 的圖在普通 CPU 上跑一次小于 1 毫秒。距離度量選歐氏距離這是最常見做法也可以用余弦相似度但歐氏距離在特征臉空間里物理意義更直覺。注意 predict 返回的是一個元組 (label, distance)distance 可以當(dāng)作置信度參考——距離閾值判斷在后面講。3.3 完整訓(xùn)練與識別主腳本from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report # 加載數(shù)據(jù) faces, labels, name_map load_dataset(./att_faces) # ORL 數(shù)據(jù)集 # 劃分訓(xùn)練集和測試集每個人取前 8 張訓(xùn)練后 2 張測試 # 注意不能隨機(jī)打亂后直接 split會造成同一個人同時出現(xiàn)在訓(xùn)練和測試?yán)?X_train, X_test, y_train, y_test [], [], [], [] for person_id in set(labels): idxs np.where(labels person_id)[0] # 按原始順序切分保證前 80% 訓(xùn)練 20% 測試 split int(len(idxs) * 0.8) X_train.extend(faces[idxs[:split]]) y_train.extend(labels[idxs[:split]]) X_test.extend(faces[idxs[split:]]) y_test.extend(labels[idxs[split:]]) X_train np.array(X_train) X_test np.array(X_test) y_train np.array(y_train) y_test np.array(y_test) # 訓(xùn)練 Eigenface 模型 model EigenfaceRecognizer(n_components30) model.fit(X_train, y_train, name_map) # 測試識別 correct 0 for i in range(len(X_test)): pred_label, dist model.predict(X_test[i]) if pred_label y_test[i]: correct 1 print(f識別準(zhǔn)確率: {correct / len(X_test) * 100:.2f}%) print(classification_report(y_test, [model.predict(x)[0] for x in X_test]))這里訓(xùn)練/測試劃分特意用了按人切分而不是全局隨機(jī)切分這是一個關(guān)鍵點如果你的測試集里混入了訓(xùn)練時見過的人準(zhǔn)確率會虛高。按人切分的邏輯是每個人至少保留 2 張作為測試訓(xùn)練和測試的身份完全隔離。ORL 數(shù)據(jù)集每人 10 張8 張訓(xùn)練 2 張測試n_components30 時準(zhǔn)確率通常在 95% 左右能跑到這個數(shù)字說明管線沒毛病。4. 參數(shù)怎么調(diào)n_components、距離閾值和數(shù)據(jù)集規(guī)模的影響4.1 n_components 與準(zhǔn)確率的關(guān)系曲線n_components 是 Eigenface 最敏感的超參數(shù)。設(shè)太小特征空間不能充分表達(dá)人臉差異設(shè)太大會把噪聲和光照變化也當(dāng)作區(qū)分特征且尾部特征臉對應(yīng)的小特征值方向含有大量噪聲。最穩(wěn)妥的做法是做一個 k 值掃描import matplotlib.pyplot as plt k_values [5, 10, 15, 20, 25, 30, 40, 50, 60, 80] accuracies [] for k in k_values: model EigenfaceRecognizer(n_componentsk) model.fit(X_train, y_train, name_map) acc np.mean([model.predict(x)[0] y_test[i] for i, x in enumerate(X_test)]) accuracies.append(acc) print(fk{k}, 準(zhǔn)確率{acc*100:.2f}%) # 畫曲線圖 plt.plot(k_values, accuracies, markero) plt.xlabel(n_components) plt.ylabel(Accuracy) plt.title(Accuracy vs Eigenface Components) plt.show()這段代碼跑出來通常是一條先快速上升、后平緩、最后輕微下降的曲線。ORL 數(shù)據(jù)集上 k25 到 k40 之間是平臺期超過 50 后準(zhǔn)確率不升反降。我在實際項目里一般這么定如果訓(xùn)練樣本總數(shù)是 Nn_components 取 N/3 到 N/2 之間然后在這個范圍內(nèi)做一次掃描取最優(yōu)。數(shù)據(jù)量小時比如每人只有 3 張k 取 10 就夠數(shù)據(jù)量大且光照復(fù)雜時k 取 60100 能捕捉更多變化但也更依賴訓(xùn)練數(shù)據(jù)的代表性。4.2 距離閾值識別和拒識之間的權(quán)衡識別不只是找到最近鄰還要決定“這個人到底在不在數(shù)據(jù)庫里”。如果任意測試臉都強(qiáng)行歸到某個訓(xùn)練樣本上陌生人也會被分配一個身份。解決辦法是設(shè)定距離上限THRESHOLD 2800 # 歐氏距離閾值需要根據(jù)訓(xùn)練集統(tǒng)計得出 def recognize_with_threshold(model, face, threshold2800): label, distance model.predict(face) if distance threshold: return label, distance, True # 識別成功 else: return None, distance, False # 拒絕識別 # 統(tǒng)計訓(xùn)練集自身的距離分布來確定閾值 train_distances [] for i in range(len(X_train)): _, d model.predict(X_train[i]) train_distances.append(d) train_distances np.array(train_distances) print(f訓(xùn)練集內(nèi)距離: 均值{train_distances.mean():.1f}, fstd{train_distances.std():.1f}, f99分位{np.percentile(train_distances, 99):.1f})閾值選多少屬于“血淚經(jīng)驗”。我一般用訓(xùn)練集內(nèi)所有樣本到自身類中心的距離統(tǒng)計取 p99 再乘 1.21.5 倍作為初始閾值然后在驗證集上做一次 ROC 曲線微調(diào)。閾值太嚴(yán)格會把帶眼鏡、光線變化的真人也拒掉太寬泛會讓陌生人混進(jìn)來。注意 Eigenface 的距離分布受圖像尺寸影響極大112×92 下 p99 大概兩三千改到 64×64 距離直接縮水一半所以換圖像尺寸后必須重新統(tǒng)計閾值不要沿用舊經(jīng)驗值。4.3 數(shù)據(jù)集規(guī)模與每人樣本數(shù)的下限Eigenface 本質(zhì)是一個線性模型隱含假設(shè)是“同一人的不同人臉圖像近似落在同一個低維子空間附近”。這個假設(shè)在每人樣本太少時根本不成立——如果每人只有 1 張訓(xùn)練圖PCA 學(xué)習(xí)不到類內(nèi)變化光照一變就翻車。我的經(jīng)驗是每人至少 35 張不同光照/表情的樣本總數(shù)最好在 100 張以上。當(dāng)你只能拿到每人一張圖時有兩個補(bǔ)救方向一是做數(shù)據(jù)增強(qiáng)水平翻轉(zhuǎn)、小幅旋轉(zhuǎn)、亮度抖動擴(kuò)充樣本二是改用基于特征點對齊的方法預(yù)處理把眼睛、嘴巴對齊到固定位置減小類內(nèi)差異。對齊這一步比換個降維算法更有效能直接影響識別率五到十個點。5. Eigenface 實戰(zhàn)避坑這五個問題我全踩過5.1 現(xiàn)象預(yù)測準(zhǔn)確率極低甚至只有 20%原因八成是數(shù)據(jù)沒有對齊。人臉圖像中眼睛的位置如果每張都不同PCA 會把“眼睛偏移”當(dāng)作最主要的區(qū)分特征而真正的身份差異反而被當(dāng)作噪聲丟掉了。解決在加載數(shù)據(jù)后做一次簡單的人眼對齊用 OpenCV 的級聯(lián)分類器檢測雙眼坐標(biāo)仿射變換把雙眼放到固定位置后統(tǒng)一 resize。這個預(yù)處理步驟比調(diào) n_components 提升大得多。檢測雙眼和仿射變換的核心代碼如下def align_face(img, left_eye, right_eye, output_size(112, 92)): # 計算旋轉(zhuǎn)角度和縮放 dx right_eye[0] - left_eye[0] dy right_eye[1] - left_eye[1] angle np.degrees(np.arctan2(dy, dx)) # 兩眼連線中心 center ((left_eye[0] right_eye[0]) // 2, (left_eye[1] right_eye[1]) // 2) eyes_distance np.sqrt(dx**2 dy**2) # 設(shè)定目標(biāo)兩眼距離統(tǒng)一縮放到固定尺寸 output_eyes_distance output_size[0] * 0.5 scale output_eyes_distance / eyes_distance M cv2.getRotationMatrix2D(center, angle, scale) aligned cv2.warpAffine(img, M, output_size, flagscv2.INTER_CUBIC) return aligned這句 M cv2.getRotationMatrix2D(center, angle, scale) 把旋轉(zhuǎn)和縮放合成在一個矩陣?yán)锉确謩e執(zhí)行兩次變換少一次插值誤差。eyes_distance 對這些浮點值敏感注意 dx 和 dy 已經(jīng)從相同的坐標(biāo)系中取得。5.2 現(xiàn)象n_components 取大了訓(xùn)練樣本的投影矩陣是奇異矩陣LinAlgError原因當(dāng) n_components 大于訓(xùn)練樣本數(shù) N 時協(xié)方差矩陣 XX? 是 N×N 的最多只有 N-1 個非零特征值因為去均值后樣本線性相關(guān)你不可能取到 N1 個獨立特征向量。解決n_components 必須小于或等于 N-1。我在 fit 函數(shù)里加了一個保護(hù)n_components min(self.n_components, centered.shape[0] - 1) self.n_components max(n_components, 1)加了這行就算有人在 n_components 傳了 500 也不會崩。另一個隱含風(fēng)險是如果有些人臉過于相似同一人的多張正臉特征值可能接近 0歸一化時除以零。穩(wěn)妥做法是設(shè)置一個極小值 epsilon 替代碼5.3 現(xiàn)象測試集準(zhǔn)確率高但實際攝像頭輸入識別失敗原因測試集和數(shù)據(jù)集的拍攝條件一致但攝像頭實時畫面有背景噪聲、不同亮度、臉部位置偏移。Eigenface 對光照極敏感因為 PCA 的前幾個主方向往往就是光照變化方向。解決實時識別前做直方圖均衡化和光照歸一化把圖像變換成標(biāo)準(zhǔn)光照下的形式def normalize_illumination(img): # 方法1: CLAHE 限制對比度的自適應(yīng)直方圖均衡化 clahe cv2.createCLAHE(clipLimit2.0, tileGridSize(8, 8)) img_norm clahe.apply(img) # 方法2: 減去高斯模糊后的低頻分量提取高頻細(xì)節(jié) blurred cv2.GaussianBlur(img_norm, (31, 31), 0) img_highfreq cv2.subtract(img_norm, blurred) return img_highfreq我做了對比實驗不做光照歸一化時攝像頭實測準(zhǔn)確率大概 70%做了 CLAHE 高頻增強(qiáng)同一模型跳到 85% 以上。但要注意訓(xùn)練時也應(yīng)用相同的預(yù)處理訓(xùn)練和推理必須走同一條預(yù)處理管線否則特征分布直接錯位。5.4 現(xiàn)象程序跑起來內(nèi)存耗盡進(jìn)程被殺d 維特征矩陣太大在圖像一維展開后d 可能有幾萬甚至幾十萬180×180 的灰度圖就是 32400 維。如果直接構(gòu)建 d×d 協(xié)方差矩陣就需要約 8GB 內(nèi)存。解決方式就是本章前面講的轉(zhuǎn)置技巧只構(gòu)建 N×N 矩陣。另一個變體是使用增量 PCAIncrementalPCA它允許把數(shù)據(jù)分塊送入適合內(nèi)存敏感的嵌入式環(huán)境from sklearn.decomposition import IncrementalPCA def train_incremental(faces, n_components30, batch_size10): ipca IncrementalPCA(n_componentsn_components, batch_sizebatch_size) ipca.partial_fit(faces) # 分塊擬合 return ipca # 用 sklearn 的 IncrementalPCA 配合 predict transformed_train ipca.transform(faces)但注意 IncrementalPCA 在每次 partial_fit 時內(nèi)部會維護(hù)一個協(xié)方差統(tǒng)計量批次太小時數(shù)值波動大batch_size 建議取 max(10, n_components*2)。5.5 現(xiàn)象識別時陌生人總是被錯誤分類為庫中的某個人且距離很小原因訓(xùn)練集的類內(nèi)距離比類間距離還大數(shù)據(jù)庫人太少或同一個人樣本差異太大導(dǎo)致陌生人的投影距離根本得不到一個合理的分布。解決不只設(shè)一個全局距離閾值而是每個身份單獨統(tǒng)計距離分布。某個人的訓(xùn)練樣本自身差異很大比如有戴眼鏡/不戴眼鏡他的閾值就該比其他人高def per_person_thresholds(model, X_train, y_train, scale1.5): thresholds {} for person in set(y_train): idxs np.where(y_train person)[0] dists [] for i in idxs: _, d model.predict(X_train[i]) dists.append(d) # 每個身份單獨閾值: 均值 scale * 標(biāo)準(zhǔn)差 thresholds[person] np.mean(dists) scale * np.std(dists) return thresholds識別時先找最近鄰再用該身份的專屬閾值拒識。這樣至少能讓對光照敏感的特定個體不再被陌生人“充當(dāng)”。另外增加訓(xùn)練人數(shù)也能整體改善子空間的區(qū)分度理想情況下訓(xùn)練庫至少在 20 人以上。6. 進(jìn)階從靜態(tài)圖片到實時視頻流以及如何驗證模型真的可靠6.1 用 OpenCV 跑實時攝像頭識別管線搭建與性能調(diào)優(yōu)從圖片識別升級到視頻流識別代碼只差一個視頻循環(huán)但有幾個細(xì)節(jié)直接影響體驗。攝像頭畫面里不會只有一個端正的正面臉你需要先做人臉檢測框截取人臉區(qū)域再送入 Eigenface 模型。我常用 OpenCV 的 DNN 人臉檢測器比 Haar 級聯(lián)更穩(wěn)import cv2 import numpy as np # 加載 Eigenface 模型 model EigenfaceRecognizer(n_components30) model.fit(X_train, y_train, name_map) # 加載人臉檢測器OpenCV DNN 或 Haar face_cascade cv2.CascadeClassifier( cv2.data.haarcascades haarcascade_frontalface_default.xml) cap cv2.VideoCapture(0) if not cap.isOpened(): raise IOError(無法打開攝像頭) frame_skip 0 while True: ret, frame cap.read() if not ret: break # 每隔兩幀做一次檢測降低 CPU 占用 gray cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) faces face_cascade.detectMultiScale(gray, scaleFactor1.1, minNeighbors5, minSize(60, 60)) for (x, y, w, h) in faces: # 擴(kuò)展檢測框避免裁到額頭邊緣 margin int(0.1 * w) x0, y0 max(0, x - margin), max(0, y - margin) x1, y1 min(frame.shape[1], x w margin), \ min(frame.shape[0], y h margin) face_roi gray[y0:y1, x0:x1] face_roi cv2.resize(face_roi, IMG_SIZE).flatten().astype(np.float32) # 預(yù)處理與識別 face_roi normalize_illumination(face_roi.reshape(IMG_SIZE)) face_roi face_roi.flatten() label, distance model.predict(face_roi) name model.name_map.get(label, unknown) # 根據(jù)閾值判斷是否顯示名字 if distance THRESHOLD: display_name f{name} ({distance:.0f}) else: display_name unknown cv2.rectangle(frame, (x, y), (x w, y h), (0, 255, 0), 2) cv2.putText(frame, display_name, (x, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 255, 0), 2) cv2.imshow(Eigenface Recognition, frame) if cv2.waitKey(1) 0xFF ord(q): break cap.release() cv2.destroyAllWindows()這個循環(huán)里我加了 frame_skip 的影影代碼邏輯思路但實際在代碼里是直接在 detectMultiScale 上控制每幀都檢測——如果你 CPU 吃緊可以改成只在偶數(shù)幀做檢測并復(fù)用上一幀的 bbox。margin 擴(kuò)展是血淚經(jīng)驗Haar 檢測框偏緊直接把框內(nèi)區(qū)域拿去 resize 會造成人臉被壓縮變形坐標(biāo)特征全被打亂。最后waitKey(1) 的 1ms 延遲控制視頻流幀率在識別循環(huán)里千萬別加 sleep 或改為 waitKey(0)否則畫面會卡成幻燈片。6.2 驗證可靠性ROC 曲線與誤識率測試在說“我這個模型靠譜”之前要有一套量化的驗證方法。最常用的是在一組已知身份 一組陌生人上做閾值掃描畫出 ROC 曲線找到等錯誤率點EER這個點上的閾值就是最佳閾值。# 假設(shè) gallery 是已知身份測試集probe 是陌生人測試集 def compute_roc(model, known_faces, known_labels, unknown_faces, name_map): import numpy as np # 計算已知身份的距離分布 known_dists [] for f, l in zip(known_faces, known_labels): # 這里先用最近鄰距離 _, d model.predict(f) known_dists.append(d) # 計算陌生人的距離分布 unknown_dists [] for f in unknown_faces: _, d model.predict(f) unknown_dists.append(d) threshold_range np.linspace( min(known_dists unknown_dists), max(known_dists unknown_dists), 200) fpr_list, tpr_list [], [] for th in threshold_range: # 已知身份: 距離小于閾值則通過 tpr np.mean([d th for d in known_dists]) # 陌生人: 距離小于閾值則被誤接受 fpr np.mean([d th for d in unknown_dists]) fpr_list.append(fpr) tpr_list.append(tpr) # EER: TPR 與 (1-FPR) 的交點 return fpr_list, tpr_list這里關(guān)鍵要理解Eigenface 模型本身沒有“分類器置信度”它只有距離。閾值的設(shè)定本質(zhì)是把距離映射成“接受/拒絕”。我在做門禁類項目時會要求 FPR 小于 1% 時的 TPR 不低于 95%如果達(dá)不到要么增加訓(xùn)練樣本每人張數(shù)要么放棄 Eigenface 改用帶特征點對齊的 LBPH 或深度學(xué)習(xí)模型。很多人以為 Eigenface 能通吃所有場景實際上它的適用邊界很清晰同人樣本變化小、照度可控、角度正臉時它是性價比之王一旦場景不可控就別硬扛了。6.3 一些讓項目更好用的工程細(xì)節(jié)到最后給出三個能立刻落地的技巧。第一保存與加載模型用 NumPy 的 .npz 格式一次性壓縮存取比 pickle 更跨版本穩(wěn)定np.savez(eigenface_model.npz, mean_facemodel.mean_face, eigenfacesmodel.eigenfaces, labelsmodel.labels, projectionsmodel.projections, name_mapnp.array(list(model.name_map.items()), dtypeobject)) # 模型加載 data np.load(eigenface_model.npz, allow_pickleTrue) new_model EigenfaceRecognizer(n_componentsdata[eigenfaces].shape[1]) new_model.mean_face data[mean_face] new_model.eigenfaces data[eigenfaces] new_model.labels data[labels] new_model.projections data[projections]這樣重建的模型不再需要重新訓(xùn)練predict 完全可用部署時只需要一個 npz 文件和 100 行 Python 代碼。第二做多輪隨機(jī)切分時固定隨機(jī)種子否則不同輪次的準(zhǔn)確率波動會讓你誤以為模型有問題。第三把訓(xùn)練輸出的特征臉可視化保存為圖片能一眼看出 PCA 學(xué)的是什么——如果前幾個特征臉是明顯的邊緣輪廓而不是光照梯度很可能預(yù)處理環(huán)節(jié)出了問題。我一直要求自己在給 Eigenface 項目收尾時至少回答三個問題數(shù)據(jù)庫里有沒有足夠大的身份差異測試場景的光照變化是否被預(yù)處理吸收了閾值是統(tǒng)計出來的還是拍腦袋定的這三個問題想清楚了這個 zip 里的代碼才能真正從“跑通 demo”變成“能交付的小系統(tǒng)”。這個方向值得投入的時間上限也就是一兩天——畢竟 Eigenface 作為經(jīng)典算法定位是理解原理、快速驗證和低算力兜底而不是跟深度學(xué)習(xí)搶精度。希望這些把代碼一行行講透的筆記能幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
2020久久婷婷五月| 五月婷婷免费在线视频| 伊人久久大香| 99色综合| 婷婷五月丁香六月| 婷婷噜噜| 色欲操| 99热66| 伍月婷丁香花全集| 婷婷综合网性| 九色亚洲| 狠狠干婷婷| 天天色色天天| 99热只有这里才是精品| 综合激情网五月激情| 五月婷婷综合在线亚洲视频| 亚洲激情在线| 婷婷激情小说| 97碰碰在线观看视频| 激情五月图| 1024在线观看免费视频| 日韩黄在免| 久99久99精品免| 婷婷成人在线| 久久激情视频| 色婷婷操逼| 婷婷丁香五月天综合在线日韩| 97人人操| 九九精品亚洲| 另类激情综合| 狠狠五月激情在线| 婷婷综合网| 91a片爽| 日韩999| 日日夜夜干| 五月永久激情| 思思热热久久| 九色色| 影音先锋色色色资源色资源色| 伊人超碰在线| 啪啪东京热| 日本精品人妻无码77777| 涩综合网| 五月停亭六月,六月停亭的英语 | 欧美日韩成人在线| 亚洲黄色影视| 九月色婷婷| 色开心五月丁香| 亚洲亚洲人成综合网络| 国产99久久久国产精品免费看 | 丁香啪啪| 在线看片h站| 日韩视频99| AV在线大香蕉| 九九碰九九爱97| 狠狠爱激情网| 丁香五月av| 激情六月丁香| www.超碰在线| 艹B高清无码| 激情久久久| 五月激情六月丁香| 人妻熟人中文字幕一区二区| 国产操B| 亚洲V国产V欧美V久久久久久| 97在线精品| 超碰日日操| 性爱视频99| 五月婷丁香亚洲| 婷婷激情综合无月| 五月婷婷开心爱| 国产夫妻操逼内射视频| 婷婷伊人久久综合| 五月丁香六月色| 色婷婷97| 欧美叉叉叉BBB网站| 五月婷婷激情| 9久热视频| 久久丁香网| 欧美精品狠狠色丁香婷婷| 亚洲字幕AV一区二区三区四区 | 色婷婷精品视频在线播放| 日本道久久91| 九九热中文| 五月停亭六月,六月停亭的英语| 色六月婷婷| 伊人五月婷婷| 五月丁香婷婷激情| 五月天丁香| 天天噜| 五月激情婷婷综合| 中文字幕乱码亚洲精品一区| 激情图片婷婷丁香五月| 色色综合日韩| 亚洲人成色A777777在线观看| AV成人在线播放| 五月天精品视频| 97九色视频| 色色色色网| 无码人妻AV久久久一区二区三区 | 九九超日本| 久久婷婷五月天蜜桃| 五月丁香婷婷啪啪| site:pnnrt.com| 人妻久热| 婷婷五月超碰| 天天操夜夜夜拍拍拍| 这里只有精品免费观看网占| 五月激情影视| 操碰久| 五月天激情综合在线| 婷婷久久五月天亚洲欧美国产日韩在线观看 | 久久与婷婷| 五月天激情婷婷小说| 色色AV色色色东莞| 激情五月婷婷综合| 久久婷网| 五月五婷婷| 久热91| 久久免费少妇高潮99精品| 综合久久久婷| 丁香婷婷伊人| 丁香五月成人| 色就是色婷婷五月亚洲激情| 秋霞AV淫| AV在线收看| 婷婷丁香高潮了| 五月丁香婷在线| 天天干天干| 天天做天天爱天天爽| 日本九九九九九九| 婷婷97狠狠干| 玖玖婷婷五月天| 888久久久| 九九视频精品在线免费| a久久| 久久综合五月| www.五月天激情| 九九99精品| 在线99精品| 九九热在线观看视频网站| 五丁香激情综合| 六月婷婷啪啪| 综合色网站| 亚洲中文乱字字幕线在永久| 日本人妻伦在线中文字幕| 亚洲视频操| 婷婷五月六月丁香综合| 婷婷六月香| 亚洲激情高潮| 成人无码精品1区2区3区免费看| 欧美色色色色色| 五月色色激情网| 少妇水多A片太爽了| 翔田千里 50岁 无码| 五月婷婷精品无在线| 99这里都是精品6| 搡BBBB搡BBB搡18| www.91.com处女在线直播| 91视频一起草| 91性高潮久久久久久久久| 超碰男人色| 综合日本婷婷| 超碰国产在线观看| 天堂久久精品| 激情AV| 九九热这里精品| 一起草性爱不卡视频| 国产精品视频网| 天天搞天天色综合| 91无码高清| 五月天激情小说欧美激情| 激情五月综合网丁| 美女天天爽| 久久久国产精品黄毛片| 六月婷婷九月丁香亚洲综合| www.91在线观看| 九九热re99re6在线精品| 夫妻超碰在线| 久久婷婷五月| 丁香五月婷婷激情中文| 九九爱激情| 五月丁香色婷| 色99www.| 91狠狠综合久久久| 欧州色色| 人妻久久久久| 色九九中文字幕| 六月丁香五月天| 国产免费一区二区三州老师F1F1……| 色欲天天综合网| 九九热a| 97碰碰碰免费公开在线视频| 九色PORNY自拍成人精彩视频| 久久99视频| 伊人啪啪网| 丁香婷婷偷拍| 青青草原伊人网| 久久久久久激情| 亚洲Va成人| 国产毛片精品一区二区色欲黄A片| 影音先锋 91工厂| www.超碰| 91要啪| 久久久久久久综合狠狠综合| 婷婷五月综合丁香久久| 亚洲色热| 中文av网站| 91在线日| 玖玖色综合色| 夜夜干夜夜操| 亚洲另类视频| 亚洲在线激情婷婷五月| 偷拍91九色| 9999三级片| 性 色 婷婷| 9|在线观看视频| www.99热在线观看| 夜夜综合色| 久久99久久99精品免观看粉嫩| 综合网色| 久久99网| 日本欧美国产| 99精品这里只有免费视频| 丁香五月天影院| 婷婷丁香久久| 婷婷五月天小说| 五婷婷六月合| 久久综合婷婷| 婷婷爱爱蜜臀天天操| AV九九| 天天爽天天摸| 五月夜丁香| 日韩色五月| 人人操婷婷| 久久婷婷91| 99热思思久| 99热很操老逼| 五月婷av| 色色五月天 亚洲| 夜夜骑夜夜撸| 人妻综合网| 亚城区在线| caopeng超碰| 六月婷欧美| 91麻豆国产三级精品福利在线观看| 99热久草| 激情丁香六月| 色婷婷免费观看| 色婷婷五月天成人网| 99亚洲精美视频在线观看| 俺去也婷婷| 五月婷婷五月丁香| 亚洲色欲AAAAAA| 99爱爱网| aa久久| 综合玖玖偷拍| 中文字幕精品在线观看| 99碰视频| 97人人看| 久久色在线视频| 五月丁香婷婷在线| 久久综合婷婷| 婷婷五月天.com| 六月婷婷天天操夜夜爽视频| 久热91| 91尤物九色在线| 一二区成人电影| 99re6在线视频精品免费| 色欲婷婷五月天丁香| 九六五月天婷婷| 久热这里有精品视频| 五月婷婷激情刺激| 五月丁香直播| 蜜乳中文字| 26uuu国产激情视频| 欧美五月丁香在线观看| 五月婷婷婷婷婷| 天天天摸夜夜夜玩| 色欲资源网| 五月开心激情网| 亚洲性爱区无码区| 六月色播| 五月婷婷丁香| 精品九九婷婷| 男女啪啪做爰高潮无遮挡| 色色a| 婷婷五月情| 五月丁香网站| 色综合网页| 久久久久久9热不雅视频| 婷婷丁香久久网| 婷婷色基地在线看 | 天天肏天天舔AV| 丁香婷婷五月激情四射网| 五月丁香综合精品欧美| 五月天婷婷色色网| 五月丁香性爱| 五月在线婷色| 五月开心色| 久久婷狠狠色| 五月丁香激情综合网| 国产成人精品一区二区三区视频| 伊人大蕉香| 欧美月久久| 五月丁香啪啪综合| 亚洲成人乱码av网站| 国产资源91在线| 99久在线精品99re8| 色五月中文网| 天天操夜夜操| 99色在线观看视频| 九九成人精品免费视频| 六月丁香激情网| 久久五月视频| 性爱七区| 亚洲、热| 久久久18| www.99riav99| 婷婷丁香高潮了| 五月婷婷香| 久久99热这里只频精品6学生| 香蕉综合网| 日本视频欧美观看免费| 夜夜操夜夜姧| 狠狠干五月天| 青青草婷婷五月天| 日本色频| PORNY九色9l自拍视频成人| 亚洲国产无线乱码在线观看| 性色婷婷| 久久久久人妻精品| 中文字幕91,综合| 五月婷婷色男女| 五月综合色| 亚洲天天操| 婷婷性爱综合| 欧美综合五月丁香五月天| 激情四射五月天| 九97免费视频| 99日本精品视频热| 综合五月丁香六月婷婷| 欧美在线| 日韩成人网站精品久久大全| 九月丁香婷婷| 伊人久久大香| 天天舔天天摸天天透| 26uuu成人网| 婷婷五月天午夜激情影院| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 久久婷婷五月激情网站| 精品久久人妻| 丁香五月天激情网址| 婷婷五月天激情诱惑| 国外亚洲成AV人片在线观看| www.激情在线| 天天综合网在线| 色九九九综合| 五月色色激情网| http:色情日本com| 色婷婷六月综合| 欧美成人日韩| 思思热99热| 成人无码髙潮喷水A片| 色愛综合网| 夜夜爱网站| 日操夜操天天操不卡| 久久五月丁香激情综合| 最近中文字幕在线中文视频| 丁香五月色色色色| 五月天婷婷成人网| 久久久五月激| 色色网站日本91| 狠狠人人| 亚洲三A| 欧美激情 日韩无码 婷婷 五月天| 欧美五月婷婷| 亚洲思思热久| 国产毛片精品一区二区色欲黄A片| 欧亚洲在线高清视频| 色色激情五月天| 操比激情五月| 婷久看人爽| 亚州美女| 五月激情小说网| 成人va在线| 激情综合丁香五月| www.丁香黄色五月天人与| 五月天伊人日日噜影片AV| 最近免费中文字幕大全高清大全1| www.99热最新视频8| 99在线热| 婷婷五月天无码熟女| 欧美性生交A片免费看| 超碰AAAAAAV| 这里只有精品96| 日本欧美国产| 综合久久五月天| 久久久中文| 婷婷99丁香| 9999三级片| 色婷婷色五月另类综合| 精品久9| 99精品网| 开心婷婷五月激情网小说| 亚洲操操| 婷婷五月天在线观看第二页| 操逼毛片国语对白| 黄桃AV无码免费一区二区三区| 爱婷婷五月| 色综合偷拍| 天天舔天天爽| 色情丁香五月天| 亚洲欧美成人在线观看| 亚洲成人网站在线观看| 狠狠干 狠狠操| AA片在线观看视频在线播放| 色综合丁香婷婷| 狠狠色五月激情| 香蕉曰比| 色婷婷导航| 夜夜夜夜操| 碰碰操91| 91 影音先锋| 丁香五月婷婷色播艳门照| 五月天激情网址| 另类视频五月天| www.亚洲激情| 就要去操亚洲成人精品五月天丁香婷婷| 丰满少妇猛烈A片免费看观看| 亚洲激情婷婷| 3p日韩网站视频| 亚洲无码成人网| 性做爰A片免费视频A片直播| 婷婷激情五月天小说校园| 97干欧美| 71在线精品视频一区| 国外亚洲成AV人片在线观看| 欧美综合五月丁香六月婷| 丁香六月婷婷缴情欧美| 欧洲色色| 特黄三级片| 激情五月丁香六月婷婷| 另类五月婷婷| 亚洲区,视频区,视频区免费| 日韩精品一区二区亚洲AV观看| 免费看欧美成人A片无码| 婷婷成人视频| 欧美色五月天| 五月天婷爱综合| 99re热视频这里只有综合亚洲| 色综合色综合色综合| 亚洲色啪| 五月丁香影视| www激情| 五月天成人综合| 色操b| 热无码A∨| 91九色国产在线| 久久青草国| 激情五月综合网丁| 懂色av粉嫩av蜜臀av| 日韩一级片| 97色在线| 五月天伊人网| 五月丁香综合在线| www99热| 五月丁香六月成人| 激情五月色婷婷| 色五月人妻| 99爱精品视频| 久久婷婷五月天亚洲欧美| 亚洲爱爱无码婷婷色五月| 狠狠五月激情在线| 九九热这里都是精品6| 九九色影院| 97人人操在线| 狼人婷婷综合| 婷婷伊人久久| 五月天婷婷一起草| 26uuuu精品一区二区| www.狠狠狠狠| 一本伊人色婷| 婷婷五月六月| 伊人超碰| 久久九九网| 亚洲色啪| 久久看九九90| 日韩无码乱轮| 日本三级日本三级三级人妇四虎| 色婷婷综合视频| www,8050,午夜三级| 婷婷大香蕉| 亚州激情网| 九九热只有这里是精品| 色婷婷影音| 99热这里只要精品免费| 婷婷久久精品| 激情五月天婷婷| 狠狠精品干练久久久无码中文字幕| 无码人妻少妇色欲AV一区二区| 日本不卡一区二区三区| 丁香av网| 久婷| 能看的AV网站| 九九热免费视频| 色噜噜婷婷| 成熟妇人A片免费看网站| 欧美婷婷色| 激情五月婷婷色色| 久久一级片| 五月激情综合网| 五月天婷婷自拍图片在线观看| 久久只这里有精品| av在线免费网站 | 超黄亚洲瑟瑟网站| 激情婷婷啪啪| 激情五月天影院| 天天揷综合网| 五月婷婷偷拍| 九九热区一区二区三区| 超碰在线免费9| AV人人操| 久久九九囯产| 亚洲色情免费网| 色狠狠色噜噜AV天堂五区消防| 色天堂在线| 国产偷人爽久久久久久老妇APP| 激情五月婷婷色色| 久久婷婷五月国产色综合激情| 婷婷丁香视频在线观看免费| 日本欧美成人片AAAA| 影音先锋美国A| 激情伊人网| www.25五月婷婷| 五月天亭亭俺也| 99网| 六月婷欧美丁香综合| 91干视频| 操日挥操日日| 国产精品色色| 婷婷精品在线| 天天日综合| 成人国产欧美大片一区| 爽极品色| 五月久视频| 91九色国产| 91欧美日韩| 99色在线观看免费| 极品另类| 五月丁香婷婷色播无码| 丁香花五月天| 日日操天天操| 伊人久久婷婷| 麻豆雪千夏| 久久久久久9热不雅视频| 日本的α片xxxwww| 五月婷婷激情日本| 日都一级A片| 97色色色色色色色色色色色色色| 亚州操人在线视频| 9操在线| 五月婷亚洲精品| 青青久在线视频免费观看| 丁香五月婷婷超碰在线| 婷婷亚洲综合| 91久久九色| 91wwmm导航| 91无码一区人妻A片蜜| 2015好吊操| 99ri在线观看视频| 久超超碰| 久久久.COM| 91热手机在线| 亚洲国产精品VA在线看黑人| 亚洲五月天色色| 久久婷婷五月综合伊人| 欧美三级韩国三级日本三斤| 久热2025无码| 色一情一乱一伦一区二区三区| 婷婷丁香色五月亚洲| 五月天久久婷婷| 五月婷啪啪| 在线观看中文字幕亚洲| 人伦30P| 偷拍91九色| 日韩在线观看亚洲| 中文无码婷婷| 轮奸综合网| 亚洲综合五月天婷婷丁香| 91狠狠综合久久久| 久热无码| 五月婷婷无码专区| 亚洲欧美日韩另类| 婷婷丁香五月天亚洲| 亚洲在线免费成人| 天天爽天天日天天舔| 新激情婷婷| 蜜桃婷婷丁香五月天狠狠久久综合| 综合网色| 色操b| 久久九九99.www| 激情婷婷五月亚洲| 天天日天天插| 初夜av| 亚洲欧美综合7777色亭亭| 婷婷丁香激情综合色情| 97欧美在线| 99亚州综合精品成人网| 色天天久婷婷| 色情五月| 天天爽天天日| 久久成人性爱| 婷婷丁香综合在线| 97碰在线视频| 久久九九99亚洲国产久精综合| 超碰69天堂| 婷婷五月天小说| 五月丁香啪啪网| 国产精品涩涩涩视频网站| 五月婷久久| 91N 一起草| 超碰超碰在线| 婷婷娱乐丁香综合网| 日韩三级视频一区二区| www.91色| 色婷婷六月激情| 9 1大香蕉| 99re思思久久| 天天操狠狠操| 色五月xxx| 国产女人十八水真多1| 综合色色网| 在线A色| 91九色成人原创视频| 丁香色色网| 五月丁香六月婷婷a v| 伊人大香蕉综合在线| 五月婷婷之综合激情| 色欲资源网| 五夜婷婷| 毛片蕉地一二| 久久人妻熟女一区二区| 99自拍视频网站| site:ornaments52.com| 综合久久综合| 婷婷欧美激情| 久操大香蕉| 丁香五月婷婷香| 五月丁香六月婷婷在线小说视频| 综合性爱网| 2025超碰| 丁香五月激情婷婷| 丁香色综合| 色在线视频网2025| 俺去也在线官网| 狠狠干综合| 午夜日日| 2005天天干天天1| 亚洲精品字幕| 任你爽视频| 91色噜噜狠狠狠狠色综合| 五月丁香花婷婷玉莉AV| 婷婷五月深情丁香深爱日韩| 7777精品伊人久久久大香线蕉最新版| 五月成人丁香av91| 黄桃AV无码免费一区二区三区 | 欧美性做爰大片免费看办公室 | 色你久久| 无码动漫av| 亚洲另类在线观看| 激情婷婷久久| 色综合狠狠色| 在线超碰91| 欧美搡BBBBB摔BBBBB| 天天色色天天| 婷婷六月久久综合导航| 久久精品视频99| WWW,五月| 大香蕉婷婷色| 久热大香蕉| 婷婷五月丁香久久| AV在线免费播放| 欧美综合123区| 亚洲性视频| 99色色| 婷婷五月天影视首页| 五月丁香六月婷婷中文版| 激情五月图| 国产色丁香| 五月天婷婷日日爱| 丁香六月中文| 天天成人丁香美女AV| 桔色成人官方网站| 亚洲bt丁香五月天婷婷激情小说| 五月天激情社区| 亚洲经典小视频| 伊人丁香五月| 五月婷婷啪啪网| 在线可以看的av网址| 国产日日操夜夜操的肉棒视频| 精品色色网| 久久aaaa片一区二区| 色色综合网络| 射区导航| 激情四射网| 色五月天在线观看| 国产看真人毛片爱做A片| 超级碰碰97在线| 中文字幕不卡网站| 人人操人人干AV| 97人人操在线| 天天综合天天做天天综合| 日逼免费视频| 操一操干一干| 人妻久久久久久久| 色综合久久久无码中文字幕999| 99色在线观看视频者| 亚洲第一av| 免费黄色AV| 亚洲激情 久久| 五月开心深深爱激情综合| 播五月开心婷婷欧美综合| 久久99精品视频| 丁香五月六月综合激情| 久久丁香综合香蕉| 国产熟女大叫受不了| 欧美va亚洲va| 天天激情| 五月天综合网| 色五月综合97| 天天色爽| 五月丁香亭亭操逼| 五月J香蕉婷婷| 久久婷婷五月天激情四射| 涩综合在线 | 丁香五月激情啪| 五月色情| 久久久8| 亚洲久久婷婷| 大香蕉五月丁香| 成人婷婷色综合| 啊v视频在线观看| 日日夜夜天天爽| 色吧五月婷婷| 97超碰欧美中文字幕| 色丁香五月婷婷婷| 亚洲无码99| 欧美叉叉叉BBB网站| 色五月天丁香婷婷| 五月天伊人手机在线播放AV| 日本一级一级一级一级| 激情五月婷婷她| 另类图片五月天婷婷| 丁香五月天在线观看| 天天日日夜夜| 超碰9| 亚洲第一色区| 思思久久99热只有频精品66| 91超碰九色| 婷婷五月视屏| 在线播放人妻| 包操45分钟网站| 色热久| 亚洲视频久久| 丁香五月天av| 激情小说五月天| 九九激情综合| 亚洲免费av在线| 色综合五月| 97婷婷丁香五月| 色播五月天激情| 91人人爱| 天天久久综合| 男女啪啪做爰高潮无遮挡| 天天色99| 色综合色| 99少妇精品| 丁香五月激情在线| 雪千夏麻豆| AV国产有码| 亚洲精品又粗又大又爽A片| 青草青草久热这里只有精品| 色综合久久88色综合天天99| 偷拍91九色| 五月天色婷婷基地| 天天射天天插天天干| 久久五月丁香伊人青草| 婷婷网五月天| 丁香婷婷六月婷婷六月婷婷六月婷婷| 九色视频91| 五月天婷婷社区久久综合| 色 色 色综合com| 九九在线91| 婷婷播5月| 天天综合色99| 综合在线色婷婷| 婷婷激情五月天小说| 亚洲色欲AAAAAA| 99热免费| 怡红院院久久| A片天天| 五月天激情无码| 性爱激情小说AV五月丁香花| 殴美日韩成人| 丁香五月综合婷婷| 狠狠草在线观看| 九九热中文| 五月激情婷婷在线| 五月婷婷五月天激情视频| 日本天天色| 婷婷色丁香五月| 激情综合文学| 色婷婷五月天在线观看| av在线中文| 狠狠穞A片一區二區三區| 伊人丁香六月婷婷| 深夜婷婷 丁香| 五月丁香婷婷六月| 中文字幕激情综合| 五月综合无码| 一级二级香港秋霞欧美欧美秋霞| 99热插| 五月婷婷综合在线| 婷婷五月天电影网| 色五月成人婷婷| 九九综合网| 欧美色五月| 婷婷五月六月丁香综合| 另类图片色五月| 丁香色婷婷色手机免费在线| 91九色中文字幕女在线观看| 色激情综合狠狠婷婷| 日韩在线视频9色| 夜夜谢天天干| 亭亭丁香aV| 天天视频精品9| 在线视频另类| 天天开心AV色综合婷婷五月天| 香蕉中文在线| 激情综合网五月天| 天天爽天天摸| 99热国产精品| 丁香五月天大香蕉啪啪| 人人妻人人澡| 人妻操操色| 五月婷婷偷拍| 狠狠干最新地址| 婷婷五月天堂| www.ppypp| 涩五月婷婷| 五月激情综合婷婷| 亚洲色热| 五月天婷婷色播在线网| 婷婷97碰碰| 伊人久久丁香狠狠婷婷综合香蕉| AV操逼网| 色色COm| 9久热在线视频精品| 国产午夜精品AV一区二区麻豆| 久久99激情| 噜噜色婷婷| 激情婷婷五月天在线观看| 天天摸天天舔在线视频| 无码髙清| 91亚洲免费片| 丁香五月婷婷香| 大伊香蕉精品视频在线| 啊v视频在线观看| 91性高潮久久久久久久久| 夜夜撸日日操| 婷婷色色欧美| 久狠日av| 久久思思热视频| er99免费视频在线| 色插综合网| 色七色九九| 丁香婷婷六月激情文学| 97操操操| 婷婷久久大香蕉| 天天综合网91| 啪啪综合| 96丁香六月婷婷蜜桃综合久久| 97热在线精品| 五月天久久www| 欧美在线看| 色碰碰| 91一起艹| 色婷婷黄色网络| 久色视频在线| 爱爱色五月天| 99热久只有| 五月天婷婷爱丁香中文字幕| 色婷婷五月天天天做| 六月婷婷日| 欧美熟女乱又伦| 久草xx性爱视频| 天天摸人人摸| 26UUU精品一区二区| 播五月开心婷婷欧美综合| 色爱综合网| 久久99久久99精品免视看婷| 成人av免费观看| 丁香五月天激情综合| 五月天婷婷成人网| 久久久久久五月天| 欧洲区自拍| 欧美在线看| av大香蕉| www.五月天性.com| 国语精品探花| 中文在线成人| 99热最新| 久久AAAA片一区二区| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 精品人妻久久久| 99热在线免费| 丝袜激情网| 色99在线| 久久44| 91丨九色丨熟女丰满| 丁香五月天导航| 99热这里精| 国产va视频| 九九热免费| 亚洲亚洲人成综合网络| 久久五月情| 91蜜桃婷婷狠狠久久综合9色| 久久er+| 久久九九免费视频| 亚洲免费婷婷| 色天使色综合| 激情五月丁香五月| 思思热再线视频| 色丁香五月| 天天插天天插| 99热久97| 日本va网站| 狠狠狠色激情综合适合| 婷婷中文字幕| 五月婷婷先锋| 在线观看熟女少妇| 六月丁香久久| 久久婷婷亚洲| 91操屁股| 深爱激情五月天色婷婷| 天天舔天天摸| 欧美顶级少妇做爰HD| 91疯狂操操操操| 日 日干 日日做| 99热这里都是精品| 四川BBB搡BBB搡多人乱亂| 4399欧美另类视频| 538久久| 一起草Av| 国产黄色大片| 亚洲俩性性爱图片久久第六页| 99精品视频免费观看| 五月激情小说| 色婷婷av在线| 五月天啪啪| 国产毛片欧美毛片久久久| 91久久久久久久91| 欧美亚洲婷婷五月| 日日干天天爽| 日韩另类在线观看| 五月激情综合深爱| 国产一级片| 色玖玖综合网| 免费不卡狠操美女视频网| 欧美精品XXXXBBBB| 色综合色五月| 操骚货在线| 大操人妻| 色婷婷综合中心| 天天色色天天| 999激情视频| 色五月婷婷色五月婷婷色五月婷婷| 丰满老熟妇BBBBB搡BBB| 婷婷五月电影院| 久久久噜噜噜久久人妻| 99福利视频导航| 五月激情另类| 综合激情视频| 丁香婷婷色| 欧美性丁香色色五月天干干| 操逼电影免费看| 5月婷婷六月丁香| 玖玖婷婷五月天| 欧美激情综合| 色五月综合网| 99久在线观看| www.婷婷,com| 一级二级色大片| 色色亚洲视频| 综合色婷婷| 狠狠高潮精品亚洲1| 久久精99| 99av视频| 成片免费观看大全| 精品五月天| 9久热在线视频| 337午夜福利| 亚洲AV成人精品网站在线播放| 久久成人综合五月天| 国产美女无遮挡裸体毛片A片| 激情综合网络插| 日本综合色图| 99热这里只有精品亚洲| 国内外色色色色色成人视频| 人人操Av| 国产69精品久久久久999小说| 丁香激情合作五月| 超碰日韩成人| 丁香色情五月综合网站| 99久久超级| 中文字幕乱轮| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 五月天综合区| 丁香五月婷婷啪啪视频| 婷婷色爱| enecarbon-materials.com污K127封锁请涟系@wip1688 | 精品九九久久| 九九99精品视频在线观看| 欧美性交一区二区三区| 久青操| 丁香五月激情婷婷视频| 久久丁香五月婷婷| 婷婷六月久久| 丁香久久激情俄| 精品女人九九九| 九月丁香婷婷| 亚洲乱码日产精品BD| 欧美成人精品老美女噜噜噜| WWW久| 人妻操逼视频| 五月婷婷成人w| 99操不停| 中文字幕婷婷| ji'qing'luan'ren'lun| 亚洲AV日韩在线观看| 夜夜撸夜夜骑| 青青草原中文字幕| 五月婷婷色在线| 久久99精品久久久久久三级| 婷婷九月丁香| 色狠狠色噜噜AV天堂五区| 这里只有久久精99| 中文无码婷婷| 色婷婷丁香花五月天| 天天爽天天干| 日日夜夜狠狠婷婷色| 蜜乳久AV| 开心五月婷婷| 狠狠狠狠免费| 婷婷五月天毛片| 天天草天天爽| 深爱五月网| 亚州精品色情无码A片| 一本色道久久88加勒比| 狠狠色大香蕉| 91视屏在线观看com.wwwvv| 激情婷婷综合网| 久久久97| 五月丁香色六月激情干大屄| 九九無碼| 91热久| 久热这里| 久久一热| A一级操| 丁香五月色网| 尤物一区二区| 九九五月天| 激情性五月天免费小说视频| www色色色com| 91精品国产综合久久蜜芽解析速度| 五月丁香网站| 99精品网| 日逼免费视频 | 99热视精品| 欧美A级网站| 丁香激情五月少妇| 色135综合网| 狠狠操综合| 欧洲亚洲精品| 五月丁综合在线观看| 99日本在线| 91碰碰碰久久久久| 五月婷婷六月色| 久久五月网| 99热国产在线| 久久人妻乱子伦| 亚洲综合视频在线| www.爱婷婷.com| 免费黄网不卡AV| 色五月播五月| 九九热10| 看久久性爱99视频| www.久久五月天.com| 色99在线| 婷婷激情人妻| 婷婷五月天丁香久久| 天久综合91综合首页| 玖玖在线视频| 久久这里只有精品8| 久久性刺激| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 日本天堂免费99| 精品五月花| 九七色色六月丁香| 性做久久久久久久免费看| 婷婷五月天久久久| 亚洲99在线| 婷婷社区五月天| 婷婷六月激情综合| 97韩国久久电影院| 97色伦另类图片小说视频 | 激情欧美五月丁香| 一级二级香港秋霞欧美欧美秋霞| 678五月丁香亚洲综合| 日韩无码一区二区三区四区| 色五月天影视| 全亚洲最大的婷婷五月天网站COM 丁香五月婷婷狠狠色 | 激情婷婷内射| 五月丁香美女| 丁香五月婷婷久久久| 色情五月天视频网| 亚洲一个色| 亚洲人成网亚洲欧洲无码久久| 99久久九九| 综合激情伊人影视在线| www.激情五月天。com| 日本综合久| 99色在线观看免费| 激情综合综合综合| 亚洲熟妇AV综合网五月丁香伊人| 天天日天天干天天爱| 激情精品久久| 激情WWW| 久久欧洲综合网| 五月婷婷丁香在线| 五月激情综合深爱| 亚洲精品V天堂中文字幕| 久久婷婷视频| 操91| 99视频内射三四| 精品亚洲国产成AV人片传媒| yazhoujiqingav| 亚洲天堂青草| 97碰碰碰| 99熟女视频| 久久精品爱爱| 97婷婷丁香五月天激情图片| www,婷婷五月天,com| xxx.色婷婷| 婷婷久久综| 99亚洲视频| 大战熟女丰满人妻AV| 亚洲AV成人精品网站在线播放| 日韩激情网站| 天天噜日日噜综合无码| 影音先锋xfplay资源男人网| 婷婷五月天99| 精品久久人妻| 九九这里都是精品| 成人无码髙潮喷水A片| 人人操婷婷| 91久久精品无码一区二区三区| 天天搞夜夜爽夜夜爽| 色五月婷婷大| 婷婷五月色| 日本丁香五月| 97人人干视频| 丁香婷婷五月综合影院| 久热2025无码| 丁香六月婷婷综合啪啪| 中文在线成人| 婷婷五月成人| 碰碰碰97免费精彩视频| 九九综合九九| 99久久精品网| 九九精品综合| 免费观看全黄做爰的视频| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 天天操中文字幕| 丁香五月AV| 亚洲av网址| 97五月天婷婷午夜| 99乱视频| 99热精品在线播放| 婷婷伊人五月丁香天堂网| www.xtbsty.cn.com蜜乳AV| 深爱1激情网| 这里只有精品视频99| 狠狠色综合图片| 五月丁香六月激情综合网| 在线可以看的av网址| 综合网亚洲| 91jiuseshunv| 丁香五月成人论坛| 久碰婷婷视频| 五月丁香久久久| 久久九九99| 看片视频在线免费日产在线看| 热久久这里只有精品| 99在线视频免费| 九热视频这里只有精品| 五月激情偷拍| 性爱人人网| 久久九九大香蕉电院| 五月丁香六月婷婷网| 四色五月视频| 热99只有精品| 激情六月婷婷| 婷婷色中文| www,av好吊操| 中字幕视频在线永久在线观看免费| 五月天婷婷爱| 色停停五月天| 欧美性猛交99久久久久99按摩| 91在线日| 国产精品美女| 夜色爱爱亚洲| 啪啪啪五月天| 五月天婷婷基地| www.婷婷亚洲基地| 操操操Av| 99情色五月天| 色色网站免费观看| 日本精品久久久久中文字幕| 婷综合| 五月天伊人久久久久| 香蕉色色网| 五月丁香做爱视频| 无码少妇高潮喷水A片免费| 99热这里只有99| 成人看片网站| 丁香蜜臀黄色婷婷五月天| 操一操干一干| 激情色情五月天| 五月婷婷开心丁香| 国产精产国品一二三在观看| 久久婷婷五月国产激情综合片| 精品成人久久久久久久_一二三四视| 六月丁香天堂| 丁香色五月天| 日本全黄一级999| 激情五月综合网最新 | 26uuu日韩| 九九av| 综合色色色| AV大香蕉| 婷婷五月婷婷| 丁香婷婷人妻| 人人草人人爱| 婷婷八月激情| 91日韩在线| 综合亚洲五月天| 成人精品一区日本无码网| 婷婷综合五月天激情| 国产精品久久久久久久久久 | 婷婷五月天久久久| 噜综合| 欧美叉叉叉BBB网站| 激情www.98com| www,setingting|