自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (12)
  • 收藏
  • 关注

原创 【五分钟会,半小时懂】卡尔曼滤波器(Kalman Filter)—目标跟踪(含源码)

卡尔曼滤波器在目标跟踪中的使用

2022-01-05 18:14:00 11826 14

原创 【五分钟会,半小时懂】人声分离Demucs

目录效果演示Demucs介绍Demucs的使用Demucs原理效果演示https://www.bilibili.com/video/BV123411i7ZY/https://www.bilibili.com/video/BV1BP4y1a7hG/Demucs介绍Demucs是Facebook开源的声音分离模型,简单易用,结构简单,现在很多应用都以Demucs作为baseline进行优化。Demucs提供了Demucs和Convs - .........

2021-09-09 08:20:09 4703 10

原创 Pytorch优化器全总结(二)Adadelta、RMSprop、Adam、Adamax、AdamW、NAdam、SparseAdam(重置版)

这篇文章是优化器系列的第二篇,也是最重要的一篇,上一篇文章介绍了几种基础的优化器,这篇文章讲介绍一些用的最多的优化器:Adadelta、RMSprop、Adam、Adamax、AdamW、NAdam、SparseAdam。这些优化器中Adadelta和RMSprop是对上一篇中Adagrad的优化;Adam结合了Momentum 和 RMSprop;Adamax、AdamW、NAdam又是对Adam的改进,可以看到优化器一步一步升级的过程,所以我们放在一篇文章中。

2022-09-16 06:21:49 7301 13

原创 Pytorch优化器全总结(二)Adadelta、RMSprop、Adam、Adamax、AdamW、NAdam、SparseAdam

这篇文章是优化器系列的第二篇,也是最重要的一篇,上一篇文章介绍了几种基础的优化器,这篇文章讲介绍一些用的最多的优化器:Adadelta、RMSprop、Adam、Adamax、AdamW、NAdam、SparseAdam。这些优化器中Adadelta和RMSprop是对上一篇中Adagrad的优化;Adam结合了Momentum 和 RMSprop;Adamax、AdamW、NAdam又是对Adam的改进,可以看到优化器一步一步升级的过程,所以我们放在一篇文章中。

2022-09-15 09:32:14 8741 8

原创 Pytorch优化器全总结(一)SGD、ASGD、Rprop、Adagrad

这是一个系列,以Pytorch为例,介绍所有主流的优化器,如果都搞明白了,对优化器算法的掌握也就差不多了。作为系列的第一篇文章,本文介绍Pytorch中的SGD、ASGD、Rprop、Adagrad,其中主要介绍SGD和Adagrad。因为这四个优化器出现的比较早,都存在一些硬伤,而作为现在主流优化器的基础又跳不过,所以作为开端吧。

2022-09-06 10:34:18 25553 31

原创 最大似然估计和最小二乘法 含代码

最大似然估计和最小二乘法是机器学习中经常用到的两种方法,它们既有区别又有千丝万缕的联系,而且容易搞混,今天我们以简单的线性回归为例(简单到没有偏执,只有权重w),简单介绍一下两种算法。...

2022-07-29 14:21:27 1496 8

原创 波士顿房价数据集 Boston house prices dataset

因为涉及种族问题(有一个和黑人人口占比相关的变量B),波士顿房价这个数据集将在sklearn 1.2版本中被移除。在这里记录一下。

2022-07-28 17:47:59 1876

原创 深度学习参数初始化(二)Kaiming初始化 含代码

Xavier初始化在ReLU层表现不好,主要原因是relu层会将负数映射到0,影响整体方差。而且Xavier初始化方法适用的激活函数有限:要求关于0对称;线性。而ReLU激活函数并不满足这些条件,实验也可以验证Xavier初始化确实不适用于ReLU激活函数。所以何恺明在对此做了改进,提出Kaiming初始化,一开始主要应用于计算机视觉、卷积网络。...

2022-07-13 14:00:01 1565 10

原创 深度学习参数初始化(一)Xavier初始化 含代码

Xavier初始化也称为Glorot初始化,因为发明人为Xavier Glorot。Xavier initialization是 Glorot 等人为了解决随机初始化的问题提出来的另一种初始化方法,他们的思想就是尽可能的让输入和输出服从相同的分布,这样就能够避免后面层的激活函数的输出值趋向于0。........................

2022-06-30 19:54:45 1702 10

原创 Python 去掉文本中的HTML

