自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++基础】第六十六课:[动态内存]动态内存与智能指针

现在我们先定义一个管理string的类,此版本命名为StrBlob。实现一个新的集合类型的最简单方法是使用某个标准库容器来管理元素。采用这种方法,我们可以借助标准库类型来管理元素所使用的内存空间。在本例中,我们将使用vector来保存元素。但是,我们不能在一个Blob对象内直接保存vector,因为一个对象的成员在对象销毁时也会被销毁。例如,假定b1和b2是两个Blob对象,共享相同的vector。

2025-08-09 11:00:06 805

原创 【程序是怎样跑起来的】第1章:对程序员来说CPU是什么

博客为参考《程序是怎样跑起来的》一书,自己所做的读书笔记。

2025-08-09 10:53:51 933

原创 【C++基础】第六十五课:[关联容器]无序容器

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-08-09 10:50:24 770

原创 【OpenCV基础】第三十七课:积分图计算

积分图(Integral Image)的定义:取图像左上侧的全部像素计算累加和,并用这个累加和替换图像中的每一个像素,使用这种方式得到的图像称为积分图像。Ixyx′⩽xy′⩽y​∑​ix′y′积分图又称总和面积表(summed area table,简称SAT),是一个快速且有效的对一个网格的矩形子区域中计算和的数据结构和算法。积分图可以只遍历一次图像即可有效的计算出来,其通常被用来加速计算过程。

2025-08-08 21:16:33 996

原创 【C++基础】第六十四课:[关联容器]关联容器操作

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-08-08 21:14:26 838

原创 【Python基础】第四十二课:特征筛选

我们对如下数据进行处理,customer_behavior.csv:前四列为属性,第五列为标签。可以看到我们把属性“bachelor”过滤掉了,说明其不是一个重要的特征。通过计算每个属性的方差,将方差小于阈值(默认是0)的属性过滤掉。

2025-08-08 21:13:01 282

原创 【C++基础】第六十三课:[关联容器]关联容器概述

关联容器(有序的和无序的)都支持【C++基础】第五十一课:[顺序容器]容器库概览中介绍的普通容器操作(见表9.2)。关联容器不支持顺序容器的位置相关的操作,例如push_front或push_back。原因是关联容器中元素是根据关键字存储的,这些操作对关联容器没有意义。而且,关联容器也不支持构造函数或插入操作这些接受一个元素值和一个数量值的操作。除了与顺序容器相同的操作之外,关联容器还支持一些顺序容器不支持的操作和类型别名。此外,无序容器还提供一些用来调整哈希性能的操作。关联容器的迭代器都是双向的。

2025-08-06 21:11:41 1004

原创 【机器学习基础】第四十二课:[降维与度量学习]流形学习

【机器学习基础】系列博客为参考周志华老师的《机器学习》一书,自己所做的读书笔记。

2025-08-06 21:10:06 708

原创 【C++基础】第六十二课:[关联容器]使用关联容器

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-08-06 21:03:50 484

原创 【啊哈!算法】第三章:枚举!很暴力

博客为参考《啊哈!算法》一书,自己所做的读书笔记。

2025-08-02 21:01:10 612

原创 【C++基础】第六十一课:[泛型算法]特定容器算法

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-08-02 20:59:42 371

原创 【C++基础】第六十课:[泛型算法]泛型算法结构

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-08-02 20:58:39 530

原创 【OpenCV基础】第三十六课:SIFT特征检测

SIFT全称为。SIFT特征在面对图像缩放或者图像旋转时具有不变性,并且在亮度改变和3D视野下,也具有部分的不变性。此外,这一特征对遮挡、杂乱以及噪声有一定的抵抗能力。

2025-07-28 19:13:24 1068

原创 【C++基础】第五十九课:[泛型算法]再探迭代器

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-07-28 19:09:57 798

原创 【相机标定】张正友标定法

