河道水位自动监测预警 yolov5

河道水位自动监测预警系统基于yolov5网络模型AI视频智能水尺读数技术,河道水位自动监测预警系统通过在河道周边布设监控摄像头,实时监测水位的变化,一旦水位超过预设阈值,将自动发出预警信号,并提示相关人员采取相应的措施。一般为了缩短网络的训练时间,并达到更好的精度,我们一般加载预训练权重进行网络的训练。而yolov5的5.0版本给我们提供了几个预训练权重,我们可以对应我们不同的需求选择不同的版本的预训练权重。可以预料的到,预训练权重越大,训练出来的精度就会相对来说越高,但是其检测的速度就会越慢。

当我们谈起计算机视觉时,首先想到的就是图像分类,没错,图像分类是计算机视觉最基本的任务之一,但是在图像分类的基础上,还有更复杂和有意思的任务,如目标检测,物体定位,图像分割等,见图1所示。其中目标检测是一件比较实际的且具有挑战性的计算机视觉任务,其可以看成图像分类与定位的结合,给定一张图片,目标检测系统要能够识别出图片的目标并给出其位置,由于图片中目标数是不定的,且要给出目标的精确位置,目标检测相比分类任务更复杂。目标检测的一个实际应用场景就是无人驾驶,如果能够在无人车上装载一个有效的目标检测系统,那么无人车将和人一样有了眼睛,可以快速地检测出前面的行人与车辆,从而作出实时决策。

Yolo算法将目标检测看成回归问题,所以采用的是均方差损失函数。但是对不同的部分采用了不同的权重值。首先区分定位误差和分类误差。对于定位误差,即边界框坐标预测误差,采用较大的权重λcoord=5λcoord=5。然后其区分不包含目标的边界框与含有目标的边界框的置信度,对于前者,采用较小的权重值λnoobj=0.5λnoobj=0.5。其它权重值均设为1。然后采用均方误差,其同等对待大小不同的边界框,但是实际上较小的边界框的坐标误差应该要比较大的边界框要更敏感。为了保证这一点,将网络的边界框的宽与高预测改为对其平方根的预测,即预测值变为(x,y,w−−√,h−−√)(x,y,w,h)。

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项。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/35022.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Three.js 实现材质边缘通道发光效果