Python 去掉文本中的HTML,同时还去掉了回车、空格、制表符、JS、CSS

2022-06-10 16:54:56 176 1

原创 损失函数大全Cross Entropy Loss/Weighted Loss/Focal Loss/Dice Soft Loss/Soft IoU Loss

目录一、cross entropy loss二、weighted loss三、focal loss四、dice soft loss五、soft IoU loss总结:一、cross entropy loss用于图像语义分割任务的最常用损失函数是像素级别的交叉熵损失,这种损失会逐个检查每个像素,将对每个像素类别的预测结果(概率分布向量)与我们的独热编码标签向量进行比较。假设我们需要对每个像素的预测类别有5个,则预测的概率分布向量长度为5:每个像素对应的损失函

2022-05-26 09:14:15 336 2

原创 Hough变换原理-直线检测

霍夫变换(Hough Transform)是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体。import cv2def HoughLinesP_demo(img_path): img = cv2.imread(img_path) org = img.copy() img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 阈值计算 ret, img = cv2.threshold(img, ..

2022-05-25 08:56:19 678 7

原创 通俗解读人脸检测框架-RetinaFace

2019年何凯明提出Focal Loss时为了验证Focal Loss的可行性,顺便(没错,就是顺便)提出了RetinaNet。RetinaFace是在RetinaNet基础上引申出来的人脸检测框架,所以大致结构和RetinaNet非常像。

2022-05-10 16:24:06 2894 14

原创 全网首发,Swin Transformer+FaceNet实现人脸识别

一、 简介与其他的深度学习方法在人脸上的应用不同,FaceNet并没有用传统的softmax的方式去进行分类学习,然后抽取其中某一层作为特征,而是直接进行端对端学习一个从图像到欧式空间的编码方法,然后基于这个编码再做人脸识别、人脸验证和人脸聚类等。FaceNet主要有两个重点:Backbone和Triplet loss。我们也将主要从这两个方面介绍。代码:oaifaye/facenet-swim-transformer二、Swin Transformer作为Backbone......

2022-05-04 15:33:36 2225 10

原创 ubuntu彻底卸载Nvidia显卡驱动

一、环境ubuntu 18.04.4 LTS二、卸载显卡驱动1.执行卸载sudo apt-get --purge remove nvidia*sudo apt autoremove2.如果也要卸载CUDA:sudo apt-get --purge remove "*cublas*" "cuda*"三、禁用 Nouveau 驱动在安装新的驱动时如果发生如下报错,则需要禁用Nouveau 驱动:ERROR: The Nouveau kernel driver is

2022-04-11 11:27:00 12419

原创 一文看懂pytorch转换ONNX再转换TenserRT

pytorch转换ONNX再转换TenserRT

2022-04-08 18:12:54 2078 1

原创 Ubuntu安装CUDA和cuDNN

系统:Ubuntu 18.04.4CUDA:cuda_11.0.2_450.51.05_linuxcuDNN:cudnn-11.1-linux-x64-v8.0.5.39显卡驱动版本:450.80.02

2022-04-08 17:43:08 2385

原创 机器学习模型评估指标总结

本文对机器学习模型评估指标进行了完整总结。机器学习的数据集一般被划分为训练集和测试集,训练集用于训练模型,测试集则用于评估模型。针对不同的机器学习问题(分类、排序、回归、序列预测等),评估指标决定了我们如何衡量模型的好坏。

2022-03-22 15:07:59 275

原创 OpenCV 模板匹配

下面的代码是在img中找templateimport cv2 def get_sing_loc(img, template): ''' methods = ['cv2.TM_CCOEFF', 'cv2.TM_CCOEFF_NORMED', 'cv2.TM_CCORR', 'cv2.TM_CCORR_NORMED', 'cv2.TM_SQDIFF', 'cv2.TM_SQDIFF_NORMED'] :return.

2022-03-19 07:22:22 4068

原创 python 图片打水印 透明图片合并

下面的例子是将img2作为水印打到bg上,注意:img2是一个背景透明的pngimport cv2from PIL import Imagedef merge_image(bg, img2, top_left): # 打开背景 bg = Image.fromarray(bg.astype('uint8')).convert('RGB') # 创建底图 target = Image.new('RGBA', (bg.size[0], bg.size[1]), (0,

2022-03-09 12:32:28 3534

原创 深度学习调参tricks总结

寻找合适的学习率(learning rate)学习率是一个非常非常重要的超参数,这个参数呢,面对不同规模、不同batch-size、不同优化方式、不同数据集,其最合适的值都是不确定的,我们无法光凭经验来准确地确定lr的值,我们唯一可以做的,就是在训练中不断寻找最合适当前状态的学习率。比如下图利用fastai中的lr_find()函数寻找合适的学习率,根据下方的学习率-损失曲线得到此时合适的学习率为1e-2。推荐一篇fastai首席设计师「Sylvain Gugger」的一篇博客:How Do

2022-02-10 10:55:41 361 1

原创 一图看懂DeepSORT整个大流程,多目标跟踪

​多目标跟踪,在DeepSORT提出之前是SORT算法(SORT论文链接),但是它对身份变换的问题,仅仅采取框和框之间距离的匹配方式,没有考虑框内的内容,所以容易发生ID-switch,不过这个问题已经在2017年的论文中进行了解决,即我们今天要介绍的DeepSORT。...

2022-01-28 14:06:39 8600

原创 OpenCV读取视频、存储视频、跳帧、分辨率、总帧数

def read_write(): ''' 文件扩展名.avi: cv2.VideoWriter_fourcc('I','4','2','0')---未压缩的YUV颜色编码,4:2:0色度子采样。兼容性好,但文件较大。 cv2.VideoWriter_fourcc('P','I','M','1')---MPEG-1编码类型。随机访问,灵活的帧率、可变的图像尺寸、定义了I-帧、P-帧和B-帧 、运动补偿可跨越多个帧 、半像素精度的运动向量 、量化矩阵、GOF.

2021-12-22 08:09:57 866 1

原创 熵、联合熵、相对熵、交叉熵、JS散度、互信息、条件熵

一、熵对于离散型随机变量,当它服从均匀分布时,熵有极大值。取某一个值的概率为1,取其他所有值的概率为0时,熵有极小值(此时随机变量退化成确定的变量)。对于离散型随机变量,假设概率质量函数为p(x),熵是如下多元函数 :伯努利分布的熵为:对于连续型随机变量,假设概率密度函数为p(x),熵(也称为微Differential Entropy分熵 )定义为:二、联合熵联合熵(Joint Entropy)是熵对多维概...

2021-12-10 19:29:25 1589 3

原创 faiss 三种基础索引方式

faiss 三个最基础的 index. 分别是IndexFlatL2,IndexIVFFlat,IndexIVFPQ一、IndexFlatL2 - 最基础的IndexIndexFlatL2索引的结果是精确的,可以用来作为其他索引测试中准确性程度的参考.搜索时,可以以查询向量为中心,返回距离在一定范围内的结果,如返回数据库中与查询向量距离小于0.3的结果。支持IndexFlat, IndexIVFFlat,只支持在CPU使用。import numpy as npimp...

2021-12-07 15:56:08 1457

原创 熵为什么使用log?

首先,信息也是物理量,就像质量kg,我们测量质量的方法是,我们选择一个参照物,把这个物体的质量定义为1kg,当想要测量其它物体的质量时就看这个这个物体的质量相当于多少个参照物的质量,这里的多少个便是kg。上图中待测物体的质量m等于参照物体的质量B乘以参照物体的个数n,所以当知道总质量m要求个数n时,我们用乘法的反函数,既除法来计算。 但是测量信息时,不能用除法,比如抛掷3枚硬币能够产生的结果是2的3次方=8种,而不是2*3=6种,是指数关系而...

2021-12-03 17:26:13 713 5

原创 ncnn中Yolov3DetectionOutput层各个参数的含义

Yolov3DetectionOutput detection_out 2 1 output1 output2 output 0=20 1=3 2=0.500000 3=0.300000 -23304=12,23.000000,27.000000,37.000000,58.000000,81.000000,82.000000,81.000000,82.000000,135.000000,169.000000,344.000000,319.000000 -23305=6,3.000000,4.

2021-11-19 16:43:43 330

原创 VS2015搭建NCNN开发环境

一、简介NCNN的编译依赖OpenCV和Protobuf,所以需要总共需要安装三个东西。二、安装OpenCV1、下载OpenCVReleases - OpenCV 一般选择最新版,这里以3.4.16为例。2、选择喜欢的目录安装,这里以E:/soft-setup为例,安装之后生成下面几个文件。3、添加path(vs2015对应:E:\soft-setup\opencv\build\x64\vc14\bin;vs2017对应:E:\soft-setup\opencv\buil...

2021-11-15 07:30:00 506

原创 ONNX转换NCNN

ncnn编译依赖OpenCV和protobuf一、安装OnenCV下载Releases · opencv/opencv · GitHub以OpenCV 4.5.4为例,下载Source code(zip),##源码编译unzip opencv-4.5.4.zipcd opencv-4.5.4mkdir buildcd buildcmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..mak..

2021-11-04 14:19:22 3575 4

原创 python计算线段角度

返回值范围0-360def angle(x1, y1, x2, y2): if x1 == x2: return 90 if y1 == y2: return 180 k = -(y2 - y1) / (x2 - x1) # 求反正切,再将得到的弧度转换为度 result = np.arctan(k) * 57.29577 # 234象限 if x1 > x2 and y1 > y2: .

2021-10-29 16:37:40 902

原创 pytorch主流backbone实现

计算机视觉主流backbone收集源码https://github.com/oaifaye/backbone-pytorchdataset network params top1 err top5 err epoch(lr = 0.1) epoch(lr = 0.02) epoch(lr = 0.004) epoch(lr = 0.0008) total epoch cifar100 mobilenet 3.3M 34.0.

2021-09-29 13:17:32 284

原创 pytorch 计算网络参数个数

params = list(net.parameters())k = 0for i in params: l = 1 print("该层的结构:" + str(list(i.size()))) for j in i.size(): l *= j print("该层参数和:" + str(l)) k = k + lprint("总参数数量和:" + str(k))

2021-09-28 15:13:16 189

原创 OpenCV与二进制文件互相转换

一、硬盘读取二进制文件# 二进制转numpywith open(image_path, "rb") as file: jpg_bin = file.read() image = cv2.imdecode(np.asarray(bytearray(jpg_bin),dtype='uint8'), cv2.IMREAD_COLOR) # numpy转二进制with open(tmp_image_path, 'wb') as tmp_file: tmp_jpg_bin

2021-09-22 14:30:27 415

原创 PaddleOCR环境配置

PaddleOCR需要一些配置,这里主要记录cuDNN的配置。亲测PaddleOCR需要cuDNNv7.x,CUDA11.0x。这里以cuDNN7.6为例1.下载:cuDNNv7.6cuDNN Archive | NVIDIA Developer 我的CUDA是11.0,但是使用cuDNNv7.6.0 for CUDA10.1也能用,很奇怪。2.解压,打开所在文件夹,将里面的东西拷贝到CUDA根目录sudo cp cuda/include/cudnn.h /usr/local/cu..

2021-09-14 08:23:02 229

转载 机器学习领域必知必会的12种概率分布(附Python代码实现)

机器学习有其独特的数学基础,我们用微积分来处理变化无限小的函数,并计算它们的变化;我们使用线性代数来处理计算过程;我们还用概率论与统计学建模不确定性。在这其中,概率论有其独特的地位,模型的预测结果、学习过程、学习目标都可以通过概率的角度来理解。与此同时,从更细的角度来说,随机变量的概率分布也是我们必须理解的内容。在这篇文章中,项目作者介绍了所有你需要了解的统计分布,他还提供了每一种分布的实现代码。项目地址:https://github.com/graykode/distribution-is

2021-08-23 08:36:41 368 1

原创 OpenCV读取保存中文路径的图片

cv2是不能直接读取带有中文目录的图片,如果要读取中文目录的图片得借助numpyimport cv2import numpy as npimg_filename = "xx.jpg"读取src = cv2.imdecode(np.fromfile(img_filename, dtype=np.uint8), -1)保存savePath = "zz.jpg"cv2.imencode(".jpg", src)[1].tofile(savePath)...

2021-08-20 10:40:46 171

原创 OpenCV图像运动模糊

def motion_blur(img, degree=10, angle=20): image = img.copy() # 这里生成任意角度的运动模糊kernel的矩阵, degree越大,模糊程度越高 M = cv2.getRotationMatrix2D((degree / 2, degree / 2), angle, 1) motion_blur_kernel = np.diag(np.ones(degree)) motion_blur_kernel = .

2021-08-18 11:22:15 563

原创 Linux下安装MySQL

一、安装#命令1sudo apt-get update#命令2sudo apt-get install mysql-server二、初始化配置sudo mysql_secure_installation配置项较多,如下所示:#1VALIDATE PASSWORD PLUGIN can be used to test passwords...Press y|Y for Yes, any other key for No: N (我的选项)#2Please s.

2021-08-16 13:03:33 42

原创 【OpenCV】将图片黑色背景变成透明背景

tmp = cv2.cvtColor(crop_image, cv2.COLOR_BGR2GRAY)_, alpha = cv2.threshold(tmp, 0, 255, cv2.THRESH_BINARY)b, g, r = cv2.split(crop_image)rgba = [b, g, r, alpha]dst = cv2.merge(rgba, 4)# 注意保存成png格式!!!jpg的话还是黑色背景(255)cv2.imwrite("test.png", dst)...

2021-08-10 10:55:51 2310

原创 Flask读取本地资源供外部访问

如果资源不在static目录下,就需要自己写一个借口读取本地资源然后返回给客户端1.如果需要浏览器弹出下载框进行下载:@app.route('/read_img/<file_name>')def read_img(file_path, file_name): if file_name.find('/') > 0: return return send_from_directory(file_path, filename=file_name, as

2021-07-23 16:26:17 818

person_pose_json.zip

内有 COCO_test-dev2017_detections_AP_H_609_person.json COCO_val2017_detections_AP_H_56_person.json两个文件

2019-12-26

bazel-0.80-dist

bazel是Google开源的一套编译构建工具,广泛应用于Google内部,包括TensorFlow项目。修改TensorFlow内部源码,需要使用bazel来编译,故有必要了解下bazel。

2019-02-01

机器学习:实用案例解析(中文版,带完整书签)

机器学习:实用案例解析/(美)康威(Conway, D.)等著;陈开江,刘逸哲, 孟晓楠译. —北京:机械工业出版社,2013.3 当今各行业,尤其是互联网,数据规模越来越大,要从中有效地发现模式来提高生产力,用传统的方式已经几乎不可能,只能借助计算机来完成诸多使命。因此,机器学习这一新兴的学科变得越来越重要,它已经在搜索、推荐、数据挖掘等多个领域闪耀光芒。

2019-01-07

机器学习实战:基于Scikit-Learn和TensorFlow

机器学习实战:基于Scikit-Learn和TensorFlow中文版;kindle格式,mobi,包括源码。自己留存。 本书主要分为两个部分。第一部分为第1章到第8章,涵盖机器学习的基础理论知识和基本算法——从线性回归到随机森林等,帮助读者掌握Scikit-Learn的常用方法;第二部分为第9章到第16章,探讨深度学习和常用框架TensorFlow,一步一个脚印地带领读者使用TensorFlow搭建和训练深度神经网络,以及卷积神经网络。

2018-11-21

程序员的数学 三册全

《程序员的数学》是2012年由人民邮电出版社出版的图书,作者是结城浩。本书面向程序员介绍了编程中常用的数学知识,借以培养初级程序员的数学思维。读者无需精通编程,也无需精通数学,只需具备四则运算和乘方等基础知识,就可以阅读本书。

2018-09-30

高等数学 下册

本教材是以国家教育部高等工科数学课程教学指导委员会制定的《高等数学课程教学基本要求》为标准,以培养学生的专业素质为目的,充分吸收编者们多年来教学实践与教学改革成果编写而成的。本书分为上、下册.上册含函数与极限、导数与微分、微分中值定理与导数应用、不定积分、定积分及其应用、微分方程等内容。下册含向量代数与空间解析几何、多元函数微分学、重积分、曲线积分与曲面积分、无穷级数等内容。每节均配有习题,每章配有综合练习题,书末附有习题参考答案,便于教与学。

2018-09-30

高等数学 上册

上册内容为函数与极限、导数与微分、中值定理与导数的应用、不定积分、定积分、定积分的应用、空间解析几何与向量代数等七章,书末附有二、三阶行列式简介、几种常用的曲线、积分表、习题答案与提示。

2018-09-30

Mina小Demo聊天工具

Mina小Demo 带swing界面的聊天工具 可脱离eclipse运行,可最小化至托盘

2013-11-13

How Tomcat Works中文版

How Tomcat Works中文版,一份pdf,一份word,很好很强大

2013-11-01

jar文件查看器

jar文件查看器 免安装 直接用 给自己留着

2013-08-12

jquery1.7.2.chm 中文API

jquery1.7.2.chm 中文API,好不容易找到的,给自己留着,也分享给大家。

2013-04-24

android摇一摇随机变图片

android一个摇晃手机变图片的小程序,并伴随震动,带源码。

2013-04-01

空空如也

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

TA关注的人

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