自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 资源 (2)
  • 收藏
  • 关注

原创 YoloV6主要创新点

YOLOV6主要创新点

2022-08-06 09:55:28 3872 3

原创 目标检测中的损失函数IoU、GIoU、DIoU、CIoU、SIoU

目标检测中的一些常用的IOU损失函数优缺点比较以及代码实现,以及最新出来得SIoU损失函数

2022-06-14 23:10:04 13962 2

原创 使用electron-vue开发公式编辑器

开发起因由于组会汇报时,在所难免的需要使用公式,但是PPT中的公式编辑器使用不惯,并且之前写博客都是使用markdown编辑的,而markdown中的公式编辑就非常方便,所以就打算开发一个使用markdown编辑的公式编辑器,编辑好公式后,直接截图放入PPT中技术选型本人技术太菜,对windows软件开发并没怎么接触过,只用C#写过上位机,使用最多的还是前端JS等语言,所以打算使用JS来开发桌面应用,用JS开发还有一个好处就是可以跨平台,综上所述,就选择了使用electron-vue来进行开发,并且v

2022-04-21 19:45:34 2968 2

原创 在Android Studio上使用MNN部署模型

1.前期环境准备1. 1 MNN环境编译具体看我前面写的文章:文章地址1.2 opencv for android的安装进入opencv官网,下载安装包:下载地址下载完成后解压即可2.Android工程环境配置2.1 创建Android工程打开Android Studio新建一个Native C++工程2.2 MNN环境配置将之前MNN编译Android的生成的build_64文件夹下的libMNN.so文件复制到Android工程下的app/libs/arm64-v8a文件夹下(

2022-03-30 20:36:40 8798

原创 Ubuntu20.04环境下编译MNN并部署mnist

Ubuntu20.04环境下编译MNN并部署mnist

2022-03-15 20:11:07 5035 1

原创 YOLOX:pytorch实现网络结构

YOLOX:pytorch实现网络结构网络总体结构简介YOLOX的网络主要由三个部分组成,分别是CSPDarkNet、FPN和YOLOXHead。CSPDarkNet是YOLOX的主干特征提取网络,其输出为三个有效特征层FPN是YOLOX的加强特征提取网络,其作用是将CSPDarkNet输出的三个有效特征层进行特征融合,将不同尺度的特征信息进行融合。YOLOXHead是YOLOX的分类器和回归器,YOLOXHead通过FPN输出的三个特征图来判断特征点是否有物体与其对应,之前的YOLO

2022-02-26 16:00:48 4258 4

原创 深度可分离卷积(depthwise separable convolution)

深度可分离卷积是由depthwise(DW)逐通道卷积和pointwise(PW)逐点卷积两个部分结合起来,用来提取特征feature map常规的卷积如上图,对于一张5x5x3的图像进行常规操作的卷积,假设采用3x3大小的卷积核进行卷积,输出通道为4,则卷积核的shape为3x3x3x4,经过卷积后得到4个Feature Map。该卷积层的参数个数N = 4 × 3 × 3 × 3 = 108个计算量C= 3 x 3 x (5-2) x (5-2) x 3 x 4 = 972次深度可分离卷.

2022-01-17 21:07:18 3232

原创 Java设计模式:代理模式

什么是代理模式Proxy模式又叫做代理模式,是构造型的设计模式之一,它可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。 所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。代理模式的结构代理模式的角色和职责subject(抽象主题角色):真实主题与代理主题的共同接口。RealSubject(真实主题角色):定义了代理角色所代表的真实对象。Proxy(代理主题角

2021-12-25 11:41:33 95

原创 Java设计模式:享元模式

什么是享元模式Flyweight模式也叫享元模式,是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用。实现步骤创建一个实体类,public class MyCharacter { private char mychar; public MyCharacter(char mychar) { this.mychar = mychar; } public void display() { System.out.println(mychar); }}创建一

2021-12-25 11:40:48 331

原创 Java设计模式:观察者模式

什么是观察者模式Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。 Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。实现步骤创建被观察者类,继承Observable类,在想要通知观察者的地方使用this.setChanged();this.notifyObservers();方法通知观察者public class Person extends Observable {

2021-12-25 11:40:07 329

原创 Java设计模式:策略模式

什么是策略模式Strategy模式也叫策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有的算法加以封装和实现,具体的算法选择交由客户端决定(策略)。Strategy模式主要用来平滑地处理算法的切换 。实现步骤新建Strategy接口public interface Strategy { public void encrypt();}创建策略(算法)的具体实现。public class MD5Strategy

2021-12-24 12:24:53 345

原创 Java设计模式:装饰模式

什么是装饰模式装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。装饰模式的结构实现步骤创建一个抽象接口,是被装饰类和装饰类的父接口public interface Car { public void show(); public void run();}创建抽象组件的实现类,此时该类可以实现抽象接口定义的方法public class RunCar implements Car { public voi

2021-12-24 12:24:13 424

原创 Java设计模式:建造者模式

什么是建造者模式Builder模式也叫建造者模式或者生成器模式,是由GoF提出的23种设计模式中的一种。Builder模式是一种对象创建型模式之一,用来隐藏复合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态地创建具有复合属性的对象。实现步骤我们以建造房子为例,来说明建造者模式首先我们需要房子,新建一个House实体类public class House { private String floor; private String wall

2021-12-23 15:05:24 359

原创 Java设计模式:原型模式

什么是原型模式原型模式是一种对象创建型模式,它采取复制原型对象的方法来创建对象的实例。使用原型模式创建的实例,具有与原型一样的数据。原型模式的特点由原型对象自身创建目标对象。也就是说,对象创建这一动作发自原型对象本身。目标对象是原型对象的一个克隆。也就是说,通过Prototype模式创建的对象,不仅仅与原型对象具有相同的结构,还与原型对象具有相同的值。根据对象克隆深度层次的不同,有浅度克隆与深度克隆。实现步骤继承接口Cloneable,并实现clone方法,注意: 如果属

2021-12-23 15:04:44 223

原创 Java设计模式:单例模式

什么是单例模式单例模式是一种对象创建型模式,使用单例模式,可以保证为一个类只生成唯一的实例对象。也就是说,在整个程序空间中,该类只存在一个实例对象。实现步骤饿汉式直接在类装载时就实例化,然后通过静态方法返回,这样没有线程安全的问题,public class Person { private String name; public static final Person person = new Person(); //构造函数私有化 private Pe

2021-12-22 16:00:53 338

原创 Java设计模式:抽象工厂模式

什么是抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最其一般性的。抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象。实现步骤创建Fruit接口public interface Fruit { public void get();}创建抽象类public abstract class Apple implements Fruit{ public abstract void get();}p

2021-12-22 16:00:05 107

原创 Java设计模式:工厂方法模式

什么是工厂方法模式工厂方法模式同样属于类的创建型模式又被称为多态工厂模式 。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。实现步骤实现步骤和简单工厂模式类似,只不过把之前的工厂类改为从接口,并不在里面实现创建工作,而是把创建工作交给其子类,这样的好处就是当需要增加新的实体类的

2021-12-21 20:02:36 188

原创 Java设计模式:简单工厂模式

什么是简单工厂模式简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。实现步骤创建接口和实现接口的实体类,然后创建工厂类,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。创建接口public interface Fruit { public void get();}创建实体类,实现接口的方法public class Apple implements Fru

2021-12-21 19:48:10 207

原创 pytorch实现DarkNet53网络

pytorch实现DarkNet53网络

2021-12-18 14:12:00 602

原创 使用Pytorch从零开始实现YOLO V3源码:数据集准备

使用Pytorch从零开始实现YOLO V3源码:数据集准备项目文件结构数据集准备实现Dataset源码参考:ultralytics/yolov3项目文件结构├── data: 存储训练时数据集相关信息缓存├── runs: 保存训练过程中生成的所有tensorboard相关文件├── utils: 搭建训练网络时使用到的工具├── models: 存储yolov3网络结构配置以及网络的具体实现数据集准备这里我们先使用coco128数据集进行实验,将coco128数据集下载好后,放

2021-12-07 21:19:28 303

原创 YOLO v3中的矩形推理pytorch代码详解

YOLO v3中的矩形推理pytorch代码详解矩形推理简介pytorch代码实现矩形推理简介矩形推理的作用是减少推理时间,在YOLOv3中为32倍降采样,因此输入网络的长宽需要是32的倍数,最常用的分辨率就是416了。可是如果直接将图片填充为416*416的画,可能会产生大量的冗余,如下图1。而矩形推理则是先将较长的边先调整成416大小,然后较短的边按照原来图像的宽高比缩放,然后再填充为416大小,从而达到32的倍数,如图2图1图2pytorch代码实现首先计算每个图片的高宽比,再将

2021-12-06 22:17:30 589

原创 目标检测:YOLO v1算法

目标检测:YOLO算法

2021-11-26 23:32:39 1539

原创 目标检测:R-CNN,Fast R-CNN,Faster R-CNN(详解)

目标检测R-CNNR-CNN主要分为下面四个步骤:候选区域生成: 一张图像生成1K~2K个候选区域 (采用Selective Search 方法),然后裁剪出每个候选区并说放到227x227大小特征提取: 对每个候选区域,使用深度卷积网络提取特征 (CNN)类别判断: 特征送入每一类的SVM 分类器,判别是否属于该类位置精修: 使用回归器精细修正候选框位置Fast R-CNN主要是对R-CNN的后面三个步骤进行改进Fast R-CNN的主要步骤:输入图像:输入一张待检测的图像

2021-11-17 19:49:55 2035

原创 部署篇:使用pytorch实现垃圾分类并部署使用,浏览器访问,前端Vue,后台Flask

部署篇:使用pytorch实现垃圾分类并部署使用,浏览器访问,前端Vue,后台Flask1.创建Flask工程2.创建Vue工程1.创建Flask工程打开pycharm,新建工程,选择Flask在工程中新建一个文件夹model用来存放之前训练的模型,从之前的训练工程中把model_best_checkpoint_resnet50.pth.tar和label.txt文件拷贝到model文件夹中,在工程根目录中新建一个python文件,命名为rubbish.py,这个文件用来调用模型进行预测。代码如

2021-11-14 16:13:17 2294 4

原创 训练篇:使用pytorch实现垃圾分类并部署使用,浏览器访问,前端Vue,后台Flask

训练篇:使用pytorch实现垃圾分类并部署使用,浏览器访问,前端Vue,后台Flask1.数据集准备1.1数据集下载1.2 数据集划分1.3实现自己的Dataset2.开始训练数据2.1 实现训练方法和测试方法2.2 开始训练1.数据集准备1.1数据集下载在百度的AI Studio中有公开数据集,里面有很多不错的数据集可以给我们免费下载使用,下载速度也很快其中这个数据集就是本文所使用的的数据集,下载链接如下https://aistudio.baidu.com/aistudio/datasetd

2021-11-13 10:52:40 1732

原创 pytorch中使用TensorBoard进行可视化Loss及特征图

pytorch中使用TensorBoard进行可视化安装导入TensorBoard安装TensorBoardpip install tensorboard导入TensorBoardfrom torch.utils.tensorboard import SummaryWriter实例化TensorBoardwriter = SummaryWriter('./logs'可视化标量数据训练过程中的loss,accuracy等都是标量,都可以用TensorBoard中的ad

2021-11-07 16:15:46 23095

mnist的MNN模型

mnist的MNN模型

2022-03-15

opencv(c++)实现暗通道先验去雾算法完整代码

使用VS2019创建工程并添加opencv环境后,新建c++文件后,复制代码即可运行

2021-11-10

空空如也

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

TA关注的人

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