自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (1)
  • 问答 (2)
  • 收藏
  • 关注

原创 YOLOv5深度剖析

YOLOv5与历代YOLO算法相似,使用了网格的概念,将图像划分为多个网格,每个网格负责预测一个或多个物体,简单来说每个网格都可以产生预测框。网格可以产生预测框的原因也很简单。网格内存有几个(一般为三个)预测框的模板,也就是"anchor"每个anchor都有预设的宽高、坐标以及置信度。置信度表示网格内存在物体的概率。

2023-02-24 20:54:56 15547 9

原创 目标检测新思路:DETR

DETR(Detection Transformer)是一种基于Transformer架构的目标检测器,为目标检测领域打开了一扇新的大门。但值得注意的是,DETR在COCO数据集上的AP并没有达到SOTA水平,并且存在着难以收敛的问题。随着后续的不断改进,DETR在目标检测任务中越来越好,解决了AP不高和难以收敛等问题。COCO数据集也被DETR后续的不同改进霸榜。期待DETR涌现更多优秀的后续工作。

2023-10-11 20:32:09 1244 2

原创 自监督对比学习框架SimCLR原理

仔细观察图像,亮度较高的两条斜线是由正样本对产生的,说明经过训练的编码器,实现了正样本对之间的特征向量尽可能的相似,而与其他的负样本尽可能的不相似,达到了想要的效果。我们的目的是让softmax函数的分子尽可能的变大,分母尽可能的变小,也就是样本正样本之间的余弦相似度尽可能的大,与负样本之间的余弦相似度尽可能的小。接下来就要通过不同的特征向量,计算其InfoNCE损失,并根据损失,在反向传播的过程中,不断更新编码器中的权重项与偏置项,使得正样本对产生的特征特征向量对之间的相似性尽可能的大。

2023-06-23 19:29:40 5073 4

原创 八数码问题

如下图所示,在节点1完成展开后,open表弹出最后一个节点4,节点4展开形成节点5、6,并将其加入到open表的尾部,接下来将会弹出最后一个节点6,节点6的子节点又会加入到open表的尾部,接下来继续弹出最后一个节点,这个节点则是节点6的子节点。我在代码中做了许多鲁棒性的操作,本来的想法是,将八数码问题很容易的扩展到十五数码问题,但是后来才想到,代码处理节点的方式是将其拉成一条字符串,这样以来,10以上的数字就没有办法表示了,因为他们占了两位字符,只能放弃了这个想法。但把代码中的鲁棒性操作都保留了下来。

2023-03-23 22:19:41 4578 1

原创 Kmeans++ 对图像聚类

同样,对于高维度的图像信息,可以将像素点之间的差异看作距离,这样得到的每个簇,都是像素点差异较小的图,简单来说,每个簇内是图像相似度较高的图像。kmeans算法是较为常见的聚类算法,不仅可以对二维的坐标点进行聚类,还可以对高维的图像信息进行聚类。Kmeans算法对初始质心的选择比较敏感,Kmeans++算法针对初始质心的选择做了改进,使得几个初始质心尽可能的远。其中,avg.jpg是质心,是簇内所有图像的平均值,是对簇内信息的抽象反映。可以看出,聚类效果还是不错的,把一些较为相似的图像放在了一个簇内。

2023-03-08 16:28:51 2078 1

原创 YOLO v5 代码精读(3)YOLO网络结构

YOLO模型共有五种模型规格,规格越大的模型准确率越高,相应的预测时间也就越长。一般默认选择YOLOv5s,也可根据需求选择更大或更小的模型。这里以YOLO v5s为例,分析YOLO的网络结构。

2023-01-04 23:37:02 3707 2

原创 YOLO v5 代码精读(2)train模块

精读了YOLO v5 6.0版本的detect模块,这篇博客来精读train模块。

2023-01-03 23:36:50 3184 3

原创 YOLO 模型的评估指标——IOU、Precision、Recall、F1-score、mAP

YOLO是最先进的目标检测模型之一。目标检测问题相比分类问题要更加复杂,因为目标检测不仅要把类别预测正确,还要预测出这个类别具体在哪个位置。我将目标识别的评估指标总结为两部分,一部分为预测框的预测指标,另一部分为分类预测指标。

2023-01-01 00:53:46 26464 7

原创 YOLO v5 代码精读(1) detect模块以及非极大值抑制

YOLO 是目前最先进的目标检测模型之一,现在博客上常有的是如何使用YOLO模型训练自己的数据集,而鲜有对YOLO代码的精读。我认为只有对算法和代码实现有全面的了解,才能将YOLO使用的更加得心应手。这里的代码精读为YOLO v5,github版本为6.0。版本不同代码也会有所不同,请结合源码阅读本文。本文使用注释完成对每行代码的解读,文段来概括总结每个代码段。yolo v5代码 6.0版本 github代码地址。

