国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

實(shí)踐航拍小目標(biāo)檢測(cè),基于輕量級(jí)YOLOv8n開發(fā)構(gòu)建無(wú)人機(jī)航拍場(chǎng)景下的小目標(biāo)檢測(cè)識(shí)別分析系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了實(shí)踐航拍小目標(biāo)檢測(cè),基于輕量級(jí)YOLOv8n開發(fā)構(gòu)建無(wú)人機(jī)航拍場(chǎng)景下的小目標(biāo)檢測(cè)識(shí)別分析系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

關(guān)于無(wú)人機(jī)相關(guān)的場(chǎng)景在我們之前的博文也有一些比較早期的實(shí)踐,感興趣的話可以自行移步閱讀即可:

《deepLabV3Plus實(shí)現(xiàn)無(wú)人機(jī)航拍目標(biāo)分割識(shí)別系統(tǒng)》

《基于目標(biāo)檢測(cè)的無(wú)人機(jī)航拍場(chǎng)景下小目標(biāo)檢測(cè)實(shí)踐》

《助力環(huán)保河道水質(zhì)監(jiān)測(cè),基于yolov5全系列模型【n/s/m/l/x】開發(fā)構(gòu)建不同參數(shù)量級(jí)的無(wú)人機(jī)航拍河道污染漂浮物船只目標(biāo)檢測(cè)識(shí)別系統(tǒng),集成GradCAM對(duì)模型檢測(cè)識(shí)別能力進(jìn)行分析》

《基于YOLO開發(fā)構(gòu)建紅外場(chǎng)景下無(wú)人機(jī)航拍車輛實(shí)例分割檢測(cè)識(shí)別分析系統(tǒng)》

《基于輕量級(jí)YOLO模型開發(fā)構(gòu)建大疆無(wú)人機(jī)檢測(cè)系統(tǒng)》

《基于輕量級(jí)YOLOv5n/s/m三款模型開發(fā)構(gòu)建基于無(wú)人機(jī)視角的高空紅外目標(biāo)檢測(cè)識(shí)別分析系統(tǒng),對(duì)比測(cè)試分析性能》

《基于目標(biāo)檢測(cè)實(shí)現(xiàn)遙感場(chǎng)景下的車輛檢測(cè)計(jì)數(shù)》

《共建共創(chuàng)共享》

《助力森林火情煙霧檢測(cè)預(yù)警,基于YOLOv5全系列模型[n/s/m/l/x]開發(fā)構(gòu)建無(wú)人機(jī)航拍場(chǎng)景下的森林火情檢測(cè)識(shí)別系統(tǒng)》

《UAV 無(wú)人機(jī)檢測(cè)實(shí)踐分析》

《助力森林火情預(yù)警檢測(cè),基于YOLOv7-tiny、YOLOv7和YOLOv7x開發(fā)構(gòu)建無(wú)人機(jī)航拍場(chǎng)景下的森林火情檢測(cè)是別預(yù)警系統(tǒng)》

?《無(wú)人機(jī)助力電力設(shè)備螺母缺銷智能檢測(cè)識(shí)別,python基于YOLOv5開發(fā)構(gòu)建電力設(shè)備螺母缺銷小目標(biāo)檢測(cè)識(shí)別系統(tǒng)》

《無(wú)人機(jī)助力電力設(shè)備螺母缺銷智能檢測(cè)識(shí)別,python基于YOLOv7開發(fā)構(gòu)建電力設(shè)備螺母缺銷小目標(biāo)檢測(cè)識(shí)別系統(tǒng)》

隨著科技社會(huì)的發(fā)展,無(wú)人機(jī)在越來(lái)越多領(lǐng)域中扮演者越來(lái)越重要的作用,基于無(wú)人機(jī)航拍的質(zhì)檢是一個(gè)很有潛力的發(fā)展方向,一方面代替?zhèn)鹘y(tǒng)純?nèi)斯さ姆绞娇梢越档腿斯こ杀?,另一方面可以在危險(xiǎn)場(chǎng)合下降低人員受傷的風(fēng)險(xiǎn),可謂是一舉兩得。