相关API的使用: 1. EffectComposer(渲染后处理的通用框架,用于将多个渲染通道(pass)组合在一起创建特定的视觉效果) 2. RenderPass(是用于渲染场景的通道。它将场景和相机作为输入,使用Three.…

使用script标签解决跨域问题,但是只能使用get请求,且不需要获取get请求的数据,例如埋点,只需要触发后发送get请求,而不需要获取返回的参数

在项目中,使用埋点的时候,因为使用的是外部提供的接口,所以直接请求的时候,前端会报跨域的问题,本着不麻烦后端的想法,怎怎么前端实现跨域而完全不需要后段的配合,这时候就想到了通过script标签…

【简单认识zookeeper+kafka分布式消息队列集群的部署】

文章目录 一、zookeeper1、定义2、工作机制3、Zookeeper 特点4、Zookeeper 数据结构5、Zookeeper 应用场景6、Zookeeper 选举机制(1)第一次启动选举机制(2)非第一次启动选举机制 7、部署zookeeper群集 二、消息队列概述1、为什么需…

百度云盘发展历程与影响

摘要: 百度云盘作为中国领先的云存储与共享服务提供商,自其创立至今经历了多个阶段的发展与变革。本论文通过对百度云盘的历史回顾与分析,探讨了其在技术、商业模式、用户体验以及对社会的影响等方面的演变。同时,还分析了在竞争激…

使用luarocks安装cjson并使用cjson

1.luarocks安装 wget https://luarocks.org/releases/luarocks-3.3.1.tar.gz --no-check-certificatels -lrthtar -xvf luarocks-3.3.1.tar.gz mv luarocks-3.3.1 /usr/local/cd /usr/local/luarocks-3.3.1/./configure --prefix/usr/local/luarocks-3.3.1 vim /etc/profilePAT…

Mac下⬇️Git如何下载/上传远程仓库

使用终端检查电脑是否安装Git git --version 通过此文章安装Git ➡️ ​​​​​​​传送门🌐 方式1⃣️使用终端操作 1.下载——克隆远程仓库到本地 git clone [远程地址] 例:git clone https://gitee.com/lcannal/movie.git​ 2.编…

Windows - UWP - 为UWP应用创建桌面快捷方式

Windows - UWP - 为UWP应用创建桌面快捷方式 前言 这是一个较为简单的方式,不需要过多的命令行。 How 首先Win R -> shell:AppsFolder -> 回车, 这将显示电脑上的已安装应用(Win32 & UWP): 找到想要创建…

【Nginx】Nginx负载均衡

负载均衡:通过反向代理来实现 Nginx的七层代理和四层代理: 七层是最常用的反向代理方式,只能配置在nginx配置文件的http模块当中 ;配置的方法名称为:upstream模块,不能写在server中也不能写在location中&a…

ZABBIX 6.4的完全安装步骤

此安装文档是我一步一步的验证过的,按步骤来可以顺畅的安成ZABBIX6.4的部署。 Zabbix 主要有以下几个组件组成: Zabbix Server6.4:Zabbix 服务端,是 Zabbix 的核心组件。它负责接收监控数据并触发告警,还负责将监控数…

Leetcode

持续更新中。。。。。。。。。。。。。。 day 20230811 /*** 给你一个正方形矩阵 mat&#xff0c;请你返回矩阵对角线元素的和。* <p>* 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和* <p>* 不包括 相交的元素只计算一次* <p>* 输入&…

(2023Arxiv)Meta-Transformer: A Unified Framework for Multimodal Learning

论文链接&#xff1a;https://arxiv.org/abs/2307.10802 代码链接&#xff1a;https://github.com/invictus717/MetaTransformer 项目主页&#xff1a;https://kxgong.github.io/meta_transformer/ 【注】&#xff1a;根据实验结果来看&#xff0c;每次输入一种数据源进行处…

Java项目初始化ES、MYSQL表结构及表数据

一、初始化MYSQL数据 public boolean initMysql() throws Exception {log.info("initMysql.start");//获取所连接的数据库名称String database systemMapper.getDatabase();if (StringUtils.isBlank(database)) {throw new BusinessException("连接数据库失败,…

微信小程序时钟

微信小程序自定义时钟&#xff0c;模拟翻牌时钟。1、页面布局 <view class"date-time-box"><view class"date-box">{{nowDate}}</view><view class"time-box"><view><image class"pic01 {{move[0]?move…

代码随想录算法训练营第45天|动态规划part07

8.11 周五 70. 爬楼梯 &#xff08;进阶&#xff09; 322. 零钱兑换 279.完全平方数 详细布置 70. 爬楼梯 &#xff08;进阶&#xff09; 题目&#xff1a;一次可爬1或2个台阶&#xff0c;问n个台阶有多少种方式 题解&#xff1a; 1、转换为完全背包问题&#xff0c;nums[1…

Ajax-AJAX请求的不同发送方式

&#x1f954;&#xff1a;你一定能成为想要成为的人 发送AJAX请求不同方式 发送AJAX请求不同方式1、jQuery发送AJAX请求2、axios发送AJAX请求&#xff08;重点&#xff09;3、fetch发送AJAX请求 发送AJAX请求不同方式 1、jQuery发送AJAX请求 首先需要jquery的js文件&#xf…

Vc - Qt - QToolButton

QToolButton 是 Qt 框架中的一个类&#xff0c;是 QPushButton 的子类。它可以显示一个可单击的按钮&#xff0c;并且可以与弹出菜单、图标和文本等进行关联。 QToolButton的一些常见特性和用法包括&#xff1a; 设置文本&#xff1a;使用 setText() 函数设置按钮上的文本。设置…

webpack 热更新的实现原理

webpack 的热更新⼜称热替换&#xff08;Hot Module Replacement&#xff09;&#xff0c;缩写为HMR。这个机制可以做到不⽤刷新浏览器⽽将新变更的模块替换掉旧的模块。 原理&#xff1a; ⾸先要知道 server 端和 client 端都做了处理⼯作&#xff1a; 在 webpack 的 watch…

uniapp点击输入框时键盘不上推页面

adjust-position设置为false&#xff0c;然后监听键盘的高度赋值给输入框bottom 这里还一个非常重要的地方&#xff0c;在根元素设置touchmove.stop.prevent&#xff0c;这样在ios上页面就不会滚动&#xff0c;不影响其他组件内部滚动 onReady() {// 监听键盘高度变化&#x…

Redis集群 (三十九)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 一、Redis主从复制 1.1 概念 1.2 作用 1.3 缺点 1.4 流程 1.5 搭建 1.6 验证 二、Reids哨兵模式 2.1 概念 2.2 作用 2.3 缺点 2.4 结构 2.5 搭建 2.6 验证 三、Red…