日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

零基础 从 yolo8 入门计算机视觉超简单:物体识别、图像分类、轨迹追踪、姿势识别

發(fā)布時(shí)間:2023/12/24 windows 45 coder
生活随笔 收集整理的這篇文章主要介紹了 零基础 从 yolo8 入门计算机视觉超简单:物体识别、图像分类、轨迹追踪、姿势识别 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄
  • 安裝 Ultralytics
  • 訓(xùn)練
  • 模型驗(yàn)證
  • 預(yù)測 & 識別
  • 導(dǎo)出
  • 追蹤
  • 圖像分割提取
  • 分類
  • 姿勢識別
  • 軌跡生成

Ultralytics YOLOv8 是備受好評的實(shí)時(shí)目標(biāo)檢測和圖像分割模型,主要功能是物體識別、分割圖片物體、分類、姿態(tài)識別和跟蹤等。Ultralytics 支持使用 CPU、GPU 進(jìn)行訓(xùn)練,支持 x64、arm64 等 CPU 架構(gòu),支持蘋果的 M1/M2 芯片,支持在邊緣設(shè)備中訓(xùn)練和使用。

Ultralytics 對于個(gè)人免費(fèi),使用 【AGPL-3.0 許可】 開源協(xié)議,對于企業(yè)則需要付費(fèi)。

Ultralytics 是框架的名稱,YOLOv8 是該框架默認(rèn)攜帶的模型的版本號,框架默認(rèn)會自帶多種用途模型,我們一般會選擇在官方的模型上做訓(xùn)練。

Ultralytics YOLOv8 的物體識別功能很強(qiáng)大,如下圖所示,能夠準(zhǔn)確識別圖片中化了妝的妹子為 person(人類),甚至把床也識別出來了。

使用 Ultralytics,一般會經(jīng)歷以下過程:

  • 訓(xùn)練(Train)模式:在自定義或預(yù)加載的數(shù)據(jù)集上微調(diào)您的模型。
  • 驗(yàn)證(Val)模式:訓(xùn)練后進(jìn)行校驗(yàn),以驗(yàn)證模型性能。
  • 預(yù)測(Predict)模式:在真實(shí)世界數(shù)據(jù)上釋放模型的預(yù)測能力。
  • 導(dǎo)出(Export)模式:以各種格式使模型準(zhǔn)備就緒,部署至生產(chǎn)環(huán)境。
  • 跟蹤(Track)模式:將您的目標(biāo)檢測模型擴(kuò)展到實(shí)時(shí)跟蹤應(yīng)用中。
  • 基準(zhǔn)(Benchmark)模式:在不同部署環(huán)境中分析模型的速度和準(zhǔn)確性。

所以,本文也會按照該順序,逐步講解。

安裝 Ultralytics

一般來說,直接使用 pip 安裝即可。

# 從PyPI安裝ultralytics包
pip install ultralytics

官方文檔的安裝方式是最詳細(xì)的,其它安裝方式直接參考官方文檔即可。

官方安裝文檔:https://docs.ultralytics.com/zh/quickstart/#ultralytics

安裝 ultralytics 之后,在項(xiàng)目中使用 YOLO 名稱引入 ultralytics:

from ultralytics import YOLO

ultralytics 默認(rèn)是從運(yùn)行目錄中讀寫數(shù)據(jù)集、訓(xùn)練模型的,這樣可能會比較亂。

可以在程序啟動(dòng)時(shí),修改配置運(yùn)行配置:

# 模型和訓(xùn)練模塊,核心
from ultralytics import YOLO
# 設(shè)置模塊
from ultralytics import settings

# 更新設(shè)置
settings.update({'runs_dir': './' , 'tensorboard': False})

settings 也可以導(dǎo)出配置,或者從文件中加載配置:

    def load(self):
        """Loads settings from the YAML file."""
        super().update(yaml_load(self.file))

    def save(self):
        """Saves the current settings to the YAML file."""
        yaml_save(self.file, dict(self))

    def update(self, *args, **kwargs):
        """Updates a setting value in the current settings."""
        super().update(*args, **kwargs)
        self.save()

    def reset(self):
        """Resets the settings to default and saves them."""
        self.clear()
        self.update(self.defaults)
        self.save()

settings 可以設(shè)置的全部配置如下:

名稱 示例值 數(shù)據(jù)類型 描述
settings_version '0.0.4' str Ultralytics settings 版本
datasets_dir '/path/to/datasets' str 存儲數(shù)據(jù)集的目錄
weights_dir '/path/to/weights' str 存儲模型權(quán)重的目錄
runs_dir '/path/to/runs' str 存儲實(shí)驗(yàn)運(yùn)行的目錄
uuid 'a1b2c3d4' str 當(dāng)前設(shè)置的唯一標(biāo)識符
sync True bool 是否將分析和崩潰同步到HUB
api_key '' str Ultralytics HUB API Key
clearml True bool 是否使用ClearML記錄
comet True bool 是否使用Comet ML進(jìn)行實(shí)驗(yàn)跟蹤和可視化
dvc True bool 是否使用DVC進(jìn)行實(shí)驗(yàn)跟蹤和版本控制
hub True bool 是否使用Ultralytics HUB集成
mlflow True bool 是否使用MLFlow進(jìn)行實(shí)驗(yàn)跟蹤
neptune True bool 是否使用Neptune進(jìn)行實(shí)驗(yàn)跟蹤
raytune True bool 是否使用Ray Tune進(jìn)行超參數(shù)調(diào)整
tensorboard True bool 是否使用TensorBoard進(jìn)行可視化
wandb True bool 是否使用Weights & Biases記錄

訓(xùn)練

ultralytics 中常見的文件格式有兩種,模型以 .pt 結(jié)尾,模型或數(shù)據(jù)集以 .yaml 結(jié)尾。

可以基于官方模型進(jìn)行訓(xùn)練,或者從已有模型進(jìn)行訓(xùn)練,甚至在沒有模型的情況下訓(xùn)練出自己的模型。

如果已經(jīng)有模型,則無需再次訓(xùn)練。

官方文檔的 demo 如下:

下面的代碼不能直接啟動(dòng)。

from ultralytics import YOLO

# 加載一個(gè)模型
model = YOLO('yolov8n.yaml')  # 從YAML建立一個(gè)新模型
model = YOLO('yolov8n.pt')  # 加載預(yù)訓(xùn)練模型(推薦用于訓(xùn)練)
model = YOLO('yolov8n.yaml').load('yolov8n.pt')  # 從YAML建立并轉(zhuǎn)移權(quán)重

# 訓(xùn)練模型
results = model.train(data='coco128.yaml', epochs=100, imgsz=640)

官方的 yolov8n.pt 模型和 coco128.yaml 數(shù)據(jù)集,主要是人、動(dòng)物、常見物體,可用于物體識別。

如果選擇使用官方模型,則第一次使用時(shí),會自動(dòng)下載 yolov8n.pt 到代碼所在目錄。

我們先來看看 .train() 訓(xùn)練模型時(shí)的參數(shù)。epochs 表示訓(xùn)練多少輪,一般 10 輪即可,100輪需要非常久的!imgsz 表示圖片大小,當(dāng)數(shù)據(jù)集的圖片大小太大時(shí),可以適當(dāng)降低像素,官方的數(shù)據(jù)集圖片大小是 640*480 ,已經(jīng)提前處理好大小了。

coco128.yaml 是官方提供的數(shù)據(jù)集合,有 128 張圖片,在程序首次運(yùn)行時(shí),會自動(dòng)從官方倉庫中拉取數(shù)據(jù)集存儲到 datasets/coco128 下面,其中里面包含了一些圖片和標(biāo)注。當(dāng)然,我們也可以從開源社區(qū)中獲取更多的數(shù)據(jù)集,以及自己制作數(shù)據(jù)集,用來訓(xùn)練模型。

然后再回到加載模型這里。

