水面漂浮物垃圾识别检测系统 智慧水利

水面漂浮物垃圾识别检测系统通过Python+YOLOv7网络模型,水面漂浮物垃圾识别检测系统实现对水面漂浮物以及生活各种垃圾等全天候24小时不间断智能化检测。Python是一种由Guido van Rossum开发的通用编程语言,它很快就变得非常流行,主要是因为它的简单性和代码可读性。它使程序员能够用更少的代码行表达思想,而不会降低可读性。Python可以使用C / C++轻松扩展,这使我们可以在C / C++中编写计算密集型代码,并创建可用作Python模块的Python包装器。这给我们带来了两个好处:首先,代码与原始C / C++代码一样快(因为它是在后台工作的实际C++代码)。

Yolo意思是You Only Look Once,它并没有真正的去掉候选区域,而是创造性的将候选区和目标分类合二为一,看一眼图片就能知道有哪些对象以及它们的位置。Yolo模型采用预定义预测区域的方法来完成目标检测,具体而言是将原始图像划分为 7x7=49 个网格(grid),每个网格允许预测出2个边框(bounding box,包含某个对象的矩形框),总共 49x2=98 个bounding box。我们将其理解为98个预测区,很粗略的覆盖了图片的整个区域,就在这98个预测区中进行目标检测。

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

本文转载于网络 如有侵权请联系删除

