- 博客(220)
- 收藏
- 关注

原创 深入解析YOLOv8:网络结构与推理过程
YOLOv8作为目标检测领域的新星,其网络架构和推理过程体现了YOLO系列的最新技术进展。通过精心设计的网络结构和优化的推理流程,YOLOv8在保持实时性的同时,也实现了更高的检测准确率。随着未来研究的深入,YOLOv8有望在更多应用场景中展现其强大的性能。祝大家实验顺利,有效涨点~!!
2024-05-16 16:35:02
71265
5

原创 深入 YOLOv8:探索 block.py 中的模块,逐行代码分析(四)
CBLinear是YOLOv9中的一种卷积块,它结合了卷积层(Conv)、批量归一化层(BatchNorm)和激活函数(SiLU)。这种设计使得CBLinear在构建网络的基本单元时,能够通过可逆连接增强网络的信息流。
2024-05-14 14:32:31
51181

原创 深入 YOLOv8:探索 block.py 中的模块,逐行代码分析(三)
YOLOv8,作为最新和最先进的对象检测模型之一,其核心架构由多个精心设计的构建块组成。这些构建块在 block.py 文件中定义,它们共同构成了 YOLOv8 的骨架。在本文中,我们将深入探讨这些构建块的原理和作用。
2024-05-10 14:09:33
52566
3

原创 深入 YOLOv8:探索 block.py 中的模块,逐行代码分析(二)
YOLOv8,作为最新和最先进的对象检测模型之一,其核心架构由多个精心设计的构建块组成。这些构建块在 block.py 文件中定义,它们共同构成了 YOLOv8 的骨架。在本文中,我们将深入探讨这些构建块的原理和作用。
2024-05-08 12:27:38
51052

原创 深入 YOLOv8:探索 block.py 中的模块,逐行代码分析(一)
YOLOv8,作为最新和最先进的对象检测模型之一,其核心架构由多个精心设计的构建块组成。这些构建块在block.py文件中定义,它们共同构成了 YOLOv8 的骨架。在本文中,我们将深入探讨这些构建块的原理和作用。
2024-05-07 13:56:27
54454
1

原创 YOLOv5网络结构解析
YOLO(You Only Look Once)系列作为目标检测领域的重要算法,以其速度快、性能好而著称。YOLOv5是该系列的最新版本,它在保持YOLO一贯的简洁高效特点的同时,进一步优化了算法性能。本文将深入探讨YOLOv5的实现细节,包括其基础组件和关键实现步骤。
2024-05-06 16:20:26
59133
19

原创 深入解析yolov5,为什么算法都是基于yolov5做改进的?(一)
YOLOv5是一种单阶段目标检测算法,它在YOLOv4的基础上引入了多项改进,显著提升了检测的速度和精度。YOLOv5的设计哲学是简洁高效,它有四个版本:YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,分别对应不同的模型大小和性能。YOLOv5的四个版本(s,m,l,x)——YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,它们之间的主要区别在于模型的深度和宽度,即模型的复杂度和性能。下面是各个版本的具体区别:可以看到每个模型对应的大小速度检测性能都有差距。
2024-05-01 13:27:38
59106
119

原创 【万字长文】看完这篇yolov4详解,那算是真会了
YOLO系列自2016年推出YOLOv1起,就以其卓越的速度和准确度引领着目标检测技术的潮流。YOLOv1将目标检测任务转化为一个回归问题,每个格子(grid cell)负责预测该区域内的物体。随后的YOLOv2通过批量归一化、高斯YOLO等技术进一步提升性能。YOLOv3引入多尺度预测,通过三个不同尺度的网络来检测不同尺寸的物体,极大地提升了对小目标的检测能力。
2024-04-28 21:15:19
60596
101

原创 YOLOv3没有比这详细的了吧
YOLOv3(You Only Look Once version 3)是一种流行的实时目标检测算法,由Joseph Redmon等人提出。它是YOLO系列的第三个版本,在精度和速度上都有显著提升。
2024-04-25 14:49:57
58027
135

