精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

基于自定義數據集的YOLOv8模型實戰

譯文 精選
人工智能
本文將通過一個完整的實戰案例來展示使用Python、命令行或Google Colab等方式在自定義數據集上訓練自己的計算機視覺模型。

譯者 | 朱先忠

審校 | 重樓

簡介

當前,Ultralytics公司研制的高級YOLOv8模型成為解決計算機視覺問題的最佳方法之一,同時該模型也最大限度地減少了有關開發過程遭遇的麻煩。YOLOv8是Ultralytics YOLO(You Only Look Once)系列模型的第8次也是最新一次迭代,與其他迭代一樣,它使用卷積神經網絡(CNN)來預測對象類別及其邊界框。YOLO系列對象探測器以準確和快速而聞名,并提供了一個基于PyTorch構建的平臺,從而簡化了人們從頭開始創建模型的大部分過程。

尤其重要的是,YOLOv8也是一個非常靈活的模型。它可以在各種平臺上使用你選擇的任何數據集進行訓練,預測模型可以基于許多數據源運行。本文將作為一個全面的教程,涵蓋訓練和運行YOLOv8模型的許多不同方法,并展示每種方法的優缺點,這些方法將根據你的硬件和數據集幫你選擇最合適的開發方案。

【注意】本文中創建上述示例數據集時使用的所有圖像均由作者本人拍攝。

開發環境搭建

要開始訓練我們的YOLOv8模型,第一步是決定我們想在什么樣的環境中訓練我們的模型(請記住,訓練和運行模型是單獨的任務)。

歸納來看,可供我們選擇的環境在很大程度上可以分為兩類:基于本地運行和基于云端方案運行。

通過基于本地的訓練,我們基本上是使用設備的物理硬件直接在我們的系統上運行訓練過程。在基于本地的訓練中,YOLOv8為我們提供了兩個選項:Python API和CLI。這兩種選擇的結果或速度沒有真正的區別,因為同樣的過程是在幕后進行的;唯一的區別在于訓練的設置和運行方式。

另一方面,基于云端的訓練允許你利用云服務器的硬件。通過使用互聯網,你可以連接到云運行時并執行代碼,就像在本地計算機上一樣,只是現在它在云硬件上運行。

到目前為止,最受歡迎的機器學習云平臺是谷歌Colab。它使用Jupyter筆記本格式,允許用戶創建可以編寫和運行代碼片段的“單元格”,并提供與Google Drive和Github的強大集成。

你決定使用哪種環境在很大程度上取決于你可用的硬件。如果你有一個配備高端NVIDIA GPU的強大系統,基于本地的訓練可能會對你很有效。如果你的本地機器的硬件不符合機器學習的配置建議,或者你只是想要比本地更多的計算能力,谷歌Colab可能是你更恰當的選擇。

谷歌Colab最大的好處之一是它免費提供了一些計算資源,但也有一個簡單的升級路徑,可以讓你利用更快的計算硬件。即使你已經有了一個強大的系統,如果谷歌Colab的高層計劃中提供的更快的GPU比你現有的硬件有顯著的性能提升,你也可以考慮使用谷歌Colab。使用免費計劃,你只能使用NVIDIA T4,其性能大致相當于RTX 2070。對于更高級別配置的計劃,L4(性能約為4090)和A100(性能約2 4090)是可用的。在比較GPU時,請記住VRAM的數量是機器學習性能的主要決定因素。

數據集

為了開始訓練模型,你需要大量數據來訓練它。對象檢測數據集通常由各種對象的圖像集合組成,此外還有一個圍繞對象的“邊界框”,指示其在圖像中的位置。

檢測到的對象周圍的邊界框示例

YOLOv8兼容的數據集具有特定的結構。它們主要分為有效文件夾、訓練文件夾和測試文件夾,分別用于模型的驗證、訓練和測試(驗證和測試之間的區別在于,在驗證過程中,結果用于調整模型以提高其準確性;而在測試過程中,結果僅用于提供模型真實世界準確性的衡量標準)。

在每個文件夾中,數據集進一步分為兩個文件夾:圖像(images)和標簽(labels)文件夾。這兩個文件夾的內容緊密相連。