我們通過官方配置文件,從零訓(xùn)練出一個(gè)模型:

from ultralytics import YOLO

# 加載一個(gè)模型
model = YOLO('yolov8n.yaml')  # 從YAML建立一個(gè)新模型

# 訓(xùn)練模型
results = model.train(data='coco128.yaml', epochs=10, imgsz=640)

由于筆者只有 AMD 5600G,是集成顯卡,因此跑起來特別慢。

如果你有指定的多個(gè),可以在訓(xùn)練時(shí)指定:

results = model.train(data='coco128.yaml', epochs=10, imgsz=640, device=0)

如果不指定,框架會自動(dòng)選擇 GPU。

可能筆者是 AMD 的 CPU,也有可能是因?yàn)椴恢С旨娠@卡,所以筆者是使用 CPU 訓(xùn)練的,超級慢。

訓(xùn)練出的模型會存儲在 detect 目錄下。其它兩種方式訓(xùn)練的模型也是如此,都會在 detect 目錄下。

我們也可以導(dǎo)入已有的模型:

# 加載官方預(yù)訓(xùn)練模型
# model = YOLO('yolov8n.pt')
# 訓(xùn)練過的模型
model = YOLO('detect/train/weights/best.pt') 

在使用 .train() 訓(xùn)練模型時(shí),可以傳遞很多參數(shù),全部參數(shù)說明如下:

描述
model None 模型文件路徑,例如 yolov8n.pt, yolov8n.yaml
data None 數(shù)據(jù)文件路徑,例如 coco128.yaml
epochs 100 訓(xùn)練的輪次數(shù)量
patience 50 早停訓(xùn)練的等待輪次
batch 16 每批圖像數(shù)量(-1為自動(dòng)批大小)
imgsz 640 輸入圖像的大小,以整數(shù)表示
save True 保存訓(xùn)練檢查點(diǎn)和預(yù)測結(jié)果
save_period -1 每x輪次保存檢查點(diǎn)(如果<1則禁用)
cache False True/ram, disk 或 False。使用緩存加載數(shù)據(jù)
device None 運(yùn)行設(shè)備,例如 cuda device=0 或 device=0,1,2,3 或 device=cpu
workers 8 數(shù)據(jù)加載的工作線程數(shù)(如果DDP則為每個(gè)RANK)
project None 項(xiàng)目名稱
name None 實(shí)驗(yàn)名稱
exist_ok False 是否覆蓋現(xiàn)有實(shí)驗(yàn)
pretrained True (bool 或 str) 是否使用預(yù)訓(xùn)練模型(bool)或從中加載權(quán)重的模型(str)
optimizer 'auto' 使用的優(yōu)化器,選擇范圍=[SGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp, auto]
verbose False 是否打印詳細(xì)輸出
seed 0 隨機(jī)種子,用于可重復(fù)性
deterministic True 是否啟用確定性模式
single_cls False 將多類數(shù)據(jù)作為單類訓(xùn)練
rect False 矩形訓(xùn)練,每批為最小填充整合
cos_lr False 使用余弦學(xué)習(xí)率調(diào)度器
close_mosaic 10 (int) 最后輪次禁用馬賽克增強(qiáng)(0為禁用)
resume False 從最后檢查點(diǎn)恢復(fù)訓(xùn)練
amp True 自動(dòng)混合精度(AMP)訓(xùn)練,選擇范圍=[True, False]
fraction 1.0 訓(xùn)練的數(shù)據(jù)集比例(默認(rèn)為1.0,即訓(xùn)練集中的所有圖像)
profile False 在訓(xùn)練期間為記錄器分析ONNX和TensorRT速度
freeze None (int 或 list, 可選) 在訓(xùn)練期間凍結(jié)前n層,或凍結(jié)層索引列表
lr0 0.01 初始學(xué)習(xí)率(例如 SGD=1E-2, Adam=1E-3)
lrf 0.01 最終學(xué)習(xí)率 (lr0 * lrf)
momentum 0.937 SGD動(dòng)量/Adam beta1
weight_decay 0.0005 優(yōu)化器權(quán)重衰減5e-4
warmup_epochs 3.0 熱身輪次(小數(shù)ok)
warmup_momentum 0.8 熱身初始動(dòng)量
warmup_bias_lr 0.1 熱身初始偏差lr
box 7.5 框損失增益
cls 0.5 cls損失增益(根據(jù)像素縮放)
dfl 1.5 dfl損失增益
pose 12.0 姿態(tài)損失增益(僅限姿態(tài))
kobj 2.0 關(guān)鍵點(diǎn)obj損失增益(僅限姿態(tài))
label_smoothing 0.0 標(biāo)簽平滑(小數(shù))
nbs 64 標(biāo)稱批大小
overlap_mask True 訓(xùn)練期間掩碼應(yīng)重疊(僅限分割訓(xùn)練)
mask_ratio 4 掩碼降采樣比率(僅限分割訓(xùn)練)
dropout 0.0 使用dropout正則化(僅限分類訓(xùn)練)
val True 訓(xùn)練期間驗(yàn)證/測試

模型驗(yàn)證

前一小節(jié)中,我們使用了官方帶有 128 張圖片的 coco128.yaml 數(shù)據(jù)集進(jìn)行訓(xùn)練,訓(xùn)練完成后,需要進(jìn)行模型驗(yàn)證,以便在 coco128.yaml 數(shù)據(jù)集上驗(yàn)證訓(xùn)練過的模型的準(zhǔn)確性。

此外,數(shù)據(jù)集也分為多種:

  • 訓(xùn)練集(Training Set):用于訓(xùn)練和調(diào)整模型參數(shù)。
  • 驗(yàn)證集(Validation Set):用于驗(yàn)證模型精度和調(diào)整模型參數(shù)。
  • 測試集(Test Set):用于驗(yàn)證模型的泛化能力。

對于模型驗(yàn)證這一部分,官方文檔的描述不多,同時(shí)本文作為入門文章,不會深入講解這些細(xì)節(jié),所以我們只需要記得自行訓(xùn)練的模型,都加上模型驗(yàn)證的代碼模板即可。

在已經(jīng)訓(xùn)練的模型中驗(yàn)證的模板如下:

from ultralytics import YOLO

# 加載訓(xùn)練后的模型
model = YOLO('detect/train3/weights/best.pt')

# 驗(yàn)證模型
metrics = model.val()  # 無需參數(shù),數(shù)據(jù)集和設(shè)置記憶
metrics.box.map    # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps   # 包含每個(gè)類別的map50-95列表

一般,在訓(xùn)練之后立即驗(yàn)證:

from ultralytics import YOLO

model = YOLO('yolov8n.pt')  # 加載預(yù)訓(xùn)練模型(推薦用于訓(xùn)練)

# 訓(xùn)練模型
results = model.train(data='coco128.yaml', epochs=10, imgsz=640)

# 驗(yàn)證模型
metrics = model.val()  # 無需參數(shù),數(shù)據(jù)集和設(shè)置記憶
metrics.box.map    # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps   # 包含每個(gè)類別的map50-95列表

驗(yàn)證結(jié)果:

前面提到過,coco128.yaml 數(shù)據(jù)集主要是人、動(dòng)物和常見物體的圖片,因此控制臺列出了每種標(biāo)記(person 人類、car 汽車等) 的識別驗(yàn)證結(jié)果。

當(dāng)然,我們是入門階段,這些信息對我們作用不大。

預(yù)測 & 識別

來到了激動(dòng)人心的階段,我們可以使用現(xiàn)有的模型或官方模型對圖片進(jìn)行識別。

你可以將下面兩張圖片下載保存:

下面兩張圖片,是代碼識別后的結(jié)果,會自動(dòng)將圖片中識別到的物體標(biāo)記名稱以及使用矩形框選出來。

