免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

TensorFlow垃圾分類系統(tǒng)實戰(zhàn):CNN基線+MobileNet遷移學(xué)習(xí)與TFLite部署

TensorFlow垃圾分類系統(tǒng)實戰(zhàn):CNN基線+MobileNet遷移學(xué)習(xí)與TFLite部署 垃圾分類識別這件事聽起來不算新鮮但真正動手把一套系統(tǒng)從數(shù)據(jù)準(zhǔn)備做到端側(cè)可部署過程中需要踩的坑遠比想象中多。我這次做的是一套基于TensorFlow的垃圾分類系統(tǒng)核心思路是雙線并行一邊從零訓(xùn)練CNN模型作為基線用來理解卷積網(wǎng)絡(luò)的工作方式和參數(shù)調(diào)優(yōu)另一邊使用MobileNet做遷移學(xué)習(xí)用更少的數(shù)據(jù)拿到更高精度同時把模型量化為TFLite格式保證它可以跑在手機、嵌入式開發(fā)板這類資源受限的設(shè)備上。整個項目做完用攝像頭掃一下就能實時輸出垃圾類別是一個邏輯完整、可以繼續(xù)擴展的工程實踐。這篇文章適合剛?cè)腴T深度學(xué)習(xí)、想做一個真實項目練手的同學(xué)也適合正在做課程設(shè)計、畢業(yè)設(shè)計或產(chǎn)品原型的開發(fā)者。我會把每一個關(guān)鍵選擇的“為什么”講清楚不只是貼代碼還會分享我在實驗里遇到的高頻坑和解決辦法。你能從里面直接拿走一套可復(fù)現(xiàn)的方案。1. 先把垃圾分類系統(tǒng)拆清楚需求、方案與技術(shù)棧1.1 需求拆解你要做的不是一個“模型”而是一套系統(tǒng)很多人在拿到“垃圾分類”這個題目后第一反應(yīng)就是找數(shù)據(jù)集、跑分類網(wǎng)絡(luò)但真正落地時要回答的問題遠不止這些。第一個問題是“輸入是什么”是單張圖片還是攝像頭視頻流手機拍照識別和實時視頻識別對模型大小和推理速度的要求完全不同。第二個問題是“輸出是什么”是輸出一個類別標(biāo)簽還是需要在界面上同時顯示置信度和對應(yīng)垃圾的投放規(guī)則第三個問題是“運行環(huán)境”是在電腦的GPU上演示還是要部署到無GPU的移動端我給自己定的目標(biāo)很實際輸入是普通攝像頭實時畫面或照片輸出是垃圾類別和置信度最終模型可以轉(zhuǎn)換成TFLite格式在CPU設(shè)備上流暢運行。從這個目標(biāo)倒推模型就不能選那種追求極致精度但體積好幾GB的超大網(wǎng)絡(luò)訓(xùn)練框架則定在TensorFlow 2.x因為它從訓(xùn)練到部署的鏈路最完整對新手也友好。1.2 為什么同時用自訓(xùn)練CNN和MobileNet遷移學(xué)習(xí)兩條路線如果只追求結(jié)果直接用現(xiàn)成的預(yù)訓(xùn)練模型做遷移學(xué)習(xí)就可以了不需要自己從零構(gòu)建CNN。但我還是堅持把兩條路線都做出來原因有兩點。第一自訓(xùn)練CNN是理解深度學(xué)習(xí)底層原理的最佳路徑。通過自己搭建卷積層、池化層、全連接層你能直觀感受到卷積核怎么提特征、池化怎么降維、Dropout怎么抑制過擬合。這些感知在你后續(xù)調(diào)整任何模型時都非常有用。第二在實際數(shù)據(jù)量有限的情況下從零訓(xùn)練CNN很難追上遷移學(xué)習(xí)的效果因為垃圾分類數(shù)據(jù)集的規(guī)模和復(fù)雜度都遠不如大規(guī)模自然圖像數(shù)據(jù)集模型很難只靠少量樣本學(xué)到足夠泛化的特征。所以我的策略是把自訓(xùn)練CNN當(dāng)作基線模型用來建立“最差效果”認知把MobileNet遷移學(xué)習(xí)作為正式方案負責(zé)最終落地精度和部署可行性。1.3 技術(shù)棧與總體流程設(shè)計整個系統(tǒng)的技術(shù)選型如下表選型邏輯是“優(yōu)先考慮完整性和可復(fù)現(xiàn)性”。模塊選型選擇理由深度學(xué)習(xí)框架TensorFlow 2.x訓(xùn)練接口成熟TFLite轉(zhuǎn)換方便部署鏈路完整基礎(chǔ)模型自訓(xùn)練CNN MobileNetV2兼顧原理學(xué)習(xí)與落地性能MobileNet在移動端友好圖像處理OpenCV、TensorFlow數(shù)據(jù)管道攝像頭讀取、圖像預(yù)處理和增強都能覆蓋訓(xùn)練平臺CPU可跑GPU更好數(shù)據(jù)量不大時CPU也能完成但GPU能顯著加快迭代部署格式TFLite模型小、推理快不依賴完整TensorFlow環(huán)境整體流程分成四段數(shù)據(jù)準(zhǔn)備與預(yù)處理、自訓(xùn)練CNN做基線、MobileNet遷移學(xué)習(xí)調(diào)優(yōu)、TFLite導(dǎo)出與端側(cè)驗證。每一段都不是孤立的數(shù)據(jù)準(zhǔn)備的質(zhì)量直接影響后面所有環(huán)節(jié)所以我建議不要在數(shù)據(jù)階段節(jié)省時間。2. 數(shù)據(jù)準(zhǔn)備與預(yù)處理實戰(zhàn)2.1 數(shù)據(jù)來源與類別設(shè)計先定類別再談效果垃圾分類系統(tǒng)的第一步不是寫模型而是確定類別體系。常見的公共垃圾分類數(shù)據(jù)集多以“可回收垃圾、廚余垃圾、有害垃圾、其他垃圾”四大類為頂層再細化到數(shù)十個子類。我建議第一次做項目的人不要一上來就挑戰(zhàn)上百個細分類別先做4到10類等整個訓(xùn)練部署流程跑通之后再逐步擴充。我是從“紙板、玻璃瓶、金屬罐、塑料瓶、塑料袋、果皮、廢電池、舊衣服”這8類開始的每類收集600到1000張圖片。如果你使用公開數(shù)據(jù)集一定要先做一次人工抽檢因為這類數(shù)據(jù)集中最容易出現(xiàn)的問題是圖片分辨率參差不齊、存在重復(fù)圖片、少數(shù)圖片標(biāo)注明顯錯誤比如把塑料瓶標(biāo)成玻璃瓶。如果模型學(xué)習(xí)到了錯標(biāo)特征后面的精確率再高也是虛的。數(shù)據(jù)不足的部分可以自己拍攝補充注意覆蓋不同角度、不同光線和不同背景這樣模型才不至于只在某一類固定背景上表現(xiàn)好。2.2 預(yù)處理細節(jié)尺寸、歸一化與通道順序預(yù)處理看起來簡單卻決定了模型能否正確接收圖片。首先必須把所有圖片統(tǒng)一成相同尺寸否則CNN全連接層的輸入維度會不一致訓(xùn)練直接報錯。MobileNetV2的默認輸入尺寸是224x224自訓(xùn)練CNN則根據(jù)計算資源可以選擇96x96或128x128。其次把像素值從0到255歸一化。使用ImageDataGenerator時設(shè)置rescale1./255即可使用MobileNetV2時要注意它有自己的預(yù)處理函數(shù)不能簡單除以255就算完。還要注意通道順序。TensorFlow默認是“高度、寬度、通道”的NHWC格式一般讀圖后不做特殊處理即可。如果你習(xí)慣用OpenCV讀圖要記得OpenCV讀取的是BGR順序需要轉(zhuǎn)換為RGB否則模型看到的顏色通道是反的訓(xùn)練效果會明顯變差。2.3 數(shù)據(jù)增強讓模型在少量數(shù)據(jù)里“見多識廣”數(shù)據(jù)增強不是單純?yōu)榱嗽黾訄D片數(shù)量而是讓模型對拍攝時的真實變化不敏感。我使用的增強方式包括隨機旋轉(zhuǎn)、水平翻轉(zhuǎn)、寬度和高度平移、縮放、剪切變換、亮度擾動。用TensorFlow的ImageDataGenerator實現(xiàn)只需要幾行配置。from tensorflow.keras.preprocessing.image import ImageDataGenerator train_datagen ImageDataGenerator( rescale1./255, rotation_range20, width_shift_range0.2, height_shift_range0.2, shear_range0.2, zoom_range0.2, horizontal_flipTrue, brightness_range[0.8, 1.2], fill_modenearest )這些增強參數(shù)也不是越大越好。比如旋轉(zhuǎn)角度超過30度很多垃圾對象的類別特征可能被破壞反而加大學(xué)習(xí)難度。我建議先用輕中度增強觀察驗證集準(zhǔn)確率是否提升再逐步調(diào)整。務(wù)必記住驗證集和測試集不能使用與訓(xùn)練集相同的數(shù)據(jù)增強最多只做縮放和歸一化否則驗證結(jié)果會虛高不能反映模型真實泛化能力。2.4 數(shù)據(jù)集劃分與目錄組織數(shù)據(jù)劃分要嚴(yán)格做到分層抽樣避免某一類圖片全部集中在訓(xùn)練集而驗證集只剩下其他類別。對多分類任務(wù)最簡單有效的做法是使用train_test_split并指定stratifyy。import os import shutil from sklearn.model_selection import train_test_split all_images [] for category in categories: imgs [os.path.join(category, f) for f in os.listdir(category)] all_images.extend(imgs) labels [category] * len(imgs) train_imgs, val_imgs, train_labels, val_labels train_test_split( all_images, labels, test_size0.2, stratifylabels, random_state42 )目錄結(jié)構(gòu)建議采用規(guī)范的分類文件夾方式data/ ├── train/ │ ├── cardboard/ │ ├── metal/ │ └── ... ├── val/ └── test/直接把圖片按類別放進對應(yīng)的文件夾后續(xù)用ImageDataGenerator的flow_from_directory加載非常方便也方便人工檢查數(shù)據(jù)。我習(xí)慣把訓(xùn)練、驗證、測試按7:2:1或8:1:1劃分測試集留到最后才用避免在調(diào)試過程中反復(fù)看測試集結(jié)果產(chǎn)生隱性的“測試集過擬合”。3. 從零訓(xùn)練CNN網(wǎng)絡(luò)結(jié)構(gòu)、參數(shù)計算與訓(xùn)練回調(diào)3.1 CNN為什么能處理圖片從卷積核到特征圖CNN的核心假設(shè)是圖像具有局部相關(guān)性。一個像素往往與周圍的像素關(guān)系更密切而遠處像素關(guān)系較弱。卷積層通過一組可學(xué)習(xí)的卷積核在圖片上滑動每個卷積核負責(zé)檢測某一種局部特征比如邊緣、顏色塊、紋理。多個卷積核疊加后淺層網(wǎng)絡(luò)學(xué)到的是線條和角點深層網(wǎng)絡(luò)學(xué)到的是“瓶口”“把手”這類語義部件最后用全連接層把這些特征組合成類別判斷。池化層的作用是在保留主要特征的同時縮小特征圖尺寸既減少計算量也增強平移不變性。整個過程很像我們?nèi)搜巯瓤淳植考毠?jié)再綜合判斷整體類別。理解了這一點你就能明白為什么那些把卷積核堆得很深卻不做歸一化的模型經(jīng)常出現(xiàn)訓(xùn)練震蕩。3.2 網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計不只是“越深越好”我設(shè)計的自訓(xùn)練CNN結(jié)構(gòu)如下適合8個分類類別輸入尺寸為224x224x3卷積層132個3x3卷積核BatchNormalizationReLU2x2最大池化卷積層264個3x3卷積核BatchNormalizationReLU2x2最大池化卷積層3128個3x3卷積核BatchNormalizationReLU全局平均池化全連接層128個神經(jīng)元ReLUDropout 0.5輸出層8個神經(jīng)元Softmax為什么第三層用全局平均池化而不是繼續(xù)展平因為如果直接Flatten前面特征圖的尺寸還會很大參數(shù)量會急劇增加。比如128個特征圖每個尺寸為28x28展平后就是100352個輸入節(jié)點全連接層參數(shù)量巨大非常容易過擬合。全局平均池化把每個特征圖變成一個值參數(shù)量大幅下降效果在大多數(shù)分類任務(wù)上不輸Flatten。實際參數(shù)量估算第一層卷積是3x3x3x32再加32個偏置一共896個參數(shù)第二層3x3x32x64再加64個偏置約18496個參數(shù)第三層3x3x64x128再加128約73856個參數(shù)。整個模型參數(shù)量不到幾十萬相比于幾百萬甚至上億參數(shù)的大模型已經(jīng)非常輕量。3.3 TensorFlow代碼實現(xiàn)import tensorflow as tf from tensorflow.keras import layers, models def build_cnn(input_shape(224, 224, 3), num_classes8): model models.Sequential([ layers.Conv2D(32, (3, 3), activationrelu, input_shapeinput_shape), layers.BatchNormalization(), layers.MaxPooling2D(pool_size(2, 2)), layers.Conv2D(64, (3, 3), activationrelu), layers.BatchNormalization(), layers.MaxPooling2D(pool_size(2, 2)), layers.Conv2D(128, (3, 3), activationrelu), layers.BatchNormalization(), layers.GlobalAveragePooling2D(), layers.Dense(128, activationrelu), layers.Dropout(0.5), layers.Dense(num_classes, activationsoftmax) ]) return model這里有兩個容易被忽略的細節(jié)。第一是BatchNormalization放在卷積和激活之間很多新手喜歡先激活再歸一化效果往往會差一點。第二是卷積層后面接了池化不要急著堆很多卷積層因為小數(shù)據(jù)集上的深度神經(jīng)網(wǎng)絡(luò)很容易過擬合淺一點反而好訓(xùn)練。3.4 訓(xùn)練配置與回調(diào)機制訓(xùn)練配置決定了模型收斂速度和最終效果不要隨便選參數(shù)。model.compile( optimizertf.keras.optimizers.Adam(learning_rate1e-3), losscategorical_crossentropy, metrics[accuracy] ) callbacks [ tf.keras.callbacks.EarlyStopping(monitorval_loss, patience10, restore_best_weightsTrue), tf.keras.callbacks.ReduceLROnPlateau(monitorval_loss, factor0.5, patience5), tf.keras.callbacks.ModelCheckpoint(cnn_best.h5, monitorval_accuracy, save_best_onlyTrue) ] history model.fit( train_generator, validation_dataval_generator, epochs50, callbackscallbacks )categorical_crossentropy要求標(biāo)簽是one-hot編碼flow_from_directory默認會用categorical模式輸出one-hot標(biāo)簽所以這里正好匹配。EarlyStopping和ReduceLROnPlateau是好搭檔當(dāng)驗證集loss不再下降時學(xué)習(xí)率會自動降一半給模型一個更精細的收斂機會如果連續(xù)10個epoch仍然沒有改善就提前停止避免浪費時間。3.5 評估模型準(zhǔn)確率不夠要看混淆矩陣訓(xùn)練結(jié)束后不要只看總準(zhǔn)確率一定要看分類報告。8個類別的垃圾中可能“塑料瓶”和“玻璃瓶”經(jīng)常混淆而其他類別都很好這時候總準(zhǔn)確率可能顯示92%看起來不錯但特定兩類完全不可用。正確做法是在測試集上輸出混淆矩陣和逐類精確率、召回率。from sklearn.metrics import classification_report, confusion_matrix import numpy as np y_pred model.predict(test_generator) y_pred_classes np.argmax(y_pred, axis1) y_true test_generator.classes print(classification_report(y_true, y_pred_classes, target_namescategories)) print(confusion_matrix(y_true, y_pred_classes))一個真實項目中如果“塑料袋”因為太透明、反光嚴(yán)重而被大量誤判為“塑料瓶”說明模型還沒有把“形狀可變形”這個特征學(xué)會。這時候優(yōu)先補充更多透明的、揉成一團的塑料袋圖片比盲目加深網(wǎng)絡(luò)更有效。這也是小項目里“數(shù)據(jù)比模型更值錢”的典型例子。4. MobileNet遷移學(xué)習(xí)實戰(zhàn)少樣本也能拿到高精度4.1 MobileNet的核心優(yōu)勢輕量而高效MobileNet不是某一種固定結(jié)構(gòu)而是一系列為移動端設(shè)計的輕量網(wǎng)絡(luò)。它的核心創(chuàng)新是深度可分離卷積把普通卷積拆分成“逐通道卷積”和“逐點卷積”。簡單理解普通卷積一次性同時處理空間信息和通道信息而深度可分離卷積先對每個通道做空間卷積再用1x1卷積去融合通道信息。這樣計算量可以下降一個數(shù)量級而精度損失相對可控。對于垃圾分類這個場景模型是要部署到普通設(shè)備上的MobileNet的輕量特性直接決定了“可用”。我選擇MobileNetV2而不是MobileNetV1是因為V2引入了線性瓶頸和倒殘差結(jié)構(gòu)在相同體積下精度更高很多公開部署案例都驗證過它的穩(wěn)定性。4.2 遷移學(xué)習(xí)為什么要借大規(guī)模預(yù)訓(xùn)練模型的“眼力”垃圾分類圖片雖然有自己的特點但底層視覺特征比如邊緣、紋理、形狀、顏色分布與大規(guī)模自然圖像數(shù)據(jù)集中學(xué)到的特征非常相似。預(yù)訓(xùn)練模型已經(jīng)在海量圖片上學(xué)會了識別這些通用特征我們不需要從零開始教它“什么是邊緣”。遷移學(xué)習(xí)有兩種常見策略。第一種是特征提取把預(yù)訓(xùn)練模型全部凍結(jié)只修改最后幾層適合每類只有幾百張圖片的小數(shù)據(jù)集。第二種是微調(diào)先凍結(jié)預(yù)訓(xùn)練模型訓(xùn)練分類頭再解凍部分高層卷積層用很低的學(xué)習(xí)率繼續(xù)訓(xùn)練適合數(shù)據(jù)量稍多且希望進一步提升精度的場景。我用一張表說明區(qū)別策略訓(xùn)練時間所需數(shù)據(jù)量精度上限適合場景特征提取短每類200~500張中等偏高快速搭建基線、CPU訓(xùn)練微調(diào)較長每類500張以上更高追求最終部署精度4.3 特征提取模式實現(xiàn)先凍結(jié)全部卷積基座下面這段代碼創(chuàng)建了MobileNetV2遷移學(xué)習(xí)模型關(guān)鍵點在于base_model.trainable False。from tensorflow.keras.applications import MobileNetV2 from tensorflow.keras.applications.mobilenet_v2 import preprocess_input from tensorflow.keras import layers, models base_model MobileNetV2( weightsimagenet, include_topFalse, input_shape(224, 224, 3) ) base_model.trainable False inputs tf.keras.Input(shape(224, 224, 3)) x preprocess_input(inputs) x base_model(x, trainingFalse) x layers.GlobalAveragePooling2D()(x) x layers.Dropout(0.2)(x) outputs layers.Dense(num_classes, activationsoftmax)(x) model models.Model(inputs, outputs) model.compile( optimizertf.keras.optimizers.Adam(learning_rate1e-3), losscategorical_crossentropy, metrics[accuracy] )注意這里的preprocess_input是MobileNetV2專用的預(yù)處理方式不是簡單除以255。把輸入先做預(yù)處理再進入模型才能和預(yù)訓(xùn)練時看到的數(shù)據(jù)分布保持一致。還有一個容易被忽略的細節(jié)因為base_model被凍結(jié)在推理模式下trainingFalseBatchNormalization層會使用移動平均而不是當(dāng)前批次統(tǒng)計量這樣能避免因為凍結(jié)BN層導(dǎo)致的訓(xùn)練不穩(wěn)定。4.4 微調(diào)模式實現(xiàn)小學(xué)習(xí)率解凍高層特征提取模式訓(xùn)練幾個epoch后如果驗證準(zhǔn)確率進入了平臺期就可以嘗試微調(diào)。微調(diào)的思路不是一次性把整個網(wǎng)絡(luò)都解凍那樣學(xué)習(xí)率稍大一點就會讓已經(jīng)學(xué)好的預(yù)訓(xùn)練特征被破壞。我的做法是先解凍整個MobileNetV2然后手動把比較淺的層繼續(xù)凍結(jié)只讓最后幾十層跟著訓(xùn)練。base_model.trainable True # 具體凍結(jié)層數(shù)需要根據(jù)模型結(jié)構(gòu)調(diào)整一般保留前100層左右不動 for layer in base_model.layers[:100]: layer.trainable False model.compile( optimizertf.keras.optimizers.Adam(learning_rate1e-5), losscategorical_crossentropy, metrics[accuracy] )這個階段的學(xué)習(xí)率一定要比前面低兩個數(shù)量級以上。我用過1e-5也用過5e-6整體都很穩(wěn)定。如果學(xué)習(xí)率突然拉高到1e-4很快就看到loss沖高然后模型再也回不到原來的狀態(tài)這就是很多同學(xué)遇到的“微調(diào)直接廢掉”的原因。4.5 小樣本訓(xùn)練的幾個關(guān)鍵技巧在每類只有幾百張圖片時有幾個技巧非常管用。第一是先用特征提取模式得到一個不錯的初始化點再進入微調(diào)不要在一開始就解凍全部層。第二是在分類頭之前加Dropout層雖然預(yù)訓(xùn)練模型已經(jīng)很強但在小數(shù)據(jù)集上依然很容易過擬合。第三是合理使用早停讓訓(xùn)練在驗證集開始下降時立刻停止。第四是如果某類圖片數(shù)量特別少可以為這類圖片做更多增強或者用類別權(quán)重懲罰模型對少數(shù)類的“忽視”。我實測下來MobileNet遷移學(xué)習(xí)在每類500張左右圖片的情況下驗證準(zhǔn)確率比自訓(xùn)練CNN高出8到12個百分點而且模型體積只有約十幾MB轉(zhuǎn)換TFLite之后還能再壓縮一半以上。這也是為什么最終方案我毫不猶豫選擇遷移學(xué)習(xí)的原因。5. 讓模型真正可用TFLite導(dǎo)出與端側(cè)推理5.1 部署目標(biāo)模型要“變小變快”而不是只追求準(zhǔn)確率很多同學(xué)訓(xùn)練完模型保存一個.h5文件就認為項目完成了。但對“可用”來說這遠遠不夠。h5或SavedModel格式需要完整的TensorFlow環(huán)境才能加載CPU設(shè)備上跑起來還特別慢。手機、嵌入式板卡根本沒有辦法直接運行大模型。所以我的部署目標(biāo)是轉(zhuǎn)換成本低的TFLite格式。TFLite是TensorFlow為移動端和嵌入式設(shè)備設(shè)計的推理格式它執(zhí)行時不需要完整訓(xùn)練框架模型體積更小推理速度快。轉(zhuǎn)換時還可以做量化把模型中的權(quán)重從32位浮點數(shù)變成16位浮點數(shù)甚至8位整數(shù)進一步壓縮體積。5.2 從SavedModel到TFLite的轉(zhuǎn)換操作先訓(xùn)練并保存模型推薦保存為SavedModel格式因為它對部署鏈路兼容性最好。model.save(garbage_mobilenet_savedmodel)然后使用TFLite轉(zhuǎn)換器。最簡單的轉(zhuǎn)換如下import tensorflow as tf converter tf.lite.TFLiteConverter.from_saved_model(garbage_mobilenet_savedmodel) converter.optimizations [tf.lite.Optimize.DEFAULT] tflite_model converter.convert() with open(garbage_mobilenet.tflite, wb) as f: f.write(tflite_model)這里tf.lite.Optimize.DEFAULT會盡可能壓縮模型。由于訓(xùn)練時模型權(quán)重分布比較合理量化后精度損失通常很小。如果后續(xù)實測發(fā)現(xiàn)精度掉得比較多可以改用僅對權(quán)重做量化而不對激活值做量化或者干脆不量化只保留FP32模型根據(jù)自己的硬件算力做取舍。5.3 使用TFLite解釋器在Python端推理TFLite模型不能直接喂給原來的模型預(yù)測函數(shù)需要用TFLite解釋器加載。我寫了一個可復(fù)用的推理函數(shù)import numpy as np import tensorflow as tf interpreter tf.lite.Interpreter(model_pathgarbage_mobilenet.tflite) interpreter.allocate_tensors() input_details interpreter.get_input_details() output_details interpreter.get_output_details() def predict_tflite(image): image cv2.resize(image, (224, 224)) image image.astype(np.float32) image preprocess_input(image) # 和訓(xùn)練時保持一致 image np.expand_dims(image, axis0) interpreter.set_tensor(input_details[0][index], image) interpreter.invoke() output interpreter.get_tensor(output_details[0][index]) return output部署時最容易出的問題就是預(yù)處理不一致。訓(xùn)練時你用了MobileNetV2的preprocess_input推理時卻用了簡單除以255模型輸出的置信度會很奇怪。如果你自己在模型里加了歸一化層那么推理時就不需要再做一遍。在寫部署代碼之前先花十分鐘核對接下來的每一步比訓(xùn)練時調(diào)參還要重要。5.4 精度與速度的取舍量化不是越高越好我實際對比過三份模型原始FP32、FP16半精度、INT8量化。模型模型體積推理速度準(zhǔn)確率變化FP32約14MB基準(zhǔn)基準(zhǔn)FP16約7MB更快基本不變INT8約3.5MB最快可能下降1%~3%INT8量化在小模型上通常不會有太大損失但如果你訓(xùn)練時的數(shù)據(jù)分布與部署現(xiàn)場差異較大掉點就會更明顯。一個穩(wěn)妥的做法是先在開發(fā)板上跑一遍量化模型如果準(zhǔn)確率下降超過預(yù)期就退回FP16。端側(cè)推理還可以設(shè)置線程數(shù)比如在雙核處理器上嘗試interpreter.set_num_threads(2)有時候速度提升比換模型更直接。6. 常見問題與高頻踩坑實錄6.1 訓(xùn)練集較小模型反復(fù)過擬合典型現(xiàn)象是訓(xùn)練準(zhǔn)確率很快升到98%驗證準(zhǔn)確率卻停在70%。這通常意味著模型把訓(xùn)練數(shù)據(jù)死記硬背下來了沒有真正學(xué)會泛化。解決順序分三步先加強數(shù)據(jù)增強增加旋轉(zhuǎn)、翻轉(zhuǎn)、色彩抖動的強度再增強模型正則化增大Dropout比例或減少全連接層神經(jīng)元最后如果還是不行就換遷移學(xué)習(xí)模型而不是繼續(xù)堆CNN層數(shù)。對小數(shù)據(jù)來說換網(wǎng)絡(luò)帶來的收益往往大于調(diào)參。6.2 類別不均衡導(dǎo)致模型“永遠猜多數(shù)類”如果“塑料瓶”圖片有3000張“舊衣服”只有200張模型很可能為了整體準(zhǔn)確率把舊衣服全部忽略。在訓(xùn)練損失上體現(xiàn)為少數(shù)類幾乎不被預(yù)測。對策有兩個一是收集更多少數(shù)類圖片這是最根本的二是在class_weight里給少數(shù)類更大權(quán)重。TensorFlow訓(xùn)練時可以直接傳入class_weight參數(shù)不同框架語法略有差異核心思想是讓少數(shù)類樣本被分錯時產(chǎn)生更大的損失。6.3 驗證集準(zhǔn)確率高測試集卻崩了這是最隱蔽的坑。常見原因是數(shù)據(jù)泄漏同一個物體的多張不同角度照片被同時分到了訓(xùn)練集和驗證集導(dǎo)致驗證集“見過”訓(xùn)練數(shù)據(jù)。另外數(shù)據(jù)增強如果被錯誤地應(yīng)用到了驗證集也會讓驗證分?jǐn)?shù)虛高。我建議劃分?jǐn)?shù)據(jù)集時按“物體實例”而不是按“單張圖片”去劃分比如同一組連續(xù)拍攝的塑料瓶圖片全部劃到同一個集合不要打散。這樣做更接近真實場景。6.4 遷移學(xué)習(xí)微調(diào)時loss突然沖高這是我在遷移學(xué)習(xí)里踩過最狠的坑。原因通常是解凍后學(xué)習(xí)率設(shè)置過大導(dǎo)致預(yù)訓(xùn)練權(quán)重被快速破壞也可能是模型里BatchNormalization層在trainingTrue時重新統(tǒng)計了少量樣本的均值方差而樣本量太小統(tǒng)計不穩(wěn)定。解決方法是把學(xué)習(xí)率降到1e-5以下同時確保微調(diào)階段的batch size不要太小盡量保持在32以上。如果loss還是沖高重新從特征提取階段的模型恢復(fù)再降低解凍層數(shù)。6.5 端側(cè)部署后推理速度達不到實時如果攝像頭畫面看上去有明顯的卡頓先檢查模型輸入分辨率是不是太高。比如你訓(xùn)練時用224x224部署時卻把原圖先縮放到640x640再送進模型速度自然慢。輸入超過模型需要的大小并不會提升精度。其次檢查量化是否生效先用interpreter打印模型輸入數(shù)據(jù)類型如果還是float32就確認轉(zhuǎn)換時是否真的加上了optimizations。兩條都排查完基本可以解決問題。7. 寫在最后一些真實體會7.1 復(fù)現(xiàn)這個項目的建議順序我自己跑這個項目時最受益的是把“自訓(xùn)練CNN”和“MobileNet遷移學(xué)習(xí)”放在同一套數(shù)據(jù)上對比。這樣你能直觀感受到數(shù)據(jù)量、模型容量和泛化能力之間的關(guān)系而不是單純迷信某個高大上的網(wǎng)絡(luò)。建議復(fù)現(xiàn)時也按這個順序來先準(zhǔn)備數(shù)據(jù)再跑一遍CNN基線然后用MobileNet遷移學(xué)習(xí)做正式方案最后再做TFLite量化部署。不要急著跳過基線直接做遷移學(xué)習(xí)少了那一步很多訓(xùn)練現(xiàn)象你很難解釋。7.2 這個項目后續(xù)還能往哪里擴展完成第一版后可以做的擴展方向很多。比如給系統(tǒng)加入目標(biāo)檢測前置模塊先用檢測模型定位畫面中的垃圾區(qū)域再裁剪送入分類模型這樣就能處理畫面里有多個垃圾對象的情況。也可以把單幀圖片分類改成視頻流分類加入時序平滑策略避免連續(xù)幀分類結(jié)果抖動太厲害。再進一步還可以在部署腳本里加入簡單的置信度閾值邏輯置信度低時提示用戶重新拍攝或反饋人工標(biāo)注形成一個小閉環(huán)。垃圾分類系統(tǒng)并不是什么“高不可攀”的項目它真正考驗的是你把數(shù)據(jù)、模型、部署串聯(lián)起來的工程能力。希望這篇記錄能幫你少走幾步彎路。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天综合在线网| 婷婷丁香五月天亚洲| 97爱综合| 热久久66| 黄网免费看| 亚洲最大视频| 狠狠色成人影片| 五月天激情小说| 色婷婷成人做爰A片免费看网站 | 婷婷午夜综合| 色婷婷a三区麻| 狠狠色综合网站久久久久| 日本久热| www。五月天。com| 综合久久婷婷五月丁香| 五月婷婷av| 日本97在线观看| 亚洲色图五月丁香| 日本成人噜噜噜| caopeng超碰| WWW.HENHENL.| 91碰碰碰| 丁香激情久久| 91精品国产99久久久久久天美| 五月丁香亭亭成人电影| 五月激情五月丁香| 狠狠艹狠狠艹| 天天摸天天舔天天爽| 丁香五月网| 久久AAAA片一区二区| 日本美女上人| 激情综合网五月婷婷| 亚洲亚洲人成综合网络| 99久视频| 色色五月婷婷| 色噜噜婷婷| 五月婷婷综合丁香视频| www夜夜| 综合视频五月| 五月婷婷综合色啪首页| 成人狠狠成人狠狠成人狠狠成人狠狠| 一区二区三区四区五区| 五月婷婷久久综合| 五月天婷婷在线啪啪视频| 99精品无码| 99九九精品视频| 激情五月天天狠狠久久| 99视频35精品视频在线观看| 五月丁香操亭亭网| 天天狠狠夜夜狠狠2023| 天天天天操| 欧美VA在线观看| 色五月xxx| 色色婷婷丁香| 日本五月丁香| 丁香五月激情五月开心五月| 激情网婷婷五月天| 色综合久久888| 日本99在线| 碰超99| 天天干天天爽| 超碰人人操人人干| 少妇做爰免费视看片| 色播五月| 色吧婷婷五月亚洲| 99精品网址| 男人操女人高潮91视频| 天天日P天天射P| 丰满少妇猛烈A片免费看观看| 久久五月天综合| 国产伦理精品高清在线观看网站一区二区 | 99热这里全是精品| 五月婷婷久久大香蕉| 俺五月| 亚洲精99| 亚洲va欧洲va国产va不卡| 天天干天天干天天操| 丁香六月五月天| 九九热99热| 五月婷婷真爱激情网| 五月天成人网在线观看| 可以免费观看的AV| 五月丁香啪| 97视频91| 六月婷婷五月天| 色五月首页| 国产SUV精品一区二区6| 性爱激情小说AV五月丁香花| 99热这里只有精品26| 立川无码av| 国产淫熟妇| 91人人爽久久涩噜噜噜| 99热66| 久久小说网| 久久婷婷青青| 97人人射| 天天操婷婷| www.henhenl| 婷婷五月丁香五月| 欧美在线视频免费播放| 色婷婷五月色| 深爱激情五月天色婷婷| 色婷婷9| 97av在线视频| 伊久久婷婷| 五月丁香六月婷婷,婷| 丁香五月婷婷亚洲综合精品在线| 熟女激情网| 色婷婷激情| 五月激情视频| bukadeavzaixian| 色999五月色| 婷婷五月天丁香花| 色噜噜狠狠插综合| 国产精品日本一区二区在线播放| 九月丁香| 久草性爱| 最新日韩久热免费视频看看| 伍月婷丁香花全集| 国产精品久久..4399| www五月婷婷88导航| 久久久久久久久久久97| 99九九精品| 精品色| 碰人人97| 丁香六月婷婷综合色| 人人操人人爱丁香五月| 国产精品成人AV在线观看春天| 99精品超在线播放| 人人干人人操人人摸| 99精品在线| 久久综合五月婷婷| 丁香五月激情啪啪| 日本玖玖在线| 五月天影院| 国产毛多水多女人A片| 1024欧美日韩精品久久久| 国产日比| 婷婷五月天AV| 婷婷第六色| 免费观看亚洲AV片| 曰曰久久| 天天插天天插天天插天天插 | 午夜少妇在线观看视频| 五六月婷婷| 激情五月婷婷视频一区二区三区| 99综合成人视频在线观看| 国产日批视频| 性做爰1一7伦| 最新热中文字幕| 超级碰碰91| AA片在线观看视频在线播放| 激情五月六月丁香| 九九热内射| 日本熟女一区二区| 思思热在线观看| 日本精品在线噜噜噜| 婷婷五月天六月| 少妇性按摩无码中文A片| 婷婷五月大香蕉| 99热免费精品| www.sebowuyue| 人人干av| 亚洲无码播放| 黑人糟蹋人妻HD中文字幕| 久久丁香五月天| 婷婷丁香六月| jiujiu无码五区| 天天操夜夜操| 亚洲最大五月天成人网| 在线观看亚洲AV| 噜一噜在线| 丁香五月激情综合婷综| www久| 激情啪啪五月| 开心五月天激情网| 婷婷丁香五月亚洲免费| 久久婷婷色情7777网站| 91大神操美女| 亚洲视频在线观看99| 激情五月天婷婷| 成人五月天色天堂| 九月婷婷综合在线| 日韩成人综合网| 久久免费精品小视频| 99爱这里只有精品免费视频| 六月丁香激情婷婷| 在线观看欧美| 全部老头和老太XXXXX| 婷婷色五月久久| 亚洲成人电影在线免费观看| 99久热| 91视频一起草| 五月停视频天堂| 欧美婷婷五月天| 欧美图片丁香五月天| 色婷婷久久久| 1010日日无码| 综合狠狠伊人| 人人操91色| 五月丁香啪啪综合| 狠狠干五码| 色色色com| 99这里只有精品视频| www.99热视频| 毛片九九九九九九| 国产又爽又猛又粗的视频A片| 五月天婷婷中文字幕在线播放| 色综啪啪啪啪啪啪| 婷婷天堂站| 五六月丁香激情视频| 《久久综合九色综合97婷婷| 成人 在线观看国产| 久久色五月天| www色综合| 五月天无码| 色99久草在线| 婷婷五月天影院| 99久久久| www.91有码.com| 五月天丁香成人社| 欧美激情 日韩无码 婷婷 五月天| 亚洲欧美综合7777色婷婷| 亚洲久久婷婷丁香五月天| 2017人人操| 中文字幕人妻熟女在线| 丁香六月久久| 五月天婷婷丁香六月| 亚洲丁香花色| 91人操| 久久九九激情五月天 | 亚洲综合另类| 婷婷丁香五月激情中文字幕版| 玖色色综合| 色综合久久久久| 人。妻久久| 国产乱码久久| 天天做天天爱天天摸| 婷婷激情五月天激情小说| 丁香五月成人社区| 婷婷深爱五月| 天天噜噜| 色五月婷婷五月| 思思热再线视频| 99热99在线| 婷婷涩涩五月天| 天天干天天av天天射| 精品久热| 超碰91人人操| 91爱啪啪| 九月激情综合| 91超级碰在线视频| 97操碰视频| 免费观看的av| 五月综合激情视频在线| 五月天婷婷激情综合| 婷激情五月| 色五月丁香一区在线| 2015好吊操| 丁香大香蕉| 韩国不卡AC视频| 国精产品一区一区三区免费视频 | www.99情趣网| 久月丁香爱婷婷综合| 久久婷婷东京热大香樵| 综合精品99| 色婷婷基地 | 婷婷中文无码| 91久久99久久91熟女精品| 综合色99| 婷婷色六月| 婷婷综合激情| 婷婷五月天堂一本在线| 五月丁香婷婷激情澎湃四射| 五月婷婷激清网| 激情网开心网| www.av骚货| 五月天婷婷丁香社区| 欧州色色| 五月丁香婷婷综合| 超碰99在线观看| 人妻AV在线| 天天综合精品| 操逼亚洲天堂| 婷婷九月亚洲| 夜夜天天久久婷婷| 丁香狠狠色婷婷久久无码视频| 日日鲁鲁夜夜爽爽| 色五月五月天色婷婷色五月| 久热免费视频| 丁香五月自拍| 五月激情综合深爱| 91狠狠色色丁香婷婷综合久久| 超碰不卡在线| 中国女人做爰A片| 美女久久婷婷| w婷婷五月婷婷w| 啪啪黄页网| 色婷婷影音| 香蕉中文在线| 五月天婷婷基地丁香| 一区二区成人电影| 激情五月激情综合网一级丸片| 人人天堂操| 婷婷激情五月综合| 九九性视频| 国产AV成人精品| 六月丁香停| 丁香六月婷婷一区| www.婷婷五月天.com| 色色色婷婷五月天| 婷婷亚洲色| 色婷婷综合亚洲| 婷久久| 五月综合激情| 激情啪啪五月| 天天舔天天摸天天透| 色五月丁香婷婷久草| 色五月丁香婷婷| 91大操| 欧美人久久| 开心亚洲久久开心| 97人人草| 九九99香蕉在线视频播放| 丁香五月婷婷久久久| 丁香桃色综合网| 久久五月天色| 久久精品凹凸分类| 电影《战争与艾拉》免费观看| 丁香五月开心婷婷| 国产午夜精品一区二区三区四区| 最新久久99视频网站| 亚洲午夜精品久久久久久人妖| 五月婷婷综合久久| 99热国产免费| 五月丁香色情| 色色色色热| 丁香 久久| 天天日天天操心| 日韩五月婷婷| 啪啪五月天啪啪| 国产成人+亚洲+欧洲| 丁香六月婷婷色XXXXX| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | www.99热视频在线观看| 九月激情网| 五月婷婷色啪| 天天做天天爽| 99热99热不卡| 亚洲AV成人片无码网站| 欧亚成人A片一区二区| 欧美性生交XXXXX无码小说| 操大屄五月天视频| 91热在线| 九九sese| 丁香八月综合激情| 国产精品热搜丁香五月婷婷| 中国激情网| 色婷婷五月六月丁香综合视频| 亚色网站小视频| 另类五月婷婷| 天天夜夜爽| 久99热| 九九操屄| 色五月婷婷狠狠撸| 婷婷五月天视频| 亚洲精品亚洲人成人网| 婷丁香五月天| 亚洲激情丁香五月基地| 91精品无码| www.金莲av| 欧美在线看| 99视频这里只有久久精品| 99日本在线| 日本操B视频| 欧洲不卡视频| 激情五月天社区| 九九re精品视频在线观看| 北京熟妇搡BBBB搡BBBB| 婷婷91| 自拍盗摄 另类| 色色色9| 色月丁| 欧亚洲在线高清视频| 亚洲欧美国产高清vA在线播放| 天天插天天爽| 亚洲第一黄网| 亚洲色色色| 日本色色色| 97色在线观看视频| 婷婷五月天无码| 人与禽A片啪啪| 久99| 超碰九色| 欧美日比视频| 六月婷婷综合| 超爽内射| 激情五月天开心总和网| 99综合五月免费视频色婷婷| 色97综合婷婷天天色| 伊久久婷婷| 97偷拍在线视频| 日韩小视频在线99| 久久综合婷婷激情| 五月天激情黄色小说在线观看| 五月天激情子轮| 亚洲激情网| 亚洲国产成人综合| 五月婷婷无码| 五月丁香| 婷婷丁香成人| 九九这里只这里只有精品| 五月丁香色色网| 久久婷婷五月综合色奶水99啪| 亚洲无码99| 99在线精品免费视频| 欧美激情综合| 日韩啪啪视频| 激情网狠狠干| 五月天丁香色色| 99爱最新免费视频在线观看| www.日日夜夜.com| www.夜夜操.con| 亚洲高清在线| 伊人婷婷激情| 三日本无码| 色五月丁香在线| 丁香五月激情综合| 色五月色五天色情网| 欧美日韩成人高清在线| 九九亚洲综合| 99热这里只有精品首页| 97丁香五月天| 图片区 小说区 区 亚洲五月| 色婷婷WWW| 99热网站| 人人射av| 成人人操| 久久久97| 少妇久久诱惑视频| 九九热青青草| 久久久久9999| 丁香久久五月天视频在线观看| 人与禽A片啪啪| 丁香欧美| 日韩欧美老妇性视频91久久久| 思思热在线免费视频| 超级久久久| 66成人网| 亚洲VA欧美VA| 九色成人AV在线| 亚洲啪啪网| 午夜成人网站在线观看| 情婷婷五月天在线| 麻豆AV一区二区三区| 丁香五月第四色88| 色欲久久久久久综合网综合网| 丁香五月激情综合| 亚洲激情淫网| 中文字幕精品推荐免费在线观| 五月天激情视频五月天| 97碰碰视频在线观看免费| 婷婷五月天基地| 色丁香久综合在线久综合在线观看| 色99久草在线| 婷婷五月天男人影院色色网| 久久性爱激情| 日韩AV大全| 色情激情五月| 色婷婷狠| 婷婷5月久久综合网站| 五月婷婷啪啪综合网| 亚洲天堂久久| 31色区视频免费看| 成人在线综合| 婷婷五月天视频小说| 操比激情五月| 人妻少妇色综合| 五月天色婷婷网| 亚洲成人AV在线观看| 国产精品色情AAAAA片软件| 五月婷婷色情| 五月激情四射网站| 色婷婷五月天偷拍| 五月激情六月宗合| 亚洲五月天天| 综合激情在线| 久久日婷婷| 色五月婷婷综合| 婷婷五亚洲| 色10月婷婷视频| 五月激情综合网| 思思热精品在线观看| 99性视频| 99精品97| 97干在线免费| 五月婷婷开心网| 日本熟女二区| 99亚洲大片精品永久在线观看| 色你久久| WWW、日本色丁香、co m| 九九热免费视频| 伊人AV五月婷| av九九| 99色免费| 超碰人人摸AV| 九九av| 五月丁香六月婷婷综合网站 | 婷婷五月综合啪| 在线中文字幕视频| 色综合av超碰| 国产精品成人网址| 日本不卡高字幕在线2019| 日本在线视频www色| 一本久道综合色婷婷五月| 99在线观看视频精品| 91.com男女操| 久久免费少妇高潮99精品| 五月花婷婷| 91九色无码日韩| 丁香六月亭亭久久综合| 国产性色蜜乳| 久久婷婷伊人| 婷婷丁香六月天激情四射网| av操逼网| 婷婷在线视频| 亚洲综合婷婷| 五月亭亭网成人在线视频| 五月天色五月天| 婷婷99视频精品| 久久久人人操A V| 国产美女无遮挡裸体毛片A片| 91久久99久久91熟女精品| 九九在线视频| 婷婷欧美激情综合| 99在线免费视频| 丁香五月婷婷五月天| 五月丁香六月婷婷综合网站| 精品成人a v无码内射| 久久66精品| 久色中文| 久久这里有精品视频在线免费观看| 色综合久久888| 91操片| 激情婷婷五月综合| 激情婷婷99| 国产精品18久久久| 鲁鲁色五月| 黄色中文字目| 97超碰色| 97luluse| 九九人人看| 狠狠久久婷婷| www.婷婷| 99视频内射三四| 99久久99九九99九九九| 国产欧洲欧洲精品久久| 五月天激情网图片| 青青久久五月| 97婷婷在线视频| 熟女91九色| 殴美激情综合网| 我爱大香蕉| 91天天操天天干天天射| 国产在线6| 能看的AV网站| 色色日本| 色色国产| 五月天婷婷色| 波多野结衣不卡AV| 日韩色色一区| 欧美一级色| 91精品熟女| 一级A片天天操夜夜操| 五月天综合激情网| 婷婷五月综合社区| 亚洲丁香花色| 婷婷综合性爱网| 亚洲国产另类av| 青青艹b| 大香蕉五月婷婷| 婷婷的激情五月| 亚洲99激情| 乱色色色| 婷婷色丁香六月| 五月天伊人久久久久| 五月丁香啪啪综合| 久久久8| 五月丁香婷婷成人网| 嫩草AV久久伊人妇女超级A| 高清a片基地| 婷婷五月综合网| 婷婷五月天成人动漫 | 婷婷开心五月| 亚洲激情婷婷| 人人操人人妻| 丁香无月在线观看| 精品久久艹| 超碰在线国产| 激情五月天.色网| 国产激情视频在线观看| 偷拍视频五月天| 久久人人九| 亚洲精品白浆高清久久久久久| 日韩啪图| 婷婷五月激情丁香激情| 99热精品在线| 另类丁香五月天区图| 香蕉久久六月| 五月激情网站| 啪啪一区| 色婷婷色情| 久久99这里只有精品视频| 亭亭五月色男人| 久久久久思思热| 九九九九这里只有精品| 五月丁香婷婷综合网色欲| 久久东京热婷婷五月| 都市激情五月婷婷综合| 日本在线视频www色| 婷婷五月激情基地| 丁香五月婷婷亚洲色图| 99热免费精品| 色婷婷AV久久| 夜夜天天久久婷婷| 丁香六月啪啪| 丁香五月777| 久久这里只有精品视频26| 日韩av在线电影| 五月色亭丁香| 激情五月丁香激情综合网| 五月天成人小说| 99爱视频在线| 免费婷婷| 夜夜操,天天撸| 丁香婷婷大香蕉| 超碰人人摸人人操| 久热九九| 五月天婷婷激情春色小说| 一起草无码| 五月激情六月综合| 97精品人人A片免费看| 91九色国产熟女| 蜜臀av在线成人电影| 99久久久99久久91熟女| 亚洲精品色色| 国产片色| 婷婷色五月91啪啪| 六月天无码网址| 内射爽无广熟女亚洲| 青青久久五月天丁香婷婷| 亚洲综合丁香婷婷六月天| 婷婷中文字幕| 婷婷伊人网| 九九亚洲综合| 色婷婷av在线| 五月丁香婷婷综合网| 射久久丁香五月| 亚洲va在线∨a天堂va欧美va| 羞羞嫩草视频| 婷婷亚洲色| 玖久久网站| 色欲资源网| 操逼五月婷婷| 26uuuuuuuu国产| 成人丁香五月天| 久久久com| 九九综合久久| 99在线观看视频免费| 夜夜骑夜夜撸| 久久婷婷丁香五月一二三| 婷婷五月激情综合| 好好日激情五月天| 中日韩美欧成人一区二区精品在线| 天天综合天天做天天综合| 99热久久这里只有精品| 99re思思热这里| yazhoujiqingav| www开心激情网| 草草女人亚洲| 日日操,夜夜爽| 久久44| 99色丁香婷婷综合网| 天天干天天干天天干| 丁香五月婷婷成人综合| 丁香88AV五月婷婷| 丁香色婷婷| 五月天激情四射网站| 日韩久热| 永久99免费视频网站| 日本片日本片祼观看网站在线看中文版网页在线看 | 国产精品色色666| 色五月激情五月| 成人羞羞啪啪 全 视频| 丁香婷婷欧美综合| 天天日日夜夜| 99这里只有精品视频免费| 丁香五月天堂网| 久色国产| 色五月色情| 婷婷涩五月| 国产成人+综合亚洲+天堂| www.丁香五月| 99热无码| www五月天com| 亚洲激情综合| 99久久精品色老| 天天操人人干| 丁香婷婷久久综合在线| 欧美日韩国产伦精品日韩人妻一| 丁香五月六月| 99re热免费观看视频精品| 欧美日韩成人高清在线| 操99| 五月婷婷六月综合| 日本精品干| 九月婷婷综合| 国产色色视频| 欧美色色色色色色色色色色影视| 五月丁香久久激情综合| 激情婷婷啪啪| 99在线观看视频免费| 天堂二区| 99这里有精品视频| 26uuu精品一区二区| 综合97五月| 9l久久久视频| 亚洲色啪| 丁香六月亚洲综合| 色综合丁香婷婷| 99re这里只有精品首页| 日本一级黄色电影| 丁香九色不卡aaa| 丁香五月欧美| 五月激情六月丁香| 亚洲女婷婷五月基地综合久久久| 蜜桃婷婷狠狠久久综合| 夜夜操天天干| 五月伊人婷婷| 另类A片| 99精品国产在热久久| 色欧美影院| 色五月婷激情| 激情五月天激情网| 91人操人人人操人| 色八戒操婷婷| 九九香蕉网| 成人婷婷五月| 99热这里在线精品| 2017人人操| 热99.com婷婷| 强壮的公次次弄得我高潮A片日本 | 色在线99| 五月婷婷激情色情网| 最新av在线观看| 九九精品re免费视频| 国产精品涩涩涩视频网站| 生活片五区| 婷婷播播五月天| 久久中文人妻系列| 91碰在线| 丁香婷婷色情| 人人摸人人干| 草了bav视频在线观看| 欧美25p| 开心五月综合激情网| 99亚洲色色| 色五月开心开心五月激情五月| 婷婷五月色播网| 五月婷婷六月色| 狠狠操综合| 97超碰在线免费观看| 怡红院视频| 人人操人人爱丁香五月| 色欲日日躁| 欧美激情 日韩无码 婷婷 五月天| 黄色网址五月婷婷| 99色色网| 爱操人妻| 5月丁香六月情| 丁香五月激情欧欧美| 人妻狠狠操| 五月天激情国产综合婷婷婷就去爱| 中美月韩免费A片| 97五月婷婷| 欧美日韩五月婷婷| 五月婷婷六月综合| 婷婷久久性爱| 久9热在线视频| 丁香六月激情| 久久机热探花| 亚洲电影在线观看| 91紱請| 五月综合激情啪啪啪啪啪| 9热网站| 五月丁香亭亭电影久久| 日韩丁香涩| 五月婷婷亚洲天堂97色婷婷| 成人AV在线电影| 婷婷五月综合激情| 亚洲操逼网| 亚洲色情网站| 一本色道久久综合狠狠躁小说| 色五月综合在线| 亚洲色综合性| 五月婷婷五月丁香| 婷婷五月天AV在线| 激情五月狠狠| 五月丁香激情综合久久| 日本啪啪网| 午夜大香蕉| 97久久视频| 成人中文网| 日本97人人| 夜色综合网| 91精品久久久久久综合五月天| 这里只有精品免费在线视频| 九九精品这里只有| 五月丁香亭亭天天舔| 婷婷五月激情在线视频| 五月婷婷AV| 99热免| 狠狠干五月天| 成人丁香五月天| 日韩AV大全| 久久婷婷内射| 五月天综合| 人人九色| 亚洲六月婷婷| 色综合激情图区| 99在线热视频| 五月丁香婷婷基地| www.日韩艹| 久久久久这里只有精品| 亚洲成人影视在线观看| 少妇真实被内射视频三四区| 五月天婷婷丁香人人操91| 色域五月婷婷丁香| 久久精品在线| AV天堂淫乩| 亚洲欧美999| 99热啪啪| 成熟妇人A片免费看网站| 97亚洲精品| 91啪啪视频| 亚洲男人的天堂婷婷色五月| 婷婷丁香六月| 亚洲精品99| 五月天天丁香婷婷| 婷婷综合色图| 甈你aaaaa| 成年人看Va免费视频| 色 色 色综合com| 天天色视频| 婷婷伊人綜合中文| 激情久久四色| 九九十99视频| 久久99久久99精品免观看粉嫩| 91狠狠色| 婷婷爱五月天人人爱| 中文字幕在线免费观看视频| 婷婷五月天桃花网| 日本三级中文字幕| 九九久久五月天综合伊人| 色女人久久| 婷婷久综合| 亚洲综合字幕色色| www色婷婷久久综合久色 | 五月丁香花成人社区| 天天视频精品9| 99热 这里只有精品 国产 日韩| 丁香社区婷婷五月| 五月婷婷天堂| 六月色 亚洲| 99成人网站| 久久婷婷五月综合啪| 中国女人内射6XXXXX| 香蕉久日夜| 久这里只有精品99| 久久久27操| 色婷婷狠狠久久综合五月 | 欧美日本免费一道免费视频 | 97超碰人人操| 99久久婷婷五月| 婷婷五月综合色中文字幕| 久久久久综合激动五月天| 色综合久久88色综合天天99| 亚洲激情综合| 婷婷五月综合色中文字幕| 插插干干干色| 五月婷婷激情中文字幕| 天天干天天av天天射 | 天天干,夜夜爽| 秋霞AV淫| 五月婷av| 99婷五月| 99亚洲欧洲| 久久婷婷亚洲| 五月天婷婷基地| 婷婷五月丁香91| 99欧美三级视频| 狠狠色精品综合| 婷婷六月色| 久久总和99| 综合视频五月| 中文字幕日产A片在线看| 任你爽精品免费视频6| 思思热在线精品视频网站| 99热1| 欧美内射AAAAAAXXXXX| 色婷婷狠狠| 五月丁香网站| 丁香六月婷婷社区| 激情五月视频在线婷婷| 九九九干精品| 久久精品9| 国产97色在线 | 日韩| 婷婷色综合网日韩国产| 丁香五月中文字幕久色| 激情综合网婷婷五夜| WWW.激情| 香蕉婷婷色五月| 97色操| 亚洲婷婷六月天| 在线视频另类| 激情婷婷五月综合| 欧美丁香五月97色| www.lchjjc.com| www色色色com| 色婷婷五月天综合网| 婷婷激情五月天激情小说| 久久久精品色| 99热中文字幕久久| 婷婷97C| 色香欲综合| 天天爽天天操| 天天色月| 97人人干人人操| 开心久久xxx色| 六月婷婷五月丁香| 久久综合影院| 色婷婷精品视频| 色婷婷操逼网| 国产精品美女| 九九久久五月天| 色五月天婷婷| www,婷婷| 五月天婷综合| 日韩操人| 一个色的综合| 五月天综合| 成人网在线视频| 99黄色性生活| 91精品91久久久中77777| 99热这里只有精品3| 欧美天堂久久| www.婷婷五月天.com| wwxx日本| 99国产精品白浆在线观看免费 | 日韩成人网址| 激情网站五月| 国产午夜精品一区二区三区四区| 成 久久| 九九热青青草| 亚洲第79页| 免费看成人747474九号视频在线观看| 综合久久人妻| 97人凄人人操人人爽| 99爱视频在线观看| 精品久热| 色情终和网| 九九99热| 在线,国产,色,热视频| 色综合激情图区| 色99网| 亚洲天堂色| av色色国产| 婷婷五月天色| 九月婷婷在线视频| 操逼六区| 天堂婷婷五月色| 国产精品久久久久久久久久 | 日韩成人影片网站| 深爱五月中文字幕| 青青草五月天| 久久99热这里只有精品| 五月婷婷丁香色吧网| 人妻Av在线| 九月色婷婷| 天天舔天天摸天天透| 色五月激情综合| 丁香婷婷综合激情五月色| 狠狠搞亚洲| 99精品久久| 大鸡巴伊人网| www激情五月天| 97九色视频| 开心激情站| 天天久| 三区激情四射av| 五月丁香六月婷婷啪啪| 99热这里只有精品23| 久久五月婷婷丁香| 国产XXXX搡XXXXX搡麻豆| 99狠狠| 天天揷综合网| 婷婷五月天小说| 9 99免费视频| 国产av一区二区三区| 激情AV| 丰满熟女人妻一区二区三| 天天爽天天爽天天爽天天爽天天爽| 丁香久久在线| 婷婷金品综合视频| 99热都是精品| 成人网站免费sxj| 五月四色激情| 色伊人婷婷| 亚洲激情综合免费| 91超级碰| 色婷婷色综合激情91| 色色五月婷婷| 五月婷婷视频| 这里只有精品视频在线看| 噜一噜免费视频| 七七九色| 日韩AV在线影片| 狠狠操狠狠| 99自拍视频网站| 六月婷婷在线| www.久9| 国产毛片精品一区二区色欲黄A片| www.久久综合| xxx.色婷婷| 精品牛仔裤超碰| 五月丁香激情综合网| 天天草天天爽| 狠狠干综合网| 综合久久五月| 天天干狠狠操| 啪啪一区| 日本不卡中文字幕| 五月丁香九九| 五月色情| 激情五月天电影| 丁香五月天成人网站| 色婷婷五月丁香在线观看| 国产无人区大片| 色婷婷综合在线| 欧美性生交XXXXX无码小说| 色婷婷19| 超碰国产在线观看| 五月天婷婷7米| 婷婷五月激情片| 久久只有精品| 色婷婷亚洲综合av| 九九伦子片| 五月婷婷激情| 九九视频在线观看| 中出内射的人妻视频| 人妻肉射免费观看| 五月激情丁香六月狠狠干| 91热久久| 五月丁香啪啪啪| 欧美VA视频| 大香蕉免费9| 老师的粉嫩小又紧水又多A片视频 粉嫩AV久久一区二区三区 | 3p久久| 九九99男女视频在线观看| 天天艹| 色五月97| 色婷婷综合综合网| 伊人久久大香线蕉av最新| 午夜微拍福利| 亚洲成人av在线| 天天干狠狠| 人人草人人舔| 亚洲精品又粗又大又爽A片| 婷婷在线视频| 免费看欧美成人A片无码| 69超碰在线| 丁香网五月天激情| 美女美女美女三级色天天天天天| 这里只有精品网站| 91成人性爱视频| 激情婷婷丁香色五月| 久久婷婷五月综合伊人| 月婷婷亚洲| 中文字幕成人| 色播五月丁香| 五月停停直播| 狠狠色婷婷六月激情网| 思思re99视频在线观看| 激情婷婷丁香| 婷婷激情五月综合| 欧洲色| 九九一区| 96丁香婷婷九月蜜桃综合久久| 亚洲精品一区中文字幕乱码| 99国产精品白浆在线观看免费| 色五月丁香A欧美com| 婷婷第一页| 五月色婷婷影院| 激情无码五月天| 91在线日本| 婷婷99狠狠| 久久99久久99精品免视看婷| 日本熟妇精品99| 五月天婷婷久久日| 丁香 婷婷 亚洲 熟女| 操逼三区| 日良久久| 日本人妻伦在线中文字幕| 无码少妇高潮喷水A片免费| 五月婷婷激情在线| 丁香六月啪啪啪| 精品婷婷五月视| 色综合综合网| 91丨九色丨熟女|新版| 激情五月天色播| 婷婷97C| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 五月婷婷开心网| 婷婷五月天伊人网| 丁香婷婷六月天| 中文AV网| www.91久久| 丁香激情综合| 99九九这里有免费视频| 丁香九月综合激情| 亚洲日韩人妻操逼| 99热99在线精品| 国产日批视频免费播放| 79色色色色| 五月丁香综合在线| 婷婷六月啪啪| 97成人视频| 开心五月天私房婷婷| 伊人久久丁香婷婷六月五月综合| 超碰在线免费| 丁香五月成人| 操比激情五月| 婷婷四月 成人 狠狠干| jizzdr| 青青青在线视频国产| 《久久综合九色综合97婷婷| 五月六月激情婷婷| 色五月婷婷影院| 91色久| 五月天婷婷社区久久综合| 欧洲一区二区| 天天弄天天爽| 99在线观看精品视频| 九九人人操| 97人妻碰碰碰久久| 天天肏天天插| 91精品久久久久久久| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 日韩99视频| 中文字幕日韩无码制服诱或| 天堂在线9| 狠狠色噜噜狠狠狠狠狠色综合久久| 五月天色色色| 婷婷六月色| 人人妖人人97| 超碰超碰在线| 色播婷婷五月天| 日本片日本片祼观看网站在线看中文版网页在线看 | 亚洲激情高潮| 麻豆雪千夏| 国产欧美大香蕉一区| 五月婷人妻| 色婷婷久久| 熟女国产在线一区二区三区四区| 99视频久久免费视频| 青青草五月天| 999热这里只有美国精品| 七七九九色色| 99操视频| 久久Xx| 伊人久久五月天综合| 色婷婷9| 97精品综合久久内射| 操一区| 伊人婷婷大香蕉| 亚洲啪| 99爱无码| 婷婷丁香五月亚洲| 激情淫乱男女| 思思热久热| WWW色色色COM| 日韩一66精品| 欧洲亚洲精品| 久久9视频| 五月婷婷五月天| www.玖玖婷婷在线| 六月婷婷九月丁香亚洲综合| 99色婷婷| 五月伊人综合| 婷婷黄色| 五月天天堂久久| 五月综合无码| 狠狠干最新地址| 五月丁香久久呀| 色欧美一级| 五月丁香 六月婷婷a| www.99热视频| 丁香五月天激情婷婷丁香六月| 婷婷五月综合体验看| 色久播播| 狠狠色狠狠操| 丁香婷婷色色| 中文字幕有多少字| 婷婷五月成人有| 激情五月综合| 色婷婷精品小视频| 亚洲精品白浆高清久久久久久| 丁香五月日啪| 99国产精品白浆在线观看免费 | 久久99看免费| 丁香五月激情网| 丁香六月狠狠干| 99啪啪视频| 色六月天天激情综合网| 日本美女天天日天天爽| 国产精品激情AV久久久青桔| 日日噜人人人做人| 日韩人妻在线观看| 在线不卡视频| AA片在线观看视频在线播放| 久久人妻情侣| 丁香五月婷婷综合激情哟哟哟| se99视频| 五月丁香久久呀| 91蜜桃婷婷狠狠久久综合9色| 在线成人av播放| 噜噜噜久久| 99热最新网址| 欧美激情五月天| 婷婷激情啪啪| 九九99在线| 91超级碰碰碰| 91操片| 久久久久9| 99在线er热| 在线观看免费观看在线9久| 在线五月色播| 2018夜夜草| 综合激情视频| 伊人9在线| 五月婷婷啪啪| 日本性激情色播| 五月天AV大香蕉| 99热精品在线播放| 日韩色色小视频| 激情五月婷婷综合秋霞| 日本丁香五月| 久久99免费视频| 五月婷婷色播| 97超碰99热99| 99久久久久| www好屌操| 精品99在线观看| 六月丁香五月婷婷| 开心五月深爱激情| 啪啪综合|