本文的主要想法是想要基于最新的YOLOv8系列中最為輕量級(jí)的n系列的模型來(lái)開發(fā)構(gòu)建無(wú)人機(jī)航拍場(chǎng)景下的小目標(biāo)檢測(cè)識(shí)別系統(tǒng),首先看下實(shí)例效果:

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

簡(jiǎn)單看下實(shí)例數(shù)據(jù)集:

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

如果對(duì)YOLOv8開發(fā)構(gòu)建自己的目標(biāo)檢測(cè)項(xiàng)目有疑問(wèn)的可以看下面的文章,如下所示:

《基于YOLOv8開發(fā)構(gòu)建目標(biāo)檢測(cè)模型超詳細(xì)教程【以焊縫質(zhì)量檢測(cè)數(shù)據(jù)場(chǎng)景為例》

非常詳細(xì)的開發(fā)實(shí)踐教程。本文這里就不再展開了,因?yàn)閺腨OLOv8開始變成了一個(gè)安裝包的形式,整體跟v5和v7的使用差異還是比較大的。

非常詳細(xì)的開發(fā)實(shí)踐教程。本文這里就不再展開了,因?yàn)閺腨OLOv8開始變成了一個(gè)安裝包的形式,整體跟v5和v7的使用差異還是比較大的。

YOLOv8核心特性和改動(dòng)如下:
1、提供了一個(gè)全新的SOTA模型(state-of-the-art model),包括 P5 640 和 P6 1280 分辨率的目標(biāo)檢測(cè)網(wǎng)絡(luò)和基于YOLACT的實(shí)例分割模型。和 YOLOv5 一樣,基于縮放系數(shù)也提供了 N/S/M/L/X 尺度的不同大小模型,用于滿足不同場(chǎng)景需求
2、骨干網(wǎng)絡(luò)和 Neck 部分可能參考了 YOLOv7 ELAN 設(shè)計(jì)思想,將 YOLOv5 的 C3 結(jié)構(gòu)換成了梯度流更豐富的 C2f 結(jié)構(gòu),并對(duì)不同尺度模型調(diào)整了不同的通道數(shù),屬于對(duì)模型結(jié)構(gòu)精心微調(diào),不再是一套參數(shù)應(yīng)用所有模型,大幅提升了模型性能。
3、Head 部分相比 YOLOv5 改動(dòng)較大,換成了目前主流的解耦頭結(jié)構(gòu),將分類和檢測(cè)頭分離,同時(shí)也從Anchor-Based 換成了 Anchor-Free
4、Loss 計(jì)算方面采用了TaskAlignedAssigner正樣本分配策略,并引入了Distribution Focal Loss
5、訓(xùn)練的數(shù)據(jù)增強(qiáng)部分引入了 YOLOX 中的最后 10 epoch 關(guān)閉 Mosiac 增強(qiáng)的操作,可以有效地提升精度

YOLOv8官方項(xiàng)目地址在這里,如下所示:

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

目前已經(jīng)收獲超過(guò)1.7w的star量了。官方提供的預(yù)訓(xùn)練模型如下所示:

Model size
(pixels)
mAPval
50-95
Speed
CPU ONNX
(ms)
Speed
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n 640 37.3 80.4 0.99 3.2 8.7
YOLOv8s 640 44.9 128.4 1.20 11.2 28.6
YOLOv8m 640 50.2 234.7 1.83 25.9 78.9
YOLOv8l 640 52.9 375.2 2.39 43.7 165.2
YOLOv8x 640 53.9 479.1 3.53 68.2 257.8

另外一套預(yù)訓(xùn)練模型權(quán)重地址如下:

