CN111310507B - 识别码的识别方法、装置及设备 - Google Patents

识别码的识别方法、装置及设备 Download PDF

Info

Publication number
CN111310507B
CN111310507B CN202010067862.1A CN202010067862A CN111310507B CN 111310507 B CN111310507 B CN 111310507B CN 202010067862 A CN202010067862 A CN 202010067862A CN 111310507 B CN111310507 B CN 111310507B
Authority
CN
China
Prior art keywords
image
identification
preprocessing
identification code
modes
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.)
Active
Application number
CN202010067862.1A
Other languages
English (en)
Other versions
CN111310507A (zh
Inventor
李超
刘国翌
张家栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010067862.1A priority Critical patent/CN111310507B/zh
Publication of CN111310507A publication Critical patent/CN111310507A/zh
Application granted granted Critical
Publication of CN111310507B publication Critical patent/CN111310507B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods 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/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1465Methods for optical code recognition the method including quality enhancement steps using several successive scans of the optical code

Abstract

本申请公开了一种识别码的识别方法、装置及设备,涉及信息处理技术领域,尤其涉及目标识别技术领域。本申请公开的技术方案包括:获取对识别码进行拍摄得到的第一图像;获取多个预处理方式和所述多个预处理方式对应的顺序;根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果。由于采用了多个预处理方式对第一图像进行预处理,并对预处理后的第一图像进行识别处理,使得无论第一图像属于哪种图像类型,均可以识别出第一图像中的识别码,提高了识别码的召回率。

Description

识别码的识别方法、装置及设备
技术领域
本申请涉及信息处理技术领域,尤其涉及一种识别码的识别方法、装置及设备。
背景技术
随着互联网的快速发展,移动设备的计算能力的增强,对识别码的应用越来越广泛。识别码是指通过特定图形来记录数据符号信息的方式,例如:条形码、二维码等。识别码在移动支付、账号登陆、网站跳转、商品识别等领域被广泛使用。
现有技术中,终端设备对识别码进行扫描得到包括识别码的图像后,直接对图像进行目标检测,得到识别码对应的区域,然后再对该区域进行识别,从而得到识别码中的内容。
然而,上述识别过程的召回率较低,可能出现长时间检测不到识别码的情况,使得终端设备反复对识别码进行扫描,导致用户体验降低。
发明内容
本申请提供一种识别码的识别方法、装置及设备,用以提高识别码的召回率,提升用户体验。
第一方面,本申请提供一种识别码的识别方法,包括:获取对识别码进行拍摄得到的第一图像;获取多个预处理方式和所述多个预处理方式对应的顺序;根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果。
由于采用了多个预处理方式对第一图像进行预处理,并对预处理后的第一图像进行识别处理,使得无论第一图像属于哪种图像类型(第一图像中的识别码的尺寸、位置为哪种情况),均可以识别出第一图像中的识别码,提高了识别码的召回率。
一种可能的实现方式中,所述根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果,包括:将所述顺序中的第一个预处理方式作为当前预处理方式;执行预处理过程:采用所述当前预处理方式对所述第一图像进行预处理,得到第二图像;执行识别过程:对所述第二图像进行检测,得到所述识别码的区域,并对所述识别码的区域进行识别,得到识别结果;若未检测到所述识别码的区域,或者得到的识别结果为识别失败,则将所述当前预处理方式更新为所述顺序中的下一个预处理方式,重复执行所述预处理过程和所述识别过程,直至得到的识别结果为识别成功,或者,直至所述当前预处理方式为所述顺序中的最后一个预处理方式,且得到的识别结果为识别失败。
一种可能的实现方式中,所述多个预处理方式与多个图像类型一一对应,所述多个预处理方式的先后顺序与所述第一图像分别属于所述多个图像类型的概率大小顺序一致。
多个预处理方式的顺序是与统计数据分析出的各个图像类型的概率大小顺序一致的,也就是说,针对出现概率大的图像类型,优先采用该图像类型对应的预处理方式进行预处理,这样可以采用较少次数的预处理即可实现对识别码的识别,提高了识别码的识别效率。
一种可能的实现方式中,每个图像包括中心区域和至少一个其他区域,所述多个图像类型包括:第一图像类型、第二图像类型和第三图像类型,所述第一图像类型的图像中的识别码的尺寸占比大于或等于预设阈值,第二图像类型和第三图像类型的图像中的识别码的尺寸占比小于所述预设阈值,所述第二图像类型的图像中的识别码的位置位于所述中心区域,所述第三图像类型的图像中的识别码的位置位于所述其他区域;所述多个预处理方式按顺序依次为:第一预处理方式、第二预处理方式和第三预处理方式;其中,所述第一预处理方式用于指示对所述第一图像进行缩放处理,得到所述第二图像;所述第二预处理方式用于指示将所述第一图像的中心区域作为所述第二图像;所述第三预处理方式用于指示分别将所述第一图像的各所述其他区域作为所述第二图像。
针对上述三个图像类型的图像,分别设置了不同的预处理方式,通过采用多个预处理方式对第一图像进行预处理,得到第二图像,进而对第二图像进行识别处理,使得无论第一图像属于哪种图像类型,均能够检测出识别码的区域,并进而得到识别结果。
一种可能的实现方式中,每个所述预处理方式得到的所述第二图像的尺寸小于所述第一图像的尺寸。
通过第二图像的尺寸小于第一图像的尺寸,能够降低识别过程中的计算量,提高识别效率。
一种可能的实现方式中,所述对所述第二图像进行检测,得到所述识别码的区域,包括:将所述第二图像输入至经过训练的检测模型中,根据所述检测模型的输出结果确定所述识别码的区域;其中,所述检测模型是通过对样本数据库中的多个训练样本进行学习得到的,每个训练样本包括:样本图像和所述样本图像对应的标注信息,所述标注信息用于指示所述样本图像中的识别码的位置。
一种可能的实现方式中,所述检测模型是采用如下方式训练得到的:获取待训练的初始模型,对所述初始模型的结构进行调整,得到调整后的模型,所述调整后的模型所占内存的大小小于所述初始模型所占内存的大小;从所述样本数据库中获取多个所述训练样本;利用所述多个训练样本对所述调整后的模型进行训练,得到所述检测模型。
一种可能的实现方式中,所述初始模型包括多个卷积通道;所述对所述初始模型的结构进行调整,得到调整后的模型,包括下述中的一种或多种:对所述初始模型中的卷积通道进行调整,使得调整后的模型中的卷积通道的数量小于所述初始模型中的卷积通道的数量;或者,对所述初始模型支持的数值范围进行调整,使得调整后的模型支持的数值范围小于所述初始模型支持的数值范围。
终端设备中的内存有限,通过减小模型占用内存的大小,使得模型可以适用于各种终端设备中。并且,通过减小模型占用内存的大小,还可以提高模型运行速度,从而提升用户使用体验。
一种可能的实现方式中,所述样本数据库中包括第一类型的训练样本、第二类型的训练样本和第三类型的训练样本;其中,所述第一类型的训练样本中的样本图像是通过对识别码生成工具生成的识别码与自然图像进行融合得到的,所述第二类型的训练样本中的样本图像是通过互联网获取的,所述第三类型的训练样本中的样本图像是历史识别过程中得到的识别结果为识别失败的第一图像。
一种可能的实现方式中,所述从所述样本数据库中获取多个所述训练样本,包括:对所述样本数据库中的不同类型的训练样本进行采样,得到所述多个训练样本;其中,所述第一类型的训练样本的采样率小于所述第二类型的训练样本的采样率,所述第二类型的训练样本的采样率小于所述第三类型的训练样本的采样率。
通过设置多种类型的训练样本,能够提高模型对多种图像中的识别码的检测能力。通过对第三类训练样本设置较高的采样率,可以保证训练出的检测模型对于在线回流类型的数据有更好的检测效果。
一种可能的实现方式中,若所述当前预处理方式为所述顺序中的最后一个预处理方式,并且得到的所述识别结果为识别失败,则所述方法还包括:发送所述第一图像以及所述第一图像对应的识别码检测结果。
一种可能的实现方式中,若所述当前预处理方式为所述顺序中的最后一个预处理方式,并且得到的所述识别结果为识别失败,则所述方法还包括:在所述第一图像中确定目标区域,所述目标区域能够覆盖多个检测区域,所述多个检测区域为根据所述多个预处理方式分别对所述第二图像进行检测得到的检测结果;根据所述目标区域,确定拍摄参数,并根据所述拍摄参数对所述识别码进行拍摄得到第三图像。
第二方面,本申请提供一种识别码的识别装置,包括:第一获取模块,用于获取对识别码进行拍摄得到的第一图像;第二获取模块,用于获取多个预处理方式和所述多个预处理方式对应的顺序;识别模块,用于根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果。
一种可能的实现方式中,所述识别模块具体用于:将所述顺序中的第一个预处理方式作为当前预处理方式;执行预处理过程:采用所述当前预处理方式对所述第一图像进行预处理,得到第二图像;执行识别过程:对所述第二图像进行检测,得到所述识别码的区域,并对所述识别码的区域进行识别,得到识别结果;若未检测到所述识别码的区域,或者得到的识别结果为识别失败,则将所述当前预处理方式更新为所述顺序中的下一个预处理方式,重复执行所述预处理过程和所述识别过程,直至得到的识别结果为识别成功,或者,直至所述当前预处理方式为所述顺序中的最后一个预处理方式,且得到的识别结果为识别失败。
一种可能的实现方式中,所述多个预处理方式与多个图像类型一一对应,所述多个预处理方式的先后顺序与所述第一图像分别属于所述多个图像类型的概率大小顺序一致。
一种可能的实现方式中,每个图像包括中心区域和至少一个其他区域,所述多个图像类型包括:第一图像类型、第二图像类型和第三图像类型,所述第一图像类型的图像中的识别码的尺寸占比大于或等于预设阈值,第二图像类型和第三图像类型的图像中的识别码的尺寸占比小于所述预设阈值,所述第二图像类型的图像中的识别码的位置位于所述中心区域,所述第三图像类型的图像中的识别码的位置位于所述其他区域;所述多个预处理方式按顺序依次为:第一预处理方式、第二预处理方式和第三预处理方式;其中,所述第一预处理方式用于指示对所述第一图像进行缩放处理,得到所述第二图像;所述第二预处理方式用于指示将所述第一图像的中心区域作为所述第二图像;所述第三预处理方式用于指示分别将所述第一图像的各所述其他区域作为所述第二图像。
一种可能的实现方式中,每个所述预处理方式得到的所述第二图像的尺寸小于所述第一图像的尺寸。
一种可能的实现方式中,所述识别模块具体用于:将所述第二图像输入至经过训练的检测模型中,根据所述检测模型的输出结果确定所述识别码的区域;其中,所述检测模型是通过对样本数据库中的多个训练样本进行学习得到的,每个训练样本包括:样本图像和所述样本图像对应的标注信息,所述标注信息用于指示所述样本图像中的识别码的位置。
一种可能的实现方式中,所述检测模型是采用如下方式训练得到的:获取待训练的初始模型,对所述初始模型的结构进行调整,得到调整后的模型,所述调整后的模型所占内存的大小小于所述初始模型所占内存的大小;从所述样本数据库中获取多个所述训练样本;利用所述多个训练样本对所述调整后的模型进行训练,得到所述检测模型。
一种可能的实现方式中,所述初始模型包括多个卷积通道;所述对所述初始模型的结构进行调整,得到调整后的模型,包括下述中的一种或多种:对所述初始模型中的卷积通道进行调整,使得调整后的模型中的卷积通道的数量小于所述初始模型中的卷积通道的数量;或者,对所述初始模型支持的数值范围进行调整,使得调整后的模型支持的数值范围小于所述初始模型支持的数值范围。
一种可能的实现方式中,所述样本数据库中包括第一类型的训练样本、第二类型的训练样本和第三类型的训练样本;其中,所述第一类型的训练样本中的样本图像是通过对识别码生成工具生成的识别码与自然图像进行融合得到的,所述第二类型的训练样本中的样本图像是通过互联网获取的,所述第三类型的训练样本中的样本图像是历史识别过程中得到的识别结果为识别失败的第一图像。
一种可能的实现方式中,所述从所述样本数据库中获取多个所述训练样本,包括:对所述样本数据库中的不同类型的训练样本进行采样,得到所述多个训练样本;其中,所述第一类型的训练样本的采样率小于所述第二类型的训练样本的采样率,所述第二类型的训练样本的采样率小于所述第三类型的训练样本的采样率。
一种可能的实现方式中,所述装置还包括发送模块,用于发送所述第一图像以及所述第一图像对应的识别码检测结果。
一种可能的实现方式中,所述装置还包括调整模块,用于在所述第一图像中确定目标区域,所述目标区域能够覆盖多个检测区域,所述多个检测区域为根据所述多个预处理方式分别对所述第二图像进行检测得到的检测结果;根据所述目标区域,确定拍摄参数,并根据所述拍摄参数对所述识别码进行拍摄得到第三图像。
第三方面,本申请提供一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面任一项所述的方法。
第四方面,本申请提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如第一方面任一项所述的方法。
本申请提供的识别码的识别方法、装置及设备,该方法包括:获取对识别码进行拍摄得到的第一图像;获取多个预处理方式和所述多个预处理方式对应的顺序;根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果。由于采用了多个预处理方式对第一图像进行预处理,并对预处理后的第一图像进行识别处理,使得无论第一图像属于哪种图像类型(第一图像中的识别码的尺寸、位置为哪种情况),均可以识别出第一图像中的识别码,提高了识别码的召回率。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例中条形码和二维码的示意图;
图2A为本申请实施例的一种可能的应用场景的示意图;
图2B为本申请实施例的另一种可能的应用场景的示意图;
图3为本申请一个实施例提供的识别码的识别方法的流程示意图;
图4为本申请另一个实施例提供的识别码的识别方法的流程示意图;
图5A至图5C为本申请实施例提供的多个预处理方式的示意图;
图6为本申请一个实施例提供的检测模型的训练方法的示意图;
图7为本申请实施例提供的检测模型的结构示意图;
图8为本申请实施例提供的一种可能的系统架构示意图;
图9为本申请一个实施例提供的识别码的识别装置的结构示意图;
图10为本申请另一个实施例提供的识别码的识别装置的结构示意图;
图11为本申请一个实施例提供的电子设备的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着互联网的快速发展,移动设备的计算能力不断增强,对识别码的应用越来越广泛。识别码是指通过特定图形来记录数据符号信息的方式,本实施例中的识别码包括但不限于:条形码、二维码等。
其中,条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。二维码又称二维条码,是指用某种特定的几何图形按一定规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形。图1为本申请实施例中条形码和二维码的示意图。需要说明的是,图1所示仅以示例,条形码和二维码还可能存在其他的各种形式。例如:二维码除了可以为方形的,还可以为圆形的、椭圆形的、三角形的、心形的等;二维码除了可以采用背白相间的图形,还可以采用其他颜色的图形;等。
能够理解,随着技术的不断发展和演技,识别码可能会出现各种不同的形式。本实施例中,将条形码、二维码等用于记录数据符号信息的图形统称为识别码,对于识别码的具体形式并不作限定。
下面结合图2A和图2B描述本申请实施例的两种可能的应用场景。
图2A为本申请实施例的一种可能的应用场景的示意图。如图2A所示,终端设备10可以对任意位置展示的识别码进行扫描识别。示例性的,图2A中以终端设备10为手机、识别码为二维码为例,终端设备10打开扫一扫功能,然后将终端设备10的摄像头对准二维码区域进行扫描拍摄,并对拍摄到的图像中的二维码进行识别,从而得到该二维码中记录的信息。其中,该二维码可以是张贴在墙壁、柜台等位置,该二维码还可以是其他终端设备的屏幕展示的。二维码中记录的信息可以为支付信息、账号登录信息、网站跳转信息、商品信息等。
图2B为本申请实施例的另一种可能的应用场景的示意图。如图2B所示,该场景中包括终端设备10和终端设备20,其中,终端设备10可以为手机等能够展示识别码的设备,终端设备20为用于对识别码进行识别的设备。示例性的,终端设备20的摄像头对准终端设备10的屏幕展示的二维码后,对终端设备10所展示的二维码进行扫描拍摄,并对拍摄得到的图像中的二维码进行识别,得到二维码中记录的信息。该场景中,二维码中记录的信息通常为移动支付信息、商品信息等。
需要说明的是,图2A和图2B仅示例了两种可能的应用场景,实际应用中,还可能存在其他的应用场景,本实施例对此并不作限定。
本实施例的方法可以由具有拍摄功能的终端设备执行,例如:可以由图2A中的终端设备10执行,还可以由图2B中的终端设备20执行。本实施例的终端设备包括但不限于:手机、智能穿戴设备、虚拟现实设备、增强现实设备、智能家居设备、笔记本电脑、平板电脑、收银终端等。
本实施例提供的识别码的识别方法,通过根据多个预处理方式和多个预处理方式对应的顺序,对待识别图像进行预处理,以及对预处理后的图像进行识别处理,得到识别码的识别结果,能够提高识别码的召回率,避免长时间检测不到识别码的情况,从而提升用户体验。
下面结合几个具体的实施例对本申请的技术方案进行详细描述。下面几个实施例可以相互结合,对于相同或者相似的内容在某些实施例中可能不再重复描述。
图3为本申请一个实施例提供的识别码的识别方法的流程示意图。如图3所示,本实施例的方法包括:
S301:获取对识别码进行拍摄得到的第一图像。
本实施例的方法由包括摄像头的终端设备执行。当终端设备的摄像头对准识别码时,摄像头对识别码进行拍摄得到第一图像。第一图像为包括识别码的图像。第一图像为待识别的图像。
本实施例的识别码包括但不限于:条形码和二维码。
S302:获取多个预处理方式和所述多个预处理方式对应的顺序。
S303:根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果。
能够理解,在不同的应用场景中,由于终端设备与展示的识别码之间的距离不同,终端设备对识别码进行拍摄得到的第一图像中,识别码的尺寸和位置也可能不同。例如:有些场景中,第一图像中包括了完整的识别码,并且识别码占据了第一图像中的大部分区域,而有些场景中,识别码仅占据了第一图像中的小部分区域,甚至有些场景中,第一图像中仅包括了识别码的部分区域,即第一图像中没有包括完整的识别码。
现有技术中,终端设备对识别码进行识别时,是对拍摄得到的第一图像直接进行识别处理。由于第一图像中的识别码的尺寸和位置可能存在多种情况,因此,现有技术对第一图像进行识别时,经常出现长时间检测不到识别码的情况,即识别码的召回率较低,使得终端设备反复对识别码进行扫描,导致用户体验较低。
而本申请实施例中,获取多个预处理方式和所述多个预处理方式对应的顺序,并根据多个预处理方式和所述多个预处理方式对应的顺序,对第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到识别码的识别结果。
其中,预处理是指在对第一图像进行识别处理之前对第一图像进行的处理。通过根据多个预处理方式对第一图像进行预处理,能够消除第一图像中的识别码的尺寸、位置等因素导致的对第一图像的识别结果的影响。示例性的,当第一图像中的识别码的尺寸占比较小时,可以采用预处理方式1对第一图像进行预处理,使得预处理后的第一图像中的识别码的尺寸占比大于预设值,以便于检测得到第一图像中的识别码。当第一图像中的识别码的位置靠近边缘时,可以采用预处理方式2对第一图像进行预处理,使得预处理后的第一图像中的识别码的位置靠近中心区域,以便于检测得到第一图像中的识别码。
实际应用中,可以针对拍摄过程中可能出现的各种情况(拍摄得到的第一图像中的识别码的尺寸、位置等的各种影响识别结果的情况),分别设置对应的预处理方式。本实施例对于预处理方式的数量不作限定。
本实施例中,多个预处理方式的顺序可以是任意的。通过遍历多个预处理方式便可以消除第一图像中的识别码的尺寸、位置等各种因素的影响,使得第一图像中的识别码能够被识别到。
可选的,多个预处理方式与多个图像类型一一对应,多个预处理方式的先后顺序与第一图像分别属于多个图像类型的概率大小顺序一致。本实施例中,一个图像类型可以对应上述的一种可能的情况(拍摄得到的第一图像中的识别码的尺寸、位置等的各种影响识别结果的情况)。示例性的,若第一图像中的识别码的尺寸占比较小,则该第一图像属于图像类型1;若第一图像中的识别码的位置靠近边缘,则该第一图像属于图像类型2;若第一图像中的识别码不完整,则该第一图像属于图像类型3。
以上述3个图像类型为例,可以分别针对上述3个图像类型设置对应的预处理方式(例如:上述3个图像类型对应的预处理方式依次为预处理方式1、预处理方式2、预处理方式3),用于对上述的图像类型进行纠正。进而,可以通过统计数据分析出这3个图像类型的出现概率,即拍摄得到的第一图像分别属于3个图像类型的概率。假设图像类型1的概率>图像类型2的概率>图像类型3的概率,则可以按照上述概率大小的顺序,来设置3个预处理方式的顺序,即,预处理方式1->预处理方式2->预处理方式3。
能够理解,由于上述的拍摄过程出现的各个图像类型概率是根据统计数据分析得到的,因此,按照该概率大小的顺序确定出的多个预处理方式的顺序也是确定的。故而,实际应用中,在第一次执行本实施例的方法时,S302可以具体为根据统计数据的分析结果,获取多个预处理方式和多个预处理方式对应的顺序。第一次执行本实施例的方法后还可以对多个预处理方式以及多个预处理方式对应的顺序进行存储。这样,后续再次执行本实施例的方法时,则可以直接根据存储数据,获取多个预处理方式和多个预处理方式对应的顺序。
以3个预处理方式为例,假设顺序依次为:预处理方式1、预处理方式2和预处理方式3,则可以首先采用预处理方式1对第一图像进行预处理,并对预处理后的第一图像进行识别处理。若识别结果为识别成功,则无需执行后续的预处理方式。若识别结果为识别失败,则再采用预处理方式2对第一图像进行识别处理。若识别结果为识别成功,则无需执行后续的预处理方式。若识别结果为识别失败,则再采用预处理方式3对第一图像进行识别处理,得到识别码的识别结果。
上述识别过程中,由于采用了多个预处理方式对第一图像进行预处理,并对预处理后的第一图像进行识别处理,使得无论第一图像属于哪种图像类型(第一图像中的识别码的尺寸、位置为哪种情况),均可以识别出第一图像中的识别码,提高了识别码的召回率。进一步的,多个预处理方式的顺序是与统计数据分析出的各个图像类型的概率大小顺序一致的,也就是说,针对出现概率大的图像类型,优先采用该图像类型对应的预处理方式进行预处理,这样可以采用较少次数的预处理即可实现对识别码的识别,提高了识别码的识别效率。
本实施例提供的识别码的识别方法,包括:获取对识别码进行拍摄得到的第一图像;获取多个预处理方式和所述多个预处理方式对应的顺序;根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果。由于采用了多个预处理方式对第一图像进行预处理,并对预处理后的第一图像进行识别处理,使得无论第一图像属于哪种图像类型(第一图像中的识别码的尺寸、位置为哪种情况),均可以识别出第一图像中的识别码,提高了识别码的召回率。
图4为本申请另一个实施例提供的识别码的识别方法的流程示意图。本实施例的方法对图3所示的实施例进行进一步的细化。如图4所示,本实施例的方法,包括:
S401:获取对识别码进行拍摄得到的第一图像。
S402:获取多个预处理方式和所述多个预处理方式对应的顺序。
本实施例中的S401和S402的实施方式与图3所示实施例类似,此处不再赘述。
S403:将所述顺序中的第一个预处理方式作为当前预处理方式。
S404:采用所述当前预处理方式对所述第一图像进行预处理,得到第二图像。
S405:对所述第二图像进行检测,得到所述识别码的区域,并对所述识别码的区域进行识别,得到识别结果。
可选的,可以将第二图像输入至经过训练的检测模型中,根据检测模型的输出结果确定识别码的区域。其中,检测模型可以是通过对样本数据库中的多个训练样本进行学习得到的。本实施例对于检测模型不作具体限定。一种可能的检测模型的结构以及训练方式可以参见后续实施例的详细描述。
在对识别码的区域进行识别时,可以采用现有的识别技术进行,本实施例对此不作详述。
S406:若得到的识别结果为识别成功,则结束。
S407:若未检测到所述识别码的区域,或者得到的识别结果为识别失败,则将所述当前预处理方式更新为所述顺序中的下一个预处理方式,重复执行S404和S405,直至得到的识别结果为识别成功,或者,直至所述当前预处理方式为所述顺序中的最后一个预处理方式,且得到的识别结果为识别失败。
本实施例中,按照图像中的识别码在图像中的尺寸、位置情况将图像划分为三个图像类型,分别为:第一图像类型、第二图像类型和第三图像类型。每个图像可以划分为中心区域和其他区域(也可以称为非中心区域,或者边界区域)。其他区域的数量可以为一个或者多个,例如,可以将图像的每个顶点附近的区域分别作为其他区域。中心区域和其他区域之间可以存着交集,也可以不存在交集。其中,第一图像类型的图像中的识别码的尺寸占比大于或者等于预设阈值。第二图像类型和第三图像类型中的图像中的识别码的尺寸占比小于所述预设阈值,所述第二图像类型的图像中的识别码的位置位于中心区域,所述第三图像类型的图像中的识别码的位置位于其他区域。
可以通过统计数据分析得到三种图像类型的图像的概率大小。示例性的,可以对实际应用中终端设备采集到的待识别图像进行统计。统计结果显示如下:
大约90%图像中的识别码与图像的尺寸占比大于或等于第一阈值(例如:识别码的最长边大于图像边长的30%,或者识别码的面积与图像面积的占比大于30%,等),将这些图像称为第一图像类型,也可以称为大占比图像类型。由于这些图像中的识别码的尺寸占比较大,因此,在对识别码进行识别时,很容易检测出来并得到识别结果。
另外,大约8%的图像中的识别码与图像的尺寸占比小于第一阈值且大于第二阈值(例如:识别码的最长边与图像边长的占比在10%-30%之间,或者识别码的面积与图像面积的占比在10%-30%之间,等),将这些图像可以称为中占比图像类型。大约只有2%的图像中的识别码与图像的尺寸占比小于第二阈值(例如:识别码的最长边与图像边长的占比小于10%,或者,识别码的面积与图像面积的占比小于10%,等)。将这些图像称为小占比图像类型。
在上述统计结果的基础上,还对识别码在图像中的位置进行了统计,统计分析结果如下:对于中占比图像类型和小占比图像类型的图像,大约90%的情况下识别码是位于图像的中心区域的。本实施例中将中占比图像和小占比图像中识别码位于图像中心区域的图像称为第二图像类型。大约10%的情况下识别码是位于图像的其他区域的,例如:位于图像的靠近顶点的区域。本实施例中,将中占比图像和小占比图像中识别码位于其他区域的图像称为第三图像类型。由于第二图像类型的图像中的识别码的位置靠近图像的中心区域,因此,在对识别码进行识别时,能够相对容易检测出来并得到识别结果。而第三图像类型的图像中的识别码的位置通常不定,因此,在对识别码进行识别时,这类图像中的识别码通常很难被检测出来。
本实施例中,针对上述三个图像类型的图像,分别设置了不同的预处理方式,通过采用多个预处理方式对第一图像进行预处理,得到第二图像,进而对第二图像进行识别处理,使得无论第一图像属于哪种图像类型,均能够检测出识别码的区域,并进而得到识别结果。
本实施例中,第一图像类型对应的预处理方式为第一预处理方式,第二图像类型对应的预处理方式为第二预处理方式,第三图像类型对应的预处理方式为第三预处理方式。由于第一图像类型的概率>第二图像类型的概率>第三图像类型的概率,因此,这3个预处理方式的顺序为:第一预处理方式->第二预处理方式->第三预处理方式。
其中,第一预处理方式用于指示不对第一图像进行裁剪处理,而仅对第一图像进行缩放处理,得到第二图像。由于第一图像属于第一图像类型的概率为90%,即第一图像本身较大概率属于容易被检测出识别码的图像,因此,在对第一图像进行预处理时,可以根据实际情况对第一图像进行缩放处理即可。通过对第一图像首先进行第一预处理方式的预处理,能够保证对大占比图像类型中的识别码进行召回,同时也能召回一定量的中占比图像类型中的识别码。
当然,也可以直接将第一图像作为第二图像,即缩放比例为1。示例性的,假设第一图像的尺寸为500*500,则可以直接将第一图像输入到检测模型中进行检测。可选的,还可以对第一图像进行缩小处理,得到第二图像,将第二图像输入到检测模型中进行检测。
图5A至图5C为本申请实施例提供的多个预处理方式的示意图。如图5A所示,假设第一图像的尺寸为500*500,则在采用第一预处理方式时,可以对第一图像进行缩小处理,例如缩小至300*300,然后输入至检测模型进行检测,这样在保证较大概率召回识别码的同时还能够有效降低计算量,提高检测速度。
在采用第一预处理方式对第一图像进行预处理后,若依然无法检测得到识别码的区域或者识别结果为失败的话,则说明该第一图像很大概率属于第二图像类型。因此,可以采用第二预处理方式对第一图像进行预处理。所述第二预处理方式用于指示将所述第一图像的中心区域作为所述第二图像,这样可以保证大概率的从第二图像中检测得到识别码的区域。其中,中心区域是指以第一图像的中心点为中心向四周扩展出的区域。示例性的,如图5B所示,在采用第二预处理方式时,可以对第一图像中的中心300*300的区域进行裁剪作为第二图像,输入至检测模型进行检测。通过采用第二预处理方式对第一图像进行预处理,能够保证对第二图像类型的图像中的识别码的召回。
在采用第二预处理方式对第一图像进行预处理后,若依然无法检测得到识别码的区域或者识别结果为失败的话,则说明该第一图像很大概率属于第三图像类型。因此,可以采用第三预处理方式对第一图像进行预处理。所述第三预处理方式用于指示分别将所述第一图像的各其他区域作为所述第二图像。可选的,相邻的两个所述其他区域之间可以存在重叠像素。示例性的,如图5C所示,在采用第三预处理方式时,可以将第一图像中的4个顶点区域分别裁剪300*300的区域作为第二图像,这样可以得到4个300*300的第二图像。将4个第二图像分别输入至检测模型进行检测。能够理解,4个第二图像中会存在100像素的重叠,这样可以有效避免识别码位于裁剪线附近时的遗漏检测。
本实施例中,对于上述三种图像类型的图像中识别码均能够成功召回,提高了识别码的召回率。相对于直接使用较大的输入(500*500)进行检测,本实施例可以在90%的情况下只经过第一预处理方式进行预处理即可检测、识别成功,计算量降低为9/25。在剩余的10%的情况下,有80%的情况可以识别成功,也就是说,8%的情况可以将计算量降低为18/25,只有余下的2%的情况需要和较大的输入(500*500)相当的计算量。可见,在保证召回率的情况下,还能够有效降低计算量,提高识别速度。
一种可能的实施方式中,若所述当前预处理方式为所述顺序中的最后一个预处理方式,并且得到的所述识别结果为识别失败,即,该第一图像经过多个预处理方式的预处理后依然识别失败(包括两种情况:一种情况是无法检测到识别码的区域,另一种情况是虽然检测到识别码的区域但是识别不出识别码中的内容),则本实施例还可以包括S408。
S408:在所述第一图像中确定目标区域,所述目标区域能够覆盖多个检测区域,所述多个检测区域为根据所述多个预处理方式分别对所述第二图像进行检测得到的检测结果;根据所述目标区域,确定拍摄参数,并根据所述拍摄参数对所述识别码进行拍摄得到第三图像。
其中,目标区域可以是能够覆盖多个检测区域的最小区域。也就是说,根据多个预处理方式分别对第二图像进行检测得到的检测结果(识别码可能的位置),来确定出能够覆盖这些检测结果的最小区域作为目标区域。从而对拍摄参数进行调整,使得调整后的拍摄参数能够拍摄到该目标区域。其中,拍摄参数包括但不限于:镜头与展示识别码之间的距离、焦距等参数。例如:可以通过拉远镜头或者拉近镜头来对识别码进行重新拍摄,得到第三图像,然后将第三图像作为待识别码的图像,重新执行本实施例的方法,直至得到识别码的识别结果。
一种可能的实施方式中,若所述当前预处理方式为所述顺序中的最后一个预处理方式,并且得到的所述识别结果为识别失败,即,该第一图像经过多个预处理方式的预处理后依然识别失败(包括两种情况:一种情况是无法检测到识别码的区域,另一种情况是虽然检测到识别码的区域但是识别不出识别码中的内容),则说明本实施例的识别方法对第一图像中的识别码的识别效果不好。因此,本实施例还可以包括下述步骤:
发送所述第一图像以及所述第一图像对应的识别码检测结果。
示例性的,将第一图像以及第一图像对应的识别码检测结果发送至服务器,以使服务器将第一图像添加至样本数据库中。其中,识别码检测结果是指对第一图像进行检测得到的识别码的位置信息。一个示例中,对于检测模型检测到第一图像中的识别码的区域的情况,服务器可以将检测模型的检测结果作为第一图像的标注信息,并经过人工校验,若标注信息错误,可以对标注信息进行人工标注,将校验后的标注信息添加至样本数据库中。另一个示例中,对于检测模型没有检测到识别码的区域的情况,可以由人工对第一图像中的识别码进行标注,然后服务器将第一图像和第一图像的标注信息添加至样本数据库中。
通过将第一图像以及第一图像的标注信息添加至样本数据库中,这样,样本数据库中也会存在一部分训练样本是来自于实际检测过程中的真实数据。进而,可以利用样本数据库中的训练样本对检测模型进行重新训练,增强检测模型对这部分样本数据的学习能力,使得检测模型逐渐具有对各类图像中的识别码进行检测识别的能力,从而不断提升检测模型的适应性,提高检测模型的召回率。
下面结合一个具体的实施例,详细描述检测模型的训练过程。
图6为本申请一个实施例提供的检测模型的训练方法的示意图。本实施例的方法可以由上述的终端设备执行,还可以由服务器执行,本实施例对此不作限定。当由服务器执行时,服务器训练得到检测模型后,将检测模型部署到终端设备中。
如图6所示,本实施例的方法,包括:
S601:获取待训练的初始模型,对所述初始模型的结构进行调整,得到调整后的模型,所述调整后的模型所占内存的大小小于所述初始模型所占内存的大小。
其中,初始模型可以是现有的用于目标检测的任意模型,本实施例对于初始模型的结构不作限定。可选的,初始模型为卷积神经网络模型。为了描述方便,本实施例以初始模型为SSD(Single Shot MultiBox Detector)检测框架为例进行描述。如图7所示,SSD检测框架包括特征提取模块和检测模块。其中,特征提取模块中包括多个卷积通道,用于通过卷积操作提取图像中的特征信息。特征提取模块可以采用多种卷积模型。可选的,由于识别码的结果信息比较明显,特征较为单一,因此为了降低计算量,保证检测的时效性,可以采用MobileNet模型进行特征提取。MobileNet模型中包括多个卷积通道。如图7所示,采用C1、C2、C3、…来示意卷积通道。检测模块中包括检测单元和非极大值抑制单元。检测单元对各个卷积通道提取的特征进行分析,得到识别码的位置信息和类别信息(例如:识别码为条形码、二维码、背景等)。非极大值抑制单元用于对检测单元输出的多个检测结果进行非极大值抑制处理,得到最终的检测结果。
本实施例中,获取到初始模型后,对所述初始模型的结构进行调整,得到调整后的模型。其中,调整的目的是为了使得调整后的模型能够适应移动终端对模型占用内存大小的需求以及模型运行速度的需求。能够理解,终端设备中的内存有限,通过减小模型占用内存的大小,使得模型可以适用于各种终端设备中。并且,通过减小模型占用内存的大小,还可以提高模型运行速度,从而提升用户使用体验。
一种可能的实施方式中,对所述初始模型中的卷积通道进行调整,使得调整后的模型中的卷积通道的数量小于所述初始模型中的卷积通道的数量。示例性的,对MobileNet模型中的卷积通道进行深度的裁剪,例如,只保留20%的卷积通道,在降低模型占用内存大小的同时,还可以将计算量降低至原始的20%。
另一种可能的实施方式中,对所述初始模型支持的数值范围进行调整,使得调整后的模型支持的数值范围小于所述初始模型支持的数值范围。示例性的,初始模型支持的数值范围为FLOAT32,可以通过对初始模型进行INT8量化训练,使得调整后的模型支持的数值范围为INT8。这样,调整后的模型占用内存的大小可以降低为初始模型的25%,同时,计算量也降低为初始模型的25%。
需要说明的是,上述两种可能的实施方式是可以叠加使用的。即,将卷积通道的数量降低为25%的同时,使用INT8量化,使得调整后的模型占用内存的大小降低为初始模型的1/14,计算量降低为初始模型的1/10。
S602:从样本数据库中获取多个所述训练样本。
样本数据库为用于存储训练样本的数据库。其中,每个训练样本包括:样本图像和所述样本图像对应的标注信息,所述标注信息用于指示所述样本图像中的识别码的位置。
能够理解,训练样本的数量和质量会直接或者间接影响到检测模型的检测效果。例如,如果训练样本中较大目标(识别码)的占比远多于较小目标的占比,则训练得到的模型对较小目标的检测效果较差。另外,样本数据库中的样本数据通常为当前已出现的识别码对应的样本数据,当新型的识别码(例如:彩色识别码、圆形识别码等)出现时,由于样本数据库中没有相应的训练样本,使得检测模型也无法检测识别到新型的识别码。
本实施例中,考虑到训练样本的获取成本以及检测模型的学习能力,可以根据训练样本的来源将训练样本划分为三类。也就是说,样本数据库中包括第一类型的训练样本、第二类型的训练样本和第三类型的训练样本。
其中,第一类型的训练样本中的样本图像是通过对识别码生成工具生成的识别码与自然图像进行融合得到的。考虑到初始数据的获取成本较高,因此,初始训练检测模型时,可以使用识别码生成工具生成一批识别码,将这些识别码与自然图像进行融合,得到样本图像,以模拟真实场景中的数据。由于该类型的训练样本是人工合成的,因此,该类型的训练样本中的样本图像的标注信息也是显而易见的。
第二类型的训练样本中的样本图像是通过互联网获取的。示例性的,通过互联网挖掘包括识别码的图像作为样本图像,由于这些样本图像中是不包括标注信息的,因此,需要人工对这些样本图像中的识别码的位置进行标注,然后将样本图像和对应的标注信息作为第二类型的训练样本。
第三类型的训练样本中的样本图像是历史识别过程中得到的识别结果为识别失败的第一图像。也就是说,第三类型的训练样本中的样本图像是终端设备在线检测回流的数据,主要将终端设备未检测到识别码的第一图像回流至样本数据库中,作为第三类型的训练样本。一个示例中,对于检测模型检测到第一图像中的识别码的区域的情况,可以将检测模型的检测结果作为第一图像的标注信息,并经过人工校验,若标注信息错误,可以对标注信息进行人工标注,将校验后的标注信息添加至样本数据库中。另一个示例中,对于检测模型没有检测到识别码的区域的情况,可以由人工对第一图像中的识别码进行标注,然后将第一图像和第一图像的标注信息添加至样本数据库中。
样本数据库中包括上述三种类型的训练样本,在训练阶段从样本数据库中选择待训练的多个训练样本时,可以结合实际情况,采用不同的选择策略。示例性的,对所述样本数据库中的不同类型的训练样本进行采样,得到所述多个训练样本;其中,所述第一类型的训练样本的采样率小于所述第二类型的训练样本的采样率,所述第二类型的训练样本的采样率小于所述第三类型的训练样本的采样率。这样,可以保证训练出的检测模型对于在线回流类型的数据有更好的检测效果。
S603:利用所述多个训练样本对所述调整后的模型进行训练,得到所述检测模型。
能够理解,对多个训练样本进行训练的过程属于现有技术,本实施例对此不作详述。
图8为本申请实施例提供的一种可能的系统架构示意图。如图8所示,包括:样本数据库、训练设备和执行设备。其中,样本数据库可以集成到训练设备中,也可以独立于训练设备。一些场景中,训练设备和执行设备可以集成到同一电子设备中。另一些场景中,训练设备和执行设备独立存在,训练设备训练得到检测模型后,将检测模型部署到执行设备中。
如图8所示,样本数据库中包括3种类型的训练样本,训练设备通过对样本数据库中的训练样本进行学习,得到检测模型。其中,训练设备对训练样本进行学习的过程可以采用图6所示实施例的技术方案。检测模型被部署到执行设备中,当执行设备拍摄到包括识别码的图像时,可以利用检测模型对该图像中的识别码进行识别,得到识别结果。其中,执行设备的识别过程可以采用如图3或图4所示实施例的技术方案。若执行设备未检测到识别码区域或者识别结果为失败,则将当前的待识别图像添加至样本数据库中。这样可以实现检测模型的持续迭代,提升检测模型的检测能力,不断提高识别码的召回率。
图9为本申请一个实施例提供的识别码的识别装置的结构示意图。本实施例的装置可以为软件和/或硬件的形式。如图9所示,本实施例提供的识别码的识别装置1000,包括:第一获取模块1001、第二获取模块1002和识别模块1003。其中,
第一获取模块,用于获取对识别码进行拍摄得到的第一图像;第二获取模块,用于获取多个预处理方式和所述多个预处理方式对应的顺序;识别模块,用于根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果。
本实施例的装置,可用于执行如图3所示的方法实施例,其实现原理和技术效果类似,此处不再赘述。
图10为本申请另一个实施例提供的识别码的识别装置的结构示意图。在图9所示实施例的基础上,如图10所示,本实施例的装置,还可以包括:发送模块1004和调整模块1005。
一种可能的实现方式中,所述识别模块1003具体用于:将所述顺序中的第一个预处理方式作为当前预处理方式;执行预处理过程:采用所述当前预处理方式对所述第一图像进行预处理,得到第二图像;执行识别过程:对所述第二图像进行检测,得到所述识别码的区域,并对所述识别码的区域进行识别,得到识别结果;若未检测到所述识别码的区域,或者得到的识别结果为识别失败,则将所述当前预处理方式更新为所述顺序中的下一个预处理方式,重复执行所述预处理过程和所述识别过程,直至得到的识别结果为识别成功,或者,直至所述当前预处理方式为所述顺序中的最后一个预处理方式,且得到的识别结果为识别失败。
一种可能的实现方式中,所述多个预处理方式与多个图像类型一一对应,所述多个预处理方式的先后顺序与所述第一图像分别属于所述多个图像类型的概率大小顺序一致。
一种可能的实现方式中,每个图像包括中心区域和至少一个其他区域,所述多个图像类型包括:第一图像类型、第二图像类型和第三图像类型,所述第一图像类型的图像中的识别码的尺寸占比大于或等于预设阈值,第二图像类型和第三图像类型的图像中的识别码的尺寸占比小于所述预设阈值,所述第二图像类型的图像中的识别码的位置位于所述中心区域,所述第三图像类型的图像中的识别码的位置位于所述其他区域;所述多个预处理方式按顺序依次为:第一预处理方式、第二预处理方式和第三预处理方式;其中,所述第一预处理方式用于指示对所述第一图像进行缩放处理,得到所述第二图像;所述第二预处理方式用于指示将所述第一图像的中心区域作为所述第二图像;所述第三预处理方式用于指示分别将所述第一图像的各所述其他区域作为所述第二图像。
一种可能的实现方式中,每个所述预处理方式得到的所述第二图像的尺寸小于所述第一图像的尺寸。
一种可能的实现方式中,所述识别模块1003具体用于:将所述第二图像输入至经过训练的检测模型中,根据所述检测模型的输出结果确定所述识别码的区域;其中,所述检测模型是通过对样本数据库中的多个训练样本进行学习得到的,每个训练样本包括:样本图像和所述样本图像对应的标注信息,所述标注信息用于指示所述样本图像中的识别码的位置。
一种可能的实现方式中,所述检测模型是采用如下方式训练得到的:获取待训练的初始模型,对所述初始模型的结构进行调整,得到调整后的模型,所述调整后的模型所占内存的大小小于所述初始模型所占内存的大小;从所述样本数据库中获取多个所述训练样本;利用所述多个训练样本对所述调整后的模型进行训练,得到所述检测模型。
一种可能的实现方式中,所述初始模型包括多个卷积通道;所述对所述初始模型的结构进行调整,得到调整后的模型,包括下述中的一种或多种:对所述初始模型中的卷积通道进行调整,使得调整后的模型中的卷积通道的数量小于所述初始模型中的卷积通道的数量;或者,对所述初始模型支持的数值范围进行调整,使得调整后的模型支持的数值范围小于所述初始模型支持的数值范围。
一种可能的实现方式中,所述样本数据库中包括第一类型的训练样本、第二类型的训练样本和第三类型的训练样本;其中,所述第一类型的训练样本中的样本图像是通过对识别码生成工具生成的识别码与自然图像进行融合得到的,所述第二类型的训练样本中的样本图像是通过互联网获取的,所述第三类型的训练样本中的样本图像是历史识别过程中得到的识别结果为识别失败的第一图像。
一种可能的实现方式中,所述从所述样本数据库中获取多个所述训练样本,包括:对所述样本数据库中的不同类型的训练样本进行采样,得到所述多个训练样本;其中,所述第一类型的训练样本的采样率小于所述第二类型的训练样本的采样率,所述第二类型的训练样本的采样率小于所述第三类型的训练样本的采样率。
一种可能的实现方式中,所述发送模块1004,用于发送所述第一图像以及所述第一图像对应的识别码检测结果。
一种可能的实现方式中,所述调整模块1005,用于在所述第一图像中确定目标区域,所述目标区域能够覆盖多个检测区域,所述多个检测区域为根据所述多个预处理方式分别对所述第二图像进行检测得到的检测结果;根据所述目标区域,确定拍摄参数,并根据所述拍摄参数对所述识别码进行拍摄得到第三图像。
本实施例提供的仿真场景的生成装置,可用于执行上述任一方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图11所示,是根据本申请实施例的识别码的识别方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图11所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图11中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的识别码的识别方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的识别码的识别方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的识别码的识别方法对应的程序指令/模块(例如,附图10所示的第一获取模块1001、第二获取模块1002、识别模块1003、发送模块1004和调整模块1005)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器或者终端设备的各种功能应用以及数据处理,即实现上述方法实施例中的识别码的识别方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图11中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (15)

1.一种识别码的识别方法,其特征在于,包括:
获取对识别码进行拍摄得到的第一图像;
获取多个预处理方式和所述多个预处理方式对应的顺序;
根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果;每个图像包括中心区域和至少一个其他区域,所述多个预处理方式按顺序依次为:第一预处理方式、第二预处理方式和第三预处理方式;其中,所述第一预处理方式用于指示对所述第一图像进行缩放处理,得到第二图像;所述第二预处理方式用于指示将所述第一图像的中心区域作为所述第二图像;所述第三预处理方式用于指示分别将所述第一图像的各所述其他区域作为所述第二图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果,包括:
将所述顺序中的第一个预处理方式作为当前预处理方式;
执行预处理过程:采用所述当前预处理方式对所述第一图像进行预处理,得到第二图像;
执行识别过程:对所述第二图像进行检测,得到所述识别码的区域,并对所述识别码的区域进行识别,得到识别结果;若未检测到所述识别码的区域,或者得到的识别结果为识别失败,则将所述当前预处理方式更新为所述顺序中的下一个预处理方式,重复执行所述预处理过程和所述识别过程,直至得到的识别结果为识别成功,或者,直至所述当前预处理方式为所述顺序中的最后一个预处理方式,且得到的识别结果为识别失败。
3.根据权利要求2所述的方法,其特征在于,所述多个预处理方式与多个图像类型一一对应,所述多个预处理方式的先后顺序与所述第一图像分别属于所述多个图像类型的概率大小顺序一致。
4.根据权利要求3所述的方法,其特征在于,所述多个图像类型包括:第一图像类型、第二图像类型和第三图像类型,所述第一图像类型的图像中的识别码的尺寸占比大于或等于预设阈值,第二图像类型和第三图像类型的图像中的识别码的尺寸占比小于所述预设阈值,所述第二图像类型的图像中的识别码的位置位于所述中心区域,所述第三图像类型的图像中的识别码的位置位于所述其他区域。
5.根据权利要求4所述的方法,其特征在于,每个所述预处理方式得到的所述第二图像的尺寸小于所述第一图像的尺寸。
6.根据权利要求2至5任一项所述的方法,其特征在于,所述对所述第二图像进行检测,得到所述识别码的区域,包括:
将所述第二图像输入至经过训练的检测模型中,根据所述检测模型的输出结果确定所述识别码的区域;其中,所述检测模型是通过对样本数据库中的多个训练样本进行学习得到的,每个训练样本包括:样本图像和所述样本图像对应的标注信息,所述标注信息用于指示所述样本图像中的识别码的位置。
7.根据权利要求6所述的方法,其特征在于,所述检测模型是采用如下方式训练得到的:
获取待训练的初始模型,对所述初始模型的结构进行调整,得到调整后的模型,所述调整后的模型所占内存的大小小于所述初始模型所占内存的大小;
从所述样本数据库中获取多个所述训练样本;
利用所述多个训练样本对所述调整后的模型进行训练,得到所述检测模型。
8.根据权利要求7所述的方法,其特征在于,所述初始模型包括多个卷积通道;所述对所述初始模型的结构进行调整,得到调整后的模型,包括下述中的一种或多种:
对所述初始模型中的卷积通道进行调整,使得调整后的模型中的卷积通道的数量小于所述初始模型中的卷积通道的数量;
或者,
对所述初始模型支持的数值范围进行调整,使得调整后的模型支持的数值范围小于所述初始模型支持的数值范围。
9.根据权利要求7所述的方法,其特征在于,所述样本数据库中包括第一类型的训练样本、第二类型的训练样本和第三类型的训练样本;其中,所述第一类型的训练样本中的样本图像是通过对识别码生成工具生成的识别码与自然图像进行融合得到的,所述第二类型的训练样本中的样本图像是通过互联网获取的,所述第三类型的训练样本中的样本图像是历史识别过程中得到的识别结果为识别失败的第一图像。
10.根据权利要求9所述的方法,其特征在于,所述从所述样本数据库中获取多个所述训练样本,包括:
对所述样本数据库中的不同类型的训练样本进行采样,得到所述多个训练样本;其中,所述第一类型的训练样本的采样率小于所述第二类型的训练样本的采样率,所述第二类型的训练样本的采样率小于所述第三类型的训练样本的采样率。
11.根据权利要求6所述的方法,其特征在于,若所述当前预处理方式为所述顺序中的最后一个预处理方式,并且得到的所述识别结果为识别失败,则所述方法还包括:
发送所述第一图像以及所述第一图像对应的识别码检测结果。
12.根据权利要求1至5任一项所述的方法,其特征在于,若当前预处理方式为所述顺序中的最后一个预处理方式,并且得到的所述识别结果为识别失败,则所述方法还包括:
在所述第一图像中确定目标区域,所述目标区域能够覆盖多个检测区域,所述多个检测区域为根据所述多个预处理方式分别对第二图像进行检测得到的检测结果;
根据所述目标区域,确定拍摄参数,并根据所述拍摄参数对所述识别码进行拍摄得到第三图像。
13.一种识别码的识别装置,其特征在于,包括:
第一获取模块,用于获取对识别码进行拍摄得到的第一图像;
第二获取模块,用于获取多个预处理方式和所述多个预处理方式对应的顺序;
识别模块,用于根据所述多个预处理方式和所述多个预处理方式对应的顺序,对所述第一图像进行预处理,以及对预处理后的第一图像进行识别处理,得到所述识别码的识别结果;每个图像包括中心区域和至少一个其他区域,所述多个预处理方式按顺序依次为:第一预处理方式、第二预处理方式和第三预处理方式;其中,所述第一预处理方式用于指示对所述第一图像进行缩放处理,得到第二图像;所述第二预处理方式用于指示将所述第一图像的中心区域作为所述第二图像;所述第三预处理方式用于指示分别将所述第一图像的各所述其他区域作为所述第二图像。
14.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至12中任一项所述的方法。
15.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1至12中任一项所述的方法。
CN202010067862.1A 2020-01-20 2020-01-20 识别码的识别方法、装置及设备 Active CN111310507B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010067862.1A CN111310507B (zh) 2020-01-20 2020-01-20 识别码的识别方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010067862.1A CN111310507B (zh) 2020-01-20 2020-01-20 识别码的识别方法、装置及设备

Publications (2)

Publication Number Publication Date
CN111310507A CN111310507A (zh) 2020-06-19
CN111310507B true CN111310507B (zh) 2023-08-29

Family

ID=71160385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010067862.1A Active CN111310507B (zh) 2020-01-20 2020-01-20 识别码的识别方法、装置及设备

Country Status (1)

Country Link
CN (1) CN111310507B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111967529B (zh) * 2020-08-27 2023-09-05 杭州海康威视数字技术股份有限公司 识别方法、装置、设备及系统
CN112862798B (zh) * 2021-02-24 2023-08-11 经纬恒润(天津)研究开发有限公司 一种黑白摄像头成像情况检测方法和装置
CN116225270A (zh) * 2023-02-27 2023-06-06 荣耀终端有限公司 条码图像的获取方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778440A (zh) * 2016-12-21 2017-05-31 腾讯科技(深圳)有限公司 二维码识别方法及装置
CN107220578A (zh) * 2017-05-31 2017-09-29 维沃移动通信有限公司 一种二维码扫描识别方法、装置、移动终端及存储介质
CN107341523A (zh) * 2017-07-13 2017-11-10 浙江捷尚视觉科技股份有限公司 基于深度学习的快递单信息识别方法和系统
CN110443089A (zh) * 2019-07-31 2019-11-12 中国工商银行股份有限公司 用于识别二维码的方法、装置、电子设备以及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3777149B2 (ja) * 2002-09-19 2006-05-24 株式会社ナムコ プログラム、情報記憶媒体及び画像生成装置
JP6813310B2 (ja) * 2016-09-02 2021-01-13 東芝テック株式会社 物品読取装置およびプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778440A (zh) * 2016-12-21 2017-05-31 腾讯科技(深圳)有限公司 二维码识别方法及装置
CN107220578A (zh) * 2017-05-31 2017-09-29 维沃移动通信有限公司 一种二维码扫描识别方法、装置、移动终端及存储介质
CN107341523A (zh) * 2017-07-13 2017-11-10 浙江捷尚视觉科技股份有限公司 基于深度学习的快递单信息识别方法和系统
CN110443089A (zh) * 2019-07-31 2019-11-12 中国工商银行股份有限公司 用于识别二维码的方法、装置、电子设备以及介质

Also Published As

Publication number Publication date
CN111310507A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111310507B (zh) 识别码的识别方法、装置及设备
CN108885699B (zh) 字符识别方法、装置、存储介质及电子设备
CN111860506B (zh) 识别文字的方法和装置
US11798193B2 (en) Multi-dimensional image detection on at least two acquired images
EP3989104A1 (en) Facial feature extraction model training method and apparatus, facial feature extraction method and apparatus, device, and storage medium
CN110648294B (zh) 图像修复方法、装置及电子设备
KR102610456B1 (ko) 객체 인식 방법과 장치, 전자기기, 저장매체
CN111783760B (zh) 文字识别的方法、装置、电子设备及计算机可读存储介质
CN110968718A (zh) 目标检测模型负样本挖掘方法、装置及电子设备
US20220101642A1 (en) Method for character recognition, electronic device, and storage medium
CN112288699B (zh) 图像相对清晰度的评估方法、装置、设备和介质
CN111444819B (zh) 切割帧确定方法、网络训练方法、装置、设备及存储介质
CN112668586A (zh) 模型训练、图片处理方法及设备、存储介质、程序产品
CN112380566A (zh) 用于对文档图像进行脱敏的方法、装置、电子设备及介质
CN111695516B (zh) 热力图的生成方法、装置及设备
CN111225299A (zh) 一种onu故障识别、修复方法和装置
CN111191619A (zh) 车道线虚线段的检测方法、装置、设备和可读存储介质
US20210366172A1 (en) Commodity guiding method, electronic device and storage medium
CN111797647B (zh) 条码解码方法和装置
CN113657398B (zh) 图像识别方法和装置
CN115101069A (zh) 语音控制方法、装置、设备、存储介质以及程序产品
CN112558810B (zh) 检测指尖位置的方法、装置、设备和存储介质
CN111966432B (zh) 验证码处理方法、装置、电子设备以及存储介质
CN114494686A (zh) 文本图像矫正方法、装置、电子设备以及存储介质
CN113835590A (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
GR01 Patent grant
GR01 Patent grant