二维码检测哪家强?五大开源库测评比较

小白学视觉

共 1816字,需浏览 4分钟

 ·

2021-09-14 15:26

点击上方小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

二维码已经进入人们的日常生活中,尤其是日本Denso Wave公司1994年发明的QR码,由于其易于检测、写入信息量大、提供强大的纠错机制,应用最为广泛,可说是名副其实的第一大图像识别应用。



QR的检测和解码成为很多应用开发的必备,面对众多的开源库,到底哪一种是比较好的呢?


BoofCV的作者Peter Abeles对较有影响力的五大开源库中检测算法进行了比较,值得大家参考。


参与比较的开源库:


BoofCV (Ver. 0.33):一种用Java实现的开源、实时的计算机视觉库;

http://boofcv.org/


OpenCV (Ver. 4.0.1):OpenCV 4.0后加入了QR码检测和解码功能,C++实现;

http://opencv.org/


Quirc (Feb 1, 2018. SHA 307473db):一种专门面向QR码的检测和解码库,C语言实现;


ZBar (Ver. 0.10):一种被广泛使用的包含各种条码检测识别的专门库,支持各种平台,支持Python, Perl, C++等语言;


ZXing (Ver. 3.3.3):一种面向Java Android开发的各种条码检测识别库,用Java开发,支持多种语言;


图像分类:


为全方位比较各个开源库检测QR码的性能,作者收集了在应用中大量常见的情况。


包括模糊、阴影、高光、扭曲、被涂损等15种情况,如下图:



各类别包含的图像数:


检测结果:


作者以检测到的位置和标签位置重合10%为阈值定义检测成功,计算true positives, false positives, true negatives, 与 false negatives,并最终计算F-Measure来比较检测结果。


分类别的检测结果统计:

不分类别的全局统计:

可见,没有哪个库处于统治地位完全比其他库更好,但BoofCV在大多数情况下为最好或者接近次好。Zbar在大多数类别下比ZXing好,但在ZXing最擅长的类别,Zbar不够好。quirc在一般情况下都表现良好,但在其他库表现最好的类别却不是很好。OpenCV则是毫无疑问总是最差。


检测速度结果比较:



在哪一类别的表现均一致,ZXing是最快的库,BoofCV次之。OpenCV的速度表现很稳定,最慢。。。


结论:


选择哪个库取决于你的应用,如果二维码比较标准建议BoofCV,它的检测精度高而且速度也很好,如果二维码有污损或外观变化,ZXing是不错的选择。如果只能使用C++,则推荐Zbar。


好消息,小白学视觉团队的知识星球开通啦,为了感谢大家的支持与厚爱,团队决定将价值149元的知识星球现时免费加入。各位小伙伴们要抓住机会哦!


下载1:Pytorch常用函数手册
小白学视觉公众号后台回复:pytorch常用函数手册即可下载含有200余个Pytorch常用函数的使用方式,帮助快速入门深度学习。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等52个视觉实战项目,助力快速学习计算机视觉。

下载3:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报