原创 深入解析YOLOv2
目标检测是计算机视觉中的一个核心问题,它旨在识别图像中所有感兴趣的目标,并给出它们的类别和位置。近年来,随着深度学习技术的发展,目标检测领域取得了巨大的进步。YOLO(You Only Look Once)系列算法以其出色的速度和合理的精度,在实时目标检测任务中占据了重要的地位。YOLOv2作为该系列的第二个版本,对原始YOLO进行了显著的改进,进一步提高了检测速度和准确度。
2024-04-23 15:20:04
36577
68

原创 深入理解VGG网络,清晰易懂
VGG网络的设计哲学在于其简洁和一致性,它完全由3x3的卷积核和2x2的最大池化层构成,没有使用任何特殊的层,如1x1卷积或Inception模块。VGG网络的设计哲学在于其简洁和一致性,它证明了通过增加网络的深度,可以显著提高图像识别的性能。最后,VGG网络使用Softmax函数将全连接层的输出转换成概率分布,这样每个类别都有一个介于0到1之间的数值,所有类别的概率之和为1。这通常通过取一个小区域的最大值来实现,这样即使图像内容发生微小的移动,网络的输出也不会有太大变化,从而增强了网络的泛化能力。
2024-04-22 14:21:06
64904
63

原创 Darknet,看过很多篇,这个最清晰了
YOLO(You Only Look Once)是Darknet的标志性应用之一,它是一种实时目标检测算法,能够在单次前向传播中检测图像中的多个对象,并输出它们的边界框和类别。YOLO的速度和效率使其成为自动驾驶、监控和无人机视觉等实时目标检测应用的理想选择。批量归一化是一种用于提升神经网络训练效率和性能的技术,由Sergey Ioffe和Christian Szegedy在2015年提出。Darknet是一个快速、轻量级且多功能的深度学习框架,特别擅长目标检测任务。
2024-04-22 14:03:19
65459
52

