CN111126043B - Vin码多重校验方法、vin码识别方法及装置 - Google Patents
Vin码多重校验方法、vin码识别方法及装置 Download PDFInfo
- Publication number
- CN111126043B CN111126043B CN201911345603.4A CN201911345603A CN111126043B CN 111126043 B CN111126043 B CN 111126043B CN 201911345603 A CN201911345603 A CN 201911345603A CN 111126043 B CN111126043 B CN 111126043B
- Authority
- CN
- China
- Prior art keywords
- verified
- character string
- vin
- vin code
- verification
- 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Character Discrimination (AREA)
Abstract
本发明提供了VIN码多重校验方法、VIN码识别方法及装置。所述VIN码多重校验方法包括:获取待校验的VIN码;利用至少两种校验方法对所述待校验的VIN码进行校验,得到至少两个初始校验结果;根据所有的初始校验结果确定最终校验结果。通过上述方案能够提高VIN码的校验正确率及识别正确率。
Description
技术领域
本发明涉及智能交通技术领域,尤其涉及一种VIN码多重校验方法、VIN码识别方法及装置。
背景技术
VIN码(Vehicle Identification Number,车辆识别号码或车架号码)是由数字和英文字母组成的十七位字符串,用于汽车上的一组独一无二的号码,可以用于识别汽车的生产商、引擎、底盘序号及其他性能等信息。为了避免与数字的1、0、9混淆,VIN码中不使用英文字母的I、O、Q。同时,VIN码的第10位车型年份除了不使用I、O、Q外,还不使用Z、U、0。
VIN码的编码规则主要有两种,第一种是欧盟采用的ISO 3779标准,第二种是北美标准。虽然北美标准比欧盟采用的ISO3779标准更严谨,但这两种标准也可以互相兼容。这两者对于VIN码的规定具体如下表所示:
表1 VIN码的欧盟ISO 3779标准和北美标准对VIN码的规定的区别
因此,根据VIN码编码规则对汽车的VIN码进行校验,便能获知该汽车的合法性及车辆信息。现有的VIN码校验方法包括IOQ判断(适用于ISO3779标准和北美标准)、第9位校验位规则校验(适用于北美标准)、第10位车型年校验(适用于北美标准)、12-17序列号位校验(适用于ISO3779标准)等。
由于数字和字母组合的多样性,IOQ判断、第10位车型年校验和12-17序列号位校验的准确率较低。
而现有校验方法中,校验规则最强的第9位校验位规则是通过VIN码的第1位到第17位的加权计算结果除以11所得的余数是否为9来判定校验结果。若VIN码的第1位到第17位中的某一位的字母或数字出现错误,若该位上原本正确的字母以及识别出的错误字母的对应值相同,那么加权计算结果也会相同,这会导致识别错误的VIN码通过校验,导致校验结果错误。
因此,现有的校验方法极易出现校验误通过或校验误未通过的校验失误的问题,进而导致误识别,而且,误识别率高达10%。
发明内容
本发明提供了一种VIN码多重校验方法、VIN码识别方法及装置,以降低VIN码的校验失误率及误识别率,从而提高校验正确率及识别正确率。
为了达到上述目的,本发明采用以下方案实现:
第一方面,提供了一种VIN码多重校验方法,包括:获取待校验的VIN码;利用至少两种校验方法对所述待校验的VIN码进行校验,得到至少两个初始校验结果;根据所有的初始校验结果确定最终校验结果。
第二方面,提供了一种VIN码识别方法,包括:如上所述的VIN码多重校验方法,并输出通过校验的所述待校验的VIN码。
第三方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各实施例所述方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述各实施例所述方法的步骤。
本发明实施例的VIN码多重校验方法、VIN码识别方法及装置,综合采用了至少两种校验方法进行校验,并根据所有校验方法得到的初始校验结果来确定最终校验结果,从而判定待校验的VIN码是否通过校验,大大降低了依赖数字和字母的组合对于VIN码校验的干扰,也避免了仅根据特定公式的计算结果进行校验导致的校验误通过的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例的VIN码多重校验方法的流程示意图;
图2是本发明的一实施例中的VIN码字典库校验方法的流程示意图;
图3是本发明的另一实施例中的VIN码字典库校验方法的流程示意图;
图4是本发明的再一实施例中的VIN码字典库校验方法的流程示意图;
图5是本发明的一具体实施例中的VIN码字典库校验方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
为了降低VIN码校验失误率,本发明实施例提出了一种新的VIN码多重校验方法,综合采用了至少两种校验方法进行校验,并根据所有校验方法得到的初始校验结果来确定最终校验结果,从而判定待校验的VIN码是否通过校验,大大降低了依赖数字和字母的组合对于VIN码校验的干扰,也避免了仅根据特定公式的计算结果进行校验导致的校验误通过的问题。
图1是本发明一实施例的VIN码多重校验方法的流程示意图。参见图1,一些实施例的VIN码多重校验方法,综合采用了至少两种校验方法进行校验,并根据所有校验方法得到的初始校验结果来确定最终校验结果,从而判定待校验的VIN码是否通过校验,可包括以下步骤A至步骤C。下面将对步骤A至步骤C的具体实施方式进行详细说明。
步骤A:获取待校验的VIN码;
步骤B:利用至少两种校验方法对所述待校验的VIN码进行校验,得到至少两个初始校验结果;
步骤C:根据所有的初始校验结果确定最终校验结果。
所述待校验的VIN码可以通过识别获取,也可以通过直接录入来获取。在一次校验流程中,可以执行一次步骤A提取一个所述待校验的VIN码,也可以通过执行一次步骤A提取两个或者多个所述待校验的VIN码,或者执行至少两次步骤A来提取两个或者多个所述待校验的VIN码,再通过后续步骤进行校验。
上述步骤A至步骤C,分别利用至少两种校验方法对所述待校验的VIN码进行校验,相应地,每种校验方法均可以对应得到一个初始校验结果。所述最终校验结果是根据所述初始校验结果为校验通过的个数来确定的。这些校验方法可以按设定顺序依次执行,或者可以并行执行。可以执行完所有方法后,再根据所有初始校验结果得到最终校验结果;或者,可以当发现某种校验方法的初始校验结果为校验不通过时,可以直接不再执行尚未执行的其他校验方法。例如可以是在至少两个所述初始校验结果均为校验通过的情况下,将校验通过确定为最终校验结果,反之,将校验失败确定为最终校验结果;或者也可以是在至少一个所述初始校验结果为校验不通过的情况下,将校验失败确定为最终校验结果,反之,将校验通过确定为最终校验结果。当然,也可以根据校验需要,设定其他的得到所述最终校验结果的方式。
上述步骤B“利用至少两种校验方法对所述待校验的VIN码进行校验,得到至少两个初始校验结果”和步骤C“根据所有的初始校验结果确定最终校验结果”中,考虑到校验的效率,在一个优选的具体实施方式中,分别利用第一校验方法和第二校验方法对所述待校验的VIN码进行校验,从而得到两个初始校验结果;其中,所述第一校验方法为与所述第二校验方法不同的校验方法。当两个所述初始校验结果均为校验通过时,将校验通过确定为最终校验结果,反之,将校验失败确定为最终校验结果。可以是先用所述第一校验方法进行校验,得到一个初始校验结果后,再用所述第二校验方法进行校验,得到另一个初始校验结果;也可以是同时采用所述第一校验方法和所述第二校验方法进行校验,同时得到两个初始校验结果。其中,所述第一校验方法和所述第二校验方法可以是VIN码字典库校验方法、IOQ判断方法、第9位校验方法、第10位车型年校验方法和第12-17位校验方法中的其中一种。鉴于IOQ判断方法、第9位校验方法、第10位车型年校验方法和第12-17位校验方法均为现有的VIN码校验方法,在此不再赘述。下面对VIN码字典库校验方法进行详细介绍。
图2是本发明一实施例中的VIN码字典库校验方法的流程示意图。参见图2,一些实施例的VIN码字典库校验方法基于字典库进行校验,可包括以下步骤S1至步骤S3。下面将对步骤S1至步骤S3的具体实施方式进行详细说明。
步骤S1:从所述待校验的VIN码的前八位中提取待校验字符串;
在本发明的所述VIN码字典库校验方法的实施例中,所述待校验字符串是指从待校验的VIN码的前八位中提取的长度大于或者等于1的字符串。所述待校验字符串的长度为所述待校验字符串所包含的字符个数。若所述待校验字符串的长度为1,则所述待校验字符串为单个字符。若所述待校验字符串的长度大于1且小于8,所述待校验字符串为由从该待校验的VIN码的前八位中提取的连续位的多个字符组成的字符串。若所述待校验字符串的长度等于8,所述待校验字符串为由从该待校验的VIN码中提取的前八位字符组成的字符串。也就是说,所述待校验字符串是从待校验的VIN码的第X1位开始到第X2位结束的字符串,X1和X2均为1至8中任一正整数,只要满足X2≥X1即可。
具体实施时,具体的提取字符得到待校验字符串的规则,可以预先设定,也可以从各种可能的规则中随机挑选。比如说,为了完全排除数字和字母组合的多样化的影响,或者最大化避免VIN码的其中一位或者其中几位的英文字母和数字在识别错误或者录入错误可能导致的校验误通过,优选所述待校验字符串的长度等于8,步骤S1具体包括,提取所述待校验的VIN码的前八位作为待校验字符串。
在一次校验流程中,可以仅执行一次步骤S1提取一个所述待校验字符串,也可以通过执行一次步骤S1提取两个或者多个长度不同的所述待校验字符串,或者每次执行步骤S1时仅提取一个所述待校验字符串,通过执行至少两次步骤S1来提取两个或者多个长度不同的所述待校验字符串,再通过后续步骤进行校验。
步骤S2:判断所述待校验字符串是否与字典库中的规则字符串相同。
所述规则字符串是基于VIN码编码规则建立起来的字符串。VIN码编码规则是对VIN码中的每一个字符位置上的字符制定的编码规则。换言之,一个正确的VIN码中,每一个字符位置都有其对应的编码规则。基于此,本发明实施例基于的所述字典库包括至少一个规则字符串,所述规则字符串为符合VIN码编码规则对该所述规则字符串在VIN码中对应的字符位置的规定的字符串。
由于本发明实施例中的所述规则字符串用于校验所述待校验字符串,鉴于所述待校验字符串的长度大于或者等于1、且小于或者等于8,因此,所述规则字符串的长度也大于或者等于1、且小于或者等于8。所述规则字符串的长度为所述规则字符串所包含的字符个数。所述规则字符串可以是符合VIN码编码规则对第Y1位开始到第Y2位结束的连续字符串的规定的字符串,Y1和Y2均为1至8中任一正整数,只要满足Y2≥Y1即可。所述字典库中的规则字符串可以是直接根据VIN码编码规则得到的字符串,也可以是从正确的VIN码中提取的字符串。
所述字典库中的规则字符串与所述待校验字符串之间的比对,是完成所述待校验的VIN码的校验的关键步骤,所述待校验字符串是判断该待校验的VIN码真伪的关键要素。所以,解决所述字典库中的规则字符串如何设置,是完成对所述待校验的VIN码的校验的关键问题。
在一个可行的实施方式中,所述字典库中包含的各所述规则字符串的长度可以相同,也可以不同。为了便于对所述待校验字符串进行校验,对所述字典库中的规则字符串进行分类。所述字典库可以包括至少一个字典子库,所述字典子库包括至少一个所述规则字符串。在一些实施例中,上述步骤S2具体为判断所述待校验字符串是否与至少一个所述字典子库中的规则字符串相同。
同时,不同的所述字典子库可以分别用于存储具有不同规律特点的规则字符串。不同的所述字典子库中的规则字符串的长度可以相同或不同,同一个所述字典子库中的规则字符串的长度也可以相同或不同。同样的,同一个所述字典子库也可以均用于存储具有同一规律特点的规则字符串,例如可以根据不同的车牌种类划分字典子库,或者根据规则字符串的长度和规则字符串在VIN码编码规则中的字符位置划分字典子库。
为了便于判断所述待校验字符串是否与规则字符串相同,任一所述字典子库中的所有所述规则字符串的长度均相同。在所述字典子库中的规则字符串的长度与所述待校验字符串的长度相等、且所述字典子库中的规则字符串在VIN码编码规则的字符位置与所述待校验字符串在待校验的VIN码的字符位置相同的情况下,所述字典子库为所述待校验字符串的目标字典子库。参看图3,在本发明的另一实施例中,上述步骤,判断所述待校验字符串是否与至少一个所述字典子库中的规则字符串相同,具体包括:步骤S201,根据所述待校验字符串的长度和所述待校验字符串在待校验的VIN码中的字符位置,确定出至少一个目标字典子库;步骤S202,判断所述待校验字符串是否与所述目标字典子库中的规则字符串相同。
在任一所述字典子库中的所有规则字符串的长度均相同的情况下,可以预先给各所述字典子库添加其所存储的规则字符串的长度及该规则字符串在VIN码编码规则中的字符位置作为标记,可以通过比较待校验字符串的长度与各字典子库中规则字符串的长度的标记,以及比较该待校验字符串在待校验的VIN码中的字符位置与各字典子库中规则字符串在VIN码编码规则中的字符位置的标记,来确定目标字典子库,例如,当提取待校验的VIN码的前八位作为待校验字符串时,可以通过寻找长度标记为8、字符位置标记为第1位至第8位的字典子库,来确认目标字典子库。
在上述步骤S202中,若所述待校验字符串与所述目标字典子库中的规则字符串相同,判定提取所述待校验字符串的待校验的VIN码通过校验;若所述待校验字符串与所述目标字典子库中的所有规则字符串均不相同,可判定提取所述待校验字符的待校验的VIN码未通过校验。
本些实施例中,将字典库分成两个及以上字典子库,通过待校验字符串的长度及其在待校验的VIN码中的字符位置,精准地从字典子库中确定出目标字典子库,再确定目标字典子库是否包含待校验字符串,从而判断所述待校验字符串是否与所述目标字典子库中的规则字符串相同,并依据判断结果判定所述待校验的VIN码是否通过校验,能够缩小规则字符串的判断范围,提高VIN码的校验效率。
步骤S3:在所述待校验字符串与至少一个所述规则字符串相同的情况下,判定所述待校验的VIN码通过校验。
判断所述待校验字符串是否与字典库中的规则字符串相同,实际上将所述待校验字符串中的字符与所述字典库中的规则字符串中的字符做一一比对。经过比对后,若所述待校验字符串中的字符与所述字典库中的某一个所述规则字符串中的对应字符完全相同,则视为所述待校验字符串与所述字典库中的该所述规则字符串相同,认为所述待校验字符串符合VIN码编码规则对该待校验字符串在VIN码中对应的字符位置的规定,判定提取得到所述待校验字符串的所述待校验的VIN码符合VIN码编码规则,通过此次校验;否则,视为所述待校验字符串与所述字典库中的所有规则字符串均不同,认为所述待校验字符串不符合VIN码编码规则对该待校验字符串在VIN码中对应的字符位置的规定,判定提取得到所述待校验字符串的所述待校验的VIN码不符合VIN码编码规则,未通过此次校验。
若上述待校验字符串通过校验,在此,可以直接输出校验通过的结果,也可以根据校验需求重复执行步骤S1至步骤S2,以重新得到至少一个新的待校验字符串,并在该些待校验字符串均通过校验的情况下,输出校验通过的结果,并在该些待校验字符串中的任意一个未通过校验的情况下,输出校验未通过的结果。
上述的所述VIN码字典库校验方法,基于字典库中的规则字符串与从待校验的VIN码中提取得到的待校验字符串进行比对,从而实现对待校验的VIN码进行校验,其并非根据特定数字和字母进行校验,也无需根据特定公式的计算结果进行校验,所以能够避免数字和字母的多样性带来的校验失误,以及若某一位上的字母识别错误而导致校验误通过的问题,因此,通过上述方案能够降低VIN码校验误通过率提高校验正确率。
当所述待校验的VIN码为通过识别获取时,有可能因为识别错误而导致识别得到的所述待校验的VIN码未通过所述规则字符串的校验,从而使得真VIN码未通过所述字典库的校验。在此,前述步骤A具体为A1,通过识别获取待校验的VIN码。为此,本发明的一些实施例通过步骤S21至步骤S22引入了置信度判断机制。下面将对步骤S21至步骤S22的具体实施方式进行详细说明。
步骤S21:在所述待校验字符串与所述字典库中的所有规则字符串均不相同的情况下,获取所述待校验的VIN码的置信度。
步骤S22:若所述待校验的VIN码的置信度大于或者等于置信度阈值,判定所述待校验的VIN码通过校验。
上述步骤S21中,所述待校验的VIN码的置信度可以利用现有的获取OCR识别的置信度值的方法得到,故不赘述。很显然,步骤S22中所述待校验的VIN码的置信度值越大,作为识别结果的所述待校验的VIN码识别正确的概率就越大。因此,当所述待校验的VIN码的置信度大于或者等于置信度阈值时,可以认为本次识别得到的所述待校验的VIN码正确,同时,判定所述待校验的VIN码通过校验。此时,为了标记所述待校验的VIN码的可靠程度,可以输出所述待校验的VIN码的置信度。
考虑到仅通过一次置信度的判断,可能会存在判断失误的情况,在进一步的一些实施例中,通过置信度判断的次数来待校验的VIN码。上述步骤S22,若所述待校验的VIN码的置信度大于或者等于置信度阈值,判定所述待校验的VIN码通过校验,具体包括:
步骤S221:判断用于存储多个所述待校验的VIN码的缓存空间是否已满;
步骤S222:若所述缓存空间未满,将所述待校验的VIN码缓存在所述缓存空间中,继续通过识别获取待校验的VIN码;
步骤S223:若所述缓存空间已满,判断所述缓存空间中是否存在至少两个相同的待校验的VIN码;
步骤S224:在所述缓存空间中存在至少两个相同的待校验的VIN码的情况下,判定所述待校验的VIN码通过校验。
通过上述步骤,先将所有符合置信度条件的待校验的VIN码均存储于所述缓存空间,也就是说,所述缓存空间中存储的所有的待校验的VIN码均为置信度大于或者等于置信度阈值的待校验的VIN码,然后,判断这些待校验的VIN码中是否存在至少两个相同的,如果存在至少两个相同的,说明识别过程中,至少有两个识别得到的、置信度大于或者等于置信度阈值的待校验的VIN码为相同的,此时,判定所述待校验的VIN码通过校验,从而避免仅通过一次置信度判断来判定所述VIN码是否通过校验可能存在的判断失误。
考虑到VIN码编码规则经过一定时间段后会增加新的编码规则,而本发明实施例中的字典库存在不能及时增加符合新增VIN码编码规则的规则字符串的可能性,在此建立字典库的更新机制。在一些实施例中,在步骤S224(在所述缓存空间中存在至少两个相同的待校验的VIN码的情况下)中还包括:将所述待校验字符串保存在所述字典库中,以更新所述字典库。更具体地,可包括:将所述待校验字符串和所述待校验的VIN码保存在第一临时字典库中;在所述第一临时字典库中的所述待校验字符串符合对应字符位置的VIN码编码规则的情况下,和/或,在所述第一临时字典库中的待校验的VIN码符合VIN码编码规则的情况下,将所述待校验字符串保存在所述字典库中。其中,一些实施例中,可以仅在所述第一临时字典库中的所述待校验字符串符合对应字符位置的VIN码编码规则的情况下将所述待校验字符串保存在所述字典库中,也可以仅在所述第一临时字典库中的待校验的VIN码符合VIN码编码规则的情况下将所述待校验字符串保存在所述字典库中,或者在所述第一临时字典库中的所述待校验字符串符合对应字符位置的VIN码编码规则、且所述第一临时字典库中的待校验的VIN码符合VIN码编码规则的情况下将所述待校验字符串保存在所述字典库中。上述的VIN码编码规则包括原有的VIN码编码规则和新增的VIN码编码规则。或者,步骤S224也可以具体包括:仅将所述待校验的VIN码保存在第二临时字典库中;在所述第二临时字典库中的待校验的VIN码符合VIN码编码规则的情况下,将所述待校验字符串作为规则字符串保存在所述字典库中。
基于更新所述字典库的同一发明构思,考虑到所述缓存空间能够存储的所述待校验的VIN码的数量毕竟有限,在所述缓存空间存满的情况下,不能继续缓存新识别出的所述待校验的VIN码,若此时所述缓存空间中仍未存在至少两个相同的所述待校验的VIN码,如果就此判定校验结束并给出校验未通过的结论,有可能会造成正确的VIN码不能通过校验。为此,本发明的一些优选实施例中进一步引入了更新所述缓存空间的机制,具体包括以下步骤:
步骤S225:在所述缓存空间中不存在至少两个相同的待校验的VIN码的情况下,用所述待校验的VIN码替换掉所述缓存空间中已存储的待校验的VIN码,以更新所述缓存空间;
步骤S226:在更新后的所述缓存空间中存在至少两个相同的待校验的VIN码的情况下,判定所述待校验的VIN码的置信度大于或者等于置信度阈值。
参看图4,通过上述步骤,实现所述缓存空间更新机制,在所述缓存空间存满的情况下,可以用新识别出的所述待校验的VIN码替换掉所述缓存空间中已存储的待校验的VIN码,实现在更新后的所述缓存空间中完成所述待校验的VIN码的校验。
在确立所述缓存空间具体的更新机制时,可以根据具体的识别需求来确定。比如,考虑到更新机制的简便,可以用所述待校验的VIN码替换掉所述缓存空间中最早缓存的待校验的VIN码。也可以继续从置信度的角度出发,判断所述待校验的VIN码的置信度是否大于所述缓存空间中存储的所有的待校验的VIN码的置信度的最小值;若所述待校验的VIN码的置信度大于所述缓存空间中存储的所有的待校验的VIN码的置信度的最小值,计算所述缓存空间中存储的置信度最小的待校验的VIN码的个数;并在所述缓存空间中存储的置信度最小的待校验的VIN码的个数为1时,用所述待校验的VIN码替换掉所述缓存空间中置信度最小的待校验的VIN码;在所述缓存空间中存储的置信度最小的待校验的VIN码的个数大于1时,用所述待校验的VIN码替换掉所述缓存空间中任意一个置信度最小的待校验的VIN码或者所有置信度最小的待校验的VIN码。若所述待校验的VIN码的置信度等于所述缓存空间中存储的所有的待校验的VIN码的置信度的最小值,可以用所述待校验的VIN码替换所述缓存空间中存储的置信度最小的待校验的VIN码,也可以不替换。
当然,这里也仍然可以引入更新字典库的机制。具体为在所述缓存空间中存在至少两个相同的待校验的VIN码的情况下,和/或在更新后的所述缓存空间中存在至少两个相同的待校验的VIN码的情况下,还包括:将所述待校验字符串保存在所述字典库中,以更新所述字典库。同样的,将所述待校验字符串保存在所述字典库中,具体包括将所述待校验字符串和所述待校验的VIN码保存在第三临时字典库中;在所述第三临时字典库中的所述待校验字符串符合对应字符位置的VIN码编码规则的情况下,和/或,在所述第三临时字典库中的待校验的VIN码符合VIN码编码规则的情况下,将所述待校验字符串保存在所述字典库中。或者,仅将所述待校验的VIN码保存在第四临时字典库中;在所述第四临时字典库中的待校验的VIN码符合VIN码编码规则的情况下,将所述待校验字符串作为规则字符串保存在所述字典库中。此处更新字典库的机制的技术效果与前文所述更新字典库的机制的技术效果相同,故不赘述。
上述所述第一临时字典库、所述第二临时字典库、所述第三临时字典库和所述第四临时字典库,都是用来临时存放这些经过校验的所述待校验的VIN码和/或该所述待校验的VIN码对应的所述待校验字符串,在经过将所述待校验字符串和/或所述待校验的VIN码与原有的VIN码编码规则以及更新后的VIN码编码规则经过比对后,将符合VIN码编码规则对应字符位置的待校验字符串,或者符合VIN码编码规则的所述待校验的VIN码对应的所述待校验字符串,保存在所述字典库中,以完成所述字典库的更新,使所述字典库能够更准确的完成之后的待校验的VIN码的校验。
在同时考虑校验准确率及校验效率的情况下,如图5所示,本发明的一个具体的实施例包括以下步骤:
通过识别获取待校验的VIN码;
提取所述待校验的VIN码的前八位作为待校验字符串;
判断所述待校验字符串是否与字典库中的规则字符串相同;
在所述待校验字符串与至少一个所述规则字符串相同的情况下,判定所述待校验的VIN码通过校验;
在所述待校验字符串与所述字典库中的所有规则字符串均不相同的情况下,获取所述待校验的VIN码的置信度;
若所述待校验的VIN码的置信度大于或者等于置信度阈值,判断用于存储10个所述待校验的VIN码的缓存空间是否已满;
若所述缓存空间未满,将所述待校验的VIN码缓存在所述缓存空间中,继续通过识别获取待校验的VIN码;
若所述缓存空间已满,判断所述缓存空间中是否存在三个相同的待校验的VIN码;
在所述缓存空间中存在三个相同的待校验的VIN码的情况下,判定所述待校验的VIN码通过校验;
在所述缓存空间中不存在三个相同的待校验的VIN码的情况下,用所述待校验的VIN码替换掉所述缓存空间中最早缓存的待校验的VIN码,以更新所述缓存空间;
在更新后的所述缓存空间中存在三个相同的待校验的VIN码的情况下,判定所述待校验的VIN码通过校验。
其中,所述字典库包括至少一个规则字符串;所述规则字符串为符合VIN码编码规则对VIN码前八位字符位置的规定的八位字符串。
本发明实施例的VIN码多重校验方法、VIN码识别方法及装置,综合采用了至少两种校验方法进行校验,并根据所有校验方法得到的初始校验结果来确定最终校验结果,从而判定待校验的VIN码是否通过校验,大大降低了依赖数字和字母的组合对于VIN码校验的干扰,也避免了仅根据特定公式的计算结果进行校验导致的校验误通过的问题,最终使得误识别率能够降低为2%。
另外,需要说明的是,上述各实施例中所用的步骤标号仅以用于方便本领域技术人员阅读说明书,并不用于限定步骤的顺序,也不用于限定某一步骤必须同时出现在一个实施例中,某个实施例中所包含的步骤以及步骤之间的顺序还需通过关于实施例相关用语的描述和步骤间的关系来确定。
此外,本发明实施例还提供了一种VIN码识别方法,包括如上所述的VIN码多重校验方法,并输出通过校验的所述待校验的VIN码。
同时,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各实施例所述方法的步骤。该电子设备还可包括现有技术中证件识别装置的其他硬件部分,例如,摄像装置、证件放置部件等。
另外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述各实施例所述方法的步骤。
综上所述,本发明实施例的VIN码多重校验方法、VIN码识别方法及装置,综合采用了至少两种校验方法进行校验,并根据所有校验方法得到的校验结果来确定校验是否通过,从而降低了依赖数字和字母的组合对于VIN码校验的干扰,也避免了仅根据特定公式的计算结果进行校验导致的校验误通过的问题,从而能够大大降低VIN码校验失误率及误识别率,从而提高校验正确率及识别正确率。
Claims (16)
1.一种VIN码多重校验方法,其特征在于,包括:
获取待校验的VIN码;
利用至少两种校验方法对所述待校验的VIN码进行校验,得到至少两个初始校验结果;
根据所有的初始校验结果确定最终校验结果;利用至少两种校验方法对所述待校验的VIN码进行校验,得到至少两个初始校验结果;根据所有的初始校验结果确定最终校验结果,具体包括:
分别利用第一校验方法和第二校验方法对所述待校验的VIN码进行校验,得到两个初始校验结果;
在两个所述初始校验结果均为通过的情况下,将校验通过确定为最终校验结果,反之,将校验失败确定为最终校验结果;
其中,所述第一校验方法为与所述第二校验方法不同的校验方法;
所述第一校验方法和所述第二校验方法均为VIN码字典库校验方法、IOQ判断方法、第9位校验方法、第10位车型年校验方法和第12-17位校验方法中的其中一种;
VIN码字典库校验方法具体包括:
从所述待校验的VIN码的前八位中提取待校验字符串;
判断所述待校验字符串是否与字典库中的规则字符串相同;
在所述待校验字符串与至少一个所述规则字符串相同的情况下,判定通过校验为初始校验结果;
其中,所述字典库包括至少一个规则字符串;所述规则字符串为符合VIN码编码规则对该所述规则字符串在VIN码中对应的字符位置的规定的字符串;
通过识别获取待校验的VIN码;
所述VIN码字典库校验方法还包括:
在所述待校验字符串与所述字典库中的所有规则字符串均不相同的情况下,获取所述待校验的VIN码的置信度;
若所述待校验的VIN码的置信度大于或者等于置信度阈值,判定通过校验为初始校验结果;
若所述待校验的VIN码的置信度大于或者等于置信度阈值,判定通过校验为初始校验结果,具体包括:
若所述待校验的VIN码的置信度大于或者等于置信度阈值,判断用于存储多个所述待校验的VIN码的缓存空间是否己满;
若所述缓存空间未满,将所述待校验的VIN码缓存在所述缓存空间中,继续通过识别获取待校验的VIN码;
若所述缓存空间己满,判断所述缓存空间中是否存在至少两个相同的待校验的VIN码;
在所述缓存空间中存在至少两个相同的待校验的VIN码的情况下,判定通过校验为初始校验结果。
2.如权利要求1所述的方法,其特征在于,根据所有的初始校验结果确定最终校验结果,具体包括:
在至少两个所述初始校验结果均为校验通过的情况下,将校验通过确定为最终校验结果,反之,将校验失败确定为最终校验结果;或者
在至少一个所述初始校验结果为校验不通过的情况下,将校验失败确定为最终校验结果,反之,将校验通过确定为最终校验结果。
3.如权利要求1或2所述的方法,其特征在于,还包括:从待校验的VIN码的前八位中提取待校验字符串,具体包括:
提取所述待校验的VIN码的前八位作为待校验字符串。
4.如权利要求3所述的方法,其特征在于,所述字典库包括至少一个字典子库,所述字典子库包括至少一个所述规则字符串;判断所述待校验字符串是否与字典库中的规则字符串相同,具体包括:
判断所述待校验字符串是否与至少一个所述字典子库中的规则字符串相同。
5.如权利要求4所述的方法,其特征在于,任一所述字典子库中的所有规则字符串的长度均相同;在所述字典子库中的规则字符串的长度与所述待校验字符串的长度相等、且所述字典子库中的规则字符串在VIN码编码规则的字符位置与所述待校验字符串在待校验VIN码的字符位置相同的情况下,所述字典子库为该所述待校验字符串的目标字典子库;
判断所述待校验字符串是否与所述字典子库中的规则字符串相同,具体包括:
根据所述待校验字符串的长度和所述待校验字符串在待校验VIN码中的字符位置,确定出至少一个目标字典子库;
判断所述待校验字符串是否与所述目标字典子库中的规则字符串相同。
6.如权利要求5所述的方法,其特征在于,还包括:
输出所述待校验的VIN码的置信度。
7.如权利要求5所述的方法,其特征在于,在所述缓存空间中存在至少两个相同的待校验的VIN码的情况下,还包括:
将所述待校验字符串保存在所述字典库中,以更新所述字典库。
8.如权利要求7所述的方法,其特征在于,将所述待校验字符串保存在所述字典库中,具体包括:
将所述待校验字符串和所述待校验的VIN码保存在第一临时字典库中;
在所述第一临时字典库中的所述待校验字符串符合对应字符位置的VIN码编码规则的情况下,和/或,在所述第一临时字典库中的待校验的VIN码符合VIN码编码规则的情况下,将所述待校验字符串作为规则字符串保存在所述字典库中;或者
将所述待校验的VIN码保存在第二临时字典库中;
在所述第二临时字典库中的待校验的VIN码符合VIN码编码规则的情况下,将所述待校验字符串作为规则字符串保存在所述字典库中。
9.如权利要求5所述的方法,其特征在于,还包括:
在所述缓存空间中不存在至少两个相同的待校验的VIN码的情况下,用所述待校验的VIN码替换掉所述缓存空间中已存储的待校验的VIN码以更新所述缓存空间;
在更新后的所述缓存空间中存在至少两个相同的待校验的VIN码的情况下,判定通过校验为初始校验结果。
10.如权利要求9所述的方法,其特征在于,用所述待校验的VIN码替换掉所述缓存空间中已存储的待校验的VIN码,具体包括:
用所述待校验的VIN码替换掉所述缓存空间中最早缓存的待校验的VIN码;或者
判断所述待校验的VIN码的置信度是否大于所述缓存空间中存储的所有的待校验的VIN码的置信度的最小值;
若所述待校验的VIN码的置信度大于所述缓存空间中存储的所有的待校验的VIN码的置信度的最小值,计算所述缓存空间中存储的置信度最小的待校验的VIN码的个数;
若所述缓存空间中存储的置信度最小的待校验的VIN码的个数为1,用所述待校验的VIN码替换掉所述缓存空间中置信度最小的待校验的VIN码;
若所述缓存空间中存储的置信度最小的待校验的VIN码的个数大于1,用所述待校验的VIN码替换掉所述缓存空间中任意一个置信度最小的待校验的VIN码,或者用所述待校验的VIN码替换掉所述缓存空间中所有置信度最小的待校验的VIN码。
11.如权利要求9所述的方法,其特征在于,在所述缓存空间中存在至少两个相同的待校验的VIN码的情况下,和/或在更新后的所述缓存空间中存在至少两个相同的待校验的VIN码的情况下,还包括:
将所述待校验字符串保存在所述字典库中,以更新所述字典库。
12.如权利要求11所述的方法,其特征在于,将所述待校验字符串保存在所述字典库中,具体包括:
将所述待校验字符串和所述待校验的VIN码保存在第三临时字典库中;
在所述第三临时字典库中的所述待校验字符串符合对应字符位置的VIN码编码规则的情况下,和/或,在所述第二临时字典库中的待校验的VIN码符合VIN码编码规则的情况下,将所述待校验字符串作为规则字符串保存在所述字典库中;或者
将所述待校验的VIN码保存在第四临时字典库中;
在所述第四临时字典库中的待校验的VIN码符合VIN码编码规则的情况下,将所述待校验字符串作为规则字符串保存在所述字典库中。
13.如权利要求1或2所述的方法,其特征在于,所述VIN码字典库校验方法具体包括:
提取所述待校验的VIN码的前八位作为待校验字符串;
判断所述待校验字符串是否与字典库中的规则字符串相同;
在所述待校验字符串与至少一个所述规则字符串相同的情况下,判定通过校验为初始校验结果;
在所述待校验字符串与所述字典库中的所有规则字符串均不相同的情况下,获取所述待校验的VIN码的置信度;
若所述待校验的VIN码的置信度大于或者等于置信度阈值,判断用于存储10个所述待校验的VIN码的缓存空间是否己满;
若所述缓存空间未满,将所述待校验的VIN码缓存在所述缓存空间中,继续通过识别获取待校验的VIN码;
若所述缓存空间己满,判断所述缓存空间中是否存在三个相同的待校验的VIN码;
在所述缓存空间中存在三个相同的待校验的VIN码的情况下,判定通过校验为初始校验结果;
在所述缓存空间中不存在三个相同的待校验的VIN码的情况下,用所述待校验的VIN码替换掉所述缓存空间中最早缓存的待校验的VIN码,以更新所述缓存空间;
在更新后的所述缓存空间中存在三个相同的待校验的VIN码的情况下,判定通过校验为初始校验结果;
其中,所述字典库包括至少一个规则字符串;所述规则字符串为符合VIN码编码规则对VIN码前八位字符位置的规定的八位字符串。
14.一种VIN码识别方法,其特征在于,包括权利要求1-13中任一项所述的利用置信度的VIN码校验方法,并输出通过校验的所述待校验的VIN码。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至14任一项所述方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至14任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911345603.4A CN111126043B (zh) | 2019-12-24 | 2019-12-24 | Vin码多重校验方法、vin码识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911345603.4A CN111126043B (zh) | 2019-12-24 | 2019-12-24 | Vin码多重校验方法、vin码识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111126043A CN111126043A (zh) | 2020-05-08 |
CN111126043B true CN111126043B (zh) | 2023-04-11 |
Family
ID=70501884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911345603.4A Active CN111126043B (zh) | 2019-12-24 | 2019-12-24 | Vin码多重校验方法、vin码识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111126043B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6259354B1 (en) * | 1998-09-01 | 2001-07-10 | Fdi Consulting, Inc. | System and methods for vehicle identification number validation |
CN109447076A (zh) * | 2018-09-20 | 2019-03-08 | 上海眼控科技股份有限公司 | 一种用于车辆年检的车辆vin码识别检测方法 |
CN110110162A (zh) * | 2018-01-30 | 2019-08-09 | 江苏迪纳数字科技股份有限公司 | 一种由vin码校验位标准加权算法验证vin码的方法 |
-
2019
- 2019-12-24 CN CN201911345603.4A patent/CN111126043B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6259354B1 (en) * | 1998-09-01 | 2001-07-10 | Fdi Consulting, Inc. | System and methods for vehicle identification number validation |
CN110110162A (zh) * | 2018-01-30 | 2019-08-09 | 江苏迪纳数字科技股份有限公司 | 一种由vin码校验位标准加权算法验证vin码的方法 |
CN109447076A (zh) * | 2018-09-20 | 2019-03-08 | 上海眼控科技股份有限公司 | 一种用于车辆年检的车辆vin码识别检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111126043A (zh) | 2020-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111814466B (zh) | 基于机器阅读理解的信息抽取方法、及其相关设备 | |
CN110825857B (zh) | 多轮问答识别方法、装置、计算机设备及存储介质 | |
CN111177184A (zh) | 基于自然语言的结构化查询语言转换方法、及其相关设备 | |
US8255701B2 (en) | File encryption method | |
US20070075878A1 (en) | Memory circuit for aho-corasick type character recognition automaton and method of storing data in such a circuit | |
US8532988B2 (en) | Searching for symbol string | |
CN116127953B (zh) | 一种基于对比学习的中文拼写纠错方法、装置和介质 | |
US7809566B2 (en) | One-step repair of misrecognized recognition strings | |
CN107015951B (zh) | 一种后缀数组的正确性验证方法及系统 | |
CN111800145A (zh) | 一种基于余弦相似度的线性分组码的码长盲识别方法 | |
CN115982310B (zh) | 一种自带验证功能的链表生成方法及电子设备 | |
CN111797217A (zh) | 基于faq匹配模型的信息查询方法、及其相关设备 | |
CN109492115A (zh) | 一种汽修知识实体网络构建方法、装置及设备 | |
CN111126042B (zh) | 利用置信度的vin码校验方法、vin码识别方法及装置 | |
CN111126043B (zh) | Vin码多重校验方法、vin码识别方法及装置 | |
US9083381B2 (en) | Method of determining at least one parameter of an error-correcting code implemented on transmission, corresponding device and computer program | |
CN111126041B (zh) | Vin码字典库校验方法、vin码识别方法及装置 | |
CN113128504A (zh) | 一种基于校验规则的ocr识别结果纠错方法、设备 | |
CN111126044B (zh) | 利用置信度的vin码多重校验方法、vin码识别方法及装置 | |
CN111079415B (zh) | 一种基于搭配冲突的中文自动查错方法 | |
CN113221558B (zh) | 一种快递地址纠错方法、装置、存储介质及电子设备 | |
CN115984870A (zh) | 一种用于工作票核查的方法、系统及终端 | |
TWM620558U (zh) | 字串比對系統 | |
CN117713839B (zh) | Rm译码及结果校验方法、装置、设备及存储介质 | |
CN112732796B (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 |