- 博客(222)
- 收藏
- 关注
原创 Python----OpenCV(图像的绘制——绘制椭圆,绘制文本,添加文字水印,添加图片水印)
本文介绍了使用OpenCV绘制图形和添加水印的方法。主要内容包括:1. 绘制椭圆:讲解cv2.ellipse()函数的参数和使用方法,演示如何创建空白图像并绘制红色椭圆。2. 绘制文本:说明cv2.putText()函数的参数设置,展示在图像上添加白色文字的方法。3. 制作水印:包括文字水印和图片水印两种方式,通过cv2.addWeighted()实现透明度混合效果,以及ROI区域提取和alpha通道处理技术。所有操作都配有代码示例,并包含参数详细说明和使用注意事项。
2025-06-15 09:47:30
530
1
原创 Python----OpenCV(图像的绘制——绘制直线,绘制矩形,绘制圆形,绘制多边形)
本文介绍了使用OpenCV绘制基本几何图形的方法,包括直线、矩形、圆形和多边形。通过cv2.line()可绘制直线,指定起点、终点、颜色和线宽;cv2.rectangle()绘制矩形,定义对角顶点坐标;cv2.circle()画圆,需设置圆心、半径和填充方式;cv2.polylines()用于绘制多边形,需提供顶点坐标数组。所有方法均需在预先创建的空白图像上操作,并通过cv2.imshow()显示结果。代码示例详细展示了各函数的参数使用和图像创建过程,适合初学者快速掌握OpenCV的图形绘制功能。
2025-06-14 13:52:10
679
1
原创 Python----深度学习(介绍、主流框架)
摘要:深度学习是机器学习的重要分支,通过模拟神经网络实现数据分析和模式识别。相比传统机器学习,深度学习能自动提取特征,但需要更多数据和计算资源,性能更优但可解释性较差。其应用涵盖医疗、金融、安防等多个领域。主流深度学习框架包括TensorFlow、PyTorch和国产的PaddlePaddle等,提供从模型构建到部署的全流程工具。其中PaddlePaddle作为国产框架,服务470万开发者,具有中文优化和产业级支持优势。这些框架显著提升了AI应用的开发效率。
2025-06-13 08:51:00
442
1
原创 Python----神经网络发(神经网络发展历程)
自1989年LeNet的诞生以来,卷积神经网络(CNN)在图像识别领域取得了显著进展。这些网络的发展不仅推动了计算机视觉技术的进步,也为实际应用提供了强大的工具。
2025-06-12 10:32:57
1958
1
原创 Python----OpenCV(图像处理——边界填充、图像融合、图像阈值、深拷贝与浅拷贝)
本文介绍了OpenCV在图像处理中的几个关键技术:边界填充(包括常数填充、复制填充、反射填充和环绕填充方法)、图像融合(使用addWeighted函数实现加权融合)、图像阈值处理(5种二值化方法)、Mat数据结构的基本概念及其属性,以及深拷贝与浅拷贝的区别。通过代码示例演示了如何使用cv2.copyMakeBorder实现边界填充、用cv2.addWeighted进行图像融合,并展示了不同阈值处理的效果。文中还详细解析了Mat结构的组成部分和Python中深/浅拷贝在图像处理中的应用差异。
2025-06-11 08:23:56
1169
原创 Python----OpenCV(图像处理——图像的多种属性、RGB与BGR色彩空间、HSB、HSV与HSL、ROI区域)
本文系统介绍了图像处理中的关键属性与技术。主要内容包括:1)图像分类(二值图、灰度图、彩色图)及颜色空间(RGB、HSV等);2)图像几何属性(尺寸、分辨率等)和纹理特征;3)RGB与BGR色彩空间的转换方法;4)HSB/HSV/HSL色彩模型的原理与应用;5)ROI(感兴趣区域)的操作技术;6)图像通道的分割与合并方法。文章通过代码示例详细展示了图像处理中色彩空间转换、区域选取和通道操作等核心技术的实现方式,为计算机视觉和图像处理提供了实用指导。
2025-06-10 12:47:08
1327
1
原创 Python----大模型(大模型基础)
本文概述了大模型与人工智能的关系及其关键技术。AIGC(生成式AI)和LLM(大语言模型)有交集但非包含关系,如扩散模型属AIGC但不属LLM,而BERT等模型属LLM但不用于生成。文章详述了Transformer架构如何通过位置编码、Embedding和编解码器解决RNN的顺序处理与记忆丢失问题,实现上下文无关的词相关性学习。发展历程部分对比了从规则模型到超大规模预训练模型的演进,列举了超50个开源/闭源模型的参数规模、训练数据等关键指标,如GPT-3(175B参数)、LLaMA-2(70B参数)等,并指
2025-06-09 23:16:27
1083
1
原创 Python----YOLO模型移植(几何建模与拓扑结构、CPU、GPU、NPU,K3588处理器)
本文系统介绍了RK3588处理器的NPU架构与应用开发。首先概述了几何建模与并行计算原理,然后对比分析了CPU、GPU、NPU、TPU等处理器的架构特点及应用场景。重点阐述了RK3588搭载的第四代NPU核心,包括其3核协同架构、6TOPS算力及支持的数据类型。详细解析了NPU内部模块如卷积加速单元、数据处理单元的工作原理,并介绍了RKNN模型转换工具链和开发套件。最后提供了NPU性能计算方法和应用开发流程,为AI模型在边缘设备的部署提供了完整的技术参考。
2025-06-08 10:01:00
874
原创 Linux----Ubuntu基本命令(目录结构、sudo--Authentication failure解决方案、基本指令)
本文详细介绍了Linux系统的目录结构、常用命令及其功能。Linux系统中,所有内容都被视为文件,目录结构以根目录/为起点,包含多个关键目录如/boot、/etc、/lib等,分别用于存放启动文件、配置文件和库文件。文章还列举了文件和目录操作、文件查看和编辑、系统信息和控制、网络操作、权限管理等常用命令,此外,文章还介绍了sudo命令的使用及其重要性,以及如何设置和修改root用户密码。这些内容为Linux用户提供了全面的操作指南,帮助用户更好地管理和使用Linux系统。
2025-06-07 07:54:56
831
原创 Python----目标检测(YOLO简介)
[YOLO](You Only Look Once)是一种流行的物体检测和图像分割模型,由华盛顿大学的约瑟夫-雷德蒙(Joseph Redmon)和阿里-法哈迪(AliFarhadi)开发,YOLO 于 2015 年推出,因其高速度和高精确度而迅速受到欢迎。
2025-06-06 08:48:19
2686
2
原创 Python----目标检测(yolov5-7.0安装及训练细胞)
本文介绍了如何从GitHub下载YOLOv5代码源,创建并激活Python 3.8的虚拟环境,安装必要的依赖项,并准备数据集。接着,详细说明了如何修改数据集的配置文件data.yaml和模型配置文件custom_yolov5s.yaml。文中还提供了运行训练脚本的命令及其参数说明,如批次大小、训练轮次、模型权重等。此外,提到了模型验证和预测的步骤,包括使用val.py进行模型验证和detect.py进行图像检测。整个过程旨在指导用户如何使用YOLOv5进行图像识别任务,从环境搭建到模型训练、验证和预测的全流
2025-06-05 08:33:21
1140
原创 计算机视觉处理----OpenCV(从摄像头采集视频、视频处理与视频录制)
本文介绍了使用OpenCV进行视频采集和录制的基本方法。首先,通过cv2.VideoCapture()函数可以从摄像头或视频文件中读取视频帧,使用cap.isOpened()检查是否成功打开,并通过cap.read()逐帧读取视频。其次,视频录制通过cv2.VideoWriter和cv2.VideoWriter_fourcc实现,前者用于创建视频写入对象,后者用于设置视频编码格式(如XVID、MJPG等)。文章还提供了完整的代码示例,展示了如何打开摄像头、读取帧、录制视频并保存为文件。
2025-06-04 09:56:51
1381
原创 Python----循环神经网络(BiLSTM:双向长短时记忆网络)
LSTM(长短期记忆网络)是一种改进的循环神经网络,通过遗忘门、输入门和输出门控制信息流动,有效处理长序列数据,适用于时间序列预测和语音识别等任务。BiLSTM(双向长短期记忆网络)在LSTM基础上增加反向处理层,同时捕捉过去和未来的上下文信息,增强对全局上下文的理解,适用于自然语言处理任务如机器翻译和命名实体识别。BiLSTM通过前向和后向LSTM处理序列,最终结合两个方向的输出,计算成本较高但效果更优。LSTM和BiLSTM在方向性、计算复杂度和典型应用上有所不同,BiLSTM在捕捉上下文信息和处理长距
2025-06-03 23:06:44
1382
1
原创 Python----目标检测(《YOLOv3:AnIncrementalImprovement》和YOLO-V3的原理与网络结构)
YOLOv3的Backbone在YOLOv2的基础上设计了Darknet-53结构。 Darknet-53结构引入了ResNet的残差思想,类似于ResNet。
2025-06-02 21:34:52
989
1
原创 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
1200
原创 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
758
原创 Python----目标检测(训练YOLOV8网络)
本文详细介绍了YOLOv8模型的训练、验证和导出流程。首先,使用labelImg工具对数据集进行标注,并通过Python脚本将数据划分为训练集、验证集和测试集。接着,配置YOLOv8模型进行训练,包括单GPU和多GPU训练,并支持从中断处恢复训练。训练过程中,可以调整多种参数如学习率、批量大小、图像尺寸等以优化模型性能。训练完成后,使用验证集评估模型,并可通过调整验证参数如置信度阈值、IoU阈值等来优化评估过程。
2025-06-02 21:34:03
1011
原创 Python----目标检测(使用YOLO 模型进行线程安全推理和流媒体源)
在多线程环境中使用YOLO模型进行推理时,确保线程安全至关重要。Python的threading模块允许多线程操作,但由于全局解释器锁(GIL),一次只能有一个线程执行Python字节码。尽管如此,线程仍能在I/O绑定操作或使用释放GIL的操作(如YOLO的底层C库)时提供并发性。 在线程间共享YOLO模型实例可能导致竞态条件,因并发访问可能不一致地修改模型的内部状态。非线程安全的做法包括在线程外实例化模型并在多个线程间共享该实例,或在多个线程间共享多个模型实例。这些做法可能导致模型内部状态被破坏,甚至程序
2025-06-02 21:33:40
932
原创 Python----目标检测(Ultralytics安装和YOLO-V8快速上手)
Ultralytics提供了各种安装方法,包括pip、conda和Docker。通过 ultralytics pip包安装最新稳定版本的YOLOv8,或克隆Ultralytics GitHub 存储库以获取最新版本。可以使用Docker在隔离的容器中执行包,避免本 地安装。
2025-06-02 21:33:16
1184
原创 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
687
原创 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
1037
1
原创 Python----目标检测(《Fast R-CNN》和Fast R-CNN)
Fast R-CNN是一种高效的基于区域提议的卷积神经网络(R-CNN)改进方法,主要解决了R-CNN和SPPnet在训练和检测速度上的瓶颈问题,同时提升了检测精度。
2025-05-30 08:15:50
1102
原创 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
1479
原创 Python----目标检测(目标检测的评价指标)
绿色:GT-Box(Ground-truth bounding box):标注的红色:P-Box(Predicted bounding box):预测的标准:用标注软件标注的结果就是标准!所以:预测出来的边界框与标注的边界框可以组成评判标准,同时,边界 框框出的类别可以确认其类别是否正确。
2025-05-28 09:18:39
1122
原创 Python----循环神经网络(Transformer ----Encoder-Decoder)
本文介绍了自然语言处理任务的分类及Encoder-Decoder结构。自然语言任务可分为三类:N对1(如文本摘要)、N对N(如机器翻译)和N对M(如序列标注)。针对输入输出长度不等的情况,Encoder-Decoder结构通过编码器压缩输入序列为固定表示,解码器再解压生成输出序列。训练中可采用Teacher-forcing技术,使用真实目标序列加速收敛,但也存在测试时泛化性不足的问题,可通过Scheduled Sampling方法平衡训练模式。
2025-05-27 09:09:52
937
原创 Python----目标检测(图像分类与目标检测)
图像分类是指将整幅图像归类到某个预定义的类别中。目标是识别图像的主要内容, 并将图像分配到一个类别标签。换句话说,图像分类只回答一个问题:这幅图像属于 哪个类别?它通常包括以下几个步骤:数据收集与标注:收集大量图像,并为每张图像标注正确的类别标签。预处理:调整图像尺寸、增强、归一化等,以便模型更好学习。模型训练:使用深度学习模型(如卷积神经网络CNN)在标注数据上训练。模型评估:用验证集检验模型的准确性,调整参数避免过拟合。部署与预测:将训练好的模型放在实际应用中,进行新图像的分类。
2025-05-26 05:59:27
888
原创 Linux----介绍
文章首先介绍了计算机硬件和软件的基本概念,硬件包括主机、显示器、键盘等物理部件,而软件则包括操作系统、应用程序等程序和数据。接着,文章详细阐述了操作系统的作用,作为用户与硬件之间的桥梁,负责调度和管理硬件资源。随后,文章转向Linux系统的介绍,包括其诞生背景、组成结构以及基于GNU/Linux的发行版。Linux由内核、Shell、文件系统和应用程序组成,而发行版如Debian和Ubuntu则结合了Linux内核和GNU工具集,形成了完整的操作系统。文章还提到了Linux系统的安装方式,包括直接安装、虚拟
2025-05-26 05:58:45
1432
原创 计算机视觉处理----OpenCV(鼠标控制和滑动条事件TrackBar)
在OpenCV中,setMouseCallback和TrackBar是用于实现交互式图像处理的重要工具。setMouseCallback允许用户通过设置回调函数来捕捉和处理鼠标事件,如点击、移动等,从而在图像窗口中进行交互操作。回调函数可以获取鼠标事件的详细信息,如事件类型、坐标和按键状态。TrackBar则是一个滑动条控件,用于动态调整图像处理参数,如亮度、对比度等。通过createTrackbar创建滑动条,并使用getTrackbarPos获取当前值,用户可以在实时调整参数的同时观察图像变化。这两个功
2025-05-26 05:58:07
993
原创 基于PyQt5的LeNet5的手写体数字识别
本项目基于PyQt5框架开发了一个手写数字识别应用,结合LeNet-5卷积神经网络模型,实现了用户手写数字的实时识别与保存功能。系统通过MNIST数据集训练LeNet-5模型,并在PyQt5的GUI界面中提供画布供用户书写数字。用户书写后,系统将图像预处理为28x28像素的灰度图,输入LeNet-5模型进行预测,并即时显示识别结果。此外,应用还支持将用户绘制的数字图像保存至本地。项目展示了深度学习模型与图形界面的结合,提供了一个简单易用的手写数字识别工具。
2025-05-26 05:57:46
547
原创 Python----目标检测(YOLO数据集)
YOLO(You Only Look Once)是一种实时目标检测系统,其数据集格式 与 COCO 数据集格式不同。YOLO 数据集格式相对简单,主要包括图像文 件和对应的标签文件。
2025-05-26 05:56:50
595
原创 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
1291
原创 Python----神经网络(基于ResNet的汽车分类)
本文介绍了一个基于PyTorch的图像分类任务实现流程。首先设置随机数种子确保实验可重复性,并检测CUDA设备可用性。接着构建数据集,定义训练和验证的图像转换流程,并创建数据加载器。然后使用ResNet18模型,冻结预训练参数并修改全连接层以适应新任务。模型训练采用交叉熵损失和Adam优化器,经过5个epoch训练后,在验证集上评估准确率并绘制混淆矩阵。整个流程包括数据预处理、模型构建、训练验证和结果可视化等完整步骤。
2025-05-25 09:59:08
493
原创 Python----循环神经网络(GRU)
GRU(门控循环单元)是RNN的一种变体,旨在解决长期依赖问题,其结构比LSTM更简单高效。GRU通过更新门和重置门来管理信息流,更新门决定保留或遗忘当前输入的程度,而重置门则控制过去信息的保留或遗忘。在每个时间步,模型接收输入和上一时间步的隐藏状态,通过这两个门的调控,计算新的隐藏状态。GRU的结构简化了LSTM的记忆单元,使其在处理时间序列数据时更加灵活和高效。本文还介绍了如何使用PyTorch实现GRU模型,包括数据编码、模型定义、损失函数和优化器的设置,以及模型的训练和预测过程。
2025-05-24 08:22:48
926
原创 Python----循环神经网络(LSTM:长短期记忆网络)
RNN在处理长序列时存在长期依赖问题,即随着序列增长,模型难以记住较早时刻的信息,导致梯度消失或爆炸。为解决这一问题,LSTM(长短期记忆网络)被提出,它通过引入门控机制(输入门、遗忘门、输出门)来选择性保留或丢弃信息,从而更好地捕捉长期依赖关系。LSTM的输入门决定新信息的保留程度,遗忘门控制旧信息的遗忘程度,细胞状态则通过选择性更新来存储记忆。虽然LSTM不能完全避免梯度消失或爆炸,但它通过门控机制显著改善了这一问题,使其在处理长序列时表现更优。
2025-05-23 08:36:32
1073
原创 Python----循环神经网络(Word2Vec的优化)
负采样是一种用于优化词向量训练的技术,主要应用于CBOW和Skip-gram模型。其核心思想是通过随机采样少量负样本(中心词与非上下文词组成的词对),将原始的多分类问题转化为二分类问题,模型通过区分正样本和负样本来更新词向量。负采样策略通常基于词频,高频词更可能被选为负样本,并通过词频的3/4次方进行平滑处理。负采样的优势在于显著降低了计算复杂度,从O(V)降至O(K+1),提升了训练速度,同时增强了词向量的语义区分能力,避免了梯度稀疏性问题。
2025-05-22 08:23:41
897
原创 Python----循环神经网络(Word2Vec)
Word2Vec是word to vector的简称,字面上理解就是把文字向量化,也就是词嵌入 的一种方式。它的核心就是建立一个简单的神经网络实现词嵌入。其模型仅仅包括输入层、隐藏层和输出层,模型框架根据输入输出的不同,主要包括 CBOW和Skip-gram模型。
2025-05-21 08:52:37
1683
原创 Python----循环神经网络(WordEmbedding词嵌入)
当我们用数字来让电脑“认识”字符或单词时,最简单的方法是为每个字符或单词分配一个唯一的编号,然后用一个长长的向量来表示它。比如,假设“我”这个字在字典中的编号是第10个,那么它的表示就是一个很多0组成的向量,除了第10个位置是1,其余都是0。这种表示叫做one-hot编码,中文常用字就有大约五千个,所以每个字的向量长度也就大约是五千维。不过,这样的表示有两个问题。第一,向量很长,存储和计算都很浪费空间,因为大部分位置都是0,没有任何信息。
2025-05-20 09:03:03
864
原创 Python----目标检测(labelimg和labelme的安装与使用,Pycharm配置教程)
labelimg是一款开源的图像标注工具,标签可用于分类和目标检测,它是用python写的,并使用Qt作为其图形界面,简单好用(虽然是英文版的)。其注释以 PASCAL VOC格式保存为XML文件,这是ImageNet使用的格式。此外,它还支持 COCO数据集格式。 Labelme 是一个开源的图像标注工具,广泛用于为深度学习模型生成目标检测、图像分割等任务所需的标注数据,支持多种标注类型和导出格式,操作简便,适合批量处理大量图片。
2025-05-19 08:57:11
1034
原创 Python----循环神经网络(RNN的梯度消失和梯度爆炸)
在深度神经网络中,特别是很深的网络中,梯度消失是一个常见问题。这指的是在反向传播过程中,网络较深层的权重更新梯度变得非常小,甚至趋于零。这样的话,底层的权重几乎没有更新,导致网络难以学习到底层的特征。原因:在反向传播中,每一层的梯度都是通过链式法则计算得到的,梯度值是前一层梯度和 权重的乘积。当这个乘积小于1时,通过多个层传递下来的梯度就会指数级地减小, 最终趋近于零。解决方法:使用激活函数:选择合适的激活函数,如ReLU(Rectified Linear Unit), Leaky ReLU等。
2025-05-19 08:56:33
754
原创 Python----目标检测(PASCAL VOC数据集)
PASCAL VOC(Visual Object Classes)数据集是计算机视觉领域中广泛使用的一个 标准数据集,用于目标检测、图像分割、图像分类、动作识别等任务。该数据集由 PASCAL(Pattern Analysis, Statistical Modelling and Computational Learning) 网络主办的年度挑战赛推出,旨在推动视觉对象识别技术的发展。2012年数据集下载。
2025-05-19 08:55:06
881
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人