日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

YOLOv1原理精講:從網(wǎng)格編碼到三路損失的手工實現(xiàn)

YOLOv1原理精講:從網(wǎng)格編碼到三路損失的手工實現(xiàn) 簡介本資源是一份面向深度學(xué)習(xí)初學(xué)者與計算機視覺開發(fā)者的YOLOv1實戰(zhàn)訓(xùn)練指南聚焦于如何基于Keras框架快速構(gòu)建并訓(xùn)練自定義目標(biāo)檢測模型。資源提供完整可運行的Keras_YOLOv1實現(xiàn)含darknet19網(wǎng)絡(luò)定義、train/test腳本及README說明配套圖像預(yù)處理示例jpg、數(shù)據(jù)列表配置txt和模型訓(xùn)練/測試代碼py覆蓋數(shù)據(jù)準備、模型搭建、訓(xùn)練調(diào)優(yōu)到結(jié)果可視化全流程。壓縮包共11個文件含3個Python核心腳本、4張示例圖像原始與檢測結(jié)果對比、3個文本配置文件及1份Markdown說明文檔總大小僅128KB輕量易解壓適合本地快速驗證與二次開發(fā)。目前已有110人學(xué)習(xí)下載讀者可直接復(fù)用目錄結(jié)構(gòu)與代碼模板省去環(huán)境適配與基礎(chǔ)框架搭建時間尤其適用于課程設(shè)計、小規(guī)模工業(yè)檢測場景或YOLO算法演進原理研究。1. 為什么還在用 YOLOv1不是為了懷舊而是為了“看懂目標(biāo)檢測的骨架”你可能在 GitHub 上刷到過一堆標(biāo)著 “YOLOv5/v8/v10 最新版”的倉庫點進去全是自動標(biāo)注、一鍵訓(xùn)練、WebUI 可視化——但當(dāng)你被導(dǎo)師問“YOLOv1 的損失函數(shù)為什么分坐標(biāo)、置信度、類別三部分計算”“S×S 網(wǎng)格怎么對應(yīng)到原始圖像坐標(biāo)”時卻卡在了反向傳播的黑匣子門口。這套基于 Keras 實現(xiàn)的 YOLOv1非官方復(fù)現(xiàn)但結(jié)構(gòu)清晰、注釋完整不是為工程落地而生而是為“親手把目標(biāo)檢測從頭擰緊每一顆螺絲”而設(shè)計。它不追求 mAP 多高但強制你手寫grid_cell_to_bbox()、手動拆解loss_coord和loss_conf、逐層調(diào)試conv4 → fc5 → output的 shape 變化。適合某高校計算機視覺課設(shè)、畢設(shè)中需要完整展示算法原理→代碼實現(xiàn)→訓(xùn)練驗證閉環(huán)的學(xué)生也適合想甩掉 PyTorch 自動求導(dǎo)依賴、真正吃透 anchor-free 檢測范式底層邏輯的初階工程師。它不幫你省時間但它能讓你在答辯時指著 loss 曲線說清楚“這里第 37 輪震蕩是因為我在compute_iou里漏判了邊界框歸一化導(dǎo)致 conf_loss 突增”——這種確定性就是它存在的全部理由。2. 總體架構(gòu)設(shè)計Keras 函數(shù)式 API 構(gòu)建的四層結(jié)構(gòu)與數(shù)據(jù)流閉環(huán)這套方案沒有采用 Keras Sequential 模型而是嚴格使用函數(shù)式 APIFunctional API目的很明確讓每一層輸入輸出 shape 可追溯、梯度流向可打斷、中間特征圖可提取。整個網(wǎng)絡(luò)被劃分為四個邏輯層每層承擔(dān)明確職責(zé)且彼此解耦——這意味著你可以單獨替換 backbone比如把原始的 24 層卷積換成 ResNet18 提取器而不影響后續(xù) detection head 的 loss 計算邏輯。2.1 輸入預(yù)處理層固定尺寸 歸一化 標(biāo)簽編碼的三步不可逆操作YOLOv1 對輸入尺寸極其敏感必須統(tǒng)一為 448×448原始論文設(shè)定。這不是為了兼容性而是因為其 S7 的網(wǎng)格劃分直接綁定圖像寬高比。預(yù)處理代碼如下def preprocess_image(image_path, label_path, input_size448, S7, B2, C20): # 1. 讀取并縮放雙線性插值保持比例 img cv2.imread(image_path) img cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img_resized cv2.resize(img, (input_size, input_size)) # 2. 歸一化到 [0,1]Keras 默認要求 img_normalized img_resized.astype(np.float32) / 255.0 # 3. 解析 label 文件PASCAL VOC 格式 .xml 或自定義 .txt # 假設(shè) label_path 是 .txt每行: class_id x_center y_center width height (歸一化后) boxes [] with open(label_path, r) as f: for line in f.readlines(): parts line.strip().split() cls_id int(parts[0]) x, y, w, h map(float, parts[1:5]) # 注意YOLOv1 要求 bbox 坐標(biāo)是相對于整張圖的絕對比例不是 grid cell boxes.append([cls_id, x, y, w, h]) # 4. 編碼為 (S, S, 5*B C) 的 label tensor label_tensor np.zeros((S, S, 5*B C)) for box in boxes: cls_id, x, y, w, h box # 計算該 bbox 中心點落在哪個 grid cell (i, j) i int(y * S) # 行號y 方向 j int(x * S) # 列號x 方向 if i S or j S: continue # 邊界溢出跳過真實項目中應(yīng)做裁剪或警告 # 歸一化中心坐標(biāo)到 grid cell 內(nèi)部 [0,1] x_cell S * x - j y_cell S * y - i # 寬高保持原始比例相對整圖 w_cell w h_cell h # 填充 label_tensor前 5*B 位存 B 個 bbox 的 (x,y,w,h,conf)后 C 位存 one-hot 類別 for b in range(B): if label_tensor[i, j, 4 b*5] 0: # 找第一個空置信度位 label_tensor[i, j, b*5:(b*54)] [x_cell, y_cell, w_cell, h_cell] label_tensor[i, j, 4 b*5] 1.0 # 置信度 1有物體 break # 類別 one-hotC20此處簡化為單類實際需擴展 label_tensor[i, j, 5*B int(cls_id)] 1.0 return img_normalized, label_tensor提示這段代碼里的i int(y * S)是關(guān)鍵陷阱點。很多初學(xué)者誤用i int(y)導(dǎo)致 grid cell 索引錯亂。YOLOv1 的(x,y)是歸一化到[0,1]的乘以S才得到 cell 索引。我一般會在preprocess_image后加一句assert np.sum(label_tensor[..., 4]) 0確保至少有一個置信度被激活否則訓(xùn)練必然失敗。2.2 Backbone 特征提取層24 層卷積 池化的經(jīng)典 VGG 風(fēng)格設(shè)計原始 YOLOv1 使用 24 層卷積前 20 層 ImageNet 預(yù)訓(xùn)練后 4 層隨機初始化本方案完全復(fù)現(xiàn)該結(jié)構(gòu)但用 Keras 層級顯式聲明便于調(diào)試def build_backbone(input_tensor): # 輸入(None, 448, 448, 3) x Conv2D(64, (7, 7), strides(2, 2), paddingsame, nameconv1)(input_tensor) # 224x224 x BatchNormalization()(x) x LeakyReLU(alpha0.1)(x) x MaxPooling2D((2, 2), strides(2, 2))(x) # 112x112 x Conv2D(192, (3, 3), paddingsame, nameconv2)(x) # 112x112 x BatchNormalization()(x) x LeakyReLU(alpha0.1)(x) x MaxPooling2D((2, 2), strides(2, 2))(x) # 56x56 # 后續(xù) 5 組 convpool最終輸出 7x7x1024 特征圖 # 代碼略共 24 層卷積詳見 model.py 中 build_backbone 函數(shù) return x # 輸出 shape: (None, 7, 7, 1024)這個 backbone 的輸出尺寸必須是(7,7,1024)這是硬性約束。因為 YOLOv1 的 detection head 直接在此基礎(chǔ)上接全連接層將(7,7,1024)flatten 成(1, 7*7*1024)再映射到(1, 7*7*(5*220)) (1, 1470)。任何尺寸偏差都會導(dǎo)致Dense層報錯。這也是為什么不能隨意替換 backbone —— 除非你同步修改后續(xù)的 reshape 和 dense 層參數(shù)。2.3 Detection Head 層從特征圖到預(yù)測張量的降維與解耦Backbone 輸出(7,7,1024)后Detection Head 并非簡單接一個 Dense 層而是分兩步走先用GlobalAveragePooling2D或Flatten降維再用兩個全連接層過渡最后輸出(7,7,1470)張量。本方案采用更魯棒的Flatten Dense組合并顯式分離坐標(biāo)、置信度、類別分支def build_detection_head(backbone_output, S7, B2, C20): x Flatten()(backbone_output) # (None, 7*7*1024) (None, 49*1024) x Dense(4096, activationleaky_relu, namefc1)(x) # 4096 是原文設(shè)定 x Dropout(0.5)(x) x Dense(S*S*(B*5 C), activationlinear, nameoutput)(x) # 輸出 1470 維 # 關(guān)鍵reshape 回 (S, S, B*5 C) 以便后續(xù) loss 計算 output_tensor Reshape((S, S, B*5 C))(x) # 分離預(yù)測每個 cell 預(yù)測 B 個 bbox每個 bbox 5 維 (x,y,w,h,conf) C 維類別 # 這里不立即拆分留到 loss 函數(shù)中按索引取保證梯度連貫 return output_tensor注意Reshape((S, S, B*5 C))這一步。很多同學(xué)在這里用tf.reshape或K.reshape導(dǎo)致模型無法保存必須用 Keras 原生Reshape層。另外B*5 C 2*5 20 30所以最終輸出張量 shape 是(None, 7, 7, 30)而非(None, 1470)—— 這是后續(xù)所有 loss 計算和 NMS 的基礎(chǔ)維度。2.4 損失函數(shù)層坐標(biāo)、置信度、類別三路 loss 的手工拼裝與加權(quán)YOLOv1 的 loss 是其靈魂所在也是最容易翻車的地方。它不是單一 MSE而是三部分加權(quán)和loss_coord: 僅對負責(zé)預(yù)測該物體的 grid cell 中的 bbox 計算即I_obj^ij 1的 cell且只計算(x,y,w,h)不包括 confloss_conf: 對所有 cell 計算但正樣本有物體用(C_i - C_i_hat)^2負樣本無物體用λ_noobj * (0 - C_i_hat)^2loss_class: 僅對有物體的 cell 計算類別預(yù)測誤差。本方案將 loss 封裝為自定義 Keras loss 函數(shù)關(guān)鍵代碼如下def yolo_v1_loss(y_true, y_pred): # y_true: (None, 7, 7, 30), y_pred: (None, 7, 7, 30) S, B, C 7, 2, 20 lambda_coord 5.0 lambda_noobj 0.5 # 1. 提取真實標(biāo)簽中的 object mask: (None, 7, 7) # y_true[..., 4] 和 y_true[..., 9] 分別是兩個 bbox 的置信度原文中只用第一個 # 實際我們只關(guān)心是否有物體取 max(4,9) 0 即認為該 cell 有物體 obj_mask tf.reduce_max(y_true[..., 4::5], axis-1) # (None, 7, 7) obj_mask tf.expand_dims(obj_mask, axis-1) # (None, 7, 7, 1) # 2. 坐標(biāo) loss只對 obj_mask1 的 cell 計算 (x,y,w,h) # 注意w,h 用 sqrt 計算避免大 bbox 梯度爆炸 coords_true y_true[..., :4*B] # (None, 7, 7, 8) coords_pred y_pred[..., :4*B] # (None, 7, 7, 8) loss_coord lambda_coord * tf.reduce_mean( obj_mask * tf.square(tf.sqrt(coords_true[..., 2:4*B:5]) - tf.sqrt(coords_pred[..., 2:4*B:5])) obj_mask * tf.square(coords_true[..., :4*B:5] - coords_pred[..., :4*B:5]) ) # 3. 置信度 loss正樣本用 obj_mask負樣本用 (1-obj_mask) conf_true y_true[..., 4:B*5:5] # (None, 7, 7, 2) conf_pred y_pred[..., 4:B*5:5] # (None, 7, 7, 2) loss_conf_obj tf.reduce_mean(obj_mask * tf.square(conf_true - conf_pred)) loss_conf_noobj lambda_noobj * tf.reduce_mean((1 - obj_mask) * tf.square(conf_pred)) loss_conf loss_conf_obj loss_conf_noobj # 4. 類別 loss只對 obj_mask1 的 cell 計算 C 維 one-hot class_true y_true[..., B*5:] # (None, 7, 7, 20) class_pred y_pred[..., B*5:] # (None, 7, 7, 20) loss_class tf.reduce_mean(obj_mask * tf.square(class_true - class_pred)) return loss_coord loss_conf loss_class注意這段代碼里coords_true[..., 2:4*B:5]的切片邏輯極易出錯。2:4*B:5表示從索引 2 開始步長為 5取4*B個元素中的 w,h 維度即索引 2,3,7,8,...。我第一次寫時漏了:5導(dǎo)致取了全部 8 個值loss 爆炸。建議在訓(xùn)練前用model.compile(lossyolo_v1_loss, optimizeradam)后先model.evaluate(dummy_x, dummy_y)測試 loss 是否為有限值再開始正式訓(xùn)練。3. 數(shù)據(jù)集構(gòu)建與標(biāo)注規(guī)范從 VOC 到 YOLOv1 標(biāo)簽的精準映射YOLOv1 不接受任意格式的標(biāo)注它對標(biāo)簽的物理意義、數(shù)值范圍、存儲結(jié)構(gòu)有強約定。本方案提供了一套完整的轉(zhuǎn)換腳本voc_to_yolo1.py但更重要的是理解“為什么這樣轉(zhuǎn)”。3.1 PASCAL VOC 標(biāo)注的局限性與 YOLOv1 的適配改造VOC 的.xml文件記錄的是xminyminxmaxymax像素坐標(biāo)而 YOLOv1 要求所有坐標(biāo)必須歸一化到[0,1]中心點(x_center, y_center)和寬高(w, h)必須是相對于整張圖的比例每個.txt標(biāo)簽文件一行一個物體格式為class_id x_center y_center w hclass_id從 0 開始且必須與classes.txt中順序嚴格一致。轉(zhuǎn)換腳本核心邏輯如下def voc_to_yolo1(xml_path, image_path, classes_file, output_txt_path): tree ET.parse(xml_path) root tree.getroot() size root.find(size) img_w int(size.find(width).text) img_h int(size.find(height).text) with open(classes_file, r) as f: classes [line.strip() for line in f.readlines()] with open(output_txt_path, w) as out_f: for obj in root.iter(object): cls_name obj.find(name).text if cls_name not in classes: continue cls_id classes.index(cls_name) xmlbox obj.find(bndbox) xmin int(xmlbox.find(xmin).text) ymin int(xmlbox.find(ymin).text) xmax int(xmlbox.find(xmax).text) ymax int(xmlbox.find(ymax).text) # 轉(zhuǎn)換為 YOLOv1 格式中心點 寬高 歸一化 x_center ((xmin xmax) / 2.0) / img_w y_center ((ymin ymax) / 2.0) / img_h w (xmax - xmin) / img_w h (ymax - ymin) / img_h # 寫入class_id x_center y_center w h out_f.write(f{cls_id} {x_center:.6f} {y_center:.6f} {w:.6f} {h:.6f}\n)提示x_center和y_center必須是(xminxmax)/2除以img_w/img_h而不是(xmin/img_w xmax/img_w)/2—— 數(shù)學(xué)等價但浮點精度下后者可能引入微小誤差在int(y * S)時導(dǎo)致 grid cell 錯位。我吃過這個虧一張圖里 3 個物體2 個進了正確 cell1 個因y_center差了1e-8被int()截斷到隔壁 cell訓(xùn)練時該 cell 的I_obj^ij為 0但 loss 卻在懲罰它的 bbox 預(yù)測結(jié)果模型學(xué)不會定位。3.2 小樣本數(shù)據(jù)集的增強策略幾何變換優(yōu)先色彩擾動次之YOLOv1 對數(shù)據(jù)量敏感但盲目增加ImageDataGenerator的rotation_range20或shear_range0.2會破壞 bbox 的幾何一致性。本方案推薦的增強組合是必選horizontal_flipTrue鏡像翻轉(zhuǎn)不改變 bbox 語義只需 x_center 1 - x_center慎選width_shift_range0.1, height_shift_range0.1平移后需同步調(diào)整 bbox 坐標(biāo)代碼已內(nèi)置禁用rotation_range,zoom_range,shear_range旋轉(zhuǎn)/縮放/錯切會扭曲 bbox 形狀YOLOv1 無 anchor 機制無法適應(yīng)形變。增強后的圖像與標(biāo)簽必須同步保存腳本augment_and_save.py會生成_aug001.jpg和_aug001.txt并確保.txt中的坐標(biāo)已重算。3.3 數(shù)據(jù)集劃分與加載器Keras Sequence 的內(nèi)存友好實現(xiàn)為避免一次性加載所有圖片到內(nèi)存448×448×3×N 占用巨大本方案使用keras.utils.Sequence自定義生成器class YOLOv1DataGenerator(Sequence): def __init__(self, image_paths, label_paths, batch_size8, shuffleTrue): self.image_paths image_paths self.label_paths label_paths self.batch_size batch_size self.shuffle shuffle self.on_epoch_end() def __len__(self): return int(np.ceil(len(self.image_paths) / self.batch_size)) def __getitem__(self, index): batch_indices self.indices[index*self.batch_size:(index1)*self.batch_size] batch_images [] batch_labels [] for i in batch_indices: img, label preprocess_image( self.image_paths[i], self.label_paths[i], input_size448, S7, B2, C20 ) batch_images.append(img) batch_labels.append(label) return np.array(batch_images), np.array(batch_labels) def on_epoch_end(self): self.indices np.arange(len(self.image_paths)) if self.shuffle: np.random.shuffle(self.indices)__getitem__中調(diào)用preprocess_image是關(guān)鍵。它保證每次 yield 的都是實時處理后的(448,448,3)和(7,7,30)內(nèi)存占用恒定且支持shuffleTrue下的真隨機。4. 模型訓(xùn)練與超參調(diào)優(yōu)從學(xué)習(xí)率衰減到早停策略的實戰(zhàn)配置YOLOv1 訓(xùn)練不是“run train.py 等 100 epoch”而是一場與 loss 曲線的耐心博弈。本方案的train.py提供了開箱即用的配置但真正決定成敗的是以下三個超參的協(xié)同。4.1 學(xué)習(xí)率調(diào)度階梯式衰減 warmup 的雙階段控制YOLOv1 原文使用lr0.001但直接使用會導(dǎo)致初期 loss 震蕩劇烈。本方案采用warmup step decay# warmup前 5 個 epochlr 從 1e-5 線性升到 0.001 def warmup_step_decay(epoch): if epoch 5: return 1e-5 (0.001 - 1e-5) * epoch / 5.0 else: # 階梯衰減每 30 epoch 降為 0.1 倍 return 0.001 * (0.1 ** (epoch // 30)) lr_scheduler LearningRateScheduler(warmup_step_decay)為什么是 5 和 30因為 backbone 的 24 層卷積參數(shù)量大前 5 epoch 是讓淺層特征提取器“熱身”避免初始梯度爆炸而 30 epoch 是經(jīng)驗閾值——在多數(shù)小數(shù)據(jù)集2000 圖上loss 在此之后下降緩慢繼續(xù)訓(xùn)練易過擬合。4.2 優(yōu)化器選擇Adam 優(yōu)于 SGD 的實證依據(jù)YOLOv1 原文用 SGD momentum但本方案實測 Adam 更穩(wěn)定。原因在于Adam 的自適應(yīng)學(xué)習(xí)率能更好處理loss_coord數(shù)值小、loss_conf數(shù)值大、loss_class數(shù)值中三者量綱差異beta_10.9, beta_20.999的默認設(shè)置對 YOLOv1 的梯度分布匹配度高不需要手動調(diào)momentum和nesterov。optimizer Adam(learning_rate0.001, beta_10.9, beta_20.999, epsilon1e-07) model.compile(optimizeroptimizer, lossyolo_v1_loss)避坑 / 常見問題 / 排查 / 注意現(xiàn)象訓(xùn)練第 1 個 epoch 后loss_coord突增至1e5以上loss_conf接近 0原因preprocess_image中x_cell S * x - j計算錯誤j用了int(x * S)但x未歸一化導(dǎo)致x_cell為負數(shù)或 1sqrt(w)報錯梯度爆炸解決檢查preprocess_image輸入的x,y,w,h是否已歸一化加斷言assert 0 x 1 and 0 y 1現(xiàn)象val_loss持續(xù)下降但val_loss_coord卻上升原因驗證集標(biāo)注中存在w或h為 0 的無效 bbox如xminxmax導(dǎo)致sqrt(w)為 0loss_coord計算時出現(xiàn)nanKeras 自動忽略該樣本但loss_coord分母變小數(shù)值虛高解決在voc_to_yolo1.py中加入if w 0.001 and h 0.001:過濾極小 bbox現(xiàn)象訓(xùn)練 50 epoch 后所有預(yù)測 bbox 的conf都趨近于 0.5class輸出混亂原因lambda_noobj0.5過小負樣本置信度 loss 權(quán)重不足模型學(xué)會“保守預(yù)測”對所有 cell 都輸出中等 conf解決將lambda_noobj提高到1.0或2.0強制模型區(qū)分有/無物體 cell現(xiàn)象model.predict()輸出的(7,7,30)中conf值全為 0 或 1無中間值原因Dense層后未加sigmoid激活conf和class預(yù)測值未經(jīng)壓縮直接進入 loss 計算導(dǎo)致梯度飽和解決在build_detection_head的Dense層后對conf和class部分加sigmoidoutput_tensor tf.concat([tf.sigmoid(conf_part), tf.sigmoid(class_part)], axis-1)現(xiàn)象訓(xùn)練過程 GPU 顯存占用從 2GB 漲到 12GB 后 OOM原因tf.data.Dataset或Sequence中batch_size過大且preprocess_image內(nèi)部未釋放臨時變量如cv2.imread返回的img解決preprocess_image結(jié)尾加del img, img_resized或改用tf.io.read_filetf.image.decode_jpeg由 TensorFlow 圖優(yōu)化內(nèi)存4.3 早停與模型保存基于val_loss_coord的精準干預(yù)YOLOv1 的最終目標(biāo)是精確定位因此不能只看val_loss。本方案監(jiān)控val_loss_coordearly_stopping EarlyStopping( monitorval_loss_coord, # 自定義 metric需在 compile 時注冊 patience15, verbose1, modemin, restore_best_weightsTrue ) model_checkpoint ModelCheckpoint( best_yolov1.h5, monitorval_loss_coord, save_best_onlyTrue, modemin )要讓EarlyStopping識別val_loss_coord需在compile時注冊自定義 metricdef loss_coord_metric(y_true, y_pred): # 復(fù)制 loss_coord 計算邏輯返回 scalar # 代碼同 loss 函數(shù)中 loss_coord 部分略 return loss_coord_scalar model.compile( optimizeroptimizer, lossyolo_v1_loss, metrics[loss_coord_metric, accuracy] # accuracy 此處無意義僅為占位 )5. 模型推理與結(jié)果可視化從 raw output 到可交付檢測圖的全流程訓(xùn)練完的.h5模型不能直接用于檢測必須經(jīng)過后處理Post-processing才能得到人類可讀的 bounding box。本方案的inference.py封裝了完整 pipeline。5.1 Raw Output 解析從(7,7,30)到候選 bbox 列表模型輸出pred model.predict(img_batch)后pred是(1,7,7,30)。解析步驟如下def parse_prediction(pred, S7, B2, C20, confidence_threshold0.3, iou_threshold0.4): # pred: (1, 7, 7, 30) pred pred[0] # (7, 7, 30) bboxes [] for i in range(S): for j in range(S): # 取該 cell 的兩個 bbox 預(yù)測 for b in range(B): # 置信度 conf pred[i, j, 4 b*5] if conf confidence_threshold: continue # 中心點相對于 cell x_cell pred[i, j, b*5] y_cell pred[i, j, b*5 1] # 寬高相對于整圖 w pred[i, j, b*5 2] h pred[i, j, b*5 3] # 還原到整圖坐標(biāo) [0,1] x (j x_cell) / S y (i y_cell) / S # 轉(zhuǎn)為 (xmin, ymin, xmax, ymax) 歸一化坐標(biāo) xmin max(0, x - w/2) ymin max(0, y - h/2) xmax min(1, x w/2) ymax min(1, y h/2) # 類別概率20 維 class_probs pred[i, j, B*5:] cls_id np.argmax(class_probs) cls_score class_probs[cls_id] final_score conf * cls_score # YOLOv1 的最終置信度 obj_conf * class_prob if final_score confidence_threshold: bboxes.append([xmin, ymin, xmax, ymax, final_score, cls_id]) # 轉(zhuǎn) numpy array 并做 NMS if len(bboxes) 0: return [] bboxes np.array(bboxes) keep non_max_suppression(bboxes, iou_threshold) return bboxes[keep] def non_max_suppression(bboxes, iou_thresh): # 標(biāo)準 NMS 實現(xiàn)按 score 降序計算 IOU抑制重疊 # 代碼略詳見 utils.py pass注意final_score conf * cls_score是 YOLOv1 的核心設(shè)計不是后加的 trick。conf表示“這個 cell 里有物體的概率”cls_score表示“這個物體是某類的概率”二者相乘才是“這個 bbox 是某類物體的置信度”。漏乘會導(dǎo)致高 conf 低 cls 的 bbox 被保留檢測結(jié)果全是“疑似物體”。5.2 可視化腳本支持 OpenCV 與 Matplotlib 雙引擎為適配不同環(huán)境服務(wù)器無 GUI / 本地調(diào)試visualize.py提供兩種模式def draw_bboxes_cv2(image, bboxes, classes, colors): # image: (H,W,3) uint8 h, w image.shape[:2] for box in bboxes: xmin, ymin, xmax, ymax, score, cls_id box # 歸一化坐標(biāo)轉(zhuǎn)像素 x1, y1, x2, y2 int(xmin*w), int(ymin*h), int(xmax*w), int(ymax*h) color colors[int(cls_id) % len(colors)] cv2.rectangle(image, (x1,y1), (x2,y2), color, 2) label f{classes[int(cls_id)]}: {score:.2f} cv2.putText(image, label, (x1, y1-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 1) return image def draw_bboxes_plt(image, bboxes, classes, colors): # image: (H,W,3) float32 [0,1] plt.figure(figsize(12,8)) plt.imshow(image) for box in bboxes: xmin, ymin, xmax, ymax, score, cls_id box rect patches.Rectangle((xmin, ymin), xmax-xmin, ymax-ymin, linewidth2, edgecolorcolors[int(cls_id)%len(colors)], facecolornone) plt.gca().add_patch(rect) plt.text(xmin, ymin-0.02, f{classes[int(cls_id)]}: {score:.2f}, colorcolors[int(cls_id)%len(colors)], fontsize10) plt.axis(off) plt.show()5.3 檢測性能評估m(xù)AP 計算的輕量級實現(xiàn)本方案不依賴 pycocotools安裝復(fù)雜而是用sklearn.metrics.average_precision_score實現(xiàn) VOC 風(fēng)格 mAPdef calculate_voc_ap(precisions, recalls): # VOC 11-point interpolation ap 0 for t in np.arange(0, 1.1, 0.1): if np.sum(recalls t) 0: p 0 else: p np.max(precisions[recalls t]) ap p / 11.0 return ap def evaluate_model(model, test_generator, classes, iou_thresh0.5): all_scores [] all_labels [] all_dets [] all_gts [] for i, (x_batch, y_batch) in enumerate(test_generator): preds model.predict(x_batch) for j in range(len(x_batch)): # 解析 pred[j] 得到 det_boxes det_boxes parse_prediction(preds[j:j1], ...) # 從 y_batch[j] 解析 gt_boxes逆向 preprocess_image gt_boxes decode_label(y_batch[j]) all_dets.append(det_boxes) all_gts.append(gt_boxes) # 計算 per-class AP aps {} for cls_id in range(len(classes)): scores, labels [], [] for dets, gts in zip(all_dets, all_gts): # 計算該類別的 TP/FP/FN tp, fp, fn compute_tp_fp_fn(dets, gts, cls_id, iou_thresh) scores.extend([det[4] for det in dets if det[5]cls_id]) labels.extend([1 if tp_i else 0 for tp_i in tp]) if len(labels) p a hrefhttps://download.csdn.net/download/2401_87496566/89843308 stylecolor:#ec7500;font-size:14px; 本文還有配套的精品資源點擊獲取 /a img altmenu-r.4af5f7ec.gif srchttps://csdnimg.cn/release/wenkucmsfe/public/img/menu-r.4af5f7ec.gif stylewidth:16px;margin-left:4px;vertical-align:text-bottom;cursor:text; /p
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
暴力av在线| 91粉芽高清在线一区二区| 丁香六月啪啪| 五月综合久久| 天天综合网1| 中文熟女五十乱码在线| 加勒比综合在线| 超碰偷拍| 97香蕉网| 999精品国产高清一区二区| 91操熟女| 狠狠操天天干| 爱干爱射网啊啊啊| 九九九九精品一区| 啊啊啊啊啊啊啊网址在线观看| 啊啊啊啊啊啊啊在线| 可以免费观看的日韩av毛片| 天堂蜜桃无码视频一区二区| 东京热不卡视频| 人人操,操人人| 人妻AV 中文字幕的| 劲爆欧美人妖三区91| 人人插人人搞人人操| caopeng97| 蜜臀一二三区| 欧美国产伊人久久久久| 日日妻色网| 人人人人插| 动漫av中文| 亚洲成人精品在线一区| 免费超碰97久久| 人妻天天爽天天爽三区| 色爱综合网| 久久精品高清无码一区| 欧美人妻久久精品二区三区| 91痴汉| 色综合网1| 97se综合| 日影院久久婷婷夜夜网| 國產尤物AV尤物在線觀看| 麻豆 美女 丝袜 人妻 中文| 色色国产| 亚洲欧洲日本精品中文a∨| 日本操大逼| 日韩乱伦影音先锋| 亚洲综合图文| 丁香六月婷婷综合| 久久香蕉影院| 精品人妻一区二区免费看| 亚洲熟女乱色一区二区三区| 亚洲女优有码无码高清| AV男人天堂网| 激情综合五| 久久一级无码精品毛片6| 精品三级在线专区| 欧美青青视频| 亚乱色| 日本操逼视频在线| 亚av顶级裸体一区二区三区四区五区| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 美女操逼福利视频| 老司机深夜18禁污污网站| 日韩成人精品中文字幕| 美女被艹尤物视频| 欧美在线干| 亚洲学生妹高清av| 久婷婷一区| 美女自卫慰黄网站免费| 免费试看60秒| 亚洲精品国产熟女久久久| 91人人看| 我爱操| 亚洲熟妇无码一区二区三区| 99热超碰在线| 久久久久久久少妇| 婷婷伊人| 日韩人妻网站| 四季AV综合网址| 国产精品国产自产拍高清AV| 天堂网 主播 亚洲| 日韩性爱长视频免费| 午夜福利国产欧美日韩夜夜| 2020久久免费视频| 性爱免费视频成人| 欧美狠狠干| 欧美性爱日韩高清| 干日本人少妇午夜寂寞影院| 色色婷婷五月天| 日韩精品99久久久久久中文字幕| 欧美日韩国第一区| 五月丁香综合| 久久久性爱视频| 久9爱经典视频| 91人精品妻入口| 欧美性爱五月天| 青青草九九九九九| 久久精品店| 91精品少妇搡搡搡| 精品视频一区二区| 亚洲最新中文字幕免费| 亚洲乱色视频一区、二区在线| 激情在线青青操| 91c色| 欧美A√综合网| 日本大香蕉综合网| 精品无码一区二区三区色欲| 自偷自拍的亚洲视频| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 天天看夜夜看日日干| 99热只有这里有精品| 啪啪视频mP4| 另类老少妇| 婷婷五月天激情网| 亚洲AV免费在线| 欧美综合传媒| 99∨VTV| 天天综合站| 伊人久久综合精品欧美| 最新中文字幕在线亚洲| 久久久99999久网站| 国产精品久久aV| 国产一级做a爰大片免费久久| 26uuu国产日韩综合在线观看| 久夜视频| 中文字幕乱码人妻二区三区| 99色在线观看| 国产精品久久久久久久久久久久久久久久| 好爽,再快点啊哈嗯嗯嗯嗯| 美欧色综合| 欧洲天天在线| 欧美另类综合久久| 欧美激情高清性猛交| 国产精品天美传媒| 欧美色图成人网一区二区 | 999久久久九| 人人干人人操人人爱| 欧美一区二区成人一卡| 久久久久久9| www.婷婷五月天| 岛国片在线播放| A啊啊在线观看| 2020国产精品| 99re9| 熟啊v色欧美热| 老司机老司机午夜影院| 亚洲欧美日韩中文播放| 极品色综合| 人妻无码久久一区二区三区免费| 日本免费一区二区不卡 | 99无码视频| 尤物网址| 中文字幕人妻色偷偷久久皮| 激情五月天社区| 欧洲亚洲国产综合在线| 国内亚洲高清无码| 乱伦日本中文自拍| 日本高清视频在线观看黄已三辽| 精品久久在线区一区| 熟女人妻一区二区三区| 日本五十路熟女一区二区| 日本性爰一道本| 国产91 丝袜在线播放00-百度| 国产女主播视频在线观看| 欧美熟妇操操视频| 国产精品一区二区在钱播放| 国产99久久99热这里只有精品15 | 亚洲综合网91| 久久婷婷苹果| 欧美男人亚洲天堂| 天天看特黄的免费网站| 久久偷拍人| 午夜性生活av免费在线看| 蜜臀99久久精品久久久久久| 日韩精品电影| 99色热| 蜜臀99久久国产| 久久久不卡| 国产又粗又长视频| 天天久久久久久| 久草午夜| 免费视频观看60秒| 欧美色青| a天堂视频| 天天日天天爽| 欧美 中文字幕 一区| 欧美日韩精品久久| 精品国产乱码久久久久久久| 国产一级舔足在线观看| 久久性视频| 五月天婷婷激情| 国产剧情一区在线观看| 成人七区| 一区二区三区机械有限公司| 欧美中文字幕一区 | 伊人丁香五月婷婷| 99热99色| 96AV久久久| 欧美韩日精品资源| 校园春色五月天| HEYZO高无码国产精品227| 婷婷久草| 日韩美女,国产传媒,视频一区| 青青草好吊| 免费在线看黄片av| **一级毛片国产| 亚洲情色婷婷五月天| 久欲AV| 国产精品欧美在线观看| 欧美大码在线视频| 91欧美丝袜| 亚洲的天堂网| 日本在线播放不卡一区| 国产福利精品最新在线| 久操精品网| 麻豆久久久久久久久丝袜 | 能看的AV| 色娱乐色呦呦夜夜夜夜av| 超碰欧美| 色色婷婷五月天| 999熟女精品| 国产久久一区二区三区野外在线| 少妇久久久免费| 97超碰精品图片| 欧美一级专区免费大片 | 精品免费囯产一区二区三区| 思思热免费在线视频| 黑丝91视频| 91亚洲人| 日本有码影片下载| a片久久久久久久久久久久| 91GD.COM| 日韩精品-原创伙伴| 熟女露脸激情自拍视频| 国产精品久久久久久久毛片1| 骚逼高潮久久精品| 激情小说亚洲| 好吊色一区| 成人无遮挡毛片免费看| 欧美性爱97超碰| 综合网欧美| 美女啊啊啊啊pc| 五月天我淫我色av| 国产乱青青草久久| 天天看天天日| 亚洲日韩久久精品一区| 久久久精品中文字幕爱豆| 五月婷视频| 久久的免费性爱视频| 狠狠综合| 国产v片在线免费观看| 伊人久久国产免费观看视频| 日本理论在线| 午夜视频黄| 夜夜嗷嗷一区二区| 丝袜熟女一区二区三区| 亚洲天天操| 蜜桃久久久久久久| 五月丁香六月综合缴清无码| 亚洲s色图| 日日操天天操| 性爱综合一区二区| 夜夜夜爽www精品视频| 操香逼| 无遮挡h肉动漫在线观看| 超碰欧美COM| 亚洲欧洲美腿丝袜| 久操大香蕉| 在线αⅴ| 欧美色www亚洲国产阿娇要播| av网站免费看| 午夜.DJ高清在线观看免费7| 香蕉久久AⅤ...| 欧美顶级黄色大片免费| 国产九九久久久精品| 日韩视频小说在线观看| 久久岛国| 日本一级二级三级网站| 亚洲情色图片区| 9精品久久久久| 日本在线观看网址| 欧美男女午夜啪啪| 一本一道久久综合久久| 日韩黄片视频试看| 97AV爱| 97操综合| 亚洲欧洲精品视频发布| 久久久久性熟视频| 91国模| 色9999日韩国产| 操人妻逼91| 偷拍亚洲| 99操碰| 日韩特一级久久| 在线有码中文字幕| 综精品久久久aaaa| 亚洲图片另类| 翘臀vidoes| 五月天人妻综合| 操逼逼中文字幕| 蜜臀色乳| 亚洲 日本 国产 综合| 97九色人妻| 午夜操一视频一区| 91在线无码精品秘 软件| 男人的亚洲天堂| 天天操人人操狠狠插| 久久111| 中文字幕天堂在线| 国产又大又粗又长视频在线| 超碰色综合| 色欲天天综合网| 天天综合站| 丝袜大香蕉| 清纯唯美亚洲另类| 五月丁香激情综合网| 亚洲做性| 91亚洲不卡一区| 好色综合| 97色色,97综合| 精品伊人久久久大香线蕉小说| 黑人精品久久97| 国产强上视频在线观看| 俺也射| 激情小说五月天| 久草免费在线视频| 欧美大香蕉在线观看| ji熟女.com| 亚洲诱惑天堂| 色综合久| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 操逼日韩无码| 亚洲网站一区二区在线| 久久超碰免费的| 亚洲国产精品9999在线观看| 久久精品99久久久久久| 91在线秘 男同| 精品人妻视频一区二区在线播放| 精品久久久久久亚洲| 国产一区二区二区按摩精品啪视频| 干B视频伊人网| 91精品久久久| 91模特在线观看| 无码人妻丰满熟妇奶水区毛片| 可以免费看黄片的视频| 偷拍亚洲情色| 好舒服视频| 亚洲综合激情五月久久| jk白丝没脱就开始啪啪| 色欲天天婬色婬香WWW夜色| 亚洲一二三| 狠狠狠狠狠狠| 精品人妻av在线播放| 精品人妻一区二区三区蜜桃视频| 欧美日韩淫加| 婷婷五月综合激情| 无码精品一区二区三区潘金莲| com 首页 18岁 禁区 女优 免费 精选 同城| 五月丁香六月激情综合| 成人免费在线网站| 日韩特级毛片免费观看全集| 自拍啪啪视频| 人人操人人射人人干| 日夜啪电影| 国产午夜激片Av毛片不卡| 日本成人在线不卡一区二区三区| 97chaopenrihan| 天天淫人人妻日日色| 精品人妻美妇91job| 蜜乳视频网站| 欧美色图 色综合图| 亚洲资源网| 熟妇视频一区二区三区在线观看| 日韩天美| 青草av在线| 国产亚洲女v在线观看| 啊啊啊啊好疼| 国语精品av| 欧美一区二区三区成人性生活| 亚洲综合另类欧美久久久| 国产视频一区二区免费| 亚洲熟女性高潮久久久| 亚洲黄色视频在线观看视频| 超碰97人人cao| 人妻丝袜一区二区三区在线| 欧美九九九| 五月天AV资源| 超碰9 7女人| yirendaxiangjiashipin| 少妇超碰在线| 自慰白浆在线观看| 在线国产探花| 婷婷五月天色色| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 精品美女久久久久| 欧美91在线| 免费精品无码一级毛片牛牛影视| 色妇综合网| 超碰色大香蕉| 999久久久九九九九| 亚州高清AV| 天天综合91入口| 超碰99在线| 久操国产在线| 97久久久| 久久精品国产亚洲AV高清演员表| 人人操人人摸人人看人人插| 日本人妻中文字幕 | 国产女人高潮视频| 日韩欧美亚洲国产日韩| 亚洲综合另类欧美久久久| 亚洲男人天堂2019| 欧美白嫩女HD| 久久高清无码夜夜操| 大香蕉色欲AV| 国产综合久久久麻桃个| 在线日韩日本亚洲国产| 亚洲国产婷婷在线播放| 久久久久久久久成人av解说| 人妻中文字幕日韩电影| 激激五月| 美日韩在线不卡人妻| 欧美狠狠弄| 啊啊啊啊啊好舒服视频| 老熟妇91| 欧美性爱91| 午夜精品探花| 九九热九九热| 91痴汉| 亚洲九九九| 99久久精品无码一区二区毛片免费| 日韩一级成人毛片免费观看| 欧美色色色| 欧美日韩亚洲天堂网| 激情啪啪视频| 日韩激情电影中文字幕| 丰满人妻av一区二区三区 | 风间由美日韩欧美久久| 久久伊人最新网址视频| 在线视频日韩欧美国产| 熟妇人妻一区二区三区| 日1区2区3区2020| 综合av社区| 澳门特级毛片免费观看| 校园春色欧美色图| 999精品女人| wwwcaobibi| 国产欧美一区二区| 玖玖久久久| 人人操人人插人www| 99久久综合网| 久操影视| AAAAAAAAA黄片| 欧美美女自慰一区二区三区| AV在线播放网址| 伊人网青青| 97精品综合久久| 欧洲精品欧洲精品| 亚洲天堂在线怕怕视频| 天天做天天爽| 欧美色图99| 在线岛| 日han少妇无码| 99re黄| 日本免费专区| 夜夜嗷嗷一区二区| 百度百度日本操逼| 粉嫩绯色AV一区二区在线| 91国产美女丝袜足交精品视频| 色噜噜国产精品视频一区二区| 狠狠中文字幕| 色综合20p| 免费又黄又裸乳的视频| 97国产天堂岛| 97在线精品观看视频| 99爱久久视频频| 天天拍夜夜| 婷婷六月色| 美女爽爽爽刺痛洞洞| 黄片com.| 精品国产乱码久久久久久日本公司| 第四色奇米影视777| 色女综合| 99e久久国产精品| 人妻少妇色综合| 国产Av超碰| 丁香婷婷激情五月天无毒不卡| 99热| 在线黄色污污网站| 91干熟女| 天天综合官网| 色999人与兽| 欧美日本成人一区二区| 五月天黄色av| 岛国激情视频在线观看| 欧美色色人| 嫖老熟女A片一二三区| 亚洲做性| 熟妇亚洲一区二区三区| 人妻一区二区三区视频| 校园春色宗合网| 欧美gv在线观看| 中文字幕文字幕无码一区二区三区电影99| 国产不卡免费在线视频| 久久久91福利姬| 99操碰| 国产精品欧美在线观看| 97这里都是精品| www.91逼逼.com| 免费国产| 天天射网| 欧美18老人禁| 国产中文字幕在线观看| 殴美,日韩国产伦精品| 性videos欧美熟妇hdx| 超碰这里只有精品| 天天综合色| 日本人妻伦在线中文字幕| 精品国产乱码久久久兰草影视| 久久夜黄色无码A级大片| 国产蜜臀在线| 800zy一区二区| 一本久道在线综合视频| 91亚洲最新在线| 91丝袜美腿网站| 日本三级网页| 欧美亚洲国产91在线| 亚洲国产中文字幕| 97二区四区| 国产99久久99热这里只有精品15 | 黄页av| 色 亚洲 91| 超91综合网| 国产成人手机视频激情| 神马久久久久| 啪啪啪男女亚洲中文字幕99| 欧美老妇女内射网址| 九九热精品视频在线观看| wwwxxx日本爽| 久久夜夜| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 国产嫩草精品A88AV| 800zy一区二区| 久久精品三级影视| 蜜臀视频网站| 中文字幕乱妇免费视频| 日韩人人精品| 美女黄码视频午夜| 91亚洲青青草原精品1区| 免费人成?大片在线播放| 中文字幕一区二区三区字幕| 色臀av| 99少妇内射| 日韩色女精品| 亚洲高清内射| 日本一区二区三区欧美日韩中文字幕| 三级片网站在线播放| 人人操人人操草草| 操逼操逼逼操操逼91 | 天美传媒av一区二区| 67194无码不卡| 成人 日韩欧美一区| 91久操| 大色综合网| 亚洲成人免费中文字幕| 欧美大香蕉久| 激情网色| 中文字幕一区二区三区高清| 国产一进一出视频网站| 久久精品欧美一区二区三区不卡| 久久精品久久久久久久久| 91成人无码| 欧美激情视频一区二区| 欧美自拍网| 婷婷人妻激情| 色姑娘综合网| 日本精品一级二级三级| 青娱乐福利99| 国产乱色国产精品免费视| 免费观看国产小粉嫩喷水精品午| 波多野42部无码喷潮在线观看| 中文AV制服乱伦| 久操91视频| 无码人妻精品一区二区中文| 99精品成人免费看| www99热| 青青国产精品在线| 婷婷三区| 久久久久久免费电影| 亚洲有薄码区久久在线一区| 亚洲天堂资源在线| 日本人妻最新在线中| 一级片在线观看高清无码| 青青操综合网| 可以免费观看的AV| 青青草视频爽一爽| 精品制服美女中文一区二区三区| 亚洲丝袜在线观看| 高清有码一区二区| 大香蕉免费乱伦视频| 日本一级性爱| 日韩偷拍色图| 亚洲性少妇| K8久久久久| 精品无码久久| 人人贴人人摸| 丁香六月激情| 97干天天| 久日综合网| 亚州综合色| 国产一级不卡在线观看| 婷婷五月天激情小说| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 国产最新AV| 精品人妻视频一区二区三区蜜桃视频| 少妇蹲下买菜露大唇0| 加勒比伊人| 亚洲一卡2卡3卡4卡乱码网站| 操操碰| 97精品97| 91少妇高潮| 亚洲一级特黄大片在线播放91| 大香蕉九九| 色天堂综合| 欧美性夜| 狠狠色综合网| 欧美影音在线| 久久精品国产亚洲AV先锋| 国产精品无码论坛| 狠狠2050在线观看| 亲子敌伦对白在线播放| 婷婷五月天av| 日日夜夜模| 操B视频日韩无码| 精品色色| 91久久国产精品| 国产精品直播在线观看直播| 六六久久日韩不卡| 欧美色图99| 国产第25页在线观看| 男人天堂一区二区| 啊啊啊啊好疼| 亚洲天堂 视频你懂的| 96AV精品| 97操b| 丁香五月婷婷基地| 91麻豆天美国产欧美高潮| 人人潮人人摸| 青青草日本中文字幕| 欧亚无码视频| 欧美日日夜夜| 日本影视久久免费| 又黄又爽在线观看视频| 亚洲天堂男人天堂网| 99久久婷婷国产综合| 热久久无毒不卡| 国产精品久久久久中文字幕| 91少妇通奸网站| 干日本人少妇午夜寂寞影院| 亚洲少妇在线影音| 99这里只有精品国产| 伊人青青草久久| 欧美gv在线观看| 中国黑人三级片网站上区| 亚洲色综合| 九九久久99| 综合91网| 久久鲁干| 中文字幕一品色图| 国产成人精品亚洲日本| 骚货操死你| 99色在线视频| 91精品人| 东京热熟女亚洲视频网站| 懂色av色欲av蜜臀av| 亚洲AV免费在线观看| 一本色道久久天天射天天干| 欧美亚洲美少妇一区二区| 免费看国产曰批40分钟怎么下载| 怡红院网站在线视频| 激情五月天丁香| 久久系列| 欧美白嫩女HD| 色婷婷电影| 91处女在线观看| 台湾佬中文娱乐自偷自拍| 色香天天| 涩涩久久精品| 精品国产肉丝袜在线拍国语| 男人久久天堂| 91网站18在线| 日本污ww视频网站| 一级一性爱免费视频| 久久骚少妇| 在线国产一区二区av| 欧美色图91| 嫩草伊人久久精品| 精品毛片久久久精品毛片| www欧美91| 欧美aⅴ99久久黑人专区| 成人乱码一区二区三少妇| 五十路三区在线| 性爱欧美五月| 人人摸人人干| 东京热视频网| 欧美成97爱| 亚洲人久久久网| 嗯啊不要在线观看嗯啊| 国产精品亚洲无码| 午夜福利合集| 久久久久9999妇女| 久热这里| A V视频日本| 草草草视频在线免费看| 夜色97| AV天堂电影网| 色色色综合| 亚洲系列第一页| 国产精品国产精品国产| 91强在线播放| 日本999精品视频| 俺去也婷婷| aaaa少妇高潮大片| 国产免a费看黄片在线| 人妻少妇精品视频一区二区三区| 亚洲熟久久| 无码一区二区三区四区五区六区七区八区九区十区视频 | 九九人妻| wwe 天天干.com| 无码自拍SM| 成人aⅴ一区二区三区| 性猛交| 国产sv美女内射| 欧美,日韩,中文,另类| 欧美日韩国产电影| 99啪| 亚洲日韩av一区二区三区百合| 国产av尤物| 五月色网| 久久久久久久久女黄| 久99热| 乱伦一二三区| 一级@啪啪视频| 在线视频一区二区传媒| http://qxhbdz.com| 亚洲精品视频在线播放| 亚洲强奸乱伦影视网| 久久五十路熟女人妻| 欧美日产国产在线成人第一区| 免费观看网黄| 黄色大片视频在线免费看| 大色综合| 激情小说亚洲| 张柏芝国产一区在线观看| 欧美激情一| 91九色丰满高潮| 久久后入制服| nuu12国产麻豆精品| 青青久日| 美女9118禁| 91无码西班牙视频在线| 丁香五六月啪啪| 1769一区| 粉嫩粉嫩一区性色AV片| 99热在线观看| 日韩有码免费视频| 青青草伊人久久| 久久亚洲熟妇在线视频| 久久大精品乱码视频人妻熟女| 精品亚洲俞拍视频一区| 日韩 女同 综合| 亚洲欧美伦综合| 色臀av| 国产一区在线观看无码AV| 国产操逼视频在线观看| 国产亚州高清国产拍精| 伊人91| 国产免费大片| 免费草草草草草视频| com 首页 18岁 禁区 女优 免费 精选 同城| 大香蕉草草| 超碰综合色| 91超碰在线观看| 电家庭影院午夜69久久夜色精品国产69乱 | 亚洲91网站| 97超碰中文| 高清无码人妻久久久一区二区三区aⅴ| 日韩欧美传媒一区国产| 91精品女厕偷拍视频| 国产女人成人精品视频| 亚洲精品819| 日本欧美m v精品网站加| 99草精| 国产探花日韩援交| 婷婷干黄色| 色婷婷影院| 久久久久久久久久久久黄色 | 曰韩操B| 欧美国产日韩清纯唯美| 亚洲 se图 欧美电影| 亚洲天堂久| 亚洲无992tv| 午夜色婷婷| 亚洲天堂情色| 欧美日韩久久精品爱爱| 日本三级一区二区 在线| 亚洲成人免费电影| 中文欧丝袜诱惑| www久久国产精品| 超碰人人草| 91操人| 亚欧高清| 亚洲有码 视频一区| 少妇熟女视频一区二区三区| 12一15性XXXX粉嫩国产| 日本99久久| 成熟熟女国产精品一区二区| 国产乱伦视频污| 国产少妇肉丝在线观看| 999九九精品| 无码丰满熟妇一区二区浪潮AV| 蜜桃无码AV一区二区| 麻豆激情综合| 人人人摸人人| 嗯啊不要在线| JuliaAnnXXX888| 人妻激情偷乱视三区频一区二区| 狠插 制服 自拍| 84YTCOM性无码| 五月丁香综合激情| 久久精品一区一起草| 一区二区三区四区免费视频| 免费人人搞97| 中国AV美女| 九九视品黄色| 日本不卡二区| 91人妻丝袜无码| 熟女熟妇一区二区三四区| 大地资源在线观看中文第二页| 国产视频第2页| 最新国内自拍av免费| 国产传媒美日韩av| 老熟妇乱轮| 亚洲综合另类欧美久久久| 国产免费一区2区3区| 乱精品一区字幕二区| 人人妻人人玩人人澡人人爽| 无遮挡猛进视频免费无限观看| 成人开心网在线视频| 国产热RE99久久6国产精品首| 中国熟女91| 一区二区三区欧美激情| 欧日韩一二三f区| 超碰在线人妻| 欧美高清色| 五月婷婷综合网| 夜草网站| 熟妇高潮精品一区二区三区下载| A 在线网址| 日本五区不卡| 98色网| 97无码视频在线播放| 97色妞| 18禁的网站在线| 一卡二卡三卡| 刺激性视频黄页| 国产无码高清操逼视频| 日韩欧美天天爽爽爽天天爽爽| 抽插无码高清一区| av2014 日韩在线中文字幕| 激情综合五月婷婷| 黑人娇小av在线播放| 亚洲免费97免费| 精品超碰国产| 国产精品香蕉| 97在线观视频免费观看| 色欲久久综合| 亚洲欧美小说| 天天躁狠狠躁av| 精品区9| 久久性生大片免费观看性| 久久综合超碰| 人人扣人人操| 中文字幕精品免费一区二区| 吊色| 人妻丝袜无 码视频专区| 蜜乳视频网站| 99re视频在线播放青草| 神马久久久久眼| 日韩性爱电影一区| 一级一性爱免费视频| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 不卡啪啪视频| 亚洲综合另类| 丰满欧美放荡少妇在线| 少妇诱惑视频| 国产又大又硬又长又粗| 久久亚洲中文字幕视频| 大屁股熟女一区二区三区| 91欧美高清| 国产激情在线| ji熟女.com| 欧美 亚洲| 亚洲欧美啪啪| 婷婷亚洲综合| 日本操BAV| 高潮毛片无遮挡高清免费| 亚洲 日本 不卡| 丝袜狂射91| 久久骚少妇| 亚洲操操操| 色牛牛AV| 色哟哟511老熟女| 天美传媒精品一区二区| 天天综合网~91| 丝袜美腿射精91| 欧美制服网站美腿丝袜| 成人丁香五月| 自慰白浆在线观看| 亚洲成人激情小说视频| 亚洲日韩熟女人妻高清在线| 四虎永久在线精品免费网址| 久久久久成人亚洲国产| 亚洲一区二区三区中文字幕| 精品亚洲一区在线观看| 极品色综合| 久久久555| 小电影欧美91| 熟女久久久| 国产吹潮女在线观看| 青青草玖玖爱| 久久日本熟妇熟色高清| 99国产精品久久久久久久成人热| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美一区二区三区四区综合| 天天噜| 东北熟女91| 超碰1997| 久久熟女久| 激情四射熟女丝袜| 亚州人妻| 好屌色综合| 天天超级碰碰碰| 大香蕉综合久久| 夜夜骑天天燥| 91男人天堂网| 久久久九九九九| 国产欧美黑人丰满在线| 亚洲青青草| 天美麻豆黄色录像| 日本一卡二区在线| 丝袜 中出 制服 人妻 美腿 中文字幕| 加勒比久久av| 97在线公开视频| 超碰在线一区二区三区| 天美麻豆一区二区三区| 丝袜足交视频| 中文字幕精品免费一区二区| 欧差乱伦二三| 国产亚洲精品激情| 欧美aaaaaaa| 日日操丁香五月天| 91粉嫩萝控精品福利网站_精品影音先锋国 | 日韩综合无码一区久久92| 色哟哟AⅤ| 日本视频一区二区三区| 人妻 丝袜美腿 中文字幕| 欧美人妻一区| 狠狠狠狠狠狠| 天美av在线观看| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 午夜福利国产欧美日韩夜夜| 亚洲精品白浆高清久久久久久| 久久人人爽爽人人爽人人片αV| 色哟哟511老熟女| 99精品久久| 色91综合网| 伦理弟一页| 97伊人| 搞中出久久| 黄色AAAAAAAAAAA大片| 伊人五月天激情| 成人五月香网在线| 激情欧美日韩女同久久| 欧美亚洲韩国视频十五区| 又粗又长又大国产不卡| 性在久久久久久| 激情久久久| 久久天天躁日日躁狠狠躁 | 一个人免费HD91视频| 色性欧美| 啊啊啊啊啊舒服| 91熟女网| 欧美日韩精品一区二区三区高清| 人妻少妇视频在线播放| 国产91精品久久久久久久网曝门| 国产三级中文字幕粉嫩| 国产狂喷潮在线精品| 九月激情婷婷| 一级黄色影片| 日韩不卡网操逼中文字幕日韩| 欧美性性性| 日韩图区 偷拍| 中文啪啪视频| 91综合天天看| 蜜臀AV秘一区翔田千里| 亚洲日韩一区电影| 国产乱不卡| av强奸乱轮| 精品一区二区三区蜜桃臀赵总 | 免费1级a做爰片观看| 99色色| 一区二区三区日韩欧美| 亚洲天堂资源在线| 欧美国产伊人久久久久| 99九九久久| 性色综合网| 亚欧韩av| 亚洲在钱| 国产精品一区二区久久精品| 蜜桃久久一区二区三区| 极品一区二区三区免费| 国产一级高跟丝袜| 国产乱码久久| 欧美综合综合| 熟女六十路| 青青11操操操操操操操操| 婷婷人妻激情| 性一交一乱一交A片久久四色| 91久久国外网| A级毛片在线看免费| 欧洲Au麻豆| 一级性爱网| 久久精品99| 麻豆色约约| 2024人人操人人摸| 天天综和| 一本色道无码DVD中文字幕| 亚洲色偷偷色噜噜狠狠99网| 91老司机在线| 熟女突然公开看18禁影片| 极品一区二区三区免费| 天天做日日爱夜夜爽| 久久久久久9999| 日日夜夜精品| 欧美色日| 亚洲av性爱电影| 人妻天堂综合网| 欧美天天综合网版| 99热欧美| 久热这里只有精品9| 天天插天天操| 欧美日韩一二三| 亚洲各类熟们中文字幕| 极品内射| 国产操伦| 日本黄页视频在线观看| 精品黑人一区二区| 国产超碰97| a在线视频免费观看| 麻豆av一区二区| 欧美极品女人的天堂| 久久大香蕉97| 99ri视频| 亚洲色天| 密臀AV在线| www.av在线视频| 91狠狠狠| 丝袜熟女2P| xxxx网站亚洲精品| 日韩综合97P| 激情婷婷| 囯产精品久久久久久久久久梁医生 | 国产精品久久久久久久无码AV| 色噜噜人妻av 中文字幕| 欧美A片中文字幕| 超碰在97| 熟女被操视频网址| 麻豆成人影音在线| 99精品热| 图片区小说区| 男人精品区| caopeng97人妻| 少妇干B| 丰满人妻区一区二区三| 综合网欧| 色99视频| 日日操免费视频| 国产精品禁久久久精品| 激情网五月天| 天天色天天干天天爱| 久久久久成人网| 欧美黄色图片| 日本福利二区视频| 波多野42部激情无码喷潮| 久久精品一区一起草| 日韩人体偷拍| 国产精品自在线发布| 麻豆久久一区二区三区| 欧美高潮| 麻豆黄色五月天| 久草视频分类在线| 黄片qw| 9999久久久| 大乔未久88一区| 天天操女人| 色色色999| 精品国产一区二区三区四区在线看| 天操天操夜操夜月月年年操操| 精品91摸| 天天操综合网| 91狠狠综合| 亚洲做性| 校园春色宗合网| 91亚洲影院综合| 丰满的三级少妇欧美久久久| 天天色天天干天天爱| 91色综合| 日韩一级二级三级| 欧美伦乱爱| 后入内射蜜桃臀| 亚洲精品一区中文字幕乱码| 五月天玖玖资源站| 亚洲精品一区二区精品| 激情小说亚洲| 97综合激情| 天天日熟妇| 国产污视频麻豆传媒一区二区| 韩日精品四区| 99视频精品| 在线观看黄色电话| 久久性爱精品一区| 天天看精品动漫视频一区| 天天综合网~91| 亚洲久9| 夜夜做夜夜爽精品视频| 亚洲欧洲无码一区夜| 日本啊啊啊啊啊视频| 韩日男人的天堂| 超碰在线99| 色婷婷狠狠| 婷婷亚洲色| 天天干天天拍| 婷婷五月天影院| 韩国一级婬片A片AAAAA| 五月综合婷婷久久网站| 少妇干B| 国产宅男宅女在线观看| 成人性爱av| 亚洲国产精品有声| 91c色| 国产大学生口爆吞精合集| 大香蕉久| 久久精品国产亚洲AV成人直播| 在线强奷到舒服的无码视频 | 日本丝袜美腿人妻九九| 一区三区啪啪| 婷婷香蕉| Av色五月| 久久偷拍人| 91 亚洲情侣偷拍 久久|