自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 收藏
  • 关注

原创 简单的单目测距实验

简单的单目测距方法,假设相机平面和物体平面平行,相机正对着物体表面拍摄,则可以利用相似三角形法。

2023-04-11 11:29:56 1659 1

原创 Opencv c++ 图片截取不规则ROI区域

思路很简单,适合相机固定,ROI变化不大的场景。原图备份后先截取不规则的ROI区域,其他区域置为黑背景,检测识别效果。在原图上,将上述识别效果画在原图上。

2023-04-11 11:22:23 1628 1

转载 解决OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.报错问题

错误如下图所示:解决办法1:在pycharm里调试程序时可以直接通过在程序前添加这两个语句解决import osos.environ[“KMP_DUPLICATE_LIB_OK”]=“TRUE”解决办法2:办法1不能解决问题的话,甚至直接在terminal上import torch也会出现这种问题:究其原因其实是,anaconda的环境下存在两个libiomp5md.dll文件。所以直接去虚拟环境的路径下搜索这个文件,可以看到在环境里有两个dll文件:其中第一个是torch路径下的,第

2022-03-01 14:18:01 1229

原创 opencv相机标定抛异常

网上找的opencv相机标定代码,直接用手机拍照测试测试了一下,简单的测试只用了6张图片,踩到了坑:报错信息:0x00007FF8ADE94F69 处(位于 video.exe 中)有未经处理的异常: Microsoft C++ 异常:cv::Exception,位于内存位置 0x000000E91C2FDBC0 处。

2022-02-14 18:42:36 788

原创 windows上yolov5的tensorrt模型推理加速

一、部署环境:WIN7cuda 10.2cudnn 8.0tensorrt 7.0.011opencv 3.4.7cmake 3.16.5二、生成wts模型下载代码:yolov5 3.0 版本 和tensorrtx 3.0版本https://github.com/ultralytics/yolov5https://github.com/wang-xinyu/tensorrtx将tensorrtx源码中的gen_wts.py复制到yolov5源码中并运行,生成.wts模型安装cuda

2021-06-25 16:38:51 2264 3

原创 yolov5 转onnx转ncnn

代码:https://github.com/ultralytics/yolov5(v3.0)一、yolov5 pt模型转onnx安装:pip install onnx>=1.7.0 # for ONNX exportpip install coremltools==4.0 # for CoreML exportpip install onnx-simplifierpytorch->onnx转化yolov5s.pt 权重文件复制到yolov5-3.0工程下,在终端运行:py

2021-06-03 20:24:37 2583 6

原创 libtorch部署yolov5

一、环境Ubuntu 16.04CUDA 10.2OpenCV 3.4.12LibTorch 1.7.0 (gpu)Pytorch 1.7.0二、得到yolov5 的权重模型https://github.com/ultralytics/yolov5/blob/master/models/export.py我使用的是3.0版本用export.py生成的pt文件既可,但是默认是使用CPU的,使用GPU需要修改。提示:用的coremltools==4.0版本,之前我有升级到4.1版本运行e

2021-06-03 20:24:24 2914 7

原创 yolov5 转Tensorrt(ubantu)

代码:https://github.com/wang-xinyu/tensorrtx/tree/master/yolov5(v3.0版)https://github.com/ultralytics/yolov5(v3.0版)环境:cuda:10.2 ,cudnn:8.0.4, tensorrt :7.1.3,pytorch:1.7.0一、生成转tensorrt的中间文件 yolov5.wtsyolov5s.pt (v3.0)放入weights文件夹在yolov5-3.0工程中运行:pytho

2021-05-11 17:14:47 1249

原创 TX2上运行ORB_SLAM2流程及遇到的问题

一、配置ORB_SLAM2过程也是先找个教程和上篇电脑端的参考1、安装依赖:sudo apt-get install libglew-devsudo apt-get install libpython2.7-devsudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-devsudo apt-get install libdc1394-22-dev libraw1394-devsud

2021-04-13 15:55:55 1068 1

原创 摄像头标定跑通ORB_SLAM2

之前已经安装了摄像头驱动详见: 上篇 四、摄像头信息的读取和显示我要标定的黑白棋盘:下载ROS相机标定包并编译:rosdep install camera_calibrationrosmake camera_calibration启动usb_cam,获取笔记本摄像头的图像roslaunch usb_cam usb_cam-test.launch启动标定程序rosrun camera_calibration cameracalibrator.py --size 8x6 --square

2021-04-01 10:03:51 771 1

原创 Ubuntu16.04运行ORB_SLAM2流程及出现问题总结

WiKi連接:http://wiki.ros.org/orb_slam2_ros一 配置ORB_SLAM2過程先在官網上下載代碼:https://github.com/raulmur/ORB_SLAM看readme 找個教程:https://blog.csdn.net/learning_tortosie/article/details/798811651、前面的依賴我都安裝過,從安裝Pangolin開始:a. 安装依赖项 sudo apt-get install libglew-dev libp

2021-03-31 10:19:39 3976 3

原创 Ubuntu16.04下安装ROS Kinetic及TX2安装ROS Melodic流程和问题

一、安装ROS是有ros的wiki網站的:http://wiki.ros.org/kinetic/Installation/Ubuntu1、從 packages.ros.org.添加ROS软件预源,打开命令行输入以下代码:sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'2、建密钥,输入以下代码

2021-03-31 10:14:34 539 2

原创 python字符串形式的列表转列表

将字符串形式的列表转化成列表的方法一、用import ast 调用ast.literal_eval()函数二、直接用python里的eval( )函数>>> fruits = "['apple','orange','banana']">>> import ast>>> fa = ast.literal_eval(fruits)>>> print(fa)['apple', 'orange', 'banana']>&

2021-02-20 09:37:51 5738 6

原创 YOLACT 、 YOLACT++、YolactEdge小结

一、YOLACT论文:https://arxiv.org/abs/1904.02689 yolact源代码:https://github.com/dbolya/yolact yolact、yolact++本文的主要贡献:YOLACT是2019年发表在ICCV上面的一个实时实例分割的模型,它主要是通过两个并行的子网络来实现实例分割的。(1)Prediction Head分支生成各个anchor的类别置信度、位置回归参数以及mask的掩码系数;(2)Protonet分支生成一组原型mask。然

2021-02-10 14:52:22 7466 3

原创 Pytorch 语义分割DeepLabV3+ 训练自己的数据集

