![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机视觉
黑曜石小刀
这个作者很懒,什么都没留下…
展开
-
Lifelong Person Re-Identification via Adaptive Knowledge Accumulation论文笔记
Lifelong Person Re-Identification via Adaptive Knowledge AccumulationAbstract提出LReID,设计了Adaptive Knowledge Accumulation框架:知识表示和知识操作能力。相比于其他竞争对手的性能好5.8%mAPIntroduction目前的深度学习方法训练过程收到固定数据集的严重限制,为了克服,提出了终生学习的方法。与传统的终生学习不同,1.LReID进一步考虑在未学习过域上的泛化能力。2.其次,LRe原创 2021-10-07 14:03:25 · 285 阅读 · 0 评论 -
行人重识别 度量学习
度量学习首先将图片转化为特征空间,也就是特征提取。之后将两个特征向量用度量函数计算距离。通过度量函数的损失,来优化f(x)的参数,使得相同行人的距离尽可能小,不同行人尽可能大。...原创 2021-10-03 00:45:34 · 282 阅读 · 0 评论 -
行人重识别评价指标rank-k,CMC,mAP
行人重识别中常用算法:rank-k,CMC,mAPrank-k图中左侧为query,右侧为gallery,从右侧检索左侧的数据。圆圈代表正确的答案,x代表错误的答案。第一行第一列有圆圈代表rank1击中,第二行代表rank4击中,以此类推。五个样本中有两个rank1击中,因此Rank-1概率为2/5,五个样本中,前五位有击中的有三个,因此概率为3/5。CMCCMC可以看作是rank-k的集合,将rank-k画成一条曲线。mAPrank-k的缺陷在于只考虑了第一次命中的概率,然而很多时候实际原创 2021-10-01 19:28:40 · 4887 阅读 · 0 评论 -
SEnet论文笔记及代码
总体介绍:SEnet的主要思想是在图片的通道中加入注意力机制,提出了一种可应用于多种网络结构的Squeeze-and-Exitation结构(SE block)。Squeeze and Excitation Blocks如图所示,输入矩阵X通过卷积神经网络转化为矩阵U,再使用全局平均池化将矩阵压缩为1x1xchannel的矩阵,相当于提取了每一个通道的全局特征,通道上的实数某种程度上具有全局的感受野,并且输出的维度和输入的特征通道数相匹配。它表征着在特征通道上响应的全局分布,而且使得靠近输入的层也可原创 2021-09-26 20:47:03 · 508 阅读 · 0 评论 -
pytorch centerloss代码注释
代码是网上找的,运行出来效果不错class CenterLoss(nn.Module): """Center loss. Reference: Wen et al. A Discriminative Feature Learning Approach for Deep Face Recognition. ECCV 2016. Args: num_classes (int): number of classes. feat_dim (in原创 2021-09-10 20:26:28 · 703 阅读 · 1 评论 -
windows insightface库 人脸识别入门教程
初学insightface,在网上找了几天的博客,但是大多都是在Linux上运行的教程。而且我下的源代码跟他们的结构完全不一样,一度怀疑自己下错了。后来发现是因为作者一直在迭代更新,到现在跟之前已经有很大不同了。为了便于自己入门,所以我去github上下载了作者19年的版本。环境配置环境配置按照https://zhuanlan.zhihu.com/p/33750684所说就行,cuda10.1也可以运行。源码下载https://github.com/deepinsight/insightface#t原创 2021-08-17 22:39:04 · 4127 阅读 · 2 评论 -
pytorch简单项目模板
pytorch简单项目模板初学pytorch,但是不知道一个完整的项目应该怎么写,网上的模板大多数都很复杂看不懂,终于找到一个适合新手用的模板,包含数据生成器、模型定义、训练、模型保存、记录最佳模型、画图分析。模板地址:https://github.com/KinglittleQ/Pytorch-Templatepytorch项目流程一般来说,用pytorch编写深度学习模型,一般需要编写一下几个部分:模型定义数据处理和加载训练模型测试模型训练过程可视化这里先给出模板的总体,之后再详细说明原创 2021-07-30 17:37:04 · 868 阅读 · 0 评论 -
opencv 0x00007FF986D04ED9 处(位于 ConsoleApplication2.exe 中)有未经处理的异常: Microsoft C++ 异常: cv::Exception
如果选择的时是Debug附加依赖项中只有结尾为d的文件。原创 2021-07-10 11:23:30 · 3309 阅读 · 0 评论 -
python opencv 全景图拼接
import numpy as npimport cv2class Stitcher: # 拼接函数 def stitch(self, images, ratio=0.75, reprojThresh=4.0, showMatches=False): # 获取输入图片 (imageB, imageA) = images # 检测A、B图片的SIFT关键特征点,并计算特征描述子 (kpsA, featuresA) = s原创 2021-07-08 11:00:53 · 401 阅读 · 1 评论 -
python opencv 人脸检测
进行人脸检测前需要调用笔记本的摄像头。opencv中通过cv2.VideoCapture()来进行摄像头的调用。括号中为0代表调用本机摄像头,为1代表调用usb摄像头。调用摄像头后,就需要进行人脸的检测,此处需要借助opencv中的CascadeClassifier()函数加载haarcascade_frontalface_alt.xml文件。之后就是对摄像头得到的每帧视频进行处理,要对它进行灰度转换,再用之前加载得分类器进行人脸检测。使用classfier.detectMultiScale()返回检原创 2021-07-07 14:42:08 · 222 阅读 · 0 评论 -
opencv模板匹配,读取银行卡号
首先需要银行卡图片和数字图片。读取卡号的原理是通过模板匹配银行卡上的数字,从而提取卡号。首先,需要将数字的图片进行处理,将其分为不同的数字的模板。这里需要进行灰度转换以及二值化操作,使得边缘检测更加准确。img=cv2.imread('image/num.png',0)#二值化ref=cv2.threshold(img,100,255,cv2.THRESH_BINARY_INV)[1]contours,hierarchy=cv2.findContours(ref,cv2.RETR_EXTERN原创 2021-07-06 10:59:11 · 575 阅读 · 0 评论 -
opencv imread读取格式
在cv中是以BGR格式来进行图像数据的存储。通过imread()提取到图像的数值是一个三维的列表为搞清里面的数值代表什么,分别打印出BGR的值:与之前的对比可以观察出imread得到的数据每列代表一个数值。再观察列表的长度,与图片尺寸对比:可以看到与图片的尺寸对应,imread得到的数据则代表每行每列像素的BGR值。参考:添加链接描述...原创 2021-07-03 20:07:26 · 2354 阅读 · 4 评论