相关文章

  • 比YOLOv4小巧90%,速度却超2倍的目标检测算法

    YOLO是一种快速紧凑的开源对象检测模型,与其它网络相比,同等尺寸下性能更强,并且具有很不错的稳定性,是第一个可以预测对象的类别和边界框的端对端神经网络。YOLO家族一直有着旺盛的生命力,从YOLOV1一直到”V5“,凭借着不断的创新和完善,一直被计算机视觉工程师作为对象检测的首选框架之一。YOLOv5模型的头部与之前的YOLOV3和V4版本相同。它比YOLOv4小88%(27MBvs244MB)它比YOLOv4快180%(140FPSvs50FPS)它在同一任务上大致与YOLOv4一样准确(0.895mAPvs0.892mAP) 其性能与YOLOV4不相伯仲,是现今最先进的对象检测技术之一,并在推理速度上是目前最强。 为了让大家对计算机视觉中的这一要领学习的更好,给大家推荐一门【图像目标检测训练营】,由人工智能实战专家的唐宇迪博士带你从深度学习到YOLO系列版本分析与应用。 下面是本次课程的内容节选,唐老师将会分享从基础神经网络开始,逐步过渡YOLO的整个发展历程。掌握算法的底层逻辑,你才能更好的构建上层建筑。内容仅截选部分,在【图像目标检测训练营】中, 将帮助同学们快速掌握AI

  • python爬虫(三)数据解析,使用bs4工具

    目录1BeautifulSoup4介绍2安装和文档:3简单使用:4四个常用的对象:4.1Tag:4.2NavigableString:4.3Comment:5遍历文档树5.1contents和children:5.2strings和stripped_strings6获取标签属性7小结8搜索文档树8.1find和find_all方法:8.2select方法:9案例11BeautifulSoup4介绍和lxml一样,BeautifulSoup也是一个HTML/XML的解析器,主要的功能也是如何解析和提取HTML/XML数据。 lxml只会局部遍历,而BeautifulSoup是基于HTMLDOM(DocumentObjectModel)的,会载入整个文档,解析整个DOM树,因此时间和内存开销都会大很多,所以性能要低于lxml。 BeautifulSoup用来解析HTML比较简单,API非常人性化,支持CSS选择器、Python标准库中的HTML解析器,也支持lxml的XML解析器。 BeautifulSoup3目前已经停止开发,推荐现在的项目使用BeautifulSoup4。2安装和文档:

  • CVE-2020-0787 Windows 全版本 本地提权

    概述CVE-2020-0787BITS任意文件移动漏洞从HTTPWeb服务器和SMB文件共享下载文件或将文件上传到HTTPWeb服务器和SMB文件共享。BITS将考虑传输成本以及网络使用情况,以便用户的前台工作影响尽可能小即使重新启动后,BITS也可以处理网络中断,暂停并自动恢复传输。直接system权限https://github.com/cbwang505/CVE-2020-0787-EXP-ALL-WINDOWS-VERSION影响范围Windows10for32-bitSystemsWindows10forx64-basedSystemsWindows10Version1607for32-bitSystemsWindows10Version1607forx64-basedSystemsWindows10Version1709for32-bitSystemsWindows10Version1709forARM64-basedSystemsWindows10Version1709forx64-basedSystemsWindows10Version1803for32-bitSyst

  • VUE-路由vue-router

    7.路由vue-router7.1.场景模拟现在我们来实现这样一个功能:一个页面,包含登录和注册,点击不同按钮,实现登录和注册页切换:7.1.1.编写父组件为了让接下来的功能比较清晰,我们先新建一个文件夹:src然后新建一个HTML文件,作为入口:index.html 然后编写页面的基本结构:<divid="app"> <span>登录</span> <span>注册</span> <hr/> <div> 登录页/注册页 </div> </div> <scriptsrc="../node_modules/vue/dist/vue.js"></script> <scripttype="text/javascript"> varvm=newVue({ el:"#app" }) </script>复制样式: 7.1.2.编写登录及注册组件接下来我们来实现登录组

  • 程序员到机器学习工程师的飞跃

    经常听到这样的话:“我是一名软件开发工程师,阅读过一些关于机器学习方面的书籍和博客文章,也学习过一些在线的关于机器学习的公开课。但是,我仍然不知道怎么应用到工程实践中……”在这一篇文章中,我分享一下对这个话题的深入思考:你会发现传统的学习机器学习的方法,对你并不起作用;你会发现如何更好的理解所有的模型;你会发现我的简单而高效的方法,对你在工程中应用机器学习很奏效。热爱机器学习的软件工程师你是一名软件开发工程师,现在,机器学习、大数据很热门、快速增长,你想进入这个领域。你阅读过一些关于机器学习方面的博客,现在,你想做的更深入一点,但是,大部分书籍和论文,要么是侧重理论研究,要么是侧重算法、数学公式推导。你可能参加过一些在线公开课,比如Coursera、Edx,但是,除了完成课后练习,获得毕业证书,对你的工程实践来说,也帮助不大。你可能参加过一些竞赛,比如,Kaggle,使用过一些小型的数据集。最大的问题是,你不能把书籍、论文中学到的理论知识和实际工程问题连接起来。那么你应该怎么做才能突破这个障碍?机器学习工程师当你思考未来,你掌握了目前最热门的机器学习,你的工作将会发生什么样的变化?如果

  • 时下交易所泛滥横行、FCoin能否闯出一片天地?

    币圈、链圈当前最为热议的话题“FCoin”、“交易即挖矿”基本刷屏了所有人的朋友圈,也惊动了交易所行业的各方大鳄防不胜防、坐立不安。任何行业的发展,永远不可缺的是创新精神,交易所行业三巨头币安、火币、OKEx的位置一直无人撼动,自从FCoin交易所在五月底以“交易即挖矿”分红模式的兴起,让整个市场开始躁动起来,打乱了本有的秩序,让这次六月熊市注定不平淡,FCoin是如何能够做出如此成绩呢?下方不妨一起来分析看看。FCoin可谓是业界内一匹黑马,率先以“交易即挖矿”模式做到如此成功,据非小号的数据显示,FCoin的每天24小时CNY成交额一直保持在前三之列,如下图:6月26日数据显示24小时成交额排行榜,FCoin排第一首先来看看FCoin的投资背景,FCoin的创始人张健是来自火币网前CTO,FCoin的股东名单也都是知名机构,包括丹华资本、节点资本、歌者资本、时戳资本、八维资本和Zipper基金会等。FCoin创始人张健最近也是刷屏了大众眼界,张健个人本人就有着技术背景,这位前身作为火币网的CTO,据了解2013就置身这个行业,而且是国内第一家做区块链数据平台的,然后在火币网任职期间

  • 2018互联网女皇报告发布:人工智能竞争,中国势头强劲(附报告全文)

    问耕李林编译整理 量子位出品|公众号QbitAI又来了。每年一次的KPCB“互联网女皇”玛丽·米克尔(MaryMeeker),今天发布了最新的年度《互联网趋势报告》。自从1995年以来,这已经是报告的第23次发布。整份报告共有12个组成部分、294页,涉及全球互联网趋势、创新与监管、电子商务、在线广告、数据与隐私、美国移民政策等多个方面。我们把其中与高科技、人工智能等方面有关的部分,摘录如下。核心要点:2017年,智能手机出货量首次未能实现增长;互联网用户增速继续放缓用户的上网时长仍在增加,2017年美国成年人每天在数字媒体上花费5.9小时,其中约3.3小时用于手机人工智能竞争,中国势头强劲随着人工智能占到企业支出的很大一部分,包括谷歌、亚马逊等科技巨头将提供更多的人工智能服务平台语音技术正处在一个转折点上,亚马逊Echo音箱的销售量爆炸式增长企业AI规模较小,但支出优先级迅速提升中国市场上有着庞大的机会,与美国用户相比,中国用户更愿意用个人数据换取产品利益在排名前20的互联网公司中,有9家中国公司,同时这些公司还在AI领域进行了大量投资提及AI的部分内容20大互联网公司和估值(单位:

  • 预处理逆元:模板

    inv[i]=(M-M/i)*inv[M%i]%M复制 ——TheSolutionByAutSky_JadeKFromUESTC 转载请注明出处:http://www.cnblogs.com/autsky-jadek/

  • sonar6.7.2启动报错

    sonar6.7.2启动报错;错误信息如下: es.log java.lang.RuntimeException:cannotrunelasticsearchasrootsonar.log 2018.03.0521:16:48INFOapp[][o.s.a.SchedulerImpl]WaitingforElasticsearchtobeupandrunning2018.03.0521:16:49INFOapp[][o.e.p.PluginsService]nomodulesloaded2018.03.0521:16:49INFOapp[][o.e.p.PluginsService]loadedplugin[org.elasticsearch.transport.Netty4Plugin]2018.03.0521:16:50WARNapp[][o.s.a.p.AbstractProcessMonitor]Processexitedwithexitvalue[es]:12018.03.0521:16:50INFOapp[][o.s.a.SchedulerImpl]Process[es]i

  • 使用JavaScript打印网页指定DIV区域

    JavaScript打印函数myPrint(obj): JavaScript打印页面指定div区域原理:使用window.open()在浏览器打开一个新的页面(window),使用window.document.write()将指定div区域的内容写入新窗口文档,document.close()关闭文档,使用window.print()调用打印机打印当前文档。 functionmyPrint(obj){ //打开一个新窗口newWindow varnewWindow=window.open("打印窗口","_blank"); //要打印的div的内容 vardocStr=obj.innerHTML; //打印内容写入newWindow文档 newWindow.document.write(docStr); //关闭文档 newWindow.document.close(); //调用打印机 newWindow.print(); //关闭newWindow页面 newWindow.close(); } 复制   

  • leetcode 102 二叉树的层次遍历 (Binary Tree Level Order Traversal)

    我的方法。每个队列保存一层的node: /** *Definitionforabinarytreenode. *structTreeNode{ *intval; *TreeNode*left; *TreeNode*right; *TreeNode(intx):val(x),left(NULL),right(NULL){} *}; */ classSolution{ public: vector<vector<int>>levelOrder(TreeNode*root){ vector<vector<int>>res; queue<TreeNode*>qu; if(!root){ returnres; } qu.push(root); soln(res,qu); returnres; } voidsoln(vector<vector<int>>&res,queue<TreeNode*>&qu1){ if(qu1.empty()){ return; } queue<T

  • MD5加密

    importjava.security.MessageDigest; importorg.apache.commons.logging.Log; importorg.apache.commons.logging.LogFactory; publicclassMD5{ privatefinalLoglogger=LogFactory.getLog(MD5.class); privateStringinStr; privateMessageDigestmd5; /*下面是构造函数*/ publicMD5(StringinStr){ this.inStr=inStr; try{ this.md5=MessageDigest.getInstance("MD5"); }catch(Exceptione){ logger.fatal("",e); } } /*下面是关键的md5算法*/ publicStringcompute(){ char[]charArray=this.inStr.toCharArray(); byte[]byteArray=newbyte[charArray

  • rust片段

    [dependencies] reqwest={version="0.11",default-features=false,features=["rustls-tls","blocking"]} html2md="0.2" usestd::fs; fnmain(){ leturl="http://qlik.joinleader.net:8001/"; letoutput="rust.md"; println!("Fetchingurl:{}",url); letbody=reqwest::blocking::get(url).unwrap().text().unwrap(); println!("Convertinghtmltomarkdown..."); letmd=html2md::parse_html(&body); fs::write(output,md.as_bytes()).unwrap(); println!("Convertedmarkdownhasbeensavedin{}.",output); } 复制    [dependencies] reqwe

  • js的垃圾回收机制

    JS中内存的分配和回收都是自动完成的,内存在不使用的时候会被垃圾回收器自动回收。 内存的生命周期 JS环境中分配的内存,一般有如下生命周期: 内存分配:当我们声明变量、函数、对象的时候,系统会自动为他们分配内存 内存使用:即读写内存,也就是使用变量、函数等 内存回收:使用完毕,由垃圾回收自动回收不再使用的内存 全局变量一般不会回收,一般局部变量的的值,不用了,会被自动回收掉 内存分配: //为变量分配内存 leti=11 lets="ifcode" //为对象分配内存 letperson={ age:22, name:'ifcode' } //为函数分配内存 functionsum(a,b){ returna+b; } 复制 垃圾回收算法说明 所谓垃圾回收,核心思想就是如何判断内存是否已经不再会被使用了,如果是,就视为垃圾,释放掉 下面介绍两种常见的浏览器垃圾回收算法:引用计数和标记清除法 引用计数 定义“内存不再使用”的标准很简单,就是看一个对象是否有指向它的引用 如果没有任何变量指向它了,说明该对象已经不再需要了。 //创建一个对象person,person指向

  • Luogu P2536 [AHOI2005]病毒检测

    题意 给一个有通配符的模式串和\(n\)个文本串,其中?可以匹配任意字符,*可以匹配\(0\)或任意多个字符,求\(n\)个文本串中无法与模式串匹配的数量。 \(\texttt{DataRange:}1\leqn\leq500\) 题解 非确定性有限状态决策自动机。 首先考虑对模式串建一个自动机。对于每一位我们可以抽象成一个节点,整个字符串可以抽象成一个转移图。在匹配的过程中,如果能够走到这个节点上来就说明能够与这个位置的前缀相匹配。这里需要讨论一下: 如果模式串的某一位为字母,那么将这一位的状态向下一位的状态连这个字母的边,也就是说只有这个字母能从这一位转移到下一位。 如果模式串的某一位为?,那么任何字母进来都能匹配上,也就是说将这一位的状态向下一位的状态连所有字母的边。 如果模式串的某一位为*,这里是个小trick,也就是说可以匹配任意长度的串,那就连个自环就可以了。 然后,对于匹配的话,从初始状态开始走,如果能够走到结束状态那么则匹配成功。 代码非常好写,跑得也很快。 代码 #include<bits/stdc++.h> usingnamespaces

  • Java 获取重复的值 并统计总数

    publicstaticvoidmain(String[]args){ Listl=newArrayList(); l.add("a"); l.add("a"); l.add("b"); l.add("b"); l.add("b"); l.add("c"); l.add("d"); l.add("d"); l.add("e"); l.add("e"); l.add("e"); l.add("e"); l.add("e"); l.add("e"); System.out.println(l); Map<String,Integer>map=newHashMap<String,Integer>(); for(Stringitem:l){ if(map.containsKey(item)){ map.put(item,map.get(item).intValue()+1); }else{ map.put(item,newInteger(1)); } } Iterator<String>keys=map.keySet().iterator(); while(

  • VS2012编译生成XP可以执行的程序

    首先需要的就是下载VS2012的Update4更新包,然后打开项目的属性页,在配置属性—>平台工具集选项中选择VisualStudio2012-WindowsXP(v110_xp),点击应用。接着选择链接器—>系统,此时可以看到所需的最低版本为5.01,即XP,同时在子系统选项中选中控制台(/SUBSYSTEM:CONSOLE),再次点击应用,关闭属性页设置,则重新编译生成的EXE文件即可在XP目标平台上运行。

  • C#背单词小程序

    这一讲是关于文件及流的操作。我们来做一个综合但不太复杂的程序"背单词"。 要求如下: (4分)能将英语四级单词文本文件的内容读出来及放到内存的数组或列表中(使用StreamReader的循环读ReadLine()或直接ReadToEnd(),然后用string的Split('\n')分割成多行;然后对每一行Trim().Split('\t')得到的string[]的第0个即为英语单词,第1个即为汉语意思,可以放到两个数组或列表List中)。 (4分)使用大仕老师最喜欢的Timer,每隔一定时间,让英语单词及汉语意思显示到屏幕上(可以用两个标签控件)。(注意要有一个下标变量,每次加加,以实现每次显示的单词不同)。(再提示:让窗体的TopMost属性置为True,这个窗体就不会被其他窗口遮盖,你就可以随时随地背单词了!) (2分)你可以加点花样,如随机,如可以让用户可以调整背单词的速度,或者你可以将界面做得比较cool,更高级的是还可以保存进度,再高级的是使用艾宾浩斯遗忘曲线(我们的作业要求不要这么高,再高就是一个商业软件的的要求了,呵呵)。 运行结果:   代码如下: usi

  • mysqldump: Got error: 1449报错

    mysqldump:Goterror:1449:Theuserspecifiedasadefiner('root'@'%')doesnotexistwhenusingLOCKTABLES     于是,将root的host字段改成'%',再刷新权限,即可: updatemysql.usersethost='%'whereuser='root' flushprivileges;

  • SQL把做个字段组合成一个字符串

  • A 01 如何理解会计中的借和贷

    敲黑板,上结论: 借:钱花到哪里去了? 贷:钱从哪里搞来的?   举个例子 某公司用银行存款200000元购入一辆自用小汽车(自用小汽车属于固定资产),会计里面如何计呢? 答案: 借:固定资产200000元贷:银行存款200000元 分析: 银行存款的钱花哪儿去了?买小汽车了,成为了固定资产,所以固定资产记为借方。 买小汽车的钱从哪儿搞来的?从银行存款来的,所以银行存款记于贷方   从恒等式的角度看 “借”、“贷”的区分基于会计恒等式的拓展,我们来看会计恒等式:1、资产=所有者权益+负债——由于:所有者权益=初始投入的资本(简化为股本)+留存收益(简化为留存利润),得到:2、资产=股本+留存利润+负债=股本+利润-分红+负债——由于:利润是结转科目,利润=收入-成本-费用,那么得到:3、资产=股本+收入-成本-费用-分红+负债——把负号科目调整到等式另一边,得到:4、资产+成本+费用+分红=股本+收入+负债 看到没有, 恒等式的左边都是,钱花到什么什么地方去了,都是归为“借” 恒等式的右边都是,钱从什么地方搞来的,都归为“贷”。  

相关推荐

推荐阅读