- 博客(122)
- 收藏
- 关注
原创 细微差异特征的激活函数选择
而ReLU由于在小于0部分梯度为0的特性,可能会忽略掉一些与这一个像素小点相关的微弱特征信息,使得模型难以学习到两个目标之间的细微区别,导致精度只能达到0.4左右。输入大于0时,输出等于输入,神经元“激活”。• Sigmoid:函数为f(x)=\frac{1}{1 + e^{-x}},输出值在(0,1)之间,能将输入映射到一个概率值,可用于表示两个目标的概率差异。Sigmoid的平滑特性和对所有输入的响应能力使其在处理本题中细微差异的目标时更具优势,能让模型达到0.9左右的精度。
2025-03-04 07:37:32
186
原创 使用Python脚本转换YOLOv5配置文件到https://github.com/ultralytics/ultralytics:一个详细的指南
通过上述步骤,您可以轻松地将YOLOv5的配置文件转换为ultralytics-yolov8所需的格式,并且可以批量处理多个配置文件。这个脚本不仅可以帮助您节省时间,还能减少手动操作带来的错误。希望这篇博客能为您提供有价值的指导,让您更高效地管理深度学习项目的配置文件。
2025-02-23 22:45:53
276
原创 TypeError: unsupported operand type(s) for ^: ‘DockWidgetFeatures‘ and ‘DockWidgetFeatures‘
【代码】TypeError: unsupported operand type(s) for ^: ‘DockWidgetFeatures‘ and ‘DockWidgetFeatures‘
2025-02-23 15:07:19
104
原创 基于标注模板,批量复制标置标签一样的标注文件
标注时,如果相机始终不动,标签始终不动,仅仅亮度或者其他非目标标签移动时,可以使用本脚本进行批量复制。用于基于标注模板,批量复制标置标签一样的标注文件。
2025-02-10 09:39:28
101
原创 关于地平线开发板使用nhwc格式的前向传播输出格式的理解
这是因为卷积操作是在图像的高度和宽度方向上滑动卷积核进行计算的,输出的数据在空间维度(高度和宽度)上的排列顺序与输入类似,通道数可能会根据卷积核的数量等因素而改变,但整体格式依然是NHWC。对于图像相关的模型,当输出是NHWC格式时,“N”代表批次大小(batch size),即一次处理的图像数量;• 例如,一个模型输出的形状为[10, 28, 28, 3](假设是一个简单的图像分类模型),这意味着一次输出10张图像,每张图像的高度是28像素、宽度是28像素,且有3个通道(可能是RGB通道)。
2025-01-10 22:29:48
435
原创 为什么在二维卷积操作中,将宽度(W)维度放在高度(H)之前会破坏空间局部性原则,并影响缓存性能
破坏空间局部性:但是,如果我们将张量维度调整为 (N, W, H, C),即宽度(W)维度排在高度(H)之前,那么在遍历同一行中的相邻元素时,内存地址不再是连续的。例如,在读取一个3x3过滤器窗口内的数据时,假设我们正在处理第一行的前三个元素 [0,0], [0,1], [0,2],这些元素在内存中是连续存储的,这使得缓存能够高效地预取和加载这些数据,提高访问速度。因此,为了保持良好的空间局部性和高效的缓存利用,在进行二维卷积操作时,通常推荐使用 (N, H, W, C) 的内存布局。
2025-01-09 16:23:19
625
原创 关于yolov5以及yolov8的bx, by, bw, 和 bh(anchor free 以及anchor based 的处理区别)
bx, by, bw, 和 bh 通常表示的是相对于输入图像的边界框坐标,而不是特征图的坐标。这些值是通过将模型预测的相对偏移和缩放因子转换为实际尺寸得到的。
2024-12-25 13:29:09
502
原创 easy-eai --安装RKMPP、x264、x265、libdrm、FFmpeg(支持rkmpp)以及opencv(支持带rkmpp的ffmpeg)(适用于Rv1126平台)
RKMPP:用于编解码测试,支持RK3588、1126平台。
2024-12-20 17:24:20
1057
原创 香橙派-orangepi-build-next/orangepi-build-next/external/config/sources/families/rockchip-rk3588.conf的解读
rsync 命令用于从源目录同步文件到目标目录。使用 -a 选项保持文件属性。使用 --chown=root:root 设置目标文件的所有者和组。使用 --exclude=etc/pulse 排除特定的目录。源目录中的文件和目录会被同步到目标目录,但排除的目录不会被同步。
2024-11-27 16:24:44
821
原创 香橙派--安装RKMPP、x264、x265、libdrm、FFmpeg(支持rkmpp)以及opencv(支持带rkmpp的ffmpeg)(适用于RK3588平台)
RKMPP:用于编解码测试,支持RK3588平台。
2024-11-26 16:46:10
2436
6
原创 jetson orin系列开发版安装cuda的gpu版本的opencv
因为在cmake时,选择了自动生成OpenCV的pkgconfig文件,在/usr/local/lib/pkgconfig路径可以看到文件opencv4.pc。是一个新建的空文件,直接添加路径,同理这个路径是cmake编译时填的动态库安装路径加上/lib。再删除/usr/include/目录下的头文件文件夹opencv。再删除/usr/share/目录下的opencv文件夹。将 lib 文件夹复制到 /usr/local/lib。再删除/usr/bin/目录下的应用程序。
2024-11-22 15:26:31
1016
10
原创 制作 Pascal VOC 数据集:清洗无效数据
Pascal VOC 数据集是由 PASCAL 组织发布的,包含多个物体类别的图像及其对应的标注。每个图像的标注信息通常以 XML 格式保存,其中包含物体的边界框、类别等信息。清洗无效数据是确保数据集质量的重要一步。通过上述方法,我们可以有效地找出并处理 Pascal VOC 数据集中的无效数据,从而为后续的模型训练打下良好的基础。如果你在制作数据集或清洗数据的过程中有任何问题,欢迎留言讨论!
2024-10-28 16:37:39
321
原创 RTSP流图片采样助手(yolov5)
从多个RTSP流中实时采样图像。根据用户定义的特殊标签筛选并保存图像。提供友好的图形用户界面(GUI)以便于用户操作。本项目展示了如何使用Python、OpenCV和Tkinter构建一个功能强大的RTSP流图片采样助手。该工具可用于监控、视频分析和机器学习等多个领域,能够帮助用户实时采样并保存感兴趣的图像数据。通过这个项目,您可以更好地理解视频流处理、目标检测以及多线程编程的基本概念。希望这个项目能为您提供灵感,欢迎随时反馈与交流!
2024-10-18 15:04:24
948
原创 使用 PyInstaller 打包 Python 应用程序时解决 FileNotFoundError 的问题
在使用 PyInstaller 打包 Python 应用程序时,确保所有依赖和文件都正确包含在内是至关重要的。通过编辑 .spec 文件,我们可以灵活地添加缺失的文件,从而避免运行时错误。这次经验让我更加熟悉了 PyInstaller 的使用,也为未来的项目提供了宝贵的参考。
2024-10-17 17:15:52
1250
原创 从源代码构建 Open3D
C++14 编译器:CMake 版本要求: 3.19 或更高版本CUDA 10.1+(可选): Open3D 支持通过 CUDA 在 Linux 上加速一些操作。如果你使用的是支持 GPU 的操作,建议使用 CUDA 11.0,以获得与最新 GPU 和 Tensorflow 或 PyTorch 等外部依赖的最佳兼容性。Ccache 4.0+(可选,推荐): ccache 是一个编译缓存工具,通过避免重复编译相同的源代码,可以加速编译过程。
2024-10-15 14:10:47
961
原创 优化神经网络的计算密集度
通过提升计算密集度、优化数据传输、利用硬件并行性、减少冗余操作和优化模型结构等多种方式,可以有效提升神经网络模型在 GPU 和其他硬件上的计算效率。在模型设计和优化过程中,应充分考虑硬件特性,合理分配计算资源,从而获得更高的性能表现。希望本文能帮助你在神经网络优化中找到适合的策略,提升模型的整体计算密集度和性能表现。如有更多问题或建议,欢迎在评论区留言讨论!
2024-10-08 11:12:19
1274
原创 如何优化低计算密集度神经网络在GPU和NPU上的性能
在深度学习领域,GPU 和 NPU 是常用的硬件加速器,它们凭借强大的并行计算能力显著提升了深度神经网络(DNN)的训练和推理速度。然而,并不是所有模型在 GPU 和 NPU 上都能得到理想的性能提升。对于一些计算密集度较低的任务或模型,CPU 的表现可能比 GPU 和 NPU 更好。本文将讨论在这种情况下,如何优化低计算密集度神经网络在 GPU 和 NPU 上的性能。
2024-10-08 10:55:17
584
原创 使用 ultralytics库的SAM / FastSAM 进行图像分割的步骤
【代码】使用 ultralytics库的SAM / FastSAM 进行图像分割的步骤。
2024-09-29 09:57:11
879
3
原创 OpenCV 中使用 cv::cvtColor 将图像从 BGR 转换为 RGB 与手动使用指针循环转换的问题
在 OpenCV 中使用 cv::cvtColor 将图像从 BGR 转换为 RGB 与手动使用指针循环转换的效果通常应该是相同的,因为这两种方法的本质都是将图像的通道顺序从 BGR 交换为 RGB。
2024-09-27 10:15:02
1143
原创 使用ultralytics库微调 YOLO World 保持 Zero-Shot 能力
在训练 YOLO World 模型时,如果希望在特定数据集(如火灾数据集)上进行微调,同时保留模型的 Zero-Shot 能力,可以参考以下几点方法。Zero-Shot 能力指的是模型在未见过的类别上仍具备一定的推理能力,但在特定数据集上的微调有时会导致模型过度专注于新任务,从而丧失这种能力。
2024-09-20 15:50:44
1504
3
原创 鼠标点击来动态确定 HSV 范围
根据鼠标点击来动态确定 HSV 范围,可以先获取用户点击的像素值,然后使用这个值生成合适的 HSV 范围。这样,我们可以提取图像中的特定颜色(比如蓝色框)
2024-09-10 09:04:29
397
原创 yolo训练策略--使用 Python 和 OpenCV 进行图像亮度增强与批量文件复制之(图像增强是按梯度变化优化)
这个函数 augment_and_copy_files 的目的是处理和增强图像,并将处理后的图像及其相关的注释和标签文件复制到指定的输出文件夹中。具体来说,它对图像进行亮度调整,并生成多个增强版本,同时可选择处理和复制对应的注释和标签文件。
2024-08-31 17:26:33
656
原创 yolo训练策略--使用 Python 和 OpenCV 进行图像亮度增强与批量文件复制
在计算机视觉和深度学习项目中,数据增强是一种常用的技术,通过对原始图像进行多种变换,可以增加数据集的多样性,从而提高模型的泛化能力。本文将介绍如何使用 Python 和 OpenCV 实现图像的亮度增强,并将增强后的图像与对应的注释文件批量复制到新目录中。
2024-08-31 15:29:34
927
原创 使用Python查找并移动两个文件夹中不重名的文件
在日常工作中,有时我们需要比较两个文件夹中的文件,找出那些只存在于其中一个文件夹中的文件,并将这些文件移动到一个新的文件夹中。本文将介绍如何使用Python脚本来实现这一任务,并详细讲解代码的实现过程。
2024-08-31 11:21:52
272
原创 使用 OpenCV 组合和缩放多张图像
在图像处理领域,我们经常需要将多张小图像组合成一张大图。例如,将多张图像按一定布局排列在一起,或者创建一个缩略图画廊。在这篇博客中,我将向你展示如何使用 Python 的 OpenCV 库来完成这一任务。
2024-08-27 15:47:40
783
1
原创 在 Ubuntu 22.04 中将 Pycharm.desktop 文件标记为可信的步骤
在 Ubuntu 22.04 中,当你创建或下载了一个 .desktop 文件(例如用来启动 PyCharm 的 Pycharm.desktop 文件)时,系统可能会弹出一个对话框提示“Untrusted Desktop File”(不可信的桌面文件),并阻止你启动该文件。虽然提示中建议右键点击文件并选择“Allow Launching”(允许启动),但有时右键菜单中并不会显示这一选项。针对这种情况,可以按照以下步骤解决问题。
2024-08-23 11:01:44
722
原创 rknn yolo系列之量化前预处理,解决量化精度低以及出现类似未作nms的很多框子的问题
rknn官方代码在处理onnx量化到rknn模型时并未提供脚本进行图像缩放,如果直接简单的将图片路径写入txt文件,然后进行量化输出的话就会导致输出的rknn模型文件推理精度低,或者没有精度的情况。
2024-08-07 15:11:58
665
原创 针对 NVIDIA Jetson 和 Rockchip 平台分析系统的内核版本来提取相关硬件和平台信息
通过分析系统的内核版本来提取相关硬件和平台信息,特别是针对 NVIDIA Jetson 和 Rockchip 平台。
2024-08-05 16:47:04
221
原创 关于香橙派系统烧录,1.1.8或者1.1.10两个版本都无法启动Orangepi5
git log 默认会显示较新的提交记录。这会以简洁的方式显示所有分支的提交记录,并以图形化的方式展示提交历史。
2024-07-30 16:53:14
516
原创 高效地整理和迁移数据集图片和注释
自动查找‘images’和‘annotations’两个目录下的文件确定名称相匹配的图像和注释文件把它们移动到新的目录结构中。
2024-06-05 11:52:32
360
原创 使用 FiftyOne 导出 VOC 数据集的完整指南
在机器学习和计算机视觉项目中,处理和准备数据集是一个既重要又经常耗时的步骤。FiftyOne 是一个非常强大的开源工具,它提供了一个丰富的API和用户界面,可以帮助您有效地探索、可视化、修改和导出您的数据集。在本文中,我们将重点讲解如何使用FiftyOne将数据集导出为 VOC (Visual Object Classes) 格式,这是一个在计算机视觉任务中广泛使用的数据集格式。首先,如果您还没有安装 FiftyOne,请打开终端或命令提示符,运行以下命令来安装:设置和导出 VOC 数据集定义数据集参数
2024-06-05 11:05:10
403
原创 自动化迁移和更新物体检测XML数据集
在本文中,我们将介绍一个简单的Python脚本,该脚本自动化了迁移和更新标注过的XML数据集的过程。和任何自动化处理一样,使用这个脚本时,你应该先在少量文件上测试来确保它按预期执行,以避免意外的数据丢失或损坏。这些模块包括操作XML文件的ElementTree,进行文件操作的os和shutil,还有处理图片的cv2等。完整脚本可以在本文附带的代码段中找到。在脚本的开始部分,我们首先导入必要的模块,并定义源目录和目标目录的路径。脚本中定义了两个重要的函数来处理XML文件的创建和物体标记的添加。
2024-06-05 10:24:01
636
原创 清除Ubuntu系统中的无法启动的Ubuntu 24实例
通过以上步骤,你应该已经成功地从系统中移除了无法启动的Ubuntu 24,并且更新了GRUB配置以反映这些更改。删除分区: 在确定了Ubuntu 24安装在哪个分区后,你可以使用GParted来删除这个分区。请确保选中了正确的分区,因为此操作是不可逆的。(4)更新GRUB配置: 在删除了无法启动的Ubuntu 24的分区之后,你可能需要更新GRUB引导加载程序以确保它不再尝试引导已删除的系统。(2)启动到工作的操作系统实例: 首先,你需要启动到另一个工作的Ubuntu实例或任何其他可用的操作系统。
2024-06-04 22:20:37
627
1
原创 yolov8推理由avi改为mp4
修改\ultralytics-main\ultralytics\engine\predictor.py,即可。
2024-05-25 23:02:39
766
jetson orin系列开发版安装cuda的gpu版本的opencv的install文件
2024-11-22
open3d-cpu-0.18.0+1a9885363-cp310-cp310-manylinux-2-35-x86-64.wh
2024-10-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人