Qraft

图像识别

图像识别是从数字图像或视频中自动识别和分类图案、物体、文字、人脸等的技术。随着机器学习和深度学习的发展,精度飞跃性提高,在自动驾驶、医学影像诊断、人脸认证、OCR 等广泛领域实现了实用化。

二维码的扫描(解码)是一种要寻找的图形已由标准固定的特殊案例,处理从预处理开始。首先把摄像头拍摄的彩色图像转换为只有明度的灰度图像,再以阈值把每个像素判定为黑或白。随后在这幅二值图像中搜索寻像图案(位于 3 个角的正方形位置检测图案),并把找到的 3 点的位置关系与较大版本所带的校正图案结合起来,构建抵消拍摄时倾斜与透视畸变的射影变换。接着在校正后的坐标系中逐点采样模块格阵,还原为黑白排列,读取格式信息与版本信息,再用里德-所罗门码完成纠错,最终恢复原始数据。

现代智能手机能够实时执行这整个流程:二维码出现在预览画面的瞬间识别即已完成,甚至无需按下快门。在这里起作用的并不是第 1 段所说的学习型图像识别,而是把阈值处理与几何变换组合起来的古典图像处理。由于要寻找的图形是固定的,解码器可以每隔若干行扫描一帧,只在明暗排列呈现寻像图案特有的 1:1:3:1:1 比例处才细查。加之某一帧读取失败可以交给下一帧重试,每帧的处理也就得以保持轻量。