当前位置: 首页 > news >正文

您必须尝试的 4 种经典特征提取技术!

一、说明

        特征提取如何实现?其手段并不是很多,有四个基本方法,作为AI工程师不能不知。因此,本篇将对四种特征提取给出系统的方法。

二、概述

        图像分类长期以来一直是计算机视觉领域的热门话题,并希望能够保持这种状态。为什么不应该呢?随着一次又一次的装备,它配备了机器来回答一个非常基本的问题!“我看到了什么?”尽管听起来引人入胜,但这个问题的答案不仅满足了人们对模仿我们自己的感知和决策能力的事物的渴望,而且开辟了无数的创造性可能性领域。生成式人工智能的最新进展通过利用这些辨别能力来创造创新和创造力的手段,从而改变了范式,以剪切优雅实现了显然不可逾越的壮举。然而,这个领域的每一个进步都围绕着视觉理解的概念,即有效辨别的能力。

        特征提取在确定识别模型的性能方面起着重要作用。基于CNN的特征提取提供了一个自动化框架,但它缺乏可解释性,并且计算成本很高。相反,传统的特征提取技术是劳动密集型的,可能需要领域知识才能在特定情况下成为CNN的更好替代品。在本文中,我们将探讨用于图像分类的 4 种经典特征提取技术。

  1. 定向梯度的直方图
  2. 本地二进制模式
  3. 加博尔过滤器
  4. 灰度共现矩阵

        为了简化理解,下面给出了该技术的逐步说明以及描述性解释。

三、定向梯度直方图 (HOG)

        HOG表示图像中局部梯度的分布。它计算小图像块中的梯度大小和方向,并形成这些方向的直方图,可用作分类的特征。

 

  • 将图像分成小单元格。
  • 计算每个像元中每个像素的梯度(幅度和方向)。
  • 在每个单元格内创建渐变方向的直方图。
  • 归一化直方图以考虑照明和对比度的局部变化。
  • 连接归一化直方图以形成表示图像的最终特征向量。

四、本地二进制模式 (LBP)

        LBP 捕获图像中的局部纹理信息。它根据每个像素的强度值与相邻像素的比较为每个像素定义二进制模式。这些模式的直方图可用作分类特征。

 

  • 将图像划分为小区域(例如,3x3 邻域中的像素)。
  • 阈值中心像素值并将其与其相邻像素进行比较。
  • 如果邻居的值大于或等于,则为其分配二进制值 1;否则,分配 0。
  • 将二进制模式转换为十进制数。
  • 在整个图像中构建十进制值的直方图以创建 LBP 特征表示。

五、加博尔过滤器

Gabor滤波器是一组调谐到不同频率和方向的线性滤波器。它们捕获图像中的局部频率和方向信息。Gabor 滤波器响应可用作纹理分类的特征。

 

  • 定义一组Gabor滤波器,这些滤波器是由高斯包络调制的复杂正弦波模式。
  • 将每个Gabor滤波器与输入图像进行卷积。
  • Gabor滤波器响应突出显示图像中的不同频率和方向信息。
  • 从过滤后的响应中提取特征,通常使用均值、方差或直方图等技术。
  • 生成的特征表示捕获以不同频率和方向存在的纹理和结构信息。

六、灰度共现矩阵 (GLCM)

灰度共现矩阵(GLCM)是另一种用于图像分类的经典特征提取技术。GLCM 根据像素的强度值捕获像素之间的空间关系。

图片 : 5 — 作者

  • 将图像转换为灰度(如果尚未转换为灰度)。
  • 定义距离和角度(或角度集)以指定像素对的相对位置。
  • 通过计算指定距离和角度处像素强度对的出现次数来创建共现矩阵。
  • 对矩阵进行归一化以获得像素强度共现的概率。
  • 从归一化GLCM中提取统计特征(例如,对比度,能量,熵)来表示图像。

七、关键要点

  1. HOG(定向梯度直方图)
  • 有效检测图像中的对象边缘和形状。
  • 对照明和对比度的变化具有鲁棒性。
  • 广泛用于行人检测和物体识别任务。
  • 提供简单有效的图像渐变表示形式。

2. LBP(局部二进制模式)

  • 有效地描述图像中的局部纹理图案。
  • 对照明和对比度的变化不敏感。
  • 可用于纹理背景中的面部识别、纹理分类和对象检测。
  • 易于计算,需要最少的计算资源。

3. GLCM(灰度共现矩阵):

  • 捕获有关图像中纹理和结构的二阶统计信息。
  • 对像素强度之间的空间关系敏感。
  • 常用于纹理分析、遥感和医学成像。
  • 提供对比度、能量和熵等功能,有助于区分不同的纹理。

4. 加博尔过滤器

  • 非常适合捕获图像中的纹理和频率信息。
  • 强调图像的特定频率和方向分量。
  • 适用于纹理分割、指纹识别和人脸识别等任务。
  • 可以组合成一个对各种频率和方向特征进行编码的特征集。

