色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

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

YOLOv1原理精講:從網(wǎng)格編碼到三路損失的手工實(shí)現(xiàn) 簡介本資源是一份面向深度學(xué)習(xí)初學(xué)者與計(jì)算機(jī)視覺開發(fā)者的YOLOv1實(shí)戰(zhàn)訓(xùn)練指南聚焦于如何基于Keras框架快速構(gòu)建并訓(xùn)練自定義目標(biāo)檢測模型。資源提供完整可運(yùn)行的Keras_YOLOv1實(shí)現(xiàn)含darknet19網(wǎng)絡(luò)定義、train/test腳本及README說明配套圖像預(yù)處理示例jpg、數(shù)據(jù)列表配置txt和模型訓(xùn)練/測試代碼py覆蓋數(shù)據(jù)準(zhǔn)備、模型搭建、訓(xùn)練調(diào)優(yōu)到結(jié)果可視化全流程。壓縮包共11個文件含3個Python核心腳本、4張示例圖像原始與檢測結(jié)果對比、3個文本配置文件及1份Markdown說明文檔總大小僅128KB輕量易解壓適合本地快速驗(yàn)證與二次開發(fā)。目前已有110人學(xué)習(xí)下載讀者可直接復(fù)用目錄結(jié)構(gòu)與代碼模板省去環(huán)境適配與基礎(chǔ)框架搭建時間尤其適用于課程設(shè)計(jì)、小規(guī)模工業(yè)檢測場景或YOLO算法演進(jìn)原理研究。1. 為什么還在用 YOLOv1不是為了懷舊而是為了“看懂目標(biāo)檢測的骨架”你可能在 GitHub 上刷到過一堆標(biāo)著 “YOLOv5/v8/v10 最新版”的倉庫點(diǎn)進(jìn)去全是自動標(biāo)注、一鍵訓(xùn)練、WebUI 可視化——但當(dāng)你被導(dǎo)師問“YOLOv1 的損失函數(shù)為什么分坐標(biāo)、置信度、類別三部分計(jì)算”“S×S 網(wǎng)格怎么對應(yīng)到原始圖像坐標(biāo)”時卻卡在了反向傳播的黑匣子門口。這套基于 Keras 實(shí)現(xiàn)的 YOLOv1非官方復(fù)現(xiàn)但結(jié)構(gòu)清晰、注釋完整不是為工程落地而生而是為“親手把目標(biāo)檢測從頭擰緊每一顆螺絲”而設(shè)計(jì)。它不追求 mAP 多高但強(qiáng)制你手寫grid_cell_to_bbox()、手動拆解loss_coord和loss_conf、逐層調(diào)試conv4 → fc5 → output的 shape 變化。適合某高校計(jì)算機(jī)視覺課設(shè)、畢設(shè)中需要完整展示算法原理→代碼實(shí)現(xiàn)→訓(xùn)練驗(yàn)證閉環(huán)的學(xué)生也適合想甩掉 PyTorch 自動求導(dǎo)依賴、真正吃透 anchor-free 檢測范式底層邏輯的初階工程師。它不幫你省時間但它能讓你在答辯時指著 loss 曲線說清楚“這里第 37 輪震蕩是因?yàn)槲以赾ompute_iou里漏判了邊界框歸一化導(dǎo)致 conf_loss 突增”——這種確定性就是它存在的全部理由。2. 總體架構(gòu)設(shè)計(jì)Keras 函數(shù)式 API 構(gòu)建的四層結(jié)構(gòu)與數(shù)據(jù)流閉環(huán)這套方案沒有采用 Keras Sequential 模型而是嚴(yán)格使用函數(shù)式 APIFunctional API目的很明確讓每一層輸入輸出 shape 可追溯、梯度流向可打斷、中間特征圖可提取。整個網(wǎng)絡(luò)被劃分為四個邏輯層每層承擔(dān)明確職責(zé)且彼此解耦——這意味著你可以單獨(dú)替換 backbone比如把原始的 24 層卷積換成 ResNet18 提取器而不影響后續(xù) detection head 的 loss 計(jì)算邏輯。2.1 輸入預(yù)處理層固定尺寸 歸一化 標(biāo)簽編碼的三步不可逆操作YOLOv1 對輸入尺寸極其敏感必須統(tǒng)一為 448×448原始論文設(shè)定。這不是為了兼容性而是因?yàn)槠?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 默認(rèn)要求 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 # 計(jì)算該 bbox 中心點(diǎn)落在哪個 grid cell (i, j) i int(y * S) # 行號y 方向 j int(x * S) # 列號x 方向 if i S or j S: continue # 邊界溢出跳過真實(shí)項(xiàng)目中應(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此處簡化為單類實(shí)際需擴(kuò)展 label_tensor[i, j, 5*B int(cls_id)] 1.0 return img_normalized, label_tensor提示這段代碼里的i int(y * S)是關(guān)鍵陷阱點(diǎ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è)計(jì)原始 YOLOv1 使用 24 層卷積前 20 層 ImageNet 預(yù)訓(xùn)練后 4 層隨機(jī)初始化本方案完全復(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)這是硬性約束。因?yàn)?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 計(jì)算 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 計(jì)算和 NMS 的基礎(chǔ)維度。2.4 損失函數(shù)層坐標(biāo)、置信度、類別三路 loss 的手工拼裝與加權(quán)YOLOv1 的 loss 是其靈魂所在也是最容易翻車的地方。它不是單一 MSE而是三部分加權(quán)和loss_coord: 僅對負(fù)責(zé)預(yù)測該物體的 grid cell 中的 bbox 計(jì)算即I_obj^ij 1的 cell且只計(jì)算(x,y,w,h)不包括 confloss_conf: 對所有 cell 計(jì)算但正樣本有物體用(C_i - C_i_hat)^2負(fù)樣本無物體用λ_noobj * (0 - C_i_hat)^2loss_class: 僅對有物體的 cell 計(jì)算類別預(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. 提取真實(shí)標(biāo)簽中的 object mask: (None, 7, 7) # y_true[..., 4] 和 y_true[..., 9] 分別是兩個 bbox 的置信度原文中只用第一個 # 實(shí)際我們只關(guān)心是否有物體取 max(4,9) 0 即認(rèn)為該 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 計(jì)算 (x,y,w,h) # 注意w,h 用 sqrt 計(jì)算避免大 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負(fù)樣本用 (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 計(jì)算 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)簽的精準(zhǔn)映射YOLOv1 不接受任意格式的標(biāo)注它對標(biāo)簽的物理意義、數(shù)值范圍、存儲結(jié)構(gòu)有強(qiáng)約定。本方案提供了一套完整的轉(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]中心點(diǎn)(x_center, y_center)和寬高(w, h)必須是相對于整張圖的比例每個.txt標(biāo)簽文件一行一個物體格式為class_id x_center y_center w hclass_id從 0 開始且必須與classes.txt中順序嚴(yán)格一致。轉(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 格式中心點(diǎn) 寬高 歸一化 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é)等價但浮點(diǎn)精度下后者可能引入微小誤差在int(y * S)時導(dǎo)致 grid cell 錯位。我吃過這個虧一張圖里 3 個物體2 個進(jìn)了正確 cell1 個因y_center差了1e-8被int()截斷到隔壁 cell訓(xùn)練時該 cell 的I_obj^ij為 0但 loss 卻在懲罰它的 bbox 預(yù)測結(jié)果模型學(xué)不會定位。3.2 小樣本數(shù)據(jù)集的增強(qiáng)策略幾何變換優(yōu)先色彩擾動次之YOLOv1 對數(shù)據(jù)量敏感但盲目增加ImageDataGenerator的rotation_range20或shear_range0.2會破壞 bbox 的幾何一致性。本方案推薦的增強(qiáng)組合是必選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 機(jī)制無法適應(yīng)形變。增強(qiáng)后的圖像與標(biāo)簽必須同步保存腳本augment_and_save.py會生成_aug001.jpg和_aug001.txt并確保.txt中的坐標(biāo)已重算。3.3 數(shù)據(jù)集劃分與加載器Keras Sequence 的內(nèi)存友好實(shí)現(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 的都是實(shí)時處理后的(448,448,3)和(7,7,30)內(nèi)存占用恒定且支持shuffleTrue下的真隨機(jī)。4. 模型訓(xùn)練與超參調(diào)優(yōu)從學(xué)習(xí)率衰減到早停策略的實(shí)戰(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因?yàn)?backbone 的 24 層卷積參數(shù)量大前 5 epoch 是讓淺層特征提取器“熱身”避免初始梯度爆炸而 30 epoch 是經(jīng)驗(yàn)閾值——在多數(shù)小數(shù)據(jù)集2000 圖上loss 在此之后下降緩慢繼續(xù)訓(xùn)練易過擬合。4.2 優(yōu)化器選擇Adam 優(yōu)于 SGD 的實(shí)證依據(jù)YOLOv1 原文用 SGD momentum但本方案實(shí)測 Adam 更穩(wěn)定。原因在于Adam 的自適應(yīng)學(xué)習(xí)率能更好處理loss_coord數(shù)值小、loss_conf數(shù)值大、loss_class數(shù)值中三者量綱差異beta_10.9, beta_20.999的默認(rèn)設(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ì)算錯誤j用了int(x * S)但x未歸一化導(dǎo)致x_cell為負(fù)數(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卻上升原因驗(yàn)證集標(biāo)注中存在w或h為 0 的無效 bbox如xminxmax導(dǎo)致sqrt(w)為 0loss_coord計(jì)算時出現(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過小負(fù)樣本置信度 loss 權(quán)重不足模型學(xué)會“保守預(yù)測”對所有 cell 都輸出中等 conf解決將lambda_noobj提高到1.0或2.0強(qiáng)制模型區(qū)分有/無物體 cell現(xiàn)象model.predict()輸出的(7,7,30)中conf值全為 0 或 1無中間值原因Dense層后未加sigmoid激活conf和class預(yù)測值未經(jīng)壓縮直接進(jìn)入 loss 計(jì)算導(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的精準(zhǔn)干預(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 計(jì)算邏輯返回 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 # 中心點(diǎn)相對于 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)準(zhǔn) NMS 實(shí)現(xiàn)按 score 降序計(jì)算 IOU抑制重疊 # 代碼略詳見 utils.py pass注意final_score conf * cls_score是 YOLOv1 的核心設(shè)計(jì)不是后加的 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 計(jì)算的輕量級實(shí)現(xiàn)本方案不依賴 pycocotools安裝復(fù)雜而是用sklearn.metrics.average_precision_score實(shí)現(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) # 計(jì)算 per-class AP aps {} for cls_id in range(len(classes)): scores, labels [], [] for dets, gts in zip(all_dets, all_gts): # 計(jì)算該類別的 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; 本文還有配套的精品資源點(diǎn)擊獲取 /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
返回資訊列表
狠狠干狠狠色| 亚洲熟妇图片| 亚洲丝袜少妇在线| 91粉芽高清在线一区二区| 国产乱伦搜索结果91P| 91欧美综合| 佐山爱中文字幕| 国产精品白丝在线播放| 91岛国动作片| 国产99999久久精品| 日韩精品一区二区三区色欲| 久久精品国产精品一区| 人妻蜜桃臀| 国产精品乱码久久久久久久久| 91色图片| 国产自偷| 亚洲色图欧美激情| 操逼操逼操| 久操免费在线| 一本一道人妻久久一区二区三区 | 亚洲精品国产日韩无码AV永久免 | 国产强奸无码乱伦| 96AV精品| 97人人操人人摸人人爱| 狠狠爱夜夜干| 999精品国产高清一区二区| 9/A片| 人妻天天爽| 综合操逼| 国产精品久久久吖| 超碰中文字幕人妻草一区| 综合影院永久入口国产| 亚洲av热热色| 嗯嗯啊啊视频一区二区三区| 看一级特黄a大一片| 久久久精品网站| 97自拍视频在线| 欧美性爱精品七区| 亚洲春色欧美激情自拍| 久久久网一区| 亚洲欧美洲综合| 中日韩久久久| 农村妇女精品一区二区| 九久9热| 国产日韩区| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 日本三级韩国三级美三级91| 午夜综合在线| 99精品丰满人妻无| 欧美性综合| 欧美综合天堂| 国产乱码精品久久久久久| 国产一级特黄大片处女| 秋霞成人一级在线观看| 狠狠爱夜夜干| 日本欧美韩国国产在线| 91bbbbbb| 日本亚洲嫩草影院啪啪| 精品中文日韩字幕视频| 60秒免费小视频| 欧美综合骚| 日本中文字幕在线电影| 18禁的网站在线| 亚洲中文字幕熟女少妇一区二区| 懂色av中文字幕| 一区二区三区精品视频| 国产400孕妇孕交群| 久久久少妇诱惑精品视频| 91天美传媒精品| www.激情| 玖玖97综合 | 五月天婷婷在线看| 亚洲少妇综合| 欧美翘臀视频网站一区二区三区| 国产一区二区二区按摩精品啪视频| 亚洲欧美国产其他二区| 亚洲图片偷拍视频区| 国产一区二区三区久久久精品| 小日子操bb在线看| 操操操日本的逼| 欧美视频中文字幕区| 99综合视频一体| 国产精品九9| 97色爱| 欧美91丝袜| 狠狠躁天天躁日日躁97| 婷婷久草一区二区三区| 久久XX| 91色久| 亚洲精品国产AV天美传媒| 97超碰色屌| 97免费视频在线| 激情欧美97| 二男一女成人A片| 亚洲欧美一区二区不卡视频播放| 97精品中文字幕| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 婷婷8月天青娱乐| 久久久久久电影| 亚州色交| 人人搞人人插人人操| 2021国产成人精品久久| 乱抡国产91| 亚洲精品国产专区在线观看| 国产精品自拍欧美在线| 色色99| 自拍亚洲综合| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 操死我了啊啊啊| 高清国产精品福利网站| 偷拍欧美综合| 久久久96| 国产精品网站www| 国产在线观看91精品一区| 高清无码国产亚洲| 骚货操死你| 日韩亚洲中文字幕在线| 屁股久久久久久久久| 亚洲精品性爱片| 青娱乐亚洲热| 亚洲AV成人无码一二三久久| 丁香激情五月天| 久久黄黄黄| 亚洲图片另类| 国产性爱欧美性爱在线| AV中文在线| 久久蜜色情在线视频xxx免费观看| 测评在线观看AV| 久久久久久波多野吉衣高潮| 欧美,日韩综合久久| 91黄射| 曰本精品久久久| 亚洲97成人在线观看| 桃色人妻在线视频| 蜜桃臀av在线观看| 日韩亚洲精品一区二区| 91色综合色| AV乱伦专区| 美国三级日本三级久久99| 久久九九网| www.91视频网| 国产三级片在线观看| 久久久久78| 欧美精品99久久久| 亚洲欧美黄| 91五月天| 国产五码丝袜屁眼| 久久色激情一区二区三区| 欧美极品性爱天天射| 久久大线蕉一区| 国产女生在线| 伊人影院日本| 久久九九精品一区二区| 78p欧美| 日本一区二区成人在线| 国内毛片国产欧美拍| 精品久久97| 97视频在线观看网站| 少妇蜜汁| 99亚洲人人| 婷婷中文网| 日韩黄色一区二区三区| 国产黄色视频久久| 国产精品女生av| 亚洲色图殴美色图激情乱伦| 久精品无码av一区二免费国产在线观看 | 人人操人人插人人摸人人干| 日本成人免费一区二区三区| 国产一国产一级毛片古装| 自拍偷拍草一草| 国产高清视频无码在线| AV大香蕉| 久久久久久久国产| 女人综合网| 免费成人在线观看91| 国产 日韩 欧美一区| 国产精品久久久 | 超碰亚洲欧美日韩无| 亚洲 欧美日韩 另类| 亚洲一区二区中文字幕| 欧美日日网| 一色网男人的天堂| 亚洲色图综合网| 猛猛干| 久久伊人最新网址视频| 婷婷五月天激情网| 蜜臀久久99精品久久综合| 日本免费二区三区| 欧洲亚洲国产综合在线| 色哟哟511老熟女| 国产日本久久免费精品| 欧美色图天堂网m| 欧美精品四区| 中文字幕第23区| 九九九免费视频| www.yeyecao| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒| 国产精品天美传媒| 岛国不卡超碰护士AV在线播放| 超碰成人最新最好看| 蘋果手機免費看成人Av| 色九月综合| 九九热午夜欧亚国产视频| 偷拍片久久| 欧美激情内射| 69AV女优男人的天堂| 97免费在线观看视频| 五月婷婷久久综合| 啊啊啊啊啊啊好多水| 久久久久13| 加勒比久久av| 大香蕉在线视频15| 大香蕉碰碰| 色婷婷亚洲婷婷| 欧美日日操| 婷婷五月天久久精品视频一区二区三区| 蜜臀99久| 60秒免费小视频| 久久久久久久强迫| 99热日| 国产乱伦一二三区| 日本中文熟女视频| 美女十八禁| 伊人久久大香大香线蕉中文| 精品九九九九| 蜜桃臀av一区二区| A男人的天堂| 午夜男人一级A片7777| q2午夜理论片夜色av| 欧美色三级片91| 日本精品不卡一二三区| 囯产精品久久久久久久久久梁医生 | 日本护士高潮| 亚洲和欧美裸体美女双飞视频| 日韩卡一卡二卡三在线| 日韩无码一级黄色av片| 蜜桃香蕉久草精品在线| 99精品伊人| 99精品在线观看| 岛国黄色大片网站| 免费国产电影一区二区| 伊人国产成人av网站| 伊人青青草久久| 中文字幕一区 二区三四五 区日 日骚 | 精品二999| 欧美后进式| 日韩性爱电影一区| 亚洲无码视频免费在线观看网址!| 开心激情婷婷| 一个色导综合| 韩国国产欧美情侣视频在线| 天天天堂影视日韩亚洲91| 亚洲精品欧美专业| 在线啊啊啊啊| 黑人与人妻| 91美女视频在线免费观看| 91n免费处女| 欧美天天综合站| 久久久久九九九九九| 久操频道免费在线呗看| 国产极品粉嫩馒头一线天av| 国产懂色精品国产av| 天天操天天插| 欧美91久久久久| 久久中久文96| 国内精品a| 99性爱| 神马久久啊啊| 立川理惠被中出无码| 午夜影美女日鸡鸡天天视频国产| 欧美久久草熟女| 久久99综合| 精品无码产区一区二| 超碰91在线| 99热欧美| 婷婷午夜成人色中色| 人妻天天爽夜夜爽爽| 大香蕉伊人网WWWn0n| 风月影院男女十八禁| 农村妇女精品一区二区| 色噜噜人妻丝袜AV资源| 小草av不卡亚洲二区| 91n处女在线观看| A 在线网址| 91暧暧| 91狠狠综合久久| 国产一进一出视频网站| 97国产天堂岛| 日本精品一区二区三区四区的功能| 免费精品中文字幕| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | av在线观看不卡网站| 一区二区激情国产熟女 | 国产精品视频麻豆入口| 丝袜喷水在线| 久久久久亚洲熟妇熟女| 啊啊啊操一区| 96一区二区三区| 国产精品毛片?v一区二区三区| 天天综合日韩网| 精品一级| 亚洲 91 在线| 97超碰美女| 久操婷婷| 操逼A∨| 天天综合日韩网| 少妇天堂| 中文字幕二区日韩天堂| 欧美性性性| 亚洲一卡2卡3卡4卡乱码网站| 97超碰资源网| caoni国产亚洲av| 精彩久久中文| 九九色图| 天天干人人看综合| 国产性感骚丝袜在线| 欧美亚洲91| 校园春色 男人天堂| 中文子幕一二三| 在线无码操| 欧美同性恋 的搜索结果 - 91n| 狠狠综合网| 欧美在线亚洲| 99自拍B亚洲 | 国产嫩草精品A88AV| **一级毛片国产| 一牛一区二区三区久久| 96AV精品| 午夜国产综合视频在线观看 | 国产9熟妇视频网站| 午夜丁香| 国产青视频| 婷婷爱五月| 第四色亚洲色图| 上海一级黄片| 大香蕉伊然在亚洲91| 睡产熟女乱伦| 欧亚性爱视频免费看| 依人大香蕉| 好吊色综合| 国产有码一区| 欧美激情中文字幕另类小说| 精品熟妇视频一区二区| 韩国轻伦国内自拍一区| 在线无码操| 一区二区影视| 超碰1997| 人妻夜夜爽天天爽麻豆三区网站 | 免费看毛片操穴| 五月天久久综合网| 97人人夜| 东京热精品97综合网| 欧美 亚洲 偷拍自拍| 男啪女色黄无遮挡免费观看| 97chaopenrihan| 啊啊啊用力在线观看| 操逼不卡中文字幕| 久久久内射良家| 欧美三级一级| 色婷婷影视| 国产精品亚洲天堂网址| 国产黄色剧情影片麻豆免费播放| 亚洲人妻久久久| 国产美脚女优尤物在线观看| 激情综合五月婷婷| 亚洲av无码成人精品国产| 美女91| 自拍盗摄一区| 强奸乱伦动态污图免费 | 欧美另类丝袜熟女| 日本少妇va7777| 激情视频网址| 乱伦熟女区| 亚洲蜜乳av| 色色色日本| 96久久久久| 本道在线| 骚货 中文字幕 av| 国产风韵犹存熟妇三区| 操一区| 天天cao在线| 亚洲日韩东京热一区| 日韩传媒在线| 99∨VTV| 毛片电影一区二区三区| www.久久制服糖| 人人爱人人乐人人操| 蜜臀99999| 久久9精品视频| 日韩欧美经典在线观看| 国产成人自拍视频在线| 老司机老司机午夜影院| 日韩成人性爱AV| 国产精品日韩在线一区| 国产成人无码啪| 国产一区二区免费福利片| 一区二区乱码福利| 欧美性爱第1 页| 91少妇| 大香蕉一级黄色片久久| 久伊人网78| 天天日天天干天天摸天天操| 久久精品电影| 亚洲天堂少妇| 91亚洲欧洲| 99热| av天堂精品久久| 操迟操逼在巾线Fre看| 少妇人妻太紧太深av| 精品久久久高清无码| 国产一级137片内射麻豆| 男人的午夜天堂| 蜜臀久久99精品久久久久| 97碰碰色| 欧美激情久操网| 欧美五十路熟| 在免费jIzzjIzz在线视频| 99色热国产视频精品| 深夜国产一区二区三区在线看| 人人爱人人操人人性| 国产超碰在线| 男人的天堂成人的社区| 午夜九九| 中文字幕在线免费观看| 久草免费福利在线播放| 丁香六月婷| 精品一区二区三区四区女| 肉丝无码中文高清| 亚洲成人激情小说视频| 91精品久久久久五月天精品 | 国产久久一区二区午夜| 亚洲一区日韩| 中文字幕乱码人妻一区二区三区,99精品| 男插女青青影院| 精品人妻高清麻豆av| 久久精品| 日本免费人成视频播放120秒| 免费一级毛片在线视频观看| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 蜜桃AV天堂| 天天日天天干天天操| 香蕉一区二区三区在线视频| 久久一区二区加油站| 成人性交免费视频| 中文一区在线视频| 成人日本精品九区| 和协影院中文字幕三区| 大象AV在线| 在线人人人人人人精品超| 欧美黑人猛交春色影视大全| 蜜臀99999| 91制服丝袜| 18禁中文字幕| 五月婷婷色| 久久 久久国内精品亚洲| 日韩电影在线观看网址| 日韩av乱伦| 91激情网| 国产成人久久久精品免费AV| 啪啪啪综合网| 91在线一起| 日韩综合成人免费视频| av操操不卡| 九久9精品| 99色在线视频| 天天综合~91| 日韩三级天堂在线观看| www.人人cao| 97爱爱爱| 人人贴人人摸| 婷婷五月天AV| 国产精品一区二区三区在线| 91视频伊人| 天天影视色香欲综合网小说| 中文字幕一区av| 久久久久久人体| 欧美亚洲日本视频久久久| 欧洲亚洲天堂精品| 蜜乳AV一区| 天天躁狠狠躁av| www.伪伪| 欧美在线大香999| 欧美激情中文字幕另类小说| 国产精品午夜福利| 亚洲偷拍自拍在线视频| 五月天婷精品激情| 欧洲小说色图视频另类| yellow网站免费观看日韩高清无码| 国产免费久久精品99re韩国| 亚洲欧洲精品视频发布| 丰满欧美放荡少妇在线| 激情综合婷婷| 日本不卡二区| 一区二区 电影 亚洲| 青青免费在线视频一区| 久久99草| 激情六月婷婷| wwwxxx日本爽| 91网站18+| 992这里有精品| 亚洲爽图| 久久久噜噜噜久久人妻| 五月天婷婷久久| 人人搞人人插人人操| 欧美爆操91| 天堂中文资源在线bt| 少妇第一页| 在线播放中文字幕| WWW操逼| 亚洲色悠悠久久88| 欧日韩不卡视.频| 2023天天操夜夜操| 男人的天堂视频精品乱在线| 中文啪啪视频| 天天做日日爱夜夜爽| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 97超碰超| 骚熟女吞| av优播| 日韩不卡在线一区二区| 日韩福利电影网| 九九热精彩视频| 98一区二区精品| 激情无码日韩| 国产欧美一区二区| 色综合色欲色综合色综合色综合| 亚洲一区中文精品| 草草草草视频| 亚州高清av| 激情文学欧美| 少妇 综合| 欧美刺激色黄片免费看| 精品成人无码| 亚洲福利影院一区久久| 精品综合久久久久久97| 蜜臀人妻少妇久久在线观看| 在线强奷到舒服的无码视频| 亚洲**2021在线观看| 色九久| 久久精品一区| 五月婷婷激情综合| 精品少妇后入一区二区三区四区人妻巨乳 | 国产精品美女久久久久AⅤ国产馆| 日韩精品啪啪啪| 久久久久久久六六| 色五月69夫妻| 国产高清1234区| 激情五月天视频| 巨爆乳一区二区爆乳区| 免费岛国一级片| 97网色| 五月天AV资源| 日本免费二区三区| 超碰久在线天天做| 裸体1区| 开心五月激情网| 中文字幕精品资源在线| 黄aaaaaaaaaaaaaaaaaa色网站 | 麻豆AV96熟妇人妻| 婷婷伊人一区| 成人网欧美风情| 清纯唯美激情四射| 久久久av爱| 久久鲁夜| 少妇高潮流水av免费| 四虎免费在线播放| 亚洲欧洲无码97久久精品| 999岛国大片| 精品国产乱码| 亚洲美女AV无码| 国产三级日产三级韩国三级| 一区| 中日韩免费看男女操逼大全| 久久久久精| 一区二区影视| 丁香五月激情五月| 欧美综合第一页| 天天看,天天做| 玖玖超碰熟| 欧美不卡二区| 99热日| 亚洲黄色a级片| 九九九久久久久| 夜夜草天天| 久久大香蕉手机高清视频| 97超碰美女| 日本在线一二 | 激情AV| 热热色综合网| 久久久久久久人妻| 欧美操逼录像国产黄色国产| 日日干夜夜干| 欧美性暴力猛交| 青青操青娱乐| 国产精品一区二区手机看片| 混色激情av| 国产免费一区2区3区| 亚州宗合另类| 人人操我人人干| 日日操天天操| 在线免费观看高清无码视频| 白丝jkav| 精品亚洲国产成人精品| 97在线观看免费| 日本 欧美 国产一区| 91色婷婷综合久久中文字幕二区| 1024亚洲中文字幕久在线看片你懂的 | 日日爱99| 九九玖玖精品| 日韩 欧美 视频 在线 一区| 941超碰| 蜜臀久久99精品久久久老,,| 一区二区三区国产在线播放 | 亚洲另类色综合网站| 开心五月深爱五月| 国产无吗在线播放| 精产国品一区二三产品| 欧美 日韩 亚洲 春色| 久草精品一区| 久久草大香蕉| 葡萄牙性视频一二区| 日本免费不卡二区| 亚洲国产一区二区入口| 少妇的嫩逼图片| 无码91| 中文字幕狠狠玩| 一本色道熟妇| 国产精品欧美激在线| 亚洲一卡2卡3卡4卡乱码网站 | 亚洲婷婷五月天| 伊人影院日本| 日本免费二区三区| 强上我不卡卡| 日韩成人电影AV| 亚洲激情综合另类男同| 亚洲欧洲日韩中文字幕一区| 99国产天美| 秋霞一级视频在线观看免费| 蜜乳AV免费观看| 九九九九97| 久久精品视频28| 精品久久久久久亚洲| 天天日天天搞天天干| 久久99九九九九6666免费观看软件| 麻豆久久久久久久久丝袜| 人妻aa| 91人妻人人澡人人爽人人精品| 锕锕好爽 死我在线观看| 国产男女无套视频免费观看| 亚洲AV成人无码一二三久久| 青娱乐黄色录像| 亚洲欧洲色情高清| 亚洲欧美天堂在线| 日韩成人电影AV| 国产无马视频| 国产无码精品成人| 91超碰在线| 另类欧美色| 亚洲欧美综合网站| 久久久久国产| 色女99一级片在线观看| 亚洲精品久久久久久久蜜桃臀| 蜜臀在线看片| 性爱AV天堂| 91熟女综合| 亚洲第一黄色av网站| gogogo免费高清看中国国语| 色吧 综合| 操久久久久| 99热欧美| 久久久熟女一区| 风骚少妇视频中文字幕| 91nbbbbbb| 色九月综合| 亚洲影院小综合| 九九热男人天堂| 色精品极品| 91网站18在线观看| 亚洲色天堂日韩中| 香蕉99秘 精品一区丁香| 亚洲精品三| 婷婷综合激情| 骚逼高潮久久精品| 操碰91| 国产精品交换一区二区| 成人短视频在线观看| 精品-91人妻子系列| 亚洲成?V人片在线观看福利| 户外裸露刺激视频第一区| 郑州宾馆老熟女露脸啪啪| 成人无码在线超碰网| 很黄很色的视频在线观看| 欧美黑人精品在线播放| 2019久久久久久久久福利| www.99中文字幕| 欧美91视频| 激情干在线| 郑州宾馆老熟女露脸啪啪| 日韩国产在线观看av| 国产一级作爱毛片| 人人操,操人人| 激情视频网址| 日本青青草在线| 欧色综合| 熟女一区二区三区四区| 日本欧美m v精品网站加| 人人澡人人澡人人| …亚洲黄色厕厕女女在线播…| 超碰九7| 久久精品国产亚洲妲己影视| a男人的天堂久久一级A毛片| 黄色AAAAA欧美| 97精品综合久久| 女人爽到高潮久久久| 精品久久久久久久久久久久| 国产专区路线| 美女黄码视频午夜| 色蜜AV| 人人澡人人爽人人精品| 亚精品无码毛片一区二区三区| 97超碰精品图片| 色99999| 国产女人操逼视频| 狠狠狠狠狠狠| 另类av综合久久| 亚洲国产天堂| 成人一道本免费视频| 久久精品三级影视| 国产超碰人人操| 美女啪欧美一区| 72av视频| 中文字幕一区二区三区字幕| 99热这里是精品| 美性中文综合网| 美女t无毒不卡不卡| 婷婷在线视频在线观看| 成人性爱美曰韩| 中文字幕 一区二区 亚洲无码| 亚洲高清男人天堂| 视频不卡中文字幕| 日韩黄色电影网站| 久久一二三级一一一| 亚洲天天天| 日韩无码黄色片| 精品久久一区二区三区四区五区| 偷拍色图| 丝袜美腿丝袜| 亚洲中文字幕久久人妻| 国产在线不卡导航| 亚欧美综合| 国产欧美成人第一页在线观看| 中文字幕一区av| 天天综合麻豆视频| 99久国产精品午夜性色福利| 久久综合婷婷| 精品久操| 97国产高清视频在线观看| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 亚州欧美色图| 亚洲精品日韩国产欧美| 狠狠2050在线观看| 日韩性爱免费观看视频| 色色99| 青青草色AV| 亚洲黄网在哪免费看| 亚洲成人精品久久久| 九九亚洲| 大香蕉啪啪啪| 人妻久久| 99热精品在线在线| 一本色道久久综合亚洲二区三区| 国产白嫩漂亮KTV在线| 日日A∨| 欧美性天天| 国产女上位好爽在线| 综合色色婷婷| 久久久三区二区一区| 日韩激情中文字幕有码| 夜夜骑天天燥| 免费人成在线观看网站品爱网| 日韩传媒在线| а√天堂资源官网在线资源| 成人AV素股で擦久久| 久久后入制服| 青青草丝袜在线视频| 中文字幕av片| 国产日本久久免费精品| 9久9久| 97自拍视频在线| 国产嫩草精品A88AV| 大香蕉九九| 亚洲欧美在线丝袜| 先锋精品av色鲁| 亚洲成人贴图| 亚洲天堂另类美腿| 一个人免费视频观看在线WWW| 日韩精品人妻系列无码天堂| 思思热在线视频在线| 操操操操网黑人| 久久人人爽爽人人爽人人片αV| 免费网色网站| 亚洲成人无码影院| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 欧美亚洲影视| 久久精品国产99精品亚洲蜜...| 青青草精品| 乱性AV| A啊啊在线观看| 99re公开精品免费视频| 一本色道久久综合狠狠操| 丁香五月婷婷基地| 色香AV| 久久爱超碰网| 久操大香蕉| 亚欧成人一级片在线播放| 亚91亚洲网| 久久久精品无码亚免费| 男人的天堂kva| 中文字幕视频在线观看一区二区| 美国精品国产精品| 亚洲偷91色| 国产11页| 97操| 免费超碰97久久| 玖玖综合.com| 中文字幕一二三| 国产精品久久久久久久免牛肉蒲团| 亚洲天堂热| 狠狠操狠狠操操| 91n免费处女| 色精品极品| 91九色蝌蚪在线观看| 亚洲欧洲日韩中文字幕一区| 玖玖综合色| 国产亚州精品美女久久久免费| 久久久久9999| 久久熟女嫩草成人片免费| 淫妻综合网| 一区二区三区四区久久视1| 99精品久久久久久久婷婷蜜桃| 欧美日韩在线小说| 久久久成人免费av电影| 操逼逼中文字幕| 大香蕉欧美| 天天操福利视频综合网站| Av色五月| 亚洲欧美国产日本一区二区三区| www.久久制服糖| 色亚洲欧美| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 夜夜嗨一区二区| 亚洲乱码国产乱码精网站| 精品亚洲天堂| 亚洲综人| 久久久久久久久久久久久久久久9| 婷婷五月天av| 欧美人妻一区| 手机在线中文字幕国产| 中文字幕乱码在线| 国产精品白丝AV| h色99999| AV高清一区| 欧美日不卡| 亚洲成av人片色午夜乱码| 秋霞一级A片黄色视频| 激情五月天中文字幕色| 蜜屁Av| 亚洲欧美九九九| 色呦呦、国产精品| 欧美午夜精品久久久久久3D | 欧美真人抽搐一进一出gif| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 日本熟妇浓毛hdsex| 亚洲春色欧美| 免费99精品国产自在在线| 久热久操| 97超碰色屌| 人人摸人人干| 爱干爱射网啊啊啊| 亚洲色图久久精品蜜| 韩国黄色片精品久久久| 日本色色的视频| 欧美激情另类一区二区| 国产精品点击进入在线影院| 亚洲影院365| 国产一区二区三区久久久精品| 精精品人妻一区二区三区| 亚洲人久久久网| 久久久久9| 日本新免费二区三区| 麻豆久久久久久久久丝袜| 国产视频三区四区| 久久久久久久久久久人妻| www.狠狠操| 狠狠操狠狠插| 密桃99999| 日韩人妻少妇 一区二区三区| 狠狠久久亚洲欧美专区| 蜜桃成人1区2区3区| www.狠狠操| 女色视频社区| 岛国AV一区二区电影| 日本一区二区三区欧美日韩中文字幕| 日韩欧美成人大香蕉| 欧美亚洲丝袜美女电影| 国产精品高清2021在线| 性爱综合一区二区| 伊人久久在线视频观看| av在线观看不卡网站| 国产真实野战在线视频| 韩国一级婬片A片AAAAA| 国产精品老师| 99青草| 天美精品一区二区三区四区在线观看| 日欧美色| 999熟女精品| 欧美欧美少妇| 东京热大香蕉| 在线岛| 国产精品免费视频不卡| 日韩999| 日本女厕偷拍| 亚洲丰满很很操| 老熟女综合网| 99婷婷一区二区| 青娱乐亚洲自拍| 日韩欧美国产高清视频| 9九九九九视频在线观看| 青青草伊人久久| 久久色激情一区二区三区| 精品人妻一区春色| 亚洲交性| 一区二区影视| 成人小说视频在线精品欧美| 牛牛aV| 人人手机欧洲亚洲国产人妻| 美女AV一区二区| 欧美成人贴图| 国产亚洲精品无码三区| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 久久一区二区加油站| 亚洲天天天| 韩国手机不卡无码三级视频| 五月婷婷久久综合| 99999精品视频| 日韩干B| 中文字幕日韩专区精品系列| 亚洲精品人妻吞精av | 欧美十八禁视频| 97网站在线观看 | 精品中文日韩字幕视频| 综合色好色| 大香网站| 美女啊啊啊啊pc| 欧美日韩第一页| WWW啪啪的com| 亚洲高潮少妇| 日韩精品人妻中文字有码在线 | 中文字幕91综合| 国产精品伦理| 日日插夜夜| 亚洲欧美人妻| 亚洲一区二区三区欧美日韩| 视频二区美腿丝袜制服人妻欧美| 久久久久久久久久精| 91青青草| 人人透人人操| 天堂综合| 日韩免费看在线黄色片| 夂久色| 中国黄色特级精品一区二区三区片| 亚洲色交| 国产视频一区二区三区在线免费观看| 五月丁香激情啪啪| 青青草玖玖爱| 欧美不卡五十路| 国产一区在线观看无码AV| 大香蕉 222| 熟妇人妻精品一区二区| 91麻豆天美国产欧美日| 中文乱码字幕观看| 三上制服丝AV| 乱伦Av网| 97色97干| 爱妻综合网| 开心五月激情网| 欧美后入视频| 国产亚州高清国产拍精| 国产av青草| 天天插网| 超碰超碰欧美| 天天综合97| 五月综合激情| 久午视频| 日韩有码免费视频| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 国产精品视频麻豆入口| 久久国产对白激情浪潮| 天天草天天日| 麻豆黄色五月天| 99色网| 狠狠干狠狠干| 999久久久| 免费农村成人少妇人妻Aa一区二区视频 | 中文字幕av久久爽Av| 超碰综合97在线| 美女自卫慰黄网站免费| 91欧美www| 五月婷婷综合网| 99久在线精品99re8蜜桃| 丁香五月天视频| 夜色91| 久久超碰亚洲人| 精品一区二区国产日韩| 一区二区三区蜜桃成人撸久久东京热| 老外又粗又长一晚做五次| 67194无码不卡| 操操操五月天婷婷丁香影院| 操我啊啊啊啊啊| 色呦呦国产精品免费看| 啊啊啊好湿久久| 国产女人和拘做爰视频 | 色五月激情AV在线| 国模吧 一区二区三区| KK色在线影院| 国产久久一区二区午夜| 中国操逼无码| 新精精品久久精品| 熟女人妻一区二区三区| 久久在肏| 青草香蕉网| 伊人五月天激情| 東南亚性呦成人伦理资源在线视频| 炮色五月| 伊人久久大香线蕉无码| 天天天堂影视日韩亚洲91| 97福利视频| 级做a爱无码性色永久免费| 亚洲另类久操网| 丰满岳乱妇一区二区三区| 久久有码视频| 欧美亚洲性爱一区二区| 影音先锋乱伦资源| 日1区2区3区2020| 67194无码不卡| 亚洲成人福利电影免费| 极品出轨视频网站| 欧美日日夜夜| 国产精品久久伊人| 亚州综合在线| 91AV天美在线视频| 99国产人成精品| 操操操日本的逼| 欧美日韩狠狠爱| 亚洲情色一区二区三区| 长长久久88视频| 天天操夜夜操狠很操| 激情内射| 欧美日韩亚洲天堂网| 青草视频在线看看看看看看看看看| 我想要 啊 啊 啊| 蜜桃精品视频一区| 小泽玛利亚一二三| 大香网站| 91搡老女人老妇女老熟女歌词翻译| 丝袜色综合| 天天影视激情欧美| 五月天成人综合| 国产一区二区三区免费视频在性观看| 一本色道久久综合精品婷婷| 久久99精品国产| 人人色人人射人人妻| 欧美大香蕉专区网| 久久草草亚洲蜜桃臀| 花花AV导航| chaopen97久久| 久久超碰、| 国语人妻精彩刺激| 亚洲aV无码成人在线观看| 男女激烈网站最新| 东京热毛片177b2viP| 国产少妇内射| 久久99精品九九久久久婷婷| 亚洲国产一区二区三区在线| 久久社区一区二区三区| 亚洲另类久操网| 亚洲五月婷| 婷婷色色五月天福利| 99re28在线观看| 啊啊啊啊好大好硬啊啊啊啊啊 | 6080YYY午夜理论片在线观看| 国产精品精品系列在线观看| 少妇熟女一区二区三区| 91久热| 人妻黑丝袜电影| 蜜臀久久久国产| 天天看特黄的免费网站| 女同性恋一区二区三区精品视频| 五月综合久久| 欧美婷婷五月天| 无码日韩网站| 欧美精品1区2区3区| 国产精品一区av在线| 91久久免费视频互動交流| 精品无码久久久久久久杏吧| 白嫩少妇| 天堂性色| 91美女小视频| 欧美色涩| 思思久热在线精品66| 熟女少妇视频| 青娱乐妇女性生活| 精品999一区二区| 日韩超碰97| 色97干| 97久久久| 老熟女乱伦一区| 五月天久久综合网| 国产精品69久久久久孕妇欧美 | 亚洲高清视频在线观看| 大香伊人在线一区| 91色五月俺来也| 精品999日本| 日本性一区| 精品国产乱码久久久影院| 日本精品一区二区三| 天干天干天干天天做| 中国特猛少妇色xxx| 天美精品原创av片国产| 欧洲亚洲人妻无码高清久久三区四区| 人妻少妇精品久久久久久| 亚洲丝袜诱惑| a男人的天堂久久一级A毛片| 午夜激情成人在线观看| 91深夜夜| 无遮挡h肉动漫在线观看| 久久女人一区二区三区| 欧美色九九九| 鸥美插入视频| 蜜桃久久久久久| 免费试看60秒| av网站免费线看| 人妻啪| 天天做日日做天天欢。| 丁香色婷婷| 精品人妻一区二区三区-国产精品| 男人的天堂2018东京热啪啪啪| 插老姨肥穴| 91美女视频。| 亚洲无码电影久久久| 黄片色区软件| 色综合婷婷| 国产精品视频电影| 啊啊啊久久久视频| 亚洲日韩美女丝袜美腿人妻视频| 91欧美在线| 国产一区二区精品久久99| 五月激情综合网| 妇人噜噜| 澳门色噜噜色噜噜色噜噜色噜噜色噜噜|