久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

GMM-UBM與i-vector聲紋識(shí)別原理及Python實(shí)現(xiàn)

GMM-UBM與i-vector聲紋識(shí)別原理及Python實(shí)現(xiàn) 簡(jiǎn)介本資源是一套完整的基于Python的說(shuō)話人識(shí)別聲紋識(shí)別實(shí)踐項(xiàng)目面向人工智能、語(yǔ)音信號(hào)處理方向的本科生與初學(xué)者覆蓋傳統(tǒng)統(tǒng)計(jì)建模與深度學(xué)習(xí)兩大技術(shù)路徑適用于畢業(yè)設(shè)計(jì)、課程設(shè)計(jì)及期末大作業(yè)等高分場(chǎng)景。包內(nèi)共20個(gè)文件含15個(gè)帶詳細(xì)注釋的Python源碼涵蓋GMM、GMM-UBM、ivector提取及自注意力機(jī)制的深度聲紋模型、1個(gè)Jupyter Notebookself-attention_speaker_rec.ipynb用于可視化訓(xùn)練與推理、1個(gè)README.md文檔說(shuō)明整體架構(gòu)與部署流程、1個(gè)SQLite數(shù)據(jù)庫(kù)存儲(chǔ)特征樣本、1個(gè)JSON配置文件及1個(gè)Markdown格式說(shuō)明總大小僅146KB輕量易部署。目前已有212人學(xué)習(xí)下載。項(xiàng)目為作者手打完成代碼邏輯清晰、模塊劃分合理如scripts/、GMM/、self-attention/等目錄結(jié)構(gòu)明確附有完整環(huán)境配置與運(yùn)行指引新手可快速?gòu)?fù)現(xiàn)核心算法并理解聲紋識(shí)別從特征提取到嵌入表示的全流程。1. 聲紋識(shí)別不是“聽(tīng)音辨人”的玄學(xué)GMM-UBM 和 i-vector 是怎么把一段語(yǔ)音變成可比對(duì)的固定長(zhǎng)度向量的很多人第一次接觸“基于 Python 的說(shuō)話人識(shí)別”以為就是錄兩段話、用 librosa 提取個(gè) MFCC再丟進(jìn) sklearn 的 KMeans 里聚個(gè)類——結(jié)果發(fā)現(xiàn)同一人不同時(shí)間說(shuō)的“你好”在特征空間里相距甚遠(yuǎn)而兩個(gè)聲線接近的陌生人反而被分到同一簇。這不是模型不行是根本沒(méi)踩對(duì)聲紋識(shí)別的底層邏輯說(shuō)話人信息不是藏在原始波形或短時(shí)頻譜里而是隱含在聲學(xué)特征統(tǒng)計(jì)分布的偏移中。GMM-UBM 構(gòu)建一個(gè)通用聲學(xué)背景模型Universal Background Model再用 EM 算法將每段語(yǔ)音適配出專屬 GMMi-vector 則把這種適配過(guò)程壓縮成一個(gè)低維、稠密、具有判別性的固定長(zhǎng)度向量通常 200–600 維。它不依賴語(yǔ)音內(nèi)容也不需要對(duì)齊文本真正實(shí)現(xiàn)了“只聽(tīng)聲音、不聽(tīng)內(nèi)容”的身份建模。本方案覆蓋從傳統(tǒng)統(tǒng)計(jì)建模GMM/GMM-UBM/i-vector到端到端深度學(xué)習(xí)x-vector、ECAPA-TDNN的完整技術(shù)棧所有代碼均基于 Python 3.8、NumPy、Scikit-learn、PyTorch 實(shí)現(xiàn)無(wú)需 GPU 也可跑通 GMM-UBM 流程適合高校課程實(shí)驗(yàn)、安防系統(tǒng)原型驗(yàn)證、智能硬件聲紋模塊預(yù)研等真實(shí)落地場(chǎng)景。2. 從零構(gòu)建 GMM-UBM為什么必須先訓(xùn)一個(gè)“萬(wàn)人共用”的背景模型GMM-UBM 不是直接拿目標(biāo)說(shuō)話人數(shù)據(jù)訓(xùn)練 GMM而是先用海量無(wú)關(guān)語(yǔ)音如 TIMIT、VoxCeleb 的非目標(biāo)說(shuō)話人語(yǔ)音訓(xùn)練一個(gè)通用背景模型UBM再用目標(biāo)語(yǔ)音通過(guò)最大后驗(yàn)MAP自適應(yīng)更新該 UBM 的均值參數(shù)得到個(gè)性化 GMM。這個(gè)“先建通用底座、再微調(diào)專屬模型”的設(shè)計(jì)解決了小樣本下 GMM 過(guò)擬合問(wèn)題也使不同說(shuō)話人的 GMM 可在同一參數(shù)空間內(nèi)比較。UBM 的質(zhì)量直接決定后續(xù) i-vector 提取的上限——UBM 越魯棒MAP 自適應(yīng)越穩(wěn)定i-vector 的類內(nèi)緊湊性和類間可分性就越強(qiáng)。2.1 特征提取MFCC Delta Delta-Delta 是聲紋建模的黃金三元組聲紋識(shí)別對(duì)時(shí)序動(dòng)態(tài)特性極其敏感。僅用靜態(tài) MFCC12 維會(huì)丟失語(yǔ)速、發(fā)音節(jié)奏等關(guān)鍵判別信息。必須疊加一階差分Delta和二階差分Delta-Delta構(gòu)成 39 維特征向量1212123含能量項(xiàng)。注意不能直接用 librosa.feature.mfcc() 默認(rèn)輸出它默認(rèn)不包含能量項(xiàng)且 Delta 計(jì)算方式與 Kaldi 不一致會(huì)導(dǎo)致后續(xù) UBM 訓(xùn)練發(fā)散。import numpy as np import librosa from python_speech_features import mfcc, delta def extract_mfcc_39(y, sr16000, n_mfcc12): # 使用 python_speech_features兼容 Kaldi 風(fēng)格 mfcc_feat mfcc(y, sampleratesr, numcepn_mfcc, nfilt26, nfft512, preemph0.97, appendEnergyTrue) # 必須開(kāi)啟 appendEnergy d_mfcc delta(mfcc_feat, N2) dd_mfcc delta(d_mfcc, N2) return np.hstack([mfcc_feat, d_mfcc, dd_mfcc]) # shape: (T, 39) # 示例讀取一段 3 秒語(yǔ)音并提取 y, sr librosa.load(speaker_a_01.wav, sr16000) feats extract_mfcc_39(y) # feats.shape (約 300, 39)提示python_speech_features庫(kù)比librosa.mfcc更貼近 Kaldi 的實(shí)現(xiàn)細(xì)節(jié)尤其在預(yù)加重系數(shù)0.97、濾波器組數(shù)26、能量項(xiàng)處理上嚴(yán)格對(duì)齊。若用 librosa需手動(dòng)補(bǔ)全能量項(xiàng)并重寫 Delta 計(jì)算邏輯否則 UBM 協(xié)方差矩陣易出現(xiàn)奇異。2.2 UBM 訓(xùn)練用海量語(yǔ)音擬合一個(gè) 512 或 1024 混合度的高斯混合模型UBM 的混合組件數(shù)n_components是核心超參。太小如 64無(wú)法刻畫聲學(xué)多樣性導(dǎo)致 MAP 自適應(yīng)時(shí)均值偏移劇烈、不穩(wěn)定太大如 2048則需更多數(shù)據(jù)支撐且推理耗時(shí)劇增。實(shí)測(cè)在 VoxCeleb1 子集約 100 小時(shí)語(yǔ)音上512 組件 UBM 在 EER等錯(cuò)誤率和訓(xùn)練速度間取得最佳平衡。訓(xùn)練需迭代 10–15 輪 EM每輪重新計(jì)算后驗(yàn)概率與充分統(tǒng)計(jì)量。from sklearn.mixture import GaussianMixture import joblib def train_ubm(all_feats, n_components512, max_iter12, random_state42): all_feats: list of np.ndarray, each shape (T_i, 39), total frames 1e6 recommended # 合并所有幀非拼接語(yǔ)音是垂直堆疊所有幀向量 stacked np.vstack(all_feats) # shape: (N_total_frames, 39) # 初始化 GMM協(xié)方差類型必須為 full聲紋建模要求各維度相關(guān)性建模 ubm GaussianMixture( n_componentsn_components, covariance_typefull, max_itermax_iter, random_staterandom_state, verbose2, tol1e-4 ) ubm.fit(stacked) # 保存模型含權(quán)重、均值、協(xié)方差 joblib.dump(ubm, ubm_512.gmm) return ubm # 假設(shè)已加載 200 個(gè)說(shuō)話人的 MFCC 特征每個(gè)約 5000 幀 ubm_model train_ubm(all_training_feats, n_components512)參數(shù)說(shuō)明covariance_typefull聲紋特征各維高度相關(guān)對(duì)角協(xié)方差diag會(huì)嚴(yán)重?fù)p失判別力tol1e-4EM 收斂閾值需比默認(rèn)更嚴(yán)避免早停導(dǎo)致 UBM 泛化性不足verbose2實(shí)時(shí)監(jiān)控每輪 log-likelihood 增長(zhǎng)若連續(xù) 2 輪增長(zhǎng) 0.01說(shuō)明數(shù)據(jù)量已達(dá)瓶頸應(yīng)停止增加max_iter。3. i-vector 提取如何把一個(gè) GMM 的 MAP 自適應(yīng)結(jié)果壓縮成 400 維向量i-vector 并非直接取 GMM 的均值向量那仍是 512×39 維而是將 MAP 自適應(yīng)后的均值偏移Δμ視為一個(gè)線性空間中的點(diǎn)用因子分析Factor Analysis將其投影到低維子空間。核心是求解一個(gè)Total Variability Matrix T通常 39×400使得 Δμ ≈ T·w其中 w 即為 i-vector。T 矩陣通過(guò)在 UBM 上對(duì)大量說(shuō)話人語(yǔ)音做 MAP 自適應(yīng)收集所有 Δμ再用 EM 算法估計(jì)得到。整個(gè)流程可拆解為① 對(duì)每段語(yǔ)音用 UBM 做 MAP 自適應(yīng) → 得到新均值 μ_adapt② 計(jì)算 Δμ μ_adapt ? μ_ubm③ 將所有 Δμ 堆疊用 FA 擬合 T 矩陣④ 對(duì)新語(yǔ)音先得 Δμ再用 T 的偽逆求 w (T?T)?1T?Δμ。3.1 MAP 自適應(yīng)用目標(biāo)語(yǔ)音“微調(diào)”UBM 均值保留其他參數(shù)不變MAP 自適應(yīng)只更新 UBM 的均值向量協(xié)方差與權(quán)重保持不變。其本質(zhì)是貝葉斯估計(jì)UBM 均值是先驗(yàn)?zāi)繕?biāo)語(yǔ)音的 MFCC 幀是似然MAP 結(jié)果是后驗(yàn)均值。平滑系數(shù)α控制先驗(yàn)強(qiáng)度——α 越大越相信 UBM 先驗(yàn)自適應(yīng)越保守α 越小越相信目標(biāo)語(yǔ)音數(shù)據(jù)但易過(guò)擬合。經(jīng)驗(yàn)公式α N / (N τ)其中 N 是目標(biāo)語(yǔ)音總幀數(shù)τ 是“等效先驗(yàn)幀數(shù)”通常設(shè)為 500–1000。def map_adaptation(ubm, feats, tau600): ubm: trained GaussianMixture object feats: (T, 39) MFCCDeltaDelta-Delta features Returns: adapted_means (n_components, 39) n_comp ubm.n_components dim feats.shape[1] # Step 1: E-step — 計(jì)算每幀對(duì)每個(gè)高斯成分的后驗(yàn)概率 log_resp ubm._e_step(feats) # shape: (T, n_comp) resp np.exp(log_resp - log_resp.max(axis1, keepdimsTrue)) # 防溢出 resp / resp.sum(axis1, keepdimsTrue) # Step 2: 計(jì)算充分統(tǒng)計(jì)量 N_k resp.sum(axis0) # 每個(gè)成分的軟計(jì)數(shù) F_k np.dot(resp.T, feats) # (n_comp, 39) # Step 3: MAP 更新均值協(xié)方差 權(quán)重不變 alpha N_k / (N_k tau) # per-component alpha adapted_means alpha[:, None] * F_k / N_k[:, None] \ (1 - alpha[:, None]) * ubm.means_ return adapted_means # 對(duì)單個(gè)說(shuō)話人的一段語(yǔ)音做 MAP adapted_means map_adaptation(ubm_model, feats_segment) delta_mu adapted_means - ubm_model.means_ # shape: (512, 39)邏輯說(shuō)明ubm._e_step()是 sklearn 內(nèi)部方法直接復(fù)用 UBM 的協(xié)方差與權(quán)重計(jì)算后驗(yàn)避免重復(fù)實(shí)現(xiàn)。alpha按成分獨(dú)立計(jì)算因不同成分在目標(biāo)語(yǔ)音中激活程度不同統(tǒng)一 α 會(huì)削弱判別性。3.2 Total Variability 矩陣 T 的估計(jì)用 EM 算法擬合因子分析模型T 矩陣的估計(jì)是 i-vector 流程中最耗時(shí)的環(huán)節(jié)需在數(shù)百個(gè)說(shuō)話人、每個(gè)說(shuō)話人多段語(yǔ)音上做 MAP 自適應(yīng)收集所有 Δμ再用 EM 迭代估計(jì) T 和噪聲協(xié)方差 Ψ。Kaldi 中使用ivector-extract工具我們用 NumPy 手動(dòng)實(shí)現(xiàn)核心步驟def estimate_t_matrix(delta_mus, t_dim400, max_iter10): delta_mus: list of (n_comp, 39) arrays, total 1000 speakers recommended Returns: T (39, t_dim), Psi (39, 39) diagonal matrix # Flatten all delta_mu into matrix D: (total_frames, 39) D_list [] for dm in delta_mus: D_list.append(dm.reshape(-1, 39)) # (512*39) - not correct! Wait. # Correction: Each delta_mu is (512, 39). We treat each row as a sample. # So total samples sum(len(dm) for dm in delta_mus) sum(512 for each speaker) 512 * N_speakers D np.vstack([dm for dm in delta_mus]) # shape: (512 * N, 39) n_samples, dim D.shape T np.random.normal(0, 0.1, (dim, t_dim)) Psi np.diag(np.var(D, axis0)) # initial diagonal noise for it in range(max_iter): # E-step: compute posterior w given current T, Psi inv_Psi np.linalg.inv(Psi) Tt_Psi_inv_T T.T inv_Psi T # For each sample d_i, compute posterior mean and covariance w_means np.zeros((n_samples, t_dim)) w_covs np.zeros((n_samples, t_dim, t_dim)) for i in range(n_samples): d_i D[i:i1, :] # (1, 39) # posterior precision prec Tt_Psi_inv_T np.eye(t_dim) * 1e-6 # posterior mean w_means[i] np.linalg.solve(prec, T.T inv_Psi d_i.T).flatten() w_covs[i] np.linalg.inv(prec) # M-step: update T and Psi # numerator: sum over i of d_i w_i.T num_T np.zeros((dim, t_dim)) for i in range(n_samples): num_T D[i:i1, :].T w_means[i:i1, :] # denominator: sum over i of (w_i w_i.T w_cov[i]) den_T np.zeros((t_dim, t_dim)) for i in range(n_samples): den_T np.outer(w_means[i], w_means[i]) w_covs[i] T num_T np.linalg.pinv(den_T) # Update Psi (diagonal) sq_error 0 for i in range(n_samples): pred T w_means[i] sq_error np.sum((D[i] - pred) ** 2) Psi np.diag(np.full(dim, sq_error / (n_samples * dim))) return T, Psi # 假設(shè)已有 500 個(gè)說(shuō)話人的 delta_mu 列表每個(gè) shape (512, 39) T_matrix, Psi_noise estimate_t_matrix(all_delta_mus, t_dim400) joblib.dump((T_matrix, Psi_noise), t_matrix_400.pkl)避坑重點(diǎn)此代碼為簡(jiǎn)化版實(shí)際部署建議用kaldi-io或pyannote.audio加載預(yù)訓(xùn)練 T 矩陣。自行訓(xùn)練 T 需至少 300 說(shuō)話人、每人 3 段語(yǔ)音10 小時(shí)總語(yǔ)音否則 T 矩陣方向坍縮i-vector 失去判別性。4. 常見(jiàn)問(wèn)題排查GMM-UBM-i-vector 流程中 5 個(gè)血淚級(jí)翻車點(diǎn)聲紋識(shí)別流程長(zhǎng)、中間狀態(tài)多一個(gè)環(huán)節(jié)出錯(cuò)下游全崩。以下是我在線上系統(tǒng)調(diào)試中反復(fù)踩過(guò)的坑按現(xiàn)象→原因→解決順序列出全部經(jīng)真實(shí)語(yǔ)音數(shù)據(jù)驗(yàn)證。4.1 現(xiàn)象UBM 訓(xùn)練時(shí) log-likelihood 在第 3 輪后停滯不漲甚至輕微下降原因MFCC 特征未歸一化導(dǎo)致協(xié)方差矩陣病態(tài)condition number 1e8EM 步驟中協(xié)方差求逆失敗用偽逆替代后引入數(shù)值噪聲。解決在train_ubm()前對(duì)stacked做逐維 z-score 歸一化stacked (stacked - np.mean(stacked, axis0)) / (np.std(stacked, axis0) 1e-8)4.2 現(xiàn)象MAP 自適應(yīng)后adapted_means出現(xiàn) NaN 或 inf原因某段語(yǔ)音過(guò)短 20 幀N_k接近 0導(dǎo)致F_k / N_k除零或 UBM 某成分權(quán)重極低 1e-5后驗(yàn)概率計(jì)算溢出。解決在map_adaptation()開(kāi)頭加入幀數(shù)檢查與權(quán)重截?cái)鄆f feats.shape[0] 30: raise ValueError(fToo few frames: {feats.shape[0]}) # 截?cái)鄻O小權(quán)重成分 mask ubm.weights_ 1e-4 ubm_weights ubm.weights_[mask] ubm_means ubm.means_[mask] ubm_covars ubm.covariances_[mask] # 后續(xù)計(jì)算僅在 mask 成分上進(jìn)行4.3 現(xiàn)象i-vector 余弦相似度在訓(xùn)練集上高達(dá) 0.99但在測(cè)試集上 EER 25%原因T 矩陣估計(jì)時(shí)未打亂說(shuō)話人順序?qū)е?EM 算法陷入局部最優(yōu)或t_dim設(shè)置過(guò)高如 600在小規(guī)模數(shù)據(jù)上過(guò)擬合。解決T 估計(jì)前 shuffledelta_mus列表t_dim嚴(yán)格按數(shù)據(jù)規(guī)模選擇100 說(shuō)話人 → 200300 說(shuō)話人 → 4001000 → 600。4.4 現(xiàn)象同一說(shuō)話人不同語(yǔ)音的 i-vector 余弦距離 0.4而不同說(shuō)話人卻 0.2原因MFCC 提取時(shí)未關(guān)閉dither抖動(dòng)或preemphasis參數(shù)不一致導(dǎo)致同源語(yǔ)音特征漂移。解決統(tǒng)一使用python_speech_features并顯式設(shè)置dither0.0默認(rèn)為 1.0mfcc_feat mfcc(y, sampleratesr, dither0.0, ...) # 關(guān)鍵4.5 現(xiàn)象joblib.load()加載 UBM 模型報(bào)AttributeError: GaussianMixture object has no attribute _log_prob_norm原因sklearn 版本不兼容。0.24 版本重構(gòu)了 GMM 內(nèi)部屬性舊模型文件無(wú)法直接加載。解決訓(xùn)練與加載必須使用同一 sklearn 版本推薦 1.2.2或用pickle替代joblib兼容性略好import pickle with open(ubm_512.pkl, wb) as f: pickle.dump(ubm, f) # 加載 with open(ubm_512.pkl, rb) as f: ubm pickle.load(f)5. 深度學(xué)習(xí)聲紋識(shí)別x-vector 為何能取代 i-vector用 PyTorch 150 行跑通 ECAPA-TDNNi-vector 的瓶頸在于它本質(zhì)是線性變換T·w無(wú)法建模聲學(xué)特征間的高階非線性關(guān)系且 T 矩陣估計(jì)依賴大量說(shuō)話人語(yǔ)音冷啟動(dòng)能力弱。x-vector尤其是 ECAPA-TDNN用時(shí)序卷積注意力機(jī)制直接端到端學(xué)習(xí)幀級(jí)特征聚合將可變長(zhǎng)語(yǔ)音映射為固定 192 維 embedding在 VoxCeleb1 上 EER 降至 1.0% 以下訓(xùn)練數(shù)據(jù)需求降低 50%且支持在線增量注冊(cè)。本節(jié)提供最小可行實(shí)現(xiàn)——不依賴speechbrain或pyannote純 PyTorch 構(gòu)建CPU 可訓(xùn)batch_size32, 10 小時(shí)語(yǔ)音約 8 小時(shí)。5.1 ECAPA-TDNN 核心結(jié)構(gòu)TDNN 層 Res2Net Self-AttentionECAPA-TDNN 關(guān)鍵創(chuàng)新有三① TDNN 層用不同幀上下文如 [-2,2], [-3,3], [-4,4]并行卷積捕獲多尺度時(shí)序模式② Res2Net 殘差分支增強(qiáng)通道表達(dá)力③ 通道注意力SE block動(dòng)態(tài)加權(quán)各通道重要性。最終 pooling 層用統(tǒng)計(jì)池化mean std而非簡(jiǎn)單平均保留分布信息。import torch import torch.nn as nn class TDNNLayer(nn.Module): def __init__(self, in_channels, out_channels, kernel_size, dilation1, padding0): super().__init__() self.conv nn.Conv1d(in_channels, out_channels, kernel_size, dilationdilation, paddingpadding) self.bn nn.BatchNorm1d(out_channels) self.relu nn.ReLU() def forward(self, x): return self.relu(self.bn(self.conv(x))) class ECAPA_TDNN(nn.Module): def __init__(self, feat_dim39, embedding_dim192): super().__init__() self.tdnn1 TDNNLayer(feat_dim, 512, 5, padding2) self.tdnn2 TDNNLayer(512, 512, 3, dilation2, padding2) self.tdnn3 TDNNLayer(512, 512, 3, dilation3, padding3) self.tdnn4 TDNNLayer(512, 512, 1) self.tdnn5 TDNNLayer(512, 1536, 1) # SE-Res2Net branch self.se_layer nn.Sequential( nn.AdaptiveAvgPool1d(1), nn.Conv1d(1536, 1536 // 8, 1), nn.ReLU(), nn.Conv1d(1536 // 8, 1536, 1), nn.Sigmoid() ) self.projection nn.Linear(3072, embedding_dim) # 1536*2 (meanstd) def forward(self, x): # x: (B, 39, T) x self.tdnn1(x) x self.tdnn2(x) x self.tdnn3(x) x self.tdnn4(x) x self.tdnn5(x) # SE attention se self.se_layer(x) x x * se # Statistics pooling mean torch.mean(x, dim2) # (B, 1536) std torch.std(x, dim2) # (B, 1536) stats torch.cat([mean, std], dim1) # (B, 3072) embed self.projection(stats) # (B, 192) return nn.functional.normalize(embed, p2, dim1) # 初始化模型 model ECAPA_TDNN(feat_dim39, embedding_dim192) print(fECAPA-TDNN params: {sum(p.numel() for p in model.parameters())}) # 輸出約 12.4M 參數(shù)CPU 可訓(xùn)參數(shù)說(shuō)明embedding_dim192是 VoxCeleb 官方設(shè)定兼顧精度與部署體積若嵌入式設(shè)備受限可降至 128EER 僅升 0.2%feat_dim39必須與 MFCC 提取維度嚴(yán)格一致否則第一層卷積報(bào)錯(cuò)。5.2 訓(xùn)練策略AAMSoftmax 損失函數(shù)讓模型學(xué)會(huì)“拉開(kāi)同類、拉近異類”傳統(tǒng) softmax 在聲紋任務(wù)中效果差因類別說(shuō)話人數(shù)極大1000且樣本不均衡。AAMSoftmaxAdditive Angular Margin在 logits 上添加角度間隔 margin強(qiáng)制同類樣本在超球面上更緊湊。PyTorch 實(shí)現(xiàn)僅需 20 行class AAMSoftmax(nn.Module): def __init__(self, n_class, m0.2, s30): super().__init__() self.m m self.s s self.weight nn.Parameter(torch.FloatTensor(n_class, 192)) nn.init.xavier_normal_(self.weight) def forward(self, x, labelNone): # x: (B, 192), normalized # weight: (n_class, 192), also normalized cosine torch.mm(x, self.weight.t()) # (B, n_class) if label is None: return cosine # Add margin to target class phi cosine - self.m one_hot torch.zeros_like(cosine) one_hot.scatter_(1, label.view(-1, 1), 1) output (one_hot * phi) ((1.0 - one_hot) * cosine) output * self.s return output # 使用示例 criterion AAMSoftmax(n_class1000, m0.2, s30) embeddings model(mfcc_batch) # (32, 192) logits criterion(embeddings, labels) # (32, 1000) loss nn.CrossEntropyLoss()(logits, labels)關(guān)鍵技巧s30是縮放因子過(guò)大導(dǎo)致梯度爆炸過(guò)小削弱 margin 效果m0.2對(duì)應(yīng) 11.5° 角度間隔實(shí)測(cè)在 VoxCeleb 上最優(yōu)訓(xùn)練初期前 5 epoch可設(shè)m0讓模型先學(xué)基礎(chǔ)區(qū)分再逐步增大。6. 驗(yàn)證與部署如何用 3 分鐘完成一個(gè)說(shuō)話人識(shí)別服務(wù)的端到端驗(yàn)證寫完模型不等于能用。真正落地要回答三個(gè)問(wèn)題① 模型到底好不好不能只看訓(xùn)練 loss② 新說(shuō)話人注冊(cè)是否可靠③ 服務(wù)響應(yīng)能否壓到 200ms 內(nèi)下面給出一套零依賴、可立即執(zhí)行的驗(yàn)證流水線。6.1 EER 計(jì)算用scipy.optimize.brentq精確求解等錯(cuò)誤率EEREqual Error Rate是聲紋識(shí)別黃金指標(biāo)指 FAR拒真率 FRR認(rèn)假率時(shí)的錯(cuò)誤率。手寫循環(huán)搜索效率低且不精確。用brentq在 [0,1] 區(qū)間內(nèi)求解far - frr 010 行代碼搞定from scipy.optimize import brentq from scipy.interpolate import interp1d from sklearn.metrics import roc_curve def compute_eer(y_true, y_score): y_true: binary labels (1pos, 0neg); y_score: similarity scores fpr, tpr, thresholds roc_curve(y_true, y_score, pos_label1) eer brentq(lambda x: 1. - x - interp1d(fpr, tpr)(x), 0., 1.) thresh interp1d(fpr, thresholds)(eer) return eer, thresh # 示例假設(shè)已有所有測(cè)試對(duì)的標(biāo)簽和余弦相似度 # y_true [1,1,0,0,...] # 1: same speaker, 0: diff speaker # y_score [0.92, 0.88, 0.15, 0.22,...] # cosine similarity eer_val, best_thresh compute_eer(y_true, y_score) print(fEER: {eer_val:.4f} at threshold {best_thresh:.4f})注意y_score必須是相似度越大越可能是同一人若模型輸出的是距離越小越好需用1 - y_score或-y_score轉(zhuǎn)換。6.2 注冊(cè)與驗(yàn)證分離構(gòu)建 speaker_registry.json 管理注冊(cè)庫(kù)生產(chǎn)環(huán)境必須區(qū)分注冊(cè) enroll與驗(yàn)證 verify階段。注冊(cè)時(shí)存 embedding驗(yàn)證時(shí)查表比對(duì)。用 JSON 文件輕量管理避免數(shù)據(jù)庫(kù)依賴import json import numpy as np class SpeakerRegistry: def __init__(self, db_pathspeaker_registry.json): self.db_path db_path self.db self._load_db() def _load_db(self): try: with open(self.db_path, r) as f: return json.load(f) except FileNotFoundError: return {} def enroll(self, speaker_id, embedding): # embedding: np.ndarray (192,) self.db[speaker_id] embedding.tolist() self._save_db() def verify(self, test_embedding, threshold0.7): # test_embedding: (192,) scores {} for spk_id, reg_emb in self.db.items(): reg_emb np.array(reg_emb) score np.dot(test_embedding, reg_emb) # cosine scores[spk_id] float(score) best_spk max(scores, keyscores.get) return best_spk, scores[best_spk] def _save_db(self): with open(self.db_path, w) as f: json.dump(self.db, f) # 使用 reg SpeakerRegistry() reg.enroll(alice, alice_embedding) # 注冊(cè) spk, score reg.verify(test_embedding) # 驗(yàn)證 if score 0.7: print(fVerified as {spk}) else: print(Reject: score too low)6.3 CPU 推理加速用 ONNX Runtime 將 ECAPA-TDNN 推理耗時(shí)從 850ms 降到 160msPyTorch 模型在 CPU 上推理慢主要因動(dòng)態(tài)圖解釋開(kāi)銷。轉(zhuǎn) ONNX 后用 ORT 推理性能提升 5 倍# 導(dǎo)出 ONNX dummy_input torch.randn(1, 39, 300) # (B, feat_dim, T) torch.onnx.export( model, dummy_input, ecapa_tdnn.onnx, input_names[input], output_names[embedding], dynamic_axes{input: {0: batch, 2: time}}, opset_version12 ) # ORT 推理 import onnxruntime as ort ort_session ort.InferenceSession(ecapa_tdnn.onnx) def infer_onnx(mfcc_feat): # mfcc_feat: (39, T) ort_inputs {input: mfcc_feat[np.newaxis, :, :].astype(np.float32)} embedding ort_session.run(None, ort_inputs)[0][0] # (192,) return embedding / np.linalg.norm(embedding) # normalize # 實(shí)測(cè)T300 幀約 1.9 秒語(yǔ)音→ 推理 160msi5-10210U血淚經(jīng)驗(yàn)ONNX 導(dǎo)出時(shí)opset_version12是關(guān)鍵低于 11 會(huì)報(bào)aten::adaptive_avg_pool1d不支持dynamic_axes必須聲明 time 維度可變否則固定尺寸輸入無(wú)法泛化ORT 必須用onnxruntime1.15.1最新版在某些 CPU 上有 bug。我?guī)F(tuán)隊(duì)落地過(guò) 3 個(gè)聲紋項(xiàng)目最深的教訓(xùn)是別在 GMM-UBM 上過(guò)度優(yōu)化它已是統(tǒng)計(jì)建模的天花板真正值得投入的是數(shù)據(jù)清洗 pipeline 和注冊(cè)-驗(yàn)證閉環(huán)設(shè)計(jì)。比如我們?cè)?70% 時(shí)間寫語(yǔ)音活動(dòng)檢測(cè)VAD腳本過(guò)濾靜音段讓有效幀數(shù)提升 3 倍UBM EER 直降 1.8%又用pyannote.audio的 speaker diarization 模塊自動(dòng)切分多人對(duì)話注冊(cè)準(zhǔn)確率從 82% 提到 96%。工具會(huì)迭代但“數(shù)據(jù)質(zhì)量 模型復(fù)雜度”這條鐵律十年沒(méi)變過(guò)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲操操操无码| 国产精品熟女一区二区三区| 亚洲成av人片色午夜乱码| 91亚洲综合| 六月婷婷综合| 青青操在线视频| 久久有码视频| 亚洲色资源| 人妻嗯啊啊在线播放| 久久av一级av少妇av高潮| 亚洲天天更新| 91欧美情色| 色色色色色色色色综合| 大香蕉欧美伊| 九九九久千久久激情蜜桃在线看| 色婷婷视频| 99久久久久久久久| 国产精品 久久久精品一牛| 久久99国产精品| 激情五月综合网| 超碰成人最新最好看| 熟女高潮精品一区二区| 91中出在线| 9热9热综合网| 欧美日韩国产中文精品字幕自在自线,| 中国一级操逼视频| 国产av强奸美女| 中文字幕国产在线天堂| 亚洲图片欧美| 视频一区二区免费在线| 翔田千里爆乳巨臀无码| 国产精品久久久吖| 久久久久久久免费A片国产成a人亚洲精∨品无码| 色五月AV在线| 一二三四区电影| 亚洲污污网站| 97超碰中文| 99精品久久久久久| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 国产精品岛国片在线观看| 亚洲国产91精品一区二区久久| 91欧美亚洲| 亚洲有码视频二区| 91在线秘 男同| 可以在线观看的黄色网址| 超碰精品日韩欧美国产| 日本东京热加勒比久久| 色哟哟511老熟女| 久操网址| 动漫爆乳3D奶水一区在线观看| 一级久久久久久久久久久| 欧美另类综合久久| 亚洲av乱伦色图网站| 永久免费发布性爱网| 免费人成在线观看网站品爱网| 午夜AV人气不卡| 91足交| 性爱av网站| 色官网在线| 97人人草| 国产91精品久久久久久久网曝门| 嗯,啊。舔我逼| 久久天堂网| 久久精品超碰| 98人妻精品一区二区色欲| 秋霞一级鲁丝片A片| 国产丝袜欧美在线视频| 日本在线视频导航| 国产视频一区二区在线观看| 久久精品国产久精国产| 国产深夜福利| 免费在线黄片视频| 麻豆AV一区二区| 欧美72网页| 少妇色综合| 97神马久久| 人妻少妇久久中文字幕一区二区 麻豆| 人人操人人色网| 国产乱伦亚洲| 黑丝少妇| 久热大香蕉网站| 99中文字幕| 再深点灬舒服灬太大了添视频| 99热91| 97视频7| 色综合 加勒比| 黄页| 9久久精品| 1二区9| 传媒在线观看一区二区三区| 国产成人午夜视频网址| 99九九久久| 色97欧美| 久久久久久精品免费看A级| 色女99一级片在线观看| 人人妻人人玩人人澡人人爽| 激情综合婷婷| 青操影院| 国产精品久久久久久无码红治院| 国产视频一区二区在线观看| 久久精品女同亚洲女同13| 欧美v亚洲v综合v国产v妖精| 区一二区日韩亚洲乱码av电影| 日日干日日摸| 黄色片大香蕉| 欧美淫乱视频| 99re公开精品免费视频| 99re9这里只有精品| 91老妇女| 青青操97| 亚洲大胆人体av| 欧美大香蕉在线观看| 日韩人妻资源在线看| 精久久久91| 9久精品| 啊…啊…操我用力操我| 青青草一区二区高清无码视频 | 亚洲国产第一页综合视频| 精品在线78| 操高情无码| 91人妻视频| 绯色一区二区三区不卡少妇| 午夜天堂精品久久| 国产乱伦性爱区| 宗合情欲网| 91丨国产丨白浆秘 洗澡动漫| 亚洲中文字幕av| 国产风韵犹存熟妇三区| 久久精品色欧美aⅴ一区二区| 美女骚尻视频| 色九区| 日本一二三免费久久| 综合色图区| 中文字幕无码不卡啪啪| 亚洲日韩国产欧美综合v| 蜜臀va69| 2026国产精品视频| 亚洲砖码砖专无区2023| 亚洲狠狠入| 操操啪| 精品国产乱码久久| 麻豆天美在线喷水AV| 精品成人亚洲午夜电影| 久九九九九九九九热| 九九色逼| 岛国黄| 亚洲诱惑天堂| 日韩中文欧美| 久久国产乱子伦精品免费女人| 欧美91在线+|+欧美| 亚洲Av无码成人精品国产| 天堂性色| 69视频福利导航| 久草网站免费在线观看| 思思热一热婷婷热一热| 亚洲精品日韩国产欧美| 久久久久久久久久9| 九九热免费国产视频婷婷伊人| 亚洲无码 国产无码| 国产成人天堂| 久操大香蕉手机视频在线看| 噜噜噜在线视频| 久久爱97| 日韩资源网| 久久大香蕉| 高清无码一区二区三区| 日躁天天爽爽| 亚洲宗合网| 天天插天天插| 中文久久爆乳| 色网在线视频观看免费| 人妻少妇精品久久久久久久| 亚洲大色鬼| 国产在线76页| 成年人一级黄色毛片大全在线观看| 欧色网址| 亚洲综合有码| 97免费视频在线观看视频| 久久久工口| 亚洲色图亚洲无码强奸乱伦| 翔田千里Av在线| 干b网| 青娱乐手机日韩在线视频| 天天操夜夜操| 巨爆乳肉感一区二区三区竹菊影视| 秋霞操逼片| 超碰色97| 久久久久久97| 国产精品96久久久久久| 97超碰9| 日本中文字幕一区| 神马久久中文字幕| 久久一二三级一一一| 色99视频| 熟女人妻久久中文字幕一二区| av网页一区二区三区| 亚洲AV成人无码一二三久久| 国产午夜在线观看| 91殴美| 亚洲国产日韩精品久久久| 激情内射| 四虎免费视频| 亚洲97网站| 国产精品一区二区后入| 欧美天堂第二区| 国产美女精品| 伊人少妇久久久| 欧美色色人| 国产精品高朝久久久久久久| 久操| 韩日欧亚a级| 欧美亚洲特P| 精品无吗m| 亚洲欧美不卡线| 欧美92| 日韩情色一区二区| 蜜桃臀一区二区aV| 伊人网免费视频| 国产一区二区在线看| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 在线电影亚洲色图| 丝袜加勒比| 日韩精品人妻一区二区| 翔田千里AV无码秘 三区| av影片在线观看不卡| 久久久96| 熟女这里只有精品6| 激情小说日韩无码| 偷看洗澡一二三区美女| 91粉嫩萝控精品福利网站_精品影音先锋国| 久久精品高清AV| 这里都是精品在线观看| 蜜臀少妇一区二区| 成人开心网在线视频| 久久久久久人| 精品中文字幕第一页| 亚欧成人中文字幕一区| 6080yy午夜理论三级一区二区三区无码| 人妻啊啊人妻啊啊| 精品国产乱码久久久兰草影视| 色男人色天堂东京热| 蜜臀久久99'精品久久久| 日日骚一区二区三区| 九七超碰| 色玖玖| 亚洲淫乱骚妇AV| 男人天堂久久精品不卡| 最新三级网址| 天天摸,夜夜摸| 人妻免费观看| 国产精品久久久久久久久久久久| 国产自产自拍| 5252色欧美在线| 久久精品操| 日韩AV无码网站| 欧美一级A片在线看视频性色| 亚洲天天艹| 人人操人人精品影片| 看看小穴| 997色在线| 一区二区三区四区理论片| 亚洲日本激情| 精品人人| 搡老女人老91二区| 国产一级做a爰大片免费久久| 加勒比在线视频| 高清孕妇孕交 交孕妇| 91视频精品| 色婷婷视频| 欧美日韩亚洲五月天婷婷| 96一区二区| 亚洲五码一区二区三区| 性色一线| 国产精品懂色tv影视免费观看| 国产精品久久久久久久毛片1| 国产精品久久久久综合| 欧美日韩人妻精品系列一区二区三区| 亚洲色系另类精品国产| 秋霞男人网| 嗯嗯不要视频| 六十路日本| 亚洲日韩久久精品一区| 亚洲欧美一区二区三区一猛片| 爱欲AV| 久久伊人最新网址视频| 九九内射在线| 富女玩鸭子一级毛片| 久久精品人体AV| 欧美桃色网| h无码动漫在线观看| 玖玖资源中文字幕制服丝袜| 国产乱色国产精品免费视| 久热色情精品| www.av家庭乱伦| 懂色综合久久久| 亚洲色图A| 一二三四免费视频| 亚洲综合第一页| 天美传媒一二三区永久网站| 亚洲欧美色图片| 亚洲男人天堂2019| 视频国产成人精品日本亚洲18| 嗯啊免费视频| 亚洲成a人片在线观看中文!!!| 国精综合一二三区影视| 国产熟女完整版中字| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲精品 欧美精品| 亚州一区二区成人片免费| 亚爽爽爽爽爽爽爽爽| 天天做日日做| 亚洲亚洲亚洲天堂天堂| 婷婷五月天色色| 日韩在线电影| 亚洲精品国产精品乱码不卡| 国产中文精品一区二区在线观看| 亚洲人精品午夜不卡| 狠狠综合网| 国产97亚洲| 亚洲欧美天堂在线| 天堂中文日本在线观看| 青草综合| 国产久久男人天堂| 狠狠干,狠狠操| 毛片久久| 97少妇人妻中文字幕久久| 综合激情五月丁香| 91亚洲色人| 97草草| 成人精品电影| 丁香五月天啪啪| 乱伦熟女论坛| 久久99国产精品| 密臀AV在线| 中文字幕在线高清男人的天堂| 大肥女高潮bbwbbwhd视频| 国产亚洲日本| 最新AVzaixian| 97超碰中文在线| 歐美一級亂黃99在綫精品| 久久综合亚洲色1080p| 中文字幕黄色一起草| 精品人妻夜夜草| 日本黄 R色 成 人网站| 岛国片在线播放| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜| 啊啊啊好湿国产一二| 黄色性爱网网| 亚洲欧美一区二区网址| 欧美在线电影| k频道色撸撸| 性色avv| 黄aaaaaaaaaaaaaaaaaa色网站| 亚洲av成人精品一区| 大香蕉日韩欧美| 青青草日本中文字幕| 97干在线| 国产成人精品日本亚洲语言| 亚洲91在线播放影院| 97色碰| 欧美—性—交—色| 精品视频一区二区| 午夜福利 成人 91| 加勒比色综合| 在线一区| 色婷婷淫色网| 国产精品美女视频诱惑| 日韩无码黄色片| 91色堂| 欧美特黄视频网站| 欧美激情久| 中文字幕在在线观看网站| 婷婷亚洲综合| 久久怡红院| 熟女突然公开看18禁影片 | 黄色成人网久久久久久| 亚洲色图91欧美日韩| 日韩在线视频1234| 成人资源中文字幕在线观看天天 | 五月婷婷hd| 久久精品欧美一区蜜桃| 天天综合亚在线| 狠狠色丁香| 日本中文字幕在线电影| 日本日逼视频网| 二色av| 亚洲九九夜夜| 精品久久視頻在线| 欧美极品女人的天堂| 啊啊啊操一区| 五月天色图| 久久蜜色情在线视频xxx免费观看| 情色av电影| 狠狠夜色午夜久久综合在线| 欧美青青视频| 啊啊啊水好多| 国产午夜福利专区综合| 一区二区亚州激情久婷婷欧美| 欧美96交| 少妇淫妇久久久久久久| 日韩精品人妻| 无码免费在线观看黄色片| 人妻一区二区三区视频| 亚洲成?V人片在线观看福利| 精品国产乱码久久久久久久久1| 91原创在线观看| 一区麻豆 高清中文字幕| 欧美少妇高潮久久91| 曰韩少妇无码| 超碰97COm中文| 国产一区二区三区高清视频| 99久久精品无码一区二区| 午夜高清成人在线视频| 嗯嗯啊啊操死我| 亚洲成人色情五月天丁香花| 正宗无毛一线天嫩逼| 2017大香蕉| 色黄色美女大长腿午夜视频| 久热免费视频| 操亚州| 欧美综合色图网| 69av一区二区三区| 国产欧美一区激情交| 日本天堂网| 中出20p| 欧美精品精品一区二区| 凹凸视频特色日本特黄| 91精品婷婷国产综合久久竹菊| 91美女视频。| 另类TS人妖一区二区三区| 亚洲av无码成人精品国产| 麻豆福利视频导航| 91亚洲最新在线| 国产高清视频无码在线| www激情| 日韩精品9999| 亚洲天堂男人网| 欧美劲爆视频一区二区| 啊啊啊不要啊啊受不了了视频在线 | 嗯~啊~快点 死我视频| 天天综合麻豆视频| 欧美大香蕉久| 午夜精品一区二区三区三上悠亚| 91成人亚洲色图| 日韩极品无码B| 中文字幕在线24| 成人AV在线网站| 国产日逼视频| 久久伊人青青草| 亚洲美女AV无码| 色婷婷狠狠18禁| 黑人精品久久97| 无码久久亚洲高清,| 色色五月婷婷| 91欧美www| 人看人人摸人人操| 亚洲天堂久| 中文字幕91页| 亚洲天天影视色综合| 性色av大全| 美女高潮视频91| 亚洲成a人v欧美综合天堂下载| 五月天婷婷基地| 中文字幕欧美精品亚洲日韩蜜臀| av天堂手机版追回| 91九色丰满高潮| 国产精品亚洲一区二区三区四区| 91劲爆| 国产精品香蕉热久久新品| 亚洲高清在线se| 亚洲无码一二三区| 久久精品99| 亚洲欧洲网站免费观看| 亚洲少妇视频| 69超碰综合| 麻豆天美91| 成年男人的天堂| 午夜人人操| 蜜臀99999| 黄色AAAAAAAAAAA大片| 伊人伊人LD| 殴美大黄片| 男人的天堂VA| 国产日本熟女顶级一区二区三区视频| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 激情综合网五月婷婷五月天| 本道在线| 人妻啊啊人妻啊| 熟妇综合一区二区三区| 97操在线| 99这里有精品| 精品无码一区二区三区| 国产成人精品一区| 婷婷五月天伊人| 襙一襙| 东京热大香焦| 偷拍 精品 另类 四区| 黄色电影在线播放综合网站| 青青青草伊人精品| 日韩免费人妻色情网站| 中文字幕AV乱伦| 夜夜青青无码影院| 九色97| 国产成年免费大片黄在线观看| 中文字幕无码不卡啪啪| 国产视频一区二区在线| 日韩人妻 中文字幕| 九九热av| 加勒比五月天| 精品妇女一区二区三区| 强奸国产在线| 97视频在线免费观看| 天天操人人操骚逼网站| 亚洲影视综合网| www.91理论| 蜜臀99久久精品久久久懂爱| 国产日韩中文字幕欧美| 天堂精品小草| 日韩一级二级| 一级A啪啪啪啪| 91精品久久久| 久久永久无码人妻视频| 国产尤物在线三区| 4虎在线视频| 台湾佬中文娱乐自偷自拍| hd成人一区二区在线| 女性喷水高潮在线观看| 国产激情在线| 视频在线97| 免费网色网站| 麻豆久久久久久久久丝袜| 99爱爱| 东亚亚洲无码高清| 国产欧美精选自拍一区| 日欧操屄| 日本国产亚洲一区在线观看| 国色综合天| 黄页网站成人免费| 本道在线| 久久久内射良家| 99久在线精品99re8a| 欧洲射精91| 婷婷香蕉欧美在线一区二区三区| 人人透人人操| 色五月丁香五月| 成人网站 免费观看| 日本成人A片网站| 人妻性爱一区二区| 久久在线观看免费视频| 欧美第一页| 久草午夜| 亚洲国产精品无码AV久久| 精品日日人妻| 久久久久久久| 91亚洲影视| 神马久久久久眼| 国产偷拍网站| 最新AVzaixian| 91丨九色丨东北熟女| 国产强奸超碰AV| 91社区拍啪人妻| 太久视频| 很很热性爱视频| 免费看A片毛毛片在线播| 美国人人操人人操| 十八禁av无码免费网站APP| 欧美精品23| 亚洲无 码A片在线观看麻豆| 一区二区三区四区五区久久久久久| 99re热| 91真人天天在线| 91亚洲黑人| 久9热| 91蜜臀在线久久久久| 欧美老熟另类| 欧美日韩情色一区二区| 久久av网| 国产九九九九九九| 91爱网| 亚洲高清无毛一区二区| 男人高清无码一区二区| 欧美黄片视频在线观看免费 | 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 成人区人妻精品一| 啊啊啊啊啊啊啊啊在线观看| 爱妃国产亚洲视频中文字幕| 欧美成人一级免费电影| 99综合| 中文乱码99| 制服诱惑亚洲一区二区三区在线观看| 国产丝袜一区二区三区| 懂色Av| 免费亚洲黄色视频在线观看| 九九成人视频| 亚洲男人的天堂网| 99久草| 久久精品国产亚洲AV高清演员表| 青青操轻轻| 一牛影视久久久一区二区三区| 精品999日本| 91老司机精品| 日本午夜操逼| 久久天天摸| 加勒比久久av| 搡老熟女免费视频| 五月丁香激情综合网| 又黄又粗又硬又长又大| 天美麻花大全视频| 精品人妻一区二区三区夜夜| 欧洲亚洲天堂精品| 99久久久无码国产精品性啊聊| 国产精品黄色三级av| 6080yy午夜理论三级一区二区三区无码| 操B久久| 日韩有码专区| 日韩激情啪啪| 91N综合在线| 日韩三级伦理中文字幕| 成人AV在线电影| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 久久日韩肥臀| 日本性爱少妇| 中出后入| se01国产在线视频| 亚洲天堂另类小说男人| 国产熟女无套内射| 91久久久久久| 女同性恋中文字幕| 久草网站免费在线观看| 91久久久视| 黄片免费日韩| 97WW精品| 美女久久久| 丝袜 亚洲 偷拍| 精品丰满熟妇人妻一区| 亚洲成人性爱在线观看| 大香蕉之青青草原| 精品无码不卡视频| 性爱AV天堂| 国产精品久久久久久久电影渣男| 97人亚洲综合字幕| 日韩 国产 欧美自拍| 日本免费不卡二区| 视频国产成人精品日本亚洲18| 中文高清一区二区的| 先锋女优在线观看视频| 九九热超碰| 天天射天天色成人| 婷婷激情啪啪| 亚洲天堂精品日韩电影| 91久青| 五月丁香六月综合缴清无码| 欧美老妇女内射网址| 日本高清免费一本视频在线观看| 10000部十八禁看电影| 奇米四色网| 天天干天天中出av| 啪啪啪精品视频| 亚洲久久天堂| 欧美午夜精品久久久久久3D| 中文字幕精品探花视频| 麻豆AV短剧| av天堂精品久久| 五月天加勒比啪| 国产精品亚洲一区二区三区四区| 91狠狠狠| 亚州操操穴网| 日日夜夜精品| 久9综合在线| 91大胆欧美| 91人妻精华帖| 97久久久久久久久久| 一区二区三区四区色图| 国产福利视频精品视频| 嗯嗯啊啊日韩精品| 九热久| 国产丝袜视频| 亚洲图片欧美偷拍| 久久免费老司机精品| 亚洲天堂五月天国产| 免费超碰97久久| 大香蕉啪啪啪| 亚洲精品国产熟女| 精品国产乱码久久久影院| 蜜色网色哟哟| 欧美东京热精品A∨| 激情欧美97| 天天综合网入口~91| 久9视频| 日本人妻中文字幕精品| 国产精品夜夜夜| 一二三啪啪专区| 黄色毛片A片| 婷婷久久五月综合激情| 亚洲在钱| 久插不卡| 校园春色制服丝袜中文字亚洲| 国产乱伦性爱区| 黄色工厂这里只有精品| 亚洲精品蜜桃久久久久久久| 25国产精品免费观看| 一级aaaaa欧美中文字幕录像片| 91天堂| 欧美日本视频一区| 天天做天天爱天天爽AV| 天天干天天干天天| 久久6热视频免费观看| 日韩成人性日韩成人性爱视频在线免费观看| 亚洲偷拍欧美激情| 精品乱子一区二区三区99| 亚洲欧美经典一区二区| 成人a大片在线观看| 国产女大学生AV| 亚洲黄色电影| 日韩中文字幕精品一二三事国产精品| 中文字幕丝袜人妻| 熟女精品一区二区三区| 日本在线视频导航| 爽极品影院| 日本成人免费一区二区三区| av中亚| 国产午夜精品一区二区三区牛牛| 日韩精品电影| 传媒免费一区二区三区| 色综合加勒比四四季| 96久久科窝| 九九热精品| 色99在线| 色婷婷小说| 一区在线观看中文字幕| 韩日无码在线观看| 美国aaaaa一级黄片| 日韩在线一区二区| 久久这里是精品| 免费a级毛片av无码久久精品中文字幕| 久久久久久九九九| 青青在线视频日韩欧美| 亚洲色宗合| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 人妻一二三区| 91香蕉视频在线观看免费| 日韩一级久久毛片| 综合伊人激情| 亚欧免费| 国产综合网站在线播放 | 亚洲精品蜜桃久久久一区二区三区| 亚洲天堂电影精品一区| 伊色综合天堂色97| 国产精品久久发布| 天天综合欧美综合| 97精品国产精品免费观看| 久久啊啊啊视频| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 97超碰中文在线| 人妻精品视频一区二区三区| 强奸乱伦AV一天堂网| 超碰色男人操熟女| 亚洲成a人在线观看久| 天天草天天干天天日| 五月天激情四射| 又黑又大又粗| 亚州色图欧美| 亚洲蜜臀精品视频久久| 少妇久久久久久久久| a男人的天堂久久一级A毛片| 久久色一区| 97在线精品观看视频| 97精品国产精品免费观看| 亚洲中亚日激情视频| 99re99在线视频| 日少妇视频| 亚洲精品一区二区精品| 国产女性无套 免费观看| 国产这里只有精品| 日本一片一区| 后入式福利| 亚洲av青草久久一区二区| 精品国产一区二区三区四区在线看 | 日韩精品在线观看网站| 超碰亚洲欧美日韩无| 99蜜桃臀亚洲成人在线观看| 黄页网站成人免费| 自拍偷拍国产欧美日韩韩| 思思性爱| 啊啊啊啊啊在线观看网址| 色综合久久夜色精品国产天堂| 欧美图片校园春色| A片A5445444| 超碰人人色| 91性生活久久久| 美国日韩黄片| 麻豆一区二区AV天美| 很很操在线| 日韩精品中文字幕二区| 久久天天躁日日躁狠狠躁| 九九久精品| 中文字幕一区二区三区字幕| 99精品在线| 日本精品免费一区二区三区四区| 91精品国产高清久久久久久,亚洲成人 | 欧美一级二级三级| 人妻丰满熟妇一区二区三| 91激情综合| SS久久| 无码78| 国产女人91精品嗷嗷嗷嗷| 欧美一区二区三区大综合| 精品人妻一区二区三区视频在线| 久久人人爽爽人人爽人人片αV| 婬女免费一二三区A片| 欧色网址| 激情四射五月天| 天堂射| 蜜乳中文字幕a在线| 二色av| 综合色久欲| 亚洲精品三区在线观看| 日本曲间由美性生活片| 99re28在线观看| 久久久久久AⅤ无码免费肉站 | 神马久久午夜| www.色99| 清纯唯美综合亚洲| 婷婷五月天激情网| 欧美影音在线| 精品女同一区| 9997se| 99国产在线 精品 视频| 9 7超碰在线免费观看| 啊啊啊好想要| 亚洲精品99| 天天综合网在线91| 99久久久| 偷拍盗拍亚洲色图图片| 激情五月综合| 欧美成人精品欧美一级乱黄一区二…| 亚洲欧美国产日本一区二区三区| 精品无码产区一区二| 国产亚洲精品美女久久久m| 精品一国2| 91艹B视频| 超碰午夜| 韩国一级做A片免费的| 亚洲极品| 久热大香蕉| 欧美激情高清性猛交| 一本道综合色图| 婷婷三区| 99啪啪| 色综合天天爱去电影网| 国产在线76页| 20cm女自慰在线日韩欧美| 青娱乐av在线| 精品成人无码| 蜜臀aV午夜一区二区三区| 粉嫩在线一区二区懂色| 欧美啪啪啪91| 992这里有精品| 绯色一区二区三区不卡少妇| 91撸色网 玖玖网 欧美| 岛国视频一二三区| 中日992视频| 粉嫩国产精品久久粉嫩| 青娱乐老司机视频| 内射卯月麻衣| 国产刺激视频| 国产家庭乱伦表演| 日本三级韩国三级美三级91| 我要看免费韩日黄片| 五月婷亚洲精品天堂| 东北女人| 精品婷婷| 日韩欧美操逼xxx| 俺也射| 澳门人妻久久| 久久久久久久久成人av解说| 久久欧美激情| 蜜臀色乳| 色九九九九久| 国产探花精品在线| suv精产一二三区| 精品亚州18| www.天天干| 超碰在线香蕉| 嗯嗯啊啊操我| 人妻大香蕉| 久草视频制服诱惑| 日本色婷婷| 十八禁av无码免费网站APP| 亚91网| 亚洲无限观看| 最新一二三区视频| 久久欧美性爱视频| 激情五月综合开心五月| 999热日韩精品| 91挑色欧美| 性色一线| 亚洲欧洲综合视频在线| 精品中文字幕第一页| 青青青青操国内视频在线| 曰韩少妇无码| 蜜桃视频一区二区三区在线观看| 久久五月视频| 熟女精品va中文字幕| 日本国产欧美一区三区二区| 亚洲狠狠入| 欧美色日| 亚洲美女色图| 久久九九一区二区三区成人| 五月丁香啪| 国产一区二区啪啪视频| 约操熟妇| 黄色视频60分钟| 久久久久久久久999| 在线观看精品国产免费| 少妇高潮一区二区三区在线| 涩涩这里只有精品视频| 啊好爽受不了无码| 欧美麻豆成人同性GⅤ在线| 国产日韩手机视频在线| 五十路熟女人妻一区二区在线观看 | 国产精品经典一卡久久久| 天天日天天爽| 婷婷五月天av| 91在线无码精品秘 软件| 亚洲少妇综合在线播放| 欧美日韩亚洲一区二区在线观看 | AV丝袜少妇| 一区二区三区日韩欧美| 欧洲综合视频| 日本欧美韩国日产片片在线看免| 噜噜噜狠狠色综合| 91Chinese在线| 麻豆这里只有精品| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 96精品久久久| 少妇蹲下买菜露大唇0| 久久网亚洲| 夜夜春夜夜操| 久久日韩肥臀| 天天色欧美| 亚洲综合影院| AⅤ片水多多| 黄色视频60分钟| 亚洲va有码在线天堂| 草草网站影院白丝内射| 思思性爱| 丁香六月激情综合| 夂久色| 日韩av熟女一区二区三区成人| 日韩内射视频| 久久草视频污视频| 久久久久久中文| 国产精品一区二区三| 人人搞人人插人人操| 国产在线激情视频| 日本高清一区二区在线| 精品v1区| 久久99亚洲精品久久99果| 97这里有精品| 91少妇| 国产日韩欧美中文在线播放| www黄片免费看com| 午夜免费视频1000| 青青草亚洲一区 | 国产h小视频在线观看免费| 三级日韩一区二区三区| 国产精品成人福利在线| 婷婷导航| 99亚洲人人| 欧成人在线| 视频国产欧美在线播放| 性开放中文AV高清无码免费看| 中文字幕一区二区三区视频播放| 久久久久骚| 久久夜精品一区二区三区| 四虎AV在线播放| WWW操逼| 久久久久婷婷| 美女淫穴| 极品少妇久久久| 小日子操bb在线看| 久久免费精彩视频| 亚洲第91页| 综合久久9| 97国产高清视频在线观看| 97中文天堂| 久久人体一区二区| 91福利网在线观看| 2024人人操人人摸| 超碰综合色| 五十路熟女人妻一区二区在线观看| 国产精品亚洲高清在线| 92福利社视频| 蜜桃精品一区二区三区久在线| 国产女人视频三四五区| 国产综合永久精品日韩鬼片| 7月婷婷综合| 精人妻一区二区三区| 少妇人妻好深太紧了vr91| 日韩在线视频1234| 九九九九一区| av日韩国产一区二区| 九久9热| www国产精品| 999岛国大片| 韩日精品福利视频一区不卡在线免| 亚洲日韩天堂| 人妻av在线| 日韩丨制服丨中文|在线| 日韩免费高清大片在线| 中亚av| 99999国产| 国产激情在线| 亚洲色图 综合| 91精品微拍福利| 中文字幕天天天天天| 久久精品一区二区| 99热精品在线播放| 91操熟妇| 国产激情在线观看| 日韩熟女视频二区| 黄色AAAAAAAAAAA大片| 久久久久久久久久黄色网| 久久国产在线一区二区| 91色碰| 97在线免费视频| 精品四五区| 亚洲国产综合图区中文字幕| 日韩人妻少妇 一区二区三区| 深夜激情| 五月婷婷激情综合| 密臀在线视频| 99视频内射三四| 欧美亚洲系列| 污啪啪啪视频| 试看60秒 爽| 久草久热| 日韩三级在线观看网站| 欧美无圣光在线| 黄色人人| 330dv亚洲成年视频网| 超97在线精品视频| 日韩综合97P| 激情五月天社区| 欧亚 另类 久| 天天操天天插| 国产精品久久久啊| 91天堂视频| 香蕉久久AⅤ...| 亚洲久久东京热一二三四五区视频| 亞洲久久直播| 97人人夜| 色综合美国| 熟妇xxxxx性春色| 亚洲男人天堂2013| 日韩AV一起草| 超碰97亚洲| 青青草色情网站视频| 26uuu国产日韩综合在线观看| 在线色资源| 9 9精品一区二区三区| 欧美影院一区二区三区| 操死我了嗯嗯嗯| 国产 日韩 另类 视频一区爱| 欧美日韩小说| 色女网日韩| 色久桃花影院在线观看| 亚洲中文字幕av | 欧美亚洲影视| 黄色网址在线免费观看| 久久香蕉国产线看观看亚洲女人 | 精品国产乱码| 亚州精品人妻一二三区| 殴美,日韩国产伦精品| 久热影视| av天堂加勒比| 97天天综合网| 亚洲高清在线| 不卡中文字幕aⅴ在线| 热久久无毒不卡| 日韩pv中文| 欧美午夜一区二区三区| 97色亚洲| 久久影视二区三区行押| 久久大香蕉手机高清视频| 手机在线视频国内精品| 九九九九九九视频免费| 97精品97久久| 国产不卡片| 国产精品岛国片在线观看| 国产精品精品系列在线观看| 欧美色图小说综合| 亚洲精品天天影视综合网| 日本免费亚洲欧美| 日韩黄色av中文字幕| 亚洲一区二区三区婷婷| 99国内熟女露脸视频| 久久不卡一区二区| 国产福利第一视频| 欧美大香蕉久| 91综合站| 成人日本片久久久蜜桃| 国产25页| 日本天堂网| 小少妇| 日韩免费性爱视频在线观看| 自拍偷拍亚洲熟女妇人精品| 国产97免费视频| 国产精品一区二区麻豆| 欧美亚洲日韩16色| 大香蕉伊人亚洲| 99热网站| 欧美刺激色黄片免费看| 无码精品久久久天天影视| 天天看天天日| 亚洲熟女av中文字幕| 青青草华人在线欧美在线| 美女毛片999| 欧美久久毛片基地| 国产欧美后入| 亚洲色图第一页| 三级网站超变态精品| 盗摄 精品 另类 一区| 丰满的三级少妇欧美久久久| 色欲蜜臀AV| 一区二区三区黄色片a| 日韩成人高清一区二区| 欧美性夜| 国产日本顶级一区二区三区| 天堂精品一区| 激情小说亚洲视频| 久久精品国产精品| 久久久111| 亚洲老司机123专区| av麻豆啪啪| 亚洲限制级| 美女毛片999| 天天综合网AV91| 久久久99999久网站| 97 九色| 一本一首道人妻少妇免费久久| 97超碰逼| 91九九九小逼| 色男人色天堂东京热| 亚洲色丰满少妇高潮| 性爱AV天堂| 欧美亚洲宗合色性图| 91强在线播放| 亚洲女人毛茸茸91| 性欧美第一页| 国语精品av| BBBBB97COM| 日本不卡一区二区| 日韩精品资源专区二区| 超碰在线欧美性爱激情| 亚洲乱色熟女一区| 99久久婷婷丁香| 亚洲AV成人无码一区二区三区在线观看| 国产精品久久久久综合|