自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(172)
  • 资源 (3)
  • 收藏
  • 关注

原创 高精度车牌识别算法

一 车牌识别概述车牌识别属于OCR的一种,但它也有自己的特点。考虑到边缘设备部署,我们没有用lstm,仅用普通的卷积层便实现了高精度的车牌识别方案。车牌识别的应用场景也十分广泛,常见的停车场收费系统,车牌识别算法也是只能交通算法中的基础算法和最为重要的算法。场景识别准确率道路卡口场景99.6%小角度场景99.0%大角度车牌场景98.2%二 车牌识别本方案采用多标签识别的技术,同时设计的一个物件分支,判断输入是否为车牌。其中车牌全部识别正确的准确率为99.6.

2021-10-31 11:35:46 9032 5

原创 智能交通——车辆属性识别

一 场景说明在道路上,利用AI算法定位机动车的位置并识别车辆的属性,这些信息对于交警来说是非常重要的。下面我们将对道路上的车辆进行检测和属性识别,整个过程包含两个算法,基于yolov5的目标检测算法和基于多任务的属性识别算法。二 算法详解1. 基于yolov5的目标检测算法个人感觉yolov5算法还是非常nice的,在实际项目和比赛中经常用到。由于一年前我就写过几篇博客对yolov5进行了说明,在此就不再赘述。如果读者感兴趣,可以参考我的博客:YOLOV5实战下面是我的测试代码,对yolo v.

2021-10-10 19:10:20 7034 11

原创 Clion中配置OpenCV环境(Ubuntu)

