关键点是什么?图像中可用来识别和匹配的特征点
关键点(Keypoint)是计算机视觉中一个非常常见的概念,指图像或视频中那些独特、显著的点,可以用来识别、描述或匹配场景中的物体和特征。关键点会根据它的稳定性、独特性和可重复性来选择,通常被用作物体检测、图像匹配、跟踪等任务的基础。
什么样的点适合做关键点
想象一下在两张从不同角度拍摄的同一栋建筑的照片中,找出对应的位置。一面平整的白墙上的某个点很难找:它周围到处都长得一样。但一个窗户的角、一块独特的花纹、一个尖顶,就很容易在两张照片中都被认出来。好的关键点通常具备几个特点:独特,和周围的区域有明显的区别,比如角点、交叉点、斑点;可重复,在不同的拍摄条件下,比如不同的角度、距离、光照,都能被稳定地检测到;准确,位置可以被精确地定位。
两类关键点
一类是通用的图像特征点,由算法根据图像本身的局部结构自动找出。经典的方法有:Harris 角点检测;SIFT(尺度不变特征变换),由 David Lowe 在 1999 年提出、2004 年完善,它检测出的关键点对图像的缩放、旋转和一定程度的光照变化都保持稳定,并为每个关键点计算一个“描述子”,也就是一组描述其周围区域特征的数字,用来在不同图像之间匹配;还有速度更快的 SURF、ORB 等。近年来也有基于深度学习的方法,比如 SuperPoint。
另一类是语义关键点,是具有明确含义的特定位置,比如人体的头、肩、肘、腕、膝、踝等关节点,人脸上的眼角、鼻尖、嘴角,或者物体上的特定部位。这类关键点通常由深度学习模型直接预测。
用在哪里
图像拼接:把多张照片拼成一张全景图,靠的就是在相邻照片中找到匹配的关键点。三维重建和视觉定位:从多张照片中匹配关键点,计算出相机的位置和场景的三维结构,用于建图、增强现实和机器人导航。物体识别和跟踪:在视频中追踪物体的运动。人体姿态估计:检测人体的关键点,用于动作识别、健身指导、动画制作。人脸识别和美颜:定位人脸的关键点,进行对齐、识别和特效处理。