![](https://img-blog.csdnimg.cn/497d04f0cdbd4383aea707bc57dad57c.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机视觉
文章平均质量分 87
讲解计算机视觉技术咯 ~
荷碧TongZJ
一作论文 Wise-IoU: Bounding Box Regression Loss with Dynamic Focusing Mechanism,代码行数 4.8w+ 的 Python 码农,2023 数学建模全国二等奖,2023 蓝桥杯 Python B组全国二等奖,2022 广工众盈杯火灾预警目标检测一等奖,2022 全国大学生数学建模竞赛广东赛区二等奖,2022 广工计算机仿真一等奖,2022 广工大数据应用二等奖
展开
-
C++,Python 论文复现:使用单位四元数求解对齐轨迹的 Sim3
参考文献: Closed-form solution of absolute orientation using unit quaternions。在 SLAM 中, 轨迹会因为因为起始位姿、尺度设定的不同而不同在轨迹形状大致相同时, 可以求取一个相似变换使得两个轨迹尽可能重合原创 2024-07-24 02:48:59 · 772 阅读 · 1 评论 -
Kannala-Brandt 鱼眼相机模型
最近在学习 ORB-SLAM3 的源代码,并模仿、重构了相机模型的实现在学习的过程中发现针孔相机 (Pinhole) 与鱼眼相机 (Fisheye) 都有畸变参数,但是鱼眼相机无法使用 cv::undistort 函数去畸变在对鱼眼相机的深度归一化平面进行可视化后,发现鱼眼相机真的不需要去畸变参考文献:A generic camera model and calibration method for conventional, wide-angle, and fish-eye lenses。原创 2024-05-05 14:02:06 · 809 阅读 · 11 评论 -
Torch 模型 感受野可视化
感受野是卷积神经网络 (CNN) 中一个重要的概念,它表示 CNN 每一层输出的特征图上的像素点在输入图像上映射的区域。感受野的大小和形状直接影响到网络对输入图像的感知范围和精度,进而调整网络结构、卷积核大小和步长等参数,以改善网络的性能。原创 2024-04-17 12:12:34 · 747 阅读 · 0 评论 -
Wise-IoU 作者导读:基于动态非单调聚焦机制的边界框损失
目标检测作为计算机视觉的核心问题,其检测性能依赖于损失函数的设计。边界框损失函数作为目标检测损失函数的重要组成部分,其良好的定义将为目标检测模型带来显著的性能提升。近年来的研究大多假设训练数据中的示例有较高的质量,致力于强化边界框损失的拟合能力。但我们注意到目标检测训练集中含有低质量示例,如果一味地强化边界框对低质量示例的回归,显然会危害模型检测性能的提升。Focal-EIoU v1 被提出以解决这个问题,但由于其聚焦机制是静态的,并未充分挖掘非单调聚焦机制的潜能。原创 2023-02-05 11:12:29 · 38941 阅读 · 167 评论 -
Torch 论文复现:Vision Transformer (ViT)
论文标题:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale从 TPUv3-core-days 可以看到,ViT 所需的训练时间比 ResNet 更短,同时 ViT 取得了更高的准确率ViT 的基本思想是,把一张图片拆分成若干个 patch (16×16),每个 patch 当作 NLP 中的一个单词,若干个 patch 组成一个句子,用 Transformer 进行处理。原创 2023-01-31 17:51:24 · 2003 阅读 · 0 评论 -
numpy 多标签数据集划分 留出法 / 欠采样
在计算机视觉任务中,很多时候会面对棘手的多标签数据集,比如多标签分类数据集 (即一张图像有多个标签)、目标检测数据集、语义分割数据集对于类别数量均衡的数据集,留出法可以为模型分配更多的训练数据,从而使模型具备更好的效果;而对于类别极其不均衡的数据集,通过欠采样为模型提供类别均衡的数据集,可以避免模型在某一类别上的识别出现严重的缺陷在大模型的训练中,留出法是最常用的数据集划分方法;而欠采样因为可以得到类别均衡的数据集,被广泛应用于少样本迁移学习像这样的 pd.Dataframe (记为。原创 2022-09-28 01:04:59 · 2613 阅读 · 5 评论 -
Torch 神经网络训练器
重写loss函数后即可使用,但此时进度条只会输出平均损失值,如果要输出其它如准确率之类的信息,需要对_forward函数进行重写。以图像分类为例,使用交叉熵损失,_forward函数的返回值需要是平均损失。...原创 2022-04-21 22:14:09 · 2232 阅读 · 0 评论 -
Torch 模型 onnx 文件的导出和调用
OpenNeuralNetworkExchange(ONNX,开放神经网络交换)格式,是一个用于表示深度学习模型的标准,可使模型在不同框架之间进行转移Torch所定义的模型为动态图,其前向传播是由类方法定义和实现的但是Python代码的效率是比较底下的,试想把动态图转化为静态图,模型的推理速度应当有所提升onnx文件可被打开,以查看模型结构。...原创 2022-07-24 23:34:07 · 8476 阅读 · 4 评论 -
Torch 论文复现:结构重参数化 RepVGGBlock
近年来,卷积神经网络的结构已经变得越来越复杂;得益于多分支结构良好的收敛能力,多分支结构越来越流行但是,使用多分支结构的时候,一方面无法有效地利用并行加速,另一方面增加了 MAC为了使简单结构也能达到与多分支结构相当的精度,在训练 RepVGG 时使用多分支结构 (3×3 卷积 + 1×1 卷积 + 恒等映射),以借助其良好的收敛能力;在推理、部署时利用重参数化技术将多分支结构转化为单路结构,以借助简单结构极致的速度。原创 2022-07-20 12:52:07 · 4756 阅读 · 5 评论 -
Torch 论文复现:梯度加权类激活映射 Grad-CAM
全称Gradient-weightedClassActivationMapping,用于卷积神经网络的可视化,甚至可以用于语义分割不过我是主要研究目标检测的,在看论文的时候就没有在意语义分割的部分Grad-CAM的前身是,CAM的基本的思想是求分类网络某一类别得分对高维特征图(卷积层的输出)的偏导数,从而可以该高维特征图每个通道对该类别得分的权值;而高维特征图的激活信息(正值)又代表了卷积神经网络的所感兴趣的信息,加权后使用热力图呈现得到CAM。......原创 2022-07-14 00:01:11 · 3871 阅读 · 5 评论 -
Torch 二维多通道卷积运算方式
对于单通道卷积的运算,相信大家已经见过不少了那么在卷积神经网络中,图像的通道数是怎样实现“从3到8”这样的跳变呢?使用Torch的Conv2d可以发现,weight参数的shape是[8,3,5,5]可以看到,Torch的运算结果和我的运算结果是一样的,猜想成立TorchGuess提出这个运算方式,是为了帮助大家更好地理解卷积在实际的部署中,是不是使用这样的方式运算我就不清楚了。...原创 2022-06-24 13:34:06 · 2279 阅读 · 2 评论 -
Torch 论文复现:卷积网络正则化 DropBlock
DropBlock是一种类似于dropout的简单方法,它与dropout的主要区别在于,它从层的特征图中抹除连续区域,而不是抹除独立的随机单元。在论文中,最优的超参数是block_size=7,keep_prob=0.9,但实际使用时仍需要根据Loss的变化情况做出调整。从实验结果可以看到,ResNet-50在使用了DropBlock后在验证集上的准确率有一定的提升。类似地,DropBlock通过随机地置零网络的响应,实现了通道之间的解耦,缓解了网络的过拟合现象。......原创 2022-07-02 02:50:45 · 1243 阅读 · 0 评论 -
Torch 论文复现:卷积注意力模块 CBAM
与SEBlock相比,CBAM对分类网络的Top-1Error约有0.2%的改进;对Top-5Error约有0.1%的改进但是SEBlock的不足之处在于只有通道注意力,没有空间注意力,用在目标检测这种定位任务上效果可想而知。原创 2022-07-08 23:10:27 · 1541 阅读 · 0 评论 -
YOLOv5 源码解析 —— 网络模型建立
在 YOLOv5 源码中,模型的建立是依靠 yolo.py 中的函数和对象完成的:原创 2022-04-30 17:08:37 · 9921 阅读 · 8 评论 -
YOLOv5 源码解析 —— 卷积神经单元
YOLOv5源码中,模型是依靠yaml文件建立的。而yaml文件中涉及到的卷积神经网络单元都是在models文件夹中的common.py声明的,所以自行设计网络结构之前有必要详解这个文件。原创 2022-04-27 00:11:35 · 12129 阅读 · 13 评论