垃圾分类智能分析系统 yolov7

news2024/9/29 13:28:56

垃圾分类智能分析系统应用python+yolov7网络模型深度学习识别技术,自动识别违规投放行为并现场进行语音提示实时预警。如垃圾满溢抓拍预警、人脸识别、工服识别、厨余垃圾混投未破袋识别预警、垃圾落地识别预警、人来扔垃圾语音提醒等。我们选择当下YOLO最新的卷积神经网络YOLOv7来进行垃圾分类识别检测。今天提到的 YOLO就是一种 one-stage方法。YOLO是You Only Look Once的缩写,意思是神经网络只需要看一次图片,就能输出结果。

YOLOv7 的发展方向与当前主流的实时目标检测器不同,研究团队希望它能够同时支持移动 GPU 和从边缘到云端的 GPU 设备。除了架构优化之外,该研究提出的方法还专注于训练过程的优化,将重点放在了一些优化模块和优化方法上。这可能会增加训练成本以提高目标检测的准确性,但不会增加推理成本。研究者将提出的模块和优化方法称为可训练的「bag-of-freebies」。

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

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.coloradmin.cn/o/186266.html

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

相关文章

数组去重的七种方法

数组去重的七种方法1. 双重for循环2. forindexOf3.es6 set4.filter5.includes6.创建一个新的object7.new Map()1. 双重for循环 第1种是定义一个新的空数组,再执行嵌套双循环,监测空数组中如果没有的元素,push进空数组中。这个方法考察了conti…

AcWing - 寒假每日一题2023(DAY 16——DAY 20)

文章目录一、AcWing 4455. 出行计划(简单)1. 实现思路2. 实现代码二、AcWing 4510. 寻宝!大冒险!(简单)1. 实现思路2. 实现代码三、AcWing 3422. 左孩子右兄弟(中等)1. 实现思路2. 实…

【MySQL】过年没有回老家,在出租屋里整理了一些思维导图

Xmind导图知识点Mysql知识点SQL知识点Mybatis知识点面试题分享MySQL部分Mybatis部分Mysql知识点 通过下面的图片可以看出,MySQL基础语法分为四部分:连接数据库,对数据库的操作,对表中的数据操作,对表操作等等。 SQL…

python exe程序注册为window系统服务

1、使用pyinstaller将py打包成exe 1、安装 pip install pyinstaller2、打包成exe可执行文件 pyinstaller -F packTest.py #packTest.py为待打包的py文件打包成功后会在同级目录中生成两个文件夹和一个文件,分别为dist和build文件夹,以及一份与.py文件同…

Java——最大子数组和

题目链接 leetcode在线oj题——最大子数组和 题目描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 题目示例 输入:…

Vulnhub DC-4靶机渗透

环境准备DC-4靶机 ip:???????kali攻击机 ip:192.168.153.128一、信息收集kali攻击机中,使用 arp-scan -l 扫描c段(-l为扫描c段)确定靶…

自动驾驶——智能配电

一、汽车配电 汽车配电(Power Distrubition Unit,PDU)分为低压配电与高压配电,即低压PDU与高压PDU。 二、传统控制方式——PCB式电器盒 传统配电盒(机电器件): (1)继…

为什么要做黑盒测试?黑盒测试有什么作用?

对于软件测试的从业者来说,黑盒测试是十分重要的测试方式,它可以弥补白盒测试检查不到的部分。可能刚刚入门的测试小白,对于为什么要做黑盒测试?黑盒测试有什么作用?仍然抱有很大的疑问。下面小编就来从黑盒测试的概念…

QT入门Buttons之QPushButton

目录 一、界面布局介绍 1、布局器中的位置及使用 2、控件的界面属性 3、常用基本属性介绍 3.1控件名称 3.2控件大小属性 3.3按钮上的文字设置 3.4设置按钮的样式 二、属性功能介绍 1、常用方法介绍 2、基本信号介绍 三、Demo展示 一、界面布局介绍 1、布局器中的位…

