自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 YOLOv9改进:独家HWD-ADown模块

HWD是一种下采样模型,应用了小波变换的方法。ADown是YOLOv9中的下采样模块,对不同的数据场景具有一定的可学习能力。

2024-05-15 21:00:55 145

原创 YOLOv9训练自己的数据集:最新最详细教程

此时我们安装的只是基础的CPU状态,如果需要使用GPU训练,需要在pytorch中找到适合自己的cuda版本的torch口令然后下载。(我用的原博主的,因为我自己选的有问题hhh)一般按照上面操作,环境就配好了。数据集百度网盘链接:链接:https://pan.baidu.com/s/1QktBnMcDdsQaT6JQXBjNPA。我这里租用的是云服务器,因此要配置一些环境(如果是拿自己电脑训练的话,就可以跳过环境配置)。新建my_data.yaml,内容如下:path改为自己的datasets位置。

2024-05-15 20:50:15 82

原创 YOLOv9独家改进系列-可改变核卷积

一、改进点介绍AKConv是一种具有任意数量的参数和任意采样形状的可变卷积核,对不规则特征有更好的提取效果。论文速览::AKConv是2023年11月发表的一种可变卷积核,赋予卷积核任意数量的参数和任意采样形状,以解决具有固定样本形状和正方形的卷积核不能很好地适应不断变化的目标的问题点可以为网络开销和性能之间的权衡提供更丰富的选择。

2024-05-11 21:57:15 124

原创 opencv入门到精通——Canny边缘检测