照葫芦画瓢总结记录了一下DeepLab分割系列,并对Deeplab V3++实现一、DeepLab系列理解1、DeepLab V1原文:Semantic image segmentation with deep convolutional nets and fully connected CRFs(https://arxiv.org/pdf/1412.7062v3.pdf)收录:ICLR 2015 (International Conference on Learning Representatio

2021-02-10 10:32:57 7280 21

转载 YOLOv5实现半标注

转载:https://blog.csdn.net/qq_39056987/article/details/111030600序言在模型训练阶段,难免会遇到大量标注的时候,当拿到一批未标注的数据的时候,一想到要标个几天几夜就头大。如果是公司有自己的数据标注师还好,如果没有的话还要自己动手,这就太浪费时间。为什么不能借用已有的模型来进行预标注呢?答案肯定是可以的。本文记录一下自己常用的yolov5作为预标注的使用过程。一、预标注流程使用yolov5官方权重进行推理得到box的坐标,如果你需要标注的类别在

2020-12-23 11:36:22 1388

原创 python 二维列表/数组变成一维列表/数组

在实际应用的过程中,遇到列表或是数组的维数不同,需要变换的问题,如二维列表变成了一维列表我的办法是将二维的列表先变成二维的数组,然后用np.nditer()函数操作方便简单。例如:m = np.arange(6).reshape(2,3)print("m,原始数组:\n",m)n = []for x in np.nditer(m): print(x) n.append(x)print("n,新列表:",n)输出:原始数组:[[0 1 2][3 4 5]]012

2020-11-14 08:51:29 7005

原创 新的激活函数Funnel ReLU和 Dynamic ReLU

Funnel ReLU论文地址:https://arxiv.org/pdf/2007.11824.pdf代码地址:https://github.com/megvii-model/FunnelAct非线性激活层地作用是对卷积层地线性输出进行非线性变换。比如:ReLU,PReLU,sigmoid等激活函数。详情可看:https://blog.csdn.net/yx868yx/article/details/106583017FReLU是专门为视觉任务设计的,概念上很简单:ReLU对激活值为非正的部分用0

2020-09-24 09:36:00 1467 4

原创 python 3.5以上的版本安装pydensecrf

https://blog.csdn.net/hezhongla0811/article/details/100889466亲测有效环境: python3.6.5 win7 和python3.6.8 Linux 都可以用附:https://zhuanlan.zhihu.com/p/64854535(分割后处理)

2020-09-18 09:59:14 321

转载 pytorch使用Apex混合精度加速训练

Apex官网:https://nvidia.github.io/apex/amp.html这篇博客讲的非常好PyTorch必备神器 | 唯快不破:基于Apex的混合精度加速1.安装使用pip安装后会出错TypeError: Class advice impossible in Python3. Use the @Implementerclass decorator instead.解决方法:$ pip uninstall apex$ git clone https://www.gith

2020-09-03 15:12:10 1114

转载 ImportError: cannot import name ‘_validate_lengths‘ 解决方法

numpy升级以后遇到以上错误,版本变化函数名称发生变化:根据错误提示点击到arrycrop.py文件加入下面语句修改前:import numpy as npfrom numpy.lib.arraypad import _validate_lengths修改后:import numpy as npfrom distutils.version import LooseVersion as Versionold_numpy = Version(np.__version__) < Vers

2020-08-31 10:30:08 137

原创 CV中的特征融合SFAM、ASFF、BiFPN、Hyper column

1、SFAMSFAM(尺度特征聚合模块)在端到端的one-stage目标检测器M2Det中提出,M2Det利用主干网络和MLFPN进行特征提取,然后与SSD类似,根据学到的特征,产生密集的bounding box和类别得分,再利用NMS产生最后的位置和类别预测结果。MLFPN包括三个模块:FFM(特征融合模块),TUM(瘦U型模块),SFAM(尺度特征聚合模块)。先看MLFPN的整体流程:FFMv1通过融合主干的特征图将语义信息扩充成基本特征。每一个TUM模块生成一组多尺度的特征,然后通过交替连接的多

2020-07-16 17:25:28 20464 4

原创 CV中的attention机制SE、CBAM、Triplet、DCANet

1、SESENet是Squeeze-and-Excitation Networks的简称,拿到了ImageNet2017分类比赛冠军,其效果得到了认可,其提出的SE模块思想简单,易于实现,并且很容易可以加载到现有的网络模型框架中。SENet主要是学习了channel之间的相关性,筛选出了针对通道的注意力,稍微增加了一点计算量,但是效果比较好。通过上图可以理解他的实现过程,通过对卷积的到的feature map进行处理,得到一个和通道数一样的一维向量作为每个通道的评价分数,然后将改分数分别施加到对应的通

2020-07-11 16:27:00 6649

原创 后处理方法NMS、Soft-NMS、 Softer-NMS、WBC、DIoUNMS 、NMS替代算法Confluence

1、 NMS非最大抑制(NMS)主要用于基于深度学习的目标检测模型输出的后处理,从而去除冗余的检测框,获得正确的检测结果。算法流程:将网络输出框集合B按照置信度分数S从高到低的顺序排序,定义D为最终检测框集合,Nt 为 NMS 阈值。当B不为空集时:①m为置信度分数最高的框,将m放入D,并将它从B中删除②对于B中余下的每个框bi:如果 iou(m,bi)≥Ntiou(m,bi)≥N_tiou(m,bi)≥Nt​,则将bi从B中删除返回检测结果D通过分析可以发现NMS存在以下几个缺陷:①稠密

2020-07-10 15:42:51 5124

原创 增强感受野SPP、ASPP、RFB、PPM

1、SPP(Spatial Pyramid Pooling)SPP模块是何凯明大神在2015年的论文《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》中被提出。由于CNN网络后面接的全连接层需要固定的输入大小,故往往通过将输入图像resize到固定大小的方式输入卷积网络,这会造成几何失真影响精度。SPP模块就解决了这一问题,他通过三种尺度的池化,将任意大小的特征图固定为相同长度的特征向量,传输给全

2020-07-06 15:21:50 26493 16

原创 目标检测回归损失函数小结IOU、GIOU、DIOU、CIOU

L1 loss本方法由微软rgb大神提出,Fast RCNN论文提出该方法。假设x为预测框和真实框之间的数值差异,常用的L1 Loss定义为: L1=∣x∣L_1=|x|L1​=∣x∣导数:L2 Loss定义为:L2=x2L_2=x^2L2​=x2导数:smoothL1 Loss定义为:导数:从损失函数对x的导数可知: L1损失函数对x的导数为常数,在训练后期,x很小时,如果learning rate 不变,损失函数会在稳定值附近波动,很难收敛到更高的精度。 L2 损失函数对x的导

2020-06-17 09:04:43 3166 2

原创 激活函数总结

如果神经网络没有激活函数。在这种情况下,每个神经元只会利用权重和偏差对输入信息进行线性变换。虽然线性变换使神经网络更简单,但这个网络的功能会变得更弱,并无法从数据中学习复杂的模式。没有激活函数的神经网络本质上只是一个线性回归模型。因此,我们对神经元的输入进行非线性变换,而神经网络中的这种非线性是由激活函数引入的。sigmoid函数(sigmoid function)或logistic函数(logistic function)称为logistic函数的原因为该函数是两类别逻辑回归模型的预测表达式1、Si

2020-06-06 11:11:02 2311

原创 用QT调用opencv DNN 库中的SSD算法做个简单的界面

界面效果如下:1、用QPainter 画背景图2、QPushButton(本地上传和检测),当点击本地上传时打开本地文件夹选择要检测的图片;点击检测按钮时才会检测图片3、label显示,显示上传的图片和检测后的图片4、textEdit,显示检测后的精度,更换图片就清空1、在.pro中加入opencv编译库DEFINES += QT_DEPRECATED_WARNINGSINCLUD...

2020-05-16 15:15:14 582

原创 OpenCV使用Cmake和MinGW编译安装在QT中配置运行

一、软件环境:Win7-64bitQt-5.14.0MinGW-7.3.0-32bitCMake-3.16.5Opencv3.4.7我的主机上已经有QT和MinGW,只需下载CMake和Opencv。1、opencv下载地址:https://sourceforge.net/p/opencvlibrary/activity/?page=0&limit=100#5dfd53da...

2020-05-16 15:10:58 1814

原创 Jetson TX2刷机及模型调用

一、刷机刚买回来的TX2装的是纯净的Ubantu 16.04的系统,需要刷机,用到ubuntu系统的主机,HDMI显示屏等Jetson TX2 自带ubuntu 16.04 系统,首次开机时,进入的是以nvidia用户登录的Ubuntu命令行界面。如果要使用图形化界面,需要安装Nvidia Linux驱动,Nvidia 驱动安装通过sudo su 输入密码:nvidia,切换root权限用户。...

2020-05-14 17:36:20 1036

原创 Tensorflow在手机端的部署(TF Lite)

环境:Win7-64位专业版Android Studio:3.4.1tensorflow : 1.9.0一、利用Android的camera做分类的demo1、安装Android Studio 以及SDK、NDK等直接去官网下载即可,可参考https://blog.csdn.net/c20081052/article/details/82865830有详细的安装过程2、运行demo在...

2020-05-14 17:33:36 1467

原创 离线下载安装 NLTK 的 nltk_data 模块和punk

在做数据分析的时候,遇到没有下载stopwords的错误LookupError: ********************************************************************** Resource stopwords not found. Please use the NLTK Downloader to obtain the resource: >>> import nltk >>> nltk.downl

2020-05-10 12:17:46 1330

原创 ubuntu 上多个cudu 版本共存并可以随时切换

我原来的环境配置是cuda9.0+cudnn7.0后来安装Tensorrt的时候我把cudnn升级成7.5但是有很多工程的cuda 都升级到10,不想更换的情况下,就想着让多个cuda共存,切换着用。之前装cuda时加过的环境变量export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local...

2020-05-08 16:51:19 2546

原创 TensorTR安装及使用流程

1、TensorRT简介:一般的深度学习项目,训练时为了加快速度,会使用多GPU分布式训练。但在部署推理时,为了降低成本,往往使用单个GPU机器甚至嵌入式平台(比如 NVIDIA Jetson)进行部署,部署端也要有与训练时相同的深度学习环境,如caffe,TensorFlow等 。由于训练的网络模型可能会很大(比如,inception,resnet等),参数很多,而且部署端的机器性能存在差异...

2020-05-07 09:01:54 1142

原创 用selenium 时 WebDriverException:Message: 'chromedriver' executable needs to be in PATH问题解决

用爬虫爬取信息时发生如下错误:Traceback (most recent call last):File “D:\Users\dell\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py”, line 76, in startstdin=PIPE)File “D:\Users\dell\Anaconda3\...