八、结论

        在本文中,我们讨论了四种经典的特征提取技术,它们可以用作计算昂贵的卷积技术的有效替代方案。此外,还简要介绍了这些技术的用例、优缺点。上述技术可以单独使用或组合使用,以产生出色的效果。因此,您应该尝试一下这些技术,并使它们成为您武器库的一部分。

        关注 Medium,了解更多与计算机视觉相关的内容。

        直到下一次,保持幸福!

九、引用

  1. N. Dalal 和 B. Triggs,“用于人类检测的定向梯度直方图”,2005 年 IEEE 计算机学会计算机视觉和模式识别会议 (CVPR'05),美国加利福尼亚州圣地亚哥,2005 年,第 886-893 卷第 1 卷,doi:10.1109/CVPR.2005.177。
  2. A. Hadid,“局部二元模式方法及其在面部分析中的应用”,2008 年第一届图像处理理论、工具和应用研讨会,突尼斯苏塞,2008 年,第 1-9 页,doi:10.1109/IPTA.2008.4743795。
  3. Haralick,Robert & Shanmugan,K&Dinstein,Itshak。(1973). 图像分类的纹理.IEEE 跨系统人网络。3.
  4. KAFUO, ASMAA & DIAF, SAMERA & GONIFEDA, AISHA & ALSHATOURI, ZAMZAM & Baba, Abdullatif.(2017). Gabor滤波及其应用研究综述.10.13140/RG.2.2.11079.50085.

纳比尔汗

 

相关文章:

您必须尝试的 4 种经典特征提取技术!

一、说明 特征提取如何实现?其手段并不是很多,有四个基本方法,作为AI工程师不能不知。因此,本篇将对四种特征提取给出系统的方法。 二、概述 图像分类长期以来一直是计算机视觉领域的热门话题,并希望能够保持这种状态。…...

Unity中Shader的遮罩的实现

文章目录 前言一、遮罩效果的实现主要是使用对应的纹理实现的,在属性中暴露对应的遮罩纹理,对其进行采样后,最后相乘输出即可二、如果需要像和主要纹理一样流动,则需要使用和_Time篇一样的方法实现流动即可 前言 Unity中Shader的…...

架构师成长之路|Redis key过期清除策略

Eviction policies maxmemory 100mb 当我们设置的内存达到指定的内存量时,清除策略的配置方式决定了默认行为。Redis可以为可能导致使用更多内存的命令返回错误,也可以在每次添加新数据时清除一些旧数据以返回到指定的限制。 当达到最大内存限制时,Redis所遵循的确切行为是…...

ubuntu20.04使用privoxy进行http代理转http代理,并定制http代理头(hide-user-agent的使用方法)

#sudo apt-get update;sudo apt install -y privoxy #sudo apt remove privoxyprivoxy --version; rootfv-az1239-825:/tmp# privoxy --version Privoxy version 3.0.28 (https://www.privoxy.org/) rootfv-az1239-825:/tmp# 安装完毕后,先停止服务,修改配置文件,再启动服…...

任意文件读取

文章目录 渗透测试漏洞原理任意文件读取1. 任意文件读取概述1.1 漏洞成因1.2 漏洞危害1.3 漏洞分类1.4 任意文件读取1.4.1 文件读取1.4.2 任意文件读取1.4.3 权限问题 1.5 任意文件下载1.5.1 一般情况1.5.2 PHP实现1.5.3 任意文件下载 2. 任意文件读取攻防2.1 路径过滤2.1.1 过…...

微信小程序餐饮外卖系统设计与实现

摘 要 随着现在的“互联网”的不断发展。现在传统的餐饮业也朝着网络化的方向不断的发展。现在线上线下的方式来实现餐饮的获客渠道增加,可以更好地帮助餐饮企业实现更多、更广的获客需求,实现更好的餐饮销售。截止到2021年末,我国的外卖市场…...

一文速览嵌入式六大出口

嵌入式行业的前景确实十分广阔,并且在许多领域都发挥着重要作用。以下是一些关键点,说明嵌入式系统的发展潜力和前途: 1. 物联网(IoT):嵌入式系统是实现智能家居、智能城市、智能工厂等物联网设备的核心。物…...

华为云云服务器评测 | 宝塔8.0镜像应用

目录 🍒写在前面 🍒产品优势 🍒购买服务器 🍒服务器配置 🍒登录宝塔页面 🦐博客主页:大虾好吃吗的博客 🦐专栏地址:闲谈专栏地址 写在前面 云耀云服务器L实例是新一代开箱…...

构建简单的Node.js HTTP服务器,发布公网远程访问的快速方法

文章目录 前言1.安装Node.js环境2.创建node.js服务3. 访问node.js 服务4.内网穿透4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5.固定公网地址 前言 Node.js 是能够在服务器端运行 JavaScript 的开放源代码、跨平台运行环境。Node.js 由 OpenJS Foundation&#xff0…...

ModaHub魔搭社区:向量数据库产业的现状与技术挑战

I. 向量数据库的崛起 什么是向量数据库 在过去的一段时间里,向量数据库逐渐在数据库领域崭露头角。那么,什么是向量数据库呢?简单来说,向量数据库是一种专门设计用来处理向量数据的数据库。这些向量数据可以是物理测量、机器学习模型输出、地理空间数据等。向量数据库使用…...

pmp和软件高项哪个含金量高?

人们常将PMP和高项放在一起比较,因为这两种证书都适用于项目经理职位,它们有高达60%的知识点重合度。在决定考哪一种证书之前,人们常常会感到困惑。 下面看一下pmp和软考高项的差异。 发证机构不同 PMP(Project Management Professional)是…...

手把手教你用Vite构建第一个Vue3项目

写在前面 在之前的文章中写过“如何创建第一个vue项目”,但那篇文章写的是创建vue2的 项目。 传送门如何创建第一个vue项目 打开Vue.js官网:https://cn.vuejs.org/,我们会发现Vue 2 将于 2023 年 12 月 31 日停止维护 虽然Vue2的项目还不少&#xff0…...

美创科技获通信网络安全服务能力评定(应急响应一级)认证!

近日,中国通信企业协会公布通信网络安全服务能力评定2023年第一批获证企业名单。 美创科技获得应急响应一级资质,成为2023年第一批获证企业之一! 通信网络安全服务能力评定是对通信网络安全服务单位从事通信网络安全服务综合能力的评定&#…...

计算机视觉与人工智能在医美人脸皮肤诊断方面的应用

一、人脸皮肤诊断方法 近年来,随着计算机技术和人工智能的不断发展,中医领域开始逐渐探索利用这些先进技术来辅助面诊和诊断。在皮肤望诊方面,也出现了一些现代研究,尝试通过图像分析技术和人工智能算法来客观化地获取皮肤相关的…...

RCU501 RMP201-8 KONGSBERG 分布式处理单元

RCU501 RMP201-8 KONGSBERG 分布式处理单元 AutoChief600使用直接安装在主机接线盒中的分布式处理单元。进出发动机的所有信号都在双冗余CAN线路(发动机总线)上传输。 所有不重要的传感器都可以与K-Chief 600报警和监控系统共享,只需要一个主机接口。这一原则大大…...

说说 MVCC 的工作原理?

分析&回答 多版本并发控制(MVCC) InnoDB的MVCC,是通过在每行记录后面保存两个隐藏的列来实现。这两个列,一个保存了行的创建时间,一个保存行的删除时间,并不是实际的时间,而是系统版本号。每开始一个新的事务&am…...

微信小程序请求接口返回的二维码(图片),本地工具和真机测试都能显示,上线之后不显示问题

请求后端接口返回的图片&#xff1a; 页面展示&#xff1a; 代码实现&#xff1a; :show-menu-by-longpress"true" 是长按保存图片 base64Code 是转为base64的地址 <image class"code" :src"base64Code" alt"" :show-menu-by-long…...

Python小知识 - 1. Python装饰器(decorator)

Python装饰器&#xff08;decorator&#xff09; Python装饰器是一个很有用的功能&#xff0c;它可以让我们在不修改原有代码的情况下&#xff0c;为已有的函数或类添加额外的功能。 常见的使用场景有&#xff1a; a. 函数缓存&#xff1a;对于一些计算量较大的函数&#xff0c…...

如何访问GitHub

1、手动修改hosts 1.1、查找到最新的GitHub的hosts信息 通过链接&#xff1a;https://raw.hellogithub.com/hosts 进行查找最新的GitHub的hosts信息 1.2、查找到hosts文件位置 先找到 hosts 文件的位置&#xff0c;不同操作系统&#xff0c;hosts 文件的存储位置也不同&…...

【广州华锐互动】智能变电站AR仿真实训系统大大提高培训的效率和质量

随着电力行业的不断发展&#xff0c;变电站的建设和运维变得越来越重要。传统的变电站运维培训方式存在着诸多问题&#xff0c;如难以真实模拟变电站运行环境、信息传递不及时、难以掌握实际操作技能等问题。而智能变电站AR仿真实训系统可以为变电站运维人员带来全新的培训方式…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...

什么是VR全景技术

VR全景技术&#xff0c;全称为虚拟现实全景技术&#xff0c;是通过计算机图像模拟生成三维空间中的虚拟世界&#xff0c;使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验&#xff0c;结合图文、3D、音视频等多媒体元素…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术&#xff0c;它们扮演着完全不同的角色&#xff1a; Redis: 内存数据库/数据结构存储 本质&#xff1a; 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能&#xff1a; 提供丰…...

论文阅读:Matting by Generation

今天介绍一篇关于 matting 抠图的文章&#xff0c;抠图也算是计算机视觉里面非常经典的一个任务了。从早期的经典算法到如今的深度学习算法&#xff0c;已经有很多的工作和这个任务相关。这两年 diffusion 模型很火&#xff0c;大家又开始用 diffusion 模型做各种 CV 任务了&am…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...