Model size
(pixels)
mAPval
50-95
Speed
CPU ONNX
(ms)
Speed
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n 640 18.4 142.4 1.21 3.5 10.5
YOLOv8s 640 27.7 183.1 1.40 11.4 29.7
YOLOv8m 640 33.6 408.5 2.26 26.2 80.6
YOLOv8l 640 34.9 596.9 2.43 44.1 167.4
YOLOv8x 640 36.3 860.6 3.56 68.7 260.6

是基于Open Image V7數(shù)據(jù)集構(gòu)建的,可以根據(jù)自己的需求進(jìn)行選擇使用即可。

YOLOv8的定位不僅僅是目標(biāo)檢測(cè),而是性能強(qiáng)大全面的工具庫(kù),故而在任務(wù)類型上同時(shí)支持:姿態(tài)估計(jì)、檢測(cè)、分類、分割、跟蹤多種類型,可以根據(jù)自己的需要進(jìn)行選擇使用,這里就不再詳細(xì)展開了。

簡(jiǎn)單的實(shí)例實(shí)現(xiàn)如下所示:

from ultralytics import YOLO
 
# yolov8n
model = YOLO('yolov8n.yaml').load('yolov8n.pt')  # build from YAML and transfer weights
model.train(data='data/self.yaml', epochs=100, imgsz=640)
 
 
# yolov8s
model = YOLO('yolov8s.yaml').load('yolov8s.pt')  # build from YAML and transfer weights
model.train(data='data/self.yaml', epochs=100, imgsz=640)
 
 
# yolov8m
model = YOLO('yolov8m.yaml').load('yolov8m.pt')  # build from YAML and transfer weights
model.train(data='data/self.yaml', epochs=100, imgsz=640)
 
 
# yolov8l
model = YOLO('yolov8l.yaml').load('yolov8l.pt')  # build from YAML and transfer weights
model.train(data='data/self.yaml', epochs=100, imgsz=640)
 
 
# yolov8x
model = YOLO('yolov8x.yaml').load('yolov8x.pt')  # build from YAML and transfer weights
model.train(data='data/self.yaml', epochs=100, imgsz=640)

這里給出yolov8n的模型文件如下:

# Ultralytics YOLO ??, AGPL-3.0 license
# YOLOv8 object detection model with P3-P5 outputs. For Usage examples see https://docs.ultralytics.com/tasks/detect
 

# Parameters
nc: 10   # number of classes
scales: [0.33, 0.25, 1024] 


# YOLOv8.0n backbone
backbone:
  # [from, repeats, module, args]
  - [-1, 1, Conv, [64, 3, 2]]  # 0-P1/2
  - [-1, 1, Conv, [128, 3, 2]]  # 1-P2/4
  - [-1, 3, C2f, [128, True]]
  - [-1, 1, Conv, [256, 3, 2]]  # 3-P3/8
  - [-1, 6, C2f, [256, True]]
  - [-1, 1, Conv, [512, 3, 2]]  # 5-P4/16
  - [-1, 6, C2f, [512, True]]
  - [-1, 1, Conv, [1024, 3, 2]]  # 7-P5/32
  - [-1, 3, C2f, [1024, True]]
  - [-1, 1, SPPF, [1024, 5]]  # 9
 
# YOLOv8.0n head
head:
  - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
  - [[-1, 6], 1, Concat, [1]]  # cat backbone P4
  - [-1, 3, C2f, [512]]  # 12
 
  - [-1, 1, nn.Upsample, [None, 2, 'nearest']]
  - [[-1, 4], 1, Concat, [1]]  # cat backbone P3
  - [-1, 3, C2f, [256]]  # 15 (P3/8-small)
 
  - [-1, 1, Conv, [256, 3, 2]]
  - [[-1, 12], 1, Concat, [1]]  # cat head P4
  - [-1, 3, C2f, [512]]  # 18 (P4/16-medium)
 
  - [-1, 1, Conv, [512, 3, 2]]
  - [[-1, 9], 1, Concat, [1]]  # cat head P5
  - [-1, 3, C2f, [1024]]  # 21 (P5/32-large)
 
  - [[15, 18, 21], 1, Detect, [nc]]  # Detect(P3, P4, P5)

