- 博客(67)
- 资源 (16)
- 收藏
- 关注
原创 在YOLO11中使用自定义卷积模块ConvSE
本文介绍了在YOLO11中实现自定义卷积模块ConvSE的方法。通过继承YOLO原有Conv模块并添加SE注意力机制,创建了ConvSE模块。实现步骤包括:1)新建my_conv.py文件定义ConvSE类;2)在__init__.py中注册模块;3)在tasks.py中导入并注册;4)在模型配置yaml文件中使用自定义ConvSE模块。该方法保留了原有Conv功能,同时增加了通道注意力机制,可用于替换网络中的标准卷积层。
2025-12-06 17:24:35
117
原创 如何从检测头的分类结果和锚点中,来生成最终的检测边框
摘要:目标检测中如何从分类结果和锚点生成最终检测边框?关键在于利用回归分支输出的4个调整参数(dx,dy,dw,dh)对锚点位置进行微调。dx/dy调整中心点坐标,dw/dh通过指数变换调整宽高。完整流程包括:1)特征提取;2)检测头预测分类和回归结果;3)生成锚点;4)解码回归参数得到最终边框。训练时需要计算锚点与真实框之间的回归目标值,使用相对位移和对数尺度变换。这种方法能有效提高检测精度。
2025-11-23 21:54:16
312
原创 特征图网格中位置与锚点的关系
位置是特征图上的网格坐标,不是原始图像像素每个位置对应原始图像的一个感受野区域位置数量由特征图尺寸决定 (如30×40=1200个位置)锚点是预定义的参考框,有不同尺度和长宽比每个位置放置多个锚点(如9个)锚点提供了物体可能形状的先验知识“每个位置和锚点”意味着我们要为每个特征图位置的每个锚点都进行类别预测最终产生位置数 × 锚点数个检测候选然后通过后续处理(如NMS)筛选出最终检测结果这种密集预测的设计确保了网络能够检测各种尺度、各种形状的物体,覆盖图像的每个可能位置!
2025-11-23 21:31:41
386
原创 YOLO中骨干网络与检测头的关系
输入:骨干网络提取的高级语义特征处理:通过卷积层学习特征到类别的映射数学本质:计算特征向量与类别权重向量的相似度输出:每个位置的类别概率分布决策:基于概率选择最可能的类别关键理解骨干网络负责"看"图像并提取有意义的特征检测头负责"理解"这些特征并做出分类决策分类能力是通过学习特征与类别之间的统计关联获得的整个过程是端到端学习的,所有组件协同工作这种设计让网络能够自动发现对分类最有用的特征模式,而不是依赖人工设计的特征。
2025-11-23 21:01:39
246
原创 此pl2303驱动程序不支持win11、非旺玖原装PL2303驱动解决办法
此pl2303驱动程序不支持win11、非旺玖原装PL2303驱动解决办法
2022-12-28 12:19:25
9489
原创 SSH的ARM移植-远程控制台-总结
Windows 系统安装了 ssh 客户端,给 Ubuntu 安装了 ssh 服务器,这样就可以通过 ssh 在 Windows 和虚拟机 Ubuntu 之间传输文件。其实在开发板上也是可以移植和安装 ssh 服务器,这样就可以通过网络,在 Windows 和开发板之间传输文件,而不需用“串口文件传输工具”了,所以它需要网络,是wifi或者网线都可以的。“ssh 服务器移植到开发板”,目标是能通过 ssh 在开发板在Windows 和开发板之间传输文件,当然也是可以使用 ssh 控制台。
2022-01-06 14:55:56
2001
原创 MT7601WIFI-Linux驱动总结
最近发现开发板插网线太麻烦了,用wifi方便多了。MT7601的简述WPA_SUPPLICANT的移植移植的大概思路编译mt7601驱动测试驱动
2022-01-05 21:21:42
6088
1
原创 wpa_supplicant的配置和移植
wpa_supplicant到ARM的配置过程,涉及到的一些库文件的编译;wpa_supplicant的介绍和使用;
2022-01-04 21:32:38
3285
原创 VMware Tools 启动脚本未能在虚拟机中成功运行。
问题:VMware Tools 启动脚本未能在虚拟机中成功运行。如果您在此虚拟机中配置了自定义启动脚本,请确保该脚本没有错误。您也可以提交支持请求,报告此问题。第一步: sudo apt-get autoremove open-vm-tools第二步:sudo apt-get install open-vm-tools-desktop然后重启...
2021-12-28 23:30:38
3948
原创 DS18B20温度传感器-linux驱动
目录1、传感器介绍2、硬件连接2.1、DS18B20 引脚定义:2.2查找底板原理图:2.3找到引脚的名字:3、配置平台文件4、驱动应用程序4.1、驱动程序4.1.1、初始化时序:4.1.2、主机写0和1的时序4.1.3、主机读0和1的时序4.1.4、读写时序的规则4.1.5、归纳DS18B20测温的步骤4.2、应用程序5、编译运行测试5.1、Makefile文件5.2、应用程序编译6、运行测试7、DS18B20的使用总结4.14LinuxItop4412开发板1、传感器介绍DS18B20是 DAL
2021-12-28 20:54:34
3519
原创 iTop4412中fastboot烧写错误的uboot,用TF卡恢复办法
当我们使用核心板的eMMC 启动 uboot,但是当核心板的 uboot 被烧写了错误的文件,导致损坏,那么就需要用TF卡来救急了。下面关于TF卡的制作和烧写Uboot的相关总结。要知道全新的 TF 卡并不能直接用于烧写镜像,全新的 TF 卡需要经过分区、烧写 uboot 等步骤 后才能用于烧写。1、下面具体介绍如何制作可以烧写的 TF 卡,首先确定 TF 卡是 FAT32 格式的。如果不是FAT32格式的,还需要格式化为FAT32格式的。如果已经分区的TF卡在win10中无法格式化看这个文章→合
2021-11-20 02:00:00
1893
5
原创 合并已经分区的TF卡总结
分区以后的TF卡在windows中无法格式化的总结在开发板给TF卡分区以后使用完毕,不需要分区的TF卡,想把它还原成为普通的U盘。需要准备一个读卡器;1、分区以后的TF卡插在Windows中:虽然只有一个TF卡但是分出了四个区域,E、F、G、H区,现在区要把他们给合并起来。2、进入电脑的磁盘管理:我的电脑→管理→存储→磁盘管理3、找到可移动磁盘,右键删除分区一定是可移动磁盘才行,如果删错了,电脑会丢失很大一部分数据,如果是C盘电脑就会变成大 砖 头(重装系统)。选中分区,右键删除卷:
2021-11-20 02:00:00
7657
原创 Andriod1.0无法被识别,更新为安卓 ADB 驱动
Andriod1.0无法被识别,更新为安卓 ADB 驱动这里 ADB 驱动不仅在烧 写的时候会用到,在用户编译调试安卓应用的时候也会用到。在烧写章节中,OTG 方式烧写 (或者叫 fastboot 烧写方式)使用的是这个 ADB 驱动。1、安卓 ADB 驱动的安装在用户光盘中,文件夹“编译器以及烧写工具”→“tools”→“usb_otg_driver” 中,有两个驱动软件。一个是“winxp_32 位”文件夹,它是 Windows-XP-32 位操作系统的 驱动;另外一个是“win7_64 位”软件
2021-11-20 02:00:00
2240
原创 由于找不到libxml2.dll等等,无法执行代码。建议重新安装...解决办法
重启windows后打开vmware提示:由于找不到libxml2.dll,无法执行代码。建议重新安装…其他相关的还有很多其他的动态库提示libmmd.dll、lumcore.dll、libcef.dll、lua51.dll、lua53.dll、xml2.dll,他们都建议重装程序。但是可以不用重装。windows可以自己检查自己的坑这是一个动态连接库,由于找不到这个动态链接库而无法启动VMware。这是可能是因为windows中数据太多,再启动以后一些动态连接库丢失了,导致无法启动VMware等
2021-11-20 02:00:00
8010
原创 宝塔部署springboot
把springboot项目打包部署到云服务器上。1、在宝塔安装MySQL、Tomcat、Nginx。其中Nginx是部署前端项目的。这里先用不到。Vue部署到宝塔的Nginx2、转储数据库,在宝塔中创建数据库并且倒入转储的数据库。导入:3、在宝塔的安全组中开放mysql数据库端口:3306、Tomcat端口:8080、项目端口:8083,在阿里云控制台也要开放这些端口。4、先停止mysql服务、在宝塔的配置文件中在[mysqld]中添加skip-grant-tables保存,并且重载配
2021-11-04 00:00:00
3472
3
原创 Vue部署到Nginx
1、首先在宝塔的软件商店中安装Nginx打开首页显示2、在Vue的项目中新建终端执行:npm run build得到dist文件夹3、上传dist文件到宝塔的/www/server/nginx/html路径下:4、配置Nginx,打开Nginx管理—配置修改:server{ listen 80; server_name mayibang.co *.mayibang.co; index index.php index.html index.htm default.
2021-11-03 00:00:00
411
原创 itop4412烧写ubuntu文件系统小结
使用OTG接口烧写方式也可以成为fastboot 烧写方式,下面介绍OTG方式烧写时 所使用的硬件和软件平台,然后再给大家介绍烧写过程的相关步骤,使用win10系统。硬件平台使用串口线连接开发板串口(精英版是靠近网口的串口 )到 PC 机串口使用 OTG 线,将开发板 OTG 接口和 PC 的 USB 接口相连。连接电源。软件平台使用Xshell(超级终端等其他串口工具) ,设置默认波特率为 115200,协议SERIAL将光盘中的文件夹“02_编译器以及烧写工具”→“tools”→ “
2021-10-30 00:00:00
1903
原创 vue简单的store
vue中的store最简单的应用就是全局存储了。我这里使用了两个组件在相互跳转(Helloworld.vue和twopage.vue),前者是用来向store中放数据的,后者是从store取数据的。首先需要安装vuex: npm install vuex --save ;因为要跳转所以少不了安装路由router:npm install vue-router --save新建store文件夹在里面新建modules文件夹、getters.js、index.js;在modules建mystate.js
2021-10-25 00:00:00
7258
2
原创 vue脚手架的搭建2.0和3.0
1.首先安装nodejs,查看node版本。安装npm,查看npm版本全局安装webpack。先安装3.0版本,vuecli2依赖3.0版本。局部安装,先进入项目目录,执行初始化项目之后,执行只需要安装一次vue-cli22.安装vue-cli2切换淘宝镜像:npm install cnpm -g --registry=https://registry.npm.taobao.org创建项目:Vue init webpack 项目名选项使用这里的选项:使用vscode打
2021-10-22 00:00:00
1143
原创 vue使用组件和简单的组件通信
注册和使用组件在vue2中创建组件,并且使用它。首先在main.js中创建vue实例:import Vue from 'vue'import App from './App'import router from './router'Vue.config.productionTip = false/* eslint-disable no-new */new Vue({ el: '#app', router, render: h => h(App)})创建hello
2021-10-22 00:00:00
235
原创 vue的axios的请求和后端的处理
vue中的axios首先安装axios:axios npm install axios -S创建请求request.js文件,用封装请求服务。import axios from "axios";import { Message } from 'element-ui';const service = axios.create({ baseURL: 'http://localhost:8083/', timeout: 10000})// 设置axios请求拦截器// 拦截器中,可
2021-10-22 00:00:00
869
原创 Vue上传图像到阿里云OSS对象存储
总结前台和后台上传图片到阿里云OSS。前台在根目录中写一个request的js文件,封装请的地址import axios from "axios";const service = axios.create({ baseURL: 'http://localhost:8083/', timeout: 10000})// 把service导出export default service在src下的api中写一个请求的js 如写一个uploadphoto.js:import reque
2021-10-22 00:00:00
496
原创 对Vue生命周期的简单理解
vue的生命周期是什么当vue被创建的时候有自己的生命周期,就像Java的对象被创建的时候一样,有着自己的生命周期。new一个vue对象以后,就有了创建、数据初始化、挂载、更新、销毁这些生命周期。而vue允许我们在这期间使用钩子函数来做更多的事情。如:beforeCreate、created、boforeMount、mounted(beforeUpdate、updated)、beforeDestroy、destroyedbeforeCreate、created、boforeMount、mounte
2021-10-21 14:03:30
549
原创 最小生成树kruskal算法
最小生成树kruskal算法概述算法分析概述克鲁斯卡尔(Kruskal)(Kruskal)(Kruskal)算法是求连通网的最小生成树的另一种方法。与普里姆(Prim)(Prim)(Prim)算法不同,它的时间复杂度为O(eloge)O(eloge)O(eloge)(e为网中的边数),所以,适合于求边稀疏的网的最小生成树 。PrimPrimPrim和KruskalKruskalKruskal,前者更适合顶点较多的时候使用;后者更适合边较少的时候使用;算法分析按权值由小到大的顺序排列的编辑是:(各边
2021-09-29 20:05:54
4569
1
原创 最小生成树Prim算法C语言-图解
最小生成树Prim算法算法简介图解算法简介普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。图解https://baike.baidu.com/item/Prim/10242166?fromtitle=Prim%E7%AE%97%E6%B3%95&fromid=10986864&fr=aladdin...
2021-09-29 17:21:24
5061
原创 单源最短路径
单源最短路径单源最短路径问题描述算法分析单源最短路径问题描述给定一个带权有向图G=(V,E)G=(V,E)G=(V,E),每条边的权是一个实数叫做权值。另外,还 给定 V中的一个顶点,称为源 。要计算从源到其他所有各顶点的最短路径长度。这里的长度就是指路上各边权之和。这个问题通常称为单源最短路径问题。需要注意的是,DijkstraDijkstraDijkstra算法只能解决正权图问题,而要解决负权图,则需要另外一种办法SPFASPFASPFA算法。算法分析最大值记作WWW,顶点个数记作NNN把顶
2021-09-28 16:58:31
906
原创 算法复杂性和渐进复杂意义下的记号 O、Ω、θ
算法复杂性算法复杂性 === 算法运行时所需要的计算机资源的量通常指的是空间、时间资源影响时间复杂性的因素影响时间复杂性的因素有: 问题规模nnn、输入序列III、算法本身AAA问题规模:如果相同的序列和算法的前提下,在10个数字中找一个数字和在10万个数字中找一个数字,两者消耗的时间不一样。输入序列:如果相同的规模和算法的前提下,第一个就是要找的数字和最后一个是要找的数字,两者消耗的时间不一样。算法本身:如果相同的序列和规模的前提下,算法效率高的和算法效率低的,两者消耗的时间不一
2021-09-09 22:00:53
2556
原创 简单的选择排序
选择排序排序原理算法演示演示代码排序原理首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。这是不稳定的排序方法;时间复杂度最好和最坏都是O(n2)O(n^2)O(n2)算法演示初始序列:第一步;第二步:第三步:最后:演示代码#include<iostream>#include<stdlib.h>using namespa
2021-09-09 11:43:04
120
原创 分治算法-合并排序
分治算法-合并排序合并排序概念合并排序图解算法分析算法代码实例代码分析合并排序概念合并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为2-路归并。合并排序也叫归并排序。合并排序图解算法分析算
2021-09-04 20:43:16
2049
原创 0.1 + 0.2 不等于0.3 问题,精度的丢失和解决办法
10个0.1相加不等于1;这是因为浮点数精度丢失的问题,首先知道在计算机中数字是以二进制的方式存在的,那么在CPU中计算0.1+0.1时实际上是0.1的二进制的相加;( 0.1 => 0.0001 1001 1001 1001…无限循环)如上,因为是无限循环,所以CPU计算时不会存储太多位,因此会在某位初截断。根据IEEE-754标准,最大保留0.1后小数点后17位也就是这样:所以也就有在编程环境中把1分成三份,再加起来就不再是1了。同样0.1+0.2也就不等于0.3了。IEEE-75
2021-09-04 18:51:23
2960
原创 折半查找/二分查找(C语言)递归/非递归查找
折半查找概述算法要求算法分析1、递归2、非递归二分查找案例1、递归案例2、非递归案例概述二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。算法要求必须采用顺序存储结构。必须按关键字大小有序排列。下面的例子是从小到大排序。算法分析1、递归1.创建并初始化数据#define MAXSIZE 100#define KeyType int#define ERROR 0typ
2021-08-31 22:49:45
2767
3
原创 SpringBoot注解@NotBlank@NotNull@NotEmpty不生效的原因
@NotBlank@NotNull@NotEmpty不生效的原因org.hibernate.validator.constraints.NotBlank过时了要使用javax.validation.constraints.NotBlank1、三个注释的区别是三个注释都是被标记的属性不能为空。那么不生效的原因是因为三者是有区别的,使用错误就会导致验证不会生效。@NotNull 和 @NotEmpty 和@NotBlank 区别@NotEmpty 用在集合类上面@NotBlank 用在S
2021-07-19 10:59:15
13469
2
原创 银行家算法
文章目录调度算法的介绍先来先服务调度算法实例:调度算法的介绍在OS中调度的实质是一种资源分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法。对于不同的系统和系统目标,通常采用不同的调度算法,例如,批处理系统中,为了照顾为数众多的短作业,应采用短作业优先的调度算法;又如在分时系统中,为了保证系统具有合理的响应时间,应采用轮转法进行调度。目前存在的多种调度算法中,有的算法适用于作业调度,有的算法适用于进程调度;但也有些调度算法既可用于作业调度,也可用于进程调度。先来先服务调度算法先来先
2021-07-06 10:46:47
1057
原创 后缀表达式的计算
后缀表达式的计算为了解释后缀表达式的好处,我们先来看看,计算机如何应用后缀表达式计算出最终的结果20的。后缀表达式:9 3 1 - 3 * + 10 2 / +规则:从左到右遍历表达式的每个数字和符号,遇到是数字就进栈,遇到是符号,就将处于栈顶两个数字出栈,进行运算,运算结果进栈,一直到最终获得结果。计算步骤1.初始化一个空栈。此栈用来对要运算的数字进出使用。2.后缀表达式中前三个都是数字,所以9、3、1进栈。3.接下来是减号“-”,所以将栈中的1出栈作为减数,3出栈作为被减数,并运算3-
2021-06-22 12:09:31
2493
原创 中缀表达式转换后缀表达式
中缀表达式转换后缀表达式我们把平时所用的标准四则运算表达式,即“9+(3-1)*3+10/2"叫做中缀表达式。因为所有的运算符号都在两数字的中间,现在我们的问题就是中缀到后缀的转化。中缀表达式 9+(3-1) * 3+10/2 转化为后缀表达式 9 3 1-3 * +10 2/+转换过程1.初始化一空栈,用来对符号进出栈使用。2.第一个字符是数字9,输出9,后面是符号“+”,进栈。3.第三个字符是“(”",依然是符号,因其只是左括号,还未配对,故进栈。4.第四个字符是数字3,输出,总表达式
2021-06-22 12:09:08
1420
2
原创 IDEA发布传智书城2
IDEA发布网上商城系统maven管理jar包这里写目录标题系统架构设计数据库设计系统架构设计根据功能不同,项目结构分为以下几个层次:持久对象层:即若干实体类。数据访问层:即dao层,由若干dao接口和MyBatis映射文件组成。业务逻辑层: 由若干Service接口和实现类组成。web表现层:主要包括Spring MVC中的Controller类和JSP页面。Controller类主要负责拦截用户请求,并调用业务逻辑中相应组件的业务逻辑方法来处理用户请求,之后将相应的结果返回给JSP页面。
2021-06-18 21:06:50
2748
原创 spring基于注解声明的Aspectj
基于注解式声明Aspectj实例分析AOP描述Aspectj的注解介绍及描述案例分析编写要通知的对象@Repository注解编写切面通知类编写配置编写测试类测试结果案例总结AOP描述与基于代理类的AOP时限相比。基于xml的声明式Aspectj要便捷的多,但是它也存在这一些缺点,那就是要在spring文件中配置大量的代码信息。为了解决这个问题,Aspectj框架为AOP的实现提供了一套注解,用以取代spring配置文件中为实现AOP功能所配置的臃肿代码。Aspectj的注解介绍及描述案例分析用
2021-06-18 19:58:55
604
原创 python连接mysql数据库增删改查
python数据库的简单应用什么是 PyMySQL?PyMySQL 安装连接数据库创建数据表增加一条记录更新一条记录查找信息删除一条信息删除一张表什么是 PyMySQL?PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。PyMySQL 遵循 Python 数据库 API v2.0 规范,并包含了 pure-Python MySQL 客户端库。PyMySQL 安装 $ pip3 install PyMySQL连
2021-06-18 10:56:17
6531
2
原创 javaweb的乱码总结
javaweb的乱码总结文章目录乱码的排查1创建数据库时2tomcat服务器字符集3连接数据库时3客户端请求服务器响应时乱码的排查数据库的数据到web表现层所经过的路径,来检查其字符集1创建数据库时把数据库的属性设置正确的字符集2tomcat服务器字符集我们在程序编写的过程中总是会遇到一些中文编码的问题,需要在程序中很多环节中去进行过滤和转义,依旧有可能遇到中文乱码的问题,当然是针对于tomcat服务器来说的。在服务器/conf目录/server.xml文件将相关语句改为:
2021-06-14 19:27:35
309
原创 Servlet的简单理解
Servlet的简单理解文章目录Servelt是什么tomcat和servlet的关系Servelt简单编写response对象request对象1请求行内容的获取。2请求头的获取3请求体的获取 -- 请求参数的获取4请求转发Servelt是什么处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。理解这个的前提是了解一些http协议的东西,并且知道B/S模式(浏览器/服务器)。比如在浏览器输入百度的网址就会出现百度的首页。那么
2021-06-14 19:00:55
1605
1
Myeclipse10传智书城实验项目1.zip
2021-01-20
IDEA部署传智书城II
2021-06-18
SSH移植到arm开发板实现远程控制台
2022-01-06
wpa_supplicant和根文件系统镜像文件.zip
2022-01-04
MT7601wifi驱动及运行环境.tar.gz
2022-01-05
C++学生信息管理系统课程设计.zip
2021-05-01
iTop4412-驱动-DS18B20温湿度传感器及环境.zip
2021-12-28
boot客户管理系统.zip
2021-06-04
win8-10adb驱动.zip
2021-11-19
移植QTE动态时钟到UP-MobNet-II实验箱资料.zip
2021-05-26
IDEA传智书城实验项目1.zip
2021-01-20
C++图书管理系统.zip
2021-05-01
flutter天气预报UI.zip
2021-05-13
flutter仿微信界面.zip
2021-05-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