顧名思義,images文件夾包含數據集的所有對象圖像。這些圖像通常具有方形縱橫比、低分辨率和小的文件尺寸。

labels文件夾包含邊界框在每個圖像中的位置和大小的數據,以及每個圖像表示的對象的類型(或類別)。例如:

這里的第一行數據代表圖像中存在的單個對象。在每一行中,第一個數字表示對象的類別,第二個和第三個數字表示邊界框中心的x和y坐標,第四個和第五個數字表示邊緣框的寬度和高度。

images和labels文件夾中的數據通過文件名鏈接在一起。images文件夾中的每個圖像在labels文件夾中都有一個具有相同文件名的相應文件;反之亦然。在數據集中,images和labels文件夾中總是有匹配的文件對,它們具有相同的文件名,但文件擴展名不同;.jpg用于圖像,.txt用于標簽。.jpg圖片中每個對象的邊界框數據包含在相應的.txt文件中。

YOLOv8兼容數據集的典型文件結構。來源:Ultralytics公司YOLO文檔

有幾種方法可以獲得與YOLOv8兼容的數據集來開始訓練模型。你可以創建自己的數據集,也可以使用互聯網上預先配置的數據集。在本教程中,我們將使用CVAT創建自己的數據集,并使用Kaggle查找預配置的數據集。

CVAT

CVAT(CVAT.ai)是一個注釋工具,它允許你通過手動方式為圖像和視頻添加標簽來創建自己的數據集。

創建帳戶并登錄后,開始注釋的過程很簡單。只需創建一個項目,給它一個合適的名稱,并根據需要為盡可能多的對象類型/類別添加標簽。

作者在cvat.ai.Video上創建新項目和標簽

創建一個新任務,并上傳你希望成為數據集一部分的所有圖像。點擊“Submit & Open”按鈕,項目下應創建一個新任務,其中包含一個作業。

在cvat.ai上創建新任務和作業

打開此作業將允許你啟動注釋過程。你可以使用矩形工具為數據集中的每個圖像創建邊界框和標簽。

使用cvat.ai上的矩形工具創建邊界框

在為所有圖像添加注釋后,返回任務并選擇“Actions(動作)”→“Export task dataset(導出任務數據集)”,然后選擇YOLOv8 Detection 1.0作為導出格式。下載任務數據集后,你會發現它只包含labels文件夾,而不包含images文件夾(除非你在導出時選擇了“Save images(保存圖像)”選項)。你必須手動創建images文件夾并將圖像移動到那里(你可能希望首先將圖像壓縮到較低的分辨率,例如640x640)。記住不要更改文件名,因為它們必須與labels文件夾中.txt文件的文件名匹配。你還需要決定如何在驗證、訓練和測試之間分配圖像(訓練是其中最重要的)。

作者從cvat.ai.Image導出的示例數據集

至此,你的數據集已完成并準備好使用了!

Kaggle

Kaggle(Kaggle.com)是最大的在線數據科學社區之一,也是探索數據集的最佳網站之一。你可以通過簡單地搜索他們的網站來嘗試找到你需要的數據集,除非你正在尋找非常具體的東西;否則,你很可能會找到意向的數據集。然而,Kaggle上的許多數據集不是YOLOv8兼容的格式和/或與計算機視覺無關;因此,你可能想在查詢中包含“YOLOv9”來優化你的搜索。

你可以通過數據集的Data Explorer(頁面右側)中的文件結構來判斷數據集是否與YOLOv8兼容。

Kaggle上兼容YOLOv8的數據集示例

如果數據集相對較小(幾MB)和/或你想在本地訓練,那么可以直接從Kaggle下載數據集。但是,如果你計劃在Google Colab上使用大型數據集進行訓練,最好從筆記本文件本身進行數據集檢索(更多信息見下文)。

訓練模型

訓練過程將根據你是在本地還是在云端進行訓練而有所不同。

本地

為所有訓練文件創建一個項目文件夾。在本教程中,我們將稱之為yolov8-project。然后,將數據集移動/復制到此文件夾下。

接下來,使用所需的YOLOv8依賴項設置Python虛擬環境:

python3 -m venv venv
source venv/bin/activate
pip3 install ultralytics