相机标定方法有:传统相机标定法、主动视觉相机标定方法、相机自标定法、零失真相机标定法等。这些标定方法的目的就是求出相机的内参、外参和畸变系数。本文即将要介绍的是张正友相机标定法。张正友相机标定法是张正友教授在1998年提出的基于单平面棋盘格的相机标定方法。该方法介于传统标定法和自标定法之间,但克服了传统标定法需要高精度三维标定物的缺点,而仅需使用一个打印出来的棋盘格就可以。同时相对于自标定法而言,提高了精度,便于操作。因此张氏标定法被广泛应用于计算机视觉方面。在相机标定时,我们通常假设倾斜因子(skew f

2025-07-28 19:06:08 992

原创 【Python基础】第四十一课:聚类算法实战---找出文章主题

网络爬虫相关知识请见:【Python基础】第八课:网络爬虫。我们最终爬取了500条新闻的标题,链接和内容(前6条见下):首先安装结巴分词:。👉加载要用的包:👉读取收集到的新闻数据:👉使用jieba分词:👉建立词频矩阵:500条新闻通过jieba分词一共得到38318个不重复的词语。矩阵X统计了每个词语在每条新闻中出现的频次。接下来通过一个例子说明下的用法:可以查看文本有哪些词汇,按首字母排序(去重之后):返回文本中每个单词(去除重复)的索引:输出每条文本中单词的词频:输出为:👉

2025-07-27 11:42:29 330

原创 【C++基础】第五十八课:[泛型算法]定制操作

我们可以向一个算法传递任何类别的可调用对象(callable object)。对于一个对象或一个表达式,如果可以对其使用调用运算符,则称它为可调用的。即,如果e是一个可调用的表达式,则我们可以编写代码e(args),其中args是一个逗号分隔的一个或多个参数的列表。到目前为止,我们使用过的仅有的两种可调用对象是函数和函数指针。重载了函数调用运算符的类,以及lambda表达式(lambda expression)。一个lambda表达式表示一个可调用的代码单元。我们可以将其理解为一个未命名的内联函数。

2025-07-27 11:41:26 655

原创 【相机标定】相机标定原理

在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。因此,做好相机标定是做好后续工作的前提,提高标定精度是科研工作的重点所在。👉焦点,在几何光学中有时也称为像点,是

2025-07-27 11:39:21 1173

原创 【机器学习基础】第四十一课:[降维与度量学习]核化线性降维

【机器学习基础】系列博客为参考周志华老师的《机器学习》一书,自己所做的读书笔记。

2025-07-26 16:22:54 846

原创 【C++基础】第五十七课:[泛型算法]初识泛型算法

一种保证算法有足够元素空间来容纳输出数据的方法是使用插入迭代器(insert iterator)。插入迭代器是一种向容器中添加元素的迭代器。通常情况,当我们通过一个迭代器向容器元素赋值时,值被赋予迭代器指向的元素。而当我们通过一个插入迭代器赋值时,一个与赋值号右侧值相等的元素被添加到容器中。后续博文会详细介绍插入迭代器的内容。但是,为了展示如何用算法向容器写入数据,我们现在将使用,它是定义在头文件iterator中的一个函数。

2025-07-26 16:20:50 1044

原创 【论文阅读】Swin Transformer:Hierarchical Vision Transformer using Shifted Windows

计算机视觉领域的建模一直被CNN所主导。从在ImageNet图像分类挑战上的优异表现开始,CNN通过更大的规模、更广泛的连接和更复杂的卷积形式变得越来越强大。以CNN为backbone的各种框架不断提升着其性能,促进了视觉领域的进步。另一方面,NLP则是一条不同的道路,当今流行的框架是。其在NLP领域的巨大成功促使人们开始研究其在CV领域的适应性,最近在CV领域内的一些任务上,特别是图像分类和joint vision-language modeling,其展示了有希望的结果。在本文中,我们探索了将。

2025-07-26 16:19:05 1001

原创 【啊哈!算法】第二章:栈、队列、链表

博客为参考《啊哈!算法》一书,自己所做的读书笔记。

2025-07-25 20:49:45 788

原创 【C++基础】第五十六课:[泛型算法]概述

标准库容器定义的操作集合惊人得小。标准库并未给每个容器添加大量功能,而是提供了一组算法,这些算法中的大多数都独立于任何特定的容器。这些算法是通用的(generic,或称泛型的):它们可用于不同类型的容器和不同类型的元素。顺序容器只定义了很少的操作:在多数情况下,我们可以添加和删除元素、访问首尾元素、确定容器是否为空以及获得指向首元素或尾元素之后位置的迭代器。我们可以想象用户可能还希望做其他很多有用的操作:查找特定元素、替换或删除一个特定值、重排元素顺序等。

2025-07-25 20:48:01 862

原创 【C++基础】第五十五课:[顺序容器]容器适配器

每个适配器都定义两个构造函数:默认构造函数创建一个空对象,接受一个容器的构造函数拷贝该容器来初始化适配器。//从deq拷贝元素到stk默认情况下,stack和queue是基于deque实现的,priority_queue是在vector之上实现的。我们可以在创建一个适配器时将一个命名的顺序容器作为第二个类型参数,来重载默认容器类型。deque是一种顺序容器,是双端队列,在头部尾部都可以进行快速插入/删除。

2025-07-25 20:46:35 706

原创 【OpenCV基础】第三十五课:亚像素级别角点检测

实际情况下几乎所有的角点都不会是一个真正的准确像素点,比如1005,实际上可能是100.2345.789。亚像素级别的角点检测基于的一个重要条件是:从亚像素点q到位于q邻域内任意像素点p的向量都与pDIpi​T​⋅q−pi​01其中,DIpi​​是像素点pi​DIpi​​dxdy​DIpi​T​dx​dy​DIpi​​⋅DIpi​T​dxdxdxdy。

2025-07-20 20:45:21 861

原创 【论文阅读】ViTPose:Simple Vision Transformer Baselines for Human Pose Estimation

人体姿态估计是计算机视觉领域一个重要的任务类型,并且其在真实世界中有着广泛的应用场景。人体姿态估计任务的目标是定位人体解剖关节点,但由于各种形式的遮挡、截断、缩放以及不同的人物外观,而导致这项任务充满挑战。为了解决这些问题,基于深度学习的方法已经取得了迅速的进展,这些方法通常使用的都是CNN框架。近期,在多个视觉任务中都展现出了很强的潜力。受其成功的启发,各种不同的框架被部署用于姿态估计任务。这些方法大多采用CNN作为backbone,然后使用。

2025-07-20 20:42:42 1346

原创 【C++基础】第五十四课:[顺序容器]额外的string操作

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-07-20 20:40:26 803

原创 【论文阅读】Distribution-Aware Coordinate Representation for Human Pose Estimation

人体姿态估计(Human Pose Estimation)是计算机视觉领域的一个基础问题,用于检测人体关节点的空间位置(比如坐标)。人体姿态估计是一个非常重要且有一定难度的任务,因为会有不同风格的衣服、各种形式的遮挡以及不受限制的背景,并且我们还需要确定很细粒度的关节点坐标。CNN作为很强的图像处理模型,在这一领域表现优异。目前现有的工作通常聚焦于设计针对人体姿态预测的CNN框架。

2025-07-19 19:00:06 764

原创 【Python基础】第四十课:聚类结果评估

我们可以通过WCSS值来选择一个合适的聚类簇数。WCSS的计算如下:WCSS的特点:聚类的簇数越多,WCSS越低。返回的就是WCSS值。从上图可以看出,当聚类的簇数为5时,WCSS突然下降变缓,我们便可以选择5作为理想的聚类簇数。KMeans。

2025-07-19 18:57:38 1001

原创 【C++基础】第五十三课:[顺序容器]vector对象是如何增长的

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-07-19 18:56:29 556

原创 【机器学习基础】第四十课:[降维与度量学习]主成分分析

主成分分析(Principal Component Analysis,简称PCA)是最常用的一种降维方法。在介绍PCA之前,不妨先考虑这样一个问题:对于正交属性空间中的样本点,如何用一个超平面(直线的高维推广)对所有样本进行恰当的表达?容易想到,若存在这样的超平面,那么它大概应具有这样的性质:有趣的是,基于最近重构性和最大可分性,能分别得到主成分分析的两种等价推导,我们先从最近重构性来推导。假定数据样本进行了中心化,即∑ixi=0\sum_i \mathbf{x}_i=0∑i​xi​=0;再假定投影变换后得

2025-07-15 22:02:44 378

原创 【C++基础】第五十二课:[顺序容器]顺序容器操作

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-07-15 21:53:08 849

原创 【啊哈!算法】第一章:一大波数正在靠近-排序

博客为参考《啊哈!算法》一书,自己所做的读书笔记。

2025-07-15 21:49:22 563

原创 【论文阅读】AN IMAGE IS WORTH 16X16 WORDS:TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

基于自注意力机制的框架,尤其是,已经成为了NLP任务的首选模型。主流的方式是在大型文本语料库上进行预训练,然后在较小的特定任务数据集上进行fine-tune。由于的计算效率和可扩展性,使得训练超过100B参数数量的巨大模型成为可能。并且随着模型和数据集的增长,性能仍然没有饱和的迹象。然而在CV领域,卷积结构仍占主导地位。受到NLP成功案例的启发,一些paper尝试将CNN结构和自注意力机制相结合,甚至完全取代卷积结构。但是目前来看,在大规模的图像识别任务中,经典的结构仍然是SOTA的。受到。

2025-07-12 20:19:26 436

原创 【C++基础】第五十一课:[顺序容器]容器库概览

每个容器类型都定义了一个默认构造函数。除array之外,其他容器的默认构造函数都会创建一个指定类型的空容器,且都可以接受指定容器大小和元素初始值的参数。

2025-07-12 20:16:58 739

原创 【C++基础】第五十课:[顺序容器]顺序容器概述

下表列出了标准库中的顺序容器,所有顺序容器都提供了快速顺序访问元素的能力。向容器添加或从容器中删除元素的代价。非顺序访问容器中元素的代价。除了固定大小的array外,其他容器都提供高效、灵活的内存管理。我们可以添加和删除元素,扩张和收缩容器的大小。容器保存元素的策略对容器操作的效率有着固有的,有时是重大的影响。在某些情况下,存储策略还会影响特定容器是否支持特定操作。例如,string和vector将元素保存在连续的内存空间中。由于元素是连续存储的,由元素的下标来计算其地址是非常快速的。

2025-07-12 20:14:46 654

原创 【OpenCV基础】第三十四课:自定义角点检测器

我们利用或中的λ1​和λ2​可以定义自己的响应函数,从而构建自定义角点检测器。

2025-07-06 16:28:47 1122

原创 【C++基础】第四十九课:[IO库]string流

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-07-06 16:27:41 396

原创 【Python基础】第三十九课:使用Python实现DBSCAN聚类

与。

2025-07-06 16:26:19 771

原创 【C++基础】第四十八课:[IO库]文件输入输出

【C++基础】系列博客为参考)一书,自己所做的读书笔记。

2025-07-05 16:10:44 1093

空空如也

空空如也

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

TA关注的人

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