自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(202)
  • 收藏
  • 关注

原创 科研前线:超越YOLOv10!RT-DETRv3横空出世!

RT-DETR是第一款基于实时端到端转换器的物体检测器。它的效率来自于框架设计和匈牙利匹配。然而,与YOLO系列等密集监督检测器相比,匈牙利匹配提供的监督要稀疏得多,导致模型训练不足,难以实现最佳结果。为了解决这些问题,我们提出了一种基于RT-DETR的分层密集正监督方法,命名为RT-DETRv3。首先,我们引入一个基于CNN的辅助分支,它提供密集的监督,与原始解码器协作来增强编码器特征表示。其次,为了解决解码器训练不足的问题,我们提出了一种新的包含自我注意扰动的学习策略。

2024-09-19 09:23:25 87

原创 一段时间未使用github管理代码后:ssh: connect to host github.com port 22: Connection timed out

在使用Git将本地仓库推送到远程仓库的时候,发生了如下错误:“fatal: Could not read from remote repository.”在C盘——用户——你的主机名文件夹中找到.ssh文件夹;(此前配置SSH时会生成该文件夹)再次执行ssh -T git@github.com,发现验证通过–接下来可以正常上传代码。在.ssh文件夹中新建文件 config,不带后缀(可以新建文本文档,去掉.txt后缀)使用notepad++(或其他方式)打开config文件,输入以下内容,保存后即可。

2024-09-18 18:05:50 179

原创 Python安装Crypto库报错:ModuleNotFoundError: No module named ‘Crypto‘

crypto、pycrypto和pycrytodome是一个东西,crypto在python上面的名字是pycrypto它是一个第三方库,已经停更了,我理解的是pycrytodome是前面两个的升级版本。如果你已经安装了上面的pip install Crypto,需要卸载这个库,同理,如果你看了其他的贴子安装了其他的库,都要卸载。很多人安装的时候可能pip install Crypto 这样对这个库来说是不对的。在创建项目的界面发现了一个与第三方库有关的对勾没有勾选,勾选过之后,就没有再报错了。

2024-08-22 11:03:49 568

原创 HalCon 怎么繁体字设为简体字

(新版本支持),HD设置菜单,直接切换主题或修改语言重启HDevelpop即可(仅支持简体中文、繁体、英文)。选完结束,重启软件。

2024-08-12 14:28:51 356

原创 工业相机基础知识:像距、物距、焦距的关系

理论上,只有处于镜头焦点距离的景物成像是清晰的,在焦点的前后,光线开始聚集和扩散,成像变得模糊,成像点形成的是一个扩大的圆,这个圆称为弥散圆(circle of confusion)。当物距小于两倍焦距大于焦距时,像距大于两倍焦距,成倒立放大的实像(幻灯机和部分支持微距拍摄的照相机)。当物距在无穷远和两倍焦距之间时,像距在焦距和两倍焦距之间,成倒立缩小的实像(照相机)。当物距小于焦距时,像距为负,在物体的同侧成正立放大的虚像(放大镜)。焦点---通过凸透镜的、平行主光轴的光线,在主光轴上的会聚点。

2024-08-11 14:00:00 644

原创 Halcon编程问题总结

图像旋转、镜像操作是比较耗时的,如果实际工作中如果因为相机安装方向、需要提取 ROI 等工作,可以先提取 ROI 之后再做旋转、镜像,这样可以省下很多时间,我这里测试省下了 150 ms;单次抓图时间约为 250 ms,两个相机约 500 ms,采用两个 Task 同时采集,时间减少一半;黑色背景,文字没有边框,没有阴影。

2024-08-11 08:15:00 815

原创 Cloudcompare软件使用总结

用户可以指定要采样的点的总数(大约),也可以指定表面密度(每平方单位的点数)。注意:理论上,相机传感器可以与Trans中存储的任意数量的4x4变换矩阵(3D旋转和平移的关联)相关联。Rasterize (and contour plot)此工具的主要目的是“栅格化”点云(即将其转换为2.5D网格),然后将其导出为新的云或光栅图像(geotiff)。使用此工具,您可以选择云中的任何点(通过其索引或通过在3D视图中进行选择-带有“点索引”字段旁边的按钮)。但是,首先将3D点云投影在最佳拟合平面上(最小二乘)。

2024-08-10 10:41:28 444

原创 工业相机镜头焦距、工作距离、视野等选型的计算