然后,創建一個名為config.yaml的配置文件。這個文件將會指定用于訓練的重要數據集信息:

path: /Users/oliverma/yolov8-project/dataset/ # absolute path to dataset
test: test/images # relative path to test images
train: train/images # relative path to training images
val: val/images # relative path to validation images

# classes
names:
0: bottle

在上面配置信息的path部分,提供的是指向數據集根目錄的絕對文件路徑。你也可以使用相對文件路徑,但這取決于config.yaml的相對位置。

然后,在test、train和val部分,提供用于測試、訓練和驗證的圖像的位置(如果你只有訓練圖像,則只需對所有這三種操作均使用train/images)。

在names部分,指定每個類別的名稱。這些信息通常可以在任何YOLOv8數據集的data.yaml文件中找到。

如前所述,Python API或CLI(命令行方式)都可以用來進行本地訓練。

Python API方式

創建另一個名為main.py的文件。這是實際訓練開始的地方:

from ultralytics import YOLO
model = YOLO("yolov8n.yaml")
model.train(data="config.yaml", epochs=100)

通過將我們的模型初始化為YOLO("yolov8n.yaml"),我們基本上是從頭開始創建一個新模型。我們使用yolov8n是因為它是最快的模型,但根據你自己的使用情況,你也可以選擇使用其他模型。

性能指標

YOLOv8變體的性能指標。來源:Ultralytics YOLO文檔

最后,我們開始訓練模型,并傳遞配置文件和迭代次數,或訓練輪數。一個比較好的訓練指標是使用300個訓練輪數,但你可能想根據數據集的大小和硬件的速度來調整這個數字。

你可能還希望包括一些更有用的設置:

  • imgsz:將所有圖像調整到指定的大小。例如,imgsz=640會將所有圖像的大小調整為640x640。如果你創建了自己的數據集并且沒有調整圖像大小,這將非常有用。
  • device:指定要在哪個設備上訓練。默認情況下,YOLOv8會嘗試在GPU上訓練,并使用CPU訓練作為后備,但如果你在M系列Mac上訓練,你必須使用device="mps"以便使用蘋果電腦上的Metal Performance Shaders(mps)后端進行GPU加速訓練。
  • 有關所有訓練參數的更多信息,請訪問https://docs.ultralytics.com/modes/train/#train-settings。

你的項目目錄現在應該看起來類似于下面的樣子:

項目目錄的示例文件結構

現在,我們終于準備好開始訓練我們的模型了。為此,只需要在項目目錄中打開一個終端并運行:

python3 main.py

隨著訓練的進行,終端將顯示每個訓練世代的訓練進度信息。

終端中顯示的每個訓練世代的訓練進度

訓練結果將保存在路徑runs/detect/train(或者train2,train3,等)。注意,這里包括了權重數據(文件擴展名為.pt),這對以后運行模型很重要;還有文件results.png,它顯示了許多包含相關訓練統計數據的圖表。

results.png文件中的示例圖

CLI方式

在項目目錄中打開一個新終端并運行以下命令:

yolo detect train data=config.yaml model=yolov8n.yaml epochs=100

此命令可以使用上面為Python API列出的相同參數進行修改。例如:

yolo detect train data=config.yaml model=yolov8n.yaml epochs=300 imgsz=640 device=mps

訓練將開始,進度將顯示在終端上。其余的訓練過程與Python CLI相同。

谷歌Colab方式

導航到https://colab.research.google.com/,并為訓練創建一個新的筆記本文件。

在訓練之前,請確保通過選擇右上角的“Change runtime type(更改運行時類型)”連接到GPU運行時。CPU運行時的訓練將非常緩慢。

將筆記本電腦運行時從CPU更改為T4 GPU

在開始使用Google Colab進行任何訓練之前,我們首先需要將數據集導入筆記本文件。直觀地說,最簡單的方法是將數據集上傳到谷歌云端硬盤,并從那里導入到我們的筆記本文件中。然而,上傳任何大于幾MB的數據集都需要非常長的時間。解決方法是將數據集上傳到遠程文件托管服務(如Amazon S3甚至是Kaggle),并將數據集直接從那里拉入我們的Colab筆記本文件。

從Kaggle導入

