CN112464687A - 图形码处理方法、装置以及终端设备 - Google Patents
图形码处理方法、装置以及终端设备 Download PDFInfo
- Publication number
- CN112464687A CN112464687A CN202011300515.5A CN202011300515A CN112464687A CN 112464687 A CN112464687 A CN 112464687A CN 202011300515 A CN202011300515 A CN 202011300515A CN 112464687 A CN112464687 A CN 112464687A
- Authority
- CN
- China
- Prior art keywords
- graphic code
- picture
- model
- processed
- target detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000012545 processing Methods 0.000 claims abstract description 114
- 238000001514 detection method Methods 0.000 claims abstract description 112
- 238000000034 method Methods 0.000 claims abstract description 48
- 238000010801 machine learning Methods 0.000 claims abstract description 22
- 238000012549 training Methods 0.000 claims description 46
- 238000004590 computer program Methods 0.000 claims description 33
- 230000008569 process Effects 0.000 abstract description 17
- 238000010586 diagram Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000013140 knowledge distillation Methods 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/146—Methods for optical code recognition the method including quality enhancement steps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Toxicology (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种图形码处理方法、装置以及终端设备,通过在协处理器中预先加载目标检测模型,该目标检测模型为机器学习模型,然后协处理器就可以将获取的待处理图片输入目标检测模型,确定待处理图片中是否包含图形码,以及当待处理图片包含图形码时,待处理图片中的图形码类型以及图形码位置,从而进一步在确定待处理图片中包含图形码时,将待处理图片中的图形码类型以及图形码位置发送给终端设备的中央处理器,以使得中央处理器基于图形码类型以及图形码位置对待处理图片中的图形码进行解码处理,有利于减少图形码定位过程的耗时,提高扫码效率。
Description
技术领域
本发明涉及图形码技术领域,尤其涉及一种图形码处理方法、装置以及终端设备。
背景技术
目前条形码应用越来越广泛,不但提高诸如生产,制造,物流,仓储,零售,医疗等行业的效率,也大大方便了人们的生产和生活。现有主流嵌入式/移动处理器(例如扫码枪平台或者移动手机中的处理器)上整体图形码处理时间可以做到十几毫秒甚至更快。在这些条码处理流程中,最耗时是图形码定位,整体处理流程的十几毫秒里面约有七八毫秒在图形码定位,而真正解码的时候很短,约一毫秒甚至一毫秒以内。
因此,图形码定位费力耗时的问题影响了手持条码枪,固定式扫描器,移动PDA等扫码设备的整体解码速度,对于生产,制造,仓库以及零售等行业过程中效率的进一步提升有着很大的挑战。
发明内容
本发明提供了一种图形码处理方法、装置以及终端设备,有利于减少图形码定位过程的耗时,从而提高扫码效率。
第一方面,本说明书实施例提供了一种图形码处理方法,应用于终端设备中的协处理器。所述方法包括:获取待处理图片;将所述待处理图片输入预先加载的目标检测模型,输出处理结果,其中,所述目标检测模型为机器学习模型,所述处理结果包括所述待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置;当基于所述处理结果确定所述待处理图片中包含图形码时,将所述待处理图片中的图形码类型以及图形码位置发送给所述终端设备的中央处理器,以使得所述中央处理器基于所述图形码类型以及图形码位置对所述待处理图片中的图形码进行解码处理。
进一步地,所述目标检测模型是按照以下步骤得到的:获取训练数据,所述训练数据包括:多个样本图片以及每个样本图片的标签信息,其中,所述标签信息包括:样本图片中是否包含图形码、包含图形码的样本图片中的图形码类型以及图形码位置;基于所述训练数据,对预先构建的初始机器学习模型进行训练,得到训练好的原始模型;基于所述训练好的原始模型,得到目标检测模型。
进一步地,所述将所述待处理图片输入预先加载的目标检测模型之前,还包括:基于所述协处理器的算力,从预设模型信息库中加载所述目标检测模型,其中,所述预设模型信息库存储有多种不同大小的待选检测模型。
进一步地,所述基于所述协处理器的算力,从预设模型信息库中加载所述目标检测模型,包括:基于所述协处理器的算力,向所述中央处理器发送模型加载请求,以使得所述中央处理器基于所述模型加载请求从所述预设模型信息库中确定所述目标检测模型,并将所述目标检测模型加载到所述协处理器中。
第二方面,本说明书实施例提供了一种图形码处理方法,所述方法包括:获取训练数据,所述训练数据包括:多个样本图片以及每个样本图片的标签信息,其中,所述标签信息包括:样本图片中是否包含图形码、包含图形码的样本图片中的图形码类型以及图形码位置;基于所述训练数据,对预先构建的初始机器学习模型进行训练,得到训练好的原始模型,并基于所述原始模型确定待选检测模型;当接收到模型加载请求时,基于所述模型加载请求,从所述待选检测模型中确定目标检测模型,并将所述目标检测模型加载到终端设备的协处理器,所述目标检测模型用于确定待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置。
进一步地,所述基于所述原始模型确定待选检测模型,包括:对所述原始模型进行压缩,得到压缩模型;将所述原始模型以及所述压缩模型均确定为候选检测模型。所述基于所述模型加载请求,从所述待选检测模型中确定目标检测模型,包括:从所述模型加载请求中确定所述终端设备中协处理器的算力;基于所述协处理器的算力,从所述待选检测模型中确定所述目标检测模型。
第三方面,本说明书实施例提供了一种图形码处理装置,应用于终端设备中的协处理器。所述装置包括:图片获取模块,用于获取待处理图片;处理模块,用于将所述待处理图片输入预先加载的目标检测模型,输出处理结果,其中,所述目标检测模型为机器学习模型,所述处理结果包括所述待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置;发送模块,用于当基于所述处理结果确定所述待处理图片中包含图形码时,将所述待处理图片中的图形码类型以及图形码位置发送给所述终端设备的中央处理器,以使得所述中央处理器基于所述图形码类型以及图形码位置对所述待处理图片中的图形码进行解码处理。
第四方面,本说明书实施例提供了一种图形码处理装置,所述装置包括:数据获取模块,用于获取训练数据,所述训练数据包括:多个样本图片以及每个样本图片的标签信息,其中,所述标签信息包括:样本图片中是否包含图形码、包含图形码的样本图片中的图形码类型以及图形码位置;训练模块,用于基于所述训练数据,对预先构建的初始机器学习模型进行训练,得到训练好的原始模型,并基于所述原始模型确定待选检测模型;模型下发模块,用于当接收到模型加载请求时,基于所述模型加载请求,从所述待选检测模型中确定目标检测模型,并将所述目标检测模型加载到终端设备的协处理器,所述目标检测模型用于确定待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置。
第五方面,本说明书实施例提供了一种终端设备,包括:中央处理器、协处理器、存储器以及存储在所述存储器上的第一计算机程序以及第二计算机程序。其中,所述协处理器执行所述第一计算机程序时实现上述第一方面提供的图形码处理方法的步骤。所述中央处理器执行所述第二计算机程序时实现基于所述协处理器输出的图形码类型以及图形码位置,对待处理图片中的图形码进行解码处理的步骤。
第六方面,本说明书实施例提供了一种终端设备,包括:中央处理器、协处理器、存储器以及存储在所述存储器上的第三计算机程序以及第四计算机程序。其中,所述协处理器执行所述第三计算机程序时实现以下操作:识别获取的待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置,当所述待处理图片中包含图形码时,将所述待处理图片中的图形码类型以及图形码位置发送给所述中央处理器。所述中央处理器执行所述第四计算机程序时实现基于所述协处理器输出的图形码类型以及图形码位置,对待处理图片中的图形码进行解码处理的步骤。
第七方面,本说明书实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面提供的图形码处理方法的步骤。
本说明书一个实施例提供的图形码处理方法、装置、终端设备及介质,通过在终端设备中增设协处理器来做图形码的定位处理,减少对终端设备CPU计算资源的占用。并且在协处理器中预先加载目标检测模型,该目标检测模型为机器学习模型,将获取的待处理图片输入该目标检测模型,确定待处理图片中是否包含图形码,以及当待处理图片包含图形码时,待处理图片中的图形码类型以及图形码位置,从而进一步在确定待处理图片中包含图形码时,将待处理图片中的图形码类型以及图形码位置发送给终端设备的中央处理器,以使得中央处理器基于图形码类型以及图形码位置对待处理图片中的图形码进行解码处理,得到解码结果。这样通过增设协处理器,并采用端到端的机器学习模型,使得目标检测模型的输出节点直接对应处理结果,包括待处理图片内有无图形码的判断结果,有图形码时图形码的位置以及图形码类型,有利于减少图形码定位过程的耗时,提高扫码效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本说明书的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本说明书实施例第一方面提供的一种图形码处理方法的流程图;
图2为本说明书实施例第二方面提供的一种图形码处理方法的流程图;
图3为本说明书实施例第三方面提供的一种图形码处理装置的模块框图;
图4为本说明书实施例第四方面提供的一种图形码处理装置的模块框图;
图5为本说明书实施例第五方面提供的一种终端设备的结构示意图。
具体实施方式
为了更好的理解本说明书实施例提供的技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
第一方面,本说明书实施例提供了一种图形码处理方法,应用于终端设备中的协处理器。其中,终端设备可以是具有扫码功能的设备。举例来讲,协处理器可以是AI(Artificial Intelligence,人工智能)加速协处理器,如APU(Accelerated ProcessingUnit,加速处理器)、VPU(Video Processing Unit,视频处理单元)或GPU(GraphicsProcessing Unit,图形处理器);也可以为FPGA或CPLD等可现场编程组件;或者,还可以作为IP组件存在于ISP(Image Signal Processor,图像信号处理器)或CPU(CentralProcessing Unit,中央处理器)等器件中。如图1所示,本发明实施例提供的图形码处理方法可以包括以下步骤S101至步骤S103。
步骤S101,获取待处理图片。
本实施例中,待处理图片即需要进行图形码定位以及识别的图片。具体来讲,图形码可以是条形码或二维码。
举例来讲,在一种应用场景中,若终端设备为设置有摄像头或扫码引擎的终端设备,待处理图片可以是由摄像头或扫码引擎实时采集的图片。又例如,在另一种应用场景中,待处理图片也可以是终端设备接收并显示的来自其他设备的图片,当用户在该图片上执行图形码识别操作时,触发图形码识别指令,协处理器开始执行步骤S101至步骤S103的处理流程。
当然,考虑到终端设备获取的图片的分辨率可能与目标检测模型输入节点要求的分辨率不一致,在一种可选的实施例中,可以先对终端设备获取的图片进行分辨率校正处理,使得校正后的图片分辨率与目标检测模型输入节点要求的分辨率匹配,再将校正后的图片作为待处理图片,执行以下步骤S102。
步骤S102,将待处理图片输入预先加载的目标检测模型,输出处理结果,其中,目标检测模型为机器学习模型,处理结果包括待处理图片中是否包含图形码,以及当待处理图片包含图形码时,待处理图片中的图形码类型以及图形码位置。
可以理解的是,图形码定位需要解决图片内是否包含图形码,以及若包含图形码,确定图形码位置的问题。本实施例中,可以将S101获取的待处理图片作为模型的输入数据,且目标检测模型的输出节点直接对应图形码处理结果,包括待处理图片内有无图形码的判断结果,有图形码时图形码的位置以及图形码类型。将待处理图片输入到协处理器中运行的目标检测模型中,就可以直接输出处理结果,即得到图形码定位结果。
具体来讲,得到目标检测模型可以包括以下三个步骤:
数据准备步骤:获取训练数据,训练数据包括:多个样本图片以及每个样本图片的标签信息,其中,标签信息包括:样本图片中是否包含图形码、包含图形码的样本图片中的图形码类型以及图形码位置。
在进行模型训练之前,需要先进行数据收集,可以采集大量的图形码图片作为样本图片,形成样本图片集。在一种可选的实施例中,样本图片集可以包括第一图片子集、第二图片子集和第三图片子集。其中,第一图片子集包括多种场景下采集的一维条码图片,第二图片子集包括多种场景下采集的二维码图片,第三图片子集包括多种场景下采集的不含包图形码的图片。进一步地,还可以按照码制对第一图片子集和第二图片子集中样本图片的类型进行细分,第一图片子集中可以包括多种不同种类的一维条码图片,如EAN码、39码、交叉25码、UPC码等,第二图片子集中可以包括多种不同种类的二维码图片,如QR码、DataMatrix码等。
完成数据收集后,需要对收集的样本图片进行数据标识,也就是说,对样本图片进行打标,确定每个样本图片的标签信息,包括标识样本图片中是否包含图形码、标识图形码的类型以及图形码在样本图片中的位置。其中,图形码在样本图片中的位置可以表示为(x,y,w,h)或(x,y,x1,y1),其中,(x,y)表示图形码左上角的坐标,w表示图形码的长度,h表示图形码的宽度,(x1,y1)表示图形码右下角的坐标。
举例来讲,对于包含图形码的样本图片,可以由用户输入样本图片中包含的图形码类型,采用模板匹配、Hausdorff、时域互相关法、Hough变换、二维FFT(Fast FourierTransform,快速傅里叶变换)算法或一维FFT算法等投影定位算法,得到样本图片中图形码的位置。
或者,可以在收集样本图片时,采集由连续多帧图片构成的样本视频文件,样本视频文件中图形码相对于背景来讲是运动的,基于视频中的图形码类型对样本视频文件进行命名。然后在对样本图片进行打标时,获取相应样本视频文件的文件名称,通过对文件名称进行分词处理并提取关键字;将关键字与预设的图形码类型信息库中的图形码类型进行匹配,确定样本图片中的图形码类型;通过运动检测的方式检测样本视频文件中运动的图形码的位置。
当然,在本发明其他实施例中,也可以由用户输入每个样本图片的标签信息。
在一种可选的实施例中,为了确保得到足够的样本样,可以进一步对采集的样本图片集进行扩充,增大样本量,基于扩充后的样本图片集得到训练数据。举例来讲,扩充方式可以采用旋转,镜像,放大以及缩小等方式中的一种或多种组合。
在得到训练数据后,就可以执行训练步骤。模型训练步骤:基于训练数据,对预先构建的初始机器学习模型进行训练,得到训练好的原始模型。
举例来讲,初始机器学习模型可以采用以MobileNet作为前置网络的SSD(SingleShot MultiBox Detector)模型、Yolo v1模型、Yolo v2模型、Yolo v3模型、以ResNet作为前置网络的SSD模型或Faster RCNN模型等。所构建的初始机器学习模型的输入为图片,输出为图片中是否包含图形码、图形码类型以及图形码在图片中的位置。其中,输出节点的具体设置方式可以根据实际需要确定。例如,在一种应用场景中,输出节点可以设置两个,其中一个节点输出图形码类型,图形码类型包括无图形码、类型1、类型2、类型3以及类型4,另一个节点输出图形码位置,当图形码类型为无图形码,图形码位置坐标可以为空或者为0。另外,具体训练过程可以参照具体采用的机器学习模型的训练方式,此处不做详述。
模型准备步骤:基于训练好的原始模型,得到目标检测模型。
在一种实施方式中,可以将训练好的原始模型作为目标检测模型,或者,考虑到协处理器的算力大小以及终端设备的存储空间限制,也可以进一步对原始模型进行压缩,得到压缩模型,将压缩模型作为目标检测模型。
举例来讲,模型压缩方式可以采用知识蒸馏、浮点改定点、定点改二值、模型剪枝等方式中的一种或多种组合,具体压缩程度可以根据协处理器的算力大小以及终端设备的存储空间确定。
例如,可以对原始模型进行知识蒸馏,进行第一阶段的压缩。可选地,在第一阶段的压缩基础上,可以采用浮点改定点的方式对模型进行第二阶段的压缩;可选地,在第二阶段的压缩基础上,还可以采用定点改二值的方式对模型进行第三阶段的压缩;可选地,在第三阶段的压缩基础上,还可以采用模型剪枝的方式对模型进行第四阶段的压缩。
在一种可选的实施例中,可以将原始模型和上述压缩模型均作为候选检测模型存储到预设模型信息库中,以便在协处理器需要加载模型时,从预设模型信息库中确定目标检测模型进行加载。具体实施过程中,可以对原始模型分别进行多种不同尺度的压缩,得到多种不同大小的压缩模型,将原始模型以及多种不同大小的压缩模型均存储到预设模型信息库中,以供协处理器选择加载。
需要说明的是,本发明实施例中,上述得到目标检测模型的过程即数据准备步骤、模型训练步骤以及模型准备步骤可以在PC机(Personal Computer,个人计算机)或服务器上执行。当然,在本发明其他实施例中,若终端设备计算力以及存储空间足够大的情况下,也可以在终端设备上执行。
另外,可以理解的是,协处理器在运行目标检测模型之前,还需要先加载目标检测模型,具体包括:基于协处理器的算力,从预设模型信息库中加载目标检测模型。预设模型信息库存储有多种不同大小的待选检测模型,例如上述的原始模型以及对原始模型进行压缩得到的压缩模型,此处不再赘述。也就是说,根据协处理器的算力从预设模型信息库中选择大小适配的待选检测模型,作为目标检测模型进行加载。这样能够更灵活地完成协处理器中目标检测模型的部署,避免出现目标检测模型大小超出协处理器算力,导致处理出错或者是处理时间过长,有利于平衡处理时长以及处理结果的精度,能够在较短的处理时长的基础上达到较高的处理精度。
本实施例中,可以是协处理器基于自身算力从预设模型信息库中加载大小适配的目标检测模型。或者,也可以是终端设备中的CPU加载目标检测模型到协处理器,此时,在执行上述步骤S102之前,本实施例提供的图形码处理方法还包括:基于协处理器的算力,向CPU发送模型加载请求,以使得所述中央处理器基于模型加载请求从预设模型信息库中确定目标检测模型,并将该目标检测模型加载到协处理器中。加载完成后,协处理器就可以运行该目标检测模型,执行上述步骤S102。
需要说明的是,当基于步骤S102的处理结果确定待处理图片中不包含图形码时,可以发送用于表征待处理图片中不包含图形码的结果信息到中央处理器,以便中央处理器发起无图形码的结果提示。例如,在一种应用场景中,可以通过文字或语音播放的方式提示没有扫描到图形码。
步骤S103,当基于处理结果确定待处理图片中包含图形码时,将待处理图片中的图形码类型以及图形码位置发送给终端设备的中央处理器,以使得所述中央处理器基于所述图形码类型以及图形码位置对待处理图片中的图形码进行解码处理。
本实施例中,CPU与协处理器是相互连接的,可以进行数据交互。协处理器输出图形码类型和位置后,CPU就可以运行解码库,结合协处理器给出的条码位置和类型快速对待处理图片进行后续处理和解码,得到解码结果。
需要说明的是,CPU中的待处理图片可以是由协处理器发送的,此时,无论协处理器识别出待处理图片中包含图形码,还是不包含图形码,协处理器均会将待处理图片发送给CPU。当然,在本发明其他实施例中,CPU中的待处理图片也可以是终端设备采集的,如由摄像头或扫码引擎实时采集后发送给CPU的。
综上所述,本发明实施例提供的图形码处理方法,通过在终端设备中增设协处理器来专门做图形码的定位处理,减少对终端设备CPU计算资源的占用,相比于选择多核CPU分别处理或者多线程处理的方式,能够更有效地提升解码速度。并且通过在协处理器中预先加载目标检测模型来实现图形码的定位处理,目标检测模型采用端到端的机器学习模型,使得目标检测模型的输出节点直接对应处理结果,包括待处理图片内有无图形码的判断结果,有图形码时图形码的位置以及图形码类型,有利于减少图形码定位处理过程的耗时,提高扫码效率。例如,在扫码支付、扫码开门、扫码跳转目标页面或快递扫码分包等场景,有利于减少用户等待时间,提高用户体验。
第二方面,基于与前述第一方面实施例提供的图形码处理方法同样的发明构思,本发明实施例还提供了一种图形码处理方法,如图2所示,所述方法包括以下步骤S201至步骤S203。
步骤S201,获取训练数据,所述训练数据包括:多个样本图片以及每个样本图片的标签信息,其中,所述标签信息包括:样本图片中是否包含图形码、包含图形码的样本图片中的图形码类型以及图形码位置。
步骤S202,基于所述训练数据,对预先构建的初始机器学习模型进行训练,得到训练好的原始模型,并基于所述原始模型确定待选检测模型。
步骤S203,当接收到模型加载请求时,基于所述模型加载请求,从所述待选检测模型中确定目标检测模型,并将所述目标检测模型加载到终端设备的协处理器,所述目标检测模型用于确定待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置。
需要说明的是,上述步骤S201至步骤S203的具体实施过程可以参照上述第一方面提供的方法实施例中的相应描述,此处不再赘述。
在一种可选的实施例中,上述基于原始模型确定待选检测模型可以包括:对原始模型进行压缩,得到压缩模型;将原始模型以及压缩模型均确定为候选检测模型。上述基于模型加载请求,从待选检测模型中确定目标检测模型可以包括:从模型加载请求中确定终端设备中协处理器的算力;基于协处理器的算力,从待选检测模型中确定目标检测模型。具体实施过程可以参照上述第一方面提供的方法实施例中的相应描述,此处不再赘述。
需要说明的是,本实施例所提供的图形码处理方法,其实现原理及产生的技术效果和前述第一方面提供的方法实施例相同,为简要描述,本实施例部分未提及之处,可参考前述第一方面提供的实施例中相应内容。
还需要说明的是,本发明实施例提供的图形码处理方法可以在PC机(PersonalComputer,个人计算机)或服务器上执行。当然,在本发明其他实施例中,若终端设备计算力以及存储空间足够大的情况下,也可以在上述终端设备上执行。
第三方面,基于与前述第一方面实施例提供的图形码处理方法同样的发明构思,本发明实施例还提供了一种图形码处理装置,应用于终端设备中的协处理器,如图3所示,该图形码处理装置30包括:
图片获取模块301,用于获取待处理图片;
处理模块302,用于将所述待处理图片输入预先加载的目标检测模型,输出处理结果,其中,所述目标检测模型为机器学习模型,所述处理结果包括所述待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置;
发送模块303,用于当基于所述处理结果确定所述待处理图片中包含图形码时,将所述待处理图片中的图形码类型以及图形码位置发送给所述终端设备的中央处理器,以使得所述中央处理器基于所述图形码类型以及图形码位置对所述待处理图片中的图形码进行解码处理。
需要说明的是,本实施例所提供的图形码处理装置30,其实现原理及产生的技术效果和前述第一方面提供的方法实施例相同,为简要描述,本实施例部分未提及之处,可参考前述第一方面提供的方法实施例中相应内容。
第四方面,基于与前述第二方面实施例提供的图形码处理方法同样的发明构思,本发明实施例还提供了一种图形码处理装置,如图4所示,该图形码处理装置40包括:
数据获取模块401,用于获取训练数据,所述训练数据包括:多个样本图片以及每个样本图片的标签信息,其中,所述标签信息包括:样本图片中是否包含图形码、包含图形码的样本图片中的图形码类型以及图形码位置;
训练模块402,用于基于所述训练数据,对预先构建的初始机器学习模型进行训练,得到训练好的原始模型,并基于所述原始模型确定待选检测模型;
模型下发模块403,用于当接收到模型加载请求时,基于所述模型加载请求,从所述待选检测模型中确定目标检测模型,并将所述目标检测模型加载到终端设备的协处理器,所述目标检测模型用于确定待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置。
需要说明的是,本实施例所提供的图形码处理装置40,其实现原理及产生的技术效果和前述第二方面提供的方法实施例相同,为简要描述,本实施例部分未提及之处,可参考前述第二方面提供的方法实施例中相应内容。
第五方面,基于与前述第一方面实施例提供的图形码处理方法同样的发明构思,本说明书实施例还提供了一种终端设备,可以包括:中央处理器、协处理器、存储器以及存储在存储器上的第一计算机程序以及第二计算机程序。其中,协处理器执行所述第一计算机程序时实现上述第一方面提供的图形码处理方法的任一实施例的步骤,具体可参考前述第一方面提供的方法实施例中相应内容。CPU执行第二计算机程序时实现基于协处理器输出的图形码类型以及图形码位置,对待处理图片中的图形码进行解码处理的步骤,具体可参考前述第一方面提供的方法实施例中相应内容。
举例来讲,终端设备可以是具有扫码功能的设备,如扫码枪、移动PDA或固定式扫描器等。图5示出了一种可应用于本发明实施例中的示例性终端设备的结构框图。如图5所示,终端设备50可以包括摄像头501、协处理器502、中央处理器503以及存储器504。这些组件通过一条或多条通讯总线/信号线相互通讯。
举例来讲,协处理器502可以是AI加速协处理器,例如APU,VPU或GPU;也可以为FPGA或CPLD等可现场编程组件;或者,也可以作为IP组件存在于ISP或CPU等器件中。
存储器504可用于存储软件程序以及模块,如本发明实施例中的图形码处理方法对应的程序指令/模块,协处理器通过运行存储在存储器内的该软件程序以及模块,从而执行本发明实施例提供的图形码处理方法。
举例来讲,存储器504可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。协处理器、CPU以及其他可能的组件对存储器的访问可在存储控制器的控制下进行。
在一种应用场景中,CPU或协处理器502可以设置摄像头或者扫码引擎,开始工作。协处理器502运行预先加载的目标检测模型,结合从摄像头或者扫码引擎输出的图像进行处理,得到处理结果,包括图像中有无图形码,以及图形码位置和类型信息。CPU结合协处理器发送的处理结果运行解码库,快速输出图形码识别结果。
可以理解,图5所示的结构仅为示意,本发明实施例提供的终端设备50还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
第六方面,本说明书实施例提供了一种终端设备,包括:中央处理器、协处理器、存储器以及存储在存储器上的第三计算机程序以及第四计算机程序。中央处理器与协处理器连接,中央处理器和协处理器均与存储器连接。其中,协处理器执行第三计算机程序时实现以下操作:识别获取的待处理图片中是否包含图形码,以及当待处理图片包含图形码时,待处理图片中的图形码类型以及图形码位置,当识别出待处理图片中包含图形码时,将待处理图片中的图形码类型以及图形码位置发送给中央处理器。中央处理器执行第四计算机程序时实现基于协处理器输出的图形码类型以及图形码位置,对待处理图片中的图形码进行解码处理的步骤。举例来讲,协处理器可以是AI加速协处理器,例如APU,VPU或GPU;也可以为FPGA或CPLD等可现场编程组件;或者,也可以作为IP组件存在于ISP或CPU等器件中。
具体实施过程中,识别待处理图片中是否包含图形码,以及当待处理图片包含图形码时,待处理图片中的图形码类型以及图形码位置的具体实现过程可以参照现有的图形码定位以及类型判断过程,此处不做详述。具体来讲,可以通过预设的图像处理算法,如模板匹配、Hausdorff、时域互相关法、Hough变换、二维FFT算法或一维FFT算法等投影定位算法,实现图形码定位以及图形码类型判断。
通过在终端设备中增设协处理器来专门做图形码的定位处理,减少对终端设备CPU计算资源的占用,减轻CPU负担,相比于选择多核CPU分别处理或者多线程处理的方式,能够更有效地提升解码速度。
第七方面,基于与前述实施例中提供的图形码处理方法同样的发明构思,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文第一方面提供的图形码处理方法任一实施例的步骤。
本说明书是参照根据本说明书实施例的方法、设备、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。术语“多个”表示两个以上,包括两个或大于两个的情况。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。
Claims (10)
1.一种图形码处理方法,其特征在于,应用于终端设备中的协处理器,所述方法包括:
获取待处理图片;
将所述待处理图片输入预先加载的目标检测模型,输出处理结果,其中,所述目标检测模型为机器学习模型,所述处理结果包括所述待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置;
当基于所述处理结果确定所述待处理图片中包含图形码时,将所述待处理图片中的图形码类型以及图形码位置发送给所述终端设备的中央处理器,以使得所述中央处理器基于所述图形码类型以及图形码位置对所述待处理图片中的图形码进行解码处理。
2.根据权利要求1所述的方法,其特征在于,所述目标检测模型是按照以下步骤得到的:
获取训练数据,所述训练数据包括:多个样本图片以及每个样本图片的标签信息,其中,所述标签信息包括:样本图片中是否包含图形码、包含图形码的样本图片中的图形码类型以及图形码位置;
基于所述训练数据,对预先构建的初始机器学习模型进行训练,得到训练好的原始模型;
基于所述训练好的原始模型,得到目标检测模型。
3.根据权利要求1所述的方法,其特征在于,所述将所述待处理图片输入预先加载的目标检测模型之前,还包括:
基于所述协处理器的算力,从预设模型信息库中加载所述目标检测模型,其中,所述预设模型信息库存储有多种不同大小的待选检测模型。
4.根据权利要求3所述的方法,其特征在于,所述基于所述协处理器的算力,从预设模型信息库中加载所述目标检测模型,包括:
基于所述协处理器的算力,向所述中央处理器发送模型加载请求,以使得所述中央处理器基于所述模型加载请求从所述预设模型信息库中确定所述目标检测模型,并将所述目标检测模型加载到所述协处理器中。
5.一种图形码处理方法,其特征在于,所述方法包括:
获取训练数据,所述训练数据包括:多个样本图片以及每个样本图片的标签信息,其中,所述标签信息包括:样本图片中是否包含图形码、包含图形码的样本图片中的图形码类型以及图形码位置;
基于所述训练数据,对预先构建的初始机器学习模型进行训练,得到训练好的原始模型,并基于所述原始模型确定待选检测模型;
当接收到模型加载请求时,基于所述模型加载请求,从所述待选检测模型中确定目标检测模型,并将所述目标检测模型加载到终端设备的协处理器,所述目标检测模型用于确定待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置。
6.根据权利要求5所述的方法,其特征在于,所述基于所述原始模型确定待选检测模型,包括:
对所述原始模型进行压缩,得到压缩模型;
将所述原始模型以及所述压缩模型均确定为候选检测模型;
所述基于所述模型加载请求,从所述待选检测模型中确定目标检测模型,包括:
从所述模型加载请求中确定所述终端设备中协处理器的算力;
基于所述协处理器的算力,从所述待选检测模型中确定所述目标检测模型。
7.一种图形码处理装置,其特征在于,应用于终端设备中的协处理器,所述装置包括:
图片获取模块,用于获取待处理图片;
处理模块,用于将所述待处理图片输入预先加载的目标检测模型,输出处理结果,其中,所述目标检测模型为机器学习模型,所述处理结果包括所述待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置;
发送模块,用于当基于所述处理结果确定所述待处理图片中包含图形码时,将所述待处理图片中的图形码类型以及图形码位置发送给所述终端设备的中央处理器,以使得所述中央处理器基于所述图形码类型以及图形码位置对所述待处理图片中的图形码进行解码处理。
8.一种图形码处理装置,其特征在于,所述装置包括:
数据获取模块,用于获取训练数据,所述训练数据包括:多个样本图片以及每个样本图片的标签信息,其中,所述标签信息包括:样本图片中是否包含图形码、包含图形码的样本图片中的图形码类型以及图形码位置;
训练模块,用于基于所述训练数据,对预先构建的初始机器学习模型进行训练,得到训练好的原始模型,并基于所述原始模型确定待选检测模型;
模型下发模块,用于当接收到模型加载请求时,基于所述模型加载请求,从所述待选检测模型中确定目标检测模型,并将所述目标检测模型加载到终端设备的协处理器,所述目标检测模型用于确定待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置。
9.一种终端设备,其特征在于,包括:中央处理器、协处理器、存储器以及存储在所述存储器上的第一计算机程序以及第二计算机程序,
其中,所述协处理器执行所述第一计算机程序时实现权利要求1-4任一项所述方法的步骤;
所述中央处理器执行所述第二计算机程序时实现基于所述协处理器输出的图形码类型以及图形码位置,对待处理图片中的图形码进行解码处理的步骤。
10.一种终端设备,其特征在于,包括:中央处理器、协处理器、存储器以及存储在所述存储器上的第三计算机程序以及第四计算机程序,
其中,所述协处理器执行所述第三计算机程序时实现以下操作:识别获取的待处理图片中是否包含图形码,以及当所述待处理图片包含图形码时,所述待处理图片中的图形码类型以及图形码位置,当所述待处理图片中包含图形码时,将所述待处理图片中的图形码类型以及图形码位置发送给所述中央处理器;
所述中央处理器执行所述第四计算机程序时实现基于所述协处理器输出的图形码类型以及图形码位置,对待处理图片中的图形码进行解码处理的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011300515.5A CN112464687A (zh) | 2020-11-19 | 2020-11-19 | 图形码处理方法、装置以及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011300515.5A CN112464687A (zh) | 2020-11-19 | 2020-11-19 | 图形码处理方法、装置以及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112464687A true CN112464687A (zh) | 2021-03-09 |
Family
ID=74837367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011300515.5A Pending CN112464687A (zh) | 2020-11-19 | 2020-11-19 | 图形码处理方法、装置以及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112464687A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163081A (zh) * | 2019-04-02 | 2019-08-23 | 宜通世纪物联网研究院(广州)有限公司 | 基于ssd的实时区域入侵检测方法、系统及存储介质 |
CN110378165A (zh) * | 2019-05-31 | 2019-10-25 | 阿里巴巴集团控股有限公司 | 二维码识别方法、二维码定位识别模型建立方法及其装置 |
CN110427793A (zh) * | 2019-08-01 | 2019-11-08 | 厦门商集网络科技有限责任公司 | 一种基于深度学习的条码检测方法及其系统 |
CN111291846A (zh) * | 2020-05-09 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 一种二维码生成、解码、识别方法、装置及设备 |
CN111709522A (zh) * | 2020-05-21 | 2020-09-25 | 哈尔滨工业大学 | 一种基于服务器-嵌入式协同的深度学习目标检测系统 |
-
2020
- 2020-11-19 CN CN202011300515.5A patent/CN112464687A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163081A (zh) * | 2019-04-02 | 2019-08-23 | 宜通世纪物联网研究院(广州)有限公司 | 基于ssd的实时区域入侵检测方法、系统及存储介质 |
CN110378165A (zh) * | 2019-05-31 | 2019-10-25 | 阿里巴巴集团控股有限公司 | 二维码识别方法、二维码定位识别模型建立方法及其装置 |
CN110427793A (zh) * | 2019-08-01 | 2019-11-08 | 厦门商集网络科技有限责任公司 | 一种基于深度学习的条码检测方法及其系统 |
CN111291846A (zh) * | 2020-05-09 | 2020-06-16 | 支付宝(杭州)信息技术有限公司 | 一种二维码生成、解码、识别方法、装置及设备 |
CN111709522A (zh) * | 2020-05-21 | 2020-09-25 | 哈尔滨工业大学 | 一种基于服务器-嵌入式协同的深度学习目标检测系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10482337B2 (en) | Accelerating convolutional neural network computation throughput | |
US10936911B2 (en) | Logo detection | |
CN112329888B (zh) | 图像处理方法、装置、电子设备以及存储介质 | |
CN110738203B (zh) | 字段结构化输出方法、装置及计算机可读存储介质 | |
CN109684005B (zh) | 图形界面中组件相似度确定方法及装置 | |
CN111461164B (zh) | 样本数据集的扩容方法及模型的训练方法 | |
CN112926565B (zh) | 图片文本的识别方法、系统、设备和存储介质 | |
US20210200971A1 (en) | Image processing method and apparatus | |
CN110781925B (zh) | 软件页面的分类方法、装置、电子设备及存储介质 | |
CN114120299B (zh) | 信息获取方法、装置、存储介质及设备 | |
CN113936287B (zh) | 基于人工智能的表格检测方法、装置、电子设备及介质 | |
US10438088B2 (en) | Visual-saliency driven scene description | |
CN112099882B (zh) | 一种业务处理方法、装置及设备 | |
WO2022099325A1 (en) | Transformer-based scene text detection | |
CN113711232A (zh) | 用于着墨应用的对象检测和分割 | |
CN112364821A (zh) | 一种继电保护设备电力模式数据自识别方法和自识别设备 | |
CN113705749A (zh) | 基于深度学习的二维码识别方法、装置、设备及存储介质 | |
CN111160368A (zh) | 图像中目标检测方法、装置、设备及存储介质 | |
CN116266259A (zh) | 图像文字结构化输出方法、装置、电子设备和存储介质 | |
CN114550175A (zh) | 图像处理方法、装置、电子设备和计算机可读存储介质 | |
CN111400524B (zh) | 一种基于ai的可变尺度地质图文本矢量化方法及系统 | |
CN112464687A (zh) | 图形码处理方法、装置以及终端设备 | |
CN113468906B (zh) | 图形码提取模型构建方法、识别方法、装置、设备和介质 | |
CN115601586A (zh) | 标签信息获取方法、装置、电子设备及计算机存储介质 | |
CN115620315A (zh) | 手写文本检测方法、装置、服务器和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |