面部识别与彩色图像?

问题描述 投票:1回答:2

在使用OpenCV的面部识别网络的许多示例中,我看到图像被转换为​​灰度,作为面部识别功能的“预处理”的一部分。如果彩色图像用于面部识别会发生什么?为什么所有示例都首先将图像转换为灰度?

opencv computer-vision facial-identification
2个回答
0
投票

许多图像处理和CV算法使用灰度图像作为输入而不是彩色图像。一个重要原因是因为通过转换为灰度,它将亮度平面与色度平面分开。亮度对于区分图像中的视觉特征也更为重要。例如,如果要根据亮度和色度找到边缘,则需要额外的工作。虽然可能有例外,但颜色也不能真正帮助我们识别图像的重要特征或特征。

灰度图像仅具有一个颜色通道而不是彩色图像中的三个(RGB,HSV)。灰度图像的固有复杂性低于彩色图像,因为您可以获得与亮度,对比度,边缘,形状,轮廓,纹理和没有颜色的透视相关的特征。

灰度处理也快得多。如果我们假设处理三通道彩色图像的时间是处理灰度图像的三倍,那么我们可以通过消除我们不需要的颜色通道来节省处理时间。从本质上讲,颜色会增加模型的复杂性,并且通常会降低处理速度。


1
投票

大多数面部识别算法依赖于图像中的一般强度分布而不是每个通道的颜色强度信息。

灰度图像提供了关于图像中强度的一般分布的精确信息(高强度区域表现为白色/低强度区域为黑色)。计算灰度图像很简单,只需很少的计算时间,您可以通过平均所有3个通道的值来计算此强度。

在RGB图像中,该信息在所有3个通道中分开。以亮黄色为例:

RGB(255,217,0)

虽然这显然是高强度的颜色,但我们通过组合所有通道获得此信息,这正是灰度图像所做的。当然,您可以使用每个通道进行要素计算,并将结果连接起来以使用此图像的所有强度信息,但这会产生与使用灰度版本同时计算时间为3倍的结果基本相同的结果。

© www.soinside.com 2019 - 2024. All rights reserved.