以下是如何將Kaggle數據集直接導入Colab筆記本文件的說明:

在Kaggle賬戶設置中,向下滾動到API并選擇“Create New Token”命令。這將下載一個名為kaggle.json的文件。

在筆記本單元格中運行以下命令:

!pip install kaggle
from google.colab import files
files.upload()

上傳剛剛下載的kaggle.json文件,然后運行以下命令:

!mkdir ~/.kaggle
!cp kaggle.json ~/.kaggle/
!chmod 600 ~/.kaggle/kaggle.json
!kaggle datasets download -d [DATASET] # replace [DATASET] with the desired dataset ref

數據集將作為zip存檔下載。只需要使用unzip命令提取有關內容:

!unzip dataset.zip -d dataset

開始訓練

在筆記本文件的文件資源管理器中創建一個新的config.yaml文件,并按照前面的描述進行配置。Colab筆記本文件中的默認工作目錄是/content/,因此數據集的絕對路徑將是/content/[dataset folder]。例如:

path: /content/dataset/ # absolute path to dataset
test: test/images # relative path to test images
train: train/images # relative path to training images
val: val/images # relative path to validation images

# classes
names:
0: bottle

確保檢查一下數據集的文件結構,以確保config.yaml中指定的路徑準確。有時數據集會被放置在多個級別的文件夾中。

然后,將以下內容作為單元格運行:

!pip install ultralytics

import os
from ultralytics import YOLOmodel = YOLO("yolov8n.yaml")
results = model.train(data="config.yaml", epochs=100)

前面提到的用于修改本地訓練設置的參數也適用于這里。

與本地訓練類似,結果、權重和圖表將保存在runs/detect/train中。

在本地進行預測

無論你是在本地還是在云端進行訓練,預測都必須在本地運行。

在模型完成訓練后,runs/detect/train/weights中會有兩個權重,分別命名為best.pt和last.pt,分別是最佳訓練輪次和最新訓練輪次的權重。在本教程中,我們將使用best.pt運行模型。

如果你在本地進行訓練,請將best.pt移動到方便的位置(例如我們的項目文件夾yolov8-project)以運行預測。如果你在云端訓練,請將best.pt下載到你的本地設備上。在Google Colab上,右鍵單擊筆記本資源管理器中的文件,然后選擇“Download”(下載)命令。

在谷歌Colab上下載權重

與本地訓練類似,預測可以通過Python API或CLI運行。

使用Python API預測

在與best.pt相同的位置,創建一個名為predict.py的新文件:

from ultralytics import YOLO
model = YOLO("best.pt")
results = model(source=0, show=True, conf=0.25, save=True)

與訓練類似,存在許多有用的參數可以修改預測設置:

  • source:控制預測的輸入源。source=0將網絡攝像頭設置為輸入源。更多信息請見下文。
  • show:如果為True,則在屏幕上顯示預測、邊界框和置信度。
  • conf:要考慮預測的最小置信度閾值。
  • save:如果為True,則將預測結果保存到run/retect/repredict(或predict2、predict3等)。
  • device:如前所述,在M系列Mac上使用device=“mps”。

有關預測參數的完整列表,請訪問:

https://docs.ultralytics.com/modes/predict/#inference-arguments

使用CLI預測

運行以下CLI命令即可啟動模型:

python3 predict.py

通過實時網絡攝像頭饋送運行YOLOv8模型預測

CLI命令

使用CLI方式進行預測應用的命令是:

yolo detect predict model=best.pt source=0 show=True cnotallow=0.25 save=True

注意到,這里所使用的參數與Python API中的參數相同。

將YOLOv8模型集成到實際場景

現在,我們已經能夠在實時網絡攝像頭上成功地運行起我們的模型,但這又會怎樣呢?我們如何實際使用這個模型并將其集成到實戰項目中?

讓我們從輸入和輸出的角度來考慮這個問題。為了使這個模型成功地應用于我們構建的外部應用程序中,此模型必須能夠接受有用的輸入并產生有用的輸出。值得慶幸的是,YOLOv8模型的靈活性使得將模型集成到各種使用場景中成為可能。

例如,我們可以使用source=0將網絡攝像頭設置為預測的輸入源。然而,YOLOv8模型可以利用比這更多的輸入源。以下是幾個例子:

