
计算机视觉
文章平均质量分 72
从机器学习视角讲解计算机视觉,让机器学会从人的视角识别事物。
赛先生.AI
科技公司CTO。机器学习,深度学习,计算机视觉从业者。网络,流媒体技术,编解码技术爱好者。
曾从事汽车行业,安防行业,现从事无人机行业。
-> tecsai@163.com
展开
-
YOLOv10(2):网络结构及其检测模型代码部分阅读
YOLOv10的代码结构和YOLOv8很相似,说是基于YOLOv8魔改的也不为过。话说回来,也算是魔改的非常成功的了。从代码工程上看,也是通过类一层层继承,获得一个完整的模型网络。原创 2024-05-31 09:19:22 · 7600 阅读 · 3 评论 -
YOLOv9(4): DFL(Distribution Focal Loss)
DFL最早在论文Generalized Focal Loss: Learning Qualified and Distributed Bounding Boxes for Dense Object Detection中被提及,在YOLOv8中就已经在使用。DFL的作者认为,在很多时候,检测目标的边界并不是一个确切的值,而是一个分布。原创 2024-05-30 17:26:19 · 11669 阅读 · 1 评论 -
PyTorch学习(8):PyTorch中Tensor的合并于拆分(torch.cat, torch.stack, torch.trunk, torch.split)
在使用PyTorch执行深度学习开发时,经常会用到对Tensor的合并于拆分操作。如我们在使用CSP时,有时候会需要将Tensor拆分成两部分,其中一部分进行进行Cross Stage操作,另一部分执行多重卷积操作,这个时候我们就会用到四个典型的接口,分别是torch.cat, torch.stack, torch.trunk, torch.split。接下来将逐一进行讲解。原创 2024-05-30 17:09:45 · 688 阅读 · 0 评论 -
Python学习(1):装饰器
Python的装饰器理解起来相对简单,唯一的功能就是允许程序员在不修改原有函数定义的情况下,增加函数的新功能。装饰器本质上是一个函数,它接受一个函数作为参数并返回一个新的函数。使用装饰器可以实现很多有用的功能,比如在函数执行前后自动执行某些操作、缓存函数的返回结果、检查函数的参数类型等。装饰器有三种不同的形式,分别是无参装饰器,被装饰函数带参数和装饰器带参数。原创 2024-04-02 23:06:30 · 358 阅读 · 0 评论 -
PyTorch学习(5):并行训练模型权重的本地化与加载
在训练深度神经网络时,我们一般会采用CPU或GPU来完成。得益于开源传统,许多算法都提供了完整的开源代码工程,便于学习和使用。随着GPU的普及,GPGPU已经占据了大部分的训练场景。 我们在这里仅以GPU训练场景做一些说明。 当我们使用单GPU训练时,我们称之为非并行训练。使用多个GPU共同训练时,我们称之为并行训练。原创 2024-04-02 16:23:58 · 718 阅读 · 0 评论 -
深度学习评价指标(1):目标检测的评价指标
在计算机视觉/深度学习领域,每一个方向都有属于自己的评价指标。通常在评估一个模型时,只需要计算出相应的评价指标,便可以评估算法的性能。同时,所谓SOTA,皆是基于某一评价指标进行的评估。 接下来,我们将对目标检测领域的评价指标做一个大体的说明,其中涉及Precision,AP,mAP,Accuracy等指标。原创 2024-03-31 23:29:16 · 1831 阅读 · 0 评论 -
PyTorch学习(4):混合精度训练(torch.cuda.amp)
混合精度训练(Mixed Precision Training)是一种深度学习训练技术,它使用不同精度的数据类型(如单精度FP32和半精度FP16)来执行训练过程中的不同部分,以达到加速训练、减少内存使用和降低计算开销的目的。这种训练方式可以在保持模型精度的同时,显著提高训练效率。原创 2024-03-31 18:54:00 · 2372 阅读 · 0 评论 -
PyTorch学习(3):并行训练DataParallel与DistributedDataParallel
在使用pytorch训练网络时,一般都会使用多GPU进行并行训练,以提高训练速度,一般有单机单卡,单机多卡,多机多卡等训练方式。这就会使用到pytorch提供的DataParallel(DP)和DistributedDataParallel(DDP)这两个函数来实现。原创 2024-03-29 15:10:34 · 1993 阅读 · 0 评论 -
PyTorch学习(2):torch.device
torch.device 是 PyTorch 中的一个类,它指定了张量(Tensor)和模型应该运行在哪个设备上。在深度学习中,通常会使用 GPU 来加速计算,而 torch.device 允许你轻松地在 CPU 和 GPU 之间切换。原创 2024-03-28 07:42:00 · 2511 阅读 · 0 评论 -
PyTorch学习(1):torch.meshgrid的使用
torch.meshgrid生成网格,可以用于生成坐标。函数输入两个数据类型相同的一维张量,两个输出张量的行数为第一个输入张量的元素个数,列数为第二个输入张量的元素个数,当两个输入张量数据类型不同或维度不是一维时会报错。原创 2024-03-22 09:28:28 · 1701 阅读 · 0 评论 -
YOLOv9(3):YOLOv9损失(Loss)计算
YOLOv9的Loss计算与YOLOv8如出一辙,仅存在略微的差异。多说一句,数据的预处理和导入方式都是一样的。因此如果你已经对YOLOv8了解的比较透彻,那么对于YOLOv9你也只是需要多关注网络结构就可以。YOLOv9本身也是Anchor-Free的,同样采用了解耦头。因此其损失计算的关键同样在于“对齐”,即通过TAL方法实现Ground Truth与Pred grid中的Cell进行对齐,然后计算Loss。原创 2024-03-14 16:43:30 · 3012 阅读 · 2 评论 -
Vision Transformer(二):位置嵌入向量
Transformer 模型中的位置嵌入(position embedding)是一种机制,用来给模型提供关于序列中各个元素位置的信息。在原始的 Transformer 模型中,这是必要的,因为模型的主要构建块(如自注意力层)本身并不具备处理序列中元素位置关系的能力。原创 2024-02-06 16:34:52 · 1708 阅读 · 0 评论 -
小数据量,旋转目标识别
原创 2021-08-11 10:17:58 · 155 阅读 · 0 评论