這里因?yàn)闀r(shí)間有限,暫時(shí)沒(méi)有能夠開發(fā)完成五款不同參數(shù)量級(jí)的模型來(lái)進(jìn)行綜合全面的對(duì)比分析,后面找時(shí)間再進(jìn)行,這里選擇的是YOLOv8下最為輕量級(jí)的n系列的模型,等待訓(xùn)練完成后我們來(lái)詳細(xì)看下結(jié)果。

【Precision曲線】
精確率曲線(Precision-Recall Curve)是一種用于評(píng)估二分類模型在不同閾值下的精確率性能的可視化工具。它通過(guò)繪制不同閾值下的精確率和召回率之間的關(guān)系圖來(lái)幫助我們了解模型在不同閾值下的表現(xiàn)。
精確率(Precision)是指被正確預(yù)測(cè)為正例的樣本數(shù)占所有預(yù)測(cè)為正例的樣本數(shù)的比例。召回率(Recall)是指被正確預(yù)測(cè)為正例的樣本數(shù)占所有實(shí)際為正例的樣本數(shù)的比例。
繪制精確率曲線的步驟如下:
使用不同的閾值將預(yù)測(cè)概率轉(zhuǎn)換為二進(jìn)制類別標(biāo)簽。通常,當(dāng)預(yù)測(cè)概率大于閾值時(shí),樣本被分類為正例,否則分類為負(fù)例。
對(duì)于每個(gè)閾值,計(jì)算相應(yīng)的精確率和召回率。
將每個(gè)閾值下的精確率和召回率繪制在同一個(gè)圖表上,形成精確率曲線。
根據(jù)精確率曲線的形狀和變化趨勢(shì),可以選擇適當(dāng)?shù)拈撝狄赃_(dá)到所需的性能要求。
通過(guò)觀察精確率曲線,我們可以根據(jù)需求確定最佳的閾值,以平衡精確率和召回率。較高的精確率意味著較少的誤報(bào),而較高的召回率則表示較少的漏報(bào)。根據(jù)具體的業(yè)務(wù)需求和成本權(quán)衡,可以在曲線上選擇合適的操作點(diǎn)或閾值。
精確率曲線通常與召回率曲線(Recall Curve)一起使用,以提供更全面的分類器性能分析,并幫助評(píng)估和比較不同模型的性能。

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

【Recall曲線】
召回率曲線(Recall Curve)是一種用于評(píng)估二分類模型在不同閾值下的召回率性能的可視化工具。它通過(guò)繪制不同閾值下的召回率和對(duì)應(yīng)的精確率之間的關(guān)系圖來(lái)幫助我們了解模型在不同閾值下的表現(xiàn)。
召回率(Recall)是指被正確預(yù)測(cè)為正例的樣本數(shù)占所有實(shí)際為正例的樣本數(shù)的比例。召回率也被稱為靈敏度(Sensitivity)或真正例率(True Positive Rate)。
繪制召回率曲線的步驟如下:
使用不同的閾值將預(yù)測(cè)概率轉(zhuǎn)換為二進(jìn)制類別標(biāo)簽。通常,當(dāng)預(yù)測(cè)概率大于閾值時(shí),樣本被分類為正例,否則分類為負(fù)例。
對(duì)于每個(gè)閾值,計(jì)算相應(yīng)的召回率和對(duì)應(yīng)的精確率。
將每個(gè)閾值下的召回率和精確率繪制在同一個(gè)圖表上,形成召回率曲線。
根據(jù)召回率曲線的形狀和變化趨勢(shì),可以選擇適當(dāng)?shù)拈撝狄赃_(dá)到所需的性能要求。
通過(guò)觀察召回率曲線,我們可以根據(jù)需求確定最佳的閾值,以平衡召回率和精確率。較高的召回率表示較少的漏報(bào),而較高的精確率意味著較少的誤報(bào)。根據(jù)具體的業(yè)務(wù)需求和成本權(quán)衡,可以在曲線上選擇合適的操作點(diǎn)或閾值。

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