results = model(source="path/to/image.jpg", show=True, conf=0.25, save=True) # static image
results = model(source="screen", show=True, conf=0.25, save=True) # screenshot of current screen
results = model(source="https://ultralytics.com/images/bus.jpg", show=True, conf=0.25, save=True) # image or video URL
results = model(source="path/to/file.csv", show=True, conf=0.25, save=True) # CSV file
results = model(source="path/to/video.mp4", show=True, conf=0.25, save=True) # video file
results = model(source="path/to/dir", show=True, conf=0.25, save=True) # all images and videos within directory
results = model(source="path/to/dir/**/*.jpg", show=True, conf=0.25, save=True) # glob expression
results = model(source="https://www.youtube.com/watch?v=dQw4w9WgXcQ", show=True, conf=0.25, save=True) # YouTube video URL

有關預測源和輸入選項的完整列表,請訪問:

https://docs.ultralytics.com/modes/predict/#inference-sources。

每當我們運行預測時,YOLOv8都會以Results對象列表的形式返回大量有價值的數據,其中包括有關預測的邊界框、分割掩碼、關鍵點、類別概率和定向包圍盒(OBB)的信息。

由于我們在代碼中將預測結果分配給results變量,因此我們可以使用它來檢索有關預測的信息:

from ultralytics import YOLO

model = YOLO("best.pt")

results = model(source="bottles.jpg", show=True, conf=0.25, save=True)

print("Bounding boxes of all detected objects in xyxy format:")
for r in results:
print(r.boxes.xyxy)

print("Confidence values of all detected objects:")
for r in results:
print(r.boxes.conf)

print("Class values of all detected objects:")
for r in results:
print(r.boxes.cls)

本教程中包含的輸出結果類型太多,但你可以通過訪問鏈接以了解更多信息:

https://docs.ultralytics.com/modes/predict/#working-results。

這里提供的只是一個非常基本的例子,說明你可以用YOLOv8模型的輸出做點什么了。其實,你可以通過上述列舉的很多種方式將模型應用于自己的項目中。

結論

在本文中,我們終于實現了從頭開始制作我們自己的YOLOv8兼容數據集,從Kaggle導入數據集,使用包括Python API、CLI和Google Colab在內的多種環境來訓練模型,然后在本地運行我們的模型,并找到許多輸入/輸出方法,使我們能夠在自己的項目中利用訓練出的YOLOv8模型。

請記住,本教程的目的是作為YOLOv8或計算機視覺的學習起點。我們當前幾乎沒有觸及YOLOv8模型錯綜復雜的表面,隨著你對YOLOv9和計算機視覺越來越有經驗,深入了解這個模型絕對是明智的。

話雖如此,如果你遵循了本教程并堅持到最后,那仍然是一個很大的成功。我希望這篇文章能幫助你對機器學習、計算機視覺和YOLOv8模型有一個基本的了解。也許你甚至對這個主題產生了熱情,并將在未來繼續學習更高級的內容。

譯者介紹

朱先忠,51CTO社區編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。

原文標題:The Comprehensive Guide to Training and Running YOLOv8 Models on Custom Datasets,作者:Oliver Ma

責任編輯:姜華 來源: 51CTO內容精選
相關推薦

2024-07-01 12:55:50

2024-10-16 16:49:44

定向邊界框目標檢測YOLOv8

2025-02-07 14:52:11

2023-01-12 12:20:29

YOLOv8模型

2025-01-21 11:41:14

2024-07-22 13:49:38

YOLOv8目標檢測開發

2024-07-09 08:50:23

2020-10-05 21:57:17

GitHub 開源開發

2024-07-11 08:25:34

2024-05-15 09:16:05

2023-09-12 13:59:41

OpenAI數據集

2024-11-06 16:56:51

2023-02-02 09:00:00

2016-08-18 13:56:33

AndroidExecutorsubmit

2024-01-29 09:29:02

計算機視覺模型

2025-02-24 09:50:21

2025-03-19 08:01:10

Kubernetes集群源碼

2022-06-24 07:08:24

OHOS自定義服務

2023-12-11 10:18:38

YOLOv8檢測器實戰

2024-10-07 11:12:55

