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

ARTICLE DETAIL

資訊詳情

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

基于Python與CNN的中草藥識別實戰(zhàn):從數(shù)據(jù)到模型

基于Python與CNN的中草藥識別實戰(zhàn):從數(shù)據(jù)到模型 1. 項目拆解與整體設(shè)計思路1.1 這個題目到底在做什么“基于Python-CNN機器學(xué)習(xí)深度學(xué)習(xí)的常見中草藥識別”這種課程設(shè)計題目最近幾年在各大高校里出現(xiàn)的頻率越來越高。我先用大白話把題目拆開你要做的不是“背誦一堆草藥名字”而是讓計算機通過圖片自動判斷“這是哪種中藥材”。現(xiàn)代人習(xí)慣拿手機拍照想識別路邊的車前草、廚房里的枸杞或者藥店抓回來的干黃連——而CNN這一類深度學(xué)習(xí)模型恰好是這項工作最好的工具。從課程設(shè)計和畢業(yè)設(shè)計的考核角度看這個項目有幾個硬指標自己構(gòu)建或調(diào)優(yōu)一個CNN模型不是簡單調(diào)用現(xiàn)成接口而是能理解每一層的設(shè)計意圖。有一套合理的數(shù)據(jù)處理流程包括數(shù)據(jù)集的整理、圖像增強、歸一化等預(yù)處理。訓(xùn)練可得且效果可量化也就是說最終要給出準確率、損失曲線、混淆矩陣這類能說服答辯老師的圖表。有實際驗證新拍的圖片能跑通識別流程而不是只停留在訓(xùn)練集上自嗨。這個題目適合哪個階段的人做我見過三類人做它第一類是本科課程設(shè)計周期2到4周需要基礎(chǔ)功能完整、流程顯眼即可第二類是本科畢業(yè)設(shè)計周期3到5個月要加對比實驗、可視化分析甚至要整理成小論文第三類是研究生入門項目重點在于把遷移學(xué)習(xí)、細粒度分類這些思路玩起來。不同目標決定了你的技術(shù)選型深度文章后面會分階段說明。1.2 為什么用CNN而不是傳統(tǒng)機器學(xué)習(xí)方案放到5年前很多圖像識別項目用的是“手工提取特征傳統(tǒng)分類器”的路子。比如先把圖像的HOG特征、色彩直方圖、紋理特征提出來再用SVM或隨機森林做分類。這條路對中草藥識別的問題是中草藥識別恰恰是典型的“細節(jié)決定成敗”任務(wù)。兩種植物可能顏色相近、形狀相似用手工特征很難界定到底抓哪個特征才是真正的區(qū)分點。CNN的做法是“端到端”的——你給它看大量標注好的圖片它不需要你告訴它該看什么部位它會自己在訓(xùn)練過程中學(xué)會選取對分類最有用的特征。第一層網(wǎng)絡(luò)可能學(xué)的是邊緣和色彩塊第二層可能學(xué)出葉片的紋理模式更深層則能學(xué)到“這個部位的形狀結(jié)合那個部位的顏色特征指向黃連”。這種自動學(xué)習(xí)特征的能力正是處理自然場景下植物照片的關(guān)鍵。以我的實操體驗來說傳統(tǒng)方案在只有20多種藥材、每類只有幾十張圖的時候SVM勉強能跑到70%左右精度而同樣條件下哪怕是一個基礎(chǔ)CNN訓(xùn)練充分后也能輕松超過85%。如果數(shù)據(jù)量更大、種類更多傳統(tǒng)方案下滑得非??霤NN受到的影響卻很有限。所以這個題目選CNN不是炫技是這個任務(wù)天然適配。1.3 技術(shù)棧選型Python生態(tài)怎么搭標題里點名了Python這本身沒什么好糾結(jié)的——Python在深度學(xué)習(xí)領(lǐng)域幾乎是唯一的選擇。但具體選哪些庫我覺得要根據(jù)你的硬環(huán)境和調(diào)試習(xí)慣來深度學(xué)習(xí)框架KerasTensorFlow 2.x的接口或PyTorch。課程設(shè)計優(yōu)先推薦Keras因為接口封裝度高幾行就能起一個像樣的CNN畢業(yè)設(shè)計優(yōu)先推薦PyTorch因為做debug、自定義網(wǎng)絡(luò)結(jié)構(gòu)、看中間特征可視化都更靈活。如果你有論文需求那PyTorch是更好的選擇。圖像處理OpenCV和Pillow。數(shù)據(jù)增強環(huán)節(jié)兩者都要用OpenCV的插值速度快、Pillow的API更友好。數(shù)據(jù)科學(xué)工具NumPy、Pandas、Matplotlib、Seaborn。前兩個用來處理標簽和數(shù)據(jù)劃分后兩個用于繪制loss曲線和混淆矩陣。開發(fā)環(huán)境首選Jupyter Notebook或JupyterLab逐段運行看結(jié)果方便正式訓(xùn)練腳本建議存成.py文件提交到服務(wù)器上跑。一個容易忽略的點是模型訓(xùn)練的過程中會產(chǎn)生大量中間結(jié)果比如訓(xùn)練日志、模型權(quán)重文件、可視化圖像等建議從一開始就建立清晰的目錄結(jié)構(gòu)把代碼、數(shù)據(jù)、模型、結(jié)果分開存放。我自己深受“數(shù)據(jù)、代碼、結(jié)果混在一起最后答辯前找不到模型文件”的苦這個習(xí)慣非常重要。圍繞技術(shù)選型還有一個經(jīng)典問題為什么不直接用預(yù)訓(xùn)練模型跑遷移學(xué)習(xí)我覺得對課程設(shè)計來說“從零搭建一個CNN”這個動作本身往往是評分點。如果一上來就用ResNet的預(yù)訓(xùn)練權(quán)重模型的“理解深度”就不好展示。但畢設(shè)階段完全可以把兩者都做自己搭建的基礎(chǔ)CNN作為基線再用遷移學(xué)習(xí)構(gòu)建一個更強的模型作為對比這就是一個體面的實驗設(shè)計了。2. 核心模塊原理與方案選擇2.1 CNN識別中草藥卷積層在學(xué)什么很多同學(xué)聽到CNN就怕覺得里面的數(shù)學(xué)公式嚇人。其實理解CNN只需要抓住一個邏輯它為什么能識別植物因為它在分層提取圖像特征。先看卷積層??梢园丫矸e操作理解成拿著一個“小放大鏡”在圖像上滑動每次只看局部區(qū)域。這個放大鏡就是卷積核它提取的是“某個局部區(qū)域內(nèi)某種模式存在的強度”。比如一個卷積核專門用來檢測“橫著的一條深色線”另一個卷積核檢測“綠色塊之間的白色間隙”。中草藥圖片里這些模式非常關(guān)鍵——葉片邊緣的鋸齒形狀、葉脈的走向、花蕊的顏色分布本質(zhì)上都是這種局部模式在不同尺度的組合。卷積層的參數(shù)并不是人手工設(shè)置的而是通過訓(xùn)練自動調(diào)整的。起初是隨機數(shù)模型看到大量“這是薄荷葉”和“這不是薄荷葉”的圖片后自動調(diào)整那些能讓分類正確率提高的卷積核值。這就是“機器學(xué)習(xí)”中最本質(zhì)的部分特征是學(xué)出來的不是人設(shè)計出來的。然后是池化層。它干的事情是“壓縮信息”。比如一張200×200的圖片經(jīng)過一次卷積和一次2×2的池化尺寸會變成100×100。池化的意義有兩個一是降低計算量二是不怕小位移——葉子稍微歪一點、換個角度拍池化之后提取到的關(guān)鍵模式還在。這一點對中草藥識別特別重要咱們平時拍照不可能像證件照一樣規(guī)規(guī)矩矩傾斜、遮擋、光線變化是常態(tài)。到了網(wǎng)絡(luò)后面幾層模型會把前面學(xué)到的局部特征拼接成“這張圖整體上是什么風(fēng)格”的判斷最終經(jīng)過全連接層把特征映射到具體的分類概率上。輸出層通常是Softmax它會把10個或20個類別的得分變成一組和為1的概率值“概率最大的那個類別”就是識別結(jié)果。這套流程和人類看植物時“先看葉形再看葉脈再看花和整體氣質(zhì)”是一個邏輯聽著是不是一點都不玄了。2.2 數(shù)據(jù)的坑與數(shù)據(jù)集的構(gòu)建策略中草藥識別項目最大的坑不在模型在數(shù)據(jù)。這是我反復(fù)和做這個題目的同學(xué)強調(diào)的。規(guī)模問題CNN雖然強大但它是個“飯量很大”的模型。如果只給每個類別準備30張圖同濟的模型再牛也會陷入過擬合——訓(xùn)練集上識別近乎100%拿到新拍的照片上就“翻車”。根據(jù)我的經(jīng)驗做這個題目每個類別至少準備100張以上圖片如果每類能達到300張訓(xùn)練效果會比較從容。數(shù)據(jù)不夠怎么辦有兩個辦法一是“數(shù)據(jù)增強”也就是用旋轉(zhuǎn)、翻轉(zhuǎn)、裁剪、亮度調(diào)整等方法把一張圖片變出多張來二是“遷移學(xué)習(xí)”用別人在大規(guī)模數(shù)據(jù)集上訓(xùn)練好的模型權(quán)重做初始化這樣只需少量數(shù)據(jù)也能有不錯的準確率。類別選擇常見中草藥可以選10到20類。不需要選太生僻的品種因為越生僻的數(shù)據(jù)越難找而且答辯時老師也不一定認識效果反而不好。黃金選擇是那些特征明顯、你所在城市路邊或藥房能見到的品種薄荷、魚腥草、金銀花、薏苡仁、枸杞、陳皮、當歸、黃連、板藍根、益母草……這些類別外觀區(qū)分度相對好適合入門。在類別設(shè)計上我強烈建議包含“易混淆組”。比如把“薄荷”和“荊芥”都選進去或把“干姜”和“黃姜”放在一起。為什么因為這個項目能體現(xiàn)深度學(xué)習(xí)的價值就在于“不是簡單背答案而是真的在學(xué)區(qū)分特征”。如果選的10類藥材長得差異極大模型可能隨便學(xué)個顏色就能分類答辯時老師追問“為什么區(qū)分這兩種”你完全沒法解釋深層的特征學(xué)習(xí)。設(shè)一組易混淆類別后面做混淆矩陣、分析錯誤樣本都有了素材。數(shù)據(jù)獲取最直接的是用搜索引擎下載圖片但要注意版權(quán)問題建議只用于課程學(xué)習(xí)。更穩(wěn)妥的方案是去一些公開的植物圖像數(shù)據(jù)集或者自己用手機拍攝條件允許的話保持同一藥材的多角度、多背景、不同光照。數(shù)據(jù)集質(zhì)量判斷的標準很簡單真實場景、光線變化、有背景雜亂的照片比干凈的影棚圖更“管用”因為訓(xùn)練出來的模型在實際場景中更耐用。下載之后必須人工清理一遍把錯誤類別的圖、文字圖、重復(fù)圖全部刪掉這一步?jīng)]什么技巧就是要耐心。2.3 遷移學(xué)習(xí)為什么是中草藥識別的最優(yōu)選如果讓我對做畢設(shè)的同學(xué)說一個建議那就是別只盯著自己搭的CNN把遷移學(xué)習(xí)加進來。比如用ImageNet上訓(xùn)練過的ResNet50作為特征提取器去掉它原來的分類層換成你自己的中草藥分類頭然后整個網(wǎng)絡(luò)在你的數(shù)據(jù)上繼續(xù)訓(xùn)練。這個方案有幾個實打?qū)嵉暮锰幨諗克俣葮O快——你用基礎(chǔ)CNN可能要訓(xùn)練50個epoch才到85%準確率遷移學(xué)習(xí)10個epoch可能就93%了對數(shù)據(jù)量的要求也低很多每類只需要幾十張圖就能跑出可用的模型而且更魯棒對光照變化、模糊、遮擋的耐受性明顯更好。順帶補充一句其實真正厲害的圖像分類系統(tǒng)幾乎很少從零開始訓(xùn)練大模型因為數(shù)據(jù)量和時間成本太高。用別人在數(shù)十萬張圖上練好的通用特征再在專業(yè)領(lǐng)域數(shù)據(jù)上做微調(diào)也就是所謂“微調(diào)”Fine-tuning本身就是工程實踐里的標準做法。在答辯時如果老師問“為什么選ResNet50”你可以回應(yīng)“因為它引入了殘差連接解決了深層網(wǎng)絡(luò)梯度消失的問題特征復(fù)用效率高”如果問“為什么用了預(yù)訓(xùn)練權(quán)重”你可以回應(yīng)“因為領(lǐng)域數(shù)據(jù)集樣本量有限復(fù)用通用圖像特征能降低過擬合風(fēng)險、加快收斂”。這些邏輯自洽的表述會讓答辯的深度拉高一個檔次。關(guān)于遷移學(xué)習(xí)和基礎(chǔ)CNN的關(guān)系我不建議把二者對立起來。課程設(shè)計可以以基礎(chǔ)CNN為主遷移學(xué)習(xí)作為加分項畢設(shè)則可以作為對比實驗出現(xiàn)——基礎(chǔ)CNN是一種實現(xiàn)遷移學(xué)習(xí)是另一種實現(xiàn)兩者各成一條對比路線實驗章節(jié)自然豐富了很多。3. 從零到一的搭建與訓(xùn)練實操3.1 項目環(huán)境準備與依賴安裝無論你是課程設(shè)計還是畢業(yè)設(shè)計我建議先用本機做小規(guī)模試驗跑通了再考慮上服務(wù)器。環(huán)境準備方面我自己最常用的一套組合是conda create -n cnn_herb python3.9 conda activate cnn_herb pip install tensorflow-cpu2.12.* # 若顯卡可用則去掉 -cpu 后綴 pip install torch torchvision # 選裝做遷移學(xué)習(xí)時使用 pip install opencv-python pillow numpy pandas matplotlib seaborn scikit-learn安裝的時候有兩點經(jīng)驗第一TensorFlow和PyTorch不必都裝CPU版本如果你的電腦有NVIDIA顯卡務(wù)必裝對應(yīng)CUDA的GPU版本訓(xùn)練速度能快一個數(shù)量級第二如果pip安裝太慢直接換鏡像源pip install xxx -i https://pypi.tuna.tsinghua.edu.cn/simple這不算什么“高深技巧”但真的能讓你少等很久。環(huán)境裝好后建議先測試一下框架能不能正常調(diào)用GPUimport tensorflow as tf print(GPU available:, tf.config.list_physical_devices(GPU))如果輸出是空列表說明你的TensorFlow沒識別到顯卡接下來訓(xùn)練會很痛苦。這時候回到第一步檢查CUDA版本和tensorflow版本是否匹配。這個問題太常見了下面專門有一個小節(jié)講這里先按“能識別到GPU”繼續(xù)。3.2 數(shù)據(jù)整理與數(shù)據(jù)集劃分從亂圖到干凈數(shù)據(jù)集以最簡單的目錄結(jié)構(gòu)為例我建議把圖片按“類目-編號”命名并放在按類別命名的文件夾里dataset/ mint/ # 薄荷 mint_001.jpg mint_002.jpg ... honeysuckle/ # 金銀花 honeysuckle_001.jpg ... ...然后寫一個腳本把數(shù)據(jù)讀進來劃分成訓(xùn)練集和驗證集。劃分比例上常用的有8:2、7:3等。我自己偏好80%訓(xùn)練、10%驗證、10%測試不過課程設(shè)計沒有絕對標準關(guān)鍵是驗證集和測試集千萬不要在訓(xùn)練時被模型“看到”否則準確率虛高。這是所有初學(xué)者的第一個認知壁壘。import os, random, shutil random.seed(42) src ./dataset train_dir ./dataset_split/train val_dir ./dataset_split/val test_dir ./dataset_split/test os.makedirs(train_dir, exist_okTrue) os.makedirs(val_dir, exist_okTrue) os.makedirs(test_dir, exist_okTrue) for cls in os.listdir(src): class_path os.path.join(src, cls) if not os.path.isdir(class_path): continue imgs os.listdir(class_path) random.shuffle(imgs) n_train int(len(imgs) * 0.8) n_val int(len(imgs) * 0.1) for i, img in enumerate(imgs): dst if i n_train: dst os.path.join(train_dir, cls, img) elif i n_train n_val: dst os.path.join(val_dir, cls, img) else: dst os.path.join(test_dir, cls, img) os.makedirs(os.path.dirname(dst), exist_okTrue) shutil.copy(os.path.join(class_path, img), dst)這段腳本做的事情很簡單按比例把每一類的圖片復(fù)制到三個新目錄。為什么不用移動復(fù)制更安全萬一劃分比例不對原圖還在。為什么固定了隨機種子為了保證運行結(jié)果可復(fù)現(xiàn)答辯時老師問“你那次實驗的結(jié)果能復(fù)現(xiàn)嗎”你只需要說一句“我們的隨機種子在實驗設(shè)置里固定了”就很專業(yè)。接下來是標簽編碼。如果用TensorFlow的ImageDataGenerator的flow_from_directory它會自動按文件夾名稱生成標簽順序。如果改用自定義數(shù)據(jù)加載一般用整數(shù)標簽從0開始遞增。標簽順序一定要記住后面預(yù)測新圖片時要靠它把索引轉(zhuǎn)回中文名。class_labels [mint, honeysuckle, bajiao, ...] label_to_idx {name: i for i, name in enumerate(class_labels)} idx_to_label {i: name for name, i in label_to_idx.items()}3.3 圖像預(yù)處理與數(shù)據(jù)增強中草藥圖片的預(yù)處理分三步縮放 → 歸一化 → 增強??s放CNN要求輸入尺寸固定。我推薦224×224因為這是很多預(yù)訓(xùn)練模型的標配尺寸兼容性好。如果你的基礎(chǔ)CNN不夠深也可以使用128×128減少計算量但圖像的細節(jié)信息會丟失一些。歸一化把像素值從0~255映射到0~1或-1~1幫助梯度穩(wěn)定、加快收斂。這一步在Keras里面寫一行from tensorflow.keras.preprocessing.image import ImageDataGenerator train_datagen ImageDataGenerator( rescale1./255, rotation_range30, # 隨機旋轉(zhuǎn)30度 width_shift_range0.2, # 水平平移20% height_shift_range0.2, # 垂直平移20% shear_range0.2, # 剪切變換 zoom_range0.2, # 隨機縮放 horizontal_flipTrue, # 水平翻轉(zhuǎn) fill_modenearest # 填充模式 ) test_datagen ImageDataGenerator(rescale1./255)數(shù)據(jù)增強說白了就是“把訓(xùn)練照片增加‘變數(shù)’”。想想你真實使用軟件的場景有人把葉子拍歪了、光線太暗了、離得太近了模型如果只見過“標準圖”這些情況就會誤判。增強處理使模型學(xué)會對形變、亮度和位置的變化保持魯棒。需要注意驗證集和測試集絕對不能做增強只能做縮放和歸一化。因為增強是人為地制造不同樣本來擴大模型認識的邊界而驗證集和測試集要反映“真實分布”必須保持原始狀態(tài)測試集上增強沒有任何意義。3.4 搭建基礎(chǔ)CNN模型下面是課程設(shè)計級的基礎(chǔ)CNN代碼4個卷積塊加2層全連接。這個結(jié)構(gòu)對于中草藥分類來說是“足夠用”的起始點from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout model Sequential([ Conv2D(32, (3, 3), activationrelu, input_shape(224, 224, 3)), MaxPooling2D(2, 2), Conv2D(64, (3, 3), activationrelu), MaxPooling2D(2, 2), Conv2D(128, (3, 3), activationrelu), MaxPooling2D(2, 2), Conv2D(128, (3, 3), activationrelu), MaxPooling2D(2, 2), Flatten(), Dropout(0.5), Dense(512, activationrelu), Dropout(0.3), Dense(len(class_labels), activationsoftmax) ]) model.summary()簡單解釋一下每層的選擇邏輯。第一層用了32個卷積核后面逐漸翻倍到64、128、128這是一個常見的“淺層少、深層多”設(shè)計淺層學(xué)的是細節(jié)特征多一些通道可以組合出更豐富的模式深層學(xué)的是高維語義卷積核數(shù)量不必太多以免過擬合。每個卷積塊后面跟一個MaxPooling下采樣逐步把224×224壓到14×14最后Flatten喂給全連接層。Dropout在0.5和0.3是全連接層防過擬合最重要的手段。中間用ReLU激活輸出層是Softmax多分類。3.5 訓(xùn)練參數(shù)的選擇邏輯學(xué)習(xí)率和批大小訓(xùn)練時最關(guān)鍵的幾個配置是批次大小、學(xué)習(xí)率、優(yōu)化器、Epoch數(shù)、早停策略。model.compile( optimizeradam, losssparse_categorical_crossentropy, metrics[accuracy] ) history model.fit( train_generator, steps_per_epochtrain_generator.n // batch_size, epochs50, validation_dataval_generator, validation_stepsval_generator.n // batch_size, callbacks[early_stop, model_checkpoint] )批次大小我實測下來16到32是比較適合中草藥分類的。批次過小比如4會導(dǎo)致梯度震蕩太劇烈訓(xùn)練不穩(wěn)批次過大會讓每輪迭代時間變長而且顯存可能爆。如果你用的是GPU32是首選的起步值。學(xué)習(xí)率Adam的默認學(xué)習(xí)率是0.001在多數(shù)情況下可以直接用。但如果發(fā)現(xiàn)loss在訓(xùn)練過程中反復(fù)震蕩、下不去可以先降到0.0005或0.0003重新跑一次。如果loss下降太慢可以適當提到0.002但不建議更大很容易發(fā)散。Epoch數(shù)和早停訓(xùn)練50個epoch不一定全部跑完。設(shè)置早停監(jiān)控驗證集loss如果連續(xù)10個epoch不再下降就自動停止同時恢復(fù)最好的權(quán)重from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint early_stop EarlyStopping(monitorval_loss, patience10, restore_best_weightsTrue) checkpoint ModelCheckpoint(herb_model.h5, monitorval_loss, save_best_onlyTrue)為什么要做早停我在這個項目里見過很多次訓(xùn)練集準確率一路升到99%以上驗證集卻停在85%不再動甚至開始下降。這說明模型開始“背題”而不是“學(xué)特征”了。早停就是為了對抗這種“過擬合”風(fēng)險讓模型停在泛化能力最好的那個點而不是訓(xùn)練最后的那個狀態(tài)。3.6 模型評估不只是看準確率訓(xùn)練結(jié)束后評估部分必須做三件事驗證集準確率、loss曲線、混淆矩陣。這門課的評分老師通常最看重這三個圖。loss曲線畫法是import matplotlib.pyplot as plt plt.plot(history.history[loss], labeltrain_loss) plt.plot(history.history[val_loss], labelval_loss) plt.title(Training and Validation Loss) plt.xlabel(Epoch) plt.ylabel(Loss) plt.legend() plt.show()如果訓(xùn)練loss和驗證loss之間差值很大就是過擬合的直接證據(jù)如果兩者都在高位下不去說明模型容量不夠或者學(xué)習(xí)率不合適如果曲線震蕩說明批次數(shù)據(jù)分布不夠均勻可以考慮增大批次?;煜仃囉胹klearn.metrics.confusion_matrix畫出來能直觀看到哪些類別互相混淆。比如“白芷”總是被誤判為“當歸”那你就有兩個入手方向一是增加這兩個類別的訓(xùn)練樣本二是檢查數(shù)據(jù)集本身——是不是當時下載或標注的時候這兩類的圖就已經(jīng)混亂了。這一步也是答辯時最能展現(xiàn)你分析能力的內(nèi)容。import numpy as np from sklearn.metrics import confusion_matrix, classification_report pred_probs model.predict(val_generator) pred_labels np.argmax(pred_probs, axis1) true_labels val_generator.classes[:len(pred_labels)] print(classification_report(true_labels, pred_labels, target_namesclass_labels))3.7 對新圖片做預(yù)測完整識別流程模型訓(xùn)練好以后識別一張真實照片的流程也要寫清楚from tensorflow.keras.preprocessing import image def predict_image(img_path): img image.load_img(img_path, target_size(224, 224)) img_array image.img_to_array(img) img_array np.expand_dims(img_array, axis0) img_array img_array / 255.0 probs model.predict(img_array)[0] idx np.argmax(probs) confidence probs[idx] return idx_to_label[idx], confidence這里面有個容易忽略的細節(jié)預(yù)測時的預(yù)處理必須和訓(xùn)練時保持完全一致。訓(xùn)練時如果做了rescale1./255預(yù)測時也要除以255否則輸入分布不一致模型表現(xiàn)會大打折扣。此外load_img默認會做雙線性插值縮放尺寸變了但內(nèi)容語義不變這是正常操作。我的經(jīng)驗是把這部分單獨封裝成一個腳本比如predict.py接收圖片路徑參數(shù)輸出識別結(jié)果和置信度。答辯現(xiàn)場用手機拍一張新鮮的照片程序能跑出正確結(jié)果的話現(xiàn)場效果是非常有說服力的。3.8 遷移學(xué)習(xí)模型的實戰(zhàn)補充上面已經(jīng)提過ResNet50遷移學(xué)習(xí)的大致思路。代碼層面是用torchvision或Keras自帶的應(yīng)用模塊加載預(yù)訓(xùn)練模型替換分類層然后凍結(jié)前面的骨干網(wǎng)絡(luò)只訓(xùn)練新的分類頭或者解凍部分層做微調(diào)。用Keras寫的話最明顯的對比實驗代碼是from tensorflow.keras.applications import ResNet50 from tensorflow.keras.models import Model from tensorflow.keras.layers import GlobalAveragePooling2D, Dense base_model ResNet50(weightsimagenet, include_topFalse, input_shape(224, 224, 3)) base_model.trainable False # 先凍結(jié)骨干 x GlobalAveragePooling2D()(base_model.output) x Dense(256, activationrelu)(x) output Dense(len(class_labels), activationsoftmax)(x) model Model(inputsbase_model.input, outputsoutput)先只訓(xùn)練分類頭若干個epoch后可以把base_model.trainable True用極小的學(xué)習(xí)率比如0.0001整體微調(diào)幾輪效果往往還能再上一個臺階。遷移學(xué)習(xí)有一個相當重要的問題網(wǎng)絡(luò)結(jié)構(gòu)變了輸入尺寸和歸一化方式也要跟著變。用ResNet50輸入圖片需要按ImageNet數(shù)據(jù)集的均值方差來歸一化而不是簡單除以255。偷懶就會造成特征分布不匹配導(dǎo)致準確率不如基礎(chǔ)CNN的詭異情況。細節(jié)上務(wù)必查一下你所用預(yù)訓(xùn)練模型的標準預(yù)處理方式。4. 常見問題與排查技巧實錄4.1 過擬合訓(xùn)練集99%驗證集85%我見過最多的現(xiàn)象就是這一個。模型把訓(xùn)練數(shù)據(jù)“背得滾瓜爛熟”但遇到新圖片就露怯。解決方向的優(yōu)先級如下增加數(shù)據(jù)增強強度。把旋轉(zhuǎn)范圍從20度提高到40度加入brightness_range[0.8,1.2]這類亮度擾動效果往往立竿見影。增加Dropout比例。全連接層的Dropout從0.5提到0.6或0.7或者在全連接前再加一層Dropout。縮小模型容量。把卷積核數(shù)量從128降到64或32全連接層的512降到256。這也算個入門級思路很多人以為加參數(shù)就能提升精度其實小模型在數(shù)據(jù)量不夠時反而訓(xùn)得更好。數(shù)據(jù)擴量?;氐綌?shù)據(jù)集增加樣本量或?qū)γ款愂占鄻踊膱D片。另外要說的是過擬合的原因首先是數(shù)據(jù)量不足。模型參數(shù)量動輒幾百萬訓(xùn)練數(shù)據(jù)才幾百張在參數(shù)空間里顯得捉襟見肘。在某些情況下數(shù)據(jù)增強并不能創(chuàng)造真正的新信息——旋轉(zhuǎn)、翻轉(zhuǎn)只是改變了位置和角度如果數(shù)據(jù)本身有問題可能還是會出錯。所以增加新圖片是治本增強是治標。4.2 數(shù)據(jù)量不足時的救命招遷移學(xué)習(xí)更不挑數(shù)據(jù)如果你時間緊、只有每類50張圖還是有希望拿到90%以上的效果。主線就是把上面的3.8遷移學(xué)習(xí)方案走通。我在做模擬項目X的時候遇到過一個非常極端的設(shè)定數(shù)據(jù)集只有每類60張基礎(chǔ)CNN的準確率只有78%換了ResNet50微調(diào)后漲到91%。差距就是這么明顯。原因是預(yù)訓(xùn)練模型的骨干網(wǎng)絡(luò)已經(jīng)在數(shù)百萬張圖上見過各種各樣的紋理、邊緣、形狀你只需要教它“這些特征像哪一類中草藥”而不是從零教它“什么是葉脈”。對于做畢業(yè)設(shè)計的同學(xué)我建議把這個對比做進實驗章節(jié)基礎(chǔ)CNN vs ResNet50微調(diào) vs VGG16微調(diào)三組在同一數(shù)據(jù)集、同一評價指標下的準確率表格這一頁的內(nèi)容比寫一千字的理論要更有說服力。要注意的是微調(diào)對比實驗一定要控制變量同樣的數(shù)據(jù)劃分、同樣的預(yù)處理、同樣的隨機種子。否則“遷移學(xué)習(xí)效果好”這個結(jié)論就很微弱。4.3 類別不平衡有的藥材圖多有的圖少網(wǎng)上扒圖的典型后果是薄荷圖好找扒下來300多張某種不那么大眾的藥材可能只有40張。此時如果不做任何處理模型會悄悄偏向樣本量大的類別甚至認為“不管見什么圖都猜薄荷”。處理類別不平衡有三個方法按易到難排圖像增強補齊對少數(shù)類做更強的旋轉(zhuǎn)、平移、光照擾動甚至做隨機裁剪后放回把它“湊”到接近多數(shù)類的數(shù)量。類別加權(quán)在訓(xùn)練時給少數(shù)類的loss乘以更大的系數(shù)。Keras里可以通過class_weight參數(shù)顯式指定from sklearn.utils.class_weight import compute_class_weight class_weights compute_class_weight(balanced, classesnp.unique(y_train), yy_train) class_weight_dict {i: class_weights[i] for i in range(len(class_weights))}收集更多數(shù)據(jù)這是最笨但最有效的方法。對少數(shù)類再采集一批圖片加入訓(xùn)練集。課程設(shè)計階段我用過最多的還是第一種。復(fù)制粘貼式增強雖然指標上略有虛高但在小數(shù)據(jù)量項目中是公認的近似手段答辯時如實說明就可以了。4.4 新照片識別不準預(yù)處理不一致首當其沖自己訓(xùn)練完拿去測試發(fā)現(xiàn)真實環(huán)境下一塌糊涂最常見的坑是“環(huán)境變了”。訓(xùn)練用的圖片可能是搜索引擎里干凈整齊的樣本測試時你用手機在室內(nèi)自然光下拍光線、角度、背景都不一樣這屬于典型的“領(lǐng)域差異”。我總結(jié)的排查清單是輸入尺寸和歸一化方式是否與訓(xùn)練時一致。圖片壓縮是否過于嚴重是否肉眼都看不清。攝像頭拍攝的EXIF旋轉(zhuǎn)信息是否有處理OpenCV的imread有時候讀出來是橫的而訓(xùn)練時都是正的。模型是否對背景敏感——葉子放大局部拍可能比整株植物拍更好識別這也解釋了為什么很多識別App都建議“拍局部、拍特寫”。4.5 訓(xùn)練速度太慢如果你只是在本機訓(xùn)練每一輪Epoch都可能要幾分鐘訓(xùn)練50個epoch會相當痛苦。我的建議有三個先小后大先用64×64輸入尺寸、少量數(shù)據(jù)跑通整個流程確認代碼和參數(shù)沒問題后再切回224×224正式訓(xùn)練。用GPU如果你的顯卡是普通入門級也夠用訓(xùn)練速度能提升幾十倍。減少不必要的Epoch多數(shù)任務(wù)在驗證集達到峰值后繼續(xù)訓(xùn)練毫無意義依靠早停能省掉一半以上的時間。4.6 模型文件保存與加載訓(xùn)練好后記得保存完整模型或權(quán)重三種方式我都用過model.save(herb_model.h5) # 保存整個模型結(jié)構(gòu)權(quán)重 model.save_weights(herb_weights.h5) # 僅保存權(quán)重 # 推薦保存完整模型預(yù)測時不需要重新構(gòu)建結(jié)構(gòu)如果是遷移學(xué)習(xí)模型最好連帶預(yù)處理方式一起記錄在一個config.json里。我見過不止一個同學(xué)來答辯時拿著一個只有文件名的.h5卻完全想不起來當初歸一化用的尺度。規(guī)范的筆記是保障項目可復(fù)現(xiàn)的基本素養(yǎng)。5. 答辯展示與項目深化思路5.1 答辯PPT怎么講清楚這個故事很多同學(xué)項目做得不錯答辯卻講成流水賬先裝環(huán)境再寫代碼最后有準確率。這不是講故事的方式。中草藥識別項目答辯建議按“為什么→怎么做→做成什么樣→還能怎么提升”的邏輯來講簡單來說就是用“問題驅(qū)動”代替“過程驅(qū)動”。引言部分講清楚中草藥識別對日常生活的意義普通人認不全、資深藥師也有記憶盲區(qū)、移動端拍照識別是剛需。方案部分講清楚為什么選擇CNN為什么不用傳統(tǒng)圖像識別。實現(xiàn)部分講網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)準備重點突出“你在每個環(huán)節(jié)做了什么決策、為什么”。結(jié)果部分展示準確率和混淆矩陣別怕展示錯誤——反而是分析錯誤類別的過程最能體現(xiàn)項目的深度和思考。有一個特別實用的技巧答辯之前準備一張“失敗案例圖”。挑一張識別錯的圖片分析模型為何錯并說明可以做哪些改進。老師在答辯時最喜歡問的就是“你這個項目有什么不足”這個問題答得好是很大的加分項。5.2 可擴展方向從固定分類到開放識別識別固定40類藥材只是課程設(shè)計的及格線。如果你有興趣做得更深入我列出幾個可擴展方向從分類到檢測目標檢測模型如Faster R-CNN、YOLO可以從復(fù)雜圖片中把藥材區(qū)域框出來再分類適配的實際場景更貼近“田間拍攝、自然場景找藥材”。從單圖到多圖融合不同藥材可能在根、莖、葉、花上差異明顯可以把多個部位圖輸入一個多路網(wǎng)絡(luò)做綜合判斷。從圖片到文本識別結(jié)果結(jié)合藥材知識庫輸出“性味歸經(jīng)、功效、用法、禁忌”直接做成一個問答式的中藥知識助手。那時候項目的實用性和交互性會大大提升。部署到移動端用TensorFlow Lite的轉(zhuǎn)換把模型部署到手機端或嵌入式端。課程設(shè)計到這一步已經(jīng)屬于“向工程實踐靠攏”的加分項。半監(jiān)督學(xué)習(xí)網(wǎng)上大量弱標注數(shù)據(jù)未充分利用可用偽標簽或?qū)Ρ葘W(xué)習(xí)的方法挖掘未標注數(shù)據(jù)的價值。對本科階段而言能完成其中任意一個擴展方向并跑通演示就已經(jīng)超過絕大多數(shù)“為了交差”的同類項目了。5.3 關(guān)于評分標準的一點個人判斷不同學(xué)校、不同老師的評分偏好差異極大但有幾個共性要素幾乎是公認的流程完整度數(shù)據(jù)處理→訓(xùn)練→評估→預(yù)測的閉環(huán)、規(guī)范程度代碼注釋、目錄結(jié)構(gòu)、實驗記錄、可視化曲線圖、混淆矩陣、真實圖片演示、分析深度基于結(jié)果能提出改進方向。這四個要素抓好了分數(shù)都不會差。不過我也想潑一盆冷水課程設(shè)計階段不要追求遙遙領(lǐng)先的技術(shù)指標。你的目標是“證明自己掌握了基礎(chǔ)原理和工程流程”而不是“訓(xùn)練出比論文SOTA更好的模型”。項目周期有限的情況下把基礎(chǔ)CNN調(diào)優(yōu)到85%以上配合遷移學(xué)習(xí)對比已經(jīng)是很扎實的工作量了。與其花大量時間無節(jié)制地調(diào)參堆疊不如把精力放在把項目里已有的成果講透、把特征可視化的圖做漂亮。6. 寫在最后的實操經(jīng)驗做這個題目最容易讓初學(xué)者誤判的是“時間都花在模型上”。但以我的實際經(jīng)歷來看這類圖像識別項目最大的時間黑洞永遠是數(shù)據(jù)整理——下載、清洗、重命名、統(tǒng)一格式、調(diào)整增強參數(shù)。曾經(jīng)有一次我在圖書館連著蹲了一個周末凈收益只是把某個類別的“廢圖”從兩百張里刪到一百三十張但這直接拉升了模型近4個百分點的驗證集準確率。所以你如果問我要一條核心建議那就是數(shù)據(jù)質(zhì)量決定模型上限調(diào)參只決定模型能否接近這個上限?;ㄔ跀?shù)據(jù)上的功夫永遠不吃虧。另外項目過程記錄很關(guān)鍵。我給所有做課程設(shè)計的同學(xué)一個通用建議從拿到題目的第一天起建立兩個文檔一個叫《實驗日志》另一個叫《問題清單》。每天記錄做了什么操作、得到什么結(jié)果每遇到一個報錯或異常就把現(xiàn)象、排查步驟、最終解法記下來。答辯時老師問“你遇到過什么問題嗎”你隨手就能舉出一個完整的排查經(jīng)歷比“沒遇到什么問題訓(xùn)練很順利”這種回答可信度高得多。而且寫畢業(yè)設(shè)計論文時這些日志會變成你“第三章實驗”和“第四章結(jié)果分析”最現(xiàn)成的素材寫起來輕松好幾倍。最后再分享一個小技巧訓(xùn)練完成后給你的模型取幾個不同的版本名字——比如“v1_baseline_cnn”、“v2_resnet50_finetune”、“v3_augmented”——按時間存好。做實驗最忌諱的是“這個h5文件是剛才調(diào)過參的嗎還是昨天那個”版本管理做得越清楚后面越省事。這套方法不止適用于中草藥識別任何以“訓(xùn)練模型”為核心的課程設(shè)計或畢業(yè)設(shè)計項目都能直接用上。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷中文字幕版| 蜜桃婷婷丁香| 日韩不卡123| 色综合久久88色综合天天| 99精品久久久久| www。狠狠干。com| 97欧美在线| 久久婷婷色| 五月婷婷丁香综合| 深爱开心激情网| 538任你爽视频不一样的| 丁香六月婷婷久久综合| 99碰超| 嫩草综合网| 97干在线观看| 五月婷婷www| 亚洲中文字幕在线观看| 99热超碰在线| 日日杆天天| 激情五月婷婷五月| 5月婷婷6月六月丁香| 天天摸天天舔天天爽| 一区二区乱码视频| 欧美操逼天堂| www.五月婷婷.com| 婷婷欧美激情综合| 日韩狠狠色| HD久久精品视频| 色色热| 久久天堂网| 婷婷丁香五月综合激情小说| 另类综合网| 久久er视频6| 偷偷操99| 另类专区在线| 久久久精品99亚洲综合| 亚洲小视频免费看| 这里只有精9| 久久艹99| 激情四射五月天| 激情无码网| 超碰成人黄色网| 亚洲激情五月| 精品国产乱码久久久久久免费| 亚洲综合成人网| 91ncm视频| 午夜激情五月天| 亚洲一区二区无码蜜乳av| 【乱子伦】黄色| 久热人妻| 99久久99热| 99 热| 五月天色丁香| 级情九色| 婷婷丁香六月| 91夫妻视频| 婷婷五月天网| 91人妻九色大屁股| 色婷成人狠干| 噜噜噜噜噜在线| 久久免费9| 97视频久久| 久久9精品| 精品久热| 五月婷婷,六月激情| 丁香五月婷婷激情123| 天天日夜夜操五月| 色色性爱视频| 超碰在线成人| 婷婷五月天国产传媒| 激情婷婷五月丁香啪啪啪| 人碰人人人玩91| 免费视频1区| 午夜在线成人网站免费观看| 中文字幕人妻在线| 五月情四婷婷| 日日操天天操| 婷婷亚洲综合| 丁香五月婷综合| 婷婷丁香www视频日本韩国| 久久免费丁香| 婷婷色五月天第7色| 亚洲狠狠狠色婷婷综合激情久久久| 婷色成人| 97精品自拍视频| 99热9| 天天色播| 久操人| 天堂色婷婷| 久久婷综合| 干亚洲天堂| 五月丁香婷久久| 婷色综合| 密黄站| 青青草蜜臀| 这里只有精品视频在线看| 五月婷婷六月丁香激情| 色人久久| 丁香五月网| 欧韩性爱| 婷婷少妇激情| 日本91在线播放| 久re热视频| 人人草成人视频| 九玖欧洲亚洲| 日日夜夜狠狠| 激情啪啪五月| 久久A区B区| 六月婷婷激情图片| 丁香六月亚洲| 五月天久久婷婷婷| 婷婷丁香成人| 丁香综合久久| 夜夜骑福利资源| 久久九九网| 色图亚洲91| 婷婷操久久| 天天干天天 亚洲| 97热在线精品| 色约约视频一区二区三区四区五区 | 九九热这里| 久久狠狠干| 国产伦亲子伦亲子视频观看| 97在线精品视频| 国产五月婷| 在线婷婷| 最新日韩久热免费视频看看| 欧美综合激情五月天| 日本久久婷婷| 一本色道久久88加勒比—| 二人电影免费版在线观看| 天天插天天爽| 日本在线观看91| 五月伊人综合| 婷婷五月天黄色| 亚洲美女裸体被操在线观看| 婷婷五月天激情影片| 91精品久久久久久| 五月丁香久久久久| 14色综合婷婷| 97黑人精品区| 国精产品一区一区三区有限公司杨 | 色五月婷婷丁香国产在线| 伊人五月综合网| 日韩少妇内射免费播放| 色婷婷成人丁香| 色5月婷婷色| 精品动漫 无码av| 狠狠999| 亚洲午夜AV| 9999三级片| 五月六月伦理| 玖玖色资源| 五月天激情www| 国产欧美精品AAAAAA片| 五月婷婷久久开心网| 97干视频| av九九| 婷婷射图| 一级精品999WWW| 五月天婷久精视频| 久9久成人精品视频| 996热re视频精品视频这里| 亚洲综合九九| 五月丁香婷婷无码A∨| 五月丁香色| 九九精品综合| 中文字幕AV在线播放| 久久综合网桃花| 色婷婷狠狠干芒果TV| 欧美色综合天天久久综合精品| 亚洲婷婷五月天在线激情综合网| 超碰免费人人| 日日爽日日操| 日操夜操天天操不卡| 亚洲丁香五月美女| 超碰人人插| 伊人五月丁香| 9久热在线视频精品| 狠狠色噜噜狠狠| 天堂网色色| 99热这里只有精品4| 色婷婷色和| 九九九九这里只有精品| 色婷婷A| 欧美丁香五月97色| 香蕉婷婷色五月| 开心五月深爱五月| 综合热无码| 91色性感五月婷婷丁香| 99色在线观看视频| 另类五月婷婷| 人人操婷婷| 五月婷婷六月丁香综合在线| 91视频一起草| 九九热最新| 六月天无码网址| 日韩在线视频9色| 日本熟女内射| 91精品国产99久久久久久天美| 婷婷金品综合视频| 天天插天天干天天舔| 婷婷综合国产| PORNY九色9l自拍视频成人| 婷婷色播婷婷| 丁香五月婷婷免费视频| 日本天天操| 色婷婷在线播放| 超碰99热| 五月婷婷免费在线视频| 亚洲色9| 亚洲欧美综合7777色亭亭| 精品丁香五月天在线播放| 性色婷婷| 成人精品视频99在线观看免费| 午夜婷婷五月天在线| 丁香六月婷婷社区| 丁香婷婷久久| 婷婷六月丁香五月| 国产色色网站网址| 五月停停色| 丁香五月成人社区| 99久久久| 人妻AV在线| 五月天激日本色情在线| 亚洲热久| 欧美交换配乱吟粗大25P| 丁香婷婷久久综合在线| 大香蕉五月天| 丁香九色不卡aaa| 色婷婷婷婷| 97色色色色色色色色色色色色色| 91人操人人人操人| 久久婷婷五月综合网| 色婷婷9| 桃色伊人在线| 日日爱678| av免费在线观看0| www色五月| 99久久成人| 色婷婷97| 色婷婷瘦婷婷日韩| 日韩欧美成人一区二区三区| 超碰人人色| 99久久综合| 日本精品。999| 99热销国产这里有精品| 日韩无码亚欧无码| 色爽干| 五月色婷| 五月天亚洲综合网| 丁香五月开心五月激情| 狠狠色情婷婷| 婷婷综合另类小说| 中文字幕av在线| 日韩青青| 精品亚洲国产成人A片在线鸭王| 丁香婷婷噜噜| 五月天婷婷五月| 欧美在线视频99| 97干资源在线观看| 十二区无码| 五月丁香啪| 婷婷五月丁香超碰| 天堂在线9| 曰韩少妇内射免费播放| 激情av| 天天肏在线观看| 精品久久艹| 天天干天天 亚洲| .操區COm| 怕怕視頻| 色综久久AV| 日本综合久久| 成人AV在线网站| 亚洲成人av在线播放| 无码成人播放器| 色五月亚洲| 丁香九月激情| 超碰99在线| 婷婷色五月开心五月| 夜夜撸天天操| 九九热在线视频观看| 蜜桃五月天色| 99热99热不卡| 五月综合无码| 久青草影院| 夜夜骑天天玩天天日| 天天舔天天插天天干| 五月丁香婷婷无码中文| 蜜臀av无码久久久久久久久| 激情婷婷五月天伊人在线观看| 人人干人人干骚美女| 午夜免费试看| 激情网五夜婷婷| 韩日在线熟女| 婷婷五月天影视网址| 五月婷婷co.m| 丁香五月天视频在线播放| 五月丁香成人版| 99色丁香婷婷综合网| 狠狠干在线视频| 五月激情综合婷婷| 五月天久久综合婷婷丁香| 丁香激激情网| AV五月婷婷露脸| 五月天精品综合| 婷婷五月天在线观看第二页| 久久婷婷五月天激情| 丁香五月先锋| 婷婷丁香久久| 丁香,开心成人,久久| 碰碰碰97国产| 五月婷六月| 狠狠香蕉| 精品九九视频| 思思99热| 99色在线视频| 91人妻人人操| 国产成人高清| 日日干天天| 亚洲精品无码一区二区| 天天久久婷婷| 九九九九毛片| 五月丁香九九九综合| www久热com| 色五月激情| 色综合丁香婷婷| 久久免费精彩视频| 无码人妻一区二区一牛影视| 色婷婷欧美| 熟女激情网| 久久草婷婷丁香网站| 思思热AV| 伊人久久婷婷| 婷婷中文字幕在线| WWW、日本色丁香co m| 射久久丁香五月| 99热这里| 五月天婷婷色播综合在线| 开心久久网婷婷| 婷婷综合五月天| www.操逼comm| www.久久久.com| 国产毛片欧美毛片久久久| 97超碰色| 色综合久久五月| 激情丁香六月| 九九人人操| 伊人大蕉香| 婷五月丁香俺| 色综合五月天| 五月精品99综合| 另类A片| 天天干,噜噜色,狠狠色| 99热免费精品| 亚洲av电影在线| 婷婷五月激情综合| 美女五月狠狠| 99久久九九视频| 色婷婷久久天天性爱| 丁香五月天天日| 五月激情综合网| 涩五月婷婷| 男人的天堂97| 狠狠色精品综合| 67194国产| 香蕉视频性爱BB做爱| 激情丁香婷婷| 无码色色色| 少妇人妻偷人精品无码视频新浪| 色v综合网| 六月丁香婷婷开心综合基地| 日日干天天| 五月狠狠| 五月激情婷婷开心| av大片在线| 久婷婷婷| 伊人五月天| 色婷婷色五月另类综合| 99热有精品在线观看| 99爽视频| 这里只有精品免费视频| 99热只有这里才是精品| 97婷婷色| 日韩欧美颜射| 色色丁香五月天| 91熟妇大香蕉| 精品久久久久久久人妻| 人与禽A片啪啪| 三级三久久线久久99久目本WW| 色婷婷亚洲六月婷婷中文字幕| 野战J办公桌椅H| 操操操操操操婷婷五月天| 99爱视频免费| 久啪欧美| 五月激情六月综合| 毛片九九九九九九| 开心激情网五月| 久久久av久av久片一区二区| 五月丁香 久久久| 婷婷综合网| 97人操人免费视频| 九九碰九九爱97超| 色综合婷婷| 女人天堂AV| 99re视频在线精品| 99免费热视频| 伊人影院久久网| 日本激情综合| 99久久婷婷综合| 婷婷五月伦理网站| 97人人操人人操人人操人人| 九九热99热| 热久91| 婷婷色5月激情网| 五月停停大香蕉| 精品九九视频| 男人的天堂99| 少妇人妻人伦A片| 五月婷婷激情日本| 啊V视频在线观看| 欧洲不卡视频| 综合久久婷婷| 色婷婷五月天成人网| 国产精产国品一二三在观看| 五月婷婷五月天亚洲无码| 久久全意婷婷| 五月花在线观看视频| 午夜日日| 狠狠干在线| 亚洲小视频免费看| 久久免费少妇高潮99精品| 激情五月天色婷婷| 九九综舍久久| 开心激情综合| 五月婷婷综合色啪首页| 欧美色色日韩| 97操碰视频| 99热99色| 成人做爰黄A片免费看直播室男男 A片试看120分钟做受图片 | 2050人人操免费工开爱| 99色热| 婷婷激情五月天在线视频| 五月色情| 色五月亚洲| 伊人久久大香线蕉av一区| 六月丁香五月天| 97色色色视屏| 日本在线观看aaa 99| 综合色影院| 五月丁香婷婷色| 五月天婷婷成人网| 九九亚洲视频| 五月丁香啪啪激情| 综合久久十三| 色综合色五月| 久久99久久99精品免视看婷婷| 99国产97在线,| 综合另类视频| 涩涩网五月天| 香蕉久久六月| 成人av在线网| 五月色丁香| 色七色九九| 9色小视频在线观看| 情色五月天网站| 操逼福利视频| 手机在线日韩视频中文字幕| 99无码| 天天爽天天日| 天天爽日日搞| 大香蕉五月婷婷| 亚洲亚洲人成综合网络| AV在线免费播放| 五月激情丁香五月宗合| 丁香激情四射| 超级碰 久久9| 超碰v| 九九色图| 深爱激情五月天婷婷网| 欧美色五月| 国产亚洲AV人片在线| 亚洲热久久| 五月婷婷福利| 五月婷婷六月丁香激情深爱| 色五月大| 婷婷色综合中心站| 超碰99在线| 亭亭五月丁香五月天激情| 五月丁香 久久久| 婷婷五月综合久久中文字幕| 婷婷丁香五月视频| 任你躁XXXXX麻豆精品| 日韩高清成人| 久久人妻人人| 天天天摸夜夜夜玩| 视频这里只有精品16| 久久草中文日韩欧美| 五月天久久小说| 99视频| 色五月大| 26UUU欧美| 婷婷五月天深爱| 成人av免费观看| 欧美久人人| 亚洲电影在线观看| 亚洲五月天激情| 丁香婷婷六月天| 在线1青婷| 五月五丁香婷婷| 韩日在线熟女| 另类天堂| 99综合| 色婷婷五月在线| 丁香五月综合首页| 在线成人av播放| 色色色九九九五月婷婷| 成人无码精品1区2区3区免费看 | 国产色五月| 婷婷激情另类| WWW夜夜| 成人噜噜网| 亚洲精品影视| 婷婷五月综合在线| 欧亚洲在线高清视频| 97色色婷婷五月天| 人妻激情综合| 婷婷九月丁香| 色八月婷婷| 婷婷五月深情丁香深爱日韩| 高清无码.com| 九九激情网| 九九九这里只有精品| 在线日韩视频| 丁香五月激情六月欧亚激情综合导航| 120分钟婬片免费看| 成人电影在线免费试看| 99色色网| 色狠狠999综合网| 玖玖热视频| www.色婷婷| 五月婷婷婷| 婷婷五月丁香五月| 色伦专区97中文字幕| 被强行糟蹋的女人A片| 1024人妻| 9视频在线成人网站| 97色 五月天丁香| www.色多多婷| 九热视频免费观看| 91精品人妻少妇无码影院| 怡春院久操| aa久久| 在线五月婷婷小电影| 99视频超级精品| 五月丁香激情五月天| 婷婷激情五月天在线视频| www.日韩艹| 色婷婷色人人射| 综合色五月| 五月婷婷激情日本| 涩涩五月天| 嫩草AV久久伊人妇女超级A| 日韩青青| 97干视频在线| 99久久久国产大片区| AV 3P| 激情五月天伊人av| 国产综合色婷婷精品久久| 九九色综合九九色| 激情五月黄色| 五月天婷婷免费| 99re思思| 99精品福利视频| 另类图片激情五月| 嫩草AV久久伊人妇女超级A| 草草色情综合网| 色婷婷综合丁香五月天| 五月天色色色| 思思久久99热只有频精品66| 综合99综合久久久久久久| 激情五月综合网| 91热在线观看视频| www99热| 精品怡红九九九| 五月婷婷五月天| 色色操| 亚洲永远av在线播放| 色婷婷丁香综合中文字幕| 亚洲激情无码久久| 五月丁香综合在线| 国产毛片精品一区二区色欲黄A片| 丁香五月婷婷图片综合| av在线资源| 午夜电影网VA内射| 色色色无码| 99热10在线高清播放| 国产成人综合在线| 操你av| 婷婷涩五月| 激情五月成年| 99色婷婷| 色五月婷婷九月| 国产日韩欧美| 免费婷婷| 五月情色天| 91超级碰| 天天噜日日噜综合无码| 五月婷婷之美女图片| 天天做夜夜爽| 99日本视频| 五月色婷婷AV| 天天干夜晚夜操| 色五月综合97| 激情美女五月天激情在线| 亚洲网视屏| 九月性爱网| 天天AV导航网| 国产无套精品一区二区| 激情图片久久| 无码色色| 五月婷视频| 日本99视频| 91丨九色熟女丨首页| 99亚洲大片精品永久在线观看| 久久9精品| 久久五月婷综合网| 激情 婷婷 插| 久久人妻视频| 国产乱码久久| 精品色| 区美毛片子| 五月婷婷婷婷网| 日韩一区二区A片免费观看| 丁香色色网| 婷婷五月天美女21p| 91麻豆国产三级精品福利在线观看 | 天天日,天天干,天天操| 91热视频色网站| 久狠日av| 天天综合网~91| 婷婷六月丁香激情综合| 综合色播| 五月丁香久久综合| 97色色网| 丁香五月婷婷综合视频| 五月婷婷久久综合| 99热这里只有99| 天天干夜夜想| 99爱视频精品在线观看| 亚洲操b| 久久久久久综合88| 97久久人人操| 色情五月综合婷婷| 五月婷婷激情综合网| 婷婷精品在线| 午夜色婷婷| 91精品国产91久久久久青草| 色一情一乱一乱一区91Av| 人人97碰| 深爱激情六月天| 色色婷婷五月天| 丁香五月婷婷啪啪啪| 九热...av| 91精品综合久久久久久五月丁香| 六月婷婷色综合| 桃色五月天| 天天五月香欧美| 天天干一干| 五月色情网| 狠狠婷婷色| 天天情色综合网| 五月激情久久| 天天干一干| 欧美色色色色色色色| 久久久久久久久久8888| 轮奸综合网| 99热在线观看| 99r这里| 伊人久久大香天蕉亚洲特级| 欧美日比视频| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 日韩激情婷婷五月天| 人人人操 超碰| 天天干天天干天天干天天干天| 秋霞av不能| 热五月婷婷| 五月久久五月激情| 国产性av| 99爱爱网| 天天开心婷婷丁香五月| 青青草原亚洲久| 激情五月天婷婷丁香| 大香蕉久久草| 美女100%露全身无挡网站| 欧洲电影在线观看免费版英语版| 婷婷五月亚洲一本在线丁香| 婷综合| 久草热8精品视频在线观看| 婷婷亚洲欧美丁香五月| 在线视频另类| 丁香六月婷婷缴情欧美| 国产精品视频免费看| 电影《战争与艾拉》免费观看| 久久婷婷丁香花综合网| 丁香五月手机在线| 丁香五月AV综合激情| 激情国产五月| 成人短视频在线| 内射丰满人妻| 偷拍91九色| 国产日韩欧美| 久热69| 婷婷六月色丁香视频在线观看| 青青草99re| 色色日本| 综合色色色| 99在线观看精彩视频| 亚洲成人无码免费| 2018国产大陆天天弄| 狠狠色噜噜狠狠狠狠综合| 婷婷五月天av网| 婷婷丁香社区| 中文字幕精品无码一区二区| 亚洲激情婷婷| 色五月第四色| 激情综合网络插| 久久宗合影| 亚洲妇女熟BBW| 五月婷婷色播| 久久免费视频62| 色五月xxx| 亚洲精品中文字幕成人片| 激情婷婷丁香| 性色婷婷| 色婷婷丁香五月在线观看| 色五月婷婷成人视频| 99婷婷国产最新视频| www.91五月| 99精色| 五月天另类激情在线| 久久只这里有精品| 精品99这里有| 色综合大香蕉| 六月激情网| 五月丁香婷婷成人网| 婷婷综合| 国产午夜精品一区二区| 婷婷视频在线| 天天做天天要天天爽| 五月丁香激情综合网| 热久久色| 一本狠婷婷综合| 人人色人人弄人人操| 精品久久久人妻| 99精品久久久久| 亚洲亚洲永久无码777777| 色综合爱综合| 五月婷婷丁香深深爱| 97在线精品视频| 婷婷丁香五月激情密臀av| 午夜AV网| 九色在线五月婷婷网址| 无码人妻AV久久久一区二区三区| 午夜婷婷丁香| 国产免费一区二区三区三州老师F1F1.CC | 天天天天操| 人人摸人人摸| 啪啪啪综合网| 日韩成人中文字幕| 色婷婷www| 9l视频自拍9l九色9l成人| 五月天色丁香| 亚洲另类视频| 天天日,天天干,天天操| 色婷婷社区| 中文字幕婷婷五月天在线观看| 激情久久天天| 五月婷婷在线网站| 日本在线噜噜| 人人草人人爱手机视频看看 | www.色五月天.com| 中文字幕色色色| site:feetmall.com| 新激情五月天色播| 丁香婷婷十月| 深爱五月网| 熟女激情五月天| 夜夜骑夜夜撸| 99热精品在线观看| 99热亚洲| 五月婷婷婷| 国产一级片| 亚洲乱码日产精品BD在线观看 | www.夜夜操.com| 九九无码| 91啪啪视频| 亚洲色网络| 中文字幕 码精品视频网站| 色五月婷婷在线| 99婷婷精品推荐在线视频| 丁香婷婷九月在线| 五月天大香蕉视频| 五月婷婷丁香啪啪| 操操碰| 丁香五月亭亭六月综合激情网| www·五月天| 青青草原精品久久| 蜜桃人妻无码AV天堂三区| 中文字幕永久免费| 婷婷五月天色色| 少妇性按摩无码中文A片| 亚洲AV成人在线观看| 久久婷中文字幕| 婷婷五月天激情小说| 久久综合热17c| 久久婷婷亚洲五月天| 婷婷六月情| 国产婷婷综合| 99操碰| 99热有精品在线观看| 丁香五月大香蕉AV| 91碰碰| 久久这里只有精品无码| 天天干天天干天天操| 99热99色| 丁香五月天天久久综合小说| 九月综合| Av性爱网| 五月丁香在线观看| 五月天com| 99爱操| 琪琪色五月天| 开心五月综合激情综合五月| 思思热在线观看| 天天干天天爽| 欧美人人草草| 五月丁香六月婷综合成人综合| 婷五月天在线草| 人人操超碰| 99日本视频| site:minyis.com| 色五月中文网| 婷婷五月综合激情| 99少妇精品| 久热这里这里有精品| 国产五月天欧美色| 九九热视频在线观看| 色婷婷五月丁香色| 五月网激情| 欧美成人网99网| 97人人干人人操| 伊人久久大香| 另类五月婷婷| 9月色婷婷| 亚洲乱码日产精品BD| 五月丁香无码| 久久这里只有精品视频1| 夜夜干天天操| 天堂五月婷婷| 日日肏夜夜干| 99热这里| 超碰成人av| 九九色视频| 久久婷婷五月天| 亚洲激情综| 色婷婷视频综合| 天天射影院| 久久婷婷五月综合成人d啪| 人妻久久久久久久久妻久久久久| 99热这里只有精品1025| 色色草97| 欧洲激情五月天| 97色色综合| 男女免费视频999| 婷婷五月综合视频| 亚洲亚洲人成综合网络| 色情五月丁香| jiZZdr| 久久性都花花世界成人免费视频| 思思热99er在线视频| 色999五月色| 狠狠干在线| 丁香六月激情网C0W| 蜜桃成语时李时珍 免费| 超碰成人电影| 99九九玖玖| 婷婷WWW久久| 热的无码综合视频| 99在线精品观看99| 激情综合亚洲| 色停停香蕉视频| 婷婷自拍| 婷婷天天婷婷天天澡| 久久人人添人人爽添人人片αV| 激情美女五月天| 99日韩| 色九月婷婷综合| 99热只有| 97伊人综合婷婷| 99免费热视频| 色天使久久综合| 丁香五月成人在线| 影音先锋美国A| 深爱激情四射| 国产精品色色| 99热热九九| 色婷婷久久| bbwcuckold精品熟妇| 六月婷婷综合| 98毛片| 少妇熟女视频一区二区三区| 天天做综合| 激情无码五月天| 激情婷婷| 99 热国产在| 成片免费播放| 五月婷婷六月丁香综合视频在线| 激情开心五月天| 久久婷婷成人视频| 五月丁香啪啪网| 777久久综合视频| 99这里有精品| 精品99爱免费视频在线观看| AA片在线观看视频在线播放| 6080av| 久久免费少妇高潮99精品| 五月婷婷欲色| 殴美97色| www.日本91| 久热 91| 色婷婷丁香五月| 婷婷激情五月天7| 欧美性猛交XXXX乱大交极品| 欧美97p| 色五月噜噜| 久久精品性爱| 国产avapp 网| 久热免费| 色五月天成人在线| 婷婷五月天渟渟| 天天摸天天透天天舔| 久久婷网| 天天干一干| Va另类视频| AⅤ在线播放网| 91九色精品| 99re热精品在线视频| 丁香激情网| 丁香婷婷中文字幕| 影音先锋偷偷色男人站| 九九久久五月天| 婷婷五月天av网| 超碰操日| 色婷婷88| 婷婷五月天777| 久久婷婷综合五月| 色五月成人| 五月久久五月激情| 伊人九九68| 色丁香五月| 五月天婷综合网站| av超碰在线| 色狠狠综合| 久久99热 这里有精品| 五月天婷婷激情四射综合| 9热视频在线观看| 99精品色色| 9色免费网| 亚洲a色| 婷婷亚洲色| 久久久激情视频| 99精品国产在热久久| 婷婷性爱五月天| 掩去也综合五月视频| 欧美性爱丁香五月| 亚洲av综合网| 九九在线免费观看| 五月丁香自拍| 日韩成人中文| 日韩成人av在线| 开心激情站婷婷五月天| 超碰93在线观看| 日本不卡一区二区三区| 五月丁香六月天| 婷婷丁香成人在线视频| 久久婷婷五月激情综合| 九九色综合| 欧美丁香五月夫妻天| 五月天免费色| 五月停停色| 久久久国产精品黄毛片 | av色婷婷| 五月婷婷九月婷婷九月婷婷| 超碰在线看| 中文不卡一二区| 色综合网址| 丁香九色不卡aaa| 激情综合五月婷婷| 五月天天综合| 婷婷丁香综合成人| anquye伊人| 久久性刺激| 色九九中文字幕| 丁香五月在线播放| 91久久五月天| www夜夜操comwww| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 色色色色色热| 久久丁香婷婷五月| 国产精品久久久久久久久久免费| 婷婷综合色图| 日韩五月丁香| 国产五月天激情小说| 婷香五月| 激情亭亭五月| 任你爽在线视频| 在线另类| 天天射综合网站| 26uuu| 亚洲成人乱码av网站| 国产色丁香| 久久99久久久久久| 九九人人精品| 超碰99热在线观看| 婷婷五月天久草在线| 伊人综合网站| 九九Av| 91人人操.COM| 五月婷婷激情| 99热无码首页| 啄木鸟丝袜美女福利视频| 白天AV月月| 久er7久热| 久久婷婷六月| 性韩日色婷婷五月天激情啪啪XXX| 婷婷九月亚洲| 久婷首页| 激情国产综合| 99在线免费观看| 五月丁香六月合| 激情丁香五月婷婷| 激情美女五月天激情在线| 五月花成人网| 婷婷激情五月天在线视频| 婷婷欧美激情综合| 热九九精品| 五月婷婷免费在线| 超碰av在线| 成片免费播放| 九九精品综合| 99热国产精品| 综合婷婷| 99综合视频一体| 永久思思热在线| 色色五月天激情| 欧美碰碰| 丁香五月婷婷少妇| 天天爽天天操| 最近中文字幕大全免费版在线 | 婷婷亚洲久久| 99热这里只有精品10| 99色在线视频| 四LLL少妇BBBB槡BBBB| 欧美大道不卡| 九月婷婷丁香| 日韩黄黄| 热婷婷av| aaaaaa片| 91狠狠综合网| 丁香狠狠色婷婷久久无码视频| 丁香九月久久| 久久九九视频| 99热在线观看| 亚洲AV综合在线观看 | 1024成人免费看| 天天爽成人综合网站| 婷婷五月天视频| 欧美色片中文字幕久久久久| 超碰精品在线| 丁香五月色| 日韩黄色影院| 九玖视频这里只有精品| 荷兰av一级| 国模九区| 天干天天干天天天天天| 超碰女人天堂| 狠狠干狠狠操狠狠爱| 亚洲爱爱无码婷婷色五月| 深爱激情五月婷婷| 婷婷欧美激情| 婷婷五月色综合| 久99热| 久热黄色| 婷婷亚洲欧美丁香五月| 玩熟女五十AV一二三区| 五月丁香婷婷无码中文| 欧洲综合视频| 色色日本欧美| 天天舔天天摸视频| 精品人妻午夜一区二区三区四区| 无码se| 伊人超碰| 色蜜婷婷| 免费观看的婷婷五月视频在线| 综合色图婷婷| 91热er| 无码毛片992367| 九九香蕉网| 影音先锋91| WWW.婷婷| av一区免费看| 五月丁香六月婷婷亚洲| 国产成人精品123区免费视频| 激情综合色网| 99在线视频播放| www91精品| 久久爱婷婷| 亚洲影院婷婷色| 色五月综合网| 五月日韩中文字幕| 色五月婷婷在线视频| 激情久久久| 天天射夜夜爽| 五月天婷婷激情小说电影| 97碰| 自拍偷窥99热| 婷婷射图| 99在线精品视频| 五月天婷婷香蕉狠狠超碰综合| 天天插天天爽| 久碰综合| 五月丁香婷婷深深爱| 色色婷婷色色| 开心婷婷丁香五月| 九九偷拍网| www.日本91| 99精品一二三四视频| 激情综合九月| 国产av基地| 五月婷婷综合激情网| 9久久精品| 丁香五月天之婷婷影院| 天天色天天爽| 青青青在线视频国产| 婷婷色播六月无码| 成人精品视频99在线观看免费| 丁香婷婷人妻综合网| 日本人妻伦在线中文字幕| 久婷婷久草| 人人摸人人操人人爱| 激情五月天小说视频| 婷婷五月丁香青青草在线| 五月婷婷色吧!| 日本三级99人妇网站| 色五月丁香伊人五月| 久热伊人9| 一区二区免费看| VA色婷婷| 五月婷色| 色亚洲婷婷| av不卡网站| 天天摸天天舔| 9久热免费视频99| 五月婷婷中文| 色婷婷激情小说网| 青青久久五月| 亚洲亚洲永久无码777777| 五月丁香综合中文| 婷婷在线免费| 色色永久| 天天日日| 婷婷丁香六月| 一级片sese片.COM| 99热久久这里只有精品| 色综合网综合| 亚洲四色五月| 大香蕉综合| 色婷婷最爱五月| 婷婷五月天大香蕉在线视频观看| 婷婷五月花| 色综天天综合| 激情九月婷婷九月| 天天操天天操天天操天天操天天操| 五月婷在线影院| 色墦五月丁香| 丁香色综合| 玖玖无码中文| 日本人妻伦在线中文字幕| 激情五月狠狠| 91热在线| 日本强伦片中文字幕免费看| 色欲色香伊人| 色综合久久44| 午夜天堂一区人妻| 激情綜合W W W,激情五月天| 99自拍视频网站| 九九视频在线观看视频6| 五月婷婷丁香俺日污视频| 日韩啪啪网| 思思久久久婷婷| 美欧日韩国产成人在战| 久色视频首页| 色欧美日| 久久婷婷影院| 丁香六月婷婷综合欧美| 日本三级日本三级99| 中文字幕视频色婷婷| 五月丁香婷草| 色婷婷六月激情| 成人VAV视频在线观看| 婷婷丁香六月天| 久久婷婷综合五月趴| 激情六| 亚洲成人av在线观看| 激情小说视频图片| 79色色色色| 五月天日日操夜夜操 | 永久免费一区二区三区| 亚洲激情99| 99色| 免费看成人AA片无码视频吃奶| 99精品热| 狠狠va| 99人妻碰碰碰久久久久禁片| 婷婷五月永远18免费久久久| g00d人体西西| 高潮毛片又色又爽免费| 99色色| 丁香六月亚洲综合| 99久久精| 九月丁香欧美综合| 九九无码| 色女人久久| 亚州精品久久久久AV无码| 国产亚洲色婷婷久久99精品91| 久久涩视频| 夜夜爱网站| 五月天精品| 久热这里精品免费| www.zbzhongsen.com| 久久99久久99www| www.五月天| 色哟哟www| 久久婷婷亚洲五月天| 精热在线综合网| 超碰爱爱爱| 久久久婷婷五月天| 99热这里只有精品55| 都市激情小说婷婷| 777精品久无码人妻蜜桃| 国产精品视频| 九九亚洲视频| 人妻videos人妻高清| 91超碰在线观看| 激情淫乱男女| 国内一级片| 午夜丁香| 色婷婷综合久久久久| 亚洲色99| 天天夜天天色天天| 玖玖在线资源视频| 狠狠色婷婷7777久| 婷婷爱爱蜜臀天天操| 丁香综合久久|