河道治理漂浮物识别监测系统 yolov7
河道治理漂浮物識(shí)別監(jiān)測系統(tǒng)通過yolov7網(wǎng)絡(luò)模型深度視覺分析技術(shù),河道治理漂浮物識(shí)別監(jiān)測算法模型實(shí)時(shí)檢測著河道水面是否存在漂浮物、水浮蓮以及生活垃圾等,識(shí)別到河道水面存在水藻垃圾等漂浮物,立即抓拍存檔預(yù)警。You Only Look Once說的是只需要一次CNN運(yùn)算,Unified指的是這是一個(gè)統(tǒng)一的框架,提供end-to-end的預(yù)測,而Real-Time體現(xiàn)是Yolo算法速度快。整體來看,Yolo算法采用一個(gè)單獨(dú)的CNN模型實(shí)現(xiàn)end-to-end的目標(biāo)檢測,相比R-CNN算法,其是一個(gè)統(tǒng)一的框架,其速度更快,而且Yolo的訓(xùn)練過程也是end-to-end的。
YOLOv7 在 5 FPS 到 160 FPS 范圍內(nèi),速度和精度都超過了所有已知的目標(biāo)檢測器
并在V100 上,30 FPS 的情況下達(dá)到實(shí)時(shí)目標(biāo)檢測器的最高精度 56.8% AP。YOLOv7 是在 MS COCO 數(shù)據(jù)集上從頭開始訓(xùn)練的,不使用任何其他數(shù)據(jù)集或預(yù)訓(xùn)練權(quán)重。相對于其他類型的工具,YOLOv7-E6 目標(biāo)檢測器(56 FPS V100,55.9% AP)比基于 transformer 的檢測器 SWINL Cascade-Mask R-CNN(9.2 FPS A100,53.9% AP)速度上高出 509%,精度高出 2%,比基于卷積的檢測器 ConvNeXt-XL Cascade-Mask R-CNN (8.6 FPS A100, 55.2% AP) 速度高出 551%,精度高出 0.7%。
YOLOv7 的發(fā)展方向與當(dāng)前主流的實(shí)時(shí)目標(biāo)檢測器不同,研究團(tuán)隊(duì)希望它能夠同時(shí)支持移動(dòng) GPU 和從邊緣到云端的 GPU 設(shè)備。除了架構(gòu)優(yōu)化之外,該研究提出的方法還專注于訓(xùn)練過程的優(yōu)化,將重點(diǎn)放在了一些優(yōu)化模塊和優(yōu)化方法上。這可能會(huì)增加訓(xùn)練成本以提高目標(biāo)檢測的準(zhǔn)確性,但不會(huì)增加推理成本。
Adapter接口定義了如下方法:
public abstract void registerDataSetObserver (DataSetObserver observer)
Adapter表示一個(gè)數(shù)據(jù)源,這個(gè)數(shù)據(jù)源是有可能發(fā)生變化的,比如增加了數(shù)據(jù)、刪除了數(shù)據(jù)、修改了數(shù)據(jù),當(dāng)數(shù)據(jù)發(fā)生變化的時(shí)候,它要通知相應(yīng)的AdapterView做出相應(yīng)的改變。為了實(shí)現(xiàn)這個(gè)功能,Adapter使用了觀察者模式,Adapter本身相當(dāng)于被觀察的對象,AdapterView相當(dāng)于觀察者,通過調(diào)用registerDataSetObserver方法,給Adapter注冊觀察者。
public abstract void unregisterDataSetObserver (DataSetObserver observer)
通過調(diào)用unregisterDataSetObserver方法,反注冊觀察者。
public abstract int getCount () 返回Adapter中數(shù)據(jù)的數(shù)量。
public abstract Object getItem (int position)
Adapter中的數(shù)據(jù)類似于數(shù)組,里面每一項(xiàng)就是對應(yīng)一條數(shù)據(jù),每條數(shù)據(jù)都有一個(gè)索引位置,即position,根據(jù)position可以獲取Adapter中對應(yīng)的數(shù)據(jù)項(xiàng)。
public abstract long getItemId (int position)
獲取指定position數(shù)據(jù)項(xiàng)的id,通常情況下會(huì)將position作為id。在Adapter中,相對來說,position使用比id使用頻率更高。
public abstract boolean hasStableIds ()
hasStableIds表示當(dāng)數(shù)據(jù)源發(fā)生了變化的時(shí)候,原有數(shù)據(jù)項(xiàng)的id會(huì)不會(huì)發(fā)生變化,如果返回true表示Id不變,返回false表示可能會(huì)變化。Android所提供的Adapter的子類(包括直接子類和間接子類)的hasStableIds方法都返回false。
public abstract View getView (int position, View convertView, ViewGroup parent)
getView是Adapter中一個(gè)很重要的方法,該方法會(huì)根據(jù)數(shù)據(jù)項(xiàng)的索引為AdapterView創(chuàng)建對應(yīng)的UI項(xiàng)。
總結(jié)
以上是生活随笔為你收集整理的河道治理漂浮物识别监测系统 yolov7的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网管软件——nLite 1.4.5
- 下一篇: 装机步骤简介