二维码在计算机视觉技术落地中的应用

182 阅读5分钟

目前,二维码已经深入我们每个人的日常生活。扫码支付、扫码建群、扫码登记信息等应用方便了每个人的衣食住行,同样,在计算机视觉(CV)技术落地过程中,也有大量二维码的应用场景。二维码究竟有何种魔力以致如此普及?本篇以QR二维码为例,从二维码原理简介,到二维码在CV技术落地中的应用,为大家浅作分析。

一、二维码简介

日常生活中打开手机扫码时,基本发生了如下过程:

1)相机拍摄二维码存在的区域图像

2)算法检测二维码位置

3)算法校正二维码图像

4)解码二维码得到信息

二维码1.png

如上图所示,二维码图像有以下几个主要部分:

1)左上角、右上角、左下角的位置探测模块;

2)校正图形模块,用于把斜着、畸变的二维码校正为正面图形,方便后续解码;

3)数据区域放置数据信息,也即此二维码的编码信息;

 

正觉智能二维码.png

生成二维码时,可以利用数字和文字组合成各种信息,例如电话、名称、邮箱地址、网页链接地址、api请求地址和参数等,编码成二维码图像。

探测、校正二维码图像后,就可以从数据区域解码出生成二维码时编码的信息,加以利用。

 

二、二维码在CV落地中的应用

由于二维码结构简单,且具有定位模块、校正模块、纠错码等机制。使得二维码的位置检测、解码技术发展较为成熟。因此,在CV落地应用中,可以利用二维码的这些特点,实现某些场景功能,解决实际问题。具体来说,我们可以利用二维码当作特殊标志,利用其“有无”来标识某些事件的发生与否,或利用其编码的信息,触发某些事件。例如:

1. 需要检测堆放货物是否超高的场景

示意图:

二维码3.png

此场景复杂性在于,货物的大小、样式、颜色均不固定。有些货物是袋子,有些是纸箱,有些是块状物、粉状物(例如煤堆、原料堆等),给算法定制带来一定困难。

若在典型的可能发生货物超高的区域贴上二维码,若二维码能够被检测到,则说明货物没有超高;反之则说明发生了货物超高,问题就有了收敛性,可达到快速上线的效果。

 

2. 需要检测某些物体是否移位/存在的场景

CV技术可以检测某物体是否移位/存在,解决方案主要有前后帧对比、背景建模,或定制该物体检测模型,通过输出的坐标来判断物品是否移位,或是否存在。但具体物品需要手工定制检测算法,若利用二维码与该物体相对位置不变(贴在物体上)的特点,则可将问题简化。

具体来讲,某些危险场景的救护装置例如推车式灭火器、急救箱,可贴二维码,若检测不到二维码,则说明此处无该类物品,节省巡检人力;某些重要物品保存区域,可在包装、保护罩、柜体门上贴二维码,若二维码位置发生变动,或检测不到二维码,说明该重要物品有挪动或失窃风险;某些电箱、变电柜等位置,需要保证非作业时间处于关门状态,可在门上或柜内贴二维码,利用二维码有无判断开关门状态;维修工位地面张贴二维码,若有机械、车辆处于维修作业状态,则对二维码形成遮挡,可标识作业状态、记录作业开始结束时间点等。

值得说明的是,以上场景的解决方案并非只有二维码一种,还可定制模型、利用大模型等来解决。但条件允许的情况下,利用二维码是一种经济、简便、鲁棒的解决方案。

 

3 需要传递信息的场景

由于二维码携带着编码信息,因此,可以解码后利用该信息触发某些流程。例如:

1)某些流程类作业,例如动火作业、受限空间作业,需要检测作业的开始与结束,可将“动火作业开始”“动火作业结束”“受限空间作业开始”“受限空间作业结束”等信息编码到二维码中,解码后即可标识作业流程的开始、结束。

2)特殊物品、货物二维码解码后,能体现出该被标志物的详情信息,包括产地、日期、使用说明等,也可用于记录货物流转过程;

3)若二维码编码了api地址,可以通过解码出的api地址,联网向后端发送请求,触发一系列后续动作。

 

 

三、二维码应用注意事项

二维码技术在CV落地中有很多应用,但也有几个注意点:

  1. 保证拍摄清晰。二维码技术本质上也是计算机视觉技术的一种,可见光不足,或摄像头脏污时,二维码检测、解码均会受到影响;

  2. 保证距离适中。这是CV技术,乃至所有感知类技术都会遇到的问题。二维码的编码信息体现在二维码图像上,二维码图像是由像素组成。距离较远时,二维码在画面中所占像素较少,容易检测不到,或造成编码信息的丢失。

  3. 摄像头角度适中。虽然二维码带有定位、校正模块,但拍摄角度过于倾斜时,仍会有部分像素拍摄不到,导致二维码检测不到或信息丢失。