当前位置:首页 > 嵌入式 > 嵌入式分享
在深度学习兴起之前(2012年AlexNet出现之前),计算机视觉领域的特征提取技术以传统手工设计特征为主,其核心逻辑是“研究者基于专业经验,设计特定的特征描述子,从原始图像中提取浅层视觉特征”,本质是“人工定义特征规则,机器执行特征提取”。这类技术的核心优势是计算量小、部署门槛低,无需海量标注数据和强大的算力支撑,但其局限性也十分明显——特征的表达能力有限,无法捕捉目标的深层语义信息,泛化能力和抗干扰能力较弱,难以适配复杂场景的应用需求。
传统特征提取技术主要分为三大类:边缘特征提取、纹理特征提取、角点与轮廓特征提取,每类技术都有其专属的核心原理和经典算法,以下详细拆解各类技术的原理及应用场景。
边缘是图像中最基础、最直观的特征,是图像中灰度值、色彩值发生剧烈变化的区域,也是区分不同目标、不同区域的重要标志——例如,人脸的五官轮廓、车辆的车身边缘、物体与背景的分界线等,都属于边缘特征。边缘特征提取的核心原理是:通过设计特定的卷积算子(滤波核),对原始图像进行卷积运算,检测图像中灰度值的突变区域,从而提取出边缘轮廓,剔除灰度值平稳的冗余区域。
传统边缘特征提取的经典算法主要有四种,其原理各有侧重,适配不同的场景需求:
1. Sobel算子:核心原理是利用梯度计算检测边缘,通过设计水平和垂直两个方向的3×3卷积算子,分别对原始图像进行卷积运算,计算图像在水平方向(x轴)和垂直方向(y轴)的灰度梯度值,梯度值越大,说明该区域的灰度变化越剧烈,大概率为边缘区域;最后通过梯度幅值和梯度方向,确定边缘的位置和走向。Sobel算子的优势是抗噪声能力较强,能够有效抑制图像噪声对边缘提取的干扰,计算量小,速度快,广泛应用于实时性要求较高的场景,如监控图像的边缘检测、工业零件的轮廓初步检测等;局限性是提取的边缘不够细腻,存在一定的模糊性,难以检测到细小花边、细微缺陷等精细边缘。
2. Canny算子:目前应用最广泛的边缘提取算法,其原理比Sobel算子更复杂,分为四个步骤:第一步,对原始图像进行高斯滤波,利用高斯函数平滑图像,剔除噪声干扰,为后续边缘检测奠定基础;第二步,计算图像的梯度幅值和梯度方向,采用Sobel算子的梯度计算方法,确定边缘的大致位置和走向;第三步,非极大值抑制,遍历梯度图像,剔除边缘上的冗余像素,只保留梯度幅值最大的像素点,使边缘变得细腻、清晰,解决Sobel算子边缘模糊的问题;第四步,双阈值检测与边缘连接,设置高阈值和低阈值,梯度幅值大于高阈值的区域确定为强边缘,小于低阈值的区域剔除,介于两者之间的区域若与强边缘相连,则确定为弱边缘并连接,最终形成完整的边缘轮廓。Canny算子的优势是提取的边缘细腻、准确,抗噪声能力强,能够检测到精细边缘,广泛应用于医疗影像边缘检测(如病灶边缘检测)、精细零件质检、人脸五官轮廓提取等场景;局限性是计算量比Sobel算子大,实时性略差。
3. Laplacian算子:核心原理是利用二阶导数检测边缘,通过设计二阶差分卷积算子,对原始图像进行卷积运算,检测图像中灰度值的二阶突变(即灰度值的拐点),从而确定边缘位置。Laplacian算子的优势是对边缘的定位精度高,能够检测到细微的边缘变化,无需计算梯度方向,原理简单;局限性是抗噪声能力极弱,图像中的噪声会被放大,导致提取的边缘出现大量冗余,甚至出现虚假边缘,因此通常需要先对图像进行高斯滤波,再使用Laplacian算子进行边缘检测,主要应用于对边缘定位精度要求极高、噪声干扰较小的场景,如医学影像的细微病灶边缘检测、卫星图像的细节边缘提取等。
4. Prewitt算子:与Sobel算子原理类似,同样采用梯度计算检测边缘,设计水平和垂直两个方向的3×3卷积算子,通过卷积运算计算图像的梯度幅值和梯度方向,确定边缘位置。Prewitt算子的优势是计算量小,速度快,对灰度渐变的边缘检测效果较好;局限性是抗噪声能力比Sobel算子弱,提取的边缘不够细腻,主要应用于噪声干扰较小、对实时性要求较高、对边缘细腻度要求不高的场景,如普通图像的轮廓提取、简单场景的目标分割等。
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
关闭