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