丰田埃尔法商务租车价格是多少,它的性能到底有多好呢

丰田埃尔法作为MPV之王。埃尔法的高腰线和深色玻璃也使内部更具神秘感,惹眼闪烁的进气格栅,类似盔甲一般的全镀铬饰条构成的霸道前脸和富于设计感的车身曲线,细节处采用36颗闪亮镀铬装饰点缀,有着很高的辨识性。保持了典型的MPV风…

需要代理上网的linux服务器,无法使用NTP同步时间,只需要这一行指令即可。

这将会是一篇让你对时间同步受益匪浅的文章!如果你看完之后有收获,希望你能加个关注,如果你看完之后没有收获,希望你能留下你路过的痕迹。 由于工作需要,我们使用了一款神奇的调度框架,叫powerjob&#xff…

【职工管理系统】C++全栈体系(十四)

职工管理系统 第七章 添加职工 功能描述:批量添加职工,并且保存到文件中 一、功能分析 分析: 用户在批量创建时,可能会创建不同种类的职工 如果想将所有不同种类的员工都放入到一个数组中,可以将所有员工的指针维…

组织级过程资产库如何助力CMMI3-5级高效落地?

为了助力CMMI3-5级高效落地,近日CoCode旗下Co-ProjectV3.0智能项目管理平台全面升级,CMMI落地4大工具正式上线:CMMI成熟度自测工具、量化管理工具(组织级过程改进工具和量化项目管理工具)、组织级过程资产库。 组织级过…

tomcat下载安装步骤(笔记整理)

目录Tomcat下载安装以及配置(详细教程)tomcat下载安装步骤(超详细)Apache Tomcat下载、安装、配置图文教程Tomcat下载安装配置详细过程Tomcat下载及配置(IDEA)Tomcat 下载安装教程Linux系统中Tomcat下载安装…

振弦采集模块配置工具VMTool 扩展功能数据处理

振弦采集模块配置工具VMTool 扩展功能数据处理 数据存储 数据存储功能模块支持自动或手动将实时数据寄存器值存储到数据库, 并支持导出为 Excel文件功能。 ( 1) 手动存储 每点击数据存储面板内的【 手动存储】按钮一次,将当前寄存…

Spring Cloud_Gateway新一代网关

目录一、概述简介1.官网2.是什么3.能干嘛4.微服务架构中网关在哪里二、三大核心概念1.Route(路由)2.Predicate(断言)3.Filter(过滤)4.总体三、Gateway工作流程1.官网总结2.核心逻辑:路由转发执行过滤器链四、入门配置1.新建Module2.POM3.YML4…

模板征集活动正式上线 | 加入我们,共创可视化内容!

本活动是由EasyV官方发布举办的定向主题模板征集活动,用户报名参加并使用EasyV进行创作后,通过素材广场上传作,经由官方进行作品评估,取得奖次的用户即可获得相应奖励。活动面向EasyV所有产品用户,以作品为维度独立参与…

tomcat下载与安装win11

目录 一、下载Tomcat及解压 1、选择下载版本(本文选择tomcat 10版本为例) 2、之后选择解压到任意一个盘,我解压到D盘,解压的路径一定要记住,后面系统环境变量配置的时候要用到。 二、配置环境 三、验证是否配置成功…

jvm 堆 栈大小设置

1、Eclise 中设置jvm内存: 改动eclipse的配置文件,对全部project都起作用 改动eclipse根文件夹下的eclipse.ini文件 -vmargs //虚拟机设置 -Xms40m //初始内存 -Xmx256m //最大内存 -Xmn16m //最小内存 -XX:PermSize128M //非堆内存 -XX:MaxPermSize256M 2、Eclise 中设置jvm内…

mybatis-plus02

目录一、乐观锁二、查询构造器三、分页查询四、逻辑删除五、Mybatis的应用一、乐观锁 配置示例: 在数据库表中加入version字段,表示数据版本号 修改实体类,在使用类中加入对应的version字段,并使用是乐观锁 //乐观锁 Version pr…