2020-05-06 20:42:15 2031

原创 基于Pytorch框架下的YOLOV3剪枝算法实现

代码:https://github.com/Lam1360/YOLOv3-model-pruning算法:https://arxiv.org/abs/1708.06519 ,代码基于论文 Learning Efficient Convolutional Networks Through Network Slimming (ICCV 2017) 进行改进实现的 channel pruning算法,...

2020-05-04 20:52:07 1701 21

原创 一种剪枝算法实现

为了在加速运行深度学习模型,目前实现的方式基本分为两类:一是深度学习框架层面的加速,另一个方向是深度学习模型层面的加速。深度学习模型的加速又可以分为采用新的卷积算子来加速模型,另一个方向是通过对已有模型进行剪枝操作得到一个参数更少的模型来加速模型。通过观察深度学习模型,可以发现其中很多kernel的权重很小,均在-1~1之间震荡,对于这些绝对值很小的参数,可以视其对整体模型贡献很小,将其删除,...

2020-05-04 20:51:22 1055

原创 使用opencv python调用darknet yolov3模型

1、调用已经训练好的yolov3模型,我训练的是VOC风格的person数据集,10000步数,如下新建文件夹,存放已经训练好的权重文件(yolov3-voc_10000.weights),配置文件(yolov3-voc.cfg)和标签名字文件(voc.names)2、新建python文件,我的为test_yolov3.py,具体如下:import numpy as npimport c...

2020-05-03 10:15:00 2644 13

原创 使用opencv python导入tensorflow训练的Object Detection模型并进行预测

训练好的模型想用于视频中物体的识别和跟踪,由于opencv用于视频和图片的处理非常方便,所以想用opencv直接导入tensorflow训练好的模型。opencv从3.3版本开始正式支持DNN,可以直接导入caffe、tensorflow等框架训练好的模型,进而完成识别、检测等任务。opencv加载tensorflow训练好的模型,采用readNetFromTensorflow(model,c...

2020-05-03 10:13:28 639 1

原创 调用百度人脸识别api检测颜值和识别车牌

一、平台接入1.打开https://ai.baidu.com/进入控制台,选择文字识别服务。2.创建应用,如图示:创建完毕,点击“返回应用列表”此处显示AK,SK,后面程序中会用到二、人脸识别调用步骤调用主要有三步:获取access_token将图片处理成base64编码格式post请求访问接口得到结果1.获取access_token官方给的python示例代码,不过...

2020-05-03 10:12:16 906

空空如也

空空如也

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

TA关注的人

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