- 博客(212)
- 收藏
- 关注
原创 关于c++ trt推理YOLO系列,出现检测框混乱,集中左上角的问题
确认输出张量的形状是[1, 84, 8400],其中84是每个锚点的参数,8400是锚点数量。因此,signalResultNum应为84,strideNum为8400。如果你用的是YOLO的官方代码:位置原代码inference.cpp第224行,后处理部分。网上抄录的野路子代码,可以把原因告诉deepseek,让他修改代码。由于OpenCV的cv::Mat是按行优先存储的,,使得每行对应一个锚点的所有参数。
2025-04-03 16:05:33
280
原创 Windows系统vscode安装与配置G++、Cmake
VSCode,全称为Visual Studio Code,是由微软开发的一款轻量级,跨平台的代码编辑器。大家能来搜用VSCode配置c/c++,想必也知道VSCode的强大,可以手握一个VSCode同时编写如C,C++,C#,Java,python等等语言的代码。得益于在VSCode上可以下载很多不同种类的插件,可以给vscode添加很多扩展功能,如代码高亮美化,代码补全和代码检查等。
2025-03-31 16:39:50
724
原创 X-AnyLabeling的安装与使用指南
相比于从源代码运行,GUI 运行环境提供了更便捷的体验,用户无需深入了解底层实现,只需解压便可直接使用。因此,建议根据具体需求和偏好,在从源代码运行和使用 GUI 环境之间做出选择,以优化用户体验。NOTE] 如需使用以下高级功能,请参考相应文档安装额外依赖。有关如何使用 X-AnyLabeling 的详细说明,请参考相应的。⚠️ 请注意,如果您需要 GPU 加速,应在。为避免冲突,请执行以下命令卸载第三方相关包。首先下载好anaconda。参数随时查看可用的选项。字段设置为 'GPU'。
2025-03-25 18:07:26
677
原创 双目视觉搭配YOLO实现3D测量
双目(Stereo Vision)技术是一种利用两个相机来模拟人眼视觉的技术。通过对两个相机获取到的图像进行分析和匹配,可以计算出物体的深度信息。双目技术可以实现物体的三维重建、距离测量、运动分析等应用。双目技术的原理是通过两个相机之间的基线距离来计算出物体的深度。当两个相机捕捉到的图像中存在物体时,它们会分别捕捉到该物体的两个视角。通过计算两个视角之间的差异,可以得到物体的深度信息。YOLO(You Only Look Once)是一种目标检测算法。
2024-10-13 20:50:34
2361
3
原创 ZED相机的使用
ZED型号是ZED 2 立体相机(ZED2 Stereo Camera,Stereolabs , San Francisco, USA),其中还包括USB 3.0 数据线,以及一个迷你三脚架。
2024-10-13 20:31:49
1249
1
原创 双目立体视觉和体积测量
最快的方法是颜色分割。该方法的缺点是将设置绑定到特定的产品上,如果背景颜色和对象不是很清楚,可能会产生不好的结果。这些标定板的主要优点是,即使是单个标定板也能提供足够的一致性来获得相机的姿势。评估两个图像之间的对应关系,人工智能确定到目标的距离,分析,并建立目标的3D结构。结果是直线对齐和细化图像,即同一平面的两幅图像共面,其直线对齐方向相同,具有相同的y坐标。4、因此,有了相机的几何排列,我们产生了视差图的三角度量。1、对一组连续的帧进行累积,这将增加错误恢复的弹性,用于对3D场景进行平均或细化。
2024-09-27 14:22:49
618
原创 双目视觉路线,为什么一直没有存在感
例如,200 TOPS的芯片算力,如果利用率是10%,则实际算力只有20 TOPS,而32 TOPS的芯片算力,如果利用率提升到50%,实际算力就能达到16 TOPS。据单羿表示,鉴智已经实现了用AI算法去做双目立体视觉的效果,同时,团队的算法压缩能力可将模型的算力需求做到合理的尺度,进而将AI双目在可接受的成本范围内做到产品级的效果。总之,双目是一个很早就存在的技术路线,但存在感不高的原因一方面在于它的技术门槛较高(算法、制造工艺,质量一致性等),被欧美少数几个玩家维宁尔,大陆,博世,电装等把控;
2024-09-25 14:58:12
1084
原创 双目立体匹配算法:SGBM
SGBM(Semi-Global Block Matching)是一种用于计算双目视觉中视差(disparity)的半全局匹配算法,在OpenCV中的实现为semi-global block matching(SGBM)。它是基于全局匹配算法和局部匹配算法的优缺点,提出了一种折中的方法,既能保证视差图的质量,又能降低计算复杂度。
2024-09-24 09:00:00
5820
1
原创 双目立体视觉的齿轮端面高度测量
该方法使用单目相机移动固定基线获取双目图像并对图像进行立体矫正,采用改进的半全局立体匹配SGBM算法获取齿轮高精度视差图像和相机坐标系下平面三维坐标点,对上下平面的三维坐标点进行最小二乘拟合,得到上下平面的深度信息,上下平面深度作差即可实现齿轮端面高度的测量,并对提出的双目测量系统及方法进行了实验验证。由工业相机获取双目齿轮图像,通过双目相机标定实现双目图像的立体矫正,采用立体匹配算法获取双目视差,从而得到相机坐标系下平面三维坐标点,处理上下平面的三维坐标点,从而实现齿轮端面高度的测量。
2024-09-23 09:29:43
1347
原创 Mamba横空出世,Transformer最强竞争者
Mamba是一种新的选择性结构状态空间模型,在长序列建模任务中表现出色。Mamba通过全局感受野和动态加权,缓解了卷积神经网络的建模约束,并提供了类似于Transformers的高级建模能力。至关重要的是,它实现了这一点,而不会产生通常与Transformer相关的二次计算复杂性。由于其相对于前两种主流基础模型的优势,曼巴展示了其作为视觉基础模型的巨大潜力。研究人员正在积极地将曼巴应用于各种计算机视觉任务,导致了许多新兴的工作。为了跟上计算机视觉的快速发展,本文旨在对视觉曼巴方法进行全面综述。
2024-09-23 09:20:10
2062
原创 科研前线:超越YOLOv10!RT-DETRv3横空出世!
RT-DETR是第一款基于实时端到端转换器的物体检测器。它的效率来自于框架设计和匈牙利匹配。然而,与YOLO系列等密集监督检测器相比,匈牙利匹配提供的监督要稀疏得多,导致模型训练不足,难以实现最佳结果。为了解决这些问题,我们提出了一种基于RT-DETR的分层密集正监督方法,命名为RT-DETRv3。首先,我们引入一个基于CNN的辅助分支,它提供密集的监督,与原始解码器协作来增强编码器特征表示。其次,为了解决解码器训练不足的问题,我们提出了一种新的包含自我注意扰动的学习策略。
2024-09-19 09:23:25
1397
原创 一段时间未使用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
399
原创 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
2095
原创 HalCon 怎么繁体字设为简体字
(新版本支持),HD设置菜单,直接切换主题或修改语言重启HDevelpop即可(仅支持简体中文、繁体、英文)。选完结束,重启软件。
2024-08-12 14:28:51
1918
原创 工业相机基础知识:像距、物距、焦距的关系
理论上,只有处于镜头焦点距离的景物成像是清晰的,在焦点的前后,光线开始聚集和扩散,成像变得模糊,成像点形成的是一个扩大的圆,这个圆称为弥散圆(circle of confusion)。当物距小于两倍焦距大于焦距时,像距大于两倍焦距,成倒立放大的实像(幻灯机和部分支持微距拍摄的照相机)。当物距在无穷远和两倍焦距之间时,像距在焦距和两倍焦距之间,成倒立缩小的实像(照相机)。当物距小于焦距时,像距为负,在物体的同侧成正立放大的虚像(放大镜)。焦点---通过凸透镜的、平行主光轴的光线,在主光轴上的会聚点。
2024-08-11 14:00:00
3452
原创 Halcon编程问题总结
图像旋转、镜像操作是比较耗时的,如果实际工作中如果因为相机安装方向、需要提取 ROI 等工作,可以先提取 ROI 之后再做旋转、镜像,这样可以省下很多时间,我这里测试省下了 150 ms;单次抓图时间约为 250 ms,两个相机约 500 ms,采用两个 Task 同时采集,时间减少一半;黑色背景,文字没有边框,没有阴影。
2024-08-11 08:15:00
1021
原创 Cloudcompare软件使用总结
用户可以指定要采样的点的总数(大约),也可以指定表面密度(每平方单位的点数)。注意:理论上,相机传感器可以与Trans中存储的任意数量的4x4变换矩阵(3D旋转和平移的关联)相关联。Rasterize (and contour plot)此工具的主要目的是“栅格化”点云(即将其转换为2.5D网格),然后将其导出为新的云或光栅图像(geotiff)。使用此工具,您可以选择云中的任何点(通过其索引或通过在3D视图中进行选择-带有“点索引”字段旁边的按钮)。但是,首先将3D点云投影在最佳拟合平面上(最小二乘)。
2024-08-10 10:41:28
1053
原创 工业相机镜头焦距、工作距离、视野等选型的计算
镜头在成像时,特别是用短焦距镜头拍摄大视场,图像会产生形变,这种情况叫做镜头的畸变,这是由于镜头的光学结构和成像特性导致的,原因是由于视野中局部放大倍数不一致造成的图像扭曲。拍摄的视场越大,所用的镜头的焦距越短,畸变的程度就越明显,一般有桶型畸变和枕型畸变两种,可以通过图像标定减弱这种平面畸变的影响。常见的有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
6535
原创 机器视觉应用基础: 工业镜头
镜头的光圈排列顺序是: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
1151
原创 相机硬件选型——工业相机和镜头参数简析
工业相机参数列表中一般将传感器尺寸参数描述为靶面尺寸,指的是传感器(工作区域为矩形)对角线长度,单位为英寸,但这里的英寸并不是常规的1英寸等于25.4mm的定义,而是一个历史遗留的标准,通常指的是早期摄像管的尺寸,约为16mm。
2024-08-09 17:49:04
4237
原创 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
1655
原创 python导出requirements.txt的三种方式
生成requirements.txt,pip freeze会将当前PC环境下所有的安装包都进行生成,再进行安装的时候会全部安装很多没有的包.此方法要注意。导出结果会存在路径,生成的requirements.txt文件在当前目录下。,这个工具的好处是可以通过对项目目录的扫描,发现使用了哪些库,生成依赖清单。生成的requirements.txt文件在当前目录下。生成的requirements.txt文件在当前目录下。step1:安装pipreqs(默认没有安装)在python项目的根目录下 使用。
2024-08-01 13:43:40
1230
原创 linux 报错:bash: /etc/profile: 行 32: 语法错误:未预期的文件结束符
每个if的后面结尾都要跟着一个fi我在添加代码时,无删除了一个fi导致了错误,新手建议检查一下有没有误删除的情况。
2024-07-18 23:35:21
1140
原创 如何使用roboflow进行打标签和数据增强
Roboflow 是一个用于机器学习和计算机视觉项目的开源平台。它提供了一系列的工具和功能,帮助开发者和数据科学家更高效地处理图像数据,训练和部署机器学习模型。数据标记和增强:Roboflow 提供了一个用户友好的界面来标记图像数据,支持多种标记类型,如边界框、分割掩码、分类标签等。此外,它还提供了图像增强功能,可以自动增加数据集的多样性。模型训练:Roboflow 允许用户直接在平台上训练机器学习模型,支持多种流行的深度学习框架,如 TensorFlow、PyTorch 等。模型导出和部署。
2024-07-11 11:45:54
1299
1
原创 CLion学习笔记-cmake编译和多main函数编译
1.新建一个工程名字自己取,我这里用自己学习pcl的,加一个main函数,这个时候Cmake里边就是这样的。重复上面的步骤取编译一下cmake,然后进入主函数就可以运行了。点击此处按钮加载 ,或者右键cmake.list点击重新加载。这里就不讲怎么配置clion了。多个main函数如何运行。
2024-07-09 17:50:13
680
1
原创 VSCode连接远程服务器并使用docker容器调试代码
以上为大致顺序,可能又错漏之处,大家可以留言,主要配置完一次之后,有些细节自动跳过了。接着展开Dev Containers,就可以查看到本地的镜像,绿色是当前正在运行的。首先需要进入服务器,用ssh连接,这里大家用的方式可以不同,我这里用的是这个小插件。/dataloader/czc/这里是服务器的你自己的建的路径存放个人代码数据。czc_yolov8 你的容器的名字 根据你的任务,我这个是yolov8的容器。/database这里是上面你的路径映射到容器里的对应的根目录。
2024-07-09 09:26:07
4676
1
原创 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
9202
2
原创 YOLOv8超参数解析
余弦学习率调度器可以帮助模型在训练过程中按照余弦函数的形状调整学习率,从而在训练初期使用较高的学习率,有助于快速收敛,而在训练后期逐渐降低学习率,有助于细致调整模型参数。通过调整输入图像的尺寸,进而可控制模型的输入大小,从而优化模型的准确性和速度。设置为False时,将不使用AMP,即使用常规的精度进行训练,通常是使用单精度浮点数(single-precision floating-point)。具体来说,设置为0.8表示使用训练集中80%的图像进行训练,剩下的20%将不参与训练。
2024-07-02 14:11:08
2785
原创 ByteTrack跟踪算法详解和代码解析
ByteTrack算法是一种基于目标检测的追踪算法,和其他非ReID的算法一样,仅仅使用目标追踪所得到的bbox进行追踪。追踪算法使用了卡尔曼滤波预测边界框,然后使用匈牙利算法进行目标和轨迹间的匹配。ByteTrack算法的最大创新点就是对低分框的使用,作者认为低分框可能是对物体遮挡时产生的框,直接对低分框抛弃会影响性能,所以作者使用低分框对追踪算法进行了二次匹配,有效优化了追踪过程中因为遮挡造成换id的问题。没有使用ReID特征计算外观相似度非深度方法,不需要训练。
2024-06-25 09:00:00
2898
1
原创 手写最简单的目标跟踪算法
函数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
1271
原创 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
4951
18
原创 YOLOv10解析:保姆级解读和使用教程
YOLOv10是清华大学的Ao Wang, HuiChen, LihaoLiu等人于 2024年5月发布的,是一种新的实时端到端目标检测器,也是YOLO系列最新的算法。code。
2024-06-20 13:33:58
5813
原创 超详细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
18855
2
原创 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
1870
4
原创 YOLOv10独家涨点改进:轻量化双卷积DualConv,有效减少参数和涨点
为了解决这个问题,我们提出了一种基于秩的块设计方案,旨在通过紧凑的架构设计降低被证明是冗余的阶段复杂度。我们首先提出了.个紧凑的倒置块(CIB)结构,它采用廉价的深度可分离卷积进行空间混合,以及成本效益高的点对点卷积进行通道混合.2fUIB只是用CIB结构替换了YOLOv8中C2f的Bottleneck结构实现代码ultralytics/nn/modules/block.py。
2024-06-17 13:21:54
644
原创 YOLOv9独家提点|加入MobileViT 、SK 、Double Attention Networks、CoTAttention等几十种注意力机制(五)
本文将以SE注意力机制为例,演示如何在YOLOv9种添加注意力机制!SENet提出了一种基于“挤压和激励”(SE)的注意力模块,用于改进卷积神经网络(CNN)的性能。SE块可以适应地重新校准通道特征响应,通过建模通道之间的相互依赖关系来增强CNN的表示能力。这些块可以堆叠在一起形成SENet架构,使其在多个数据集上具有非常有效的泛化能力。
2024-06-17 08:30:00
271
原创 YOLOv10的使用总结
YOLOv10 的架构借鉴了以往 YOLO 模型的优点,同时引入了几项关键创新。模型架构由以下部分组成:Backbone:YOLOv10 中的骨干网负责特征提取,使用增强版 CSPNet(Cross Stage Partial Network)来改善梯度流并减少计算冗余Neck:颈部用于汇聚不同尺度的特征,并将其传递给头部。它包括 PAN(Path Aggregation Network)层,可实现有效的多尺度特征融合。
2024-06-16 18:12:55
984
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人