首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

LBP原理介绍以及算法实现

(2)LBP旋转不变模式 从 LBP 的定义可以看出,LBP 算子是灰度不变的,但却不是旋转不变的。图像的旋转就会得到不同的 LBP值。...Maenpaa等人又将 LBP 算子进行了扩展,提出了具有旋转不变性的 LBP 算子,即不断旋转圆形邻域得到一系列初始定义的 LBP 值,取其最小值作为该邻域的 LBP 值,图示如下: ?...Ojala等认为,在实际图像中,绝大多数LBP模式最多只包含两次从1到0或从0到1的跳。...因此,Ojala将“等价模式”定义为:当某个LBP所对应的循环二进制数从0到1或从1到0最多有两次时,该LBP所对应的二进制就称为一个等价模式类。...如00000000(0次跳),00000111(只含一次从0到1的跳),10001111(先由1跳到0,再由0跳到1,共两次)都是等价模式类。

3.1K20

C++ OpenCV特征提取之扩展LBP特征提取

Ojala等认为,在实际图像中,绝大多数LBP模式最多只包含两次从1到0或从0到1的跳。...因此,Ojala将“等价模式”定义为:当某个LBP所对应的循环二进制数从0到1或从1到0最多有两次时,该LBP所对应的二进制就称为一个等价模式类。...如00000000(0次跳),00000111(只含一次从0到1的跳),10001111(先由1跳到0,再由0跳到1,共两次)都是等价模式类。...这使得特征向量的维数更少,并且可以减少高频噪声带来的影响旋转不变模式LBP 旋转不变模式LBP能够在图片发生一定的倾斜时也能得到相同的结果。它的定义可以看下(注:此图来自于网络): ?...从 LBP 的定义可以看出,LBP 算子是灰度不变的,但却不是旋转不变的。图像的旋转就会得到不同的 LBP值。