from ultralytics import YOLO
from PIL import Image
# 加載訓(xùn)練后的模型
model = YOLO('detect/train3/weights/best.pt')


# 導(dǎo)入并識別圖片,results 是處理后的結(jié)果
results = model(['img1.jpg', 'img2.jpg'])

# 保存處理后的圖片到目錄中
i = 0
for r in results:
    i += 1
    im_array = r.plot()  # 繪制包含預(yù)測結(jié)果的BGR numpy數(shù)組
    im = Image.fromarray(im_array[..., ::-1])  # RGB PIL圖像
    im.save('results/' + str(i) + '.jpg')  # 保存圖像

當(dāng)然,我們也可以在處理圖片之前預(yù)覽圖片:

im.show()  # 彈出窗口,預(yù)覽圖像
im.save('results/' + str(i) + '.jpg')  # 保存圖像

如果只需要獲取識別信息,不需要處理圖片,那么可以這樣打印信息:

from ultralytics import YOLO
from PIL import Image

# 加載訓(xùn)練后的模型
model = YOLO('detect/train3/weights/best.pt')

# 導(dǎo)入并識別圖片,results 是處理后的結(jié)果
results = model(['img1.jpg', 'img2.jpg'])

# 處理結(jié)果列表
for result in results:
    boxes = result.boxes  # 邊界框輸出的 Boxes 對象
    masks = result.masks  # 分割掩碼輸出的 Masks 對象
    keypoints = result.keypoints  # 姿態(tài)輸出的 Keypoints 對象
    probs = result.probs  # 分類輸出的 Probs 對象
    print("圖片邊框")
    print(boxes)
    print("分割掩碼")
    print(masks)
    print("姿勢輸出")
    print(keypoints)
    print("分類輸出")
    print(probs)

注意,上面的結(jié)果除了邊框有值,其它都是 None,因?yàn)槲覀冎蛔R別圖片,并沒有做分類、切割、姿勢識別等。

前面提到,results 是處理之后的結(jié)果,results 是一個(gè) Results 對象,Results 對象具有的屬性如下:

屬性 類型 描述
orig_img numpy.ndarray 原始圖像的numpy數(shù)組。
orig_shape tuple 原始圖像的形狀,格式為(高度,寬度)。
boxes Boxes, 可選 包含檢測邊界框的Boxes對象。
masks Masks, 可選 包含檢測掩碼的Masks對象。
probs Probs, 可選 包含每個(gè)類別的概率的Probs對象,用于分類任務(wù)。
keypoints Keypoints, 可選 包含每個(gè)對象檢測到的關(guān)鍵點(diǎn)的Keypoints對象。
speed dict 以毫秒為單位的每張圖片的預(yù)處理、推理和后處理速度的字典。
names dict 類別名稱的字典。
path str 圖像文件的路徑。

Results具有以下方法:

方法 返回類型 描述
__getitem__() Results 返回指定索引的Results對象。
__len__() int 返回Results對象中的檢測數(shù)量。
update() None 更新Results對象的boxes, masks和probs屬性。
cpu() Results 將所有張量移動(dòng)到CPU內(nèi)存上的Results對象的副本。
numpy() Results 將所有張量轉(zhuǎn)換為numpy數(shù)組的Results對象的副本。
cuda() Results 將所有張量移動(dòng)到GPU內(nèi)存上的Results對象的副本。
to() Results 返回將張量移動(dòng)到指定設(shè)備和dtype的Results對象的副本。
new() Results 返回一個(gè)帶有相同圖像、路徑和名稱的新Results對象。
keys() List[str] 返回非空屬性名稱的列表。
plot() numpy.ndarray 繪制檢測結(jié)果。返回帶有注釋的圖像的numpy數(shù)組。
verbose() str 返回每個(gè)任務(wù)的日志字符串。
save_txt() None 將預(yù)測保存到txt文件中。
save_crop() None 將裁剪的預(yù)測保存到save_dir/cls/file_name.jpg
tojson() None 將對象轉(zhuǎn)換為JSON格式。

除了本地圖片外,ultralytics 還支持視頻流,可以從本地或網(wǎng)絡(luò)中導(dǎo)入要識別的資源。對于視頻流的處理,本文的后續(xù)章節(jié)再介紹。

ultralytics 支持識別的其它資源:

來源 參數(shù) 類型 備注
image 'image.jpg' strPath 單個(gè)圖像文件。
URL 'https://ultralytics.com/images/bus.jpg' str 圖像的 URL 地址。
screenshot 'screen' str 截取屏幕圖像。
PIL Image.open('im.jpg') PIL.Image RGB 通道的 HWC 格式圖像。
OpenCV cv2.imread('im.jpg') np.ndarray BGR 通道的 HWC 格式圖像 uint8 (0-255)
numpy np.zeros((640,1280,3)) np.ndarray BGR 通道的 HWC 格式圖像 uint8 (0-255)
torch torch.zeros(16,3,320,640) torch.Tensor RGB 通道的 BCHW 格式圖像 float32 (0.0-1.0)
CSV 'sources.csv' strPath 包含圖像、視頻或目錄路徑的 CSV 文件。
video? 'video.mp4' strPath 如 MP4, AVI 等格式的視頻文件。
directory? 'path/' strPath 包含圖像或視頻文件的目錄路徑。
glob ? 'path/*.jpg' str 匹配多個(gè)文件的通配符模式。使用 * 字符作為通配符。
YouTube ? 'https://youtu.be/LNwODJXcvt4' str YouTube 視頻的 URL 地址。
stream ? 'rtsp://example.com/media.mp4' str RTSP, RTMP, TCP 或 IP 地址等流協(xié)議的 URL 地址。
multi-stream? 'list.streams' strPath 一個(gè)流 URL 每行的 *.streams 文本文件,例如 8 個(gè)流將以 8 的批處理大小運(yùn)行。

如果要了解每種資源的導(dǎo)入方式,可以打開 https://docs.ultralytics.com/zh/modes/predict/#_4

本文不再贅述所有導(dǎo)入方式,不過本文后續(xù)會介紹視頻流等資源識別。

導(dǎo)出

ultralytics 支持將訓(xùn)練后的模型導(dǎo)出為 ONNX、 TensorRT、 CoreML 等格式,然后我們可以使用其它框架或其它語言進(jìn)行調(diào)用,例如 C# 的 ML.NET 框架。

from ultralytics import YOLO

# 加載模型 .pt 文件模型
model = YOLO('path/to/best.pt')

# 導(dǎo)出為其它類型的模型
model.export(format='onnx')

導(dǎo)出為其它模型時(shí),需要安裝對應(yīng)支持包,如果本地沒有安裝過,則第一次會自動(dòng)安裝。

代碼執(zhí)行后,控制臺會打印出模型文件被導(dǎo)出到哪個(gè)位置:

ultralytics 支持將模型導(dǎo)出為以下格式:

格式 format 參數(shù) 模型 元數(shù)據(jù) 參數(shù)
PyTorch - yolov8n.pt ? -
TorchScript torchscript yolov8n.torchscript ? imgsz, optimize
ONNX onnx yolov8n.onnx ? imgsz, half, dynamic, simplify, opset
OpenVINO openvino yolov8n_openvino_model/ ? imgsz, half
TensorRT engine yolov8n.engine ? imgsz, half, dynamic, simplify, workspace
CoreML coreml yolov8n.mlpackage ? imgsz, half, int8, nms
TF SavedModel saved_model yolov8n_saved_model/ ? imgsz, keras
TF GraphDef pb yolov8n.pb ? imgsz
TF Lite tflite yolov8n.tflite ? imgsz, half, int8
TF Edge TPU edgetpu yolov8n_edgetpu.tflite ? imgsz
TF.js tfjs yolov8n_web_model/ ? imgsz
PaddlePaddle paddle yolov8n_paddle_model/ ? imgsz
ncnn ncnn yolov8n_ncnn_model/ ? imgsz, half

追蹤

