- 博客(209)
- 收藏
- 关注
原创 Python----目标检测(《YOLOv3:AnIncrementalImprovement》和YOLO-V3的原理与网络结构)
YOLOv3的Backbone在YOLOv2的基础上设计了Darknet-53结构。 Darknet-53结构引入了ResNet的残差思想,类似于ResNet。
2025-06-02 21:34:52
399
原创 Python----目标检测(《YOLO9000: Better, Faster, Stronger》和YOLO-V2的原理与网络结构)
《YOLO9000: Better, Faster, Stronger》是由Joseph Redmon和Ali Farhadi于2016年提出的先进实时物体检测系统。该系统在YOLO(You Only Look Once)的基础上进行了多项改进,包括批归一化、高分辨率分类器、锚框机制、维度聚类、直接位置预测和多尺度训练等,显著提升了检测精度和速度。
2025-06-02 21:34:37
548
原创 Python----目标检测(《You Only Look Once: Unified, Real-Time Object Detection》、约瑟夫-雷德蒙介绍、YOLOV1的原理与网络结构)
《You Only Look Once: Unified, Real-Time Object Detection》是由Joseph Redmon等人于2015年提出的一种端到端的实时目标检测框架YOLO。该论文的核心贡献在于将目标检测从传统的多阶段流程转化为单阶段回归问题,通过单一卷积神经网络同时完成特征提取、边界框预测和非极大值抑制,实现了端到端优化。YOLO的基础模型处理速度达45FPS,FastYOLO达155FPS,远超同期实时检测系统。YOLO的创新点包括回归问题重构、统一架构和实时性,其技术细节
2025-06-02 21:34:20
463
原创 Python----目标检测(训练YOLOV8网络)
本文详细介绍了YOLOv8模型的训练、验证和导出流程。首先,使用labelImg工具对数据集进行标注,并通过Python脚本将数据划分为训练集、验证集和测试集。接着,配置YOLOv8模型进行训练,包括单GPU和多GPU训练,并支持从中断处恢复训练。训练过程中,可以调整多种参数如学习率、批量大小、图像尺寸等以优化模型性能。训练完成后,使用验证集评估模型,并可通过调整验证参数如置信度阈值、IoU阈值等来优化评估过程。
2025-06-02 21:34:03
672
原创 Python----目标检测(使用YOLO 模型进行线程安全推理和流媒体源)
在多线程环境中使用YOLO模型进行推理时,确保线程安全至关重要。Python的threading模块允许多线程操作,但由于全局解释器锁(GIL),一次只能有一个线程执行Python字节码。尽管如此,线程仍能在I/O绑定操作或使用释放GIL的操作(如YOLO的底层C库)时提供并发性。 在线程间共享YOLO模型实例可能导致竞态条件,因并发访问可能不一致地修改模型的内部状态。非线程安全的做法包括在线程外实例化模型并在多个线程间共享该实例,或在多个线程间共享多个模型实例。这些做法可能导致模型内部状态被破坏,甚至程序
2025-06-02 21:33:40
521
原创 Python----目标检测(Ultralytics安装和YOLO-V8快速上手)
Ultralytics提供了各种安装方法,包括pip、conda和Docker。通过 ultralytics pip包安装最新稳定版本的YOLOv8,或克隆Ultralytics GitHub 存储库以获取最新版本。可以使用Docker在隔离的容器中执行包,避免本 地安装。
2025-06-02 21:33:16
680
原创 Python----目标检测(《SSD: Single Shot MultiBox Detector》论文和SSD的原理与网络结构)
SSD(Single Shot MultiBox Detector)是一种高效的单阶段目标检测模型,由Wei Liu等人在2016年提出。其核心创新包括多尺度特征图预测和高效的单次检测框架。SSD通过在不同层级的卷积特征图上生成不同尺度和长宽比的默认边界框,直接预测类别得分和边界框偏移量,无需候选区域生成,显著提升了检测速度。SSD在VOC2007测试集上达到74.3% mAP,速度59 FPS,优于Faster R-CNN和YOLO。SSD的贡献包括推动实时检测发展、技术启发性、实际应用价值和学术贡献,成
2025-06-01 09:08:15
560
原创 Python----目标检测(《基于区域提议网络的实时目标检测方法》和Faster R-CNN)
由Shaoqing Ren, Kaiming He, Ross B. Girshick和Jian Sun在2015年提出 的,它是Fast R-CNN的改进版本。 其主要创新在于引入了区域建议网络 (Region Proposal Network, RPN),使得整个目标检测过程能够在一个 神经网络中完成,从而大幅提高了检测效率和准确性。
2025-05-31 13:54:02
992
1
原创 Python----目标检测(《Fast R-CNN》和Fast R-CNN)
Fast R-CNN是一种高效的基于区域提议的卷积神经网络(R-CNN)改进方法,主要解决了R-CNN和SPPnet在训练和检测速度上的瓶颈问题,同时提升了检测精度。
2025-05-30 08:15:50
988
原创 Python----目标检测(《用于精确目标检测和语义分割的丰富特征层次结构》和R-CNN)
原文标题:Rich feature hierarchies for accurate object detection and semantic segmentation中文译名:用于精确目标检测与语义分割的丰富特征层次结构版本:第5版技术报告(Tech report v5)作者:Ross Girshick等(UC Berkeley)发表时间:2014年(CVPR会议扩展版)核心贡献:提出R-CNN(Regions with CNN features)框架,首次将深度卷积网络(CNN)与区域提议方
2025-05-29 08:26:56
1414
原创 Python----目标检测(目标检测的评价指标)
绿色:GT-Box(Ground-truth bounding box):标注的红色:P-Box(Predicted bounding box):预测的标准:用标注软件标注的结果就是标准!所以:预测出来的边界框与标注的边界框可以组成评判标准,同时,边界 框框出的类别可以确认其类别是否正确。
2025-05-28 09:18:39
1109
原创 Python----循环神经网络(Transformer ----Encoder-Decoder)
本文介绍了自然语言处理任务的分类及Encoder-Decoder结构。自然语言任务可分为三类:N对1(如文本摘要)、N对N(如机器翻译)和N对M(如序列标注)。针对输入输出长度不等的情况,Encoder-Decoder结构通过编码器压缩输入序列为固定表示,解码器再解压生成输出序列。训练中可采用Teacher-forcing技术,使用真实目标序列加速收敛,但也存在测试时泛化性不足的问题,可通过Scheduled Sampling方法平衡训练模式。
2025-05-27 09:09:52
931
原创 Python----目标检测(图像分类与目标检测)
图像分类是指将整幅图像归类到某个预定义的类别中。目标是识别图像的主要内容, 并将图像分配到一个类别标签。换句话说,图像分类只回答一个问题:这幅图像属于 哪个类别?它通常包括以下几个步骤:数据收集与标注:收集大量图像,并为每张图像标注正确的类别标签。预处理:调整图像尺寸、增强、归一化等,以便模型更好学习。模型训练:使用深度学习模型(如卷积神经网络CNN)在标注数据上训练。模型评估:用验证集检验模型的准确性,调整参数避免过拟合。部署与预测:将训练好的模型放在实际应用中,进行新图像的分类。
2025-05-26 05:59:27
860
原创 Linux----介绍
文章首先介绍了计算机硬件和软件的基本概念,硬件包括主机、显示器、键盘等物理部件,而软件则包括操作系统、应用程序等程序和数据。接着,文章详细阐述了操作系统的作用,作为用户与硬件之间的桥梁,负责调度和管理硬件资源。随后,文章转向Linux系统的介绍,包括其诞生背景、组成结构以及基于GNU/Linux的发行版。Linux由内核、Shell、文件系统和应用程序组成,而发行版如Debian和Ubuntu则结合了Linux内核和GNU工具集,形成了完整的操作系统。文章还提到了Linux系统的安装方式,包括直接安装、虚拟
2025-05-26 05:58:45
1423
原创 计算机视觉处理----OpenCV(鼠标控制和滑动条事件TrackBar)
在OpenCV中,setMouseCallback和TrackBar是用于实现交互式图像处理的重要工具。setMouseCallback允许用户通过设置回调函数来捕捉和处理鼠标事件,如点击、移动等,从而在图像窗口中进行交互操作。回调函数可以获取鼠标事件的详细信息,如事件类型、坐标和按键状态。TrackBar则是一个滑动条控件,用于动态调整图像处理参数,如亮度、对比度等。通过createTrackbar创建滑动条,并使用getTrackbarPos获取当前值,用户可以在实时调整参数的同时观察图像变化。这两个功
2025-05-26 05:58:07
969
原创 基于PyQt5的LeNet5的手写体数字识别
本项目基于PyQt5框架开发了一个手写数字识别应用,结合LeNet-5卷积神经网络模型,实现了用户手写数字的实时识别与保存功能。系统通过MNIST数据集训练LeNet-5模型,并在PyQt5的GUI界面中提供画布供用户书写数字。用户书写后,系统将图像预处理为28x28像素的灰度图,输入LeNet-5模型进行预测,并即时显示识别结果。此外,应用还支持将用户绘制的数字图像保存至本地。项目展示了深度学习模型与图形界面的结合,提供了一个简单易用的手写数字识别工具。
2025-05-26 05:57:46
535
原创 Python----目标检测(YOLO数据集)
YOLO(You Only Look Once)是一种实时目标检测系统,其数据集格式 与 COCO 数据集格式不同。YOLO 数据集格式相对简单,主要包括图像文 件和对应的标签文件。
2025-05-26 05:56:50
560
原创 Python----目标检测(MS COCO数据集)
COCO 是一个大规模的对象检测、分割和图像描述数据集。COCO有几个 特点:Object segmentation:目标级的分割(实例分割)Recognition in context:上下文中的识别(图像情景识别)Superpixel stuff segmentation:超像素分割330K images (>200K labeled):330K 图像(>200K 已经做好标记)1.5 million object instances:150 万个对象实例。
2025-05-26 05:56:22
1256
原创 Python----神经网络(基于ResNet的汽车分类)
本文介绍了一个基于PyTorch的图像分类任务实现流程。首先设置随机数种子确保实验可重复性,并检测CUDA设备可用性。接着构建数据集,定义训练和验证的图像转换流程,并创建数据加载器。然后使用ResNet18模型,冻结预训练参数并修改全连接层以适应新任务。模型训练采用交叉熵损失和Adam优化器,经过5个epoch训练后,在验证集上评估准确率并绘制混淆矩阵。整个流程包括数据预处理、模型构建、训练验证和结果可视化等完整步骤。
2025-05-25 09:59:08
487
原创 Python----循环神经网络(GRU)
GRU(门控循环单元)是RNN的一种变体,旨在解决长期依赖问题,其结构比LSTM更简单高效。GRU通过更新门和重置门来管理信息流,更新门决定保留或遗忘当前输入的程度,而重置门则控制过去信息的保留或遗忘。在每个时间步,模型接收输入和上一时间步的隐藏状态,通过这两个门的调控,计算新的隐藏状态。GRU的结构简化了LSTM的记忆单元,使其在处理时间序列数据时更加灵活和高效。本文还介绍了如何使用PyTorch实现GRU模型,包括数据编码、模型定义、损失函数和优化器的设置,以及模型的训练和预测过程。
2025-05-24 08:22:48
905
原创 Python----循环神经网络(LSTM:长短期记忆网络)
RNN在处理长序列时存在长期依赖问题,即随着序列增长,模型难以记住较早时刻的信息,导致梯度消失或爆炸。为解决这一问题,LSTM(长短期记忆网络)被提出,它通过引入门控机制(输入门、遗忘门、输出门)来选择性保留或丢弃信息,从而更好地捕捉长期依赖关系。LSTM的输入门决定新信息的保留程度,遗忘门控制旧信息的遗忘程度,细胞状态则通过选择性更新来存储记忆。虽然LSTM不能完全避免梯度消失或爆炸,但它通过门控机制显著改善了这一问题,使其在处理长序列时表现更优。
2025-05-23 08:36:32
1031
原创 Python----循环神经网络(Word2Vec的优化)
负采样是一种用于优化词向量训练的技术,主要应用于CBOW和Skip-gram模型。其核心思想是通过随机采样少量负样本(中心词与非上下文词组成的词对),将原始的多分类问题转化为二分类问题,模型通过区分正样本和负样本来更新词向量。负采样策略通常基于词频,高频词更可能被选为负样本,并通过词频的3/4次方进行平滑处理。负采样的优势在于显著降低了计算复杂度,从O(V)降至O(K+1),提升了训练速度,同时增强了词向量的语义区分能力,避免了梯度稀疏性问题。
2025-05-22 08:23:41
876
原创 Python----循环神经网络(Word2Vec)
Word2Vec是word to vector的简称,字面上理解就是把文字向量化,也就是词嵌入 的一种方式。它的核心就是建立一个简单的神经网络实现词嵌入。其模型仅仅包括输入层、隐藏层和输出层,模型框架根据输入输出的不同,主要包括 CBOW和Skip-gram模型。
2025-05-21 08:52:37
1659
原创 Python----循环神经网络(WordEmbedding词嵌入)
当我们用数字来让电脑“认识”字符或单词时,最简单的方法是为每个字符或单词分配一个唯一的编号,然后用一个长长的向量来表示它。比如,假设“我”这个字在字典中的编号是第10个,那么它的表示就是一个很多0组成的向量,除了第10个位置是1,其余都是0。这种表示叫做one-hot编码,中文常用字就有大约五千个,所以每个字的向量长度也就大约是五千维。不过,这样的表示有两个问题。第一,向量很长,存储和计算都很浪费空间,因为大部分位置都是0,没有任何信息。
2025-05-20 09:03:03
855
原创 Python----目标检测(labelimg和labelme的安装与使用,Pycharm配置教程)
labelimg是一款开源的图像标注工具,标签可用于分类和目标检测,它是用python写的,并使用Qt作为其图形界面,简单好用(虽然是英文版的)。其注释以 PASCAL VOC格式保存为XML文件,这是ImageNet使用的格式。此外,它还支持 COCO数据集格式。 Labelme 是一个开源的图像标注工具,广泛用于为深度学习模型生成目标检测、图像分割等任务所需的标注数据,支持多种标注类型和导出格式,操作简便,适合批量处理大量图片。
2025-05-19 08:57:11
974
原创 Python----循环神经网络(RNN的梯度消失和梯度爆炸)
在深度神经网络中,特别是很深的网络中,梯度消失是一个常见问题。这指的是在反向传播过程中,网络较深层的权重更新梯度变得非常小,甚至趋于零。这样的话,底层的权重几乎没有更新,导致网络难以学习到底层的特征。原因:在反向传播中,每一层的梯度都是通过链式法则计算得到的,梯度值是前一层梯度和 权重的乘积。当这个乘积小于1时,通过多个层传递下来的梯度就会指数级地减小, 最终趋近于零。解决方法:使用激活函数:选择合适的激活函数,如ReLU(Rectified Linear Unit), Leaky ReLU等。
2025-05-19 08:56:33
706
原创 Python----目标检测(PASCAL VOC数据集)
PASCAL VOC(Visual Object Classes)数据集是计算机视觉领域中广泛使用的一个 标准数据集,用于目标检测、图像分割、图像分类、动作识别等任务。该数据集由 PASCAL(Pattern Analysis, Statistical Modelling and Computational Learning) 网络主办的年度挑战赛推出,旨在推动视觉对象识别技术的发展。2012年数据集下载。
2025-05-19 08:55:06
821
原创 Git的使用
Git是Git一个开源的分布式版本控制系统,被广泛用于软件开发以及需要对文件进行版本管理的其他场 景。可以有效、高速地处理项目版本管理。是(Linus Benedict Torvalds)于2005年创建的,目的是为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
2025-05-19 08:53:51
620
原创 计算机视觉处理----OpenCV(OpenCV介绍、基本操作)
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,广泛用于图像和视频处理。它支持多种操作系统(如Windows、Linux、macOS)和编程语言(如Python、C++、Java),并提供了丰富的功能,包括图像处理、特征提取、目标检测、视频分析、三维重建、图像分割以及机器学习与深度学习等。
2025-05-19 08:53:21
557
原创 Python----语音识别(模拟声音与数字声音----语音信号处理和特征提取)
1. 音频格式分类音频文件可以分为有损和无损两类。有损压缩格式包括 MP3、OGG 和 AAC,这些格式经过压缩会丢失一部分原始音频信息。而无损压缩格式则包括 WAV、PCM 和 FLAC,它们在压缩后还能保持音频的原始质量。2. 幅值在一段声音信号中,声音的上下偏离中心位置的距离即为幅值。通常用箭头标示的距离来表示幅值,反映了声音强度的变化大小。3. 分贝(dB)分贝是衡量音量的相对值,计算公式为。这里的 x 是当前声音的幅值,x₀ 是参考采样值的大小。
2025-05-19 08:52:39
790
原创 Python----循环神经网络(基于RNN的风电功率预测)
在全球能源转型的浪潮中,风力发电因其清洁和可再生的特性而日益重要。然而,风力发电功率的波动性给电网的稳定运行和能源调度带来了挑战。准确预测风力发电机的功率输出,对于优化能源管理、提高电网可靠性以及促进风能的高效利用至关重要。传统的预测方法在应对风力发电固有的复杂性和非线性时存在局限,因此,利用深度学习等先进人工智能技术,从历史运行数据中学习并预测风功率,已成为一个重要的研究方向。
2025-05-18 09:47:12
413
原创 Python----循环神经网络(RNN为什么能做时序预测)
时序任务很难或者无法用DNN来进行预测,就像DNN对于图像特征提取任务很差,我们需要使用CNN,对于完成时序任务来说,我们就需要用到RNN,RNN(Recurrent Neural Network,循环神经网络),在时序任务中的广泛应用,包括文本生成、语音识别、时间序列预测、机器翻译等领域。
2025-05-17 10:11:26
765
原创 Python----循环神经网络(基于DNN的时序预测+NLP自然语言处理)
自然语言处理(Natural Language Processing,NLP)是人工智能领域的一个分支,专注于使计算机能够理解、分析和生成人类自然语言的文本或语音数据。NLP致力于构建能够处理自然语言的智能系统,使计算机能够与人类进行自然而流畅的交流,而不仅仅是执行预定义的任务。以下是关于NLP的一些关键概念和应用:1. 文本分析:NLP技术可用于文本分析,包括文本分类、情感分析、主题建模和实体识别。
2025-05-16 08:55:52
1174
原创 Python----神经网络(基于DNN的风电功率预测)
在全球能源转型的浪潮中,风力发电因其清洁和可再生的特性而日益重要。然而,风力发电功率的波动性给电网的稳定运行和能源调度带来了挑战。准确预测风力发电机的功率输出,对于优化能源管理、提高电网可靠性以及促进风能的高效利用至关重要。传统的预测方法在应对风力发电固有的复杂性和非线性时存在局限,因此,利用深度学习等先进人工智能技术,从历史运行数据中学习并预测风功率,已成为一个重要的研究方向。
2025-05-15 08:59:38
585
原创 Python----神经网络(《Searching for MobileNetV3》论文概括和MobileNetV3网络)
MobileNetV3提出了large和small两个版本(区别在于网络结构不同),paper中讲 在MobileNetV3 Large在ImageNet分类任务上,较MobileNetV2,TOP1准确率提高 了大约3.2%,时间减少了20%。与具有同等延迟的MobileNetV2模型相比,Mobile NetV3 Small的准确率高6.6%。
2025-05-14 09:01:49
1364
原创 Python----神经网络(《Inverted Residuals and Linear Bottlenecks》论文概括和MobileNetV2网络)
在移动端设备float16的低精度的时 候,也能有很好的数值分辨率,如果对Relu的激活范围不加限制,输出范围为0到正 无穷,如果激活值非常大,分布在一个很大的范围内,则低精度的float16无法很好 地精确描述如此大范围的数值,带来精度损失,所以在量化过程中,Relu6能够有更 好的量化表现和更小的精度下降。即对输入特征矩阵进行利用1x1卷积进行降维,减少输入特征矩阵的channel,然后 通过3x3的卷积核进行处理提取特征,最后通过1x1的卷积核进行升维,那么它的结 构就是两边深,中间浅的结构。
2025-05-13 09:04:20
1089
原创 Python----神经网络(《Efficient Convolutional Neural Networks for Mobile VisionApplication》和MobileNetV1网络)
MobileNets模型基于深度可分离卷积构建,这是一种将标准卷积分解为深度卷积和1x1卷积(称为逐点卷积)的卷积分解形式。 深度卷积将单个滤波器应用于每个输入通道,而逐点卷积则用于组合深度卷积的输出。 这种分解大大减少了计算量和模型大小。
2025-05-12 08:55:02
905
原创 Python----神经网络(基于Alex Net的花卉分类项目)
在当今快速发展的科技领域,计算机视觉已成为一个备受关注的研究方向。随着深度学习技术的不断进步,图像识别技术得到了显著提升,广泛应用于医疗、安防、自动驾驶等多个领域。其中,花卉分类作为计算机视觉中的一个重要应用,不仅能帮助园艺师和农业生产者优化作物管理,还能在生态研究、植物保护等方面发挥重要作用。传统的花卉分类方法依赖于人工特征提取和机器学习算法,虽然在特定条件下能够取得较好效果,但在面对复杂的自然环境和大量不同花卉品种时,仍显得力不从心。
2025-05-11 12:14:36
665
原创 Python----神经网络(《Deep Residual Learning for Image Recognition》论文和ResNet网络结构)
ResNet(“残差网络”的简称)是一种深度神经网络,由Microsoft研究团队于2015年提出。它在当时的ImageNet 比赛获得了图像分类第一名,目标检测第一名,在COCO数据集目标检测第一名,图像分割第一名。ResNet的主要特点是采用了残差学习机制。在传统的神经网络中,每一层的输出都是直接通过一个非线性激活函 数得到的。但在ResNet中,每一层的输出是通过一个“残差块”得到的,该残差块包含了一个快捷连接 (shortcut)和几个卷积层。
2025-05-10 13:44:27
1788
原创 Python----深度学习(《三十年的激活函数:对 400 种神经网络激活函数的全面调查》,激活函数:Sigmoid、tanh、ReLU、Softmax、Likeay-ReLU、PReLU、ELU)
在深度学习中,激活函数在神经网络中扮演着至关重要的角色,帮助网络学习复杂的非线性关系。经典的激活函数包括Sigmoid和tanh,它们能够处理输出连续值,但在深层网络中可能面临梯度消失问题。ReLU(Rectified Linear Unit)因其计算效率和较好的性能而被广泛使用,但在某些情况下可能导致“死亡ReLU”问题。为了解决这些问题,出现了改进的激活函数,如Leakay-ReLU和PReLU,通过在负区间引入小的斜率来保持信息流。
2025-05-09 09:01:31
701
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人