2.3K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    OpenCV 人脸识别LBPH算法分析

    Figure2:圆形LBP算子 1.2 旋转不变模式 从LBP的定义可以看出,LBP算子是灰度不变的,但却不是旋转不变的,图像的旋转就会得到不同的LBP值。...Maenpaa等人又将LBP算子进行了扩展,提出了具有旋转不变性的LBP算子,即不断旋转圆形邻域得到一系列初始定义的LBP值,取其最小值作为该邻域的LBP值。...Ojala等认为,在实际图像中,绝大多数LBP模式最多只包含两次从1到0或从0到1的跳。...因此,Ojala将“等价模式”定义为:当某个局部二进制模式所对应的循环二进制数从0到1或从1到0最多有两次时,该局部二进制模式所对应的二进制就成为一个等价模式类。...如00000000(0次跳),00000111(含一次从0到1的跳和一次1到0的跳),10001111(先由1跳到0,再由0跳到1,共两次)都是等价模式类。

    1.4K10

    LBP特征

    通过LBP特征的定义可以看出,LBP特征对光照变化是鲁棒的 (2)旋转不变LBP特征 从上面可以看出,上面的LBP特征具有灰度不变性,但还不具备旋转不变性,因此研究人员又在上面的基础上进行了扩展,提出了具有旋转不变性的...Ojala等认为,在实际图像中,绝大多数LBP模式最多只包含两次从1到0或从0到1的跳。...因此,Ojala将“等价模式”定义为:当某个LBP所对应的循环二进制数从0到1或从0到1最多有两次时,该LBP所对应的二进制就称为一个等价模式类。...如00000000(0次跳),00000111(只包含一次从0到1的跳),10001111(先由1跳到0,再由0跳到1,共两次)都是等价模式类。...这使得特征向量的维数更少,并且可以减少高频噪声带来的影响

    1.9K10

    一种事件相机描述子——DART

    传统图像中常使用描述子(例如BRIEF)等某个特征点(FAST或Harris角点)等进行描述,进而通过特征匹配的方式进行跟踪,或利用机器学习的方式完成物体分类等任务。...refractory可翻译为倔强,这个滤波可以认为是同一个像素它不会快速产生两次事件。 四、应用 既然有了描述子,我们就可以像传统图像领域使用那样,使用事件相机的描述子。...或者进行物体跟踪,跟踪时涉及到了特征匹配,文章发现DART描述子度旋转、尺度变换、视角变换有一定的鲁棒性: ? 文章中还给出了一种长距离物体跟踪的算法,感兴趣的可以进一步了解。...本推送的作者认为,这种描述子在设计上,并没有考虑旋转、尺度、视角的不变性,而且在匹配时并没有提出新的特征匹配方法所以可以认为还是使用了传统的匹配,并不是严格的这些变换不敏感。...但本文作者指出,由于这种对数半径和极坐标网格的方式(有一定的区域面积),使这个描述子尺度、旋转有一定不敏感。

    38310

    一种事件相机描述子——DART

    传统图像中常使用描述子(例如BRIEF)等某个特征点(FAST或Harris角点)等进行描述,进而通过特征匹配的方式进行跟踪,或利用机器学习的方式完成物体分类等任务。...refractory可翻译为倔强,这个滤波可以认为是同一个像素它不会快速产生两次事件。 四、应用 既然有了描述子,我们就可以像传统图像领域使用那样,使用事件相机的描述子。...或者进行物体跟踪,跟踪时涉及到了特征匹配,文章发现DART描述子度旋转、尺度变换、视角变换有一定的鲁棒性: ? 文章中还给出了一种长距离物体跟踪的算法,感兴趣的可以进一步了解。...本推送的作者认为,这种描述子在设计上,并没有考虑旋转、尺度、视角的不变性,而且在匹配时并没有提出新的特征匹配方法所以可以认为还是使用了传统的匹配,并不是严格的这些变换不敏感。...但本文作者指出,由于这种对数半径和极坐标网格的方式(有一定的区域面积),使这个描述子尺度、旋转有一定不敏感。

    66410

    机器学习实战——LBP特征提取

    假设中心像素点的独立性可能有时会造成信息的丢失,但是,其后续的结果影响很小。...由于最终想要得到的是其二值特征,即知道差值的结果符号即可以,这样结果就不受到到光照的影响,则可以表示成公式4, ?...那么256种模式都做这种旋转,得到最小的数作为这种模式的旋转不变模式,旋转不变模式一共有36种,如下图所示: ? 那么为什么最后又36种呢?我们写一段暴力枚举的代码试一试就好了: 代码: ? ?...四 等价LBP算法: 所谓等价模式是通过记录跳方式来进一步降低LBP特征维数,“等价模式”定义为:当某个LBP所对应的循环二进制数从0到1或从1到0最多有两次时,该类型保留;跳次数超过2次时,直接不要...其中P(P-1)为跳2次的情况,而2位跳变为0次的情况,并没有一种情况是发生了一次跳

    3.4K90

    魔幻!奥运女子体操团体赛多队失误,从惯性矩角度分析一下?

    连我们解说员、前女子体操选手可欣都表示被这次各队的表现吓到了。 ? 其实从上面的动图可以看出,体操动作非常复杂,选手一个项目完成的单个动作由不同的动作连接过渡而成。...体操选手们的动作都会包含各种旋转的动作。 要了解旋转的物理原理,就需要考虑转动惯量。...旋转速度低于没有伸出手臂时的旋转速度。 这时质量不变,的只是分布方式。 第三步:将手臂收起来,用脚推动旋转后缩离地面,这样是以零扭矩旋转。 第四步:开始旋转时伸出手臂,转的时候收起手臂。...翻上跳板时的动作非常笔直,跳上跳马后她将身体弯曲成一个长枪状,保持屈腿姿势在空中完成了两次后空翻。 什么?翻得太快看不清?来个正面慢镜头看看。 ?...因为体操选手在空中旋转时需要有足够高的角速度,落地前才能完成翻转,否则落地时就会站不起来。 如果要完成两次空翻,采用屈体姿势惯性最低,能够提供最大的旋转速度。 而团身姿势转动惯量最大,角速度最低。

    34020

    Android 横竖屏处理的知识小结

    Android 手机一般都支持横竖屏旋转,系统也会提供一个设置,控制允不允许旋转。这里如何在 App 中控制界面的旋转方向做一个小结。...界面旋转方向的决定因素 决定一个界面显示为横屏/竖屏的因素有几个: 系统的设置项,一般可以设置为只允许竖屏或可旋转切换。 设备的物理传感器感应到的设备方向。 不同 App 里的代码横竖屏的设置。...所以即使系统的设置项中设置了固定为竖屏,App 里的代码也可以将界面设置为横屏,当然影响的范围仅限于 App 内部界面。...除非你横竖屏切换有自己的一套逻辑,才需要在不同的逻辑下进行不同的设置。 横竖屏切换时引起的 Activity 重新创建 默认情况下,横竖屏切换会引起当前 Activity 销毁然后重新创建。...有一个点需要注意,关于 Activity 的生命周期被重新调用,有的资料说: 当不设置 Activity 的 android:configChanges 属性时,切到横屏时会重新执行一次生命周期,而切到竖屏时会执行两次

    4.4K40

    对称、群论与魔术(四)——空白扑克卡片的对称性研究

    该操作自身的性质便和Reverse一样,具有两次恢复自身的性质。如是,看起来加上自身,一共有8个对称操作和对应结果。...反过来,群是可以任意构造的,每个规定好生成元,运算法则满足群定义的群都成立,但是却不一定都找得到直接的实例,也却有可能有很多例子与其同构。...除了做triumph魔术时候的疯子洗牌法,我们整理扑克牌的时候都是朝一面整理的,本质上是在消除这一面不对称带来区别的影响,能够整体完成不让人看或看牌正面信息的局部观察结果(背面都一样,没有信息)。...另外,因为扑克牌是只有C2称性的长方形,所以它不能像狼人杀牌那样随意旋转还能够互相码齐在一起,因为只有C4才有90度任意旋转的对称性,那个要求正方形。...你看,对称性也是就某种特性来说的,不然,你进行了操作,总有某些东西是的,不可能全都不变,这便是与不变的相对性。

    1.1K20

    glPushMatrix和glPopMatrix的作用

    现在你调用glPushMatrix,然后再调用一堆平移、旋转代码等等,然后再画图。那些平移和旋转都是基于坐上角为原点进行变化的。...下面对上述结论做进一步的解释: 1)OpenGL中的modelview矩阵变换是一个马尔科夫过程:上一次的变换结果对本次变换有影响,上次modelview变换后物体在世界坐标系下的位置是本次modelview...); glutWireCube( 0.1 );//绿色的下框,代表光源位置 glEnable( GL_LIGHTING ); glPopMatrix(); //消除绘制绿色WireCube时当前变换矩阵的影响...glClear(GL_COLOR_BUFFER_BIT); glColor3f(0.0, 1.0, 1.0); glPushMatrix(); // 将此句注释掉后可以发现上一次的变换结果当前变换有影响...清除上一次modelview矩阵的修改。

    48030

    五形相生

    面心显然是不太合适的,有两次变换的内切球居然相等,要按它缩放,那两次就根本不会变了。最后结论:缩放到棱心距离相等。 旋转 设想中,动画的旋转有两种。...内含四面体的旋转只要把顶点 4 转到朝上即可,旋转角度的余弦值为: ? 旋转轴向量为: ? 旋转效果如下: ? 旋转并放大到棱心距相等后的四面体坐标就是: ? 可以验证棱心距没有: ?...每个阶段呢又分为三个小阶段:原多面体一边放大一边透明,同时内含多面体开始连接棱并放大,到原多面体完全透明消失内含多面体连接完成为一小阶段;内含多面体旋转到正位,与此同时面从透明到半透明为第二小阶段;静置一段时间面从半透明变为不透明是第三小阶段...第二个小阶段:旋转调整姿势 首先要定义五个阶段中需要旋转的角度: ? 然后是旋转轴向量: ? 这样就可以定义旋转的动画了: ? 绘图如下: ?...三个小阶段的整合 三个小阶段的整合可以指定不同小阶段的时长,在这里用比例足矣,整体的时间参数还是在 [0, 1] 区间内。这就需要定义一个反向映射时间参数的函数: ?

    1K40

    最新开源!基于LiDAR的位置识别网络OverlapTransformer,RALIROS 2022

    借助激光点云球面投影生成的range image相对于原始点云的yaw角旋转等变性,结合OverlapNetLeg输入进行高度方向的压缩,生成yaw角旋转的特征图。...为将yaw角旋转等变性转换为yaw角旋转不变性,利用了具备对称性的NetVLAD结构,最终输出不受输入点云绕Z轴旋转影响的全局地点识别描述子。...OverlapTransformer的整体结构设计,确保了生成的全局地点识别描述子具备yaw角旋转不变性,这使得本方法多角度地点识别具有较强的鲁棒性。...range image本身具备yaw角旋转等变性,即一帧激光点云相对于z轴的旋转等价于本帧range image的平移。图2展示了yaw角旋转的简单示例。...NetVLAD的输出是不受原始输入点云旋转影响的,即它的输出具备yaw角旋转不变性。

    58820

    项目实践|如何在较暗环境进行人脸检测?

    如何解决光照问题人脸检测带来的影响呢? ?...LBP表示方法有一个较为明显的特点,它不容易收到图像整体灰度线性变化的影响。也就是说,当图像由于光线的影响使得整体灰度值发生线性均匀变化时,其LBP特征编码是不变的。...那么在这种情况下,在图片亮度LBP特征编码无影响。 1.2 主要步骤 使用一个3*3的矩形,处理待判断像素点及其邻域之间的关系。...此后,Maenpaa等人又将 LBP 算子进行了扩展,提出了具有旋转不变性的 LBP 算子,即不断旋转圆形邻域得到一系列初始定义的 LBP 值,取其最小值作为该邻域的 LBP 值。...跳: 二进制序列中存在从1到0或者0到1的转变,可以称作是一次跳。下面我们将举例说明跳次数的计算: ? 2.

    1.1K40

    特征提取方法(二):LBP原理与OpenCV实现

    灰度不变性基本LBP算法 基本的LBP算法一般被定义为一个 的纹理单元,如图1,其中间的像素点灰度值为 ,其他相邻的8个像素点灰度值分别为 ,以该纹理单位的中心像素点的灰度值为阈值,若其余相邻的8个像素点的灰度值大于中心像素点灰度值的阈值...为了LBP算子进行表示,用函数E表示为中心像素和相邻像素点的联合分布函数: ? 一个中心像素点周围的其它像素点 ? 的坐标 ? 可以表示成: ?...那么256种模式都做这种旋转,得到最小的数作为这种模式的旋转不变模式,旋转不变模式一共有36种,如下图所示: ? 那么为什么最后又36种呢?...等价LBP算法 所谓等价模式是通过记录跳方式来进一步降低LBP特征维数,“等价模式”定义为:当某个LBP所对应的循环二进制数从0到1或从1到0最多有两次时,该类型保留;跳次数超过2次时,直接不要...其中P(P-1)为跳2次的情况,而2位跳变为0次的情况,并没有一种情况是发生了一次跳

    3.9K80

    【Flutter 绘制技巧】Path 路径变换

    本文来探讨一下路径的变换,我们知道 Canvas 本身也支持变换,那 Path 的变换有什么必要性吗?和 Canvas 变换又有什么区别呢?如何在一次变换中叠加多种变换效果,如何修改变换中心?...如果 canvas 进行变换,那么接下来的所有绘制都会在该变换的基础上;如果是 Path 进行处理,不会影响 canvas 。...比如需要旋转 10° ,如下通过 Matrix4 进行变换,rotationZ 表示沿 Z 轴旋转,也就是说在 XOY 水平面上旋转。可以看出,默认情况下,是以屏幕左上角为变换中心的。...实现思路也非常简单,定义两个偏移的矩阵,在旋转和缩放前,先叠加 center ,让变换中心变为 20,20 。在最后为了不影响结果,在通过 back 矩阵,平移会取即可。...也就是说这个方法会返回一个新的 Matrix4 对象,不会影响调用者的内部数据。 而 multiply 方法,如下所示:是根据矩阵的乘法,来修改自身的数据。

    1.3K10

    LBP原理与OpenCV实现

    ---- 灰度不变性基本LBP算法 基本的LBP算法一般被定义为一个 的纹理单元,如图1,其中间的像素点灰度值为 ,其他相邻的8个像素点灰度值分别为 ,以该纹理单位的中心像素点的灰度值为阈值,若其余相邻的...为了LBP算子进行表示,用函数E表示为中心像素和相邻像素点的联合分布函数: ? 一个中心像素点周围的其它像素点 ? 的坐标 ? 可以表示成: ?...那么256种模式都做这种旋转,得到最小的数作为这种模式的旋转不变模式,旋转不变模式一共有36种,如下图所示: ? 那么为什么最后又36种呢?...---- 等价LBP算法 所谓等价模式是通过记录跳方式来进一步降低LBP特征维数,“等价模式”定义为:当某个LBP所对应的循环二进制数从0到1或从1到0最多有两次时,该类型保留;跳次数超过2次时...其中P(P-1)为跳2次的情况,而2位跳变为0次的情况,并没有一种情况是发生了一次跳

    85130

    答辩LBPH

    CaesarChang Email: root121toor@gmail.com 老师我先不演示项目,先大题讲下我的项目用到的算法吧 我的项目是基于LBPH算法的人脸识别, LBPH也就是局部二值编码直方图,获取到图片,一幅图提取其原始的...再将一幅图片划分为若干的 子区域 ,每个子区域内的 每个像素点 都提取LBP特征 ,然后,在每个子区域内建立LBP特征的统计直方图。如此一来,每个子区域,就可以用一个统计直方图来进行描述....它具有旋转不变性和灰度不变性 其优点是不会受到光照、缩放、旋转和平移的影响. 那接下来我再运行下项目,在根据项目进行每一步的讲解....等价模式类 当某个LBP所对应的循环二进制数从0到1或从1到0最多有两次,该LBP所对应的二进制就称为一个等价模式类 pridict: for循环分别比较query和人脸库直方图数组_histograms

    71030

    【CPP】各种各样的树(5)——AVL树

    之前说到在不断地随机插入删除后,二叉树会逐渐变得偏向一边,也就是逐渐右沉,这样的状态会严重地影响二叉树的查找效率。...这里我们要引入的一个新概念就是树的旋转,在这里按照次数分为单旋转和双旋转,按方向分为左旋转和右旋转,如下图,想象树的树枝是活动的,旋转可以很轻松地让树的结点变得平衡。 ?...仔细地理解上面的动图,就会发现树的单旋转其实就是一个交换指针的过程,树的双旋转其实就是两个结点各自进行了两次方向相反的单旋转。二旋转的方向其实是个对称的过程。然后是声明。 ? ?...最主要的是Fix函数和两种旋转(方向是对称的)。 ? ? ? 旋转本身的编写可能有些混乱,一定要配合图片想象着编写,不要去死记硬背。...一些新的平衡树不再追求这样的条件,它们允许子树有任意的深度,只保证整体的最坏查找时间可控,下次我们来介绍这种平衡树,它是AVL树的一种变种——伸展树(SplayTree)。

    34430

    如何实现一个 3D 效果的魔方

    我们现在的目标是做一个 3D 效果的魔方,我们找到它的本质,它解构?那就先写一个立方块!...在科幻小说三体中,云天明讲了三个故事,其中讲到有一个深水王子,无论你在远处看还是近处看,他都一般高,不会受距离增减的影响,不符合我们现实中「近大远小」的透视规律。...(x, y, z, a); } rotate3d 定义了元素在 3D 空间的旋转旋转相比平移来说,它要多一个指标:「旋转轴,它根据从原点出发的向量 [x, y, z] 来确定旋转轴。」...❝你可以通过围绕各个坐标轴旋转 180 度,来确定原点坐标 ❞ .cube { transform-origin: 100px 100px 100px; } 可以通过一个立方体的旋转 rotate3d...1 面对用户,但是翻转了过来 通过 MDN 文档也可以对各个转换有更直观的了解 rotateX | MDN[2] rotateY | MDN[3] rotateZ | MDN[4] transform-origin

    1.1K20
    领券