Ultralytics 的追蹤可以處理視頻中的物體。前面筆者已經(jīng)介紹了通過圖片進(jìn)行物體識別,其實(shí)還支持對圖片進(jìn)行姿勢識別、圖片分類、將物體從圖片中切割出來,這些等后面的章節(jié)再介紹。Ultralytics 的追蹤也支持物體識別、姿勢識別等,在本節(jié)中,筆者將介紹如何在視頻中識別和追蹤物體,在后面的章節(jié)中會介紹更多的示例。

Ultralytics YOLO 擴(kuò)展了其物體檢測功能,以提供強(qiáng)大且多功能的物體追蹤:

  • 實(shí)時(shí)追蹤: 在高幀率視頻中無縫追蹤物體。
  • 支持多個(gè)追蹤器: 從多種成熟的追蹤算法中選擇。
  • 自定義追蹤器配置: 通過調(diào)整各種參數(shù)來定制追蹤算法,以滿足特定需求。

Ultralytics 默認(rèn)有兩種追蹤器。

  • BoT-SORT - 模型文件為 botsort.yaml ,默認(rèn)使用,不需要配置。
  • ByteTrack - 模型文件為bytetrack.yaml

以下代碼演示了使用 cv2 加載視頻文件,并逐幀識別圖片中的物體,然后每識別一幀,就顯示到桌面中。

from ultralytics import YOLO
import cv2

# 加載自己訓(xùn)練的物體識別模型
model = YOLO('detect/train3/weights/best.pt')
# 或者使用官方訓(xùn)練的物體識別模型
# model = YOLO('yolov8n.pt')

# 使用 cv2 加載視頻文件
video_path = "1.mp4"
cap = cv2.VideoCapture(video_path)

# 循環(huán)遍歷視頻幀
while cap.isOpened():
    # 從視頻讀取一幀
    success, frame = cap.read()

    if success:
        # 在幀上運(yùn)行YOLOv8追蹤,持續(xù)追蹤幀間的物體
        results = model.track(frame, persist=True)

        # 在幀上展示結(jié)果
        annotated_frame = results[0].plot()

        # 使用 cv2 彈出窗口,并展示帶注釋的幀
        # 也就是一邊識別,一邊播放視頻
        cv2.imshow("YOLOv8 Tracking", annotated_frame)

        # 如果按下'q'則退出循環(huán)
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        # 如果視頻結(jié)束則退出循環(huán)
        break

# 釋放視頻捕獲對象并關(guān)閉顯示窗口
cap.release()
cv2.destroyAllWindows()

當(dāng)然,由于筆者下載的視頻比較模糊,以及訓(xùn)練的數(shù)據(jù)集不大,識別出來的物體名稱不是很理想,不過其追蹤器確實(shí)確實(shí)牛批。

圖像分割提取

圖像分割用于在識別圖片中的物體后,將物體從圖片中提取出來。

示例代碼如下:

from ultralytics import YOLO

# 加載 yolov8n-seg 模型
model = YOLO('yolov8n-seg.pt')

# 訓(xùn)練模型
# results = model.train(data='coco128-seg.yaml', epochs=100, imgsz=640)

# 驗(yàn)證
# ... ...

# 對圖像進(jìn)行處理
results = model(['img1.jpg', 'img2.jpg'])

# 保存處理后的圖片到目錄中
i = 0
for r in results:
    i += 1
    im_array = r.save_crop(save_dir="results")

提取到的物體圖片會被存儲到:

如果不需要提取物體,由于 ultralytics 會先創(chuàng)建圖片蒙版,因此我們可以導(dǎo)出帶有物體蒙版的圖片。

from ultralytics import YOLO
from PIL import Image

# 加載 yolov8n-seg 模型
model = YOLO('yolov8n-seg.pt')

# 訓(xùn)練模型
# results = model.train(data='coco128-seg.yaml', epochs=100, imgsz=640)

# 驗(yàn)證
# ... ...

# 對圖像進(jìn)行處理
results = model(['img1.jpg', 'img2.jpg'])

# 保存處理后的圖片到目錄中
i = 0
for r in results:
    i += 1
    im_array = r.plot()  # 繪制包含預(yù)測結(jié)果的BGR numpy數(shù)組
    im = Image.fromarray(im_array[..., ::-1])  # RGB PIL圖像
    im.save('results/' + str(i) + '.jpg')  # 保存圖像

分類

很明顯,用于分類圖片。

分類圖片需要使用官方的 yolov8n-cls.pt 模型。

官方提供了一個(gè) mnist160 數(shù)據(jù)集,該數(shù)據(jù)集是從 0-9 的手寫圖片,因此我們訓(xùn)練模型之后,也是用來做手寫數(shù)字識別的。

這里隨便寫三個(gè)數(shù)字:

由于數(shù)據(jù)量不大,因此我們可以直接訓(xùn)練然后使用訓(xùn)練后的模型提取圖片中的文字:

from ultralytics import YOLO

# 加載 yolov8n-cls 模型
model = YOLO('yolov8n-cls.pt')

# 訓(xùn)練模型
results = model.train(data='mnist160', epochs=100, imgsz=64)

# 驗(yàn)證
# ... ...

# 對圖像進(jìn)行處理
results = model(['666.png'])

# 保存處理后的圖片到目錄中
i = 0
for r in results:
    r.save_txt(txt_file="results/cls"+ str(i) + '.txt')
    i += 1

因?yàn)橛?xùn)練的數(shù)據(jù)集是單數(shù)字的,因此對多數(shù)字的支持有點(diǎn)問題。

改成大大的 6 ,再次識別:

姿勢識別

姿勢識別用于在圖片或視頻中給人體進(jìn)行打點(diǎn)、劃線,然后追蹤人體的姿勢變化。

示例代碼如下:

import cv2
from ultralytics import YOLO

# 加載 yolov8n-pose 模型,并進(jìn)行訓(xùn)練
model = YOLO('yolov8n-pose.pt')
results = model.train(data='coco8-pose.yaml', epochs=10, imgsz=640)

# 打開視頻文件
video_path = "1.mp4"
cap = cv2.VideoCapture(video_path)

# 循環(huán)遍歷視頻幀
while cap.isOpened():
    # 從視頻讀取一幀
    success, frame = cap.read()

    if success:
        # 在幀上運(yùn)行YOLOv8追蹤,持續(xù)追蹤幀間的物體
        results = model.track(frame, persist=True)

        # 在幀上展示結(jié)果
        annotated_frame = results[0].plot()

        # 展示帶注釋的幀
        cv2.imshow("YOLOv8 Tracking", annotated_frame)

        # 如果按下'q'則退出循環(huán)
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        # 如果視頻結(jié)束則退出循環(huán)
        break

# 釋放視頻捕獲對象并關(guān)閉顯示窗口
cap.release()
cv2.destroyAllWindows()

軌跡生成

在視頻中識別追蹤物體時(shí),還可以對物體的運(yùn)行軌跡進(jìn)行追蹤。

手頭上沒有更多視頻演示,將就一下。

示例代碼如下:

from collections import defaultdict

import cv2
import numpy as np

from ultralytics import YOLO

# 加載 yolov8n.pt 模型,也可以使用其它模型
model = YOLO('yolov8n.pt')

# 打開視頻
video_path = "0.mp4"
cap = cv2.VideoCapture(video_path)

# 保存歷史記錄
track_history = defaultdict(lambda: [])