一. 在Ubuntu环境下安装破解Clion请看我之前的教程Clion安装与破解教程(Linux)二. 在Ubuntu环境下安装OpenCV(c++版本)请看我之前的教程ubuntu 安装 opencv 的 c++版本三. Clion的OpenCV环境配置1. 打开Clion,新建一个工程,工程名为XXX2. 打开工程的CMakeList,在末尾添加以下代码find_package(OpenCV REQUIRED)target_link_libraries(<project n

2021-07-09 14:51:31 2150 1

翻译 Clion安装教程(Linux)

一. Clion下载与安装1. 从官网下载Clion安装包并解压。默认Clion可以免费使用30天(不用着急,后面有破解教程)。2. 配置环境变量vim ~/.bashrc#添加alias clion=/home/<用户名>/<安装路径>/clion-2021.1.1/bin/clion.sh修改后退出,source使修改生效source ~/.bashrc3. 启动打开终端输入clion即可启动二. Clion破解1. 启动软件, 将博主提供的2.1.9.

2021-07-09 11:29:39 9184 5

原创 onnx 模型转换及推理时间对比

1. 环境准备 对比时间,和模型训练的环境相同,可能额外要安装的包是onnxruntime.pip install onnxruntime # for cpupip install onnxruntime-gpu # for gpu2. 测试过程 直接上代码吧,代码就是最好的解释。import cv2import timeimport torchimport numpy as npfrom torch.nn import DataParalle...

2021-04-29 20:53:44 3655 1

原创 通过MACE在Android手机上部署深度学习模型

1. MACE的环境搭建 参考我的博客:MACE的环境搭建——conda实现2. 构建项目 (1)下载MACE项目到本地git clone https://github.com/XiaoMi/mace.git (2) 下载MACE Model Zoo 项目git clone https://github.com/XiaoMi/mace-models.git (3) 编译MACE生成库文件 /path/to/mace...

2021-04-28 20:00:05 1162 5

原创 MACE的环境搭建——conda实现

1.MACE 主页 MACE 的github地址:https://github.com/XiaoMi/mace 小米官方的相关文档:https://mace.readthedocs.io/en/latest/ 对开发环境的要求,可以按照以下指令安装相关的包:2. 创建虚拟环境并安装常见的包 (1) 创建虚拟环境,我把虚拟环境命名为maceconda create -n mace python=3.6 (2)...

2021-04-28 09:51:58 654

原创 行人属性识别,PA100K

行人属性识别,即识别行人的多个特征,例如:性别、年龄、戴帽子、戴眼镜等。本文将带你学习行人属性识别,主要用到的是multitask技术。

2021-02-07 09:49:40 6508 28

原创 YOLO V5 实战

YOLO V5开源了,还是pytorch版本的,对于pytorch使用者而言就非常友好,本文作者用车辆数据集跑了一下yolo v5, 效果还是非常不错的,和大家一起分享。

2020-07-25 18:03:27 4246 4

原创 模型训练技巧——mixup

mixup, 用几行代码就能提高模型的识别精度。大型深度神经网络是非常强大的,但其损耗巨大的内存以及对对抗样本的敏感性一直不太理想。作者提出的mixup是一个简单地减缓两种问题的方案。本质上,mixup在成对样本及其标签的凸组合(convex combinations)上训练神经网络。这样做,mixup规范神经网络增强了训练样本之间的线性表达。数据集上进行试验,研究结果表明,mixup可以改进当前最先进的神经网络架构的泛化能力。

2020-05-07 16:08:10 2666 2

原创 模型训练技巧——label smoothing

使用应用label smoothing在绝大多数分类任务上能提高模型的准确率,本文主要用pytorch实现label smoothing,使它能方便的应用到项目中。

2020-05-06 17:01:21 2258 2

原创 三分钟带你理解ROC曲线和PR曲线

Roc曲线和PR曲线常被用来在二分类问题中评估一个分类器的性能,所以在机器学习中搞清楚两种曲线的原理及其区别与实现是非常基础也是非常重要的。

2020-04-28 18:50:13 2356

原创 ResNeSt——ResNet最强改进版

张航、李沐等人提出ResNet最强改进版:性能提高3%,参数不增。是ResNet的最强改进版本,博主已经讲该网络应用与工程项目中。

2020-04-20 23:42:04 19701 39

原创 三分钟带你掌握Python中的多进程和多线程

多进程和多线程编程对于代码的并发执行,提升代码效率和缩短运行时间至关重要。本文介绍如何使用python的multiprocess和threading模块进行多线程和多进程编程,并将其封装成类,成为好用的工具,方便调用。

2020-04-18 15:11:40 863 1

原创 如何快速从测试代码中导出onnx,并对比torch与onnx的对比结果

当我们的测试代码有很多依赖,或者训练测试代码在一起时,如何快速地导出onnx?

2024-05-23 19:55:28 152

原创 模拟相机拍照——对文档进行数据增强

这里介绍的就是文档数据增强,用标准文档模拟相机拍照场景。该方法不仅能用于文档各场景的数据增强,用于OCR检测识别等任务;还能合成各种图片训练对,用于文档去阴影、文档去摩尔纹、文档弯曲矫正等各项任务。然而,当图片是手机拍照获取的,图片中往往有阴影、摩尔纹、弯曲。原理:利用渲染工具(推荐blender),渲染出各种弯曲、阴影、摩尔纹,然后再pdf图片上进行合成。那么,如何通过标准的文档,获得类似相机拍照的图片呢?欢迎小伙伴们技术交流~

2024-04-18 17:32:27 624

原创 python推理代码跨平台部署

我们经常训练好的模型需要部署,有时候算法组和工程组是分开的,这时候就需要我们提供C++的前后处理逻辑,这时怎么调试我们的C++代码呢?模型预测的结果是一个两通道的Mat,我们首先把它保存成yaml形式,比如:offset.yaml。解决方法:把模型推理的结果保存成C++可加载的形式,即可调试C++后处理代码。接下来,你就能流畅的写完你的后处理代码,打包交付啦!

2024-01-19 12:07:10 440

原创 怎样让Windows关闭广告弹窗

10分钟完成你的设置,让广告消失,开机起飞。

2024-01-08 17:39:50 425

原创 二维码、条形码识别

二维码和条形码包含很多信息,对二维码和条形码识别对信息抽取具有重要意义。下面介绍两种二维码识别的方法,并用python实现。

2024-01-03 11:29:04 585

原创 在Ubuntu系统中安装Windows虚拟机

在ubuntu中安装windows虚拟机

2023-12-29 17:37:29 1296

原创 基于K-Means的图片聚类算法实战

我们通常遇到一个问题,当很多图片放在一个文件夹中,要把这些文件夹中的图片按规律分为几类。当图片比较少时,我们可以手动完成,但是当图片的数量是几千甚至几万时,手动挑选图片的工作量就太大了。下面是一个例子,./imgs中保存了很多猫和狗的图片,运行脚本后,就把猫和狗的图片分开,分别保存在./0 和 ./1 两个文件夹中。因此,需要一个算法对图片进行自动化分类并保存,也就是本文的《基于K-Means的图片聚类算法实战》。

2023-12-11 11:47:34 624

原创 dewarp:数据变换

注:cv2.remap() 函数的作用是把img,通过bm_flow映射成新的图片。bm_flow其实就是一个映射,把原始图像上每个像素点映射到新的图片中。输出图片:dewarp_img.jpg。输入图片:test.jpg。前向场:test.npy。

2023-11-16 12:26:34 293

原创 DALL-E2原理解读——大模型论文阅读笔记五

论文:https://cdn.openai.com/papers/dall-e-2.pdf项目:https://openai.com/dall-e-2。

2023-06-20 10:14:51 1392

原创 Visual ChatGPT原理解读——大模型论文阅读笔记四

论文:https://arxiv.org/abs/2303.04671代码:https://github.com/microsoft/TaskMatrix。

2023-06-20 10:00:21 1744 1

原创 MiniGPT-4原理解读——大模型论文阅读笔记三

论文:https://arxiv.org/pdf/2304.10592v1.pdf代码:https://github.com/vision-cair/minigpt-4。

2023-06-20 09:43:13 779 1

原创 BLIP2原理解读——大模型论文阅读笔记二

端到端训练视觉语言模型需要大尺度模型及大规模数据,该过程成本大,本文提出方法基于现有高质量视觉模型及语言大模型进行联合训练,为减少计算量及防止遗忘,作者对预训练模型进行frozen,为了将两任务对齐,作者提出Querying Transformer (Q- Former) 预训练,如图1,其将有用视觉特征传递至LLM输出目标文本。代码:https://github.com/salesforce/LAVIS/tree/main/projects/blip2。

2023-06-20 09:33:29 3323 1

原创 CLIP原理解读——大模型论文阅读笔记一

模型的输入是图片和文字的配对,图片输入到图片的encoder得到一些特征,文本输入到文本的encoder得到一些特征,每个traning batch里有n个图片-文本对,就能得到n个图片的特征和n个文本的特征,然后在这些特征上做对比学习,对比学习非常灵活,就需要正样本和负样本的定义,其它都是正常套路(不懂对比学习),配对的图片-文本对就是正样本,描述的是同一个东西,特征矩阵里对角线上的都是正样本,矩阵中非对角线上的元素都是负样本,有了正负样本,模型就可以通过对比学习的方式去训练了,不需要任何手工标注。

2023-06-07 09:21:26 4941 2

原创 图片去重算法(图片数量十万级以下)

经常遇到一种情况,手机或者电脑里面的图片太多并且存在重复的图片。这些重复的图片浪费设备的内存,同时也提高了处理这些数据的成本。博主是学AI的,因此基于神经网络开发了一个图片去重算法。

2023-06-05 13:07:03 1192

原创 经典技术博客收藏列表

本文就将我在工作中遇到很棒的文章,在这里整理分类,以便后续查阅。

2023-05-15 14:49:04 205 1

转载 数据结构:八种数据结构大全

通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构的优良将直接影响着我们程序的性能;常用的数据结构有:数组(Array)、栈(Stack)、队列(Queue)、链表(Linked List)、树(Tree)、图(Graph)、堆(Heap)、(Hash)等;

2023-05-11 11:38:55 2287

转载 如何快速的转载别人的CSDN博客

  对于喜欢逛CSDN的人来说,看别人的博客确实能够对自己有不小的提高,有时候看到特别好的博客想转载下载,但是不能一个字一个字的敲了,这时候我们就想快速转载别人的博客,把别人的博客移到自己的空间里面,当然有人会说我们可以收藏博客啊,就不需要转载,(⊙o⊙)… 也对。。  因为我自己当初想转载的时候却不知道该怎么转载,所以学会了之后就把方法写出来,帮助那些想转载却不知道该怎么转载的人(大神勿笑)。   我们首先打开要转载的博客,然后鼠标右键就会出现下面的菜单:   最后特别要注意的是,我

2023-05-09 09:59:05 79

原创 conda 导出虚拟环境

我们做深度学习项目时,一般使用conda创建虚拟环境,然后在虚拟环境中进行开发。那么问题来了,如果我们要在其他电脑上配置相同的虚拟环境使程序能够顺利运行,该怎么办呢?

2023-04-25 10:12:17 2088

原创 mmsegmentation 训练自己的数据集

介绍基于MMSegmentation训练自己的数据集。

2023-04-16 15:58:45 1425 4

原创 Numba witch makes Python code fast

python由于它动态解释性语言的特性,跑起代码来相比java、c++要慢很多,尤其在做科学计算的时候,十亿百亿级别的运算,让python的这种劣势更加凸显。办法永远比困难多,numba就是解决python慢的一大利器,可以让python的运行速度提升上百倍!numba是一款可以将python函数编译为机器代码的JIT编译器,经过numba编译的python代码(仅限数组运算),其运行速度可以接近C或FORTRAN语言。

2023-04-16 14:09:48 210

原创 vs code配置

使用vs code进行远程开发,请参考:https://blog.shipengx.com/archives/ef5b128d.html。将小伙伴~/.vscode/extensions/目录下的文件拷贝到你自己电脑的文件夹下。这样设置之后,字体就不会那么密集,阅读起来比较舒服。

2023-02-20 10:28:38 147

原创 TensorRT从理论到实践

用tensorrtx工程直接提取权重文件,中间过程可控;该工程更加灵活,遇到不支持的层,容易解决;该工程实现了主流算法的转化和推理,代码修改量不大即可适配自己的工程。

2022-12-11 17:55:32 1257 1

原创 Android.mk实践

最近做一个项目,在另外一个算法中要集成人脸检测算法库。首先在pc上验证了人脸算法库的正确性,然后在Android studio中集成。deblur工程中的代码是通过Android.mk构建的,初次看一脸懵逼。于是网上查了一下相关资料后仿写。我是参考以前工程里现有的mk写法仿写,各个模块写一个mk文件,负责本模块的编译资源管理,如果的别的模块需要使用本模块的内容那么把本模块的mk文件包含进来就可以了,整体语法跟cmake很像。LOCAL_MODULE就是本模块的名字,LOCAL_SRC_FILES后面是

2022-12-05 15:47:18 607

原创 strip指令——减小文件的大小(给文件脱衣服)

strip这个单词, 大家应该早就学过了, 你就记住是脱衣服就行了, 别的不要多想。在linux中, strip也有脱衣服的含义, 具体就是从特定文件中剥掉一些符号信息和调试信息。现在我生成了一个可执行程序,名为:lib_learn通过file命令查看文件是否做过strip结论:我们通过strip命令,使文件大小从16K降到12K,文件依然正常运行。注释:strip不仅可以减小可执行程序的大小,还能缩减动态库和静态库的大小。

2022-12-05 12:45:32 655

原创 c++ 原子操作(atomic)

i++这一条程序在计算机中是分几个机器指令来执行的,先把i值赋值给eax寄存器,eax寄存器自加1,然后再把eax寄存器值赋值回i,如果在指令执行过程中发生了线程调度,那么这一套完整的i++指令操作被打断,会发生结果错乱。所谓原子操作,就是多线程程序中“最小的且不可并行化的”操作。对于在多个线程间共享的一个资源而言,这意味着同一时刻,多个线程中有且仅有一个线程在对这个资源进行操作,即互斥访问。总结:用原子操作可以保证结果的正确性,并且运行效率比加锁的效率高!哈哈,结果正确,运行速度提升了3倍,不错!

2022-11-07 14:13:04 837

原创 c++智能指针简单使用

一句话带过:智能指针就是帮我们C++程序员管理动态分配的内存的,它会帮助我们自动释放new出来的内存,从而避免内存泄漏!因为代码中用new开辟了内存,但是程序结束时没有销毁内存,造成了内存泄露!可以看到,用智能指针之后,就不用手动销毁内存了,也没有内存泄露!为什么没有"析构"呢,内存泄露了吧,为什么呢?

2022-11-04 17:14:14 197

Deep_Adversarial_Decomposition

论文阅读笔记

2021-04-26

ssdlite_head.py

该文件为mobilenetv2 的检测头,与mobilenetv2 配合,达到了很好的检测效果。在VOC数据集上达到了70.3的map.

2020-06-15

mobilenetv2.py

python代码,写的是mobilenetv2.py文件, 实现SSD的目标检测算法。本代码是基于mmdetv1实现的,达到了很好的效果。

2020-06-15

空空如也

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

TA关注的人

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