十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI
感觉计算机视觉操作起来很难?一个Excel就能搞定。
没错,就是我们经常会用到的微软电子表格软件Excel。
通过它就能快速实现计算机视觉中的一些算法示例:人脸识别、霍夫变换都不在话下。
更重要的是,还不需要任何脚本或者第三方插件。
先来看下人脸识别的结果。
还能找到图像的边缘和线条。
这项好玩的技巧,是由亚马逊首席工程师 Alok Govil 和 Venkataraman Subramanian共同完成。
网友们尝试了“别样的Excel”后惊呼:
当你放大Excel时,图像就会慢慢显现出来,数值也能看到,太神奇了! 看到用简单的Excel公式就可以做一些真正的计算机视觉,还清楚地解释了核心概念和算法,真是太酷了。 这是一个惊人的想法!这也是 Excel 核心代码极其强大和高效的证明,如此即时、交互,使得所有东西看起来都更简单、更容易理解。
那么,Excel到底是怎样做到如此惊人效果的呢?
简单设置,导入数据
打开Excel,先来简单的设置一下。
在“公式”这一栏里,找到“计算选项”,选中“手动”。
实验所用的图像是一张假的护照图片,因为它包含线条、角、人脸图像以及文本。
图像是由像素组成的二维数组,每个像素通常都有红色、绿色和蓝色基色通道的值,而每个值是一个字节(0-255)。
然后用一段简单的代码将图像中的数据读取出来,并存储为一个.csv文件。
存储出来的数据如下:
然后在“开始”栏里,选择“条件格式”里的“色阶”。
对于“灰度”,我们将255映射为白色,将0映射为黑色。
改变公式,秒现CV效果
先来做一个热身练习,让图像变暗。
那么,以A1这个单元格为例,只需要在公式栏中输入公式“Img!A1*0.7”,图片涉及的所有单元格都“*0.7”即可。
接下来是二值化。
还是以A1单元格为例,公式为“IF(Img!A1>160, 255, 0)”,并应用到所有单元格。
模糊图像,就是将Excel一个矩阵的数值(例如4 x 4)取均值的过程,公式例如“AVERAGE(Img!A1:D4)”。
同样的道理,设置相应的公式后,也可以凸显一些图片内容的边缘。
还可以人脸识别。
以及字符识别,识别图片中的“E”字母,当然存在一个错误识别“L”的情况。
当然,除了上述这些效果,计算机视觉中一些基本的算法也都有所涉及。
并且,作者对每个过程都做了相应的描述,在GitHub上已开源。
快去体验一下这别样的Excel吧!
传送门
GitHub项目地址: https://github.com/amzn/computer-vision-basics-in-microsoft-excel
— 完 —