镜头在成像时,特别是用短焦距镜头拍摄大视场,图像会产生形变,这种情况叫做镜头的畸变,这是由于镜头的光学结构和成像特性导致的,原因是由于视野中局部放大倍数不一致造成的图像扭曲。拍摄的视场越大,所用的镜头的焦距越短,畸变的程度就越明显,一般有桶型畸变和枕型畸变两种,可以通过图像标定减弱这种平面畸变的影响。常见的有1/3", 1/2", 2/3"和 1". 1"的镜头可兼源容1/3", 1/2", 2/3"感光靶. 但1/3"镜头用在1/2", 2/3"和1"感光靶上通常会有暗zhidao角.

2024-08-10 08:15:00 2247

原创 机器视觉应用基础: 工业镜头

镜头的光圈排列顺序是:1、1.4、2.0、2.8、3.5、4.0、5.6、8.0、11、16、22、32 等。17.5mm,CS 型接口的后截距为 12.5mm。例如:一个 F/2.8,放大率为-0.5 倍,25mm 镜头的(F/#)W 为 F/4.2。口、F 接口、V 接口、T2 接口、徕卡接口、M42 接口、M72 接口等。连接口,C 型接口和 CS 型接口的螺纹连接是一样的,区别在于 C 型接口的后截距为。定焦镜头:焦距固定,常见的有 8mm、12mm、16mm、25mm、35mm,虽然焦。

2024-08-09 18:00:28 658

原创 相机硬件选型——工业相机和镜头参数简析

工业相机参数列表中一般将传感器尺寸参数描述为靶面尺寸,指的是传感器(工作区域为矩形)对角线长度,单位为英寸,但这里的英寸并不是常规的1英寸等于25.4mm的定义,而是一个历史遗留的标准,通常指的是早期摄像管的尺寸,约为16mm。

2024-08-09 17:49:04 1640

原创 git使用遇到的报错合集:fatal: unable to access/OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 0/refusing to merge

Git是一个分布式版本控制系统,用于跟踪文件的变化并协调多个开发者之间的工作。它可以记录文件的修改历史,方便开发者回溯和比较不同版本的文件。Git还可以轻松地合并不同开发者的修改,并可以在不同的分支上同时开展工作。Git的设计目标是速度快、简单易用、支持大型项目和复杂的分支管理。以下是我在使用git的时候遇到的一些报错,我将其整理出来。

2024-08-08 10:45:25 1100

原创 python导出requirements.txt的三种方式

生成requirements.txt,pip freeze会将当前PC环境下所有的安装包都进行生成,再进行安装的时候会全部安装很多没有的包.此方法要注意。导出结果会存在路径,生成的requirements.txt文件在当前目录下。,这个工具的好处是可以通过对项目目录的扫描,发现使用了哪些库,生成依赖清单。生成的requirements.txt文件在当前目录下。生成的requirements.txt文件在当前目录下。step1:安装pipreqs(默认没有安装)在python项目的根目录下 使用。

2024-08-01 13:43:40 516

原创 linux 报错:bash: /etc/profile: 行 32: 语法错误:未预期的文件结束符

每个if的后面结尾都要跟着一个fi我在添加代码时,无删除了一个fi导致了错误,新手建议检查一下有没有误删除的情况。

2024-07-18 23:35:21 571

原创 Shapely下载

翻至文末下载下载连接如下。

2024-07-18 16:15:27 891

原创 如何使用roboflow进行打标签和数据增强

Roboflow 是一个用于机器学习和计算机视觉项目的开源平台。它提供了一系列的工具和功能,帮助开发者和数据科学家更高效地处理图像数据,训练和部署机器学习模型。数据标记和增强:Roboflow 提供了一个用户友好的界面来标记图像数据,支持多种标记类型,如边界框、分割掩码、分类标签等。此外,它还提供了图像增强功能,可以自动增加数据集的多样性。模型训练:Roboflow 允许用户直接在平台上训练机器学习模型,支持多种流行的深度学习框架,如 TensorFlow、PyTorch 等。模型导出和部署。

2024-07-11 11:45:54 701

原创 CLion学习笔记-cmake编译和多main函数编译

1.新建一个工程名字自己取,我这里用自己学习pcl的,加一个main函数,这个时候Cmake里边就是这样的。重复上面的步骤取编译一下cmake,然后进入主函数就可以运行了。点击此处按钮加载 ,或者右键cmake.list点击重新加载。这里就不讲怎么配置clion了。多个main函数如何运行。

2024-07-09 17:50:13 352

原创 VSCode连接远程服务器并使用docker容器调试代码

以上为大致顺序,可能又错漏之处,大家可以留言,主要配置完一次之后,有些细节自动跳过了。接着展开Dev Containers,就可以查看到本地的镜像,绿色是当前正在运行的。首先需要进入服务器,用ssh连接,这里大家用的方式可以不同,我这里用的是这个小插件。/dataloader/czc/这里是服务器的你自己的建的路径存放个人代码数据。czc_yolov8 你的容器的名字 根据你的任务,我这个是yolov8的容器。/database这里是上面你的路径映射到容器里的对应的根目录。

2024-07-09 09:26:07 2643

原创 Yolov8模型调参大全:超详细解读每一个参数

defalut.yaml配置文件用于设置Yolov8模型的训练和预测参数。4.1. 类型/模式参数4.1.1. task: detect指定Yolov8的任务类型,默认为detect,您也可根据实际应用场景设置为segment、classify、pose等。4.1.2. mode: train指定Yolov8的运行模式,默认为train,您也可根据实际操作设置为val、predict、export、track、benchmark等。4.2. 训练参数4.2.1. model模型文件

2024-07-04 11:14:05 4291

原创 YOLOv8超参数解析

余弦学习率调度器可以帮助模型在训练过程中按照余弦函数的形状调整学习率,从而在训练初期使用较高的学习率,有助于快速收敛,而在训练后期逐渐降低学习率,有助于细致调整模型参数。通过调整输入图像的尺寸,进而可控制模型的输入大小,从而优化模型的准确性和速度。设置为False时,将不使用AMP,即使用常规的精度进行训练,通常是使用单精度浮点数(single-precision floating-point)。具体来说,设置为0.8表示使用训练集中80%的图像进行训练,剩下的20%将不参与训练。

2024-07-02 14:11:08 1606

原创 瑞芯微RK3588部署YOLOv8模型

写下这篇博客进行记录,以防后面忘了怎么部署。

2024-07-01 15:25:32 1628

原创 ByteTrack跟踪算法详解和代码解析

ByteTrack算法是一种基于目标检测的追踪算法,和其他非ReID的算法一样,仅仅使用目标追踪所得到的bbox进行追踪。追踪算法使用了卡尔曼滤波预测边界框,然后使用匈牙利算法进行目标和轨迹间的匹配。ByteTrack算法的最大创新点就是对低分框的使用,作者认为低分框可能是对物体遮挡时产生的框,直接对低分框抛弃会影响性能,所以作者使用低分框对追踪算法进行了二次匹配,有效优化了追踪过程中因为遮挡造成换id的问题。没有使用ReID特征计算外观相似度非深度方法,不需要训练。

2024-06-25 09:00:00 1754

原创 手写最简单的目标跟踪算法

函数set_id的作用就是为当前目标设置ID,它的输入变量是被设置目标ID的中心点坐标centerPt,返回的是该目标的ID号return_id。在这里,我们除了为目标标注ID外,还实现了另一个功能:绘制了该目标的运动轨迹,所以这里的坐标不仅仅是当前帧的坐标,还包括以前同一目标的坐标。由于我们已经把当前帧内出现的ID保存在了now_id内,所以我们只需要把id_history内的ID与now_id比较,将now_id内没有出现的ID从id_history内剔除掉即可。id_counter为目标ID的编号。

2024-06-24 09:00:00 1035

原创 DeepSort多目标跟踪训练自己的数据集

比如我track.py跑的MOT16-13的视频,就会在目录的inference/output下生成一个MOT16-13.txt的文本,依次跑完7个训练视频(视频我会放在最后),可得到7个txt文件(需要自己跑代码生成),将得到的txt文件放在data/trackers/mot_challenge/MOT16-train/data/下即可(3.1.1节提到的),准备工作就完成了。跟踪权重:ckpt.t7(deep_sort_pytorch/ deep_sort/ deep/ checkpoint文件夹下)

2024-06-23 16:01:32 2718 7

原创 YOLOv10解析:保姆级解读和使用教程

YOLOv10是清华大学的Ao Wang, HuiChen, LihaoLiu等人于 2024年5月发布的,是一种新的实时端到端目标检测器,也是YOLO系列最新的算法。code。

2024-06-20 13:33:58 3393

原创 超详细YOLOv8全解:学v8只用看一篇文章

例如,tensor([0., 5., 0., 0., 0.], device='cuda:0')中的0和5表示第一个对象被分类为类别0,第二个对象被分类为类别5,以此类推。举例来说,如果一个.txt文件中的一行是1 0.5 0.5 0.2 0.3,这意味着该对象属于类别1(例如“车”),其边界框的中心位于图像中心(X和Y坐标均为0.5),边界框的宽度是图像宽度的20%,高度是图像高度的30%。YOLOv8x-cls: 在这个系列中,它提供了最高的准确率,但速度最慢,需要较强的硬件支持。

2024-06-19 11:50:51 15344 1

原创 Win11+VS2022环境下配置点云库PCL1.11.1(超详细)

添加内容为PCL根目录下的lib文件(H:\PCL\PCL 1.11.1\lib)和PCL\3rdParty\VTK下的lib文件(H:\PCL\PCL 1.11.1\3rdParty\VTK\lib),debug版本的文件名带有“-gd”后缀。至此属性全部设置完成,右键“PCL1.11.1”,点击“保存PCL1.11.1”,这样在今后创建新项目时可以选择“添加现有属性表”,直接添加PCL1.11.1,就不用重新配置啦。(8)在连接器中选择“输入”,选择“附加依赖项”,点击编辑,添加内容。

2024-06-18 13:01:54 1134 2

原创 YOLOv10独家涨点改进:轻量化双卷积DualConv,有效减少参数和涨点

为了解决这个问题,我们提出了一种基于秩的块设计方案,旨在通过紧凑的架构设计降低被证明是冗余的阶段复杂度。我们首先提出了.个紧凑的倒置块(CIB)结构,它采用廉价的深度可分离卷积进行空间混合,以及成本效益高的点对点卷积进行通道混合.2fUIB只是用CIB结构替换了YOLOv8中C2f的Bottleneck结构实现代码ultralytics/nn/modules/block.py。

2024-06-17 13:21:54 377

原创 YOLOv9独家提点|加入MobileViT 、SK 、Double Attention Networks、CoTAttention等几十种注意力机制(五)

本文将以SE注意力机制为例,演示如何在YOLOv9种添加注意力机制!SENet提出了一种基于“挤压和激励”(SE)的注意力模块,用于改进卷积神经网络(CNN)的性能。SE块可以适应地重新校准通道特征响应,通过建模通道之间的相互依赖关系来增强CNN的表示能力。这些块可以堆叠在一起形成SENet架构,使其在多个数据集上具有非常有效的泛化能力。

2024-06-17 08:30:00 194

原创 YOLOv10的使用总结

YOLOv10 的架构借鉴了以往 YOLO 模型的优点,同时引入了几项关键创新。模型架构由以下部分组成:Backbone:YOLOv10 中的骨干网负责特征提取,使用增强版 CSPNet(Cross Stage Partial Network)来改善梯度流并减少计算冗余Neck:颈部用于汇聚不同尺度的特征,并将其传递给头部。它包括 PAN(Path Aggregation Network)层,可实现有效的多尺度特征融合。

2024-06-16 18:12:55 541

原创 YOLOv10详解与总结

YOLOv10 由清华大学研究人员在 Ultralytics版基础上进行进一步开发,引入了一种新的实时目标检测方法,解决了以前版本 YOLO 在后处理和模型架构方面的不足。在性能相同的情况下,YOLOv10-B 比 YOLOv9-C 减少了 46% 的延迟和 25% 的参数。该模型在不同的变体中都取得了最先进的结果,与以前的版本和其他当代探测器相比,在延迟和准确性方面都有显著提高。在精度相同的情况下,YOLOv10-B 的参数比 YOLOv9-C 少 25%,延迟比 YOLOv9-C 低 46。

2024-06-16 17:59:59 605

原创 YOLOv9独家原创改进:增加SPD-Conv:小目标检测提点神器

卷积神经网络(CNNs)在计算即使觉任务中如图像分类和目标检测等取得了显著的成功。然而,当图像分辨率较低或物体较小时,它们的性能会灾难性下降。这是由于现有CNN常见的设计体系结构中有缺陷,即使用卷积步长和/或池化层,这导致了细粒度信息的丢失和较低效的特征表示的学习。为此,我们提出了一个名为SPD-Conv的新的CNN构建块来代替每个卷积步长和每个池化层(因此完全消除了它们)。SPD-Conv由一个空间到深度(SPD)层和一个无卷积步长(Conv)层组成,可以应用于大多数CNN体系结构。

2024-06-16 16:51:45 576

原创 YOLOv9独家改进:动态蛇形卷积Dynamic Snake Convolution替换conv卷积

使用ICCV2023中的动态蛇形卷积替换YOLOv9网络中的Conv模块。应用场景: 适合 具有细长微弱的局部结构特征与复杂多变的全局形态特征的场景。话不多说,展示修改成功后的运行图。

2024-06-16 16:39:23 178

原创 YOLOv9独家改进:融合动态蛇形卷积Dynamic Snake Convolution与与RepNCSPELAN4

Dynamic Snake Convolution是一种针对细长微弱的局部结构特征与复杂多变的全局形态特征设计的卷积模块。RepNCSPELAN4是YOLOv9中的特征提取模块,类似YOLOv5和v8中的C2f与C3模块。的主要思想: 使用Dynamic Snake Convolution与RepNCSPELAN4中融合。

2024-06-16 16:34:44 228

原创 YOLOV5 + PYQT5双目测距

双目测距是一种利用立体视觉原理来测量物体距离的技术。它基于人眼观察物体时左右眼接收到的图像存在视差(即左右眼图像的差异)这一事实。: 使用两个平行排列的摄像头(模拟人的双眼)同时捕获同一场景的两幅图像。: 由于两个摄像头可能存在镜头畸变,需要对捕获的图像进行校正,以确保图像中物体的位置和形状准确。: 找到左右图像中相同物理点的对应像素。这个过程称为特征匹配或图像配准。: 根据左右图像中匹配点的水平像素差(即视差),计算深度信息。视差与深度成反比,即视差越大,物体越近;视差越小,物体越远。

2024-06-16 09:00:00 135

原创 双目三维测距代码详解

立体校正后的左右两幅图像得到后,匹配点是在同一行上的,可以使用OpenCV中的BM算法或者SGBM算法计算视差图。立体校正利用双目标定的内外参数(焦距、成像原点、畸变系数)和双目相对位置关系(旋转矩阵和平移向量),分别对左右视图进行消除畸变和行对准,使得左右视图的成像原点坐标一致、两摄像头光轴平行、左右成像平面共面、对极线行对齐。校正前的左右相机的光心并不是平行的,两个光心的连线就叫基线,像平面与基线的交点就是极点,像点与极点所在的直线就是极线,左右极线与基线构成的平面就是空间点对应的极平面。

2024-06-15 08:15:00 110 1

原创 使用Zed 实现测距

此代码基于官方代码基础上进行改写,主要是获取zed相机深度画面的深度值,为yolo测距打基础。Zed相机是由Stereolabs公司开发的一种先进的立体视觉相机。这种相机专为计算机视觉和机器学习应用而设计,能够提供高质量的3D捕捉和分析功能。: Zed相机配备有一对垂直排列的传感器,能够捕捉两个略有偏移的图像,从而模拟人的双眼视觉,实现深度感知。: 利用立体成像技术,Zed相机能够实时生成环境的3D模型,这对于机器人导航、增强现实(AR)和虚拟现实(VR)等应用至关重要。

2024-06-14 20:42:32 290

原创 基于双目视觉的尺寸检测算法设计

YOLO系列算法的核心思想是将目标检测任务视为一个单一的回归问题,直接从图像像素到边界框坐标和类别概率的映射。这种设计使得YOLO能够在保持高精度的同时实现快速的检测速度。输入处理: YOLO接受输入图像并将其划分为一个个格子(grid cell)。每个格子负责预测中心点落在该格子内的目标。边界框预测: 每个格子预测多个边界框(bounding boxes),包括边界框的位置和尺寸。类别预测: 每个边界框还预测一个置信度(confidence),表示边界框包含目标的概率以及预测的类别概率。后处理。

2024-06-14 20:27:48 508

原创 简化YOLOv5的推理过程(学习笔记)

--HWC转CHW---扩展维度---numpy转tensor---转float32---预测--NMS--将检测框缩放至原始图尺寸--你需要的功能(截图、画检测框等)加载模型---动态resize图片大小---

2024-06-13 08:00:00 90

原创 YOLOv5的detect.py逐句注释教程(学习笔记)

detect.py主要有run(),parse_opt(),main()三个函数构成。

2024-06-11 08:00:00 241

原创 AnyLabeling自动打标签教程(学习笔记)

1、支持多边形,矩形,圆,线和点图像标注。2、通过YOLOv5 和 Segment Anything自动标注。3、支持文本检测,识别和KIE(关键信息提取)标注。4、支持英语,越南语,汉语。一、AnyLabeling安装使用Anaconda安装环境。1、安装环境。

2024-06-10 13:40:45 394

yolov5-6.2 分类算法详解

数据集划分脚本

2023-06-01

相机标定之张正友标定法原理详解python版

python版本双目标定

2023-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除