原创 目标检测YOLO数据集的三种格式及转换
选择合适的数据集格式对于训练和部署YOLO模型至关重要。TXT格式简单易用,适合初学者和快速原型开发;VOC格式适合需要更详细标注信息的项目;而COCO格式则因其标准化和通用性,成为许多研究和实际应用的首选。了解这些格式及其转换方法,可以帮助研究人员和开发者更有效地处理目标检测任务。
2024-04-21 17:49:50
81423
24
原创 小白也能轻松上手:ToDesk、Parsec、AnyDesk、TeamViewer 哪款远程软件最适合新手?
在数字化时代,远程桌面软件成为了连接不同设备、提升工作效率的重要工具。无论是远程办公、远程在线学习还是远程协助,一款好用的远程软件都能带来极大的便利。但面对众多的远程桌面软件,新手往往无从下手。今天,我们就来对比四款热门的远程软件——ToDesk、Parsec、AnyDesk、TeamViewer,看看哪款更适合新手小白。
2025-06-04 16:44:41
22743
10
原创 协程实现并发服务器
最终效果:客户端开一百个线程,每个线程发500条消息,每个线程之间间隔10毫秒怕电脑顶不住,实验室工作站太拉了(老师有点抠门)计算一下用时结果,100x500=50k条消息,std::cout好像是很费时的,这么看好像性能还不错诶。祝大家学习顺利~如有任何错误,恳请批评指正~~🎈关注我的公众号AI Sun可以获取Chatgpt最新发展报告以及腾讯字节等众多大厂面经。😎也欢迎大家和我交流,相互学习,提升技术,风里雨里,我在等你~
2025-01-23 08:30:00
727
原创 asio协程实现并发服务器
echolistener初始化:程序启动时,main函数创建io_context并启动listener协程。监听连接listener协程在指定端口监听新的连接请求。处理连接:每当有一个新的连接到来时,listener协程就会启动一个新的echo协程来处理这个连接。回显数据:每个echo协程会接收来自客户端的数据并将其发送回去,直到连接被关闭。异常处理:在整个过程中,无论是listener还是echo协程,都会进行适当的异常处理,确保程序能够稳定运行。事件循环io_context的run。
2025-01-22 09:00:00
730
原创 深入理解 `boost::asio::co_spawn`:启动协程的利器
提供了一种高效且易于理解的方式来启动协程,特别适合处理I/O密集型任务。通过co_spawn,你可以以同步的方式编写异步代码,从而提高代码的可读性和可维护性。此外,它还支持并发协程,允许你并发等待多个异步操作,进一步提高程序的性能。祝大家学习顺利~如有任何错误,恳请批评指正~~🎈关注我的公众号AISun可以获取Chatgpt最新发展报告以及腾讯字节等众多大厂面经。😎也欢迎大家和我交流,相互学习,提升技术,风里雨里,我在等你~
2025-01-21 09:15:00
1353
原创 Boost.Asio中的awaitable:异步编程的新范式
协程函数的返回类型为,其中T是协程的返回值类型。例如,一个返回类型为void//协程逻辑提供了一种高效且易于理解的方式来实现异步编程,特别适合处理I/O密集型任务。通过co_await关键字,你可以以同步的方式编写异步代码,从而提高代码的可读性和可维护性。此外,awaitable还支持并发协程,允许你并发等待多个异步操作,进一步提高程序的性能。祝大家学习顺利~如有任何错误,恳请批评指正~~🎈关注我的公众号AISun可以获取Chatgpt最新发展报告以及腾讯字节等众多大厂面经。
2025-01-21 08:45:00
1210
原创 Asio多线程模型-ThreadPool
使用多线程有两种方式:-启动多个线程,每个线程管理一个io_context。-启动一个io_context,被多个线程共享这次写的是第二种,我们只初始化一个io_context用来监听服务器的读写事件,包括新连接到来监听也用这个io_context。让iocontext.run()在多个线程中调用,这样回调就会被不同的线程触发。
2025-01-20 09:15:00
968
原创 asio多线程模型IOServicePool
😎作者介绍:欢迎来到👈,我是,一个热爱分享技术的。。🎈本文专栏:本文收录于《Asio网络编程》系列专栏,相信一份耕耘一份收获,我会分享Asio网络编程相关学习内容,不说废话,🤓欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深度学习从0到1系列文章。🖥。
2025-01-20 08:45:00
891
原创 服务优雅退出的两种思路
以上两种思路各有优缺点。第一种思路将服务和信号处理集成在主线程中,代码较为简洁,但可能不太适合复杂的多线程场景。第二种思路通过分离服务运行和信号处理的线程,提供了更好的灵活性和资源管理能力,适用于对性能和资源利用有较高要求的服务程序。开发者可以根据实际需求和项目复杂度选择合适的实现方式。祝大家学习顺利~如有任何错误,恳请批评指正~~🎈关注我的公众号AISun可以获取Chatgpt最新发展报告以及腾讯字节等众多大厂面经。😎也欢迎大家和我交流,相互学习,提升技术,风里雨里,我在等你~
2025-01-17 17:42:05
649
原创 单例逻辑类实现解耦合
😎 作者介绍:欢迎来到👈,我是,一个热爱分享技术的。。🎈 本文专栏:本文收录于《Asio网络编程》系列专栏,相信一份耕耘一份收获,我会分享Asio网络编程相关学习内容,不说废话,🤓 欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深度学习从0到1系列文章。🖥。
2025-01-17 16:30:57
1063
原创 异步粘包处理的BUG反思
😎 作者介绍:欢迎来到👈,我是,一个热爱分享技术的。。🎈 本文专栏:本文收录于《Asio网络编程》系列专栏,相信一份耕耘一份收获,我会分享Asio网络编程相关学习内容,不说废话,🤓 欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深度学习从0到1系列文章。🖥。
2025-01-15 09:58:42
1217
原创 伪闭包延长生命周期
😎 作者介绍:欢迎来到👈,我是,一个热爱分享技术的。。🎈 本文专栏:本文收录于《Asio网络编程》系列专栏,相信一份耕耘一份收获,我会分享Asio网络编程相关学习内容,不说废话,🤓 欢迎大家关注其他专栏,我将分享Web前后端开发、人工智能、机器学习、深度学习从0到1系列文章。🖥。
2025-01-15 09:57:19
666
原创 Asio异步读写demo
提高性能:异步读写避免了阻塞操作,使得服务器可以同时处理多个客户端的请求,提高了程序的并发性能和吞吐量。响应迅速:服务器能够及时响应客户端的请求和数据传输,减少了等待时间,提升了用户体验。资源利用率高:通过合理分配线程和资源,异步读写使得服务器能够更高效地利用系统资源,降低了资源浪费。
2025-01-14 09:30:00
1080
原创 ASIO异步读写:实现高效网络通信的艺术
session类 管理服务器处理客户端的连接下面是简略版public:private:这里有三种实现,其中第一种是错误的,第二种写法冗余,第三种一般是推荐这样其实就是async_write_some这个接口回调函数返回已发送的字节数并不是全部长度(async_send是发送全部长度,原理也是不断的调用async_write_some直到发送完)。恰好在没发送完的过程中,下一个消息体也调用了这个async_write_some接口,那么消息的顺序就不确定了。
2025-01-14 08:15:00
628
原创 线程开了就不管啦,让我带你走进它的细枝末节
在现代网络编程中,同步读写是一种常见的通信方式。它允许程序在发送和接收数据时,按照一定的顺序和规则进行操作。本文将通过一个简单的示例,介绍如何使用Boost.Asio库实现同步读写网络编程,并探讨其中的一些关键点和容易踩的坑。
2025-01-13 10:11:03
1124
原创 从传统Socket编程到Boost.Asio:网络编程的进化之旅
Asio网络库提供了自己的buffer数据结构,用于接收和发送数据。和分别表示可变长度和固定长度的缓冲区。常量缓冲区用于读操作,可变缓冲区用于写操作。可以把buffer理解为一个存储地址的vector,每个地址指向一个包含length和data的结构。从传统Socket编程到Boost.Asio,我们看到了网络编程的巨大进步。Asio以其异步非阻塞的特性,突破了同步阻塞的局限,为高并发网络应用提供了强大的支持。它不仅简化了编程模型,还极大地提高了程序的性能和效率。
2025-01-13 10:07:20
798
原创 性能至上:ClickHouse才是数据库的未来
先来看看性能对比,会发现mysql弱爆了~ClickHouse是一款高性能的列式数据库管理系统(DBMS),主要用于在线分析处理(OLAP)。由俄罗斯搜索引擎公司Yandex基于自身大规模数据聚合和分析的需求而开发,并在2016年开源。ClickHouse以其卓越的查询性能在大数据领域迅速获得了广泛的关注和应用。ClickHouse支持SQL查询语言,能够在实时生成分析数据报告的同时,保持对大数据量级的快速响应。
2024-11-15 23:57:47
2851
1
原创 编译优化那些事儿~
编译优化是指在编译器将源代码转换成可执行文件的过程中,通过一系列的技术手段改善生成代码的性能(如执行速度、内存使用等)。这包括但不限于减少指令数、提高缓存利用率、减少分支错误预测等。// 原始循环i < n;++i) {// 循环展开i < n;i+=4) {
2024-10-18 08:15:00
3481
原创 深入解析FLV格式
FLV(Flash Video)是一种流行的流媒体格式,最初由Adobe公司推出,用于在互联网上传输音视频数据。FLV格式以其小巧的文件体积和简单的封装结构,特别适合网络应用,因此迅速成为在线视频分享和直播领域的主流格式。
2024-08-14 08:15:00
5121
原创 深入解析H.264中的NALU
H.264,也称为MPEG-4 AVC(Advanced Video Coding),是一个由ISO/IEC和ITU-T联合开发的高效视频编码标准。它旨在提供比以往标准更高的压缩效率,同时保证视频质量。H.264标准广泛应用于高清视频、视频会议、流媒体服务等多个领域。H.264的核心优势在于其高度压缩能力,能够在较低的比特率下实现高质量的视频传输。这一优势使得H.264成为互联网视频流和移动视频通信的首选编码格式。
2024-08-13 08:30:00
7707
原创 AAC中的ADTS格式分析
AAC(Advanced Audio Coding)是一种高效的音频编码技术,广泛应用于数字音频的传输和存储。它是由MPEG-4标准定义的有损音频压缩格式,提供了比传统MP3格式更高的音质和更低的比特率。AAC的两种主要文件格式是ADIF(Audio Data Interchange Format)和ADTS(Audio Data Transport Stream)。在本文中,我们将重点分析ADTS格式。
2024-08-12 08:15:00
6506
原创 音视频解封装流程深度解析
解封装,又称为“Demuxing”,是指将一个封装好的音视频文件(如MP4、FLV等)中的音频和视频数据流分离出来的过程。这个过程是封装的逆操作,它允许我们访问和操作原始的音视频数据,而不受到封装格式的限制。
2024-08-12 08:15:00
7217
原创 【面试高频,必知必会】OpenGL渲染流程
OpenGL渲染流程是一系列复杂的步骤,通过这些步骤,3D场景中的物体被转换成2D图像,最终显示在屏幕上。以下是对OpenGL渲染流程的详细分析:在3D图形编程中,渲染管线的每个阶段都可以用不同的编程语言和API来实现,例如OpenGL、DirectX或Vulkan。以下是一些示例代码,展示了如何使用OpenGL的着色器语言GLSL(OpenGL Shading Language)来实现渲染管线的不同阶段。本节将通过一个具体的实例——渲染一个简单的3D物体,来详细分析OpenGL的渲染流程。
2024-08-06 19:29:09
10937
原创 MP4标准格式深度解析
MP4格式是一种容器格式,它不仅可以包含视频数据,还可以包含音频、字幕、元数据等多种媒体类型。这种灵活性使得MP4格式适用于多种设备和平台。
2024-08-02 08:30:00
10815
原创 H.264编码中的16x16宏块分析
H.264,也称为MPEG-4 AVC(Advanced Video Coding),是一种广泛应用于视频压缩的编码标准。它通过高效的编码技术,能够在保持高质量视频的同时,显著减少文件大小。H.264编码中,视频帧被划分为多个宏块(Macroblock, MB),每个宏块是编码和解码的基本单元。本文将详细分析H.264中16x16宏块的结构和作用。
2024-08-02 08:30:00
11341
原创 ffprobe:FFmpeg的多媒体分析工具
ffprobe是FFmpeg工具集中的一个多媒体分析工具,用于分析音视频文件,显示多媒体内容的详细信息,包括格式、编码信息、帧率、比特率、音视频流数据等。ffprobe是开发者和多媒体工程师进行文件分析、调试和验证的得力助手。ffprobe允许用户自定义输出内容,只显示关心的信息。ffprobe作为FFmpeg套件的一部分,是一个功能强大的多媒体分析工具。它不仅可以帮助用户理解多媒体文件的深层信息,还能在多媒体处理和开发中发挥重要作用。本文仅介绍了ffprobe。
2024-08-02 08:15:00
10033
原创 FFmpeg:多媒体处理的瑞士军刀
FFmpeg是一个开源的多媒体处理工具集,广泛用于音视频转码、流处理、播放和录制等。它支持广泛的格式和编解码器,因其强大的功能和灵活性,FFmpeg成为了多媒体开发者和爱好者的首选工具。
2024-08-01 08:30:00
9784
原创 FFplay:FFmpeg中的多媒体播放器
FFplay使用SDL库进行视频显示和音频输出,提供了基本的播放控制功能,包括播放、暂停、停止、全屏切换等。此外,FFplay还允许用户查看多媒体文件的详细信息,如解码过程、帧率、比特率等。FFplay作为FFmpeg工具集中的一员,提供了丰富的功能和灵活的参数配置,无论是对于普通用户还是开发者,都是一个非常有用的工具。通过本文的介绍,希望能帮助大家更好地利用FFplay,享受多媒体播放和开发的乐趣。祝大家学习顺利~如有任何错误,恳请批评指正~~🎈关注我的公众号AI Sun可以获取。
2024-08-01 08:30:00
10319
c语言雷霆战机mini版-适合新手入门
2024-03-20
C语言实现猜拳小游戏-小白必做项目
2024-03-20
C语言实现2048经典小游戏
2024-03-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人