
计算机视觉/CV
计算机视觉/CV
u013250861
这个作者很懒,什么都没留下…
展开
-
Windows下如何编译FFmpeg
当然如果你觉得每次打开都要运行太麻烦,也可以将这条命令添加到 你的安装位置/msys64/etc/profile 文件的末尾,这个文件和 Linux 下的/etc/profile文件作用是类似的。一般在linux环境中使用,但是我们目前很多的开发工具是windows,为了方便在windows下调试和使用ffmpeg,我们需要再windows下面编译和使用ffpeg,本文只讲述windows下如何编译ffmpeg的内容。将下载的软件解压放在一个没有中文名称和空格的文件夹中,以下是我的地址路径。原创 2024-07-09 01:51:35 · 2973 阅读 · 2 评论 -
视频基础:视频编码(硬件芯片编码、软件编码H.264/265)、解码(硬件解码、FFmpeg软件解码)
原创 2024-07-04 01:17:32 · 466 阅读 · 0 评论 -
Conv1D和Conv2D的区别【一维卷积实际上和二维卷积是一样的,只不过一维卷积的卷积核的第二个维度必须等于输入数据的第二个维度(embed_dim),所以只需在长度维指定卷积核一维度的size】
上述例子为例,实际上和二维卷积是一样的,只不过卷积核的第二个维度必须等于输入数据的第二个维度,所以只需要指定卷积核一个维度的size。卷积核直接就把宽度占满了,所以只能往下走,只有一个维度,所以叫做Conv1D。,那么就是这个卷积核在二维图上游走。来自于input_shape。对于二维卷积,输入是。原创 2024-06-16 00:26:37 · 618 阅读 · 1 评论 -
CV-第三方库:OpenMMLab---->MMClassification
MMClassification 是一款基于 PyTorch 的开源图像分类工具箱,是项目的成员之一主分支代码目前支持 PyTorch 1.5 以上的版本。原创 2023-02-19 20:56:09 · 473 阅读 · 0 评论 -
CV-第三方库:MMLAB库【OpenMMLab框架几乎全面覆盖了深度学习视觉任务的方方面面。针对每一个具体的任务,都提供了一个相应的算法库】
上面展现了模型的结构,主干backbone使用的是ResNet网络,18层,一共4块,输出的是第4个(0,1,2,3),3对应的是4.style对应的是,我也不太清楚。只知道有pytorch 3*3,和cafe1*1,stride均为2.下面是neck,一般来说,我们对模型进行改进就是对neck进行改进,这里采用的是全局平均池化,后面的是头,由于我们这里是分类故使用全连接做分类。其仅仅写出了一个框架,均为继承关系,因此不会有大片两的代码,共分为4个文件,分别是模型,数据,迭代策略,保存等打印配置。原创 2023-02-19 20:51:24 · 177 阅读 · 0 评论 -
2020:ViT(Vision Transformer)【将Transformer应用在图像分类的模型】【当拥有足够多的数据进行预训练的时候,ViT的表现就会超过ResNets,反之不如】
ViT作者团队出品,在CNN和Transformer大火的背景下,舍弃了卷积和注意力机制,提出了MLP-Mixer,一个完全基于MLPs的结构,其MLPs有两种类型,分别是和,前者独立作用于image patches(融合通道信息),后者跨image patches作用(融合空间信息)。实验结果表明该结构和SOTA方法同样出色,证明了convolution和attention不是必要操作,如果将其替换为简单的MLP,模型依然可以完美work。原创 2023-02-19 18:00:46 · 2537 阅读 · 0 评论 -
CV-2022:CodeFormer【最强的AI 视频、图片修复】【南洋理工大学 S-Lab】
本文提出了一种基于Transformer+VQGAN的人脸重建方案CodeFormer,它可以对低质人脸的组成与上下文信息进行建模,促进自然人脸挖掘以生成与目标人脸更相近的结果。受益于码本先验与全局建模能力,CodeFormer取得了SOTA人脸复原能力。论文:《Towards Robust Blind Face Restoration with Codebook Lookup Transformer》原创 2023-01-16 20:14:26 · 5045 阅读 · 0 评论 -
CV-特征提取:传统方法
传统方法中的一些特征提取方法进行了总结,主要包括有:SIFT(尺度不变特征变换)、HOG(方向梯度直方图)、SURF、ORB、LBP、HAAR。[5] 其他传统特征提取的方法(SURF、ORB、LBP、HAAR)[1] SIFT(尺度不变特征变换)[4] SIFT/HOG与神经网络。[3] SIFT和HOG的比较。[2] HOG(方向梯度。原创 2022-10-29 22:23:31 · 1098 阅读 · 0 评论 -
ffmpeg详解【用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序】【提供了录制、转换以及流化音视频的完整解决方案】
关于FFMPEG的商业应用:与其他开源软件不同的是,FFMPEG所触及的多媒体编解码算法中有相当一部分处于大量的专利涵盖范围之内,因此,在商业软件中使用FFMPEG必须考虑可能造成的对专利所有者的权利侵犯,这一点在FFMPEG的官方网站也有所提及,所涉及的风险需使用者自行评估应对。FFMPEG的LOGO是一个”Z字扫描”示意图,Z字扫描用于将图像的二维频域数据一维化,同时保证了一维化的数据具备良好的统计特性,从而提高其后要进行的一维熵编码的效率。FF是Fast Forward的意思,翻译成中文是“快进”。原创 2022-09-15 18:29:46 · 309 阅读 · 0 评论 -
CV(计算机视觉):概述
一、概述计算机视觉是指用摄像机和电脑及其他相关设备,对生物视觉的一种模拟。它的主要任务让计算机理解图片或者视频中的内容,就像人类和许多其他生物每天所做的那样。CV的主要任务有三大类:图像分类:就是通过图片,判断图片中的物体属于哪个类别标签,这也是CV任务中最简单的任务。如下图:目标检测:通过深度学习对图片进行处理,从而框出对象所在的位置,这也是CV的任务中比较难的任务。如下图:图像分割:这个任务对于CV领域难度算是特别大了,它是建立在目标检测的基础上的,对目标的精确度要求特别高,因此,这项技原创 2022-05-31 19:53:19 · 2089 阅读 · 0 评论 -
CV:CNN(Convolutional Neural Networks,卷积神经网络)概述【(卷积层×n+池化层)×m+全连接层】【卷积层输出长宽维度:O= (I+2P-F)/S+1、通道数:K 】
卷积神经网络(Convolutional Neural Networks / CNNs / ConvNets)与普通神经网络非常相似,它们都由具有可学习的权重和偏置常量(biases)的神经元组成。每个神经元都接收一些输入,并做一些点积计算,输出是每个分类的分数,全连接神经网络(DNN)里的一些计算技巧到这里依旧适用。- CNN(convolutional neural network),主要就是通过一个个的filter,不断地提取特征,从局部的特征到总体的特征,从而进行图像识别等等功能。- 一个卷积神原创 2020-12-18 22:59:32 · 2692 阅读 · 1 评论 -
深度学习-神经网络:CNN经典模型【LeNet5、AlexNet 、VGG、GoogleNet、ResNet、DenseNet、ResNeXt、DPN、SENet】
人工智能-机器学习-深度学习:CNN经典结构【WideResNet、FractalNet、ResNet、DenseNet、ResNeXt、DPN、SENet】论文笔记:CNN经典结构2(WideResNet,FractalNet,DenseNet,ResNeXt,DPN,SENet)原创 2020-12-28 22:52:05 · 1954 阅读 · 1 评论 -
多目标跟踪算法:DeepSort
基于深度学习的多目标跟踪算法的几种改进方向,其中有一种便是将深度表观特征应用到多目标跟踪问题中,deep-sort多目标跟踪算法便是这类算法中较为常用的一个。deep-sort 是在 sort 目标跟踪的基础上引入了表观特征提取网络,该网络是在行人重识别数据集上离线训练得到的,在目标跟踪过程中提取目标的表观特征进行最近邻匹配,这样可以有效的改善遮挡情况下的目标追踪效果。...原创 2022-06-29 00:25:41 · 626 阅读 · 0 评论 -
目标跟踪【单目标跟踪(VOT/SOT)、目标检测(detection)、行人重识别(Re-ID)】
多目标跟踪(MOT)的一些相关方向。其中单目标跟踪(VOT/SOT)、目标检测(detection)、行人重识别(Re-ID)都是非常热门的方向。而偏视频的相关方向就比较冷门。而且今年五月DukeMTMC因为隐私问题不再提供MTMCT的数据了,MTMCT的研究也是举步维艰。参考资料:多目标跟踪(MOT)入门...原创 2022-06-28 23:56:49 · 953 阅读 · 0 评论 -
目标检测算法:FasterRCNN
目标检测任务是计算机视觉领域最基础的任务之一,目前深度学习方法已经在该领域全面领先于其他技术方案。目标检测任务需要对图像中的物体进行检测,输出有两个,框的位置,以及框的类别,这里目标的个数和类别数都可能有多个,这里的框是平行于图像宽和高的矩形框。从某种意义上讲,基于深度学习的目标检测框架也可以认为是以回归与分类为目标的多任务学习框架。FasterRCNN是首个将图像的目标检测任务使用端到端的深度学习模型实现的框架。继承了RCNN和FastRCNN的技术路线,这一套算法是一脉相承的。FasterRCNN在Fa原创 2022-06-15 23:40:11 · 709 阅读 · 0 评论 -
目标检测的Tricks:使用kmeans与遗传算法聚类anchor
参考资料:目标检测的Tricks | 【Trick13】使用kmeans与遗传算法聚类anchor原创 2022-06-15 22:31:57 · 445 阅读 · 0 评论 -
仿射变换warpAffine
仿射变换是指在向量空间中进行一次线性变换(乘以一个矩阵)并加上一个平移(加上一个向量),变换为另一个向量空间的过程。在有限维的情况下,每个仿射变换可以由一个矩阵A和一个向量b给出,它可以写作A和一个附加的列b。一个仿射变换对应于一个矩阵和一个向量的乘法,而仿射变换的复合对应于普通的矩阵乘法,只要加入一个额外的行到矩阵的底下,这一行全部是0除了最右边是一个1,而列向量的底下要加上一个1.Affine Transform描述了一种二维仿射变换的功能,它是一种二维坐标之间的线性变换,保持二维图形的“平直性”(即原创 2022-06-15 22:28:55 · 230 阅读 · 0 评论 -
目标检测:Anchor【就是在图像上预设好的不同大小,不同长宽比的参照框】
anchor到底是什么呢?如果我们用一句话概括——就是在图像上预设好的不同大小,不同长宽比的参照框。(其实非常类似于上面的滑窗法所设置的窗口大小)下图来自《动手学深度学习》中的例子,假设一个256x256大小的图片,经过64、128和256倍下采样,会产生4x4、2x2、1x1大小的特征图,我们在这三个特征图上每个点上都设置三个不同大小的anchor。当然,这只是一个例子,实际的SSD模型,在300x300的输入下,anchor数量也特别多,其在38x38、19x19、10x10、5x5、3x3、1x1的六原创 2022-06-15 22:22:24 · 649 阅读 · 0 评论 -
目标检测器算法:YOLO【轻量级、高精度】【业界实用】
目标检测一直是计算机视觉的热门领域,它也具有丰富的应用场景,从无人驾驶到缺陷检测等等。在YOLO诞生之前,目标检测领域热门的深度学习模型是R-CNN系列模型,这一类的模型被称之为二阶段模型(two-stage),其大致思路就是先找出可能含有物体的区域,进而再细致的找出这片区域内的物体是什么,在哪个位置。这一类模型的特点就是准确率较高,但是速度较慢,难以做到实时检测。而这时候,YOLO V1应运而生,它的特点就是速度快,在牺牲部分模型性能的情况下,能做到实时检测。YOLO直接从图片中去寻找可能存在物体的位置,原创 2022-06-15 22:08:44 · 910 阅读 · 0 评论 -
mAP指标【目标检测领域,用于衡量目标检测算法的性能】
在机器学习中的目标检测领域,mAP(mean Average Precision)是十分重要的衡量指标,用于衡量目标检测算法的性能。一般而言,全类平均正确率(mAP,又称全类平均精度)是将所有类别检测的平均正确率(AP)进行综合加权平均而得到的。参考资料:mAP指标...原创 2022-06-15 22:01:30 · 181 阅读 · 0 评论 -
人脸识别Loss:Circle Loss
人脸识别的关键是在最大化类内相似度的同时,最小化类间的相似度,如果以 [公式] 为类内相似度,以 [公式] 为类间相似度的话,那么人脸识别的目标可以简化为最小化[公式] 。作者用[公式] 总结归纳了人脸识别的目标,这个看起来显然的目标在Circle Loss之前,分了两类。一类是基于对的Loss,以Triplet为代表,Triplet的目标是 [公式] 。基于对的Loss在表现形式上和目标的形式很接近。参考资料:人脸识别Loss:Circle Loss......原创 2022-06-15 21:46:31 · 484 阅读 · 0 评论 -
Triplet loss【用于训练差异性小的样本,比如人脸,细粒度分类】
1.什么是triplet loss 损失函数?triplet loss 是深度学习的一种损失函数,主要是用于训练差异性小的样本,比如人脸,细粒度分类等;其次在训练目标是得到样本的embedding任务中,triplet loss 也经常使用,比如文本、图片的embedding。本文主要讨论,对于训练样本差异小的问题。参考资料:【对比学习】| Triplet losstriplet loss (原理 + 实现)...原创 2022-06-15 21:44:22 · 539 阅读 · 0 评论 -
损失函数:Center Loss
最近几年网络效果的提升除了改变网络结构外,还有一群人在研究损失层的改进,这篇博文要介绍的就是较为新颖的center loss。center loss来自ECCV2016的一篇论文:A Discriminative Feature Learning Approach for Deep Face Recognition。论文链接:http://ydwen.github.io/papers/WenECCV16.pdf代码链接:https://github.com/pangyupo/mxnet_center_l原创 2022-06-15 21:42:37 · 159 阅读 · 0 评论 -
目标检测:损失函数之SmoothL1Loss
L1(y,f(x))=1n∑i=1n∣f(xi)−yi∣(1)L1(y,f(x))=\frac{1}{n} \sum_{i=1}^{n}|f(x_i)-y_i| \tag{1}L1(y,f(x))=n1i=1∑n∣f(xi)−yi∣(1)理想中的梯度变化应该是:训练初期值较大,则梯度也大,可以加快模型收敛;训练后期值较小,梯度也应小,使模型收敛到全局(或局部)极小值。L1 Loss 优点:梯度值稳定,使得训练平稳;不易受离群点(脏数据)影响,所有数据一视同仁。L1 Loss 缺点:处不可导,可能影原创 2022-06-15 21:26:05 · 618 阅读 · 0 评论 -
损失函数:从Softmax到AMSoftmax
不同于Softmax,AMSoftmax属于Metric Learning——缩小类内距增大类间距的策略。下图2形象的解释了Softmax 和 AMSoftmax的区别,Softmax能做到的只能是划分类别间的界线——绿色虚线,而AMSoftmax可以缩小类内距增大类间距,将类的区间缩小到Target region范围,同时又会产生margin大小的类间距。参考资料:从Softmax到AMSoftmax(附可视化代码和实现代码)AM-Softmax......原创 2022-06-15 21:16:41 · 746 阅读 · 0 评论 -
CAM:特征可视化技术
众所周知,深度学习是一个"黑盒"系统。它通过“end-to-end”的方式来工作,输入数据例如RGB图像,输出目标例如类别标签、回归值等,中间过程不可得知。如何才能打开“黑盒”,一探究竟,让“黑盒”变成“灰盒”,甚至“白盒”?因此就有了“深度学习可解释性“这一领域,而CAM(Class Activation Mapping)技术就是其中之一,其利用特征可视化来探究深度卷积神经网络的工作机制和判断依据。本文通过七篇论文来论述该技术,并附带代码解析。CAM全称Class Activation Mapping,既原创 2022-06-15 21:06:37 · 796 阅读 · 0 评论 -
人脸检测:SSH算法
paper:: Single Stage Headless Face Detectorlink:SSH papercode:https://github.com/mahyarnajibi/SSH摘要本文提出了一个one stage人脸检测器headless的解释:在分类CNN网络的基础上移除了fully connected layer;具有尺度不变性性特征:没有用图像金字塔image pyramid输入策略,只是在inference的时候用了多尺度的特征层feature pyramid来做检测(S原创 2022-06-15 20:54:57 · 285 阅读 · 0 评论 -
Albumentations:数据增强库
albumentations 是一个给予 OpenCV的快速训练数据增强库,拥有非常简单且强大的可以用于多种任务(分割、检测)的接口,易于定制且添加其他框架非常方便。它可以对数据集进行逐像素的转换,如模糊、下采样、高斯造点、高斯模糊、动态模糊、RGB转换、随机雾化等;也可以进行空间转换(同时也会对目标进行转换),如裁剪、翻转、随机裁剪等。参考资料:最快最好用的数据增强库「albumentations」 一文看懂用法albumentations 数据增强工具的使用...原创 2022-06-15 20:12:58 · 689 阅读 · 0 评论 -
PIL(Python Image Library) Python 图像处理库
PythonWare 公司提供了免费的图像处理工具包 PIL (Python Image Library), 该软件包提供了基本的图像处理功能,如:改变图像大小,旋转图像,图像格式转换,色场空间转换,图像增强,直方图处理,插值和滤波等等。虽然在这个软件包上要实现类似 MATLAB 中的复杂的图像处理算法并不太适合,但是 Python 的快速开发能力以及面向对象等等诸多特点使得它非常适合用来进行原型开发。在 PIL 中,任何一副图像都是用一个 Image 对象表示,而这个类由和它同名的模块导出,因此,要加载一原创 2022-06-14 20:13:35 · 848 阅读 · 0 评论 -
人脸检测:MTCNN
论文:Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks下载:https://arxiv.org/abs/1604.02878代码:https://github.com/kpzhang93/MT人脸检测是计算机视觉中的一个问题,即在照片中定位一张或多张人脸。在照片中定位人脸是指在图像中找到人脸的坐标,并通过人脸周围的边界框来划分人脸的范围。人脸是动态的,其外观具有高度的可变性,使得人脸检测原创 2022-06-12 18:11:40 · 288 阅读 · 1 评论 -
DETR(Detection with Transformers) 学习笔记
Facebook AI 的研究者推出了 Transformer 的视觉版本——Detection Transformer(DETR),用于目标检测和全景分割。与之前的目标检测系统相比,DETR 的架构进行了根本上的改变。这是第一个将 Transformer 成功整合为检测 pipeline 中心构建块的目标检测框架。参考资料:DETR 学习笔记...原创 2022-06-12 18:04:34 · 285 阅读 · 0 评论 -
OpenCV源代码编译
OpenCV源代码编译原创 2022-06-12 16:41:28 · 163 阅读 · 0 评论 -
深度学习-神经网络:卷积的实现方法【直接法(精度没损失)、GEMM(矩阵乘法,精度没损失)、FFT(傅里叶变换,精度有损失)、Winograd(精度有损失)】
深度学习-神经网络:卷积的实现方法【直接法(精度没损失)、GEMM(矩阵乘法,精度没损失)、FFT(傅里叶变换,精度有损失)、Winograd(精度有损失)】原创 2022-06-12 15:59:21 · 404 阅读 · 0 评论 -
度量学习(Metric Learning)【AMSoftmax、Arcface】
度量学习 (Metric Learning) == 距离度量学习 (Distance Metric Learning,DML) == 相似度学习。在数学中,一个度量(或距离函数)是一个定义集合中元素之间距离的函数。一个具有度量的集合被称为度量空间。度量学习(Metric Learning) 是人脸识别中常用的传统机器学习方法,由Eric Xing在NIPS 2002提出,可以分为两种:其基本原理是根据不同的任务来自主学习出针对某个特定任务的度量距离函数。后来度量学习又被迁移至文本分类领域,尤其是针对高维原创 2022-06-12 15:06:20 · 706 阅读 · 0 评论 -
Laplacian算子(拉普拉斯算子)
定义:拉普拉斯算子是n维欧几里德空间中的一个二阶微分算子,是用二阶差分来计算图像的边缘。拉普拉斯算子是一种各向同性微分算子,它具有旋转不变性。laplace算子是一种高通滤波器,用来保留图像的高频分量(变化剧烈的部分),抑制图像的低频分量(变化缓慢的部分),所以可以用来检测边缘。拉普拉斯算子 (Laplace) 作用:参考资料:拉普拉斯算子Laplace5.4.4 边缘检测-拉普拉斯算子传统经典CV算法_拉普拉斯算子详解...原创 2022-06-06 18:45:36 · 5182 阅读 · 0 评论 -
图像分割必备知识点 | Unet详解
语义分割(Semantic Segmentation)是图像处理和机器视觉一个重要分支。与分类任务不同,语义分割需要判断图像每个像素点的类别,进行精确分割。语义分割目前在自动驾驶、自动抠图、医疗影像等领域有着比较广泛的应用。上图为自动驾驶中的移动分割任务的分割结果,可以从一张图片中有效的识别出汽车(深蓝色),行人(红色),红绿灯(黄色),道路(浅紫色)等Unet可以说是最常用、最简单的一种分割模型了,它简单、高效、易懂、容易构建、可以从小数据集中训练。Unet已经是非常老的分割模型了,是2015年《原创 2022-05-28 10:27:56 · 3735 阅读 · 0 评论 -
深度学习-TensorFlow2:TensorFlow2 创建CNN神经网络模型【ResNet模型】
自定义ResNet神经网络-Tensorflow【cifar100分类数据集】import osos.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 放在 import tensorflow as tf 之前才有效import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layers, optimizers, datasets, Sequential#===原创 2021-02-20 21:33:19 · 478 阅读 · 0 评论 -
深度学习-Pytorch:Pytorch 创建CNN神经网络模型【ResNet模型】
一、自定义ResNet神经网络-Pytorch【cifar10图片分类数据集】import torchfrom torch.utils.data import DataLoaderfrom torchvision import datasetsfrom torchvision import transformsfrom torch import nn, optimfrom torch.nn import functional as F# 两层的残差学习单元 BasicBlock [(3×3原创 2021-02-20 21:30:11 · 906 阅读 · 0 评论 -
计算机视觉(CV)-生成模型:GAN(Generative Adversarial Network对抗生成网络)【Generator(RNN/CNN)+Discriminator(CNN)】【单调】
生成对抗网络(英语:Generative Adversarial Network,简称GAN)是生成模型的一种,生成模型就是用机器学习去生成我们想要的数据,正规的说法是,获取训练样本并训练一个模型,该模型能按照我们定义的目标数据分布去生成数据。GAN 的核心思想源于博弈论的纳什均衡。GAN能够有效地解决很多生成式方法的缺点,主要包括:训练了多次以后,生成的图片人脸分布都是一样的,只有色调的改变。Inception Score参考资料:转载 | 史上最全GAN综述2020版:算法、理论及应用GAN 的原创 2020-12-24 23:48:48 · 1456 阅读 · 1 评论 -
计算机视觉(CV)-生成模型:GAN经典模型【CGAN、CycleGAN、LSGAN、WGAN、DCGAN、BigGAN、StyleGAN、Pix2Pix、StackGAN】
人工智能-机器学习-深度学习:Deep Reinforcemen Learning原创 2020-12-24 23:51:07 · 1173 阅读 · 1 评论