如何让机器感知真正的彩色世界
扫描二维码
随时随地手机看文章
首先,各位请带着这么个问题,来仔细查看以下三张图片——
“这到底是个什么颜色??”
“白色?暗白色?灰色?浅灰色?”相信各位都很难有一个准确的回答。或者我们可以再做这么个小实验:打开你的手机,找到一个白色的地方,然后逐渐把屏幕亮度调低——你会发现,随着屏幕变暗,这个白色渐渐就变为“灰色”了。甚至你还可以这么理解——“黑色,就是亮度为0的白色!”
其实颜色的概念,可以分为两部分:明度(亮度)和色度。上述三种颜色,我们都可以称之为“白色”,只是它们的亮度不一样。
一、“颜色”
再来科普一下,我们肉眼是如何看见“颜色”的——
人类的视网膜上的有视杆细胞和视锥细胞,其中视锥细胞用于感知强光和负责色觉。视锥细胞有L、M、S型有三种,分别对红色(Long长波)、绿色(Medium中波)、蓝色(Short短波)敏感,见下图:
正是因为有这三种细胞的存在,红、绿、蓝才成了我们人类的三原色,要注意的是,红、绿、蓝之所以是三原色,不是因为物理原因,而是生理原因,比如鸟类有四种感知波长的细胞,如果它也是像人类一样感知色彩的话,那它的原色是四种。
红色光和绿色光混合可以看到黄色光,那是因为这种混合产生的复色光对视锥细胞的刺激和黄色的单色光对视锥细胞的刺激等效,但实际上两者本质上是不同的,只是因为人眼的特性,才使得二者看起来一样。黄色的复色光和黄色的单色光的光谱是不一样的!
二、CIE 1931 XYZ颜色空间
在红、绿,蓝三原色系统中,红、绿、蓝的刺激量分别以R、G、B表示之。由于从实际光谱中选定的红、绿、蓝三原色光不可能调配出存在于自然界的所有色彩,所以,CIE(国际照明委员会)于1931年从理论上假设了并不存在于自然界的三种原色,即理论三原色,以X,Y,Z表示,以期从理论上来调配一切色彩,从而形成了XYZ测色系统。
X原色相当于饱和度比光谱红还要高的红紫,Y原色相当于饱和度比520nm的光谱绿还要高的绿,Z原色相当于饱和度比477nm的光谱蓝还要高的蓝。
CIE XYZ颜色空间稍加变换就可得到Yxy色彩空间,其中Y取三刺激值中Y的值,表示亮度(明度),x、y反映颜色的色度特性——借此,我们也就有了一个更好的手段,来进行对颜色的考量!
三、ams光谱传感器
“那有没有合适的传感器推荐呢?是XYZ传感器吗?”
“有!但不是XYZ传感器,是艾迈斯半导体(ams)的多通道光谱传感器:AS7341!客官请往下看!”
AS7341特点:
Ø 8个可见光通道——380nm~710nm
既可准确分辨出不同颜色光中的光谱成分,又可以通过ams提供的后端算法,准确地获得XYZ三刺激值和Yxy色度、明度值。不同场合不同用法!
Ø NIR通道:可以得出近红外数据,做些简单的物质判别、区分,如扫地机器人中的地毯检测。
Ø Flicker通道:可以检测环境中的光源闪烁(50Hz-1KHz)。
Ø 功耗: 210µA normal, 0.7µA sleep。
Ø 芯片尺寸3.1 x 2 x 1mm (OLGA 8 package)。
有了AS7341,我们就可以实现以下的常见应用:
Ø 液体的颜色/色差判别、变化速率
Ø 化学试纸颜色判别
Ø 水质浊度判断
Ø 扫地机器人—--地毯检测
Ø 光源CCT色温测量
当然啦,光谱传感器能实现什么具体的功能,全靠各位客官的想象力,上述只是笔者的简单应用分享。
值得一提的是,AS7341刚在2019年的ASPENCORE全球双峰会上,斩获了“年度传感器”奖。相信在未来,ams还会不断推出各种充满惊喜的传感器方案!