2022-12-28 00:43:38 6794 2

原创 python+opencv+mediapipe+tensorflow实现手势识别控制计算机

目录系统介绍OpenCVMediapipeTensorFlowPyWin32数据处理通过mediapipe提取特征转化为相对坐标:均值方差归一化(标准化):测试效果:神经网络网络结构设计激活函数神经网络的训练过程模型调参语音唤醒监听麦克风将音频读取为numpy识别判断系统设计识别缓冲区键鼠控制PyWin32识别区域的映射鼠标操作键盘操作手势控制计算旋转角度调节亮度和音量本系统灵感源自钢铁侠的贾维斯是基于手势识别的计算机交互系统,利用OpenCV、Mediapipe识别手部关键点;利用TensorFlow搭建

2022-12-16 09:57:49 10208 10

原创 基于python+opencv+mediapipe实现手势识别详细讲解

实现效果手势识别运行环境:python3.9.7 opencv-python4.6.0.66 mediapipe0.8.11运行之前先要安装opencv-python、opencv-contrib-python、mediapipe项目可能对版本的要求比较严格,安装不上的可以按我版本这篇文章只介绍mediapipe的简单实现,拖拽和放大效果后续更新。

2022-09-12 19:57:10 17105 18

原创 SpingBoot的请求参数获取问题

SpringBoot中为我们提供了三个常用的获取请求参数的注解:@RequestParam

2022-05-12 20:54:54 3931 3

原创 SpringBoot的MySQL基础

一、数据库的基本概念我们的系统中几乎使用到的一切数据都是存放在数据库中的。数据库分为关系型数据库和非关系型数据库。关系型数据库(RDBMS)优点:将数据库的数据以系统文件的方式,持久存储,将数据存储在硬盘中 使用了统一的SQL语句操作数据库 可以通过SQL语句完成条件复杂的查询。 安全性高缺点:查询速度较慢,性能较差典型代表:MySQL数据库非关系型数据库(NOSQL)优点:将数据写入内存中,读取块,性能高,多用于缓存 key value的形式存储数据,简.

2022-05-07 16:46:07 1254

原创 软件设计的基本原理和流程

目录软件系统运作的基本原理前端服务器SpringBoot数据库软件系统运作的基本原理我用这张图给大家基本的总结了一下整个软件运作时的基本原理。前端的页面用来显示数据和供用户操作,后端的SpringBoot用来处理逻辑和操作数据库。能看懂这张图,原理也基本就懂了。前端前端主要由三个部分组成,HTML,CSS,JavaScriptHTML:用来提供页面的整体骨架和基本组件,如按钮,输入框,文本域,连接等等CSS:用来给骨架和基本组件做美化JavaSc.

2022-05-01 13:44:09 2702

原创 SpringBoot 学习笔记4 配置高级-第三方属性bean配置绑定

目录自定义bean的绑定第三方bean的绑定@EnableConfigurationProperties:松散绑定bean属性校验我们先新建一个SpringBoot项目自定义bean的绑定@Component@Datapublic class ServerConfig { private String ipAddress; private int port; private long timeout;}先来随便定义一个类,随便写三个成员变.

2022-04-26 21:27:05 1188

原创 Springboot学习笔记3 开启热部署

目录导入坐标手动激活自动激活:热部署配置的范围关闭热部署导入坐标要开启热部署功能,首先要先在maven的pom配置文件导入一个springboot开发工具的坐标。,坐标如下<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId></depend.

2022-04-26 15:16:14 1607

原创 springboot整合SSMP+Vue+Element-ui+Axios项目 学习笔记2

首先,给数据库的表做一下初始化实体类的开发在写pojo类时,我们通常的方法是定义一个类,类的成员变量跟表的字段相对应,但在这里我们提供一个更加简便的方法:Lombot我们先在pom配置文件中添加一个Lombot的坐标<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId></dependency&g

2022-04-21 00:17:05 1577 6

原创 Springboot入门 学习笔记1

Spingboot的优点:极大程度的简化了spring框架的开发,简化了spring中繁琐的配置,并且内置了Tomcat和Jetty服务器这就是一个最简单的Springboot 的web项目结构我们直接选中那个以Application为结尾的类,右键运行,即可运行这个Spingboot项目。运行结果:网页:控制台:是不是很简单呢?这就是Springboot的简单体验。...

2022-04-19 16:51:31 579

原创 每天一道蓝桥杯Day03