點贊
收藏

51CTO技術棧公眾號

久久综合久久色| 国产精品久久精品国产| 99久久免费看精品国产一区| 高清电影在线免费观看| 成人av电影在线网| 91精品国产免费久久久久久 | 91久久久久久| 国产大片免费看| 国产视频一区二| 亚洲精品videosex极品| 狠狠色综合欧美激情| 国产一级淫片a视频免费观看| 国内精品久久久久久久久电影网| 精品视频1区2区3区| 国产经典久久久| 免费国产黄色片| 三级在线观看一区二区| 日韩中文字幕在线看| 亚洲一区和二区| 欧美伦理91| 中文字幕一区三区| 国产亚洲精品自在久久| 日本三级一区二区三区| 真实国产乱子伦精品一区二区三区| 日韩三级中文字幕| 欧美成人黑人猛交| 最新国产在线拍揄自揄视频| 99精品久久只有精品| 国产精品久久久久久网站| 国产一区二区播放| 岳的好大精品一区二区三区| 欧美高清www午色夜在线视频| 青青青在线视频播放| 91在线视频免费看| 91亚洲精品久久久蜜桃网站| 成人黄色大片在线免费观看| 在线观看黄网站| 欧美一区精品| 亚洲天堂av图片| 久久久久亚洲AV成人网人人小说| 欧美xxx视频| 亚洲综合无码一区二区| 日韩精彩视频| 神马午夜精品95| 国产一区999| 国产精品免费在线免费| 国产农村妇女aaaaa视频| 色综合久久网| 亚洲一区二区精品| 亚洲国产精品无码久久久久高潮 | 日韩美女写真福利在线观看| 久久综合色综合| 国产精品久久久久久久久妇女| 欧美变态tickle挠乳网站| 丁香啪啪综合成人亚洲| 岛国av免费在线观看| 一区二区三区四区蜜桃| av动漫免费观看| 在线播放麻豆| 欧美国产一区视频在线观看| 精品一区久久| 秋霞av鲁丝片一区二区| 免费在线观看成人| 国产成人精品av在线| 久久人妻免费视频| 99视频精品免费观看| 性金发美女69hd大尺寸| 久久免费播放视频| 国内精品久久久久久久影视蜜臀| 一区二区三区美女xx视频| 国产精品无码一区二区三区免费| 国产精品免费精品自在线观看| 欧美日韩国产三级| 日韩一级理论片| 电影亚洲精品噜噜在线观看| 日韩欧美极品在线观看| 日本手机在线视频| 波多野结衣视频一区二区| 亚洲国产aⅴ成人精品无吗| 成人小视频在线观看免费| 尤物在线网址| 亚洲资源在线观看| 黄页网站在线观看视频| 看黄在线观看| 欧美日韩一区二区精品| 激情婷婷综合网| 国产经典一区| 欧美性猛交丰臀xxxxx网站| 国产精品97在线| 成人性生交大片免费观看网站| 欧美日韩中文字幕| 狠狠操精品视频| 久久久加勒比| 日韩三级中文字幕| 亚洲最大免费视频| 神马电影久久| 中文字幕视频一区二区在线有码 | 国产精品欧美大片| 精品调教chinesegay| 国产毛片久久久久久久| 亚洲+变态+欧美+另类+精品| 亚洲欧美中文字幕在线一区| 极品蜜桃臀肥臀-x88av| 97精品中文字幕| 欧美精品一二区| 国产成人在线视频观看| 日韩va亚洲va欧美va久久| 国产精品自产拍高潮在线观看| 99热这里只有精| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美影院在线| 一区二区三区黄色| 99热国产在线观看| 国产一区福利在线| 亚洲国产另类久久久精品极度| av午夜在线观看| 4hu四虎永久在线影院成人| 亚洲制服丝袜在线播放| 真实国产乱子伦精品一区二区三区| 日本最新高清不卡中文字幕| 欧美一区,二区| 亚洲欧美日韩中文播放| 香蕉视频网站入口| 色先锋久久影院av| 欧美精品国产精品日韩精品| 国产精品乱码久久久| 国产午夜精品美女毛片视频| 久久久久免费看黄a片app| 网站一区二区| 精品国产一区二区三区久久狼黑人| 国产欧美日韩另类| 成人免费av资源| www.激情网| 国产三级一区| 国产一区二区三区四区福利| 久久99精品波多结衣一区| 成人一区二区三区中文字幕| 免费观看黄色大片| 色婷婷成人网| 色偷偷偷综合中文字幕;dd| 国产成人自拍偷拍| 国产午夜亚洲精品午夜鲁丝片| 男人操女人逼免费视频| 日韩伦理一区二区三区| 久久久久久91香蕉国产| 殴美一级特黄aaaaaa| 亚洲国产视频在线| 亚洲国产精品狼友在线观看| 中文精品电影| 国产91色在线|亚洲| 美女尤物在线视频| 亚洲国产精品久久91精品| 国产精品第108页| av一本久道久久综合久久鬼色| 日韩国产一级片| 偷拍自拍亚洲色图| 国产成+人+综合+亚洲欧洲| 国产在线资源| 欧美性色综合网| 日韩三级久久久| 国产精品一色哟哟哟| www国产免费| 欧美交a欧美精品喷水| 国产91精品久久久久久久| 国模吧精品人体gogo| 欧美性大战xxxxx久久久| 99热这里只有精品4| 国产美女精品一区二区三区| 日本成人在线不卡| 欧美日韩看看2015永久免费| 日本三级久久久| 嫩草在线视频| 精品国产99国产精品| 亚洲婷婷综合网| 国产精品理伦片| 欧美熟妇精品一区二区| 国产欧美在线| 亚洲精品无人区| 欧美a在线观看| 欧洲日韩成人av| 欧美日本一道| 亚洲第一网站免费视频| 天堂网免费视频| 亚洲人成在线播放网站岛国| www.啪啪.com| 美女网站在线免费欧美精品| 超薄肉色丝袜足j调教99| 精品国产一区二区三区成人影院| 国产成人精品av在线| av免费在线观看网站| 精品视频一区在线视频| 国产露脸国语对白在线| 精品久久久视频| 国产日产在线观看| 99久久精品国产导航| 日韩精品视频一区二区在线观看| 欧美精品乱码| 国产精品yjizz| 欧美一级免费| 人妖精品videosex性欧美| 超碰在线观看免费| 在线观看91久久久久久| 欧美一级特黄aaaaaa大片在线观看| 欧美亚洲精品一区| 日本系列第一页| 日韩一区在线看| www.色天使| 成人污污视频在线观看| 蜜臀av免费观看| 午夜在线一区| 免费人成自慰网站| 欧美在线不卡| 三区精品视频观看| 色88888久久久久久影院| 亚洲综合中文字幕68页| 国产成人免费精品| 欧美性受xxx| 在线观看免费视频你懂的| 中文字幕亚洲无线码a| 涩爱av在线播放一区二区| 欧美成人精品二区三区99精品| 中文天堂在线播放| 色悠久久久久综合欧美99| 国产精品suv一区二区69| 亚洲乱码精品一二三四区日韩在线| 老司机免费视频| 国产成人精品三级| 亚洲综合123| 麻豆极品一区二区三区| 男女视频在线看| 老司机亚洲精品| 日韩欧美精品在线观看视频| 国精品一区二区| 日本老太婆做爰视频| 97人人精品| 亚洲人久久久| 欧美第十八页| 在线精品日韩| 97久久夜色精品国产| 中国成人在线视频| 天天揉久久久久亚洲精品| 一区二区三区观看| 五月久久久综合一区二区小说| 日韩av电影免费在线观看| 国内精品久久久久久久久电影网| 任我爽在线视频精品一| 国产午夜一区| 亚洲精品成人三区| 婷婷综合激情| 欧美 另类 交| 欧美日韩岛国| www.成年人视频| 精品91在线| 国产成人无码a区在线观看视频| 最新成人av网站| 妺妺窝人体色www在线小说| 亚洲激情女人| 久久综合久久色| 精品在线免费观看| 亚洲成人av免费观看| 懂色av一区二区三区免费观看| 91成人在线观看喷潮蘑菇| 成人ar影院免费观看视频| 手机在线看片日韩| 国产亚洲精品精华液| 五月天免费网站| 一区二区在线观看不卡| 国产精彩视频在线观看| 黑人极品videos精品欧美裸| 黄色av一级片| 欧美高清视频不卡网| 日本黄色三级视频| 亚洲性日韩精品一区二区| 日韩伦理在线观看| 久久久久久91香蕉国产| 国产 日韩 欧美一区| 成人乱人伦精品视频在线观看| japanese色系久久精品| 美女视频久久| 91av精品| 能在线观看的av| 久久99久久久久| 美女扒开腿免费视频| 久久精品一级爱片| 欧美日韩大片在线观看| 色呦呦国产精品| av网站在线免费看| 亚洲欧美在线第一页| 国产调教视频在线观看| 97视频在线观看播放| 国产国产一区| 国产精品二区二区三区| 成人免费在线观看av| 成人短视频在线观看免费| 蜜桃伊人久久| 丰满人妻一区二区三区免费视频棣| 久久久久久久久久看片| 日本在线一级片| 91成人在线免费观看| 亚洲av综合色区无码一区爱av| 国产亚洲欧美日韩精品| 国产99re66在线视频| 91精品免费看| 国内精品伊人久久久| av高清在线免费观看| 精品在线播放午夜| 人妻aⅴ无码一区二区三区| 樱花影视一区二区| 亚洲专区第一页| 亚洲欧美日韩天堂| 91制片在线观看| 1卡2卡3卡精品视频| 深夜福利久久| 国语对白做受xxxxx在线中国| 国产精品一区二区久激情瑜伽| wwwww黄色| 色女孩综合影院| 四虎影院在线域名免费观看| 欧美人与物videos| 亚洲三级电影| 在线免费观看成人网| 久久一本综合频道| 一本色道综合久久欧美日韩精品| 亚洲综合免费观看高清完整版| 一级黄色片在线看| 国产一区二区黑人欧美xxxx| 高清不卡av| 久久99导航| 国产视频一区三区| 日韩免费高清一区二区| 亚洲一卡二卡三卡四卡五卡| 国产精品系列视频| www.xxxx精品| 高清精品久久| 中国老女人av| 国产在线播放一区| 综合五月激情网| 91精品国产欧美一区二区| 免费黄色在线看| 91夜夜揉人人捏人人添红杏| 国产精品久久久久久久久妇女| 最新天堂在线视频| 国产精品美女久久久久高潮| 最近中文字幕在线观看视频| 亚洲天堂男人天堂| 日韩一级二级| 影音先锋亚洲视频| 精品亚洲成av人在线观看| 国产又粗又硬又长又爽| 51精品秘密在线观看| 三级资源在线| 国产视频不卡| 免费日韩av| 国产激情av在线| 欧美日本在线观看| fc2ppv国产精品久久| 97久草视频| 国产日韩一区二区三区在线播放| 国产男女猛烈无遮挡a片漫画 | 久久福利视频网| 天堂va欧美ⅴa亚洲va一国产| 成人性生活视频免费看| www国产精品av| av手机天堂网| 久久精品色欧美aⅴ一区二区| 日韩精品视频在线看| 和岳每晚弄的高潮嗷嗷叫视频| 波多野结衣中文字幕一区| 国产九色在线播放九色| 亚洲无亚洲人成网站77777| av在线成人| 青青青青草视频| 国产精品理伦片| 亚洲精品喷潮一区二区三区| 欧美一级淫片videoshd| 日韩欧美高清| 亚洲精品鲁一鲁一区二区三区| 精品久久久久久亚洲精品| www黄在线观看| 国产高清在线精品一区二区三区| 欧美专区18| 日本老熟俱乐部h0930| 日韩精品中文在线观看| 日本免费一区二区三区等视频| 国产又粗又猛又爽又黄的网站| 久久综合国产精品| av免费观看在线| 国产成人午夜视频网址| 欧美成人tv| 免费一级做a爰片久久毛片潮| 91精品在线观看入口| 91av亚洲| av 日韩 人妻 黑人 综合 无码| 国产欧美日本一区二区三区| 国产黄色av片| 国产精品视频播放| 亚洲黄色三级| 东方av正在进入| 国产午夜精品一区理论片飘花| 欧一区二区三区|