CN113228033A - 车牌识别的系统和方法 - Google Patents
车牌识别的系统和方法 Download PDFInfo
- Publication number
- CN113228033A CN113228033A CN201880100463.1A CN201880100463A CN113228033A CN 113228033 A CN113228033 A CN 113228033A CN 201880100463 A CN201880100463 A CN 201880100463A CN 113228033 A CN113228033 A CN 113228033A
- Authority
- CN
- China
- Prior art keywords
- license plate
- vehicle
- approximate
- feature point
- angle
- 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
- 238000000034 method Methods 0.000 title claims abstract description 119
- 238000012937 correction Methods 0.000 claims abstract description 11
- 238000004891 communication Methods 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 47
- 238000012545 processing Methods 0.000 description 41
- 230000015654 memory Effects 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 20
- 238000003384 imaging method Methods 0.000 description 18
- 238000012986 modification Methods 0.000 description 15
- 230000004048 modification Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 9
- DMSMPAJRVJJAGA-UHFFFAOYSA-N benzo[d]isothiazol-3-one Chemical compound C1=CC=C2C(=O)NSC2=C1 DMSMPAJRVJJAGA-UHFFFAOYSA-N 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 238000012015 optical character recognition Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/60—Rotation of whole images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/242—Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/243—Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/54—Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/247—Aligning, centring, orientation detection or correction of the image by affine transforms, e.g. correction due to perspective effects; Quadrilaterals, e.g. trapezoids
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/625—License plates
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请提供了一种车牌识别的方法和系统。所述方法包括获取图像,所述图像包含安装有车牌的车辆,识别与所述车辆相关的至少一个特征点。所述方法还包括基于所述至少一个特征点,确定所述车牌的倾斜角度所在的近似角度范围,在所述近似角度范围内确定所述车牌的所述倾斜角度。所述方法还包括基于所述车牌的所述倾斜角度对所述车牌进行倾斜校正。
Description
技术领域
本申请涉及物体识别的方法和系统,具体地,涉及车牌识别的方法和系统。
背景技术
如今,基于图像和视频分析的计算机领域已经发展到可以自动进行监控任务。特别地,基于图像处理的车辆监控已成为一个热点话题。为了监控车辆,识别安装在车辆上的车牌尤为重要。在一些实施例中,由于例如车牌的倾斜,图像中车牌的外观可能会变形。为了更好地识别图像中的车牌,期望提供一种系统和方法,以有效地识别车牌的倾斜角度并校正车牌。
发明内容
根据本申请的一个方面,提供了一种车牌识别的系统。所述系统包括包含指令集的至少一个存储介质,以及与所述至少一个存储介质通信的至少一个处理器。当执行所述指令集时,所述至少一个处理器被配置为引导所述系统获取图像,所述图像包含安装有车牌的车辆,以及识别与所述车辆相关的至少一个特征点。所述至少一个处理器还被配置为引导所述系统基于所述至少一个特征点,确定所述车牌的倾斜角度所在的近似角度范围,以及在所述近似角度范围内确定所述车牌的所述倾斜角度。所述至少一个处理器还被配置为引导所述系统基于所述车牌的所述倾斜角度对所述车牌进行倾斜校正。
在一些实施例中,所述与所述车辆相关的至少一个特征点包括位于所述车牌上的第一特征点和位于所述车辆上并在所述车牌之外的至少一个第二特征点。
在一些实施例中,位于所述车牌上的所述第一特征点包括所述车牌的中心点。
在一些实施例中,位于所述车辆上并在所述车牌之外的所述至少一个第二特征点包括所述车辆的左边界处的第二特征和所述车辆的右边界处的第二特征。
在一些实施例中,为了基于所述至少一个特征点,确定所述车牌的倾斜角度所在的近似角度范围,所述至少一个处理器被配置为引导所述系统基于所述第一特征点和所述至少一个第二特征点之间的关联位置确定近似倾斜角度;以及基于所述近似倾斜角度确定所述近似角度范围。
在一些实施例中,所述近似倾斜角度是所述近似角度范围的中值。
在一些实施例中,为了在所述近似角度范围内确定所述车牌的所述倾斜角度,至少一个处理器被配置为引导所述系统识别所述车牌的至少两个参考点,以及对于所述近似角度范围内的至少两个候选角度中的每一个,确定与所述车牌的所述至少两个参考点相关的参数值。至少一个处理器还被配置为引导所述系统基于至少两个参数值指定所述至少两个候选角度中的一个作为所述车牌的所述倾斜角度。
在一些实施例中,与所述车牌的所述至少两个参考点相关的所述参数值是由所述至少两个参考点投影的至少两个投影点的方差。
在一些实施例中,所述至少一个处理器还被配置为引导所述系统响应于确定所述车牌需要重建而重建校正后的车牌。
在一些实施例中,所述重建校正后的车牌包括对所述校正后的车牌的尺寸的调整。
根据本申请的另一方面,提供了一种车牌识别的方法。所述方法在包括至少一个处理器和至少一个存储介质的计算设备上实现。所述方法包括获取图像,所述图像包含安装有车牌的车辆,以及识别与所述车辆相关的至少一个特征点。所述方法还包括基于所述至少一个特征点,确定所述车牌的所述倾斜角度所在的近似角度范围,以及在所述近似角度范围内确定所述车牌的所述倾斜角度。所述方法还包括基于所述车牌的所述倾斜角度对所述车牌进行倾斜校正。
本申请的一部分附加特性可以在以下描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各个方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将以示例性实施例的方式进一步描述,这些示例性实施例将通过附图进行详细描述,附图未按比例绘制。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请的一些实施例所示的示例性车牌识别系统的示意图;
图2是根据本申请的一些实施例所示的示例性计算设备的硬件和/或软件组件示意图;
图3是根据本申请的一些实施例所示的示例性用户设备的组件示意图;
图4是根据本申请的一些实施例所示的示例性图像处理设备的框图;
图5是根据本申请的一些实施例所示的示例性车牌识别过程的流程图;
图6是根据本申请的一些实施例所示的示例性确定车牌的至少一个特征点过程的流程图;
图7是根据本申请的一些实施例所示的示例性确定车牌的倾斜角度过程的流程图;
图8A至图8C是根据本申请的一些实施例所示的示例性车牌的不同倾斜角度的示意图;以及
图9A和图9B是根据本申请的一些实施例所示的示例性车牌的投影点的示意图。
具体实施方式
为了更清楚地说明本申请的实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例。对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构和操作。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。需进一步理解的是,本申请中使用的术语“包括”和/或“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,还可以包括其它的步骤和元素。
根据本申请的一些实施例,可以以各种方式参考系统的一些模块,然而,可以在客户终端和/或服务器中使用任何数量的不同模块。这些模块仅用于举例说明,并不用于限制本申请的范围。在系统和方法的不同方面可以使用不同的模块。
根据本申请的一些实施例,流程图用于说明系统执行的操作。应当理解的是,前面或下面的操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或以上操作。
参考附图描述的本申请实施例的技术方案,如下所述。显然,所描述的实施例不是穷举性的,也不是限制性的。基于本申请中提出的实施例,本领域普通技术人员在没有作出创造性劳动的情况下获得的其他实施例,均在本申请的范围内。
本申请的一个方面涉及识别车辆图像中的车牌的系统和方法。所述系统可以确定车牌的近似角度范围,以及在近似角度范围内定位车牌的倾斜角度。近似角度范围可以是覆盖车牌的近似倾斜角度的角度范围。近似倾斜角度可以涉及图像中车辆的方向,并且根据至少一个特征点(例如,车牌的特征点,除车牌外车辆的其它部分的特征点)来确定。基于车牌的倾斜角度,所述系统可以进一步对车牌进行倾斜校正。在一些实施例中,所述系统还可以重建校正后的车牌,以便于后续的车牌识别过程。
图1是根据本申请的一些实施例所示的示例性车牌识别系统100的示意图。车牌识别系统100可以识别图像中的车辆的车牌。如图1所示,车牌识别系统100可以包括成像设备110、图像处理设备120、终端130、存储器140、网络150和/或与本申请的变形实施例相符的任何其他合适的组件。
成像设备110可以是被配置为捕获一个或以上图像的设备。在本申请的一些实施例中,图像可以是静止图像,视频,流视频或从视频获得的视频帧。一个或以上图像可以包括有车牌171的车辆170的图像。图像中的车辆170可以用各种视图呈现,例如前视图,横向视图,透视图等。
在一些实施例中,成像设备110可以是摄像机,智能手机,平板电脑,膝上型电脑,配备有网络摄像机的视频游戏机等。摄像机可以是静态摄像机,云台-变焦摄像机,移动摄像机,立体摄像机,结构光摄像机,飞行时间摄像机等。具体地,成像设备110可以是配备有飞行时间设备,Kinect传感器的摄像机,例如,3D激光扫描仪,摄影扫描仪等。取决于安装位置和/或要捕获的对象的类型,成像设备110的类型可以是不同的。
成像设备110生成的图像可以存储在存储器140中,和/或经由网络150发送到图像处理设备120或终端130。
图像处理设备120可以处理由成像装置110生成或从车牌识别系统100中的另一组件(例如,存储器140、终端130)检索的图像。例如,图像处理设备120可以识别图像中车辆170的位置或取向。另外,图像处理设备120可以识别车辆170上的车牌171并识别车牌171上的文本信息。具体地,图像处理设备120可以执行车辆识别算法以在图像中定位车辆170,并且根据车辆170的一个或多个特征点进一步确定车牌171的倾斜角度。
在一些实施例中,图像处理设备120可以基于例如对象(例如,车辆170)的特征、对象的图像、对象的视频等,或其任意组合的特征来生成控制信号。控制信号可用于控制成像设备110。例如,图像处理设备120可以生成控制信号以控制成像设备110(例如,摄像机)跟踪对象并获得对象的图像。
在一些实施例中,图像处理设备120可以包括一个或以上处理引擎(例如,单核处理引擎或多核处理器)。仅作为示例,图像处理设备120可以包括中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、、可编程逻辑器件(PLD)、控制器、微控制器单元、简指令集计算机(RISC)、微处理器等,或其任意组合。
终端130可以和图像处理设备120连接或通信。终端130可以允许一个或以上操作者(例如,安全官员、执法人员等)来控制生产和/或在显示器上显示数据(例如,由成像设备110捕获的图像)。终端130可以包括输入设备、输出设备、控制面板、显示器(图1中未示出)等,或其任意组合。
示例性输入设备可以包括键盘、触摸屏、鼠标、遥控器、可穿戴设备等,或其任意组合。例如,输入设备可以包括可以经由键盘、触摸屏(例如,具有触觉或触觉反馈等)、语音输入、眼睛跟踪输入、脑监测系统、或任何其他类似的输入机制输入的字母数字和其他键。通过输入设备接收的输入信息可以经由网络150传送到图像处理设备120以进行进一步处理。示例性输入设备还可以包括光标控制设备,例如鼠标、轨迹球或光标方向键,以将方向信息和命令选择传送到例如图像处理设备120并控制显示器或其他显示器上的光标移动设备。
显示器可以被配置为显示接收到的数据(例如,由成像设备110捕获的图像)。数据可以包括数据处理之前和/或之后的数据、与图像获取和/或处理有关的输入或参数的请求等,或其任意组合。示例性显示器可以包括液晶显示器(LCD)、基于发光二极管(LED)的显示器、平板显示器或曲面屏幕(或电视)、阴极射线管(CRT)等,或其任意组合。
存储器140可以存储数据和/或指令。数据可以包括图像(例如,由成像设备110获得的图像)、图像的相关信息等。在一些实施例中,存储器140可以存储图像处理设备120可以执行或用于执行本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储器140可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等,或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性的可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、压缩盘、磁带等。示例性的易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可包括动态RAM(DRAM)、双倍数据速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容RAM(Z-RAM)等。示例性ROM可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除的可编程ROM(PEROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字多功能磁盘ROM等。在一些实施例中,存储器140可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、社区云、分布式云、云间云、多云等,或其任意组合。
网络150可以促进车牌识别系统100的各个组件之间的通信。网络150可以是单个网络,或各种网络的组合。仅作为示例,网络150可以包括有线网络、无线网络、光纤网络、电信网络、内联网、互联网、局域网(LAN)、广域网(WAN)、无线局域网(WLAN)、城域网(MAN)、广域网(WAN)、公共电话交换网络(PSTN)、蓝牙TM网络、ZigbeeTM网络、近场通信(NFC)网络、全球移动通信系统(GSM)网络、码分多址(CDMA)网络、时分多址(TDMA)网络、通用分组无线电业务(GPRS)网络、增强的数据速率GSM演进(EDGE)网络、宽带码分多址(WCDMA)网络、高速下行分组接入(HSDPA)网络、长期演进(LTE)网络、用户数据报协议(UDP)网络、传输控制协议/互联网协议(TCP/IP)网络、短消息服务(SMS)网络、无线应用协议(WAP)网络、超宽带(UWB)网络、红外线等,或其任意组合。网络150还可以包括各种网络接入点,例如,有线或无线接入点,诸如一个或以上基站160或因特网交换点,数据源可以通过这些接入点连接到网络150以便经由网络150传输信息。需要说明的是,以上对车牌识别系统100的描述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域普通技术人员而言,在本申请内容的指导下,可做出多种变化和修改。但是,这些变化和修改不脱离本申请的范围。在一些实施例中,存储器140可以与图像处理设备120组合而作为单个设备。类似的修改应该落入本申请的范围内。
需要说明的是,上述关于车牌识别系统100的描述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域普通技术人员而言,在本申请内容的指导下,可做出多种变化和修改。但是,这些变化和修改不脱离本申请的范围。例如,由成像设备110生成的部分或整个图像数据可以由终端130处理。又例如,成像设备110和图像处理设备120可以在单个设备中实现,用于执行本申请中描述的成像设备110和图像处理设备120的功能。又例如,终端130和存储器140可以与图像处理设备120的一部分组合而作为单个设备。类似的修正属于本申请的范围。
图2是根据本申请的一些实施例所示的示例性计算设备的硬件和/或软件组件示意图。图像处理设备120和/或终端130可以使用一个或多个计算设备200和/或计算设备200的一个或以上部分来实现。
计算设备200可用于实现如本申请所述的数据传输的任何部分。例如,图像处理设备120可以经由其硬件、软件程序、固件或其任意组合在图像处理设备200上实现。尽管为了方便起见仅示出了一种计算机,但是与如本申请所述的图像处理有关的计算机功能可以在至少两个类似平台上以分布式方式实现,以分配处理负荷。
例如,计算设备200可以包括COM(通信)端口260,所述COM端口260与网络相连以促进数据通信。计算设备200还可以包括用于执行程序指令的一个或多个处理器的形式的处理器210。示例性计算机平台可以包括内部通信总线270、不同形式的程序存储和数据存储,例如只读存储器(ROM)220、随机存取存储器(RAM)240或磁盘240,用于由计算机处理和/或传输的各种数据文件。示例性计算机平台还可以包括存储在ROM220,RAM230和/或由处理器210执行的任何其他类型的非暂时性存储介质中的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200还包括I/O(输入/输出)组件250,其支持计算设备200和外部组件之间的输入/输出。计算设备200还可以通过网络通信来接收程序和数据。
处理器210可以执行指令和/或数据以执行本申请中描述的一个或以上功能。例如,处理器210可以确定图像中车辆的车牌的倾斜角度。在一些实施例中,处理器210可以包括一个或以上处理器(例如,单核处理器或多核处理器)。仅作为示例,处理器210可以包括中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图形处理单元(GPU)、物理处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等,或其任意组合。
仅用于说明,计算设备200中仅描述一个处理器210。然而,需要说明的是,本申请中的计算设备200还可以包括至少两个处理器,因此由如本申请中所述的一个处理器210执行的操作和/或方法步骤也可以由至少两个CPU/处理器共同或单独执行。例如,如果在本申请中,计算设备200的处理器210执行步骤A和步骤B,则应该理解,步骤A和步骤B可以由计算设备200中的至少两个不同的处理器共同或单独执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B)。
ROM220,RAM230和/或磁盘240可以存储可执行本申请中描述的一个或以上功能的数据和/或指令。例如,ROM220、RAM230和/或磁盘240可以存储由处理器210执行的指令以确定与同一场景有关的可见光图像和红外图像是否被记录。作为另一示例,ROM220、RAM230和/或磁盘240可以存储由处理器210执行的指令以识别图像中车辆的车牌。在一些实施例中,RAM230可以包括动态RAM(DRAM)、双倍数据速率同步动态RAM(DDR SDRAM)、静态RAM(SRAM)、晶闸管RAM(T-RAM)和零电容RAM(Z-RAM)等,或其任意组合。在一些实施例中,ROM220可以包括掩模ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、光盘ROM(CD-ROM)和数字多功能磁盘ROM等,或其任意组合。在一些实施例中,磁盘240可以包括磁盘、光盘、固态驱动器、闪存驱动器、软盘、光盘、存储卡、压缩盘、,磁带等,或其任意组合。在一些实施例中,ROM220、RAM230和/或盘240可以包括数据存储、应用程序等。在一些实施例中,数据存储可以是用于存储数据的任何硬件或软件,包括电路、程序等。在一些实施例中,应用程序可以包括可安装在计算设备200中用于查询数据的任何应用程序。
I/O(输入/输出)250可以支持计算设备200和外部组件之间的输入/输出。仅作为示例,I/O250可以包括显示器、小键盘/键盘等,或其任意组合。显示器可以是用于以视觉形式呈现信息的输出设备。在一些实施例中,显示器可包括液晶显示器(LCD)面板、发光二极管显示器(LED)面板、有机发光二极管(OLED)面板、阴极射线管(CRT)显示器、等离子显示器、触摸屏、模拟触摸屏等,或其任何组合。小键盘/键盘可以是用于用户键入信息的输入设备。在一些实施例中,小键盘/键盘可以包括标准字母数字键盘、简化的字母数字键盘、柔性键盘、手持式键盘、软件键盘、屏幕键盘、激光投影键盘、感测板等,或其任意组合。
COM(通信)端口260可以与网络链接以实现数据通信。在一些实施例中,COM端口260可以是网络150和/或车牌识别系统100中的一个或以上组件的接口。在一些实施例中,COM端口260可以是任何类型的有线或无线网络接口。仅作为示例,COM端口260可以包括电缆网络接口、有线网络接口、光纤网络接口、电信网络接口、Intranet接口、Internet接口、局域网(LAN)接口、广域网(WAN)接口、无线局域网(WLAN)接口、城域网(MAN)接口、广域网(WAN)接口、公共电话交换网络(PSTN)接口、蓝牙网络接口、ZigBee网络接口、近场通信(NFC)网络接口等,或其任意组合。在一些实施例中,可以根据编程和/或计算机语言来实现COM端口260。COM端口260可以包括用于将计算设备200耦合到一个或以上网络的电路,并且被构造为与一种或以上通信协议和技术一起使用,包括全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、通用分组无线业务(GPRS)、GSM演进的增强数据速率(EDGE)、宽带码分多址(WCDMA)、高速下行链路分组接入(HSDPA)、长期演进(LTE)、用户数据报协议(UDP)、传输控制协议/互联网协议(TCP/IP)、短消息服务(SMS)、无线应用协议(WAP)、超宽带(UWB)、IEEE802.16全球微波互通访问(WiMax)、会话发起协议/实时传输协议(SIP/RTP)或各种其他无线通信协议中的任何一种。
内部通信总线270可以在计算设备200的一个或多个组件之间传输信息和/或数据。例如,内部通信总线270可以连接处理器210与存储器(例如,RAM230、ROM220等)以交换信息和/或数据。在一些实施例中,内部通信总线270可以包括硬件组件和/或软件实现。例如,内部通信总线270可以包括电线、光纤、电缆、通信协议等,或其任意组合。
图3是根据本申请的一些实施例所示的示例性用户设备的组件示意图。如图3所示,用户设备300可以包括通信平台320、显示器310、图形处理单元(GPU)330、中央处理单元(CPU)340、I/O(输入/输出)端口350、内存360和存储器390。在一些实施例中,在用户设备300中包括但不限于系统总线或控制器(未示出),也可以包括任何其他合适的组件。在一些实施例中,移动操作系统370(例如,iOSTM,AndroidTM,WindowsPhoneTM)和一个或以上应用程序380可以从存储器390加载到内存360中,以便由CPU340执行。用户设备300可以是终端130的实施例。应用程序380可以包括用于通过网络150接收和显示由成像设备110提供的图像播放器。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本申请中描述的一个或以上组件的硬件平台。具有用户接口元素的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。若计算机被适当编程,计算机也可用作服务器。
图4是根据本申请的一些实施例所示的示例性图像处理设备120的框图。图像处理设备120可以包括获取模块410、识别模块420、确定模块430、计算模块440、重建模块450和提取模块460。
获取模块410可以从车牌识别系统100的其他组件获取图像。所获取的图像可以包括其上安装有车牌的车辆。
识别模块420可以识别图像中的一个或以上特征点。例如,识别模块420可以识别车辆图像中的一个或以上特征点,包括车辆的车牌的中心点,车辆的边界点等。在一些实施例中,识别模块420可以识别车牌的区域并进一步识别车牌的中心点以及车牌的其他特征点。
确定模块430可以确定车辆图像中车牌的倾斜角度。在一些实施例中,确定模块430可以基于与车辆相关的一个或以上特征点来确定车牌的近似倾斜角度。此外,确定模块430可以确定覆盖车牌的近似倾斜角度的角度范围。角度范围可以进一步用于确定车牌的(精确)倾斜角度。
计算模块440可以确定车牌的倾斜角度。在一些实施例中,计算模块440可以在角度范围中选择至少两个候选角度,并基于至少两个候选角度中的每一个来旋转车牌。在每次旋转之后,计算模块440可以计算与车牌的至少两个参考点相关的参数值,并基于至少两个参数值将一个候选角度指定为车牌的倾斜角度。在一些实施例中,参数值可以是由车牌的至少两个参考点投影的至少两个投影点的方差。
重建模块450可以重建图像或图像中的一部分。例如,重建模块450可以通过调节车牌(例如,调节车牌的宽度/高度)来重建车辆图像中的车牌。在一些实施例中,重建模块450可以执行判断是否需要重建图像或图像中的一部分。
提取模块460可以从车牌中提取信息。车牌的信息可以包括车牌中表示车牌身份信息的字符。在一些实施例中,提取模块460可以通过光学字符识别(OCR)技术或车牌字符识别(LPCR)算法,例如神经网络,来提取车牌中的字符。
图5是根据本申请的一些实施例所示的示例性车牌识别过程500的流程图。过程500可以由车牌识别系统100执行。例如,过程500可以被实现为存储在存储ROM220或RAM230中的指令集。处理器210和/或图4中的模块可以执行指令集,并且在执行指令时,处理器210和/或模块可以被配置为执行过程500。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程500可以增加一个或以上未描述的操作和/或省略上述讨论的一个或以上操作来完成。另外,如图5所示的过程500的操作的顺序和以下描述不是限制性的。
在510中,获取模块410可以获取包含安装有车牌的车辆的图像。在一些实施例中,可以从任何合适的存储设备接收图像(例如,图1中所示的存储器140、图2中所示的磁盘240、图3中所示的存储器390)、任何合适的成像设备(例如,图1中所示的成像设备110)或任何终端设备(例如,终端130)。
车辆可包括汽车、公共汽车、卡车等。车牌可以安装在车辆的正面和/或背面。车牌可以是具有车辆的数字或字母数字ID的矩形板。车牌可以具有与数字或字母数字ID的颜色不同的背景颜色(例如,蓝色、绿色、白色)。
在一些实施例中,由于图像中车辆的各种视图,所示图像中呈现的车牌可能会发生变形。例如,在图像中呈现的车牌可以是倾斜的,和/或图像中呈现的车牌的形状可以是菱形。为简洁起见,可以通过车牌的倾斜角度来表示图像中所呈现的车牌的变形。车牌的倾斜角度可以取决于图像中车辆的方向。当车辆以其前视图出现在图像中的情况下,车牌以及车牌上的数字或字母数字ID可能会水平定位在图像中,因此车牌的倾斜角度可以被视为0。
在一些实施例中,图像中呈现的车辆可以包括在参考区域中。参考区域可以由具有特定形状的框表示,例如矩形框、圆形框、椭圆形框。在一些实施例中,可以通过车辆识别过程生成参考区域。在一些实施例中,可以手动确定参考区域。
在520中,特征识别模块420可以识别与车辆相关的至少一个特征点。至少一个特征点可以包括图像中车辆的特定部分(例如,车灯、后灯、后视镜、轮胎、徽标、前挡风玻璃、后挡风玻璃、车牌)的一个或以上点(像素)。例如,所述至少一个特征点可以包括前灯的点(例如,前灯的中心点、前灯的边界点)、后视镜的点(例如,后视镜的边界点)、车头的边界点、车辆的徽标的点等。与车辆相关的至少一个特征点可以进一步用于确定例如车辆的方向和/或车牌的倾斜角度。
在一些实施例中,至少一个特征点的识别可以通过各种技术来执行,包括边界检测技术、基于颜色的技术、机器学习技术、基于纹理的技术等,或其任意组合。例如,可以利用边界检测技术来检测车辆头部的左/右边界。可以利用基于颜色的技术来检测图像中具有特定颜色的车牌。可以利用基于纹理的技术来检测图像中具有特定图案的车牌。可以利用机器学习技术来通过训练网络,例如卷积神经网络(CNN),检测感兴趣的对象。感兴趣的对象可以包括车辆的徽标、车辆的车牌、车辆的前灯等。更多特征点的识别的描述可以在本申请的其他地方找到(例如,图6及其相关描述)。
在530中,确定模块430可以基于所述至少一个特征点来确定车牌的角度范围。车牌的角度范围可以是近似角度范围,车牌的倾斜角度可以位于所述近似角度范围内。
车牌的角度范围可以与图像中车辆的方向相关。例如,如果车辆面向图像的右侧,则图像中的车牌可以向图像的右上方倾斜(例如,图8C中的车牌),因此车牌的角度范围可以是0度至90度的范围。如果车辆面向图像的左侧,则图像中的车牌可以向图像的左上方倾斜(例如,图8B中的车牌),因此车牌的角度范围可以是-90度到0度的范围。
在一些实施例中,为了确定车牌的角度范围,确定模块430可以首先基于所述至少一个特征点确定车牌的参考角度θ。参考角度θ可以是车牌的近似倾斜角度。
如在本申请的其他地方所述,至少一个特征点可以包括位于图像中车辆的特定部分的一个或以上点。出于说明的目的,作为示例,可以利用车牌的一个或以上特征点确定车牌的参考角度。需要注意的是,以下车牌的参考角度θ的确定仅仅是一些示例或实施例。对于本领域普通技术人员而言,车牌的参考角度θ的确定可以根据其他特征点,例如车辆的徽标的一个或以上特征点来进行。
在一些实施例中,车牌的一个或以上特征点可以包括车牌的中心点。确定模块430可以确定车牌的中心点与车头的左边界之间的第一水平距离,以及车牌的中心点与车头的右边界之间的第二水平距离。车辆头部的左/右边界可以用不同场景中的不同表示来定义。例如,当可以在图像中检测到左/右前灯时,可以利用车辆的左/右前灯的中心/边界点定义车头的左/右边界。又例如,当左/右前灯不能在车辆中被检测到时,可以用车头的最外点限定车头的左/右边界。为简洁起见,ΔLl可以表示第一水平距离,ΔLr可以表示第二水平距离。如果第一水平距离大于第二水平距离,则确定模块430可以确定车辆面向图像的右侧。如果第一水平距离小于第二水平距离,则确定模块430可以确定车辆面向图像的左侧。
此外,确定模块430可以根据公式(1),来基于第一水平距离和第二水平距离计算车牌的参考角度θ。
θ=f(ΔLl,ΔLr), (1)
其中f是表示车牌的第一水平距离、第二水平距离和参考角度θ之间关系的函数。具体地,车牌的第一水平距离、第二水平距离和参考角度θ之间的关系可以被表示为如公式(2)所示的第二水平距离与第一水平距离的比值即ΔLl/ΔLr和车牌的参考角度θ之间的映射关系。
θ=f(ΔLl/ΔLr) (2)
在一些实施例中,函数f可以预先确定并存储在车牌识别系统100的存储设备(例如,存储器140)中。在一些实施例中,函数f可以是神经网络模型。当第一水平距离ΔLl和第二水平距离ΔLr被输入到神经网络模型中时,神经网络模型可以生成参考角度θ作为结果。
在一些实施例中,车牌的一个或以上特征点可以包括车牌的至少两个点。车牌的至少两个点可以包括车牌的一个或以上角点,包括车牌的左上角、右上角、左下角和右下角。基于车牌的至少两个点的位置信息,确定模块430可以确定图像中车辆的方向和/或车牌的参考角度θ。例如,确定模块430可以确定车牌的左上角点和车牌的的右上角点的垂直坐标。如果左上角点的垂直坐标大于右上角点的垂直坐标,则确定模块430可以确定车辆面向图像的左侧。如果左上角点的垂直坐标小于右上角点的垂直坐标,则确定模块430可以确定车辆面向图像的右侧。此外,确定模块430可以计算连接车牌的左上角点和右上角点的线和水平方向之间的夹角,并基于夹角和参考角度θ之间的映射关系计算车牌的参考角度θ。
在确定车牌的参考角度θ之后,确定模块430还可以确定车牌的角度范围。可以设定车牌的角度范围,使得参考角度θ可以包括在其中。在一些实施例中,车牌的角度范围可以被设定为(θ-Δθ,θ+Δθ),使得参考角度θ可以是角度范围的中值。Δθ可以是任何值,例如5°、8°、10°、20°、30°等。
在540中,计算模块440可以在角度范围内确定车牌的倾斜角度。在一些实施例中,计算模块440可以在角度范围内选择至少两个候选角度,并确定与至少两个候选角度中的每一个相关的置信度分数。然后,计算模块440可以指定置信度分数满足条件的候选角度作为车牌的倾斜角度。在一些实施例中,计算模块440可以将车牌旋转选择的候选角度,并且基于旋转后车牌的点的分布确定与所选择的候选角度相关的置信度分数。具体地,与所选候选角度相关的置信度分数可以通过旋转后车牌的点的坐标的方差,或者旋转后车牌的点投影的投影点的坐标的方差来表示。关于车牌的倾斜角度的更多描述可以在本申请的其他地方找到,例如,图8及其相关描述。
在550中,计算模块440可以基于倾斜角度对车牌进行倾斜校正。
倾斜校正可以包括将车牌旋转倾斜角度。在一些实施例中,在旋转之后,车牌的左边界和右边界可以平行于或基本平行于垂直方向。在一些实施例中,在旋转之后,车牌的上边界和车牌的下边界可以平行于或基本平行于水平方向。在一些实施例中,倾斜校正可以包括用于计算倾斜车牌中的点值的插值操作(例如,双线性内插)。
可附加地或可替代地,倾斜校正可以包括在旋转的车牌上执行剪切变换(例如,水平剪切、垂直剪切)。例如,计算模块440可以对上边界和下边界平行或基本平行于水平方向的旋转牌照进行水平剪切。又例如,计算模块440可以对左边界和右边界平行于或基本上平行于垂直方向的旋转的车牌执行垂直剪切。又例如,计算模块440可以根据特定的剪切矩阵对旋转的车牌执行剪切映射操作。
在一些实施例中,在倾斜校正之后,校正后的车牌可以具有矩形等形状。
在560中,重建模块450可以确定是否需要对校正后的车牌进行重建。如本申请所使用的,校正后车牌的重建可以指调整校正后的车牌的一个或以上参数以生成重建的车牌的操作。在一些实施例中,重建的车牌可以有利于对车牌的后续处理(例如,识别车牌中的字符)。调整的校正后车牌的一个或以上参数可以包括例如校正后的车牌的分辨率、校正后的车牌的尺寸等,或其任意组合。
在一些实施例中,重建模块450可以基于校正后的车牌的宽度和/或重建后的车牌的宽度与高度的比值来确定是否重建校正后的车牌。例如,如果重建的车牌的宽度与高度的比值小于阈值r,并且车牌的宽度小于阈值w,则重建模块450可以确定需要对车牌进行重建。否则,重建模块450可以确定不需要对车牌进行重建。阈值r和/或阈值w可以预先确定并存储在车牌识别系统100的存储设备(例如,存储器140)中。响应于确定需要重建校正后的车牌,过程500可以进行到570;否则,过程500可以进行到580。
在570中,重建模块450可以执行校正后的车牌的重建。在一些实施例中,重建模块450可以采用各种重建技术,包括例如超分辨率重构(SR)技术、基于最大后验(MAP)的技术等,或其任意组合。在一些实施例中,校正后车牌的重建可以包括例如扩大校正后的车牌的宽度来调整重建后的车牌的宽度与高度的比值。在不同的场景下,校正后车牌的宽度可以放大0.5、1、1.5等倍。
在580中,提取模块460可以从所获取的车牌(校正后的车牌或重建后的车牌)中提取车牌的信息。车牌的信息可以包括车牌中表示车牌身份信息的字符。在一些实施例中,可以通过光学字符识别(OCR)技术来提取车牌中的字符。在一些实施例中,可以通过车牌字符识别(LPCR)算法例如神经网络来提取车牌中的字符。
需要注意的是,上述关于过程500的描述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域普通技术人员而言,在本申请的一些实施例的教导下可以进行各种变化和修改。在一些实施例中,可以减少或添加一些操作。然而,这些变化和修改可以不脱离本申请的一些实施例的保护范围。例如,一个或以上其他可选操作(例如预处理操作)可以在过程500中添加。例如,在识别与车辆相关的特征之前,识别模块420可以预处理图像(例如,增强图像的对比度)。
图6是根据本申请的一些实施例所示的示例性确定车牌的至少一个特征点过程600的流程图。过程600可以由车牌识别系统100执行。例如,过程600可以实现为存储在存储ROM220或RAM230中的指令集。处理器210和/或图4中的模块可以执行该指令集,并且在执行指令时,处理器210和/或模块可以被配置为执行过程600。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程600可以通过一个或以上未描述的附加操作和/或省略上述讨论的一个或以上操作来实现。另外,如图6所示的过程600的操作的顺序和以下描述不是限制性的。在一些实施例中,可以根据过程600执行过程500中的操作520。
在610中,识别模块420可以确定与车辆图像中的车牌相关的候选区域。候选区域可以是车牌的近似表示,其表示图像中的车牌的近似位置、近似形状等。在一些实施例中,识别模块420可以通过基于形态的技术、神经网络技术(例如,训练后的DarkNet模型)、对象分割技术(例如,基于边界的技术)等,或其任意组合来确定候选区域。
在620中,识别模块420可以扩展候选区域,使得车牌可以完全包括在扩展区域中。在一些实施例中,可以根据候选区域的一个或以上边界点来扩展候选区域。候选区域的边界点可以是候选区域中最大横坐标、最小横坐标、最大纵坐标或最小纵坐标中的至少一个点。然后,识别模块420可以扩展候选区域以覆盖其横坐标在最大横坐标和最小横坐标之间的范围内,并且纵坐标在最大纵坐标和最小纵坐标之间的范围内的所有点。在一些实施例中,可以根据用户输入指示扩展区域的面积进而来扩展候选区域。
在630中,识别模块420可以根据车牌的至少一个特征在扩展区域中定位车牌。车牌的至少一个特征可以包括车牌的颜色(例如车牌中的字符的颜色、车牌的背景颜色)、车牌的边界(例如,垂直边界、水平边界)、车牌的纹理等,或其任意组合。
在一些实施例中,为了更好地在扩展区域中定位车牌,可以对图像执行预处理操作。例如,可以通过预处理操作将图像转换为灰度图像。可选地,可以通过中值滤波进一步降低灰度图像中的噪声,并且可以通过直方图均衡进一步增强灰度图像的对比度。然后,可以通过基于边界的算法提取车牌的边界。具体地,基于边界的算法可以包括识别灰度图像中的水平/垂直线,并将突出的水平/垂直线指定为车牌的水平/垂直边界。
在640中,识别模块420可以确定图像中车牌的至少一个特征点。
在一些实施例中,车牌的至少一个特征点可以包括车牌的中心点。在一些实施例中,车牌的至少一个特征点可以包括车牌的至少两个点。车牌的至少两个点可以包括车牌的一个或以上角点,包括车牌的左上角、右上角、左下角和右下角。在一些实施例中,如过程500中所述,车牌的至少一个特征点可以进一步用于确定车辆的方向或车牌的角度范围。
需要注意的是,上述关于过程600的描述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域普通技术人员而言,在本申请的一些实施例的教导下可以进行各种变化和修改。在一些实施例中,可以减少或添加一些操作。但是,这些变化和修改不脱离本申请的一些实施例的保护范围。例如,可以根据过程600类似地确定图像中除车牌外的其他部分的特征点。图像中的其他部分可以包括车辆的徽标、车辆的前挡风玻璃、车辆的后挡风玻璃等,或其任意组合。此外,其他部分的特征点还可用于根据过程500类似的过程来确定车辆的方向或车牌的角度范围。
图7是根据本申请的一些实施例所示的示例性确定车牌的倾斜角度过程的流程图。过程700可以由车牌识别系统100执行。例如,过程700可以实现为存储在存储ROM220或RAM230中的指令集。处理器210和/或图4中的模块可以执行该指令集,并且在执行指令时,处理器210和/或模块可以被配置为执行过程700。以下所示的过程的操作仅出于说明的目的。在一些实施例中,过程700可以增加一个或以上未描述的附加操作和/或省略上述讨论的一个或以上操作来实现。另外,如图7所示的过程700的操作的顺序和以下描述不是限制性的。在一些实施例中,可以根据过程700执行操作540。
在710中,计算模块440可以获得图像中车牌的角度范围。在一些实施例中,角度范围可以是近似角度范围,车牌的倾斜角度可以位于该近似角度范围内。
在720中,计算模块440可以识别车牌的至少两个参考点。在一些实施例中,至少两个参考点可以包括如本申请的其他地方所述的车牌的一个或以上特征点,例如,左上角点、右上角点、左下角点、右下角点,和车牌的中心点。可附加地或可替代地,至少两个参考点可以包括车牌中字符的一个或以上点,例如车牌中每个字符的顶点。可附加地或可替代地,至少两个参考点可以包括车牌的边界线的一个或以上点,例如车牌的上边界线的点。
在一些实施例中,多个参考点的识别可以通过各种技术来执行,包括边界检测技术、基于颜色的技术、机器学习技术、基于纹理的技术等,或其任意组合。
在730中,计算模块440可以针对角度范围内的至少两个候选角度中的每一个确定至少两个参考点的至少两个投影点。
角度范围中的至少两个候选角度可以是随机地或根据预定规则从角度范围选择的角度。例如,多个候选角度可以在角度范围内均匀地分布。每个相邻候选角度之间的角度差可以是任何值,例如0.5°、1°、1.5°等。为了说明的目的,假设角度范围为15°至20°并且角度差为1°,至少两个候选角度可以是15°、16°、17°、18°、19°和20°。
对于至少两个候选角度中的每一个,计算模块440可以将车牌旋转该候选角度,然后基于至少两个参考点确定至少两个投影点。在一些实施例中,可以通过将至少两个参考点之一投影到线上来生成每个投影点。
为了简洁起见,可以以通过车牌的中心点的垂直线为例进行说明。需要注意的是,下面描述的线仅仅是示例或实施例。对于本领域普通技术人员而言,垂直线可以由任何其他合适的线代替,例如通过车牌的中心点的水平线,或与通过中心点的垂直线平行的任何其他垂直线代替。
如图9A所示,两个点A和B是倾斜车牌1110的两个参考点的示例。点A和B分别是倾斜车牌1110的左上点和右上点。y轴与穿过倾斜车牌1110的中心点的线重叠。在这种情况下,计算模块440将车牌1110旋转至少两个候选角度中的每一个之后,点A可以投射到y轴上以生成其在y轴上的投影点y1,点B可以投影到y轴上以生成其在y轴上的投影点y2。
在740中,计算模块440可以针对角度范围内的至少两个候选角度中的每一个确定至少两个投影点的方差。在一些实施例中,至少两个投影点的方差可以通过至少两个投影点的位置的方差来表示。例如,在通过将参考点投影到y轴上生成投影点的情况下,特定候选角度的至少两个投影点的方差可以由至少两个投影的纵坐标的方差来表示。例如,如图9A所示,至少两个投影点的纵坐标可以包括投影点y1和投影点y2的纵坐标。
在750中,计算模块450可以基于至少两个方差将至少两个候选角度中的一个指定为车牌的倾斜角度。在一些实施例中,至少两个投影点的方差可以反映投影点的均匀性。投影点的方差越小,可以表示投影点的均匀性越高,因此投影点的置信度分数越高。计算模块450可以确定至少两个方差之中的最小方差,并指定与最小方差对应的候选角度为车牌的倾斜角度。例如,图9B示出了与最小方差对应的车牌1120。如图9B所示,左上角点A’的投影点和右上角点B’的投影点位于y轴上的y3,其具有比图9A中的投影点y1和y2更高的均匀性。
需要注意的是,上述关于过程700的描述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域普通技术人员而言,在本申请的一些实施例的教导下可以进行各种变化和修改。在一些实施例中,可以减少或添加一些操作。然而,这些变化和修改不脱离本申请一些实施例的保护范围。在一些实施例中,计算模块440可以针对每个候选角度,执行至少两个参考点的曲线拟合(例如,多项式曲线拟合)来代替确定至少两个参考点的投影点。例如,计算模块440可以将车牌中字符的顶点线性拟合。线的斜率可以与车牌的倾斜角度有关。
图8A至8C是根据本申请的一些实施例所示的示例性车牌的不同倾斜角度的示意图。
如图8A所示,车辆170以其正视图示出,并且车牌811水平地定位在图像中。车辆170包括在矩形框810(即,参考区域)中。第一水平距离ΔLl由车牌811的中心点与车头的左边界之间的水平距离表示。第二水平距离ΔLr由车牌811的中心点与车头的右边界之间的水平距离表示。在这种情况下,第一水平距离等于第二水平距离,即ΔLl=ΔLr。
如图8B所示,车辆170面向图像的左侧,并且车牌811向图像的左上角倾斜。与图8A不同,第一水平距离小于第二水平距离,即ΔLl<ΔLr,车牌811的倾斜角度在-90度至0度的范围内。
如图8C所示,车辆170面向图像的右侧,并且车牌811向图像的右上角倾斜。与图8A和8B不同,第一水平距离大于第二水平距离,即ΔLl>ΔLr,车牌811的倾斜角度在0度至90度的范围内。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本申请中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或以上计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一个或以上程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
Claims (20)
1.一种系统,包括:
包含指令集的至少一个存储介质;以及
与所述至少一个存储介质通信的至少一个处理器,当执行所述指令集时,所述至少一个处理器被配置为引导所述系统:
获取图像,所述图像包含安装有车牌的车辆;
识别与所述车辆相关的至少一个特征点;
基于所述至少一个特征点,确定所述车牌的倾斜角度所在的近似角度范围;
在所述近似角度范围内确定所述车牌的所述倾斜角度;以及
基于所述车牌的所述倾斜角度对所述车牌进行倾斜校正。
2.根据权利要求1所述的系统,所述与所述车辆相关的至少一个特征点包括位于所述车牌上的第一特征点和位于所述车辆上并在所述车牌之外的至少一个第二特征点。
3.根据权利要求2所述的系统,位于所述车牌上的所述第一特征点包括所述车牌的中心点。
4.根据权利要求2所述的系统,位于所述车辆上并在所述车牌之外的所述至少一个第二特征点包括所述车辆的左边界处的第二特征和所述车辆的右边界处的第二特征。
5.根据权利要求2所述的系统,为了基于所述至少一个特征点,确定所述车牌的倾斜角度所在的近似角度范围,所述至少一个处理器被配置为引导所述系统:
基于所述第一特征点和所述至少一个第二特征点之间的关联位置确定近似倾斜角度;以及
基于所述近似倾斜角度确定所述近似角度范围。
6.根据权利要求5所述的系统,所述近似倾斜角度是所述近似角度范围的中值。
7.根据权利要求1所述的系统,为了在所述近似角度范围内确定所述车牌的所述倾斜角度,至少一个处理器被配置为引导所述系统:
识别所述车牌的至少两个参考点;
对于所述近似角度范围内的至少两个候选角度中的每一个,确定与所述车牌的所述至少两个参考点相关的参数值;以及
基于所述至少两个参数值,指定所述至少两个候选角度中的一个作为所述车牌的所述倾斜角度。
8.根据权利要求7所述的系统,与所述车牌的所述至少两个参考点相关的所述参数值是由所述至少两个参考点投影的至少两个投影点的方差。
9.根据权利要求1所述的系统,所述至少一个处理器还被配置为引导所述系统:
响应于确定所述车牌需要重建而重建校正后的车牌。
10.根据权利要求9所述的系统,所述重建校正后的车牌包括对所述校正后的车牌的尺寸的调整。
11.一种方法,所述方法在包括至少一个处理器和至少一个存储介质的计算设备上实现,所述方法包括:
获取图像,所述图像包含安装有车牌的车辆;
识别与所述车辆相关的至少一个特征点;
基于所述至少一个特征点,确定所述车牌的倾斜角度所在的近似角度范围;
在所述近似角度范围内确定所述车牌的所述倾斜角度;以及
基于所述车牌的所述倾斜角度对所述车牌进行倾斜校正。
12.根据权利要求11所述的方法,所述与所述车辆相关的至少一个特征点包括位于所述车牌上的第一特征点和位于所述车辆上并在所述车牌之外的至少一个第二特征点。
13.根据权利要求12所述的方法,位于所述车牌上的所述第一特征点包括所述车牌的中心点。
14.根据权利要求12所述的方法,位于所述车辆上并在所述车牌之外的所述至少一个第二特征点包括所述车辆的左边界处的第二特征和所述车辆的右边界处的第二特征。
15.根据权利要求12所述的方法,所述基于所述至少一个特征点,确定所述车牌的倾斜角度所在的近似角度范围包括:
基于所述第一特征点和所述至少一个第二特征点之间的关联位置确定近似倾斜角度;以及
基于所述近似倾斜角度确定所述近似角度范围。
16.根据权利要求15所述的方法,所述近似倾斜角度是所述近似角度范围的中值。
17.根据权利要求11所述的方法,所述在所述近似角度范围内确定所述车牌的所述倾斜角度包括:
识别所述车牌的至少两个参考点;
对于所述近似角度范围内的至少两个候选角度中的每一个,确定与所述车牌的所述至少两个参考点相关的参数值;以及
基于所述至少两个参数值,指定所述至少两个候选角度中的一个作为所述车牌的所述倾斜角度。
18.根据权利要求17所述的方法,与所述车牌的所述至少两个参考点相关的所述参数值是由所述至少两个参考点投影的至少两个投影点的方差。
19.根据权利要求11所述的方法,还包括:
响应于确定所述车牌需要重建而重建校正后的车牌。
20.根据权利要求19所述的方法,所述重建校正后的车牌包括对所述校正后的车牌的尺寸的调整。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2018/125762 WO2020133464A1 (en) | 2018-12-29 | 2018-12-29 | Systems and methods for license plate recognition |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113228033A true CN113228033A (zh) | 2021-08-06 |
Family
ID=71127380
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880100463.1A Pending CN113228033A (zh) | 2018-12-29 | 2018-12-29 | 车牌识别的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11842535B2 (zh) |
EP (1) | EP3874401A4 (zh) |
CN (1) | CN113228033A (zh) |
WO (1) | WO2020133464A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI818535B (zh) * | 2022-05-04 | 2023-10-11 | 博遠智能科技股份有限公司 | 車牌辨識系統及方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210153999A (ko) * | 2020-06-11 | 2021-12-20 | 현대자동차주식회사 | 차량 및 그 제어방법 |
US11908172B2 (en) * | 2020-08-19 | 2024-02-20 | Privacy4Cars, Llc | Methods and systems to reduce privacy invasion and methods and systems to thwart same |
CN114821078B (zh) * | 2022-05-05 | 2023-03-14 | 北方工业大学 | 一种车牌识别方法、装置、电子设备及存储介质 |
CN114882489B (zh) * | 2022-07-07 | 2022-12-16 | 浙江智慧视频安防创新中心有限公司 | 一种对旋转车牌进行水平校正方法、装置、设备及介质 |
WO2024050320A1 (en) * | 2022-08-28 | 2024-03-07 | Fleetmind Seon Solutions Inc. | Computer-based tools and techniques for vehicle detection |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130279758A1 (en) * | 2012-04-23 | 2013-10-24 | Xerox Corporation | Method and system for robust tilt adjustment and cropping of license plate images |
US20130329961A1 (en) * | 2012-06-12 | 2013-12-12 | Xerox Corporation | Geometric pre-correction for automatic license plate recognition |
CN104318233A (zh) * | 2014-10-19 | 2015-01-28 | 温州大学 | 车牌图像水平倾斜校正方法 |
CN105608455A (zh) * | 2015-12-18 | 2016-05-25 | 浙江宇视科技有限公司 | 一种车牌倾斜校正方法及装置 |
CN106951896A (zh) * | 2017-02-22 | 2017-07-14 | 武汉黄丫智能科技发展有限公司 | 一种车牌图像倾斜校正方法 |
CN108985137A (zh) * | 2017-06-02 | 2018-12-11 | 杭州海康威视数字技术股份有限公司 | 一种车牌识别方法、装置及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130204719A1 (en) | 2012-02-02 | 2013-08-08 | Xerox Corporation | Systems and methods for license plate recognition to enable advance order pickup |
CN103093200A (zh) * | 2013-01-18 | 2013-05-08 | 金三立视频科技(深圳)有限公司 | 快速精准定位图像中车牌的算法 |
US9042647B2 (en) | 2013-06-06 | 2015-05-26 | Xerox Corporation | Adaptive character segmentation method and system for automated license plate recognition |
US10579892B1 (en) * | 2014-06-27 | 2020-03-03 | Blinker, Inc. | Method and apparatus for recovering license plate information from an image |
CN105654083B (zh) | 2015-12-23 | 2019-05-03 | 天津天地伟业物联网技术有限公司 | 一种固定范围车牌倾斜角度快速计算方法 |
CN106780351B (zh) * | 2016-12-09 | 2019-11-29 | 浙江浩腾电子科技股份有限公司 | 一种车牌倾斜矫正方法 |
CN108805122A (zh) * | 2017-05-03 | 2018-11-13 | 迅驰(北京)视讯科技有限公司 | 车牌水平倾斜矫正方法、系统及车牌识别设备 |
-
2018
- 2018-12-29 WO PCT/CN2018/125762 patent/WO2020133464A1/en unknown
- 2018-12-29 EP EP18944629.7A patent/EP3874401A4/en active Pending
- 2018-12-29 CN CN201880100463.1A patent/CN113228033A/zh active Pending
-
2021
- 2021-06-07 US US17/340,213 patent/US11842535B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130279758A1 (en) * | 2012-04-23 | 2013-10-24 | Xerox Corporation | Method and system for robust tilt adjustment and cropping of license plate images |
US20130329961A1 (en) * | 2012-06-12 | 2013-12-12 | Xerox Corporation | Geometric pre-correction for automatic license plate recognition |
CN104318233A (zh) * | 2014-10-19 | 2015-01-28 | 温州大学 | 车牌图像水平倾斜校正方法 |
CN105608455A (zh) * | 2015-12-18 | 2016-05-25 | 浙江宇视科技有限公司 | 一种车牌倾斜校正方法及装置 |
CN106951896A (zh) * | 2017-02-22 | 2017-07-14 | 武汉黄丫智能科技发展有限公司 | 一种车牌图像倾斜校正方法 |
CN108985137A (zh) * | 2017-06-02 | 2018-12-11 | 杭州海康威视数字技术股份有限公司 | 一种车牌识别方法、装置及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI818535B (zh) * | 2022-05-04 | 2023-10-11 | 博遠智能科技股份有限公司 | 車牌辨識系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020133464A1 (en) | 2020-07-02 |
EP3874401A4 (en) | 2021-11-03 |
US11842535B2 (en) | 2023-12-12 |
EP3874401A1 (en) | 2021-09-08 |
US20210295080A1 (en) | 2021-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113228033A (zh) | 车牌识别的系统和方法 | |
US11893689B2 (en) | Automated three dimensional model generation | |
CN109583285B (zh) | 对象识别方法 | |
US10839521B2 (en) | Image processing apparatus, image processing method, and computer-readable storage medium | |
US9948911B2 (en) | Method and apparatus for efficient depth image transformation | |
JP5710589B2 (ja) | 改良されたハンドヘルド画面検知ポインタ | |
US9519968B2 (en) | Calibrating visual sensors using homography operators | |
WO2020151750A1 (zh) | 图像处理方法及装置 | |
CN100357959C (zh) | 面部器官位置检测设备、方法及程序 | |
JP6230751B1 (ja) | 物体検出装置および物体検出方法 | |
US9721387B2 (en) | Systems and methods for implementing augmented reality | |
US11120252B2 (en) | Methods, systems, and media for evaluating images | |
US20210334998A1 (en) | Image processing method, apparatus, device and medium for locating center of target object region | |
US9959600B2 (en) | Motion image compensation method and device, display device | |
US9046496B2 (en) | Capturing method for images with different view-angles and capturing system using the same | |
WO2013159686A1 (en) | Three-dimensional face recognition for mobile devices | |
CN108965839B (zh) | 一种自动调整投影画面的方法及装置 | |
US11206376B2 (en) | Systems and methods for image processing | |
US11200414B2 (en) | Process for capturing content from a document | |
US20140204083A1 (en) | Systems and methods for real-time distortion processing | |
US20210118213A1 (en) | Systems and methods for three dimensional object scanning | |
US20190304070A1 (en) | Image rectification method and device, and storage medium | |
WO2021056501A1 (zh) | 提取特征点的方法、可移动平台及存储介质 | |
CN111428707B (zh) | 图形识别码的识别方法、装置、存储介质及电子设备 | |
US11790483B2 (en) | Method, apparatus, and device for identifying human body and computer readable storage medium |
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 |