题目小蓝有一个超大的仓库,可以摆放很多货物。​ 现在,小蓝有 n 箱货物要摆放在仓库,每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向,每箱货物的边都必须严格平行于长、宽、高。​ 小蓝希望所有的货物最终摆成一个大的立方体。即在长、宽、高的方向上分别堆 L、W、H 的货物,满足 n = L × W × H。​ 给定 n,请问有多少种堆放货物的方案满足要求。​ 例如,当 n = 4 时,有以下 6 种方案:1×1×4、1×2×2、1×4×1、2×1×2、2 × 2 × 1、4

2022-04-06 17:49:43 431

原创 每天一道蓝桥杯Day02

题目:​ 小蓝有很多数字卡片,每张卡片上都是数字 0 到 9。​ 小蓝准备用这些卡片来拼一些数,他想从 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。​ 小蓝想知道自己能从 1 拼到多少。​ 例如,当小蓝有 30 张卡片,其中 0 到 9 各 3 张,则小蓝可以拼出 1 到 10,但是拼 11 时卡片 1 已经只有一张了,不够拼出 11。​ 现在小蓝手里有 0 到 9 的卡片各 2021 张,共 20210 张,请问小蓝可以从 1 拼到多少?分析: 每个卡片代表一

2022-04-04 17:16:17 642

原创 每天一道蓝桥杯Day01