目录理论OpenCV中的Canny Edge检测附加资源在本章中,我们将学习Canny边缘检测的概念OpenCV函数: cv.Canny()Canny Edge Detection是一种流行的边缘检测算法。它由John F. Canny发明1.这是一个多阶段算法,我们将经历每个阶段。2.降噪由于边缘检测容易受到图像中噪声的影响,因此第一步是使用5x5高斯滤波器消除图像中的噪声。我们已经在前面的章节中看到了这一点。3.查找图像的强度梯度然后使用Sobel核在水平和垂直方向上对平滑的图像进行滤波,以在水平方向(

2024-01-04 09:00:00 1028 4

原创 opencv入门到精通——图像梯度

黑色到白色的过渡被视为正斜率(具有正值),而白色到黑色的过渡被视为负斜率(具有负值)。kernel = \begin{bmatrix} 0 & 1 & 0 \ 1 & -4 & 1 \ 0 & 1 & 0 \end{bm下面的代码显示了单个图表中的所有算子。,则使用3x3 Scharr滤波器,比3x3 Sobel滤波器具有更好的结果。如果要检测两个边缘,更好的选择是将输出数据类型保留为更高的形式,例如。给出的图像的拉普拉斯图,它是每一阶导数通过Sobel算子计算。下面的代码显示了单个图表中的所有算子。

2024-01-03 20:28:36 993

原创 【CVPR2023】使用轻量 ToF 传感器的单目密集SLAM的多模态神经辐射场

论文标题:Multi-Modal Neural Radiance Field for Monocular Dense SLAM with a Light-Weight ToF Sensor论文链接:https://openaccess.thecvf.com/content/ICCV2023/html/Liu_Multi-Modal_Neural_Radiance_Field_for_Monocular_Dense_SLAM_with_a_ICCV_2023_paper.html。

2024-01-03 20:23:45 1097

原创 python 中导出requirements.txt 的几种方法

注意:生成requirements.txt,pip freeze会将当前PC环境下所有的安装包都进行生成,再进行安装的时候会全部安装很多没有的包.此方法要注意。

2024-01-02 16:26:25 1007

原创 pycharm中Pyside2/QtDesigner安装和配置

PyQt5/QtDesigner安装和配置。

2024-01-02 16:22:36 831

原创 opencv入门到精通——形态学转换

因此,它会增加图像中的白色区域或增加前景对象的大小。原始图像中的一个像素(无论是1还是0)只有当内核下的所有像素都是1时才被认为是1,否则它就会被侵蚀(变成0)。结果是,根据内核的大小,边界附近的所有像素都会被丢弃。因此,前景物体的厚度或大小减小,或只是图像中的白色区域减小。它有助于去除小的白色噪声(正如我们在颜色空间章节中看到的),分离两个连接的对象等。在这一章当中, 我们将学习不同的形态学操作,例如侵蚀,膨胀,开运算,闭运算等。在这里,作为一个例子,我将使用一个5x5内核,它包含了所有的1。

2023-12-25 20:06:35 1496 5

原创 opencv入门到精通——图像平滑

高斯滤波器仅是空间的函数,也就是说,滤波时会考虑附近的像素。因此它也模糊了边缘,这是我们不想做的。有趣的是,在上述过滤器中,中心元素是新计算的值,该值可以是图像中的像素值或新值。但是在中值模糊中,中心元素总是被图像中的某些像素值代替。双边滤波器在空间中也采用高斯滤波器,但是又有一个高斯滤波器,它是像素差的函数。空间的高斯函数确保仅考虑附近像素的模糊,而强度差的高斯函数确保仅考虑强度与中心像素相似的那些像素的模糊。操作如下:保持这个内核在一个像素上,将所有低于这个内核的25个像素相加,取其平均值,

2023-12-25 17:31:50 1060

原创 opencv入门到精通——图像阈值

但这可能并非在所有情况下都很好,例如,如果图像在不同区域具有不同的光照条件。在此,算法基于像素周围的小区域确定像素的阈值。因此,对于同一图像的不同区域,我们获得了不同的阈值,这为光照度变化的图像提供了更好的结果。OpenCV提供了不同类型的阈值,这由函数的第四个参数给出。一个好的阈值应该在这两个值的中间。在全局阈值化中,我们使用任意选择的值作为阈值。由于我们正在处理双峰图像,因此Otsu的算法尝试找到一个阈值(t),该阈值将由关系式给出的。在本教程中,您将学习简单阈值,自适应阈值和Otsu阈值。

2023-12-24 09:00:00 975 3

原创 【CVPR2023】可持续检测的Transformer用于增量对象检测

代码已开源:https://github.com/yaoyao-liu/CL-DETR本文旨在解决增量目标检测(IOD)问题,模型需要逐步学习新的目标类别,同时不忘记先前学到的知识。在这个背景下,论文提出了一种创新性的方法,称为ContinuaL DEtection TRansformer(CL-DETR),它基于Transformer架构,并允许有效地使用知识蒸馏(KD)和示例重播(ER)等技术来解决增量学习中的挑战。

2023-12-23 20:15:00 1125 1

原创 opencv入门到精通——图像的几何变换

要找到此变换矩阵,您需要在输入图像上有4个点,在输出图像上需要相应的点。在仿射变换中,原始图像中的所有平行线在输出图像中仍将平行。为了找到变换矩阵,我们需要输入图像中的三个点及其在输出图像中的对应位置。但是OpenCV提供了可缩放的旋转以及可调整的旋转中心,因此您可以在自己喜欢的任何位置旋转。图像的大小可以手动指定,也可以指定缩放比例。默认情况下,出于所有调整大小的目的,使用的插值方法为。学习将不同的几何变换应用到图像上,如平移、旋转、仿射变换等。函数的第三个参数是输出图像的大小,其形式应为。

2023-12-23 15:55:40 1040

原创 opencv入门到精通——改变颜色空间

现在我们知道了如何将BGR图像转换成HSV,我们可以使用它来提取一个有颜色的对象。在我们的应用程序中,我们将尝试提取一个蓝色的对象。HSV的色相范围为[0,179],饱和度范围为[0,255],值范围为[0,255]。一旦学习了轮廓的功能,你就可以做很多事情,例如找到该对象的质心并使用它来跟踪对象,仅通过将手移到相机前面以及其他许多有趣的东西就可以绘制图表。在本教程中,你将学习如何将图像从一个色彩空间转换到另一个,像BGR↔灰色,BGR↔HSV等。现在单独提取蓝色对象,我们可以对图像做任何我们想做的事情。

2023-12-23 08:30:00 958

原创 【ICCV2023】MMVP:基于运动矩阵的视频预测

本文提出的基于运动矩阵的视频预测框架(MMVP)是一个端到端可训练的双流管道。与以往的方法不同,以往的方法通常在相同的模块内处理运动预测和外观维护,MMVP通过构建外观无关的运动矩阵来解耦运动和外观信息。广泛的实验证明,MMVP在公共数据集上的表现优于最先进的方法,性能提升显著(在PSNR上提高了约1 dB,例如 UCF Sports数据集),而模型大小却显著减小(相当于84%或更小的模型尺寸)。与仅使用最后观察到的帧的信息不同,我们使用所有观察到的信息进行未来合成,并通过重复矩阵乘法来减小较早帧的权重。

2023-12-22 22:16:22 1735 3

原创 opencv入门到精通——OpenCV4.1.2之性能衡量与优化方法

因此,如果启用了 OpenCV,它将运行优化的代码,否则它将运行未优化的代码。有助于获取有关代码的详细报告,例如代码中每个函数花费了多少时间,调用了函数的次数等。但是,如果你使用的是IPython,则所有这些功能都集成在用户友好的界面中方式。因此,对于相同的操作,首选OpenCV功能。在图像处理中,由于每秒要处理大量操作,因此必须使代码不仅提供正确的解决方案,而且还必须以最快的方式提供。即使执行了所有这些操作后,如果你的代码仍然很慢,或者不可避免地需要使用大循环,请使用Cython等其他库来使其更快。

2023-12-22 18:53:40 1282

原创 opencv入门到精通——图像上的算术运算

但我希望它是不透明的。如果是一个矩形区域,我可以使用 ROI,就像我们在上一章中所做的那样。下面我们将看到一个例子,如何改变一个图像的特定区域。在这里,我拍摄了两个图像,将它们融合在一起。第一幅图像的权重为0.7,第二幅图像的权重为0.3。这也是图像加法,但是对图像赋予不同的权重,以使其具有融合或透明的感觉。两个图像应具有相同的深度和类型,或者第二个图像可以只是一个标量值。通过从 α 从 0→1 更改,您可以在一个图像到另一个图像之间执行很酷的过渡。学习图像的几种算术运算,例如加法,减法,按位运算等。

2023-12-22 17:50:25 1039

原创 opencv入门到精通——图像的基本操作

如果要访问所有B,G,R值,则需要分别调用所有的array.item()。在获取人脸图像时,我们只选择人脸区域,搜索其中的眼睛,而不是搜索整个图像。有时你需要分别处理图像的B,G,R通道。要使用OpenCV编写更好的优化代码,需要Numpy的丰富知识。img.dtype在调试时非常重要,因为OpenCV-Python代码中的大量错误是由无效的数据类型引起的。如果图像是灰度的,则返回的元组仅包含行数和列数,因此这是检查加载的图像是灰度还是彩色的好方法。图像属性包括行数,列数和通道数,图像数据类型,像素数等。

2023-12-21 13:04:50 919 1

原创 opencv入门到精通——鼠标事件和Trackbar控件的使用

它为我们提供了每个鼠标事件的坐标(x,y)。函数,第一个参数是轨迹栏名称,第二个参数是它附加到的窗口名称,第三个参数是默认值,第四个参数是最大值,第五个是执行的回调函数每次跟踪栏值更改。在我们的应用程序中,我们创建了一个开关,只有在该开关为ON的情况下,该应用程序才能在其中运行,否则屏幕始终为黑色。因此,我们的鼠标回调函数可以做一件事,在我们双击的地方绘制一个圆圈。在这里,我们将创建一个简单的应用程序,以显示您指定的颜色。在这里,我们创建一个简单的应用程序,无论我们在哪里双击它,都可以在图像上绘制一个圆。

2023-12-21 07:00:00 903

原创 opencv入门到精通——OpenCV中的绘图功能

学习使用OpenCV绘制不同的几何形状您将学习以下功能:cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText()等。

2023-12-20 15:52:38 1320 2

原创 深入了解ViT模型(讲解代码)

视觉变换器(ViT)标志着计算机视觉演进的一个显著里程碑。ViT挑战了传统的观点,即图像最好通过卷积层进行处理,证明了基于序列的注意机制可以有效地捕捉图像中复杂的模式、上下文和语义。通过将图像分解为可管理的补丁并利用自我注意力,ViT捕捉了本地和全局关系,使其能够在各种视觉任务中表现出色,从图像分类到物体检测等等。在本文中,我们将深入探讨ViT分类的内部工作原理。ViT的核心思想是将图像视为一系列固定大小的补丁,然后将这些补丁展开并转换为1D向量。

2023-12-20 07:00:00 2584

原创 U-Net 算法详解

U-Net 是为语义分割任务开发的。当神经网络接受图像作为输入时,我们可以选择一般性地分类对象或按实例分类。我们可以预测图像中包含的对象(图像分类),所有对象的位置(图像定位/语义分割),或个别对象的位置(对象检测/实例分割)。下图显示了这些计算机视觉任务之间的差异。为了简化问题,我们仅考虑一个类别和一个标签的分类。在分类任务中,我们输出一个大小为 k 的向量,其中 k 是类别的数量。在检测任务中,我们需要输出定义边界框的向量 x、y、高度、宽度、类别。

2023-12-19 07:00:00 1898 1

原创 Rethinking Classification and Localization for Object Detection ---对目标检测分类与定位的再思考

我们发现上面的原始doublehead中的每个分支都是关注自己的任务,比如卷积只关注回归操作,全连接关注分类操作,而不同的head不只关注自己的任务对检测器的性能还会有所提升。网络的backbone可以使用常用的网络,比如VGG、resnet,再加上FPN的结构,根据一个ROIPooling输出7×7×256大小的feature map,一般的做法是将这个featuremap接上一个全连接分支,在全连接后面接上一个分支输出预测的BoundingBox位置信息,一个分支输出对应位置的类别信息。

2023-12-18 21:41:11 879

原创 Transformer的Q、K、V和Mutil-Head Self-Attention(超详细解读)

举个例子我们在某宝上搜索东西,输入的搜索关键词就是Q,商品对应的描述就是K,Q与K匹配成功后搜索出来的商品就是V。Q、K、V经过Linear然后经过h个Self-Attention,得到h个输出,其中h指的是注意力的头数。更多的头数意味着更强大的模型能力,比如LLM大模型Baichuan-13B中的head数目是40,而Baichuan-7B中的head数目是32。是三个可训练的参数矩阵,输入矩阵X分别与三个矩阵参数进行相乘,相当于进行一次线性变换,得到了Q、K、V。,那Q、K、V是怎么来的呢?

2023-11-02 17:59:35 7532

原创 如何解决使用vpn/代理后无法正常上网/无法正常访问网站

​最近在学习时需要使用VPN进行科学上网查阅一些资料。但是当关闭VPN后,却发现没有办法正常连接到互联网了。​

2023-10-30 13:56:26 21045 5

原创 ubuntu18.04双系统安装(2023最新最详细)以及解决重启后发现进不了Ubuntu问题

Linux是一种自由和开放源代码的操作系统内核,被广泛应用于各种计算机系统中。它以稳定性、安全性和灵活性而闻名,并成为服务器、嵌入式设备和个人计算机等领域的首选操作系统。Linux的主要特点和功能包括:开放源代码:Linux采用开放源代码模式,意味着用户可以自由地查看、修改和分发源代码,这使得Linux具有高度的可定制性和灵活性。同时,开放源代码也促进了广大开发者的参与,推动了Linux社区的发展和创新。多用户、多任务支持:Linux支持多用户同时登录,并且可以同时运行多个任务。

2023-10-25 07:00:00 3493 3

原创 Ubuntu18.04如何安装搜狗、网易云音乐、百度网盘、金山WPS、谷歌浏览器、微信、Maven、Pycharm、Anaconda、MySQL8.0等软件

Ubuntu18.04必备的22款软件

2023-10-24 12:30:32 268 3

原创 Ubuntu 20.04 如何安装微信、QQ

Linux是一种自由和开放源代码的操作系统内核,被广泛应用于各种计算机系统中。它以稳定性、安全性和灵活性而闻名,并成为服务器、嵌入式设备和个人计算机等领域的首选操作系统。Linux的主要特点和功能包括:开放源代码:Linux采用开放源代码模式,意味着用户可以自由地查看、修改和分发源代码,这使得Linux具有高度的可定制性和灵活性。同时,开放源代码也促进了广大开发者的参与,推动了Linux社区的发展和创新。多用户、多任务支持:Linux支持多用户同时登录,并且可以同时运行多个任务。

2023-10-24 12:16:29 4835 2

原创 ubuntu双系统安装以及启动时卡死解决办法

Linux是一种自由和开放源代码的操作系统内核,被广泛应用于各种计算机系统中。它以稳定性、安全性和灵活性而闻名,并成为服务器、嵌入式设备和个人计算机等领域的首选操作系统。Linux的主要特点和功能包括:开放源代码:Linux采用开放源代码模式,意味着用户可以自由地查看、修改和分发源代码,这使得Linux具有高度的可定制性和灵活性。同时,开放源代码也促进了广大开发者的参与,推动了Linux社区的发展和创新。多用户、多任务支持:Linux支持多用户同时登录,并且可以同时运行多个任务。

2023-10-24 12:07:51 1535

原创 如何安装Ubuntu20.04(详细图文教程

Linux是一种自由和开放源代码的操作系统内核,被广泛应用于各种计算机系统中。它以稳定性、安全性和灵活性而闻名,并成为服务器、嵌入式设备和个人计算机等领域的首选操作系统。Linux的主要特点和功能包括:开放源代码:Linux采用开放源代码模式,意味着用户可以自由地查看、修改和分发源代码,这使得Linux具有高度的可定制性和灵活性。同时,开放源代码也促进了广大开发者的参与,推动了Linux社区的发展和创新。多用户、多任务支持:Linux支持多用户同时登录,并且可以同时运行多个任务。

2023-10-24 11:57:16 17639 1

原创 如何安装ubuntu22.04以及ubuntu各个版本配置国内源和ssh远程登录

Linux是一种自由和开放源代码的操作系统内核,被广泛应用于各种计算机系统中。它以稳定性、安全性和灵活性而闻名,并成为服务器、嵌入式设备和个人计算机等领域的首选操作系统。Linux的主要特点和功能包括:开放源代码:Linux采用开放源代码模式,意味着用户可以自由地查看、修改和分发源代码,这使得Linux具有高度的可定制性和灵活性。同时,开放源代码也促进了广大开发者的参与,推动了Linux社区的发展和创新。多用户、多任务支持:Linux支持多用户同时登录,并且可以同时运行多个任务。

2023-10-24 07:00:00 1251 4

原创 Ubuntu22.04(非虚拟机)安装教程(2023最新最详细)

Linux是一种自由和开放源代码的操作系统内核,被广泛应用于各种计算机系统中。它以稳定性、安全性和灵活性而闻名,并成为服务器、嵌入式设备和个人计算机等领域的首选操作系统。Linux的主要特点和功能包括:开放源代码:Linux采用开放源代码模式,意味着用户可以自由地查看、修改和分发源代码,这使得Linux具有高度的可定制性和灵活性。同时,开放源代码也促进了广大开发者的参与,推动了Linux社区的发展和创新。多用户、多任务支持:Linux支持多用户同时登录,并且可以同时运行多个任务。

2023-10-23 12:33:07 6533 1

原创 VMware虚拟机安装Ubuntu22.04教程(2023最新最详细)

Linux是一种自由和开放源代码的操作系统内核,被广泛应用于各种计算机系统中。它以稳定性、安全性和灵活性而闻名,并成为服务器、嵌入式设备和个人计算机等领域的首选操作系统。Linux的主要特点和功能包括:开放源代码:Linux采用开放源代码模式,意味着用户可以自由地查看、修改和分发源代码,这使得Linux具有高度的可定制性和灵活性。同时,开放源代码也促进了广大开发者的参与,推动了Linux社区的发展和创新。多用户、多任务支持:Linux支持多用户同时登录,并且可以同时运行多个任务。

2023-10-23 12:19:34 4123 2

原创 Vm虚拟机安装Linux(ubuntu18.04)系统教程(2023最新最详细)

Linux是一种自由和开放源代码的操作系统内核,被广泛应用于各种计算机系统中。它以稳定性、安全性和灵活性而闻名,并成为服务器、嵌入式设备和个人计算机等领域的首选操作系统。Linux的主要特点和功能包括:开放源代码:Linux采用开放源代码模式,意味着用户可以自由地查看、修改和分发源代码,这使得Linux具有高度的可定制性和灵活性。同时,开放源代码也促进了广大开发者的参与,推动了Linux社区的发展和创新。多用户、多任务支持:Linux支持多用户同时登录,并且可以同时运行多个任务。

2023-10-23 07:00:00 2491 2

原创 LABVIEW 安装教程(超详细)

LabVIEW 2017是National Instruments(NI)开发的一款图形化编程环境。LabVIEW是一种流程导向的编程语言,它使用图形符号表示程序的逻辑和数据流,并且以数据流的方式执行程序,使得用户可以通过图形化界面进行快速开发和测试各种应用。LabVIEW 2017的主要特点和功能包括:图形化编程界面:LabVIEW使用图形符号表示代码逻辑,而不是传统的文本编程。用户可以通过拖放、连接节点等直观的操作,构建程序的逻辑和数据流。

2023-10-21 16:53:46 2004

原创 Keil 5 安装教程(最新最全最详细)附网盘资源

Keil 5是一款集成开发环境(IDE),用于嵌入式系统开发。它支持多种微处理器架构,包括ARM、Cortex-M、C251和8051等,并提供了广泛的工具集,如编译器、调试器、仿真器、代码分析器等,方便用户进行代码编写、调试、测试和优化。Keil 5的主要功能包括:Project Manager:可创建、管理和构建项目,并通过自动化流程简化开发流程。µVision IDE:完整的集成开发环境,包括代码编辑器、调试器、仿真器、编译器和下载器等工具。用户可以在一个窗口内完成软件开发的所有任务。

2023-10-21 16:40:04 8051

原创 基于yolov5的目标检测和双目测距

双目视觉是通过两个摄像机同时拍摄同一场景,通过计算两幅图像的差异来获取深度信息的一种计算机视觉技术。在双目视觉中,两个摄像机的成像位置和角度是预先确定的,它们之间的距离被称为基线,通过计算两个相机拍摄的图像中对应像素点的视差,可以计算出每个像素点的深度。双目视觉的主要优势在于其可以通过将两个视角的信息进行比较,来消除图像中的噪声和误差,从而获得更准确的深度信息。此外,在近距离测量和物体检测等领域中都有广泛的应用。

2023-10-20 21:24:09 3888 9

原创 opencv入门到精通——图片,视频,摄像头的读取与保存

OpenCV是一个流行的开源计算机视觉库,由英特尔公司发起发展。它提供了超过2500个优化算法和许多工具包,可用于灰度、彩色、深度、基于特征和运动跟踪等的图像处理和计算机视觉应用。OpenCV主要使用C++语言编写,同时也支持Python、Java、C等语言。由于其开源和广泛使用的特点,在计算机视觉和机器学习领域得到了广泛的应用。

2023-10-19 21:08:07 2389 8

原创 双目视觉实战---三维重建基础与极几何

三维重建是指通过一系列的图像或传感器数据,推导出物体或场景的三维模型的过程。而极几何(Epipolar Geometry)是三维重建中的一个重要概念和技术。由于从单幅视图恢复场景三维结构比较困难,并且,单视图2D到3D的映射具有多义性,如下图所示,从单视图中很难辨别塔是模型还是实物;

2023-10-19 20:08:49 1803 1

原创 双目视觉实战--单视图测量方法

单视图测量的优点在于其简单、直观,不需要额外的传感器和测量设备。但是,由于只利用一张图像进行估计,存在一定的误差和不确定性,尤其是物体形状和光照变化较大时。因此,在实际应用中,通常需要结合其他测量方法和技术来提高精度和可靠性。

2023-10-18 21:36:08 469 7

yolov5-6.2 分类算法详解

数据集划分脚本

2023-06-01

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

python版本双目标定

2023-05-31

空空如也

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

TA关注的人

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