- 博客(1187)
- 收藏
- 关注
原创 LightningCLI教程 + 视频讲解
本文介绍PyTorch Lightning的LightningCLI工具,它可以自动生成命令行接口,简化深度学习项目配置。传统方式需要手动编写参数解析代码,而LightningCLI通过分析LightningModule和LightningDataModule的初始化参数,自动生成完整的命令行和配置文件支持。相比传统方式,它减少了样板代码,统一管理配置,使训练启动更加高效,只需几行核心代码即可完成复杂功能。
2025-11-22 17:00:58
67
原创 论文Leveraging Unlabeled Data for Crowd Counting by Learning to Rank算法详解
本文提出一种基于排序的自监督人群计数方法CrowdCLIP,旨在解决标注数据稀缺问题。通过互联网自动收集无标签人群图像,并设计多任务网络联合学习计数(密度图回归)和排序(人数比较)任务。创新性地提出三种训练策略,其中多任务联合训练效果最佳。该方法无需人工标注即可构建大规模排序数据集,显著提升模型性能。实验验证了多尺度采样和排序数据对性能的重要性,为无监督人群计数提供了新思路。
2025-11-21 16:57:15
40
原创 论文STEERER人群计数,车辆计数以及农作物计数算法详解(pytorch)
本文提出STEERER模型,通过选择性继承学习实现多尺度特征融合。模型采用FSIA算法从低到高分辨率融合特征,并使用CAM方法显示各尺度特征区域。实验表明,该模型在车辆(TRANCOS)和玉米计数(MTC)任务中表现优异,MAE分别降低12.9%和14.0%。可视化结果显示STEERER在生成密度图和定位方面优于基线模型,尤其擅长检测大型和小而密集的物体。跨域测试证实模型具有良好可移植性,适用于车辆、树木等多种场景的定位和计数任务。
2025-11-15 10:44:31
332
原创 论文Rethinking Counting and Localization in Crowds: APurely Point-Based Framework算法详解(PyTorch)
摘要:本文提出P2PNet,一种基于点预测的人群计数与定位新框架。针对现有密度图方法定位模糊和检测方法依赖伪标注的缺陷,该方法直接预测个体位置点,实现精确计数定位。创新点包括:1)纯点预测框架;2)密度归一化平均精度新指标;3)双分支网络结构。实验表明,P2PNet在计数精度和定位性能上达到最优,为人群分析任务提供了更实用的解决方案。相关代码和数据集已在GitHub开源。
2025-11-08 19:56:53
1056
原创 论文TMTB(Taste More, Taste Better: Diverse Data and Strong Model Boost Semi-Supervised Crowd Count)详解
全监督,半监督以及无监督在人群计数中都有所研究,但是相关的研究并不太多,大部分都是基于全监督并且是基于密度图的人群统计,当然还有很多其他的研究,这里就不一一例举出来了。本文要讲的是刚刚发表出来的基于半监督来做的,作者主要是从修复增强以及引入了新的网络架构mamba在人群计数中,mamba也是我目前第一次在人群计数中使用,当然作者也不是直接拿来用,而是基于mamba的骨干网络(backbone)来进行改进的,从实验的效果来看,这篇论文得到效果再大部分数据集上的效果还是可以的。
2025-11-01 13:23:24
915
原创 QT 6.6.0 实现五子棋,中国象棋(玩家对战,人机对战模式)
摘要:该项目包含两个棋类游戏开发案例:五子棋和中国象棋。五子棋采用C++/Qt6.6.0开发,支持本地人机对战和网络人人对战,包含AI决策、网络通信、音效系统等模块,提供实时聊天、战绩统计等功能。中国象棋实现人机对战,AI采用Minimax算法和Alpha-Beta剪枝,支持5级难度调整,包含完整的走棋规则和胜负判定。两个项目均具有美观的图形界面和完整的游戏流程,展示了Qt框架在游戏开发中的应用。
2025-10-11 17:42:22
897
原创 QT 6.6.0实现“雷霆战机”游戏(经典游戏回顾)
摘要:本文介绍了一款基于Qt框架开发的雷霆战机射击游戏。游戏支持键盘控制战机移动和射击,包含三种不同难度的敌机(10/15/20分),具有实时碰撞检测、真暂停功能和音效系统。核心功能包括玩家控制、敌机生成、双向子弹系统和计分管理。游戏提供完整的生命周期管理,从开始界面到游戏结束统计,并支持打包为exe文件。文末推荐了多个图标资源网站供开发者参考。
2025-10-09 10:32:28
985
原创 QT中基于websocket实现“在线白板协作”项目
在线协作白板系统,支持多人实时绘图、文本编辑和聊天通信。系统采用C++/Qt开发,具有铅笔、直线、矩形、椭圆、文本和橡皮擦等多种绘图工具,支持撤销/重做、保存导出等操作。网络模块基于WebSocket实现,支持房间创建、用户管理、实时同步和状态广播。界面设计简洁直观,包含工具栏、颜色选择器和网格背景,提供连接状态指示灯和用户列表显示。该系统实现了较好的协作绘图工作流,包括操作同步、冲突处理和状态管理,适合远程教学、团队会议和协同设计场景使用。
2025-09-26 16:23:33
1260
原创 MiniGPT-v2论文中几个关键名词介绍(重要)
计算机视觉与自然语言处理的交叉任务包括:视觉问答(VQA)用于回答图像相关问题;图像描述(ImageCaption)生成文本描述;指代表达(ReferringExpression)解析特定区域的语言指代;带定位的图像描述(GroundedImageCaption)结合视觉定位;区域识别(RegionIdentification)定位特定区域;目标解析与定位(Object parsing and grounding)识别并定位对象;目标身份验证(object identification)确认对象身份。这些任
2025-09-26 16:22:42
1049
原创 基于QT 6.6.0 WebSocket协议实现远程桌面协助项目(客户端远程控制服务端,远程桌面显示,鼠标控制以及键盘输入控制)
本文介绍了一个基于QT开发的远程桌面协助项目,类似于TeamViewer等远程控制软件。该项目实现了客户端显示服务端桌面、鼠标键盘控制等功能,并已打包成完整软件。文章提供了视频讲解、代码下载地址和QT学习资源链接,帮助开发者学习相关技术。远程桌面技术可广泛应用于技术支持、故障排查等场景,能有效提升工作效率并降低服务成本。
2025-09-16 17:34:47
886
原创 基于QT 6.6.0 WebSocket协议进行客户端和服务端的通信(C/C++)
WebSocket协议是一种基于TCP的全双工通信协议,建立在TCP三次握手基础上,可通过HTTP协议升级实现。该协议于2011年被IETF标准化为RFC6455,其数据帧包含多个关键字段:FIN标志位指示消息结束片段,Opcode定义帧类型,Mask位控制负载掩码,Payload length表示数据长度。客户端到服务器的帧必须使用32位掩码键加密。WebSocket支持文本、二进制等多种数据格式,广泛应用于实时通信场景。相关技术文档可通过RFC6455、百度百科等渠道查阅。
2025-09-13 15:55:31
857
原创 TinyWebServer-v2服务器新增SSL/TLS协议和Content-Encoding字段指定压缩格式,生成私钥和自签证书以及数据压缩,保证数据在传输的过程中是加密和提高传输的效率
该视频讲解TinyWebServer-v2服务器升级功能,包括文件上传下载、最小堆优化、界面美化及session管理,并新增图像分类、目标检测和语义分割功能。重点介绍了基于SSL/TLS协议实现数据加密传输的方法,通过生成私钥和证书确保数据安全,同时演示了使用tcpdump抓包和wireshark分析工具。由于采用自签证书,浏览器会提示"不安全"警告。项目代码已开源在GitHub。
2025-09-10 10:07:49
1203
原创 linux上使用tcpdump工具抓包(基于TCP协议的客户端向服务端发送信息,以及使用SSL/TLS协议之后客户端向服务端发送信息)和wireshark工具分析抓包(linux/C/C++)
本文介绍了基于TCP协议的socket网络编程实践,重点演示了使用tcpdump工具在Linux环境下抓取TCP通信过程的方法。文章提供了详细的编译运行步骤(make编译后启动server/client)和多种tcpdump抓包命令示例,包括全量抓包、控制台显示、数量限制等不同场景。通过对抓包数据的分析,清晰展示了TCP三次握手、明文数据传输(客户端发送"hello,server")以及四次挥手(合并为三次)的完整通信流程。文末附有相关代码下载地址和Wireshark抓包工具的使用参考链
2025-09-01 12:53:57
1143
原创 muduo网络编译安装过程报错(Linux/C/C++)
Muduo是一个基于Reactor模式的现代C++高性能网络库,由陈硕开发,专注于Linux多线程TCP网络编程。其核心特性包括:1)高性能事件驱动架构,使用epoll实现高并发;2)简洁的回调机制和常见网络操作封装;3)线程安全的One Loop per Thread模型;4)主要支持Linux但可跨平台移植。编译时常见问题包括:需禁用-Werror、安装GoogleTest和Boost.Test依赖库。典型使用示例展示了如何实现简单的Echo服务器,通过事件循环处理TCP连接和数据收发。
2025-08-17 15:45:08
860
原创 TinyWebServer-v2服务器增加上传和下载文件功能,最小堆代替双链表,界面美化以及服务器生成session id,浏览器保存cookie,图像分类实现,目标检测系统以及语义分割(C/C++)
摘要:本文介绍了基于Linux的C++轻量级Web服务器TinyWebServer-v2的改进版本。项目在原作者代码基础上进行了优化:1) 用最小堆替换双向链表定时器;2) 新增文件上传下载功能;3) 使用HTML/CSS/JavaScript美化界面。服务器采用线程池+非阻塞socket+epoll的并发模型,支持Reactor和Proactor模式,通过状态机解析HTTP请求。项目保持轻量级的初心,改进时借助AI辅助完成,新增功能通过分块传输解决大文件上传问题。Webbench测试显示多种模式下的性能表
2025-08-12 09:41:24
1169
原创 分组查询注意力GQA(Grouped-query attention)算法详解
本文探讨了注意力机制的优化方法,重点介绍了分组查询注意力(GQA)的创新设计。针对多头注意力(MHA)内存开销大和多查询注意力(MQA)质量下降的不足,GQA采用键值头分组共享策略,在保持接近MHA性能的同时显著提升推理效率。研究提出两种优化方案:1)使用5%额外计算量将MHA检查点升级为MQA;2)引入GQA混合架构。实验显示GQA有效平衡效率与质量,特别适合长序列生成任务。但研究存在训练成本对比不足和架构覆盖不全面等局限性,尤其在纯解码器模型中的应用效果有待进一步验证。
2025-06-22 21:59:50
1388
原创 多查询注意力(Multi-Query Attention)详解
本文提出多查询注意力方法来优化Transformer模型在增量推理时的性能。针对自回归解码过程中反复加载键/值张量导致内存带宽开销大的问题,该方法让多头注意力共享键和值张量,显著减小了张量规模。实验表明,该方法能大幅提升解码速度,且仅带来轻微质量损失。文中还分析了传统点乘注意力、多头注意力及其增量版本的特性,验证了多查询注意力的有效性。
2025-06-18 13:30:18
1217
原创 Linux下编写C++程序导入opencv编译并执行的几种方式(Linux/C++/OpenCV)
文章展示了一个简单的OpenCV程序示例,该程序创建100x100的黑色图像并输出尺寸信息。直接编译时会出现"opencv2/opencv_modules.hpp文件缺失"的错误。作者提供了临时解决方案(方式一),但具体内容未展开说明。该示例演示了OpenCV基础使用和常见的编译配置问题
2025-05-31 11:44:05
491
原创 论文Robust Zero-Shot Crowd Counting and Localization With Adaptive Resolution SAM讲解
前面我们已经讲过了关于人群计数无监督的论文,而今天要讲的这篇论文目前是我看到的最新的无监督人群计数算法,但是呢!论文没有给代码,所以下面的讲解只能结合论文给出的理论来大致讲一下。
2025-05-29 12:04:54
814
原创 论文 Learn to Rectify the Bias of CLIP for Unsupervised Semantic Segmentation详解(PyTorch)
前面我们已经讲过了两篇论文关于人群计数的无监督算法,其中一篇是基于人群计数符合自然幂律分布,而另外一篇是基于CLIP的无监督算法,充分利用了CLIP的泛化性能。而本文要讲的是关于语义分割领域的一篇基于CLIP的无监督算法,但是这篇算法的理解不是太容易,因此需要花较多的时间去阅读和理解。
2025-05-27 14:15:18
1015
原创 论文 Completely Self-Supervised Crowd Counting via Distribution Matching无监督算法详解
今天讲解的这篇论文属于无监督方面的算法点,其中的算法理解不是太容易,并且涉及的算法点也比较多,所以需要花较多的时间去理解和阅读。上一次我们讲过基于CLIP的无监督人群计数CrowdCLIP算法,那篇论文算法理解起来更加容易一点,并且代码实现方面理解起来也更加容易一点,因此也希望大家可以看一下那篇论文。
2025-05-23 12:05:36
1365
原创 PyTorch Lightning教程就看这篇(视频教程 + 文字教程)
简介:PyTorch Lightning 是一个基于 PyTorch 的高级深度学习框架,旨在将科研代码的灵活性与工程化最佳实践结合,通过标准化训练流程大幅减少模板代码。其中,继承LightningModule之后,可以很方便的把自己的训练过程,验证以及测试过程都给集成起来,包括优化器的配置等函数,可以比较容易的进行配置和训练。定义Trainer之后,结合继承至LightningModule对象,就可以实现完整的训练了(除了一些额外的配置之外)。这个视频和文字教程就是想让大家快速的上手PyTorch Lig
2025-05-20 19:06:35
2206
原创 论文Chinese-CLIP(图像-中文版的Contrastive Vision-Language Pretraining in Chinese)详解(PyTorch代码)
虽然基于“图像-英文”的CLIP在很多下游任务中得到广泛的应用,但是毕竟是国外(OpenAi)公司做出来的,因此如果直接将CLIP应用到“图像-中文”上的话效果比较差,为了能更好的应用中文的图文检索其实是非常好的,针对中文训练一个Chinese-CLIP。虽然Chinese-CLIP很大程度上还是基于CLIP来做的,但是其中涉及的知识点还是应该讲一下的,具体做了什么以及源码训练以及模型是具体怎么实现的,这也很重要。了解Chinese-CLIP对于后期的应用到自己的任务具有很大的优势。
2025-05-17 15:06:18
1348
原创 论文VQ-GAN(Taming Transformers for High-Resolution Image Synthesis)高分辨图像生成讲解(PyTorch)
因为VQ-GAN是基于VQ-VAE方法来的。和之前一样,之所以将这篇论文主要是为后面CLIP-GEN论文打下基础,因此,建议小伙伴先看VQ-VAE和VQ-GAN,之后再去学习CLIP-GEN的时候会很快。图像合成对于我们来说是一个神奇但是又有趣的东西,生成一个逼真有效的图像对于很多领域来说非常的有用,可以将生成的图像用于扩从数据集,或者绘画,或者给其他模型的学习提供参考等作用。大家在看这篇论文之前,请先看。
2025-05-15 22:17:54
661
原创 论文Visual Prompt Tune(视觉提示微调)详解
还记得我们之前讲的“CLIP-Count(基于文本指导的零样本目标计数)”论文的内容吗,如果看过的小伙伴应该知道CLIP-Count论文的作者就使用到了“Visual Prompt Tune”方法训练模型。我们今天来看这篇论文也是因为CLIP-Count提到了这一点。如果迁移微调的模型比较大的话,是不是也可以尝试采用“visual prompt tune”呢,关于这一点大家可以去尝试一下。同样,《Visual Prompt Tune》这篇论文的作者也是认为当前基于模型的全微调对于参数量大的模型并不好,不仅
2025-05-15 14:40:13
1170
原创 论文VQ-VAE-2(Generating Diverse High-Fidelity Images with VQ-VAE-2)详解(PyTorch)
前面我们已经讲过了关于VQ-VAE的原始论文,其中主要是采用一种离散隐变量的自编码方法,通过向量量化(Vector Quantization, VQ) 实现隐空间的离散化,从而提升表征的可解释性和生成质量。正是VQ-VAE在大规模的模型当中得到应用,也证明了它的成功。
2025-05-14 15:29:20
1415
原创 论文CLIP-Count(基于文本指导的零样本目标计数)详解(PyTorch)
前面我们已经讲过了关于基于CLIP的人群统计两篇文章,也希望读者可以去看前面两篇文章,因为这对于学习CLIP在计数方面具有很好的启发。前面两篇文章主要是从有监督和无监督两方面来进行研究的,而这篇文章也可以说是从无监督的方面来进行研究的,不同的是这篇文章不仅仅是针对人群计数,主要是面对所有的目标,通过文本指定要统计的目标达到效果(零样本计数)。
2025-05-13 09:42:04
1180
原创 Reference-less Counting,Zero-shot Counting,Few-shot Counting,单域泛化以及域自适应之间的区别?
之所以这里会着重区分“Reference-less Counting,Zero-shot Counting,Few-shot Counting,单元域泛化以及域自适应”这个五个概念的区别,是因为真的很重要。我们在学习的过程中经常容易把这些问题给搞混淆,而恰恰这些概念又是非常重要的,那么我们在给被人讲述,写东西或者自己看论文的时候也容易犯糊涂。因此,这篇博文着重把这几个概念加入进来,当然,最后,我们也会探讨“全监督,半监督,开发世界识别和开发词汇识别”。
2025-05-12 15:29:53
1125
原创 开源项目minGPT应用案例详解(PyTorch)
minGPT 是GPT的 PyTorch 重新实现,包含训练和推理功能。minGPT 力求精简、简洁、可解释且具有教育意义,因为目前大多数 GPT 模型实现可能略显臃肿。GPT 并非一个复杂的模型,该实现大约有 300 行代码。其工作原理是将一系列索引输入到Transformer中,然后得出序列中下一个索引的概率分布。其复杂性主要体现在巧妙地进行批处理(跨样本和跨序列长度),以提高效率。重写的nanoGPT,从单纯的教育导向转向一个仍然简单易行但又有实际意义的东西。
2025-05-11 12:45:05
926
原创 论文CrowdCLIP(基于CLIP的无监督人群计数模型)详解(PyTorch,Pytorch_Lighting)
前面一篇论文我们已经讲过了关于CLIP应用的人群统计算法CLIP-EBC,但是前面一篇论文是从完全监督的角度去考虑并且基于块级分类方向来进行研究的。而本文CrowdCLIP主要是从完全无监督的方向来进行研究的,两篇论文都从不同的角度去提升人群计数模型的性能,采用更新颖的方法做研究,这对于人群统计算法的拓展很有帮助,因为当前的人群统计算法基本把所有能用的算法都用的差不多了,而这两篇论文从其他角度出发探讨问题。
2025-05-10 15:41:32
1135
原创 论文CLIP-EBC(基于CLIP的人群统计模型)详解
论文《Distribution Matching for Crowd Counting》提出了一种新的人群计数方法,通过使用人群统计损失(CLoss)、最优化传输损失(OTLoss)和总的变化损失(TVLoss)来提高计数准确性。该方法借鉴了DMCount的损失函数,并结合了CLIP预训练对比语言模型。CLIP-EBC是该领域首次将CLIP模型应用于全监督范式的人群计数,不同于之前的CrowdCLIP采用的Zero-shot范式。论文和相关代码可在提供的链接中下载,为进一步研究和应用提供了资源。
2025-05-09 17:29:20
1417
原创 论文Neural Discrete Representation Learning(VQ-VAE)详解(PyTorch)
(论文下载链接)之所以将论文,主要是为讲解后面两篇论文做准备,VQ-VAE不管是视频还是博客,都有人在讲解,但是这里也做一个总结,以衔接后面的两篇论文讲解,关于相关的论文比较多,并且其中涉及的数学原理以及推导也比较多,导致我们在阅读VAE方法的时候可能存在较多的困惑,自己在看的过程中也遇到了较多的困惑,但是还是准备做一个总结。
2025-04-28 20:20:37
1623
原创 人群计数中常用数据集的总结以及使用方式(Python/PyTorch)
本文主要是对人群计数中常用的数据集的相关介绍以及使用方式,之所以特意的抽时间来写这篇博文,主要是最近发现比较多的小伙伴(刚进入这个领域)在人群计数数据集上容易迷茫。如果一个一个的为大家进行解答的话,还不如直接写一篇文章来更加细致的给大家讲解一下。如果在讲解的过程中有什么不对的地方,还请大家能够指出(ヾ(◍°∇°◍)ノ゙)。悄悄举手:若觉得文章有用,不妨留下一个小赞?
2025-04-15 14:19:37
1207
原创 C++中的yield相关知识点
特别是在自旋锁(spinlock)或无锁(lock-free)编程中。只是一个提示(hint),具体是否切换线程由操作系统决定。:当前线程暂时放弃 CPU,让其他线程有机会运行。,允许操作系统调度其他线程运行。:在循环中等待某个条件时(如自旋锁),用。是 C++ 标准库中的一个函数,用于。可以减少 CPU 资源的浪费。
2025-03-24 19:31:10
759
原创 并发编程中原子操作atomic的store,load,test_and_set,compare_exchange_weak()或compare_exchange_strong()使用方法(Code)
是 C++ 标准库中用于实现原子操作的类模板。原子操作是指在多线程环境中,某个操作要么完全执行,要么完全不执行,不会被其他线程打断。提供了多种成员函数来执行原子操作,其中最常用的两个是store()和load()。1.store()
2025-03-24 18:15:26
1155
原创 论文MirrorGAN: Learning Text-to-image Generation by Redescription详解
尽管在使用生成对抗网络生成高质量和视觉上真实的图像方面取得了显著进展,但保证文本描述与视觉内容之间的语义一致性仍然非常具有挑战性。例如,在第四列中,鸟的腹部颜色被修正为白色,穿红色夹克的滑雪者被复原。因此,生成图像的质量逐渐提高,例如,翅膀和冠的颜色和细节有所改善。的优越性,并且它利用重描述的双重正则化,即如果可以正确重描述,则应生成语义一致的图像。在第一阶段,生成的低分辨率图像具有简单的形状和颜色,但缺乏细节。旨在从生成的图像中再生文本描述,该描述在语义上与给定的文本描述对齐。具体来说,与最先进的方法。
2025-02-18 14:47:19
1132
原创 文本对图像的描述(MirrorGAN)
文本对图像的描述对于如今的大模型来说是比较容易的事情,但是其中的原理是怎么实现的呢?本文从MirrorGAN论文中给出的方法以及上面给出的代码下载地址来进行讲解。将从原理和代码进行详解。
2025-02-17 08:59:29
1019
原创 文本和图像编码器(AttnGAN)详解
本文之所以将AttGAN中提出的DAMSM(Deep Attention Multimodel Similarity Model)单独拿出来讲解,主要是因为后面的比较多论文都会使用这个文本编码器和图像编码器预训练模型对文本和图像进行编码。虽然当前的CLIP打通了文本和图像,但是了解DAMSM的实现过程也是比较重要的,只有对其有了比较深刻的理解,在理解CLIP也是比较有帮助的。这个链接中已经提供了相关数据集对应的文本和图像编码器预训练模型。
2025-02-10 15:43:49
936
原创 论文Generative Adversarial Text to Image Synthesis详解
关键是,这些插值后的文本嵌入不需要对应于实际的人类写作文本,因此没有额外的标注成本。可以结合以前见过的内容(例如文本)和以前见过的风格,但以新的组合方式来生成与训练期间见过的任何图像都非常不同的可信图像。为了进行姿势验证和背景颜色验证的两个任务,首先构建了相似和不相似的图像对,并通过将图像输入到风格编码器中(该编码器经过训练以反转输入和生成器输出)来计算预测的风格向量。在花卉形态上往往具有最多样化(例如,如果这一部分在说明中未指定,可以看到非常不同的花瓣类型),而其他方法则倾向于生成更具类别一致性的图像。
2025-02-10 13:44:23
1178
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