分析:这道题题意还是比较好懂的,总共需要多少个字符2,也就是求2出现了几次我的答案:public class problems01 { public static void main(String[] args) { int count = 0; for(int door=1;door<=2020;door++){ int i=door; if(i<100){ int ge = i%10; int shi = i/10; if(ge==..

2022-04-03 17:15:47 338

原创 我的第一个JavaWeb项目:学生信息管理系统Element-ui+Servlet+Mybatis

这是我的第一个JavaWeb的项目:学生信息管理系统其实还是有很多不足的

2022-04-03 11:35:20 3453 2

原创 eclipse连接MySQL8.0数据库

1.下载jar包要在eclipse中连接MySQL数据库首先要下载MySQL对应版本的驱动jar包,这里下载的是8.0版本的jar包,要对应好自己的MySQL版本进行下载下载网址:https://dev.mysql.com/downloads/connector/j/下载ZIP格式的压缩包。下载完成后,解压压缩包,放在容易找到的地方即可。我这里放到了D盘的根目录下。这样jar包的下载就完成了。2.eclipse导入jar包打开eclips,新建一个Java项目,在项目名处

2022-03-25 16:51:51 10628

原创 Java学习笔记——Java中的数组

目录数组的定义和创建数组的初始化Arrays类数组是一种存储数据的结构。Java中的数组与C语言中的数组还是有很多不同的。数组的定义和创建int[] a; //定义一个数组a通过int[] a我们可以定义一个int类型的数组a,但是此时,数组a是不可用的,因为以上步骤只对数组a进行了定义,告诉系统,a是一个int型的数组,却并没有为数组a在内存中开辟空间,数组没有被创建。那么我们接下来要创建一个数组。a = new int[50]; //创建一个数组通过以上步骤我

2022-03-21 22:19:18 683

原创 Java面向对象—内部类

什么是内部类在Java中,允许在一个类的内部定义类,这样的类称作内部类。如:在实际情况中,根据内部类的位置、修饰符和定义方式的不同,内部类可以分为4种形式:成员内部类、局部内部类、静态内部类、匿名内部类。1.成员内部类成员内部类:内部类的位置与成员变量、成员方法相同。是外部类中的一个成员。我们先来定义一个包含成员内部类的类:class Outer{ int m = 0; void text1(){ System.out.println("外部类成员方

2022-03-18 11:50:34 623

原创 Java面向对象—抽象类和接口

什么是抽象类?1.抽象方法当一个类没有具体的方法体时,且被abstract修饰,这个方法就叫做抽象方法public abstract void eat();eat方法被abstract修饰,并且后面没有 { } 所包含的方法体,那么这个eat方法就是一个抽象方法。2.抽象类若一个类中包含抽象方法,那么这个类就叫做抽象类public abstract class Animal{ public abstract void eat();}注:1.抽象方法必须在抽象类中

2022-03-17 16:44:02 837

原创 Java面向对象三大特征——多态

目录什么是多态呢?多态的条件演示说明多态中成员访问的特点成员变量成员方法多态的好处:多态的缺点:强制类型转换什么是多态呢?俗话说,龙生九子,各不相同。龙的九子都继承自龙,九子却有着各自的特点。在Java中,多态是指不同类的对象在调用同一个方法时,所呈现出的多种不同的行为。例:我们可以说猫是猫:Cat c = new Cat();也可以说猫是动物:Animal a = new Cat();在这里,猫在不同的时刻展现出不同的形态(猫也是猫,动物也是

2022-03-15 22:49:57 1434

原创 Java面向对象三大特征——继承

类的继承什么是继承呢?如何继承Java继承中要注意的问题:继承中变量访问的特点方法重写super关键字Object类什么是继承呢?我们先来观察一下这俩个类(为了方便演示,先不对类进行封装)Dog类public class Dog { int age; String name; public void shout() { System.out.println("发出叫声"); }}Cat类public class Cat { int age; String name; pub

2022-03-13 17:15:26 3707

原创 Java面向对象三大特征——封装

类的封装什么是封装呢?封装一个类get set方法this关键字完美版get set方法自动生成get set方法什么是封装呢?如果我们想给别人发一个快递,快递小哥需要把我们需要寄的物品,封装进一个快递盒。这样既能保证我们寄的物品完好无损,又能防止他人偷看我们寄出的物品,保证隐私安全。同理,我们类的封装也有着同样的目的。类的封装,是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象的内部信息。下面是一个没有经过封装的类。public class Person { String name

2022-03-12 21:46:39 843

原创 Java基本语法 典型例题-switch中的break

1.运行下面这段代码的结果为________________。int day = 3;switch(day){case 1:case 3:case 5:System.out.print("学钢琴!");break;case 2:System.out.print("学英语!");default:...

2022-03-10 17:24:40 1588 2

原创 Java面试题-类型转换 byte b=(byte)130 看完这篇你就会了

上篇文章留了一个问题byte b=(byte)130;System.out.println(b);b的值为多少呢?答案为: -126我们都知道byte的取值范围为-128~127,那么这个看似离谱的答案,是如何得出的呢。Java的编码机制要解决这个问题,首先要了解Java的编码机制。根据前面所学的知识,我们知道byte占用的空间为8位,short占16位,int占32位,long占64位。 这里的“位”指的就是占二进制的位数。8位就由八个0或1组...

2022-03-07 20:07:19 1646 1

原创 Java学习笔记3—变量的类型转换

目录一、自动类型转换思考1:以下的代码能不能通过编译思考2:以下的代码能不能通过编译二、强制类型转换思考1:以下代码能不能通过编译拓展:以下代码强转后,byte的值为多少一、自动类型转换废话不多说,直接举个例子吧double a=1;System.out.println(a);在这种情况下,给double型的a赋值一个int值的1,这种情况下是可以通过编译的,输出的结果是1.0,说明系统将int型的a=1自动转为了double型的a=1.0。自动类型转换是

2022-03-07 15:05:22 944

原创 Java学习笔记2—Java中的注释和变量

目录一、注释1.单行注释2.多行注释3.文档注释*什么是API帮助文档二、基本数据类型注意:三、标识符及命名规范1.标识符2.标识符的命名规范(驼峰法则)一、注释在所有编程语言中,注释都是不可缺少的,虽然有无注释不会影响到代码运行的结果,但养成注释的习惯既方便自己又方便他人。注释在编译时会被编译器忽略,因此不影响程序运行的结果。Java中的注释有三种:单行注释多行注释文档注释1.单行注释单行注释用 // 表示,只能注...

2022-03-06 21:46:51 500

原创 MySQL多表查询小总结

作为MySQL数据库的初学者,多表查询的知识点多,内容复杂,很令人头大。这篇文章作为总结,以案例的形式,供大家理解和记忆。目录概述一、内连接概述多表查询主要分以下两个方面:一、连接查询1.内连接2.外连接3.自连接二、子查询1.标量子查询2.列子查询3.行子查询4.表子查询我们就用这样的两张学生选课信息表格作为数据studen...

2022-03-04 11:06:59 4705 2

原创 Java学习笔记1—Java的简介安装和体验

Java学习笔记—Java的简介安装和体验

2022-03-02 13:10:48 290

原创 c语言课程设计 学生成绩管理系统

学生成绩管理系统要求:1、系统功能以菜单方式工作;2、数据的输入;3、数据的插入;4、数据的输出;5、数据的删除;6、数据的查找,通常以两种方式进行查找,如姓名、学号;...

2022-01-10 11:09:57 33582 22

学生信息管理系统 Element-ui+Servlet+Mybatis

学生信息管理系统 Element-ui+Servlet+Mybatis 前端用到了vue框架,Element-ui设计样式 ,用Ajax发送请求和接收相应。 服务器使用的是Tomcat。 后端用到了Servlet接收请求和发送相应,用Mybatis连接数据库。 数据库使用的是MySQL 8.0.28。 这是我做的第一个JavaWeb系统,还有很多不足和需要修改的地方,如果有发现不足和应该修改的地方,还请告知。 还在学习中,欢迎私信交流

2022-04-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除