# 處理視頻的每一幀
while cap.isOpened():
    success, frame = cap.read()

    if success:
        # 追蹤
        results = model.track(frame, persist=True)

        # 讀取當(dāng)前幀中物體的框
        boxes = results[0].boxes.xywh.cpu()
        # 如果未識別到圖像有框時(shí),則忽略
        if results[0].boxes.id is None:
            continue
        # 獲取每個(gè)被追蹤的物體 id
        track_ids = results[0].boxes.id.int().cpu().tolist()

        annotated_frame = results[0].plot()

        # 繪制
        for box, track_id in zip(boxes, track_ids):
            x, y, w, h = box
            track = track_history[track_id]
            track.append((float(x), float(y))) 
            if len(track) > 30:
                track.pop(0)

            points = np.hstack(track).astype(np.int32).reshape((-1, 1, 2))
            cv2.polylines(annotated_frame, [points], isClosed=False, color=(230, 230, 230), thickness=10)

        cv2.imshow("YOLOv8 Tracking", annotated_frame)

        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        break

cap.release()
cv2.destroyAllWindows()

總結(jié)

以上是生活随笔為你收集整理的零基础 从 yolo8 入门计算机视觉超简单:物体识别、图像分类、轨迹追踪、姿势识别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

日韩视频精品在线 | 久久精品这里都是精品 | av片中文| 日韩电影在线观看一区二区三区 | 国产又粗又猛又黄视频 | 色婷婷免费视频 | 亚洲我射av| 国产美女精品视频 | 91av综合| 欧洲精品码一区二区三区免费看 | 91福利视频免费 | 啪啪免费视频网站 | 亚洲精品久久久久久中文传媒 | 最新免费av在线 | 久久a v视频| 欧美黑人猛交 | 日韩欧美电影在线观看 | 中文字幕在线免费97 | 99精品久久99久久久久 | av高清在线观看 | 蜜桃视频日韩 | 日韩在线观看视频网站 | 91激情视频在线 | 色吧av色av | 中文字幕免费观看视频 | 日韩久久久| 91在线麻豆 | 国产精品亚洲片在线播放 | 国产成人精品一区在线 | 麻豆精品传媒视频 | 一区二区激情视频 | 国产成人在线网站 | 欧洲一区二区在线观看 | 亚洲激色 | 一区二区三区在线观看 | 中文字幕免费高清在线 | 免费黄在线观看 | 一区中文字幕在线观看 | 亚洲精品伦理在线 | 97在线成人 | 亚洲精品三级 | av观看免费在线 | 久草在线高清视频 | 在线免费观看黄色av | 黄色大片免费网站 | 午夜精品在线看 | 中文成人字幕 | 久久国产精品精品国产色婷婷 | 国产一区二区精品在线 | 一区二区精品久久 | 欧美精品乱码久久久久久按摩 | 毛片视频网址 | 在线观看国产区 | 91亚洲综合 | 狠狠的干 | 天天操夜夜操夜夜操 | 免费看国产精品 | 国产精品嫩草影院99网站 | 免费一区在线 | www.色婷婷.com| 一区二区三区在线免费观看 | 草樱av| 夜夜躁狠狠躁日日躁视频黑人 | www.精选视频.com | 久久久久女人精品毛片九一 | 韩国一区二区三区视频 | 最新高清无码专区 | 美女在线免费视频 | 免费色黄 | 久久午夜免费观看 | 亚洲国产精品激情在线观看 | 欧美一级久久久 | 国产尤物在线观看 | 手机成人在线 | 91免费试看 | 中文字幕影视 | 中文字幕 欧美性 | 亚洲高清资源 | 91视频午夜 | 欧美日韩一区二区三区不卡 | 亚洲精品小区久久久久久 | 欧美成人h版在线观看 | 成人91在线 | 亚洲在线网址 | 成人福利av | 国产一级二级三级视频 | 国产一级特黄电影 | 久久免费看片 | 久草在线视频免赞 | 久久男人中文字幕资源站 | 久草国产在线 | 在线免费观看视频一区二区三区 | 亚洲午夜久久久影院 | 免费观看一级一片 | 国产五月天婷婷 | 韩国av免费观看 | 奇米四色影狠狠爱7777 | 亚洲美女视频在线 | 成人精品一区二区三区电影免费 | av大片免费看 | 激情 婷婷 | 午夜精品福利一区二区三区蜜桃 | 久久久久一区二区三区 | 国产99久久久国产精品成人免费 | av怡红院| 美女视频黄在线 | 在线免费观看欧美日韩 | 久久久蜜桃一区二区 | 日本深夜福利视频 | 又黄又爽又刺激视频 | 天天射网 | 久久精品国产亚洲 | av免费片| 欧美 亚洲 另类 激情 另类 | 在线一二三区 | 色网免费观看 | 久久久久高清毛片一级 | av成人在线观看 | 天天插综合网 | 日本高清中文字幕有码在线 | 欧美成人区 | 日韩大片在线免费观看 | 国产精品一区在线观看你懂的 | 日韩一区二区三区高清免费看看 | 91麻豆精品国产91久久久无限制版 | 精品久久久一区二区 | 91在线公开视频 | .国产精品成人自产拍在线观看6 | 中文字幕精品一区二区三区电影 | 日韩av一区在线观看 | 97视频在线观看播放 | 最近日韩免费视频 | 久久国产精品99久久久久久进口 | 成人免费视频免费观看 | 亚洲区精品视频 | 在线日本看片免费人成视久网 | 999久久久久久久久6666 | 国产精品久久久久久久久久直播 | 国产高清在线a视频大全 | 9797在线看片亚洲精品 | 福利网址在线观看 | 激情综合网色播五月 | 婷婷成人在线 | 亚洲一区二区观看 | 国产精品久久久久久久av大片 | 色综合婷婷 | 久久久久亚洲精品国产 | 国产毛片久久久 | 成人永久视频 | 草草草影院 | 免费在线黄网 | 在线免费观看亚洲视频 | 又黄又爽免费视频 | 国产黄视频在线观看 | 91精品国产麻豆国产自产影视 | 国产中文欧美日韩在线 | 韩国一区二区三区在线观看 | 国产精品久久久久国产精品日日 | 欧美一区免费在线观看 | 国产精品一区二区三区在线播放 | 成人午夜电影免费在线观看 | 成人免费一区二区三区在线观看 | 999久久久久久久久 69av视频在线观看 | 天堂资源在线观看视频 | 国产无套精品久久久久久 | av在线看片| 欧美黄色成人 | 日韩字幕在线观看 | 亚洲专区免费观看 | 国产亚洲精品久久久久秋 | 特级黄色片免费看 | 久要激情网 | 精品国产伦一区二区三区观看说明 | 日韩毛片精品 | 久久久久久免费毛片精品 | 亚洲国产美女久久久久 | 国产黄网站在线观看 | 午夜精品电影 | 有没有在线观看av | 精品免费视频. | 97精品国产91久久久久久久 | 午夜久久 | 久久国产精品99久久久久 | 久久国产香蕉视频 | 五月婷婷免费 | 一区二区三区在线观看 | 色婷av| 97精品在线观看 | 国产视频一区二区在线 | 欧美亚洲国产精品久久高清浪潮 | 国产99区 | 婷婷丁香色| 麻豆一区在线观看 | 国产在线高清精品 | 久久精品高清 | 欧美做受高潮电影o | 久久精品久久精品久久精品 | 精品自拍网 | 99久久影视| 国产精品福利无圣光在线一区 | 久久精品99国产精品酒店日本 | av电影在线观看完整版一区二区 | 在线观看中文字幕av | 久久免费看视频 | 久久久www成人免费毛片 | 国产99免费 | 五月婷婷综合激情 | 免费看片网站91 | 一区二区欧美激情 | 国色天香第二季 | 亚洲综合成人婷婷小说 | 五月婷网站 | 久久久免费毛片 | 97偷拍在线视频 | 又黄又爽又无遮挡免费的网站 | 国产特级毛片aaaaaa高清 | 99精品视频在线播放免费 | 91手机视频 | 婷婷深爱五月 | 香蕉手机在线 | 西西www444| 成人黄色在线电影 | 在线观看黄av | av黄色在线播放 | 免费观看高清 | 亚洲另类视频在线 | 精品久久久久久久久久 | 久久福利国产 | 成人禁用看黄a在线 | 欧美激情精品一区 | 国产又粗又猛又黄又爽的视频 | 久久精品香蕉 | 91精品国产99久久久久久红楼 | 久久久综合精品 | www.夜夜草 | 亚洲三级精品 | 日韩精品一区二区三区免费视频观看 | 亚洲视频专区在线 | 99在线观看视频 | 蜜桃视频色 | 丁香影院在线 | 日韩精品免费一区二区三区 | 999电影免费在线观看 | 久久久亚洲国产精品麻豆综合天堂 | 97超碰超碰久久福利超碰 | 婷婷六月丁 | 97超碰人人模人人人爽人人爱 | 日本韩国欧美在线观看 | 蜜桃视频在线观看一区 | japanesexxx乱女另类 | 日色在线视频 | 久久精品国产第一区二区三区 | 人人插超碰 | 97在线免费观看 | 天天干天天操天天操 | 麻豆国产精品一区二区三区 | 亚洲精品自拍视频在线观看 | 九九国产精品视频 | 日韩字幕| 日本精品视频在线 | 久久久免费| 久久tv | 国产在线精品国自产拍影院 | 狠狠网 | 日日夜夜91 | 深夜福利视频在线观看 | 成人在线视频免费 | 亚洲成人精品在线 | 日韩中文字幕亚洲一区二区va在线 | 日韩视频在线一区 | 色多视频在线观看 | 99热这里有精品 | 久久久免费精品 | 黄av在线| 久久精品欧美视频 | 久久av免费| www.五月天| 玖玖在线免费视频 | 国产精品一区在线 | 91看片网址 | 黄色片网站av | 精品国产精品久久 | 天天天天天天天天操 | 久久久久www | 国产这里只有精品 | 麻花豆传媒一二三产区 | 亚洲国产精品久久 | 97碰碰精品嫩模在线播放 | 国产首页| 国产精品成人一区二区三区吃奶 | 国产无限资源在线观看 | 日韩在线 一区二区 | 色多多视频在线观看 | 日韩视频中文字幕在线观看 | 精品乱码一区二区三四区 | 欧美中文字幕第一页 | 国产综合视频在线观看 | 国产一级免费观看 | 天天色天天上天天操 | 黄色三级在线观看 | 美女视频黄免费网站 | 国产香蕉97碰碰久久人人 | 久久涩涩网站 | 亚洲资源在线 | 九九久久精品视频 | 日韩高清国产精品 | 国产高清专区 | 安徽妇搡bbbb搡bbbb | 久久国产精品99久久人人澡 | 涩涩色亚洲一区 | 成人激情开心网 | 日本免费久久高清视频 | 人人插人人费 | 国产精品中文 | 樱空桃av| 婷婷丁香花 | 天天操天天操一操 | 国产一区免费在线 | 久久夜色精品国产欧美乱极品 | 天堂av官网| 久久综合狠狠综合久久狠狠色综合 | 九九九九精品九九九九 | japanesefreesex中国少妇 | 三级黄色欧美 | 亚洲欧美日韩国产一区二区三区 | 欧美日韩三级在线观看 | 99久久婷婷国产一区二区三区 | 色偷偷888欧美精品久久久 | 国产专区视频在线观看 | 日韩久久精品一区二区 | 亚洲精品国产综合99久久夜夜嗨 | 色综合久久久久综合体桃花网 | 欧美 激情在线 | 五月婷婷丁香六月 | 天天躁天天躁天天躁婷 | 欧美日韩在线电影 | 91视频在线观看免费 | 97热久久免费频精品99 | 亚洲黄色在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲激情影院 | 人人干免费 | 96精品高清视频在线观看软件特色 | 安徽妇搡bbbb搡bbbb | 亚洲精品美女久久17c | 国产高清一区二区 | www.国产精品 | 欧美日韩一区二区免费在线观看 | 久久在线观看 | www.夜夜骑.com | 激情网五月婷婷 | 色av男人的天堂免费在线 | 天天干天天干天天 | 日韩中出在线 | 色a在线观看 | 手机成人在线电影 | 日韩亚洲精品电影 | 国产五月 | 激情婷婷久久 | 国产精品丝袜在线 | 久久草草热国产精品直播 | 久久超碰网 | 国产成人一区二 | 波多野结衣在线观看一区二区三区 | 国产精品美女久久久 | 久草视频视频在线播放 | 久久69精品 | 综合久久久 | 色在线免费观看 | 欧美国产日韩一区 | 久久艹在线观看 | 狠狠操精品 | 亚洲精品久久久蜜臀下载官网 | 日日天天干 | 日本一区二区高清不卡 | 日本福利视频在线 | 国产丝袜一区二区三区 | 成人黄色在线观看视频 | 天天天操操操 | 亚洲精品色 | 日本久久电影网 | 毛片一二区 | 精品久久久久免费极品大片 | 91片在线观看 | 超级碰视频 | 国产99视频在线观看 | 91麻豆精品国产午夜天堂 | 99久久日韩精品免费热麻豆美女 | 国产露脸91国语对白 | 少妇视频一区 | 欧美久久久久久久久久久久久 | 国产一区视频免费在线观看 | 97国产情侣爱久久免费观看 | 精品自拍sae8—视频 | 在线亚洲精品 | 国产在线播放不卡 | 久久9视频 | 在线视频日韩欧美 | 少妇视频一区 | 婷婷在线免费观看 | 欧美一级片免费播放 | 国产精品热| 粉嫩高清一区二区三区 | 91视频88av | 日韩成人邪恶影片 | 天堂av色婷婷一区二区三区 | 亚洲综合射 | 九色91av | 日韩高清 一区 | 亚洲最大av | 五月婷婷在线观看 | 性色av免费在线观看 | av成人免费网站 | 色国产精品一区在线观看 | 一区免费视频 | 国产成人一区二区三区电影 | 亚洲我射av| 在线综合 亚洲 欧美在线视频 | 久久久精品网站 | 超碰免费在线公开 | www免费网站在线观看 | 玖玖在线资源 | 伊人成人久久 | 91成人免费看 | 国产日韩欧美在线免费观看 | 国产午夜精品免费一区二区三区视频 | 色a综合| 中文字幕电影一区 | 美女久久视频 | av一级二级 | 婷婷久久五月天 | 国产精品一区在线观看 | 精品久久久久久国产91 | 在线 视频 亚洲 | 96精品视频 | 激情一区二区三区欧美 | 久草视频一区 | 久久久影院一区二区三区 | 国产精品久久久久影院 | 麻豆成人精品 | 日本久久久影视 | 狠狠操电影网 | 91成年人视频 | 免费av在线 | 日本特黄一级 | 91中文字幕在线播放 | 亚洲综合在线五月 | 激情五月综合 | 欧美一级乱黄 | 99视频精品在线 | 99精品视频99 | 国产成人精品亚洲a | 久亚洲| 亚洲精品欧洲精品 | 色就色,综合激情 | 久久伊人五月天 | av在线com| 亚洲国产电影在线观看 | 97国产大学生情侣白嫩酒店 | 狠狠狠狠狠干 | 午夜精品视频在线 | 婷婷五月色综合 | 激情av在线资源 | 操操操人人人 | 丁香久久| 久久久久免费精品国产 | 久久婷婷精品 | 久久久久国产精品午夜一区 | 国产精品不卡在线播放 | 日本精品在线视频 | 亚洲精品tv久久久久久久久久 | 久久国产二区 | 亚洲伊人第一页 | 在线观看日韩中文字幕 | 精品国产成人在线 | 免费在线观看污网站 | 涩av在线| 国产情侣一区 | 最新色视频 | 激情视频久久 | 狠狠躁日日躁狂躁夜夜躁av | 久久人人爽人人爽人人片av免费 | 波多野结衣视频一区 | 国产精品毛片一区二区三区 | 日本中文不卡 | 最近免费观看的电影完整版 | 成人精品99| 国产精品久久久久免费a∨ 欧美一级性生活片 | 久久久久久久电影 | 丰满少妇久久久 | 91亚洲网站 | 久久九九久久 | 911精品视频 | 99婷婷狠狠成为人免费视频 | 亚洲欧美日韩不卡 | 午夜精品电影一区二区在线 | av资源免费在线观看 | 日本久久影视 | 狠狠操天天射 | 日韩高清精品一区二区 | 日本女人在线观看 | 亚洲国产精品视频 | 久久久一本精品99久久精品 | 久久99久久99精品免费看小说 | 黄色三级久久 | 少妇bbbb | 亚洲传媒在线 | 激情欧美日韩一区二区 | 久久第四色 | 91视频高清免费 | 美女在线黄| 国产免费高清 | 9999精品免费视频 | 婷婷色5月 | 日韩视频中文 | 欧美日韩国产精品爽爽 | 亚洲黄色一级电影 | 成人免费视频视频在线观看 免费 | 国产精品一二 | 国产中文字幕在线看 | 欧美日韩破处 | 亚洲精品456在线播放乱码 | 亚洲精品短视频 | 欧美一区二区视频97 | 天天插天天爱 | 国产色拍拍拍拍在线精品 | 国产日韩在线看 | 国产91精品一区二区绿帽 | 91精品一区二区三区蜜桃 | 婷婷综合网 | 九九视频免费在线观看 | 玖玖玖精品 | 在线a人v观看视频 | 日日夜夜免费精品 | 激情久久久| 91在线九色 | 91av在线看| 亚洲午夜精| 精品视频在线看 | 久草av在线播放 | 久久国色夜色精品国产 | 色婷婷狠狠操 | 激情深爱| 香蕉在线视频播放网站 | 亚洲精品视频网站在线观看 | 久久精品一区二区国产 | 九九免费在线看完整版 | 黄色av一区二区三区 | 午夜在线免费视频 | 欧美一级电影免费观看 | 日本动漫做毛片一区二区 | 成人九九视频 | 曰韩在线 | 色吊丝av中文字幕 | 探花视频在线版播放免费观看 | 香蕉久草 | 免费av大全 | 又黄又爽的视频在线观看网站 | 精品亚洲午夜久久久久91 | 又黄又色又爽 | 国产成人精品一区在线 | 99九九99九九九视频精品 | 国产永久网站 | 精品国产伦一区二区三区观看说明 | 在线观看不卡视频 | 99c视频高清免费观看 | 五月天天av| 久久99精品久久只有精品 | 成年人视频在线免费 | 久久夜色精品国产欧美乱极品 | 天天天天干 | 人人擦 | 国产精久久久 | 久草在线播放视频 | 青草视频在线免费 | 国产精品一区二区62 | 国产精品成人在线 | 久久影视精品 | 国产日产精品久久久久快鸭 | 91人人澡人人爽人人精品 | 婷婷丁香七月 | 亚洲在线激情 | 中文字幕在线网址 | 国产一在线精品一区在线观看 | 亚洲精品成人网 | 久久久久免费精品视频 | 亚洲电影成人 | 麻豆首页| 精品国产自在精品国产精野外直播 | 午夜视频在线观看一区二区三区 | 日韩视频区 | 欧美日韩在线视频一区 | 亚洲美女免费视频 | 婷婷色视频| 日韩一级电影在线观看 | 深爱激情站 | 在线三级中文 | 波多野结衣在线观看视频 | 香蕉视频国产在线观看 | 久久午夜精品 | 免费观看一级成人毛片 | 99亚洲精品在线 | 天天射成人 | 黄色大片中国 | 日日爽夜夜爽 | 天操夜夜操 | 欧美激情第八页 | 91精选在线观看 | 久久国产精品免费一区 | 中文av影院 | 免费国产黄线在线观看视频 | 久久久2o19精品 | 亚洲理论在线 | 日韩精品一区二区三区在线播放 | 99久久99久久精品国产片 | 欧美日韩中文字幕在线视频 | 人人超碰免费 | 天天干一干 | 久久精品影片 | 久久夜色精品国产欧美一区麻豆 | 国产精品中文 | 在线亚洲人成电影网站色www | 国产一级h | 国产黄在线播放 | 四虎成人av | 日日操日日 | 免费观看www视频 | 91av看片| 91激情| 精品久久福利 | 欧美久久九九 | 日本乱视频 | 91成人蝌蚪 | 在线观看亚洲电影 | 三级黄色a| 国产精品久久久久久吹潮天美传媒 | www.888av| 国产精品久久久久影院日本 | 手机av在线不卡 | www免费看| 成人网444ppp| 久久久综合电影 | 日本福利视频在线 | 国产日产在线观看 | 国产精品黄色在线观看 | 欧美精品一区二区在线观看 | 亚洲国产资源 | 精品视频在线免费 | 免费福利在线播放 | 九九九九色 | 国产精品大片免费观看 | 国产精品久久嫩一区二区免费 | 日韩视频免费观看高清完整版在线 | 欧美最猛性xxxxx免费 | 日韩久久精品一区二区三区下载 | 国产一线二线三线在线观看 | 免费看一及片 | 免费久久99精品国产 | 中文日韩在线 | 久久综合导航 | 久久精品中文视频 | 婷婷伊人综合亚洲综合网 | 久久久麻豆视频 | 碰碰影院| 99一区二区三区 | 玖玖在线视频观看 | 国产精品激情在线观看 | 天天超碰| 日本在线视频一区二区三区 | 亚洲久在线 | 97人人人人 | 久久久精品 | 91精品视频免费看 | 免费日韩一级片 | 亚洲精品国产品国语在线 | 婷婷丁香七月 | 久久高清免费视频 | 又色又爽又黄高潮的免费视频 | 国产又粗又硬又爽的视频 | 手机av片| 国产91在线观看 | 亚洲日本色 | 欧美激情一区不卡 | 亚洲欧美成人在线 | 日本不卡123 | 久久久久久久久久久久久久av | 在线影视 一区 二区 三区 | 国产婷婷视频在线 | 夜色成人av| 中文字幕一区在线观看视频 | v片在线播放 | 国产精品ssss在线亚洲 | 精品在线99 | 国产精品精品国产婷婷这里av | 久久久www成人免费精品 | av免费观看高清 | 日本大尺码专区mv | 亚洲精品国产电影 | 久久久久国产精品视频 | 免费网站在线观看成人 | 中文字幕成人一区 | 黄色的网站免费看 | 欧美aaaxxxx做受视频 | 欧美性大战久久久久 | 亚洲电影图片小说 | 99热在线国产 | 可以免费观看的av片 | 国产亚洲精品bv在线观看 | 免费亚洲视频 | 色综合久| 日本一区二区三区视频在线播放 | 男女免费av| a黄色影院 | 又大又硬又黄又爽视频在线观看 | 久久综合九色综合欧美狠狠 | 日本久久成人中文字幕电影 | 最近的中文字幕大全免费版 | 色婷婷丁香 | 日批视频在线播放 | 美女视频黄在线 | 欧美激情视频一区二区三区 | 日韩精品免费专区 | 中文在线字幕免费观 | 国产91免费在线 | 69精品视频 | 亚洲精品xxxx | 国产天天爽 | 中文字幕日本特黄aa毛片 | 国产一级片一区二区三区 | 手机成人免费视频 | 2020天天干天天操 | 国产这里只有精品 | 婷婷丁香在线视频 | 亚洲一二三在线 | 狠狠操狠狠干天天操 | 亚洲精品视频免费观看 | 91精品国产乱码在线观看 | 成人国产精品免费 | 婷婷六月久久 | 久久久视频在线 | 又色又爽的网站 | 日韩精品专区在线影院重磅 | 精品福利在线视频 | 九九在线视频免费观看 | 国产一级淫片在线观看 | 久草在线最新视频 | 欧美不卡视频在线 | 日韩中文字幕免费视频 | 亚洲黄色免费在线看 | 中文字幕免费高 | 激情av综合 | 四虎在线观看视频 | 欧美 日韩 性 | 91亚洲国产成人久久精品网站 | 久久精品5 | 香蕉视频国产在线观看 | 一区二区三区中文字幕在线观看 | 91精品视频免费看 | 99视频在线观看一区三区 | 激情五月婷婷综合 | 在线观看视频一区二区 | 欧美地下肉体性派对 | h视频在线看 | 色在线高清 | 91av免费看| 欧日韩在线 | 久久精品国产免费看久久精品 | 国产精品一区专区欧美日韩 | 亚洲精品视频一二三 | 欧美一区二区三区特黄 | av福利在线播放 | 色999五月色 | 婷婷综合导航 | 噜噜色官网 | 欧美一区二区精品在线 | 日日夜操 | 日韩精品在线免费播放 | 亚洲激精日韩激精欧美精品 | 天天操综合网站 | 91精品国产成人 | 亚洲黄色片一级 | 欧美日韩一区二区免费在线观看 | aⅴ视频在线 | 尤物九九久久国产精品的分类 | 久久精品国产一区二区三 | 久久99网站| 久久精品成人欧美大片古装 | 超级碰碰碰碰 | 中文字幕在线高清 | 色香天天 | 天天干天天操天天拍 | 狠狠狠狠狠狠狠干 | 中文字幕中文字幕在线中文字幕三区 | 久久夜色精品国产欧美乱 | 亚洲精品88欧美一区二区 | 97超碰人人澡人人爱学生 | 六月激情婷婷 | 国产高清日韩欧美 | 久久黄色小说视频 | 丁香色天天 | 97超碰精品 | 亚洲精选国产 | 亚洲自拍自偷 | 91精品视频观看 | 深爱婷婷激情 | 亚洲精品国产视频 | 丝袜美女视频网站 | 国产亚洲成人网 | 97精品国自产拍在线观看 | 亚洲精品在线视频网站 | 香蕉影院在线观看 | 久久综合在线 | 国产精品久久久久久久久久久杏吧 | 国产不卡在线观看视频 | .国产精品成人自产拍在线观看6 | 91精品国产92久久久久 | 国内精品久久天天躁人人爽 | 看全黄大色黄大片 | 少妇bbbb搡bbbb桶 | 毛片基地黄久久久久久天堂 | 国产视频精品免费播放 | 美女视频又黄又免费 | 九九热在线观看视频 | 日韩中文字幕在线不卡 | 国产一级片网站 | 久久蜜桃av| 亚洲va欧美va人人爽春色影视 | 国产一区二区三区四区在线 | avv天堂| 亚洲专区 国产精品 | 女人18毛片90分钟 | 精品国产美女在线 | 97人人超| 亚洲少妇激情 | 操久| 国产精品久久久久婷婷二区次 | 免费在线观看日韩视频 | 中文一二区 | 一级黄色免费网站 | 国产短视频在线播放 | 久久在草 | 久久综合九色综合欧美就去吻 | 欧美最新另类人妖 | 国产成人亚洲精品自产在线 | 97偷拍视频 | 国产视频1 | 一级黄色片在线免费观看 | 五月婷在线 | bbbb操bbbb| 国产成人综合精品 | 亚洲 欧美 国产 va在线影院 | 四虎影视精品永久在线观看 | 国产一级电影 | 欧美国产精品一区二区 | 久久99精品久久只有精品 | 亚洲精品在线免费观看视频 | 成人午夜电影在线播放 | 日韩av中文字幕在线 | 亚洲少妇激情 | 成人国产精品 | 国产午夜精品免费一区二区三区视频 | 日韩精品一区二区三区免费视频观看 | 午夜在线日韩 | 五月婷婷影院 | 国产91精品一区二区绿帽 | 91九色网站 | 亚洲精品国产综合99久久夜夜嗨 | 精品视频免费观看 | 国产一级黄色免费看 | 国产一区二区三区在线 | 极品久久久久 | 久久a久久| 狠狠色噜噜狠狠狠狠 | 国产在线精品一区二区三区 | av在线短片 | 国产精品一区二区免费在线观看 | 精品视频在线免费观看 | 韩日av在线 | 亚洲视频中文 | 91理论电影 | 成人国产一区二区 | 人人揉人人揉人人揉人人揉97 | 久久精品国产成人精品 | 免费a v观看 | 成人性生交大片免费观看网站 | 国产超碰在线 | 天天操天天干天天干 | www99精品| 国产91九色视频 | 日日操操操 | 精品视频免费播放 | 国产午夜麻豆影院在线观看 | 视频二区在线 | 99精品在线免费视频 | a级国产乱理伦片在线观看 亚洲3级 | 久久久久网址 | 成年一级片 | www.久久久精品 | 丁香高清视频在线看看 | 麻豆国产精品视频 | 亚洲精品一区二区18漫画 | 国产小视频在线 | 美女免费视频一区二区 | 在线成人短视频 | 在线中文日韩 | 韩国av免费在线观看 | 亚洲成年人免费网站 | 天天操天天干天天爽 | 96超碰在线 | 中国一 片免费观看 | 婷婷中文字幕在线观看 | 美女网站在线免费观看 | 91视视频在线直接观看在线看网页在线看 | 欧美成人xxx | 91在线视频免费 | 五月天久久综合网 | 成年人免费在线看 | 草免费视频 | 热久久这里只有精品 | av丁香| 日韩中文在线视频 | 亚洲黄色软件 | 亚洲天堂精品 | 精品99免费 | 亚洲在线视频免费 | 国产精品美女毛片真酒店 | 伊人久久av | 2018精品视频| 色综合小说 | 91最新网址在线观看 | 日韩二区三区在线 | 99视频| 国产精品一区二区吃奶在线观看 | 国产精品电影在线 | 久久精品国产一区二区三区 | av电影在线观看完整版一区二区 | 91视频传媒| 免费v片| 五月婷婷六月丁香激情 | 日韩精品不卡 | 久久国产一区二区 | 国产成人一区二区在线观看 | 色婷婷一 | 91成人精品一区在线播放69 | 91视频免费看网站 | 91资源在线播放 | 99热超碰| 伊人色综合网 | 成人av日韩 | 久久久久久久久免费视频 | 国产精品毛片一区视频 | 亚洲精品视频在线免费 | 天天操天天干天天摸 | 国产精品视屏 | 成年人视频免费在线播放 | www.福利| 日韩美女av在线 | 91人人爽久久涩噜噜噜 | 国产小视频免费观看 | 亚洲成av人影片在线观看 | 精品夜夜嗨av一区二区三区 | 国产一级二级av | 免费一级特黄毛大片 | 91污视频在线观看 | 国产亚洲精品久久久久久网站 | 日韩欧美在线观看一区二区 | 永久免费av在线播放 | 国产精品麻豆三级一区视频 | 久久在线视频精品 | av中文字幕在线观看网站 | 亚洲自拍偷拍色图 | 91人人澡人人爽 | 天天激情 | 亚洲视频久久久 | 欧美福利视频 | 国产精品日韩精品 | 五月婷婷中文字幕 | 一本色道久久精品 | 日韩欧美在线第一页 | 国产免费亚洲高清 | 98精品国产自产在线观看 | 欧美精品免费视频 | 久久免费精品一区二区三区 | 欧美一级网站 | 91视频免费 | 伊人激情网 | 国产一区精品在线 | 天天精品视频 | 欧美先锋影音 | 在线免费91 | 欧美巨乳波霸 | 国产精品久久久久久久久大全 | 亚洲电影免费 | 狠狠综合久久av | 欧美亚洲专区 | 2019精品手机国产品在线 | 亚洲1级片 | 午夜av电影院 |