深度学习高级实践
文章平均质量分 91
专属解决深度学习技术应用过程中的技术难点
优惠券已抵扣
余额抵扣
还需支付
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
万里鹏程转瞬至
一名热爱深度学习算法实践的算法工程师,工作日长期活动在线,有项目研发技术问题均可私聊。
展开
-
将gdip-yolo集成到yolov9模型项目中(支持预训练的yolov9模型)
YOLOv9意味着实时目标检测的重大进步,引入了可编程梯度信息(PGI)和通用高效层聚合网络(GELAN)等开创性技术。该模型在效率、准确性和适应性方面取得了显著改进,在MS COCO数据集上建立了新的基准。YOLOv9项目由一个独立的开源团队开发,建立在Ultralytics YOLOv5提供的强大代码库的基础上,展示了人工智能研究社区的合作精神。yolov9模型在coco数据集的效果如下所示。原创 2024-04-18 21:43:09 · 107 阅读 · 0 评论 -
将gidp模块、ipam集成到ultralytics项目中实现支持预训练权重的gidp-yolov8、ipam-yolov8
gdip-yolo与ia-seg都是一种将图像自适应模块插入模型前面,从而提升模型在特定数据下检测能力的网络结构。gdip-yolo提出了gdip模块,可以应用到大雾数据与低亮度数据(夜晚环境),然后用于目标检测训练;ia-seg将ia-yolo中的代码修改了一下修车了ipam模块,应用到低亮度数据(夜晚环境),然后用于语义分割训练。我们可以抽取gdip模块与ipam模块,完全嵌入到ultralytics项目中,以支持ultralytics项目中的任意模型,目前已经验证支持yolov8n-gdip.yaml原创 2024-04-17 22:51:23 · 179 阅读 · 3 评论 -
提取gdip-yolo与ia-seg中的图像自适应模块进行图像去雾与亮度增强
gdip-yolo与ia-seg都是一种将图像自适应模块插入模型前面,从而提升模型在特定数据下检测能力的网络结构。gdip-yolo提出了gdip模块,可以应用到大雾数据与低亮度数据(夜晚环境),然后用于目标检测训练;ia-seg将ia-yolo中的代码修改了一下修车了ipam模块,应用到低亮度数据(夜晚环境),然后用于语义分割训练。这两个项目都发布了预训练模型,我们可以抽取预训练模型中的图像自适应模块进行数据增强。原创 2024-03-29 22:41:47 · 176 阅读 · 0 评论 -
将FastSAM中的TextPrompt迁移到MobileSAM中
SAM提到了text prompt,但其代码中没有发布实现方式,MobileSAM也没有实现text prompt,而FastSAM以一种巧妙的方式实现了text prompt。这主要因为,在现有成熟的训练体系下加入Prompt机制是比较复杂的,MobileSAM基于解耦蒸馏绕过Prompt的训练(`使用sam原始的prompt的`),而FastSAM将Prompt看作一种结果稀疏化的方法(`对于位置类prompt,采用逻辑操作进行mask选择;对于text的prompt,基于clip对实例切片进行余弦原创 2024-03-17 15:12:48 · 308 阅读 · 0 评论 -
将gdip-yolo集成到yolov8项目中(核心思路可以应用到yolov9的集成)
本博文通过gdip-yolo论文的深入分析发现,其论文中最为关键的gdip-yolo与gdip-regularizer,为此先在yolov8项目中实现gdip-yolov8,后续时间会考虑将gdip-regularizer集成对最新的目标检测算法。发现gdip-yolov8模型无法导出为onnx模型,这是因为gdip-yolo模块中使用了vgg16作为视觉编码器,然后vgg16中包含了adaptive_avg_pool2d无法被onnx算子所支持(需要自己固定图像输入尺寸,然后修改为avg_pool2d)原创 2024-03-06 22:28:46 · 314 阅读 · 7 评论 -
使用AOT-GAN-for-Inpainting训练自己的数据集
AOT-GAN-for-Inpainting是一个开源的图像修复项目,其对 Places2 数据集的效果表明,该模型在 FID 方面明显优于最先进的模型,相对改进了 1.8%。一项包括 365 多名受试者的用户研究进一步验证了 AOT-GAN 的优越性。其开源的模型在logo去除、面部修复和物体移除上取得良好效果。我们可以使用 AOT-GAN-for-Inpainting项目训练自己的数据集。AOT-GAN-for-Inpainting的解读可以参考。原创 2024-02-22 14:09:52 · 281 阅读 · 0 评论 -
将ia-seg中的ipam模块集成到yolov8中实现ia-yolov8(支持预训练的yolov8模型,兼容原来的用法)
具体操作为,在ultralytics\nn\tasks.py中的第237行(ia-yolo项目的使用代码如下所示,通过设置环境变量original_yolo来控制项目使用原始yolo还是ia-yolo进行训练、通过enhanceType参数控制是用ia-yolo或gidp-yolo(关于gidp-yolo的使用后续发布博文)。将ia-seg中ipam的相关代码抽取出来,并新增部分代码,形成以下代码,保存为ia_ultralytics\engine\IPAM.py,这里的主要目的是构造IA_Model类。原创 2024-02-20 23:35:20 · 299 阅读 · 1 评论 -
3060ti显卡+cuda12.1+win10编译安装生成fastdeploy的c++与python库
在cuda12中,调用官方发布的fastdeploy会出现报错,故此自行编译fastdeploy库。官网编译教程:https://github.com/PaddlePaddle/FastDeploy/blob/develop/docs/cn/build_and_install/gpu.md可选编译选项。原创 2024-02-08 00:03:29 · 256 阅读 · 0 评论 -
导出zoedepth的onnx模型并基于gradio实现在线部署
将C:\Users\Administrator.cache\torch\hub\intel-isl_MiDaS_master\midas\backbones\utils.py中的代码修改为以下形式。需要注意的是,原来在zoedepth\models\zoedepth\zoedepth_v1.py中输出的结构是dict,但是在转换为onnx模型后,被转换为tensor了。将zoedepth\models\base_models\midas.py 中的get_size函数修改为以下内容,也就是。原创 2024-01-16 22:19:18 · 527 阅读 · 0 评论 -
使用rembg库提取图像前景(移除图像背景),并构建web应用
在传统图像处理中,前景是无法被直接提取出来,都是通过将前景图像的灰度与梯度特征不断进行增强,使得其与背景呈现显著性差异;在深度学习图像处理领域中,图像内容可以被定义为前景与背景两部分,其中感兴趣图形的被定义为前景,不感兴趣区域的背景。如在目标检测中,被框出来的目标则被定义为前景。如果要使用u2net_human_seg、u2net_cloth_seg、u2netp等模型进行前景提取,也可以自行下载。处理本地文件夹,命令如下所示,./image为要处理的图片目录,image_out为处理结果的存放目录。原创 2024-01-10 21:40:12 · 1480 阅读 · 0 评论 -
AOT-GAN + onnx部署 + gradio 实现在线图像修复
运行环境说明,其依赖: torch + python-opencv + onnxruntime + gradio + numpy + einops。原创 2024-01-14 12:46:44 · 280 阅读 · 2 评论 -
在ultralytics中实现obb检测,官方团队做了哪些修改?
在最新的在ultralytics中,官方团队已经提供了obb检测功能,并发布了相应的预训练模型,其具体使用可以参考。在ultralytics\nn\modules\head.py中,实现了OBB head,用于在网络head中新增预测值用于进行角度预测,可见其是通过cv4 进行角度特征提取,最终预测一个角度值(ne ),`非csl、kdl的方式进行预测,其预测的角度范围为[-pi/4, 3pi/4]`原创 2024-01-08 00:45:00 · 1773 阅读 · 0 评论 -
使用pytorch-superpoint与pytorch-superglue项目实现训练自己的数据集
superpoint与superglue的组合可以实现基于深度学习的图像配准,官方发布的superpoint与superglue模型均基于coco数据训练,与业务中的实际数据或许存在差距,为此实现基于开源的pytorch-superpoint与pytorch-superglue项目实现训练自己的数据集。然而,在训练pytorch-superpoint有诸多细节需要优化,特此整理成技术文档。本文档描述了实验pytorch-superpoint与pytorch-superglue项目训练自己的图像配准模型。原创 2024-01-07 00:15:00 · 2748 阅读 · 18 评论 -
将yolov8的检测框从正框修改为旋转框需要做那些修改?
将yolov8项目修改为yolov8_obb项目需要修改模型结构(增加角度预测)、dataloader(使其支持dota格式数据)、修改TaskAlignedAssigner(使其支持带角度的bbox)、修改loss(新增对角度的训练)、修改metric(将hbb指标titile修改为obb)、修改绘图代码(使其能绘制旋转框)。目前yolov8官方团队已经发布了支持obb的检测,博主于8个月前所实现的obb没有任何战略价值。为此分享博主过往将将yolov8项目修改为正框模型的操作过程。从正框模型到旋转框模型原创 2024-01-06 14:05:01 · 1157 阅读 · 0 评论 -
使用PCReg.PyTorch项目训练自己的数据集&进行点云配准
本文方法与常见的图像配准逻辑类似,基于采样与transfrom操作从源点云生成目标点云,然后进行训练与评测。总体看来效果不如open3d自带的fgr方法,可以作为入门级项目进行使用。网络是基于PointNet + Concat + FC的,它没有其它复杂的结构,易于复现。因其简洁性,这里暂且把其称作点云配准的Benchmark。因作者源码中复杂的(四元数, 旋转矩阵, 欧拉角之间)的变换操作和冗余性,且其PyTorch版本的不完整性(缺少评估模型等,最近又更新了),原创 2023-12-02 11:13:55 · 534 阅读 · 3 评论 -
IA-YOLO项目中DIP模块的初级解读
IA-YOLO项目源自论文,其提出端到端方式联合学习CNN-PP和YOLOv3,这确保了CNN-PP可以学习适当的DIP,以弱监督的方式增强图像检测。IA-YOLO方法可以自适应地处理正常和不利天气条件下的图像。阅读论文发现只介绍了IA-YOLO的实际效果,对DIP模块和CNN-PP介绍较少,故此查阅源码分析其实现。通过分析发现,IA-YOLO使用filtered_image_batch 与 input_data_clean的mse loss优化CNN-PP模块的输出。原创 2023-08-27 13:06:03 · 7900 阅读 · 38 评论 -
使用ZoeDepth生成深度估计图
目前单目深度估计分为两个派系,。ZoeDepth是 第一个结合相对和绝对深度的多模态单目深度估计网络。本博文仅记录使用ZoeDepth生成深度估计图的过程(因为直接按项目说明中进行使用会报错误)项目地址: https://github.com/isl-org/ZoeDepth论文地址: https://arxiv.org/pdf/2302.12288.pdf。原创 2023-09-20 22:10:07 · 4159 阅读 · 20 评论 -
IA-SEG项目中DIAL-Filters(IAPM模块+LGF模块)使用解读
CNN-PP模块为DIP模块优化图像提供filter参数,其本质是一个简洁的卷积神经网络,其输入部分为低分辨的原始图,其输出为DIP模块的优化参数。在IA-SEG中,CNN-PP模块的参数(预测4个filter参数,278K)比在IA-YOLO(预测15个filter参数,165k)要多。注:IA-SEG与IA-YOLO均为同一作者实现DIF模块全程Differentiable Image Filters,其由几个具有可调超参数的可微滤波器组成,包括曝光度、伽玛度、对比度和锐度。原创 2023-09-02 14:18:54 · 4189 阅读 · 11 评论 -
C++下web框架corw的完全使用手册(实现中文支持)
corw是一个开源、轻量化的c++web库,在使用上与python的flask是类似的。本文档为corw的完整使用文档,含项目配置(基于cmakelist)、路由绑定、返回数据(json、文本、response对象、静态资源、模板文件)、接口请求处理(REST请求,url参数绑定、json请求、GET参数和POST参数)和各种高级操作(Cookie操作、Session操作、文件上传操作、文件下载操作、websocket操作、自定义loghandler)。此外,还对各类参数请求、结果返回过程中对中文的支持(如原创 2023-11-26 10:14:12 · 2160 阅读 · 0 评论 -
基于ROPNet项目训练modelnet40数据集进行3d点云的配置
一种新的深度学习模型,该模型利用具有区别特征的代表性重叠点进行配准,将部分到部分配准转换为部分完全配准。基于pointnet输出的特征设计了一个上下文引导模块,使用一个编码器来提取全局特征来预测点重叠得分。为了更好地找到有代表性的重叠点,使用提取的全局特征进行粗对齐。然后,引入一种变压器来丰富点特征,并基于点重叠得分和特征匹配去除非代表性点。在部分到完全的模式下建立相似度矩阵,最后采用加权支持向量差来估计变换矩阵。原创 2023-12-05 22:47:28 · 654 阅读 · 15 评论 -
修改ROPNet项目训练实现训练自己的数据集
一种新的深度学习模型,该模型利用具有区别特征的代表性重叠点进行配准,将部分到部分配准转换为部分完全配准。基于pointnet输出的特征设计了一个上下文引导模块,使用一个编码器来提取全局特征来预测点重叠得分。为了更好地找到有代表性的重叠点,使用提取的全局特征进行粗对齐。然后,引入一种变压器来丰富点特征,并基于点重叠得分和特征匹配去除非代表性点。在部分到完全的模式下建立相似度矩阵,最后采用加权支持向量差来估计变换矩阵。在订阅本专栏后,需要博主修改后的源码和修改教程可以私聊博主。原创 2023-12-24 12:45:38 · 212 阅读 · 0 评论