【F1值曲線】
F1值曲線是一種用于評(píng)估二分類模型在不同閾值下的性能的可視化工具。它通過(guò)繪制不同閾值下的精確率(Precision)、召回率(Recall)和F1分?jǐn)?shù)的關(guān)系圖來(lái)幫助我們理解模型的整體性能。F1分?jǐn)?shù)是精確率和召回率的調(diào)和平均值,它綜合考慮了兩者的性能指標(biāo)。F1值曲線可以幫助我們確定在不同精確率和召回率之間找到一個(gè)平衡點(diǎn),以選擇最佳的閾值。

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

【PR曲線】
精確率-召回率曲線(Precision-Recall Curve)是一種用于評(píng)估二分類模型性能的可視化工具。它通過(guò)繪制不同閾值下的精確率(Precision)和召回率(Recall)之間的關(guān)系圖來(lái)幫助我們了解模型在不同閾值下的表現(xiàn)。
精確率是指被正確預(yù)測(cè)為正例的樣本數(shù)占所有預(yù)測(cè)為正例的樣本數(shù)的比例。召回率是指被正確預(yù)測(cè)為正例的樣本數(shù)占所有實(shí)際為正例的樣本數(shù)的比例。
繪制精確率-召回率曲線的步驟如下:
使用不同的閾值將預(yù)測(cè)概率轉(zhuǎn)換為二進(jìn)制類別標(biāo)簽。通常,當(dāng)預(yù)測(cè)概率大于閾值時(shí),樣本被分類為正例,否則分類為負(fù)例。
對(duì)于每個(gè)閾值,計(jì)算相應(yīng)的精確率和召回率。
將每個(gè)閾值下的精確率和召回率繪制在同一個(gè)圖表上,形成精確率-召回率曲線。
根據(jù)曲線的形狀和變化趨勢(shì),可以選擇適當(dāng)?shù)拈撝狄赃_(dá)到所需的性能要求。
精確率-召回率曲線提供了更全面的模型性能分析,特別適用于處理不平衡數(shù)據(jù)集和關(guān)注正例預(yù)測(cè)的場(chǎng)景。曲線下面積(Area Under the Curve, AUC)可以作為評(píng)估模型性能的指標(biāo),AUC值越高表示模型的性能越好。
通過(guò)觀察精確率-召回率曲線,我們可以根據(jù)需求選擇合適的閾值來(lái)權(quán)衡精確率和召回率之間的平衡點(diǎn)。根據(jù)具體的業(yè)務(wù)需求和成本權(quán)衡,可以在曲線上選擇合適的操作點(diǎn)或閾值。

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

【訓(xùn)練可視化】

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

【Batch實(shí)例】

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

【離線推理實(shí)例】

無(wú)人機(jī)小目標(biāo)檢測(cè),YOLO,無(wú)人機(jī)

感興趣的話也都可以試試看!

如果自己不具備開發(fā)訓(xùn)練的資源條件或者是沒(méi)有時(shí)間自己去訓(xùn)練的話這里我提供出來(lái)對(duì)應(yīng)的訓(xùn)練結(jié)果可供自行按需索取。

單個(gè)模型的訓(xùn)練結(jié)果默認(rèn)YOLOv8n文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-838428.html

到了這里,關(guān)于實(shí)踐航拍小目標(biāo)檢測(cè),基于輕量級(jí)YOLOv8n開發(fā)構(gòu)建無(wú)人機(jī)航拍場(chǎng)景下的小目標(biāo)檢測(cè)識(shí)別分析系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包