- 博客(78)
- 资源 (2)
- 收藏
- 关注
原创 损失函数总结
loss function目标检测回归损失函数L1 Loss (MAE)L2 Loss (MSE)Smooth L1 Loss目标检测回归损失函数L1 Loss (MAE)L1 Loss 也称为平均绝对值误差(MAE),是指模型预测值 f(x) 和真实值 y 之间绝对差值的平均值,公式如下:优点:L1损失函数的导数是常量,有着稳定的梯度,所以不会有梯度爆炸的问题。对于离群点造成的惩罚是固定的,不会被放大。缺点:MAE函数虽然连续,但是在0处不可导。而且MAE的导数为常数,所以在较小的损失值时,
2022-05-26 12:23:38
776
原创 NMS算法
非极大值抑制算法----NMS算法概念算法原理及流程算法局限和改进算法概念在检测算法中,用于去掉有大量重叠的检测框,保留质量最高的检测框。算法原理及流程将所有检测框按置信度由高到低排序:A>B>C>D>E>F;取出当前置信度最高的框 A,并删除和这个框IOU超过阈值的框 B、D,剩下的框C、E、F;对于2中过滤后的检测框 C>E>F重复2,直到所有框处理完。算法局限和改进局限首先所有框是按分类置信度得分排序,分类置信度是分类分支的结果
2022-04-13 23:25:11
1597
原创 色彩迁移算法
色彩迁移算法色彩迁移算法代码实现色彩迁移算法论文《Color Transfer between Images》原理:在 lab 色彩空间下,调整两幅图像的每个通道,使得均值和方差差不多代码实现OpenCV里面集成了这个算法:pip install color_transfer 使用的时候,image_transfer = color_transfer.color_transfer(source, target)自己复现:(python 版本)""" 2022.1.5
2022-01-06 16:04:55
1146
原创 R-CNN系列算法解读
Mask-RCNN算法详细解读R-CNN系列from R-CNN to Mask-RCNNsliding windows detectorSelective searchR-CNNFast R-CNNMask-RCNNR-CNN系列from R-CNN to Mask-RCNNR-CNNFast R-CNNFaster R-CNNFPNFPN + RPN + Fast R-CNNFPN + RPN + Fast R-CNN + Mask Predictionsliding window
2021-12-23 15:43:19
1363
原创 目标跟踪算法
Deepsortsort(SIMPLE ONLINE AND REALTIME TRACKING)算法研究算法提出sort(SIMPLE ONLINE AND REALTIME TRACKING)算法研究算法提出2016年提出,
2021-11-23 15:20:09
101
原创 windows / linux 安装 cuda/cudnn
cuda/cudnn安装ubuntu18.04安装cuda/cudnn安装cuda安装cudnnubuntu18.04安装cuda/cudnn安装cuda进入官方下载页面选择需要的cuda版本,cuda下载,注意可能需要登录英伟达账号。选择好需要的cuda信息后,会生成安装命令:例如我需要的版本是cuda11.3.1,在命令行终端运行下面的第一个命令即可下载,下载完成后运行第二个命令进行安装。wget https://developer.download.nvidia.com/compute
2021-10-28 15:49:32
590
原创 深度学习模型部署概述
模型部署概述常见部署需求与做法关键:部署的方式取决于需求常见部署需求与做法【1】简单的demo演示,只要看看效果的—》选择深度学习框架 caffe、tf、pytorch、keras等,采用Python跑一跑,可以写个GUI,或者使用CPython封装成c++接口,使用c++工程调用。【2】 放到服务器上去跑,但不要求吞吐、不要求时延—》选择深度学习框架 caffe、tf、pytorch、keras等,按照官方的部署教程,用C++进行部署;例如 pytorch 模型用工具导到 libtorc
2021-09-28 11:22:48
856
原创 YOLO-V3算法解读
YOLO-V3改进方法概述改进细节改进方法概述yolo-v3 最大的改进就是网络结构,使其更适合小目标检测特征做的更细致,融入多持续特征图信息来预测不同规格的物体;先验框更丰富了,3种 scale,每种3个规格,一共9种yolo-v3希望检测效果变得更好softmax改进,预测多标签任务改进细节多Scale为了能检测到不同大小的物体,设计了3个scale(13x13 、26x26、52x52)scale变换经典方法图像金字塔:如果在yolo中使用的话,速度太慢了FPN
2021-09-08 16:58:26
661
原创 YOLO-V2算法解读
YOLO-V2算法算法改进细节算法改进细节加入Batch Normalization更大的分辨率:high resolution classifier网络架构: Darknet-19(1)实际输入为 416 x 416(2)去掉 FC 层,使用5次降采样(尺寸缩小32倍),得到 13 x 13 的特征图(3)使用 3 x 3 的卷积核借鉴了VGG的思想:小的卷积核,参数比较少,感受野比较大(4)使用 1 x 1 的卷积核只改变了网络特征图的个数,以降低模型计算量和参数
2021-09-08 14:45:58
218
原创 YOLO-V1算法解读
YOLO-V1认识YOLO-V1算法整体解读核心思想网络架构解读损失函数认识YOLO-V1优势对比算法整体解读核心思想将输入的图片划分为网格(把输入数据分成很多个小格子),然后每个小格子要产生两种候选框(v1版本只产生两种,当然实际中那么多物体,两种肯定不够用),接着每个格子产生的候选框都要去跟实际的物体框进行比较,看匹配的怎么样(计算IOU呀),当然还要预测一个置信度,置信度表示当前的回归框是一个物体的概率,所以,每一个小格子预测的内容为(x,y,w,h,confidence),最终
2021-09-02 11:34:47
245
原创 目标检测方法概述
目标检测方法检测方法中阶段的含义(one-stage/two-stage)指标分析mAP检测方法中阶段的含义(one-stage/two-stage)阶段: one-stage网络生成的anchor框只是一个逻辑结构,或者只是一个数据块,只需要对这个数据块进行分类和回归就可以;two-stage网络生成的 anchor框会映射到 feature map 的区域(rcnn除外),然后将该区域重新输入到全连接层进行分类和回归,每个anchor映射的区域都要进行这样的分类和回归,所以它非常耗时。one-s
2021-08-30 15:56:36
368
原创 argparse 用法总结
argparse用法总结作用使用流程应用作用在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。使用流程首先导入模块:import argparse创建一个解析对象:parser = argparse.ArgumentParser(description="your script description")description参数用于描述脚本用途的信息,可以为空向该对象中添加你要关注的命令行参数和选项:parser.add_argument()进行解析:
2021-08-25 17:24:55
228
原创 PIL库的一些使用
PIL库PIL库介绍图像缩放操作resizethumbnail两者的区别图像裁切操作cropPIL库介绍Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。注意:PIL.Image.open打开的图像size是(宽,高)图像缩放操作resizeresize 方法可以将原始的图像转换大小:resize(size,resample,box)size是转换之后的大小;resample是重新采样使用的方法,有
2021-08-24 21:24:35
429
原创 Matplotlib 绘图原理总结
Matplotlib 绘图介绍绘图原理绘图分解介绍Matplotlib 是基于 Python 的开源项目,旨在为 Python 提供一个数据绘图包。绘图原理在 Matplotlib 中,整个图像为一个 Figure 对象,在 Figure 对象中可以包含一个或多个 Axes 对象:# 理解matplot的画图原理def matplotlib_theory(): # 创建Figure对象 fig = Figure() # 将figure放入画布对象,FigureC
2021-08-06 10:47:23
723
原创 3D目标检测框架【OpenPCDet】 环境搭建
OpenPCDet框架环境搭建安装说明ubuntu16.04配置OpenPCDet(1) 安装cuda(2) 创建 conda 环境,安装基本库(3) 安装spconv1.2.1(4) 安装OpenPCDet(5) 安装mayavi(6) Demo测试安装说明OpenPCDet官方项目:OpenPCD Github安装环境可参考官方说明,因为其中的库 spconv 只支持linux,因此环境需要在linux下面配置,当然某些算法 不涉及spconv库,可以尝试在windos中配置环境ubuntu
2021-07-26 14:58:40
883
1
原创 ubuntu 配置ftp 服务器 并访问
ubuntu 配置 ftp 服务器(1)在 Ubuntu 中安装 VSFTPD 服务器sudo apt-get updatesudo apt-get install vsftpd一旦安装完成,初始情况下服务被禁用。因此,我们需要手动开启服务,同时,启动它使得在下次开机时能够自动开启服务:systemctl start vsftpdsystemctl enable vsftpdservice vsftpd startchkconfig --level 35 vsftpd on(2
2021-06-29 15:02:00
1999
原创 ubuntu18.04 ROS 安装源设置
# 这里的是18.04的镜像需要根据不同版本进行选择 # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe mul
2021-06-25 14:32:29
502
1
原创 实现配置文档的读取
读取配置文档配置文档读取配置文档配置文档.data配置文件:如下图为配置文档 coco.data,其中包括类别数、训练数据集路径、验证集数据路径、类别名文件等等读取配置文档读取.data配置文件def parse_data_config(path): """Parse the data configuration file""" options = dict() with open(path, 'r') as fp: lines = fp.readlines() for li
2021-05-25 13:55:03
251
原创 python 通过内置模块 ctypes 调用c/c++ sdk
python ctypes 调用c/c++ sdk ctypes模块介绍ctypes模块使用导入动态链接库(.dll、.so)数据类型ctypes模块介绍模块ctypes是Python内建的用于调用动态链接库函数的功能模块,一定程度上可以用于Python与其他语言的混合编程。由于编写动态链接库,使用C/C++是最常见的方式,故ctypes最常用于Python与C/C++混合编程之中。ctypes 实现了一系列的类型转换方法,Python的数据类型会包装或直接推算为C类型,作为函数的调用参数;函数的返
2021-05-24 16:31:03
1469
1
原创 Opencv4--仿射变换和透视变换
仿射变换和透视变换引言仿射变换和透视变换概念OpenCV函数封装引言我们在拍摄物体时,由于存在倾斜,拍摄图像中的物体难免会出现形变!因此我们需要对此类物体进行矫正处理!仿射变换和透视变换概念其实仿射变换和透视变换更直观的叫法可以叫做「平面变换」和「空间变换」或者「二维坐标变换」和「三维坐标变换」。如果这么命名的话,其实很显然,这俩是一回事,只不过一个是二维坐标(x,y),一个是三维坐标(x,y,z)从另一个角度也能说明三维变换和二维变换的意思,仿射变换的方程组有6个未知数,所以要求解就需
2021-04-14 11:00:22
918
原创 python--简介
python简介关于python安装python关于pythonPython是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。python优点:内置库丰富,第三方库更多,开发效率高!python缺点:和c语言等编译型语言相比,运行速度慢(差不多100倍);代码不能加密能做什么:日常任务,日常需要的小工具;大型网站开发(YouTube、Instagram,还有国内的豆瓣);在线游戏的后台;把其他语言开发的程序再包装起来,方便使
2021-03-08 22:28:49
205
原创 Deep learning with python --深度学习与视觉
卷积神经网络关于卷积的理解卷积运算最大池化运算深度学习局限性关于卷积的理解关于卷积的故事这就是卷积公式,它本质上说系统(人)在连续激励下(挨板子)所的得到的结果(疼)。翻译的学术一点:卷积将是过去所有连续信号经过系统的响应之后得到的在观察那一刻的加权叠加。而现实生活中,我们就是要解大量的这种问题,这也就是为啥卷积这么常见这么重要的原因。卷积定理: 卷积定理是傅立叶变换满足的一个重要性质。卷积定理指出,函数卷积的傅立叶变换是函数傅立叶变换的乘积。具体分为时域卷积定理和频域卷积定理,时域卷积定理即时
2021-02-23 22:17:48
363
原创 windows 搭建深度学习环境
搭建深度学习环境1 安装AnaConda 或者 MiniConda2 创建虚拟环境3 安装函数库4 Pycharm中配置安装的虚拟环境,进行开发1 安装AnaConda 或者 MiniConda安装AnaConda和MiniConda其中一个即可,安装过程是一样的,以Anaconda举例说明。安装步骤:(1)下载 Anaconda :官网 或者 清华镜像网站(2)下载需要的版本即可,安装的时候注意最好使用默认路径,更换路径的话不要有中文,一定要勾选添加环境变量!(3)安装好后可以添加
2021-02-23 21:13:03
395
原创 Deep learning with python -- 机器学习基础
机器学习基础机器学习的四个分支1 监督学习 supervised learning2 无监督学习3 自监督学习4 强化学习评估机器学习模型训练集、验证集和测试集机器学习的四个分支1 监督学习 supervised learning概念: 给定一组样本(通常由人工标注),它可以学会将输入数据映射到已知目标(也叫标注annotation)应用: 主要包括分类和回归,还有很多变体:序列生成(sequence generation):给定一张图像,预测描述图像的文字。语法树预测(syntax tree
2021-02-20 16:05:54
691
1
原创 Deep learning with python --什么是深度学习
什么是深度学习人工智能、机器学习与深度学习人工智能、机器学习与深度学习人工智能诞生于20世纪50年代,当时计算机科学领域提出问题:计算机能否 “ 思考” ?人工智能的简介定义为:努力通常由人类完成的智力任务自动化。从50年代到80年代人工智能的主流范式为:符号主义人工智能。特别是在80年代的专家系统,这一方法达到顶峰。...
2021-01-19 14:33:14
470
原创 windows maskrcnn 环境搭建 keras
这里写目录标题搭建步骤搭建步骤1 先看github项目的配置环境目录:github配置目录
2020-12-22 15:37:02
430
原创 OpenCV4图像处理--二值图像轮廓拟合
二值图轮廓拟合边界矩形1 直边界矩形2 旋转边界矩形外接圆椭圆拟合直线拟合极点源代码参考边界矩形1 直边界矩形一个直矩形(就是没有旋转的矩形)。它不会考虑对象是否旋转。 所以边界矩形的面积不是最小的。可以使用函数 cv2.boundingRect() 查找得到。 (x,y)为矩形左上角的坐标,(w,h)是矩形的宽和高。x,y,w,h = cv2.boundingRect(array)2 旋转边界矩形这个边界矩形是面积最小的,因为它考虑了对象的旋转。用到的函数为 cv2.minArea
2020-12-18 15:33:46
1920
原创 OpenCV4深度神经网路--图像缩放 opencv
图像缩放图像缩放概念图像缩放算法opencv函数实现图像缩放概念图像缩放,顾名思义就是对图像进行放大或缩小的改变,其本质就是改变图像的宽度和高度,可以放大宽高,也可以缩小宽高。图像缩放算法图像缩放算法主要有:最近领域插值算法、双线性插值算法、立方插值算法和像素关系重采样算法。其中,OpenCV 默认使用双线性插值算法对图像进行缩放。opencv函数实现API:cv2.resizeimg = cv2.resize(img, (300,400)) #修改图片的尺寸img = cv2.res
2020-12-17 10:49:09
300
原创 OpenCV4深度神经网路--神经网络基础
神经网络基础感知机原理神经网络深度神经网络感知机原理感知机可以说是最古老的分类方法之一了,在1957年就已经提出。今天看来它的分类模型在大多数时候泛化能力不强,但是它的原理却值得好好研究。因为研究透了感知机模型,学习支持向量机的话会降低不少难度。同时如果研究透了感知机模型,再学习神经网络,深度学习,也是一个很好的起点。感知机思想比如我们在一个平台上有很多的男孩女孩,感知机的模型就是尝试找到一条直线,能够把所有的男孩和女孩隔离开。放到三维空间或者更高维的空间,感知机的模型就是尝试找到一个超平面,能够
2020-10-31 15:29:45
707
1
原创 OpenCV4深度神经网路--深度神经网络模块介绍
OpenCV深度神经网络 DNN 介绍OpenCV DNN 模块OpenCV开发环境配置OpenCV DNN 模块模块介绍OpenCV DNN 中支持的模型,github介绍OpenCV DNN 中支持的功能图像分类、对象检测、图像分割、场景文字检测、人脸检测与识别OpenCV开发环境配置Win10 + vs2019 + Opencv4环境配置...
2020-10-30 10:56:24
532
原创 Vs2019+Qt+Opencv4 开发环境搭建
Vs2019+Qt+Opencv4开发环境开发环境思路说明环境搭建开发环境思路说明前面在我的博客中已经讲解过如何采用vs2019配置opencv进行项目开发,现在在vs2019中配置Qt,采用vs中的Qt Visual Studio Tools工具来使用Qt,即,在vs的Qt Visual Studio Tools中添加我们安装的Qt版本即可,然后opencv配置表和之前一样!环境搭建Vs2019+Qt+Opencv环境配置心得Windows安装qt与VS2019添加QT工具过程..
2020-10-30 09:36:25
673
原创 OpenCV4图像处理--图像的形态学
图像形态学图像形态学介绍结构和元素形状腐蚀和膨胀开闭操作形态学梯度黑帽与顶帽击中击不中图像形态学介绍形态学的应用: 主要针对二值图进行,消除噪声、边界提取、区域填充、连通分量提取、凸壳、细化、粗化等;分割出独立的图像元素,或者图像中相邻的元素;求取图像中明显的极大值区域和极小值区域;求取图像梯度。结构和元素形状膨胀和腐蚀操作的核心内容是结构元素,(后面的开闭运算等重要的也是结构元素的设计,一个合适的结构元素的设计可以带来很好的处理效果)一般来说结构元素是由元素为1或者0的矩阵组成。结构元素为
2020-10-29 16:43:28
1000
原创 OpenCV4图像处理--霍夫圆检测
霍夫圆检测霍夫圆检测原理API霍夫圆检测原理霍夫圆变换的基本原理和霍夫线变换类似, 只是点对应的二维极径极角空间被三维的圆心点x, y还有半径r空间取代;对直线来说, 一条直线能由参数极径极角 (r, \theta) 表示,而对圆来说, 我们需要三个参数来表示一个圆, 如上文所说现在原图像的边缘图像的任意点对应的经过这个点的所有可能圆是在三维空间有下面这三个参数来表示了,其对应一条三维空间的曲线. 那么与二维的霍夫线变换同样的道理, 对于多个边缘点越多这些点对应的三维空间曲线交于一点那么他们经过的共同
2020-10-29 10:12:44
1145
原创 OpenCV4图像处理--霍夫直线检测
霍夫直线检测霍夫直线检测原理霍夫直线检测步骤API霍夫直线检测原理霍夫变换 (Hough Transform)霍夫变换是图像处理必然接触到的一个算法,它通过一种投票算法检测具有特定形状的物体,该过程在一个参数空间中通过计算累计结果的局部最大值得到一个符合该特定形状的集合作为霍夫变换结果,该方法可以进行圆,直线,椭圆等形状的检测。例如:在车道线检测中,当初考虑的一个方案便是采用霍夫变换检测直线进行车道线提取。霍夫变换于1962年由 Paul Hough 首次提出,后于1972年由 Richard D
2020-10-28 19:51:59
2559
原创 OpenCV4图像处理--图像轮廓逼近与拟合
图像轮廓逼近与拟合轮廓逼近拟合轮廓逼近轮廓逼近的本质是减少编码点API:approxPolyDPCV_EXPORTS_W void approxPolyDP( InputArray curve, OutputArray approxCurve, double epsilon, bool closed );实例 Mat src1 = imread("F:/co
2020-10-28 14:30:02
1571
原创 OpenCV4图像处理--图像轮廓匹配
图像轮廓匹配图像的几何矩和Hu矩图像轮廓匹配计算图像的几何矩和Hu矩几何矩几何矩是由Hu(Visual pattern recognition by moment invariants)在1962年提出的,具有平移、旋转和尺度不变性。 定义如下:Hu矩图像轮廓匹配计算基于Hu矩轮廓匹配相关API: moments 和 HuMoments 和 matchShapes//计算几何矩CV_EXPORTS_W Moments moments( InputArray array,
2020-10-28 11:10:55
1470
原创 OpenCV4图像处理--图像轮廓计算
图像轮廓计算轮廓面积与周长对轮廓的其他计算轮廓面积与周长求解方法API: contourArea 和 arcLength//计算轮廓面积CV_EXPORTS_W double contourArea( InputArray contour, bool oriented = false );//计算轮廓周长CV_EXPORTS_W double arcLength( InputArray curve, bool closed );利用轮廓的面积和周长,对轮廓进行过滤Mat src
2020-10-28 09:46:19
921
1
Linux语音通信.zip
2020-07-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人