
Deep Learning
文章平均质量分 53
1.深度学习基础知识和基本概念介绍(卷积,激活,池化,反向传播,过拟合,梯度消失,最小二乘法,IOU,NMS,Map,BN层,),从零了解深度学习。
2.提高深度学习分类网络和检测网络准确率的方法
3.yolov5的训练及部署方法
4.HRNet训练分类网络
5.人脸检测识别的原理介绍以及具体实现
陈 洪 伟
这个作者很懒,什么都没留下…
展开
-
人脸检测-人脸对齐-人脸识别原理及方法
目录1.人脸检测2 人脸对齐3 人脸识别3.1 特征提取3.2 人脸比对要想做人脸识别,首先需要检测出人脸子图和关键点,然后根据关键点对人脸进行对齐,然后对对齐后的人脸提取人脸特征并特征值比对,下面简单介绍下三个过程中的原理。1.人脸检测人脸检测就没什么说的了,就是检测出图像中的人脸和关键点,比如我们用yolov5-face做检测得到如下图片,也可以使用 blazeface得到如下结果当然也可以使用其他方法,但是这些方法的目的都是得到人脸子图和关键点。2原创 2022-03-21 09:43:50 · 18453 阅读 · 12 评论 -
tensorRT推理yolov5.trt模型崩溃
tensorRT推理yolov5.trt模型崩溃原创 2022-10-21 14:19:29 · 1377 阅读 · 0 评论 -
PubFig人脸公开数据集下载以及处理脚本
编写python脚本下载PubFig人脸公开数据集,每个人的人脸放到一个以人名命名的单独文件夹中,并且根据坐标裁剪人脸子图,最终得到原始图片和人脸子图图片。import osimport sysimport urllib.request as requestfrom urllib.request import urlretrieveimport socketimport requests'''下载Pubfig人脸数据集,下载下来之后根据坐标裁剪人脸,并且每个人的人脸图片放到单独的一.原创 2022-04-19 09:15:08 · 2780 阅读 · 3 评论 -
openpose的TensorRT 实现
GitHub - spacewalk01/tensorrt-openpose: TensorRT C++ Implementation of openpose转载 2022-04-14 17:14:22 · 916 阅读 · 0 评论 -
facenet-pytorch实现人脸检测和识别
利用facenet-pytorch实现人脸检测,并提取人脸特征求余弦相似度,代码如下from facenet_pytorch import MTCNN, InceptionResnetV1from sklearn.metrics.pairwise import cosine_similarityfrom PIL import Imageimport numpy as np# If required, create a face detection pipeline using MTCNN:原创 2022-03-30 10:33:09 · 2770 阅读 · 0 评论 -
根据人脸关键点做人脸对齐face alignment----C++实现
人脸识别一般需要经过人脸检测,人脸对齐,特征提取及相似度比对,具体原理可以见:人脸检测-人脸对齐-人脸识别原理及方法_陈 洪 伟的博客-优快云博客该篇文章主要对人脸对齐进行补充,1 人脸检测我们用ldh的图片进行检测,得到人脸框和5个关键点。检测得到的矩形框和关键点如下:orgimg.shape: (640, 640, 3)x1:243.000000,y1:140.000000,x2:447.000000,y2:394.000000point_0_x:307.000..原创 2022-03-28 17:19:11 · 7379 阅读 · 9 评论 -
文章入选人工智能内容榜第一名
文章:人脸检测-人脸对齐-人脸识别原理及方法_陈 洪 伟的博客-优快云博客入选了人工智能内容榜单第一名原创 2022-03-23 16:59:10 · 1020 阅读 · 2 评论 -
在RV1126上实现人脸识别----MobileFaceNet转成rknn模型
目录1.模型下载2 转成rknn模型并推理3 查看网络模型1.模型下载首先下载MobileFaceNet的模型,github下载地址为:https://github.com/sirius-ai/MobileFaceNet_TF/tree/master/arch/pretrained_model/2 转成rknn模型并推理import numpy as npimport cv2from rknn.api import RKNNif __name__ == '__..原创 2022-03-23 16:02:39 · 2860 阅读 · 10 评论 -
在RV1126上实现人脸识别----facenet转成rknn模型
1.模型下载首先需要下载facenet的模型,github下载网址为:https://github.com/davidsandberg/facenetPre-trained modelsModel name LFW accuracy Training dataset Architecture 20180408-102900 0.9905 CASIA-WebFace Inception ResNet v1 20180402-114759 0.996原创 2022-03-23 15:53:50 · 5890 阅读 · 0 评论 -
使用insightface实现人脸检测和人脸识别
1.搭建insightface环境为了避免和服务器中的其他python版本冲突,这里使用conda创建环境,安装insightface的过程中会安装相关依赖,等待系统安装完成即可。conda create -n insightface_chw python=3.6conda activate insightface_chwpip install -U insightface2.下载insightface工程git clone https://github.com/deepinsigh原创 2022-03-03 11:43:31 · 14134 阅读 · 28 评论 -
alphapose的26个关键点顺序简单记录_备忘
def ajust(xmin,ymin,xmax,ymax,h,w): if xmin<0: xmin=0 if ymin<0: ymin=0 if xmin>xmax: temp=xmin xmin=xmax xmax=temp if ymin>ymax: temp=ymin ymin=ymax ymax=temp .原创 2022-01-12 13:49:57 · 1947 阅读 · 7 评论 -
深度学习数据集收藏网址
https://www.cxyzjd.com/article/sinat_28371057/118252701开放数据集-百度AI Studio - 人工智能学习与实训社区原创 2022-01-07 11:10:52 · 878 阅读 · 0 评论 -
如何理解空洞卷积(dilated convolution)
1.空洞卷积概念Dilated/Atrous Convolution(中文叫做空洞卷积或者膨胀卷积) 或者是 Convolution with holes 从字面上就很好理解,是在标准的 convolution map 里注入空洞,以此来增加 reception field。相比原来的正常convolution,dilated convolution 多了一个 hyper-parameter 称之为 dilation rate 指的是kernel的间隔数量(e.g. 正常的 convolution 是转载 2021-07-21 10:59:15 · 947 阅读 · 0 评论 -
ubuntu安装labelme
sudo apt-get install python-qt4 pyqt4-dev-tools #python2sudo pip install labelme #python2sudo apt-get install python3-qt4 pyqt4-dev-tools #python3sudo pip3 install labelme #python3原创 2020-09-09 14:19:51 · 497 阅读 · 0 评论 -
VIA标注工具_一款在线的数据标注工具,支持矩形,多边形,关键点
https://www.robots.ox.ac.uk/~vgg/software/via/via_demo.html原创 2021-06-01 15:05:10 · 1855 阅读 · 0 评论 -
HRNet训练自己的分类数据
1.搭建环境为了防止和服务器上的环境冲突,这里利用conda搭建环境。Install PyTorch=0.4.1 following theofficial instructions git clonehttps://github.com/HRNet/HRNet-Image-Classification Install dependencies: pip install -r requirements.txt...原创 2021-04-22 17:00:51 · 5254 阅读 · 10 评论 -
深度学习中的语义信息是什么意思_个人通俗理解
在深度学习中,语义信息可以通俗的理解成是图像的纹理,颜色,或者目标的类别等信息,例如在检测网络中,一个图像输入到网络中,经过一层层的卷积之后,语义信息会越来越明显,但是相对的位置信息会越来越弱,因为越到高层卷积的时候,feature map映射到原图中的感受野越大,这样对局部的位置信息感受就比较差。...原创 2021-04-20 10:28:49 · 16520 阅读 · 0 评论 -
目标检测算法综述R-CNN、SPPNet、Fast R-CNN、Faster R-CNN、SSD、YOLO___未完待续
参考文献:https://blog.youkuaiyun.com/v_JULY_v/article/details/80170182?utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-2.control&dist_request_id=1331647.128.16183075360181787&a...原创 2021-04-14 10:51:19 · 261 阅读 · 0 评论 -
语义分割FCN网络训练自己的数据集_未完待续
参考文献:https://www.jianshu.com/p/29604b12f776原创 2021-04-13 17:23:27 · 372 阅读 · 0 评论 -
语义分割,实例分割,全景分割
PanopticFCNpanopticFCNhttps://zhuanlan.zhihu.com/p/46372942转载 2021-04-12 17:06:11 · 1282 阅读 · 0 评论 -
docker命令_获取镜像,创建容器,启动容器,进入容器,退出容器,停止容器,删除容器,列出镜像,删除镜像
1.数据准备原创 2021-03-23 17:29:12 · 810 阅读 · 0 评论 -
YOLOV5训练自己的数据集_pytorch_ubuntu
1.首先安装YOLOv5需要的环境为了不和服务器上其他的环境冲突,这里使用conda创建yolov5需要的环境,conda create -n yolov5 python=3.8conda activate 然后下载yolov5工程git clone https://github.com/ultralytics/yolov5 # clone repocd yolov5pip install -r requirements.txt # install dependencies原创 2021-03-22 19:37:42 · 3358 阅读 · 1 评论 -
resnet中的残差连接
1 残差连接想必做深度学习的都知道skip connect,也就是残差连接,那什么是skip connect呢?如下图上面是来自于resnet【1】的skip block的示意图。我们可以使用一个非线性变化函数来描述一个网络的输入输出,即输入为X,输出为F(x),F通常包括了卷积,激活等操作。当我们强行将一个输入添加到函数的输出的时候,虽然我们仍然可以用G(x)来描述输入输出的关系,但是这个G(x)却可以明确的拆分为F(x)和X的线性叠加。这就是skip connect的思想,将输出表述转载 2021-03-15 19:22:45 · 581 阅读 · 0 评论 -
Batch Normalization层的原理与作用
Batch Normalization是为了解决在训练过程中,中间层数据分布发生改变的情况。BN层是放在卷积后面,激活前面。因为卷积之后数值变化大,所以在卷积之后加一个BN归一化。BN层的作用,做了归一化,避免梯度爆炸,...转载 2021-02-19 17:53:49 · 11951 阅读 · 2 评论 -
深度学习中的mAP
我们在评价一个模型好坏的时候,经常会用到mAP,下面整理下对这个概念的理解,1.TP TN FP FN首先是TP TN FP FN的概念。T或者N代表的是该样本是否被分类分对,P或者N代表的是该样本被分为什么TP(True Positives):意思我们倒着来翻译就是“被分为正样本,并且分对了”,TN(True Negatives):意思是“被分为负样本,而且分对了”,FP(False Positives):意思是“被分为正样本,但是分错了”,FN(False Negativ原创 2021-02-05 15:13:00 · 8165 阅读 · 4 评论 -
get_map.py
计算mAP的代码备份import globimport jsonimport osimport shutilimport operatorimport sysimport argparseimport mathimport numpy as npMINOVERLAP = 0.5 # default value (defined in the PASCAL VOC2012 challenge)parser = argparse.ArgumentParser()parser.add_原创 2021-02-04 16:21:00 · 1210 阅读 · 0 评论 -
NMS----非极大值抑制
NMS: non maximum suppression,通俗的说,就是在检测算法中,对于同一个目标可能会产生很多个框,我们用NMS去掉不是最大值的框,保留最优框。例如上图,左边肉丝的脸有三个框,我们取得分最大的0.98的框,然后把剩余的框跟这个框计算IOU,如果IOU大于某个阈值,表示重合度比较高,则去掉,这样最终保留最优框,其实这就是nms。...转载 2021-02-04 15:13:06 · 218 阅读 · 0 评论 -
目标检测之IOU
IoU 作为目标检测算法性能 mAP 计算的一个非常重要的函数。但纵观 IoU 计算的介绍知识,都是直接给出代码,给出计算方法,没有人彻底地分析过其中的逻辑,故本人书写该篇博客来介绍下其中的逻辑。1. IoU的简介及原理解析IoU 的全称为交并比(Intersection over Union),通过这个名称我们大概可以猜到 IoU 的计算方法。IoU 计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值。开始计算之前,我们首先进行分析下交集和并集到底应该怎么计算:我们首先需转载 2021-02-02 10:17:27 · 335 阅读 · 0 评论 -
小白都能看懂的softmax详解
1.softmax初探在机器学习尤其是深度学习中,softmax是个非常常用而且比较重要的函数,尤其在多分类的场景中使用广泛。他把一些输入映射为0-1之间的实数,并且归一化保证和为1,因此多分类的概率之和也刚好为1。首先我们简单来看看softmax是什么意思。顾名思义,softmax由两个单词组成,其中一个是max。对于max我们都很熟悉,比如有两个变量a,b。如果a>b,则max为a,反之为b。用伪码简单描述一下就是if a > b return a; else b。另外一个单词为s.转载 2021-02-01 17:34:33 · 981 阅读 · 0 评论 -
高斯函数
高斯函数广泛应用于统计学领域,用于表述正态分布,在信号处理领域,用于定义高斯滤波器,在图像处理领域,二维高斯核函数常用于高斯模糊,在数学领域,主要用于解决热力方程和扩散方程。1、高斯函数与正态分布1.1 一维高斯函数a表示得到曲线的高度; b(μ)是指曲线在x轴的中心; c(σ)指width(与半峰全宽有关);图形如下:1.2 正态分布高斯函数其实是一族函数,而满足正态分布的高斯函数如下所示:1.3 二维高斯函数(高斯分布、正态分布)μ=0,即中心点就是原转载 2021-01-21 17:14:42 · 20287 阅读 · 0 评论 -
最小二乘法,回归,线性回归,Logistic回归
1:最小二乘法https://blog.youkuaiyun.com/qq_41598072/article/details/83984299这篇博客很好,通俗易懂。最小二乘法是用来做函数拟合或者求函数极值的方法求出两个参数,使得https://www.cnblogs.com/pinard/p/5976811.html 这一篇博客也不错。...原创 2021-01-12 14:19:01 · 2204 阅读 · 2 评论 -
反向传播,梯度下降,梯度消失,学习率,过拟合
一:反向传播目标:给出输入数据i1,i2(0.05和0.10),使输出尽可能与原始输出o1,o2(0.01和0.99)接近。二:梯度下降三:学习率原创 2021-01-08 17:51:52 · 752 阅读 · 0 评论 -
yolov4
https://zhuanlan.zhihu.com/p/299022083?utm_source=wechat_session&utm_medium=social&utm_oi=70656607649792转载 2020-12-25 11:44:37 · 146 阅读 · 0 评论 -
神经网络在线可视化工具
https://ethereon.github.io/netscope/#/editor原创 2019-09-24 09:57:00 · 604 阅读 · 0 评论 -
一篇介绍SSD的特别好的博客
https://www.cnblogs.com/xuanyuyt/p/7222867.html#_label4原创 2019-09-25 19:09:00 · 233 阅读 · 0 评论 -
卷积神经网络_卷积,激活,池化,全连接层_个人简单笔记
原文网址 https://blog.youkuaiyun.com/v_JULY_v/article/details/51812459神经元:卷积神经网络之层级结构:CONV:卷积计算层,线性乘积求和,RELU:激活层,也就是激活函数POOL:池化层,简言之,就是取区域平均或最大。FC:全连接层CNN之卷积计算层:当我们给定一个X的图案,计算机为了识别出来这个图案就是X...转载 2019-11-12 15:53:00 · 833 阅读 · 0 评论 -
SSD网络笔记
针对不同大小的目标检测,传统的做法是先将图像转换成不同大小,然后分别检测,最后将结果综合起来,而SSD算法则利用不同卷积层的feature map进行综合也能达到同样的效果。对于不同的卷积层,会把图像分割成不一样的feature map,对于每一个feature map cell都有一系列default box,假设每个feature map cell有k个def...原创 2019-11-12 17:17:00 · 180 阅读 · 0 评论 -
深度学习的数据增强(亮度,对比度,旋转)
import os,cv2,shutilimport numpy as npimport random#对比度和亮度def Contrast_and_Brightness(alpha, beta, img): blank = np.zeros(img.shape, img.dtype) # dst = alpha * img + beta * blank...原创 2020-03-26 15:56:00 · 1214 阅读 · 0 评论 -
PyTorch深度学习框架----龙良曲
课时一:深度学习框架简介Google:tenflowfacebook:caffe potorch课时二:pytorch功能演示课时三:开发环境准备安装完毕课时四:简单回归问题课时五:简单回归问题2课时6:回归问题实战 未开始...原创 2020-04-21 12:18:00 · 765 阅读 · 0 评论 -
深度学习提取得到的特征值进行特征值相似度比对
见自己的博客日记原创 2020-05-12 19:33:00 · 1291 阅读 · 2 评论