CN110622172A - 图像处理方法和系统 - Google Patents
图像处理方法和系统 Download PDFInfo
- Publication number
- CN110622172A CN110622172A CN201980000845.1A CN201980000845A CN110622172A CN 110622172 A CN110622172 A CN 110622172A CN 201980000845 A CN201980000845 A CN 201980000845A CN 110622172 A CN110622172 A CN 110622172A
- Authority
- CN
- China
- Prior art keywords
- image
- location
- representation
- line segments
- determining
- 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.)
- Withdrawn
Links
- 238000003672 processing method Methods 0.000 title abstract description 6
- 238000000034 method Methods 0.000 claims abstract description 144
- 238000012545 processing Methods 0.000 claims description 91
- 230000008569 process Effects 0.000 claims description 79
- 238000003860 storage Methods 0.000 claims description 53
- 238000012937 correction Methods 0.000 claims description 37
- 239000011159 matrix material Substances 0.000 claims description 29
- 238000012216 screening Methods 0.000 claims description 20
- 238000013527 convolutional neural network Methods 0.000 claims description 14
- 238000004891 communication Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 23
- 238000004422 calculation algorithm Methods 0.000 description 19
- 230000015654 memory Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 11
- 230000004048 modification Effects 0.000 description 11
- 238000012015 optical character recognition Methods 0.000 description 9
- 238000012797 qualification Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000011521 glass Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000029305 taxis Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- -1 commodities Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000010977 jade Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 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
Classifications
-
- 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
-
- G06T5/80—
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30176—Document
Abstract
本申请提供了一种图像处理方法和系统。所述方法可以包括,获得包括对象的第一图像,所述对象在所述第一图像中具有第一表现形式。所述方法还可以包括,确定所述第一图像中所述对象的至少一个第一位置。所述方法还可以包括,基于所述至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像以生成包括所述对象的第二图像。所述对象在所述第二图像中可以具有所述第二表现形式。
Description
交叉引用
本申请要求于2018年4月18日提交的中国申请No.201810349840.7的优先权,以及2018年4月24日提交的中国申请No.201810374653.4的优先权,其全部内容通过引用结合于此。
技术领域
本申请一般涉及一种图像处理方法和系统,尤其涉及一种处理移动终端拍摄的图像的方法和系统。
背景技术
随着当前移动网络的发展,其在人们的日常生活中发挥着越来越重要的作用。各种日常活动,例如身份认证、金融交易和在线支付等,都可以通过移动网络进行。通常,为了能够进行上述活动,用户需要上传一些证件或图像以确认其身份和/或资格。例如,为了通过移动互联网支付账单或提供服务,用户可能需要上传图像或其身份证来进行验证。上传的图像必须满足一系列条件,以便提供清晰准确的信息。又例如,为了从诸如纸质文档的证件中提取文本,可以首先获得证件的图像(例如,照片),并对图像执行光学字符识别(OCR)以提取所需的文本。要成功执行OCR,图像的质量可能必须高于某个标准。通常,这种图像是通过特定的成像设备(例如扫描仪)获得的,并且OCR是由与成像设备配套的OCR软件来执行的,这不方便且成本较高。
移动终端正在成为人们日常生活中不可或缺的一部分。使用由移动终端拍摄用于身份/资格认证和/或OCR的图像,可以大大提高效率并且降低成本。然而,由于光照强度、背景复杂、人为因素等方面的影响,移动终端拍摄的图像通常存在质量较差的问题。例如,移动终端拍摄的图像可能倾斜或畸变。因此,移动终端拍摄的图像可能无法满足例如身份/资格认证和OCR的标准。
因此,需要更高效准确的方法和系统来进行图像处理,尤其是由移动终端所拍摄的图像。
发明内容
本申请一方面提供了一种用于进行图像处理方法,所述方法可以包括,获得第一图像,所述第一图像包括具有第一表现形式的对象。所述方法还可以包括,确定所述第一图像中所述对象的至少一个第一位置。所述方法还可以包括,基于所述至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像以生成第二图像,其中,所述第二图像可以包括具有所述第二表现形式的所述对象。
在一些实施例中,所述第二表现形式可以与所述对象的参考尺寸、参考图像覆盖率或参考方向中的至少一个相关,所述第一表现形式可以与所述对象的原始尺寸、原始图像覆盖率或原始方向中的至少一个相关。
在一些实施例中,所述确定所述至少一个第一位置可以包括:在所述第一图像中检测所述对象的至少两个边缘线,以及基于所述至少两个边缘线确定所述至少一个第一位置。
在一些实施例中,所述基于所述至少一个第一位置和关于所述对象的所述第二表现形式调整所述第一图像可以包括:至少部分基于所述第二表现形式和所述至少两个边缘线确定与所述至少一个第一位置对应的至少一个第二位置;基于所述至少一个第一位置和所述至少一个第二位置,获得校正矩阵;以及在所述第一张图像上应用所述校正矩阵。
在一些实施例中,所述检测所述对象所述的至少两个边缘线可以包括:使用线段检测器LSD处理所述第一图像,以检测与所述第一图像中的所述对象相关联的至少两个线段;筛选所述至少两个线段以获得至少两个筛选线段,其中所述筛选可以至少部分基于所述至少两个线段的方向;以及基于所述至少两个筛选线段确定所述至少两个边缘线。
在一些实施例中,所述筛选还可以基于所述至少两个线段的置信度分数。
在一些实施例中,所述方法还可以包括,从所述至少两个线段中,识别沿同一直线的线段,以及通过合并被识别为沿同一直线的线段来更新所述至少两个线段。
在一些实施例中,所述至少两个筛选线段可以包括至少两个线段组,所述至少两个线段组与所述至少两个边缘线对应。所述第一图像可以包括至少两个预设区域,所述至少两个预设区域与所述至少两个边缘线对应;所述筛选所述至少两个线段以获得至少两个筛选线段可以包括,对于所述至少两个预设区域中的每个预设区域,从所述至少两个线段中选择在该预设区域内的一组线段作为所述至少两个线段组中的一个线段组,其中该组线段中的每条线段的方向可以都在与该预设区域相关的预设范围内。所述基于所述至少两个筛选线段确定所述至少两个边缘线可以包括,对于所述至少两个线段组的每个线段组,将该线段组中的最长线段标为所述对象的对应的边缘线。
在一些实施例中,所述至少一个第一位置可以包括所述对象的一个或以上顶点在所述第一图像中的位置,所述基于所述至少两个边缘线确定所述至少一个第一位置可以包括,确定所述至少两个边缘线中的每对相邻边缘线的交点为所述一个或以上顶点。
在一些实施例中,所述至少部分基于所述第二表现形式和所述至少两个边缘线确定与所述至少一个第一位置对应的至少一个第二位置可以包括:基于所述至少两个边缘线确定所述对象在所述第一图像中的第一尺寸;基于所述第一尺寸和所述第二表现形式确定所述对应的参考尺寸;以及基于所述参考尺寸确定所述至少一个第二位置。
在一些实施例中,所述至少一个第一位置可以对应于所述对象的至少一部分,所述确定所述至少一个第一位置可以包括,使用物体识别技术在所述第一图像中识别所述对象的至少一部分。
在一些实施例中,所述根据至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像可以包括,基于所述至少一个第一位置和所述第二表现形式确定旋转模式,以及根据所述旋转模式旋转所述第一张图像。
在一些实施例中,所述基于所述至少一个第一位置和所述第二表现形式确定旋转模式可以包括,基于关于所述对象的所述第二表现形式确定与所述至少一个第一位置相对应的至少一个第二位置,以及基于所述至少一个第一位置和所述至少一个第二位置之间的映射关系确定所述旋转模式。
在一些实施例中,所述物体识别技术可以基于卷积神经网络(CNN)模型。
在一些实施例中,所述对象可以是一种证件,并且所述对象的至少一部分可以至少包括第一部分、第二部分和第三部分,其中所述第一部分包括所述证件的标题,所述第二部分包括所有者的图像,所述第三部分包括印章、签名、地区标志、该所有者的另一图像或条码。
在一些实施例中,所述方法还包括,裁切所述第二图像或所述第一图像,使得所述第二图像或所述第一图像仅包括所述对象。
本申请另一方面提供了一种用于进行图像处理的系统。所述系统包括至少一个存储介质和至少一个处理器。所述存储介质包括一组指令。所述至少一个处理器与所述至少一个存储介质通讯。当执行该组指令时,所述至少一个处理器可以用于获得第一图像,所述第一图像包括具有第一表现形式的对象。所述至少一个处理器还可以用于确定所述第一图像中所述对象的至少一个第一位置。所述至少一个处理器还可以用于基于所述至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像以生成第二图像,其中,所述第二图像可以包括具有所述第二表现形式的所述对象。
本申请另一方面还提供了一种用于图像处理的系统。所述系统可以包括第一图像模块、第一位置模块以及调整模块。所述第一图像模块用于获得第一图像,所述第一图像包括具有第一表现形式的对象。所述第一位置模块用于确定所述第一图像中所述对象的至少一个第一位置。所述调整模块用于基于所述至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像以生成第二图像,其中,所述第二图像可以包括具有所述第二表现形式的所述对象。
本申请另一方面还提供了一种非暂时性计算机可读介质,其包括适于进行图像处理的指令。当所述指令被电子设备的处理器执行时,所述指令可以引导所述电子设备执行图像处理过程,包括:获得第一图像,所述第一图像包括具有第一表现形式的对象;确定所述第一图像中所述对象的至少一个第一位置;以及基于所述至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像以生成第二图像,其中,所述第二图像可以包括具有所述第二表现形式的所述对象。
本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下具体实施例中描述的各种方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:
图1是根据本申请的一些实施例所示的线上到线下服务系统的示意图;
图2是根据本申请的一些实施例所示的计算设备的示意图;
图3是根据本申请的一些实施例所示的图像处理设备的示意图;
图4是根据本申请的一些实施例所示的图像处理过程的示意图;
图5是根据本申请的一些实施例所示的图像处理过程的示意图;
图6是根据本申请的一些实施例所示的图像处理过程的示意图;
图7是根据本申请的一些实施例所示的图像处理过程的示意图;
图8是根据本申请的一些实施例所示的包括身份证的原始图像的示意图;
图9是根据本申请的一些实施例所示的通过在图8的原始图像上运行LSD算法而检测到线段的示意图;
图10是根据本申请的一些实施例所示的基于图9中的线段确定的边缘线的示意图;
图11是根据本申请的一些实施例所示的基于图10中边缘线的交点确定待识别对象的顶点的示意图;
图12是根据本申请的一些实施例所示的基于图11中的顶点获得的校正图像的示意图;
图13是根据本申请的一些实施例所示的模板的示意图;
图14是根据本申请的一些实施例所示的在情况1中待处理图像的示意图;
图15是根据本申请的一些实施例所示的在情况2中待处理的像的示意图;
图16是根据本申请的一些实施例所示的在情况3中待处理图像的示意图;
图17是根据本申请的一些实施例所示的在情况4中待处理图像的示意图;
图18是根据本申请的一些实施例所示的用于处理图像的过程的示意图;
图19是根据本申请的一些实施例所示的图14中待处理图像的放大视图的示意图;
图20是根据本申请的一些实施例所示的用于获得目标位置模式的示意图;
图21是根据本申请的一些实施例所示的如图14所示的情况1中的目标位置的示意图;
图22是根据本申请的一些实施例所示的如图15所示的情况2中的目标位置的示意图;
图23是根据本申请的一些实施例所示的如图16所示的情况3中的目标位置的示意图;
图24是根据本申请的一些实施例所示的如图17所示的情况4中的目标位置的示意图;
图25是根据本申请的一些实施例所示的如图14所示的情况1中的目标位置的示意图;
图26是根据本申请的一些实施例所示的如图15所示的情况2中的目标位置的示意图;
图27是根据本申请的一些实施例所示的如图16所示的情况3中的目标位置的示意图;
图28是根据本申请的一些实施例所示的如图17所示的情况4中的目标位置的示意图;
图29是根据本申请的一些实施例所示的在情况5中的待处理图像的示意图;以及
图30是根据本申请的一些实施例所示的如图29所示的情况5中的待处理图像的处理方式的示意图。
具体实施方式
本申请一般涉及用于处理图像的方法和系统,使得图像的内容可以以标准形式显示。例如,图像可以包括如身份证、执照、银行卡、证书、护照、包括文本的纸质文件等材料。通过对图像进行处理,可以根据标准模板、期望格式或参考图像等来调整证件相对于图像的方向和/或覆盖比例。
以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并且该描述是在特定的应用场景及其要求的环境下提供的。本发明实施例的各种修改对于本领域的普通技术人员来讲是显而易见的,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的一般原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。此外,可以将一个或以上其他操作添加到这些流程图中,也可以从流程图中删除一个或以上操作。
此外,尽管本申请中公开的系统和方法主要涉及线上到线下运输服务,但是还应该理解,这仅是一个示例性实施例。本申请的系统或方法可以应用于任何其他类型的线上到线下服务。例如,本申请的系统和方法可以应用于不同的运输系统,包括陆地、海洋、航空航天等或其任意组合。运输系统的车辆可包括出租车、私家车、搭便车、公共汽车、船舶、飞机、无人驾驶汽车、自行车、三轮车、摩托车等或其任何组合。运输系统还可以包括应用管理和/或分配的任何运输系统,例如,用于发送和/或接收快递的系统或用于外卖服务的系统。本申请公开的系统和方法的应用场景可以包括网页、浏览器插件、客户端、自定义系统、内部分析系统、人工智能机器人等或其任意组合。
本申请中的术语“乘客”、“请求者”、“服务请求者”和“客户”可互换的用于表示请求或订购服务的个人、实体或工具。同样地,本申请描述的“司机”、“提供者”、“服务提供者”、“供应者”等可互换的用于表示提供服务或者协助提供服务的个人、实体或工具。本申请中的词语“用户”可以指请求服务、订购服务、提供服务或促进提供服务的个体、实体或工具。例如,用户可以是乘客、司机、操作者等或其任意组合。在本申请中,“乘客”和“乘客终端”可以互换使用,“司机”和“司机终端”可以互换使用。
本申请中,“服务请求”是指由乘客、请求者、服务请求者、用户、司机、提供者、服务提供者、供应者等或其任何组合发起的请求。该服务请求可以被乘客、请求者、服务请求者、客户、司机、提供者、服务提供者或供应者中的任一者接受。服务请求可以是计费的也可是免费的。
本申请中使用的定位技术可以包括全球定位系统(Global Positioning System,GPS)、全球卫星导航系统(Global Navigation Satellite System,GLONASS)、罗盘导航系统(Compass Navigation System,COMPASS)、伽利略定位系统、准天顶卫星系统(Quasi-Zenith Satellite System,QZSS)、无线保真(Wireless Fidelity,WiFi)定位技术等或其任意组合。以上一个或以上定位技术中可以在本申请中交换使用。
本申请的一个方面涉及用于显示线上到线下服务(例如,出租车服务)有关信息的系统和方法。为了帮助发起出租车服务的服务请求的乘客容易且快速地识别接受服务请求的司机的车辆,线上到线下服务平台可以生成显示司机的车辆类型、司机的车辆颜色、司机车辆的车牌号和/或司机车辆的表面上的标记的图像,并且从乘客的角度显示司机的车辆。另外,线上到线下服务平台可以生成显示司机的车辆的实时位置以及围绕司机的车辆的其他车辆的实时位置的地图。为了帮助乘客在乘客的智能手机被锁定且没有解锁乘客智能手机时监控线上到线下服务的过程,在线上到线下服务平台可以确定与按需服务的过程相对应的信息,并将与按需服务的过程相对应的信息连同显示指令一起发送给乘客的智能手机。当乘客的智能手机被锁定时,显示指令可以提示乘客的智能手机在乘客智能手机的锁屏界面上显示与线上到线下服务的过程相对应的信息。
值得注意的是,线上到线下的运输服务,如在线出租车服务,是一种仅在后互联网时代扎根的新型服务形式。它为使用者和服务提供者提供了仅在后互联网时代才可能实现的技术方案。在前互联网时代,当乘客在街上呼叫一辆出租车时,出租车的预定请求和接受只可能在乘客和看见该乘客的出租车司机之间发生。如果乘客通过电话呼叫一辆出租车,出租车预定请求和接受只能在该乘客和服务提供者(例如,出租车公司或代理)之间发生。然而,在线出租车服务实时且自动地获得交易请求。在线出租车服务还可以允许服务中的用户即时并自动地分配一个服务请求给大量的个体服务提供者(例如,出租车司机),同时允许至少两个服务提供者同时或即时响应该服务请求。因此,通过互联网,线上到线下的运输系统可以为用户和服务提供商提供一个更加高效的交易平台,这是传统的前互联网运输服务系统所不具备的。
在以下详细描述中,通过示例阐述了许多具体细节,以便提供对相关公开的透彻理解。然而,对于本领域技术人员来说显而易见的是,可以在没有这些细节的情况下实践本公开。在其他情况下,已知的方法、程序、系统、组件和/或电路已在相对较高的层次上进行描述,但没有详细说明,以避免不必要地模糊本公开的各个方面。本发明实施例的各种修改对于本领域的普通技术人员来讲,是显而易见的,并且在不背离本发明的精神和范围的情况下,本发明中定义的一般原则可以应用于其他实施例和应用。因此,本申请不限于所示的实施例,而是符合与申请专利范围一致的最广泛范围。
本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如这里所使用的,单数形式“一”、“一个”和“该”也可以包括复数形式,除非上下文另有明确说明。还应当理解,如在本申请说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
应当理解的是,本文使用的“系统”、“单元”、“模块”和/或“区块”是用于按升序区分不同级别的不同构件、元素、部件、部分或组件的方法。但是,如果这些术语达到同样的目的,则可能会被另一个术语所取代。
通常,这里使用的词语“模块”、“子模块”、“单元”或“块”是指体现在硬件或固件中的逻辑或者软件指令的集合。这里描述的模块,单元或块可以实现为软件和/或硬件,并且可以存储在任何类型的非暂时性计算机可读介质或另一个存储设备中。在一些实施例中,可以编译软件模块/单元/块并将其链接到可执行程序中。应当理解,软件模块可以从其他模块/单元/块或从它们自身调用和/或可以响应检测到的事件或中断时调用。
被配置用于在计算设备上执行的软件模块/单元/块(例如,如图2所示的处理器210)可以被提供在计算机可读介质上,例如,光盘、数字视频盘、闪存驱动器、磁盘或任何其他有形介质或数字下载(并且最初可以以压缩或可安装的格式存储,在执行之前需要安装、解压缩或解密)。该软件代码可以被部分的或全部的储存在执行操作的计算设备的存储设备中,并应用在计算设备的操作之中。软件指令可以被植入在固件(例如,EPROM)中。还应当理解,硬件模块/单元/块可以包括在连接的逻辑组件(例如,门和触发器)中和/或可以包括在可编程单元(例如,可编程门阵列或处理器)中。这里描述的模块/单元/块或计算设备功能可以作为软件模块/单元/块来实现,但是可以用硬件或固件表示。通常,这里描述的模块/单元/块指的是逻辑模块/单元/块,尽管它们的物理组织或存储方式不同,但可以与其他模块/单元/块组合或者分成子模块/子单元/子块。
该描述可适用于系统,引擎或其一部分。
应当理解,当单元、发动机、模块或块被称为“接通”、“连接到”或“耦合到”另一个单元、发动机、模块或块时,它可以直接接通,除非上下文另有明确说明,否则可以存在连接或耦合到其他单元、发动机、模块或块或与其通信,或者介入单元、引擎、模块或块。在本申请中,术语“和/或”可包括任何一个或以上相关所列条目或其组合。
根据以下对附图的描述,本申请的这些特征和其他的特征以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。
图1是根据本申请的一些实施例所示的线上到线下服务系统100的示意图。例如,线上到线下服务系统100可以是用于运输服务的线上到线下运输服务系统,例如,出租车呼叫、司机服务、送货服务、拼车、公共汽车服务、外卖服务、司机租用和班车服务。为简洁起见,本申请中描述的方法和/或系统可以以出租车服务为例。应当注意出租车服务仅用于说明目的,并非旨在限制本申请的范围。对于本领域具有普通技能的人,本申请中描述的方法和/或系统可以应用于其他类似的情况,例如外卖服务、送货服务等。
线上到线下服务系统100可以包括服务器110、网络120、请求者终端130、提供者终端140、存储设备150和定位系统160。服务器110,请求者终端130或提供者终端140可以被配置用于实现本申请中描述的图像处理的方法。在一些实施例中,服务器110、请求者终端130或提供者终端140可以在具有本申请中的图2中所示的一个或以上组件的计算设备200上实现。
在一些实施例中,服务器110可以是单个服务器,也可以是服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储在请求者终端130、提供者终端140和/或存储设备150中的信息和/或数据。又例如,服务器110可以直接连接到请求者终端130、提供者终端140和/或存储设备150以访问存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布式云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在本申请中的图2描述的包含了一个或以上组件的计算设备200上执行。在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与线上到线下服务有关的信息和/或数据。
网络120可以促进信息和/或数据的交换。在一些实施例中,线上到线下服务系统140中的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140、存储设备150、以及定位系统160)可以经由网络120将信息和/或数据发送到线上到线下服务系统140中的其他组件。例如,服务器110可以通过网络120从请求者终端130获取/获得服务请求。在一些实施例中,网络120可以是有线网络或无线网络等或其任意组合。仅作为示例,网络130可以包括有线网络、有线网络、光纤网络、电信网络、内联网、互联网、局域网(local areanetwork,LAN)、广域网(wide area network,WAN)、无线局域网(wireless local areanetwork,WLAN)、城域网(metropolitan area network,MAN)、公共交换电话网络(publictelephone switched network,PSTN)、蓝牙网络、紫蜂网络、近场通信(near fieldcommunication,NFC)网络等或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或互联网交换点120-1、120-2、...、线上到线下服务系统100的一个或以上组件可以通过它连接到网络120以交换数据和/或信息。
在一些实施例中,请求者可以是请求者终端130的用户。在一些实施例中,请求者终端130的用户可以为除该请求者之外的人。例如,请求者终端130的用户A可以通过请求者终端130为用户B发送服务请求,或从服务器110处接收服务和/或信息或指令。在一些实施例中,提供者可以是提供者终端140的用户。在一些实施例中,提供者终端140的用户可以为除该提供者之外的人。例如,提供者终端140的用户C可以使用提供者终端140从服务器110处接受用户D的服务请求和/或信息和指令。
在一些实施例中,请求者终端130可以包括移动设备130-1、平板计算机130-2、手提式电脑130-3、机动车130-4中的内置设备等或其任意组合。在一些实施例中,移动设备130-1可以包括智能家居设备、可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等或其任意组合。在一些实施例中,智能家居设备可以包括智能电器的控制装置、智能监控设备、智能电视、智能摄像机、对讲机等或其任意组合。在一些实施例中,可穿戴设备可以包括手环、鞋袜、眼镜、头盔、手表、衣物、背包、智慧配饰等或其任意组合。在一些实施例中,移动设备可以包括移动电话、个人数字助理(personal digital assistance,PDA)、游戏设备、导航设备、销售点(point of sale,POS)、膝上型电脑、台式机等或其任意组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括GoogleGlassTM、RiftConTM、FragmentsTM、GearVRTM等。在一些实施例中,机动车内置设备130-4可以包括车载计算机、车载电视等。在一些实施例中,请求者终端130可以是具有定位技术的设备,用于定位请求者终端130(例如,服务请求者)和/或请求者终端130的用户的位置。
在一些实施例中,提供者终端140可以是与请求者终端130类似或相同的设备。例如,提供者终端140还可以是或包括移动设备140-1、平板电脑140-2、膝上型计算机140-3、机动车辆140-4中的内置设备,它们是与移动设备130-1、平板电脑130-2、膝上型计算机130-3、机动车辆130-4中的内置设备一样或类似的设备。在一些实施例中,提供者终端140可以是利用定位技术来定位提供者终端140的用户(例如,服务提供者)和/或提供者终端140的位置的设备。在一些实施例中,请求者终端130和/或提供者终端140可以与一个或以上其他定位设备通信以确定请求者、请求者终端130、提供者和/或提供者终端140的位置。在一些实施例中,请求者终端130和/或提供者终端140可以向服务器110传送定位信息。
存储设备150可以存储数据和/或指令。在一些实施例中,存储设备150可以存储从请求者终端130和/或提供者终端140获得的数据。在一些实施例中,存储设备150可存储服务器110可执行或用于执行本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备150可包括大容量存储器、可移动存储器、易失性读写内存、只读内存(read-only memory,ROM)等或其任意组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、内存卡、zip磁盘、磁带等。示例性易失性读写内存可以包括随机存取内存(random access memory,RAM)。示例性RAM可包括动态随机存取内存(dynamic RAM,DRAM)、双倍数据速率同步动态随机存取内存(doubledate rate synchronous dynamic RAM,DDRSDRAM)、静态随机存取内存(static RAM,SRAM)、晶闸管随机存取内存(thyrisor RAM,T-RAM)和零电容随机存取内存(zero-capacitor RAM,Z-RAM)等。示例性只读内存可以包括掩模型只读内存(mask ROM,MROM)、可编程只读内存(programmable ROM,PROM)、可擦除可编程只读内存(erasableprogrammable,EPROM)、电可擦除可编程只读内存(electrically-erasable programmableROM,EEPROM)、光盘只读内存(compact disk ROM,CD-ROM)和数字多功能磁盘只读内存等。在一些实施例中,所述存储设备150可以在云平台上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,存储设备150可以连接到网络120以与线上到线下服务系统140中的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140等)通信。线上到线下服务系统1400中的一个或以上组件可以经由网络120访问存储设备150中存储的数据或指令。在一些实施例中,存储设备150可以直接连接到线上到线下服务系统140(例如,服务器110、请求者终端130、提供者终端140等)中的一个或以上组件或与之通信。在一些实施例中,线上到线下服务系统140中的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140等)可以具有访问存储设备150的权限。在一些实施例中,存储设备150可以是服务器110的一部分。
定位系统160可以确定与对象相关联的信息,例如,请求者终端130、提供者终端140等。例如,定位系统160可以确定请求者终端130的当前位置。在一些实施例中,定位系统160可以是全球定位系统(global positioning system,GPS)、全球导航卫星系统(globalnavigation satellite system,GLONASS)、罗盘导航系统(compass navigation system,COMPASS)、北斗导航卫星系统、伽利略定位系统、准天顶卫星系统(quasi-zenithsatellite system,QZSS)等。该信息可以包括对象的位置、高度、速度或加速度,或当前时间。该位置可以是坐标的形式,例如纬度坐标和经度坐标等。定位系统160可以包括一个或以上的卫星,例如卫星160-1、卫星160-2和卫星160-3。所述卫星160-1至160-3可以独立地或共同地确定上述所述信息。卫星定位系统160可以经由无线连接将上述信息发送到网络120、请求者终端130或提供者终端140。
在一些实施例中,可以通过请求服务来实现在线上到线下服务系统140中的一个或以上组件的信息交换。服务请求的对象可以为任何产品。在一些实施方案中,产品可以是有形产品或非物质产品。有形产品可包括食品、药品、商品、化学产品、电器、服装、汽车、房屋、奢侈品等或其任何组合。非物质产品可以包括服务产品、金融产品、知识产品、互联网产品等或其任何组合。互联网产品可以包括个人主机产品、网站产品、移动互联网产品、商业主机产品、嵌入式产品等或其任意组合。移动互联网产品可以用于移动终端(例如,移动应用)的软件、程序、系统等中,或者其任何组合中。例如,产品可以是在计算机或移动电话上使用的任一软件和/或应用。该软件和/或应用程序可以与社交、购物、交通、娱乐、学习、投资等或其任意组合相关。在一些实施例中,所述与运输有关系统软件和/或应用程序可以包括出行软件和/或应用程序、车辆调度软件和/或应用程序、地图软件和/或应用程序等。在车辆调度软件和/或应用中,车辆可包括马、马车、人力车(例如,手推车、自行车、三轮车等)、汽车(例如,出租车、公共汽车、私家车等)、船舶、飞机(例如,飞机、直升机、无人驾驶飞行器(unmanned aerial vehicle,UAV))等或其任何组合。
在一些实施例中,服务器110可以要求请求者终端130或提供者终端140的用户验证其身份和/或资格,这样可以允许用户通过线上到线下系统100接收或提供服务。用户可以上传证件图像以验证其身份和/或资格。该证件可以是或包括其身份证、执照(例如驾驶执照)、证书、银行卡、护照、凭证等。该图像可以由请求者终端130或提供者终端140的摄像头拍摄。在许多情况下,用户拍摄的图像可能无法满足线上到线下系统100的要求。例如,证件可能相对于图像畸变、倾斜或旋转等。
在一些实施例中,处理引擎112可以处理由用户上传的图像,使得处理后的图像可以具有线上到线下系统100所需的标准格式或形式。或者,请求者终端130或提供者终端140可以在将图像上载到服务器110之前处理图像。图像处理的过程会在本申请的后续部分描述。
需要说明的是,线上到线下服务系统100仅用于演示目的,并不旨在限制。本申请中描述的图像处理过程还可以具有其他应用场景。例如,图像处理过程也可以用于预处理纸质文档图像以进行光学字符识别(OCR)。
图2是根据本申请的一些实施例所示的计算设备200的示意图。计算设备200可以被配置为实现一个用于处理图像的装置(例如,服务器110、请求者终端130、提供者终端140、处理引擎112),并执行本申请中公开的一个或以上操作。计算设备200可以被配置用于实现本申请中描述的各种模块、单元及其功能。
计算设备200可以包括总线270、处理器210(或至少两个处理器210)、只读内存(ROM)230、随机存取内存(RAM)240、存储设备220(例如,诸如硬盘、光盘、固态盘、内存卡等的大量存储设备)、输入/输出(input/output,I/O)端口250和通信接口260。可以注意到,图2中所示的计算设备200的架构仅用于演示目的,而不旨在限制。计算设备200可以是能够执行计算的任何设备。
总线270可以耦合计算设备200的各种组件,并便于在它们之间传输数据和/或信息。总线270可以具有本领域的任何总线结构。例如,总线270可以是或可以包括存储器总线和/或外围总线。I/O端口250可以允许在总线270与一个或以上其他设备(例如,触摸屏、键盘、鼠标、麦克风、显示器、扬声器)之间传输数据和/或信息。通信接口260可以允许在网络130和总线270之间传输数据和/或信息。例如,通信接口260可以是或可以包括网络接口卡(network interface card,NIC)、蓝牙TM模块、NFC模块等。
在一些实施例中,通过I/O端口250和通信接口260中的至少一个,计算设备200可以从至少两个成像传感器110接收原始图像和/或输出所生成的组合图像。
ROM230、RAM240和/或存储设备220可以被配置为存储处理器210可执行的指令。RAM240和/或存储设备220还可以存储处理器210在执行指令期间生成的数据和/或信息。在一些实施例中,ROM230、RAM240或存储设备220中的至少一个可以实现图1中所示的存储设备122。
处理器210可以是或包括本领域中配置为执行存储在ROM230、RAM240和/或存储设备220中的指令的任何处理器,以便执行一个或以上操作或实现本公开的一个或以上模块/单元。仅作为示例,处理器210可以包括一个或以上硬件处理器,例如中央处理单元(central processing unit,CPU)、特定应用集成电路(application-specificintegrated circuit,ASIC)、特定应用指令集处理器(application-specificinstruction-set processor,ASIP)、图像处理单元(graphics processing unit,GPU)、物理运算处理单元(physics processing unit,PPU)、数字信号处理器(digital signalprocessor,DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。
在一些实施例中,计算设备200可包括至少两个处理器210。上述至少处理器210可以并行运行以执行本申请中公开的一个或以上操作。
在一些实施例中,计算设备200的一个或以上组件可以在单个芯片上实现。例如,处理器210、ROM230和RAM240可以集成到单个芯片中。
在一些实施例中,计算设备200可以是单个设备,也可以是具有与图2中所示的至少两个具有相同或相似架构的计算设备。在一些实施例中,计算设备200可以实现个人计算机(PC)或任何其他类型的工作站或终端设备。如果适当编程,计算设备200还可以充当服务器。
图3是根据本申请的一些实施例所示的图像处理设备300的示意图。图像处理设备300可以是图像处理引擎110、请求者终端130或提供者终端140(图1中所示)的示例。在一些实施例中,图像处理设备300可以由如图2所示的计算设备200实施。图像处理设备300可包括第一图像模块310、第一位置模块320和调整模块330。
第一图像模块310可以被配置为获得第一图像,所述第一图像包括具有第一表现形式的对象(或被称为待识别对象)。第一表现形式可以代表该对象显示的原始形式。
第一位置模块320可以被配置为确定第一图像中对象的至少一个第一位置。在一些实施例中,上述至少一个第一位置可以包括该对象的一个或以上顶点在第一图像中的位置。在一些实施例中,上述至少一个第一位置可以包括该对象的一个或以上部分在第一图像中的位置。
调整模块330可以被配置为基于上述至少一个第一位置和关于该对象的第二表现形式调整第一图像以生成第二图像,其中该对象在第二图像(或被称为处理图像、校正图像或标准图像)中具有第二表现形式。上述第二表现行驶可以代表该对象显示的期望形式或标准形式。
在一些实施例中,第二表现形式可以与该对象的参照尺寸、参照尺寸比或参考方向中的至少一个相关。相应地,第一图像中的第一表现形式也可以与所述对象的原始尺寸、所述对象的原始尺寸比或所述对象的原始方向中的至少一个相关。
图像处理设备300可以执行图4至图7以及图19中所示的过程中的任何一个以对图像进行处理。图像处理设备300及其模块的详细描述在本申请的其他部分提供(例如,图4至图7以及图19)。
需要说明的是,以上对图像处理设备300的描述仅用于说明目的,并非用于限制本申请。应当理解,在学习了本申请的主要概念和机制之后,本领域的普通技术人员可以以非创造性的方式改变图像处理设备300。改变可以包括组合和/或拆分模块,添加或移除可选模块等。诸如此类的修改均在本申请的保护范围之内。
图4是根据本申请的一些实施例所示的图像处理过程400的示意图。过程400可以由图像处理设备300实施以处理由移动计算设备(例如,请求者终端130、提供者终端140)拍摄的图像(第一图像)。例如,图4中所示的过程400可以以指令的形式存储在存储设备(例如,存储设备150、存储设备220、ROM 230、RAM 240)中,并由图像处理设备300的一个或以上处理器(例如,处理器210)调用和/或执行。
在410中,第一图像模块310可以获得第一图像,所述第一图像包括具有第一表现形式的对象。上述对象可以是包含多个顶点(例如,3、4、5、6、8)的多边形。在一些实施例中,待识别对象可以是具有4个顶点的矩形或正方形。例如,待识别对象可以是身份证、执照(例如驾驶执照)、银行卡、证书、纸质文档等或其任意组合。
在一些实施例中,第一图像可以是由终端的摄像头(例如,请求者终端130、提供者终端140)拍摄的原始图像。第一图像模块310可以从请求者终端130、提供者终端140或存储设备(例如,存储设备150、存储设备220)等获得第一图像。
在420中,第一位置模块320可以确定与第一图像中的对象的至少一个第一位置。
在一些实施例中,至少一个第一位置可以包括对象在第一图像中的一个或以上顶点的位置。例如,对象可以是矩形的,并且至少一个第一位置可以是或包括对象的四个顶点在第一图像中的位置(例如,如图11所示)。上述一个或以上顶点的位置可以具有相对于第一图像的坐标系的坐标形式。该坐标系可以是任何适当的坐标系,例如笛卡尔坐标系、球坐标系、极坐标系等。
在一些实施例中,为了确定对象的一个或以上顶点在第一图像中的位置,第一位置模块320可以在第一图像中检测对象的至少两个边缘线,并且基于上述至少两个边缘线确定至少一个第一位置。如这里所使用的,边缘线可以是第一对象的对应边缘的至少一部分。在一些实施例中,第一设置模块320可以将上述至少两个边缘线中的每对相邻边缘线的交点确定为如上所述的一个或以上顶点。当上述相邻边缘线在空间上彼此分离时,例如,至少有一条边缘线是对象的相应边缘的一部分时,所述“交点”可以是该相邻边缘线的延长线的交点。
在一些实施例中,第一设置模块320可以通过线段检测器(LSD)算法或其变体来检测上述至少两个边缘线。通过使用LSD算法来处理第一图像,第一位置模块320可以检测与第一图像中的对象相关联的至少两个线段。然后,第一位置模块320可以筛选上述至少两个线段以获得筛选线段,并基于筛选线段确定上述至少两个边缘线。在一些实施例中,筛选可以至少部分基于上述至少两个线段的方向(例如,以矢量、斜率和倾斜角的形式)。在一些实施例中,筛选可以进一步基于上述至少两个线段的置信度分数。
在一些实施例中,在筛选之前、筛选之后或筛选期间,第一位置模块320可以通过合并沿同一直线的至少两个线段以形成新的线段的方式来更新上述至少两个线段。由于对象的边缘线经常被检测为两个或多个断开的线段(例如,由于第一图像的过曝光或低曝光),这种更新可以提高边缘线检测的准确性。
在一些实施例中,上述筛选线段可以包括至少两个线段组,该至少两个线段组和上述至少两个边缘线相对应。而第一图像可以包括至少两个预定区域,该至少两个预定区域与上述至少两个线段组相对应。为了筛选上述至少两个线段以获得筛选线段,对于第一图像中的至少两个预定区域中的每一个,第一位置模块320可以从上述至少两个线段中选择在该预定区域内的一组线段,其中该组线段中的每条线段的方向都在与该预定区域相关的预设范围内。例如,当对象是矩形时,上述至少两个预定区域可以包括第一图像的上部、左部、下部和右部。每组线段可被称为边缘线组,基于该边缘线组可确定对应的边缘线(例如,对象的上/左/下/右边缘线)。在一些实施例中,为了基于所述至少两个筛选线段确定所述至少两个边缘线,对于所述至少两个线段组的每个线段组,第一位置模块320可以将该线段组中的最长线段标识别为所述对象对应的边缘线。
对线段的筛选或选择的详细描述可以在本申请的其他部分找到(例如,图6和图7的相关描述)。
在获得对象的至少两个边缘线之后,第一位置模块320可以基于该至少两个边缘线确定至少一个第一位置。在一些实施例中,上述至少一个第一位置可以包括对象的一个或以上部分在第一图像中的位置。例如,当对象是执照(例如,驾驶执照)时,上述一个或以上部分可以至少包括第一部分和第二部分。其中第一部分可包括执照的标题,而第二部分可包括所有者的图像(例如,所有者的脸)。可选地,上述一个或以上部分还可以包括第三部分。对于不同地区的执照,该第三部分可以包括印章、签名(例如,所有者的签名)、地区标志(例如,国旗、国家名称)、所有者的另一图像或条码(例如,二维码)。在一些实施例中,上述一个或以上部分的位置可以对应于其中心点(或任何其他适当的点,例如左上顶点)的坐标。
在一些实施例中,第一位置模块320可以使用物体识别技术在第一图像中识别对象的至少一部分并获取其在第一图像中的位置。在不同的实施例中,物体识别技术可以基于支持向量机(SVM)算法、神经网络算法、面部识别算法等或其组合,或其变体。在一些特定实施例中,物体识别技术可以基于卷积神经网络(CNN)算法或其变体。
对象识别的详细描述可以在本申请的其他部分找到(例如,图18的相关描述)。
在430中,调整模块330可以基于上述至少一个第一位置和关于对象的第二表现形式来调整第一图像以生成第二图像,该第二图像包括具有第二表现形式的所述对象。
在一些实施例中,第二表现形式可以与对象的参照尺寸、参照图像覆盖率或参考方向中的至少一个相关,而第一表现形式可以与对象的原始尺寸、原始图像覆盖率或原始方向中的至少一个相关。例如,当以第一表现形式显示对象时,对象可以相对于图像(第一图像)倾斜、畸变和/或图像覆盖率较低(例如,小于50%)。在由调整模块330执行调整之后,可以以第二表现形式显示对象。例如,当以第二表现形式显示对象时,可以减小对象的倾斜和/或畸变,和/或可以提高对象的图像覆盖率(例如,高于90%)。
在一些实施例中,调整模块330可以至少部分基于第二表现形式和上述至少两个边缘线来确定与上述至少一个第一位置相对应的至少一个第二位置。例如,上述至少一个第一位置可以包括对象的顶点的在第一图像中位置(例如,以坐标的形式)。相应地,上述至少一个第二位置可以包括对象的顶点在处理后的图像(第二图像)中的期望位置(例如,以坐标的形式)。基于上述至少一个第一位置和上述至少一个第二位置,调整模块330可以获得用于校正(或处理)第一图像的校正矩阵。调整模块330可以在第一图像上应用校正矩阵以获得第二图像。
在一些实施例中,可以基于上述至少一个第一位置和上述至少一个第二位置之间的映射关系来获得(或计算)校正矩阵。校正矩阵可以用于对对象进行平移、旋转、缩放、和/或减少其畸变。然后,调整模块330可以通过例如卷积操作使用校正矩阵处理第一图像或其包括对象的图像部分。得到的图像则为第二图像。
在一些实施例中,可以进一步基于关于第一图像的其他因素来获得校正矩阵。例如,可以进一步基于第一图像的颜色/亮度/对比度信息来获得校正矩阵。通过在第一图像或其包括对象的图像部分上应用校正矩阵,所获得的第二图像还可以具有所需的颜色/亮度/对比度,其可以作为上述第二表现形式的一部分。
在一些实施例中,调整模块330可以基于上述至少一个第一位置从至少两个预设操作中选择其中一个操作,并使用所选操作处理第一图像。例如,调整模块330可以基于上述至少一个第一位置从至少两个旋转模式中选择其中一个旋转模式,并使用所选旋转模式来旋转第一图像或其中包括对象的图像部分以获得第二图像,其中该对象可能具有所预期的相对于第二图像的方向。旋转模式的详细描述可以在本申请的其他部分找到(例如,图12至图30的相关描述)。
在一些实施例中,调整模块330可以进一步裁切第二图像,使得所获得的图像仅包括对象(或其至少一部分)或者大部分被对象覆盖(例如,≥95%)。
应当注意的是,过程400的以上描述仅用于演示目的,而不旨在限制。可以理解的是,在学习了本申请的主要概念之后,本领域的普通技术人员可以以非创造性的方式改变过程400。例如,上述操作可以以与图4中所示的顺序不同的顺序实现。可以将一个或以上可选操作添加到流程图中。一个或以上的操作可以拆分或合并。诸如此类的修改都在本申请的范围内。
图5是根据本申请的一些实施例所示的图像处理过程500的示意图。过程500可以是图4中所示的过程400的示例。过程500可以由图像处理设备300来实现,用于校正由移动计算设备获取的图像(第一图像)(例如,请求者终端130、提供者终端140)。例如,图5中所示的过程500可以以指令的形式存储在存储设备(例如,存储设备150、存储设备220、ROM230、RAM240)中,并且由图像处理设备300的一个或以上处理器(例如,处理器210)调用和/或执行。
在510中,可以基于原始图像中待识别对象的至少两个边缘线,识别待识别对象的各顶点在第一坐标系下的实际坐标。原始图像可以是通过图4中所示的过程400的操作410获得的第一图像。操作510可以由第一位置模块320执行。
在520中,可以基于待识别对象的上述至少两个边缘线来确定待识别对象的标准尺寸,并基于标准尺寸获得所述待识别对象的各顶点在第一坐标系下的标准坐标。操作520可以由第一位置模块320执行。
操作510和520可以对应于图4中所示的过程400的操作420。
在530中,可以基于各顶点的实际坐标和标准坐标获得畸变校正矩阵,并利用畸变校正矩阵对原始图像进行图像校正来获得校正图像(第二图像)。操作530可以由调整模块330执行。
在一些实施例中,该图像处理设备可以通过计算机程序实现,例如,软件或应用程序等。或者,该图像处理设备可以是存储相关计算机程序的存储介质,例如,通用串行总线(USB)闪存驱动器(或称为U盘)等。或者,该图像处理设备可以是集成或安装有相关计算机程序的实体设备,例如,芯片、智能电话、计算机等。
在一些实施例中,可以响应于原始图像的接收而自动启动过程400。原始图像可以通过拍摄获得,或者由用户输入。在一些特定实施例中,可以首先获得原始图像中待识别对象的边缘线。然后,可以基于该边缘线确定待识别对象的各顶点的位置(如前所述的至少一个位置),其中,该位置是原始图像中的各个顶点相对于第一坐标系的实际坐标。
在一些实施例中,可以根据待识别对象的边缘线来确定待识别对象的顶点,从而提高识别精确度。在一些实施例中,操作510可以包括:将待识别对象的每一对相邻边缘线的交点确定为待识别对象的对应顶点;并获得原始图像中待识别对象的各顶点在第一坐标系下的实际坐标。
例如,如图11所示。图11是根据本申请的一些实施例所示的基于图10中边缘线的交点确定待识别对象的顶点的示意图。图11中的小圆圈(例如,圆圈1111至1114)是确定的各顶点,并且各顶点在图11中所示的坐标系统下的坐标为其实际坐标。在本实施例中,基于待识别对象的相邻边缘线的交点,可以快速且准确地确定待识别对象的顶点。
接下来,基于待识别对象的边缘线,可以确定待识别对象的标准尺寸,从而获得各顶点的标准位置(例如,以坐标的形式(或被称为标准坐标))。在一些特定实施例中,标准尺寸和标准位置可以基于最终获得的标准图像(第二图像)所需的图像效果来设定。例如,如果希望在最终获得的标准图像中待识别对象占满整个图像,那么标准尺寸可以是(或基于)原始图像中被识别对象的尺寸。又例如,如果希望在最终获得的标准图像中待识别对象是没有倾斜的。则相应地,在确定待识别对象各顶点的标准坐标时,可以根据标准尺寸,沿水平和垂直方向来确定每个顶点的标准坐标,使得在标准图像中,待识别对象的上下边缘与水平方向平行、左右边缘与垂直方向平行,即,在标准图像中待识别对象是不倾斜的。
在一些实施例中,当待识别对象需要在上述校正之后覆盖整个图像时,基于本申请中提供的任何实施例,操作520中的基于标准尺寸获得所述待识别对象的各顶点在第一坐标系下的标准坐标可以包括:将对象的任一顶点的标准坐标设定为第一坐标系的原点;根据任一顶点的标准坐标和标准尺寸,获得待识别对象的其他顶点的标准坐标。
第一坐标系可以预先建立。例如,第一坐标系可以以原始图像的左上顶点为原点构建,其中X轴指向右侧,Y轴指向下方。为了使待识别对象完全覆盖标准图像,在一些实施例中,可以设定待识别对象的任一顶点的标准坐标为第一坐标系的原点。例如,如果待识别对象是矩形,则可以设定其左上顶点的标准坐标为原点(0,0)。可以基于待识别对象的标准尺寸来确定其他顶点的标准坐标。例如,当希望标准图像中待识别对象不倾斜,并且已获得的待识别对象的标准尺寸包括标准宽度Wnorm和标准高度Hnorm时,则可以确定右上顶点的标准坐标是(Wnorm,0),左下顶点的标准坐标是(0,Hnorm),右下顶点的标准坐标是(Wnorm,Hnorm)。
通过上述实施例,可以实现对原始图像中待识别对象的精确裁切。
在获得每个顶点的实际坐标和标准坐标后,可以基于每个顶点的实际坐标和标准坐标获得用于校正原始图像的变换矩阵(或被称为畸变校正矩阵)。使用该畸变校正矩阵对原始图像进行处理,可以获得校正图像(标准图像)。
可以理解,待识别对象的边缘线可以定义待识别对象的轮廓。例如,对于轮廓为四边形轮廓的待识别对象,其边缘线可以为四条,包括上边缘线、下边缘线、左边缘线和右边缘线。对于三角形轮廓的待识别对象,其边缘线为三条,即分别为三角形的三条边。
在一些实施例中,可以采用过程500来优化证件图像的图像质量。该证件可以为身份证、名片、银行卡、执照等。相应地,在本申请中提供的任何实施例的基础上,待识别对象的边缘线可包括上边缘线、下边缘线、左边缘线以及右边缘线。然后操作520中的基于待识别对象的边缘线来确定待识别对象的标准尺寸可以包括:650:基于待识别对象的上述至少两个边缘线来确定待识别对象的标准宽度和标准高度(如图6所示)。
在实际应用中,待识别对象通常是矩形的证件(例如,身份证、证书、纸质文档)。因此,本实施例以矩形的待识别对象为例来进行示例阐述。对于矩形的待识别对象,其边缘线可以是矩形的四条边。根据它们的相对位置,待识别对象的边缘线可包括上边缘线、下边缘线、左边缘线以及右边缘线。另外,矩形的尺寸可以取决于其宽度(横向长度)和高度(纵向长度)。相应地,确定待识别对象的标准尺寸可以被视为确定待识别对象的标准宽度和标准高度。
在一些实施例中,为了保证校正图像的分辨率并避免图像失真,在确定标准宽度和标准高度时,可以采取对图片进行放大的策略。相应地,在一些实施例中,操作650可以包括:将上边缘线和下边缘线的最大长度作为标准宽度,并将左边缘线和右边缘线的最大长度指定为标准高度。
过程500可以应用于实际的应用场景中,其通常涉及对矩形对象进行识别校正。过程500可以改善图像处理的结果,并且适合于常见的应用场景。
应当注意的是,过程500的以上描述仅用于演示目的,而不旨在限制。可以理解的是,在学习了本申请的主要概念之后,本领域的普通技术人员可以以非创造性的方式改变过程500。例如,上述操作可以以与图5中所示的顺序不同的顺序实现。可以将一个或以上可选操作添加到流程图中。一个或以上的操作可以拆分或合并。诸如此类的修改都在本申请的范围内。
在一些实施例中,为了基于边缘线获得待识别对象的各顶点位置,可以先获得待识别对象的边缘线,这可以通过多种方案实现。以矩形待识别对象作为示例,示例性图像处理过程在图6中示出。
图6是根据本申请的一些实施例所示的图像处理过程600的示意图。过程600基于图5中的过程500,用于处理包括待识别矩形对象的图像。过程600可以由图像处理设备300来实现,用于校正由移动计算设备(例如,请求者终端130、提供者终端140)拍摄的图像(第一图像)。例如,图6中所示的过程600可以以指令的形式存储在存储设备(例如,存储设备150、存储设备220、ROM230、RAM240)中,由图像处理设备300的一个或以上处理器(例如,处理器210)调用和/或执行。
在610中,可以采用线检测算法来识别出至少两个线段。操作610可以由第一位置模块320执行。
在620中,可以使用相应的筛选条件来筛选上述至少两个线段以获得上边缘线组、下边缘线组、左边缘线组和右边缘线组。筛选条件可以表示待识别对象的相应边缘线的一个或以上特征。操作620可以由第一位置模块320执行。
在630中,可以分别从上边缘线组、下边缘线组、左边缘线组以及右边缘线组中的每一个选取最长的线段,作为所述待识别对象的上边缘线、下边缘线、左边缘线以及右边缘线。操作630可以由第一位置模块320执行。
可以执行操作610至630,以在图5中所示的过程500的操作510中获得上述至少两个边缘线。
例如,如图8所示。图8是根据本申请的一些实施例所示的包括身份证801的原始图像800的示意图。原始图像800可以具有宽度W和高度H。可以看出,原始图像800中的身份证801是倾斜的并且有轻微的畸变。在获得原始图像800之后,可以采用线段检测器(LSD)算法识别出原始图像中的至少两个线段。例如,如图9所示。图9是根据本申请的一些实施例所示的通过在图8的原始图像800上运行LSD算法而检测到的线段的示意图。如图9所示,图9中的各线段(例如,线段901至909)为通过LSD算法检测出的线段。
由于所采用的LSD算法的性能和原始图像的质量,待识别对象的边缘线可以被完全检测到(例如,线段903)或者不完全检测到(例如,线段901),相同边缘线的不同部分可以被检测为不同的线段(例如,线段904和905),并且还可以在原始图像中检测一个或以上噪点线段(例如,线段906至909)。
可以通过筛选上述至少两个线段来删除不属于待识别对象(例如,证件)的边缘线的线段。属于待识别对象的边缘线的线段可以根据它们的相对位置(例如,在原始图像或被识别对象的上部、下部、左部或右部)进行分组。可以基于对应边缘线的特征来设定边缘线组的筛选条件。满足一个筛选条件的线段可以被分配给相应的边缘线组。
在一些实施例中,筛选可以至少部分基于上述至少两个线段的方向。结合图7描述示例性过程。
在一些实施例中,筛选可以至少部分基于上述至少两个线段的置信度分数。当第一位置模块320使用LSD算法检测到线段时,可以确定线段的置信度分数并将其与线段相关联。
接下来,由于沿着待识别对象的边缘线的线段通常比噪声线段长,可以通过从每个边缘线组中选择最长的线段来获得待识别对象的边缘线。例如,图10中示出了通过上述处理确定的身份证的边缘线(例如,线段901至904)。图10是根据本申请的一些实施例所示的基于图9中的线段确定的边缘线的示意图。
在本申请的实施例中,可以根据待识别对象的边缘线的特征设定筛选条件。检测到的可能是边缘线的一部分的线段,可以分为至少两个边缘线组,进而可以从中确定出待识别对象的边缘线。整个过程非常简便。在不占用过多计算资源的条件下,可以准确地检测待识别对象的边缘线。
在一些实施例中,在630中,可选地,第一位置模块320可以合并通过LSD算法检测到的沿同一直线的线段。通常,同一直线上的线段可能是待识别对象的边缘线的一部分(例如,线段904和905),由于原始图像的过曝光或低曝光,待识别对象的边缘线可能被检测为断开。合并沿同一直线的线段可以增加边缘线的被检测部分的长度,从而提高边缘线的确定精度。
第一位置模块320可以从经由LSD算法检测到的上述至少两个线段中识别出沿着同一直线的线段。例如,第一位置模块320可以至少部分基于上述至少两个线段的方向(例如,通过斜率、倾斜角度测量)和位置来识别沿着同一直线的线段。在一些实施例中,具有相同方向或相似方向(例如,±5%)的、位于原始图像的同一部分(例如,上部/下部/左/右部分)中的、和/或彼此接近(例如,距离在20个像素内)的线段可以被确定为沿着同一直线。然后,第一位置模块320可以通过合并沿着同一直线的线段形成新线段来更新上述至少两个线段。在不同的实施例中,为了合并识别出的线段,第一位置模块320可以连接所识别线段的最近端、基于所识别的线段的端点的坐标(例如,通过拟合)创建新的线段或者简单地将所识别出的线段处理或标记为单个线段(尽管实际上所识别线段可能在空间上相互分离)。
在640中,可以基于原始图像中待识别对象的至少两个边缘线,识别待识别对象的各顶点在第一坐标系下的实际坐标。操作640可以由第一位置模块320执行。操作640可以与操作510相同或类似,在此不再赘述。
在650中,可以基于待识别对象的上述至少两个边缘线来确定待识别对象的标准宽度和标准高度,并基于标准宽度和标准高度获得所述待识别对象的各顶点在第一坐标系下的标准坐标。操作650已在别处描述(例如,图5的相关描述),在此不再重复。
在660中,基于各顶点的实际坐标和标准坐标获得畸变校正矩阵,并利用畸变校正矩阵对原始图像进行图像校正来获得校正图像(第二图像)。操作660可以由调整模块330执行。操作660可以与操作530相同或类似,在此不再赘述。
应当注意的是,过程600的以上描述仅用于演示目的,而不旨在限制。可以理解的是,在学习了本申请的主要概念之后,本领域的普通技术人员可以以非创造性的方式改变过程600。例如,上述操作可以以与图6中所示的顺序不同的顺序实现。可以将一个或以上可选操作添加到流程图中。一个或以上的操作可以拆分或合并。诸如此类的所有修改都在本申请的范围内。
用于设定上述筛选条件的矩形待识别对象的边缘线特征可以有多种。结合图7描述示例性特征。图7是根据本申请的一些实施例所示的图像处理过程700的示意图。过程700基于图6中的过程600,用于处理包括矩形待识别对象的图像。过程700可以由图像处理设备300实施以校正由移动计算设备(例如,请求者终端130、提供者终端140)拍摄的图像(第一图像)。例如,图7中所示的过程700可以以指令的形式存储在存储设备(例如,存储设备150、存储设备220、ROM230、RAM240),并由图像处理设备300的一个或以上处理器(例如,处理器210)调用和/或执行。
在710中,可以使用线检测算法来识别至少两个线段。操作710可以由第一位置模块320执行。操作710可以与操作610相同或类似。
在720中,可以分别从所述原始图像的左区域和右区域,选出其相对于例如垂直方向(或Y轴)的倾斜角度在预设范围内且置信度高于预设阈值的线段,作为左边缘线组和右边缘线组。操作720可以由第一位置模块320执行。
在730中,可以分别从所述原始图片的上区域和下区域,选出其相对于例如水平方向(或X轴)的倾斜角度在所述范围内且置信度高于预设阈值的线段,作为上边缘线组和下边缘线组。操作730可以由第一位置模块320执行。
操作720和730可以对应于图6中所示的过程600的操作620。
可以基于实际需要预先确定在操作720和730中用于筛选的原始图像的不同区域。在一些特定实施例中,所有线段的置信度分数需要高于相应的阈值,其中与不同边缘线(例如,上、下、左、右)相关联的阈值可以相同或不同。置信度分数可以基于前述LSD算法获得,并且可以表示检测物是线段的概率。因此,通过设定一个或以上与置信度分数相关的阈值,可以去除明显不是线段的检测物。此外,在一些实施例中,可以基于线段的位置对检测到的线段进行分组。例如,左边缘线可以位于原始图像的左区域,右侧边缘线可以位于原始图像的右区域,以此类推。在一些实施例中,考虑到用户的操作习惯,待识别对象的倾斜角度(或斜率)可以限在一定的范围内。例如,倾斜角明显在该范围之外的线段为待识别对象的边缘线(或其一部分)的可能性较小。在一些实施方案中,可以根据上述因素的一个或以上设定筛选条件。应当理解,还可以存在结合其它特征设定筛选条件的实施例。
进一步的,进行上述筛选过程可以有多种实现方案。例如,如图7所示的过程700还可以包括:获得原始图像的宽度W、高度H、以及线段相对于水平方向的倾斜角度L[θ]i,以原始图像的左上顶点为原点构建第二坐标系,其X轴沿水平方向向右,Y轴沿垂直方向向下。
相应地,操作720可以包括:将满足:
且置信度分数高于预设阈值的线段作为左边缘线集;将满足:
且置信度分数高于预设阈值的线段作为右边缘线集。操作730可以包括:将满足:
且置信度分数大于预设阈值的线段作为上边缘线集;将满足:
且置信度分数大于预设阈值的线段作为下边缘线集。在上述公式中,L[x]i是线段端点在第二坐标系下的水平坐标(X),L[y]i是线段端点在第二坐标系下的垂直坐标(Y),θ是待识别对象(例如,证件)相对于水平方向的可允许的最大倾斜角度。
在一些实施例中,第二坐标系可以是如图10所示的坐标系。第二坐标系可以与第一坐标系相同或不同。筛选条件可以是基于原始图像的各种参数的公式的形式。在实际应用中,在原始图像中的待识别对象通常位于整个原始图像的中心处或附近,因此,W/2可以作为在水平方向上区分左右边缘线的阈值,并且H/2可以作为在垂直方向上区分上下边缘线的阈值。然后可以基于各线段的端点所在的图像区域对上述至少两个线段进行分类。另外,为了降低算法的复杂性,在一些实施例中,待识别对象的倾斜角度可以限定在预设范围内。例如,可以设定待识别对象相对于水平方向的倾斜角度不超过20度,也就是说,应与水平方向平行的上下边缘线相对水平方向的倾斜角度不超过20度,本应与水平方向垂直的左右边缘相对水平方向的倾斜角度不小于90-20,即70度。
在上述实施例中,可以基于矩形对象的特征的筛选矩形待识别对象的边缘线,而不使用复杂算法,从而降低了计算复杂度并提高了图像识别校正的效率。
图12是根据本申请的一些实施例所示的基于图11中的顶点获得的校正图像的示意图。通过利用上述任一实施例的方法来处理原始图像,可以对待识别对象进行精确裁切以及畸变校正。
在740中,可以分别从上边缘线组、下边缘线组、左边缘线组以及右边缘线组中的每一个选取最长的线段,作为所述待识别对象的上边缘线、下边缘线、左边缘线以及右边缘线。操作740可以由第一位置模块320执行。操作740可以与操作510相同或类似,在此不再赘述。
在750中,基于原始图像(第一图像)中待识别对象的至少两个边缘线,识别待识别对象的各顶点在第一坐标系下的实际坐标。操作750可以由第一位置模块320执行。操作640可以与操作510相同或类似,在此不再赘述。
在760中,可以基于待识别对象的上述至少两个边缘线来确定待识别对象的标准宽度和标准高度,并基于标准宽度和标准高度获得所述待识别对象的各顶点在第一坐标系下的标准坐标。操作760可以由第一位置模块320执行。操作650可以与操作650相同或类似,在此不再赘述。
在770中,可以基于各顶点的实际坐标和标准坐标获得畸变校正矩阵,并利用畸变校正矩阵对原始图像进行图像校正来获得校正图像(第二图像)。操作660可以由调整模块330执行。操作770可以与操作530相同或类似,此处不再赘述。
应当注意的是,过程700的以上描述仅用于演示目的,而不旨在限制。可以理解的是,在学习了本申请的主要概念之后,本领域的普通技术人员可以以非创造性的方式改变过程700。例如,上述操作可以以与图7中所示的顺序不同的顺序实现。可以将一个或以上可选操作添加到流程图中。一个或以上的操作可以拆分或合并。诸如此类的所有修改都在本申请的范围内。
综上所述,本发明实施例提供的图像处理方法可以包括:基于待识别对象的一个或以上特征,从原始图像中确定待识别对象的边缘线;根据边缘线确定待识别对象的各顶点在原始图像中的实际坐标;根据边缘线确定待识别对象的标准尺寸;确定各顶点的标准坐标,其中标准尺寸和标准坐标是根据最终需要的图像确定的;根据实际坐标和标准坐标获得校正矩阵;并使用校正矩阵对原始图像进行校正处理以获得校正图像。上述过程可以自动校正原始图像中的待识别对象。通过校正获得的高质量图像有助于后续的图像处理和识别,从而更好地应用于各种应用场景,例如,经由网络(例如,网络120)的OCR、身份和/或资格验证等。
在一些实施例中,原始图像可以用于通过网络进行身份和/或资格验证。例如,通过线上到线下系统100接收或提供服务可能需要的原始图像。相应地,在原始图像中待识别对象可以是诸如身份证、执照(例如,驾驶执照)、护照、银行卡等证件。这种证件通常可以具有统一格式,其可以用作对象识别和/或图像处理(或校正)的模板(第二表现形式)。图13是根据本申请的一些实施例所示的模板的示意图。在一些实施例中,由线上到线下系统100实现的平台可能需要用户(例如,运输服务提供者)上传其驾驶执照的图像(原始图像),其可具有统一的模板。例如,在中华人民共和国,驾驶执照可能具有统一的模板,如图13所示。平台可能要求用户上传的图像与该模板一致。例如,上传的图像可以仅包括驾驶执照的图像部分,并且驾驶执照相对于上传的图像处于正确的方向,符合用户查看图像的方向。在一些实施例中,可以存在至少两个模板,例如,用于不同类型的证件、不同地区的相同类型的证件、由不同组织分发的相同类型的证件等。
本申请的以下部分以包括驾驶执照的图像的识别和校正为例进行描述。应当注意的是,还可以使用该过程来处理包括其他类型证件的图像。
在许多情况下,当用户通过终端(例如,请求者终端130和提供者终端140)拍摄证件图像并通过终端的应用程序上传图像时,由于终端设备的型号、拍摄环境、应用程序设置、拍摄方向和/或其他可能的因素,图像中的证件可能相对于图像存在一定的旋转角度。另外,图像中除了包含证件的图像部分,还可能包括复杂的背景。
例如,图14至图17是根据本申请的一些实施例所示的在不同情况下的待处理图像(或被称为上传图像、原始图像、第一图像)的示意图。以驾驶执照为例,当用户上传驾驶执照的图像时,其在不同情况下实际可能上传的图像分别在图14至图17中示出。图14是根据本申请的一些实施例所示的在情况1中待处理图像的示意图。图15是根据本申请的一些实施例所示的在情况2中待处理图像的示意图。图16是根据本申请的一些实施例所示的在情况3中待处理图像的示意图。图17是根据本申请的一些实施例所示的在情况4中待处理图像的示意图。在如图14所示的情况1中,待处理图像可以包括具有正确方向的驾驶执照,但是在驾驶执照周围可能存在显著比例的背景内容。通常,背景内容可以是或包括驾驶执照的附页或拍摄背景。在如图15所示的情况2中,待处理图像中的驾驶执照可以相对于正确方向顺时针旋转90度。在如图16所示的情况3中,待处理图像中的驾驶执照可以相对于正确方向顺时针旋转180度。在如图17所示的情况4中,待处理图像中的驾驶执照可以相对于正确方向逆时针旋转90度。
因此,当用户上传证件图像时,驾驶执照相对于上传的图像的方向通常不正确,并且可能发生上述方向的差异。当平台验证上传的图像时,如果上传的图像中的证件(例如,驾驶执照)具有不同的旋转角度,则可能需要调整上传的图像,导致图像处理的效率较低。因此,如何对用户上传的图像进行处理以将其中证件的方向调整到正确的方向是亟需解决的技术问题。
因此,本申请的实施例提供了一种图像处理过程和装置,用于处理用户上传的图像,以将图像的方向调整到正确的方向,从而提高图像处理效率。图18是根据本申请的一些实施例所示的用于处理图像过程1800的示意图。过程1800可以是图4中所示的过程400的示例。过程1800可以由图像处理设备300来实现,用于校正由移动计算设备(例如,请求者终端130、提供者终端140)拍摄的图像(第一图像)。例如,图4中所示的过程400可以以指令的形式存储在存储设备(例如,存储设备150、存储设备220、ROM230、RAM240)中,由图像处理设备300的一个或以上处理器(例如,处理器210)调用和/或执行。
在1810中,可以获取至少三个目标在待处理图像中的位置(第一位置)。其中待处理图像可以包括表示待识别对象的第一图像部分。上述至少三个目标可以是第一证件的一部分,其可以在不同的第一证件中具有固定的位置并且具有相同或相似的特征。待处理图像可以是通过图4中的过程400的操作410获得的第一图像。在一些实施例中,操作1810可以由第一位置模块320执行。
本申请的实施例的执行主体可以是具有数据处理功能的电子设备,例如服务器(例如,服务器110)、终端(例如,请求者终端130、提供者终端140)或工作站。在一些实施例中,在1810中,服务器可以获得待处理图像,并获得上述至少三个目标在待处理图像中的位置。上述至少三个目标的位置可以是上述至少三个目标相对于待处理图像的位置(例如,以坐标的形式),或者是上述至少三个目标相对于其中某一特定目标的相对位置。
在一些实施例中,待处理图像可以是包括证件的图像。例如,待处理图像可以包括表示第一证件的第一图像部分。第一证件可以是任何国家法定证件,例如身份证件、资格证件、关系证件或功能证件。上述至少三个目标可以在不同的第一证件中具有固定的位置以及相同或相似的特征。例如,当第一证件是如图13所示的驾驶执照时,因为每个驾驶执照中的所有者(例如,司机)的图像可具有固定的位置和类似的特征(例如,与人脸有关的特征),则可以将所有者的图像作为上述至少三个目标之一。此处描述的特征可以根据不同的图像处理技术从待处理图像中提取的特征进行调整。例如,特征可以包括图像的尺寸、颜色和内容等。
下面以驾驶执照的图像处理为例,详细描述获得上述至少三个目标的位置的方法。图19是根据本申请的一些实施例所示的图14中待处理图像的放大视图的示意图。
如图19所示,待处理图像1900可以包括第一部分1901和第二部分1902。第一部分1901可以是表示驾驶执照的图像部分,第二部分1902可以是驾驶执照的图像部分之外的背景部分。驾驶执照的至少三个目标可至少包括:驾驶执照的标题1911、印章1912(例如,红色的)和所有者1913的图像。然后,在服务器获得待处理图像1900之后,可以获得三个目标的位置(标题1911、标记1912和所有者图像1913)。可以通过标记待处理图像1900的对应像素来指定目标的位置。例如,待处理图像1900可以具有尺寸为600×400的像素矩阵的形式。标题1911的位置可以由标题1911的四个顶点处的像素坐标表示,例如{(100,100)、(500,100)、(100,500)、(500,500)}。印章1912的位置和所有者图像1913可以通过类似方式表示。目标的位置也可以类似地由待处理图像1900中的任何其他被标记的像素点(例如,在目标的中心处的像素点)表示。需要说明的是,目标位置的表现形式的上述描述仅用于说明目的,上述至少三个目标的位置(或相对位置)也可以用其他方式表示。
在一些实施例中,在510中,可以使用卷积神经网络(Convolutional NeuralNetworks,CNN)模型来获得上述至少三个目标在待处理图像中的位置。例如,CNN模型可以使用多个样本来进行提前训练。样本可以是包括被人工标注的目标的待处理图像。每个待处理图像中的上述至少三个目标可以具有已知位置。经过训练的CNN模型可以将待处理图像作为其至少部分的输入进行处理,并确定出上述至少三个目标在待处理图像中的位置作为其输出。
在一些实施例中,在CNN模型的性能测试中,人工标记25K个样本。在每个样本中,标记上述至少三个目标的位置。25K个样本中,20K个样本用作训练样本,5K个样本用作测试数据集。最终获得的CNN模型的性能是:当IOU=0.7时,MAP=0.98,其中IOU和MAP分别是交并比(Intersection over Union)和平均查准率(mean Average Precision)的缩写。
在一些实施例中,所提供的图像处理过程可以从待处理图像中获得至少三个目标的位置。由于待处理图像的第一证件中的至少三个目标的位置是相对固定的。因此,在1810中,可以从待处理图像的第一部分的特定区域获得上述至少三个目标在待处理图像中的位置。例如,在如图4所示的待处理图像1900中,目标可以包括:标题1911、印章1912和所有者图像1913。由于每个驾驶执照的上述三个目标的位置是固定的,因此在获得待处理图像之后,可以从待处理图像的第一部分获得目标的位置。图20是根据本申请的一些实施例所示的用于获得目标位置模式的示意图。图20示出了待处理图像的第一部分2000的轮廓。在通过图像处理技术提取待处理图像的第一部分之后,可以在区域2010或2020中确定标题1911的位置,并且可以分别在区域2030和2040中确定印章1912的位置和所有者图像1913的位置。因此,可以通过处理局部图像区域而不是整个图像来获得目标的位置,从而减少计算负担并提高计算效率。
在1820中,可以基于上述至少三个目标的位置来确定待处理图像的旋转模式。在一些实施例中,可以根据在操作1810中获得的上述至少三个目标的位置来确定待处理图像中的第一部分的方向。一旦确定了待处理图像的第一部分的方向,也可以确定待处理图像的方向。然后可以基于待处理图像的方向来确定用于旋转待处理图像的旋转模式。例如,在如图15所示的情况2中,待处理图像中的驾驶执照相对于正确方向顺时针旋转了90度,然后,待处理图像的旋转模式可以表示为待逆时针旋转90度模式,或者已顺时针旋转90度模式。操作1820可以由调整模块330执行。
在一些实施例中,操作1820可以通过以下方式实现:根据待处理图像中至少三个目标的位置(第一位置)与参考图像(或模板,第二表现形式)中上述至少三个目标的位置(第二位置)之间的映射关系,确定待处理图像的旋转模式。例如,通过将图13中所示的图像作为参考图像,在处理图15中所示的待处理图像时,可以将图15中的至少三个目标的位置与图13中的该至少三个目标的位置进行比较,以确定待处理图像的旋转模式。
下面以驾驶执照的图像处理为例描述操作1820的具体实施例。对于如图14至17所示的四个待处理图像中的驾驶执照的方向,在图21至24中示出了用于获取该四个待处理图像中的至少三个目标的位置的方式。图21是根据本申请的一些实施例所示的如图14所示的情况1中的目标位置的示意图。图22是根据本申请的一些实施例所示的如图15所示的情况2中的目标位置的示意图。图23是根据本申请的一些实施例所示的如图16所示的情况3中的目标位置的示意图。图24是根据本申请的一些实施例所示的如图17所示的情况4中的目标位置的示意图。针对如图25至图28所示的三个目标的位置可以设定四个旋转模式,图25至图28可以分别对应于图21至24。图25是根据本申请的一些实施例所示的如图14所示的情况1中的目标位置的示意图。图26是根据本申请的一些实施例所示的如图15所示的情况2中的目标位置的示意图。图27是根据本申请的一些实施例所示的如图16所示的情况3中的目标位置的示意图。图28是根据本申请的一些实施例所示的如图17所示的情况4中的目标位置的示意图。对于驾驶执照,目标可以包括:标题、印章和所有者图像(例如,面部图像)。根据操作1820确定的三个目标的矩形框的位置可以是face_rect、stamp_rect和title_rect。则四种旋转模式包括:
1、正常模式:如图14所示,证件的标题位于待处理图像的上部,所有者图像位于待处理图像的右部,印章位于待处理的图像的左部。在这种情况下,证件可以具有正确的方向,并且不需要旋转待处理图像。正常模式也可以标记为rotate0;
2、已顺时针旋转90度模式:如图15所示,证件的标题位于待处理图像的右部,所有者图像位于待处理图像的下部,印章位于待处理图像的上部。在这种情况下,可以通过将待处理图像逆时针旋转90度来获得正常模式的证件。已顺时针旋转90度模式也可以标记为rotate-90;
3、已逆时针旋转90度模式:如图16所示,证件的标题位于待处理图像的左侧部分,所有者图像位于待处理图像的上部,印章位于待处理图像的下部。在这种情况下,可以通过将待处理图像顺时针旋转90度来获得正常模式的证件。已逆时针旋转90度模式也可以标记为rotate90;
4、已顺时针旋转180度模式:如图17所示,证件的标题位于待处理图像的下部,所有者图像位于待处理图像的左侧部分,印章位于待处理图像的右侧部分。在这种情况下,可以通过将待处理图像逆时针旋转180度来获得正常模式下的证件。已顺时针旋转180度模式也可以标记为rotate-180。
driverrect响应于上述四种旋转模式,可分别进行以下四种操作。在一些特定实施例中,可以将具有未知旋转模式的待处理图像标记为rotate_mode,并且可以将待确定的驾驶执照的图像部分(或被称为执照部分)标记为driverrect。用于定位执照部分driverrect的过程可以包括以下操作之一:
1、当旋转模式rotate_mode被确定为旋转模式rotate0时,印章stamp_rect的左边可以指定为执照部分driverrect的左边,所有者图像face_rect的右边可以指定为执照部分driverrect的右边,标题title_rect的上边可以指定为执照部分driverrect的上边,并且所有者图像face_rect的下边可以指定为执照部分driverrect的下边,相应的公式可以表示如下:
driverrect(left)=stamp_rect(left) 公式(5),
driverrect(right)=face_rect(right) 公式(6),
driverrect(top)=title_rect(top) 公式(7),
driverrect(bottom)=face_rect(bottom) 公式(8);
2、当旋转模式rotate_mode被确定为旋转模式rotate-90时,所有者图像face_rect的图像的左边可以指定为执照部分driverrect的左边,标题title_rect的右边可以指定为执照部分driverrect的右边,stamp_rect的上边可以指定为执照部分driverrect的上边,并且所有者图像face_rect的下边可以指定为执照部分driverrect的下边,相应的公式可表示如下:
driverrect(left)=face_rect(left) 公式(9),
driverrect(right)=title_rect(right) 公式(10),
driverrect(top)=stamp_rect(top) 公式(11),
driverrect(bottom)=face_rect(bottom) 公式(12);
3、当旋转模式rotate_mode被确定为旋转模式rotate90时,标题title_rect的左边可以指定为执照部分driverrect的左边,所有者图像face_rect的右边可以指定为执照部分driverrect的右边,所有者图像face_rect的上边可以指定为执照部分driverrect的上边,并且stamp_rect的下边可以指定为执照部分driverrect的下边,相应的公式可表示如下:
driverrect(left)=title_rect(left) 公式(13),
driverrect(right)=face_rect(right) 公式(14),
driverrect(top)=face_rect(top) 公式(15),
driverrect(bottom)=stamp_rect(bottom) 公式(16);
4、当旋转模式rotate_mode被确定为旋转模式rotate-180时,所有者图像face_rect的左边可以指定为执照部分driverrect的左边,印章stamp_rect的右边可以指定为执照部分driverrect的右边,所有者图像face_rect的上边可以指定为执照部分driverrect的上边,标题title_rect的下边可以指定为执照部分driverrect的下边,相应的公式可表示如下:
driverrect(left)=face_rect(left) 公式(17),
driverrect(right)=stamp_rect(right) 公式(18),
driverrect(top)=face_rect(top) 公式(19),
driverrect(bottom)=title_rect(bottom) 公式(20)。
在1830中,可以根据旋转模式对待处理图像进行旋转。在一些实施例中,调整模块330可以根据在操作1820中确定的旋转模式对待处理图像进行旋转。
例如,在上面的示例中,执照部分可以在操作1820中获得。执照部分可以具有四个旋转模式,可以对待处理图像进行旋转校正以获得正常模式的执照部分,以便于后续的文本检测和/或识别。在一些实施例中,旋转校正可包括以下操作之一:
1、当旋转模式rotate_mode被确定为旋转模式rotate0时,则执照部分不会进行旋转;
2、当旋转模式rotate_mode被确定为旋转模式rotate-90时,则执照部分可以逆时针旋转90度;
3、当旋转模式rotate_mode被确定为旋转模式rotate90时,则执照部分可以顺时针旋转90度;
4、当旋转模式rotate_mode被确定为旋转模式rotate-180时,则执照部分可以逆时针旋转180度。
在一些实施例中,在上述图像处理方法中,在操作1810之前或在操作1830之后,过程1800还可以包括:裁切(例如,通过调整模块330)待处理图像或处理后的图像,这样只有第一部分包含在待处理图像或处理过的图像中。以图19中所示的待处理图像1900为例,可以裁切掉第二部分1902,仅在待处理图像1900中保留第一部分1901。然后,可以将待处理图像1900处理成以具有参考图像(或模板)的形式,如图13所示。
综上所述,本申请实施例提供的图像处理过程可以包括:获取至少三个目标在待处理图像中的位置,其中待处理图像可以包括表示待识别对象的第一图像部分,上述至少三个目标可以是第一证件的一部分,其可以在不同的第一证件中具有固定的位置并且具有相同或相似的特征;基于上述至少三个目标的位置确定待处理图像的旋转模式;并根据旋转模式对待处理图像进行旋转。该过程可以用于对用户上传的图像进行自动处理,以将图像的方向校正到正确的方向,从而提高图像处理效率。
图29是根据本申请的一些实施例所示的在情况5中待处理图像的示意图。图29示出了用户上传的图像的还可能存在的倾斜角度。待处理图像包括证件的第一部分的矩形区域可能不与待处理图像的任一边平行或垂直。通过比较待处理图像中的至少三个目标的位置和参考图像中的该至少三个目标的位置,可以确定用于旋转待处理图像的旋转角度,并且可以根据确定的旋转角度对待处理图像进行旋转。
图30是根据本申请的一些实施例所示的如图29所示的情况5中的待处理图像的处理方式的示意图。在图30所示的处理方式中,以驾驶执照图像的处理为例,在通过上述过程确定驾驶执照中的三个目标的位置之后,可以通过连接待处理图像中的印章和所有者图像的矩形框中心获得第一线3011,并将第一线3011与第二线3012的方向A进行比较从而获得待处理图像和参考图像的方向之间的夹角α,其中第二条线3012通过连接参考图像中的印章和所有者图像的矩形框中心而形成。然后可以根据夹角α旋转待处理图像。
在一些实施例中,还可以使用校正矩阵对情况5中待处理图像进行处理。例如,调整模块330可以基于驾驶执照中的三个目标的位置与参考图像中的该三个目标的位置之间的映射关系来获得校正矩阵。然后,调整模块330可以将校正矩阵应用于待处理图像或第一部分以获得校正图像。
已经如此描述了基本概念,在阅读本详细的本申请之后,本领域普通技术人员可能相当明显,前述详细的本申请可能仅旨在通过示例的方式呈现,并且可以不旨在限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等或任何上述介质的组合。
本申请各部分操作所需的计算机程序代码可以用任意一种或以上程序设计语言编写,包括面向对象程序设计语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化程序设计语言如C程序设计语言、VisualBasic、Fortran2103、Perl、COBOL2102、PHP、ABAP,动态程序设计语言如Python、Ruby和Groovy,或其他程序设计语言等。该程序代码可以完全在用户计算机上运行或作为独立的软件包在用户计算机上运行或部分在用户计算机上运行部分在远程计算机运行或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述本申请通过各种示例讨论了当前可能被认为是本申请的各种有用实施例的内容,但是可以理解,这样的细节可以仅用于该目的,并且所附权利要求不限于所公开的实施例,相反,旨在覆盖在所公开实施例的精神和范围内的修改和等同布置。例如,尽管上述各种组件的实现可以体现在硬件设备中,但是它也可以实现为仅软件解决方案,例如,在现有服务器或移动设备上的安装。.
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请的实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法可以不被解释为反映所要求保护的主题需要比每个权利要求中明确记载的更多特征的意图。相反,发明的主体应具备比上述单一实施例更少的特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
本文中提及的所有专利、专利申请、专利申请公布和其他材料(如论文、书籍、说明书、出版物、记录、事物和/或类似的东西)均在此通过引用的方式全部并入本文以达到所有目的,与上述文件相关的任何起诉文档记录、与本文件不一致或冲突的任何上述文件或对迟早与本文件相关的权利要求书的广泛范畴有限定作用的任何上述文件除外。举例来说,如果在描述、定义和/或与任何所结合的材料相关联的术语的使用和与本文件相关联的术语之间存在任何不一致或冲突,则描述、定义和/或在本文件中使用的术语以本文件为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的修改也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。因此,本申请的实施例不限于精确地显示和描述的实施例。
Claims (34)
1.一种用于图像处理的系统,包括:
至少一个存储介质,包括一组指令;以及
至少一个处理器,其与所述至少一个存储介质通讯,其中,当执行该组指令时,所述至少一个处理器用于:
获得第一图像,所述第一图像包括具有第一表现形式的对象;
确定所述第一图像中所述对象的至少一个第一位置;以及
基于所述至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像以生成第二图像,其中所述第二图像包括具有所述第二表现形式的所述对象。
2.如权利要求1所述的系统,其中:
所述第二表现形式与所述对象的参考尺寸、参考图像覆盖率、或参考方向中的至少一个相关;以及
所述第一表现形式与所述对象的原始尺寸、原始图像覆盖率、或原始方向中的至少一个相关。
3.如权利要求1或2所述的系统,为了确定所述至少一个第一位置,所述至少一个处理器用于:
在所述第一图像中检测所述对象的至少两个边缘线;以及
基于所述至少两个边缘线确定所述至少一个第一位置。
4.如权利要求3所述的系统,为了基于所述至少一个第一位置和关于所述对象的所述第二表现形式调整所述第一图像,所述至少一个处理器用于:
至少部分基于所述第二表现形式和所述至少两个边缘线确定与所述至少一个第一位置对应的至少一个第二位置;
基于所述至少一个第一位置和所述至少一个第二位置,获得校正矩阵;以及
在所述第一张图像上应用所述校正矩阵。
5.如权利要求3或4所述的系统,其中,为了检测所述对象所述的至少两个边缘线,所述至少一个处理器用于:
使用线段检测器LSD处理所述第一图像,以检测与所述第一图像中的所述对象相关联的至少两个线段;
筛选所述至少两个线段以获得至少两个筛选线段,其中所述筛选至少部分基于所述至少两个线段的方向;以及
基于所述至少两个筛选线段确定所述至少两个边缘线。
6.如权利要求5所述的系统,其中,所述筛选还基于所述至少两个线段的置信度分数。
7.如权利要求5或6所述的系统,其中,所述至少一个处理器还用于:
从所述至少两个线段中,识别沿同一直线的线段;以及
通过合并被识别为沿同一直线的线段来更新所述至少两个线段。
8.如权利要求5至7任一所述的系统,其中:
所述至少两个筛选线段包括至少两个线段组,所述至少两个线段组与所述至少两个边缘线对应;
所述第一图像包括至少两个预设区域,所述至少两个预设区域与所述至少两个边缘线对应;
所述筛选所述至少两个线段以获得至少两个筛选线段包括,对于所述至少两个预设区域中的每个预设区域:
从所述至少两个线段中选择在该预设区域内的一组线段作为所述至少两个线段组中的一个线段组,其中该组线段中的每条线段的方向都在与该预设区域相关的预设范围内;以及
所述基于所述至少两个筛选线段确定所述至少两个边缘线包括,对于所述至少两个线段组的每个线段组,将该线段组中的最长线段标为所述对象的对应的边缘线。
9.如权利要求3至8任一所述的系统,其中:
所述至少一个第一位置包括所述对象的一个或以上顶点在所述第一图像中的位置;以及
为了基于所述至少两个边缘线确定所述至少一个第一位置,所述至少一个处理器还用于:
确定所述至少两个边缘线中的每对相邻边缘线的交点为所述一个或以上顶点。
10.如权利要求4至9任一所述的系统,其中,为了至少部分基于所述第二表现形式和所述至少两个边缘线确定与所述至少一个第一位置对应的至少一个第二位置,所述至少一个处理器还用于:
基于所述至少两个边缘线确定所述对象在所述第一图像中的第一尺寸;
基于所述第一尺寸和所述第二表现形式确定所述对应的参考尺寸;以及
基于所述参考尺寸确定所述至少一个第二位置。
11.如权利要求1所述的系统,其中:
所述至少一个第一位置对应于所述对象的至少一部分;以及
为了确定所述至少一个第一位置,所述至少一个处理器还用于:
使用物体识别技术在所述第一图像中识别所述对象的至少一部分。
12.如权利要求11所述的系统,其中,为了根据至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像,所述至少一个处理器还用于:
基于所述至少一个第一位置和所述第二表现形式确定旋转模式;以及
根据所述旋转模式旋转所述第一张图像。
13.如权利要求12所述的系统,其中,为了基于所述至少一个第一位置和所述第二表现形式确定旋转模式,所述至少一个处理器还用于:
基于关于所述对象的所述第二表现形式确定与所述至少一个第一位置相对应的至少一个第二位置;以及
基于所述至少一个第一位置和所述至少一个第二位置之间的映射关系确定所述旋转模式。
14.如权利要求11至13任一所述的系统,其中,所述物体识别技术基于卷积神经网络CNN模型。
15.如权利要求11至14任一所述的系统,其中,所述对象是一种证件,并且所述对象的至少一部分至少包括第一部分、第二部分和第三部分,其中所述第一部分包括所述证件的标题,所述第二部分包括所有者的图像,所述第三部分包括印章、签名、地区标志、该所有者的另一图像或条码。
16.如权利要求1至15任一所述的系统,其中,所述至少一个处理器还用于:
裁切所述第二图像或所述第一图像,使得所述第二图像或所述第一图像仅包括所述对象。
17.一种使用系统进行图像处理方法,所述系统包括:
至少一个存储介质,其存储用于图像处理的指令;以及
与所述存储介质通讯的处理器,其执行存储于存储介质中的指令,所述方法包括:
获得第一图像,所述第一图像包括具有第一表现形式的对象;
确定所述第一图像中所述对象的至少一个第一位置;以及
基于所述至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像以生成第二图像,其中所述第二图像包括具有所述第二表现形式的所述对象。
18.如权利要求17所述的方法,其中:
所述第二表现形式与所述对象的参考尺寸、参考图像覆盖率或参考方向中的至少一个相关;以及
所述第一表现形式与所述对象的原始尺寸、原始图像覆盖率或原始方向中的至少一个相关。
19.如权利要求17或18所述的方法,其中所述确定所述至少一个第一位置包括:
在所述第一图像中检测所述对象的至少两个边缘线;以及
基于所述至少两个边缘线确定所述至少一个第一位置。
20.如权利要求19所述的方法,其中所述基于所述至少一个第一位置和关于所述对象的所述第二表现形式调整所述第一图像包括:
至少部分基于所述第二表现形式和所述至少两个边缘线确定与所述至少一个第一位置对应的至少一个第二位置;
基于所述至少一个第一位置和所述至少一个第二位置,获得校正矩阵;以及
在所述第一张图像上应用所述校正矩阵。
21.如权利要求19或20所述的方法,其中,所述检测所述对象所述的至少两个边缘线包括:
使用线段检测器LSD处理所述第一图像,以检测与所述第一图像中的所述对象相关联的至少两个线段;
筛选所述至少两个线段以获得至少两个筛选线段,其中所述筛选至少部分基于所述至少两个线段的方向;以及
基于所述至少两个筛选线段确定所述至少两个边缘线。
22.如权利要求21所述的方法,其中,所述筛选还基于所述至少两个线段的置信度分数。
23.如权利要求21或22所述的方法,还包括:
从所述至少两个线段中,识别沿同一直线的线段;以及
通过合并被识别为沿同一直线的线段来更新所述至少两个线段。
24.如权利要求21至23任一所述的方法,其中:
所述至少两个筛选线段包括至少两个线段组,所述至少两个线段组与所述至少两个边缘线对应;
所述第一图像包括至少两个预设区域,所述至少两个预设区域与所述至少两个边缘线对应;
所述筛选所述至少两个线段以获得至少两个筛选线段包括,对于所述至少两个预设区域中的每个预设区域:
从所述至少两个线段中选择在该预设区域内的一组线段作为所述至少两个线段组中的一个线段组,其中该组线段中的每条线段的方向都在与该预设区域相关的预设范围内;以及
所述基于所述至少两个筛选线段确定所述至少两个边缘线包括,对于所述至少两个线段组的每个线段组,将该线段组中的最长线段标为所述对象的对应的边缘线。
25.如权利要求19至24任一所述的方法,其中:
所述至少一个第一位置包括所述对象的一个或以上顶点在所述第一图像中的位置;以及
所述基于所述至少两个边缘线确定所述至少一个第一位置包括:
确定所述至少两个边缘线中的每对相邻边缘线的交点为所述一个或以上顶点。
26.如权利要求20至25任一所述的方法,其中,所述至少部分基于所述第二表现形式和所述至少两个边缘线确定与所述至少一个第一位置对应的至少一个第二位置包括:
基于所述至少两个边缘线确定所述对象在所述第一图像中的第一尺寸;
基于所述第一尺寸和所述第二表现形式确定所述对应的参考尺寸;以及
基于所述参考尺寸确定所述至少一个第二位置。
27.如权利要求17所述的方法,其中:
所述至少一个第一位置对应于所述对象的至少一部分;以及
所述确定所述至少一个第一位置包括:
使用物体识别技术在所述第一图像中识别所述对象的至少一部分。
28.如权利要求27所述的方法,其中,所述根据至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像包括:
基于所述至少一个第一位置和所述第二表现形式确定旋转模式;以及
根据所述旋转模式旋转所述第一张图像。
29.如权利要求28所述的方法,其中,所述基于所述至少一个第一位置和所述第二表现形式确定旋转模式包括:
基于关于所述对象的所述第二表现形式确定与所述至少一个第一位置相对应的至少一个第二位置;以及
基于所述至少一个第一位置和所述至少一个第二位置之间的映射关系确定所述旋转模式。
30.如权利要求27至29任一所述的方法,其中,所述物体识别技术基于卷积神经网络CNN模型。
31.如权利要求27至30任一所述的方法,其中,所述对象是一种证件,并且所述对象的至少一部分至少包括第一部分、第二部分和第三部分,其中所述第一部分包括所述证件的标题,所述第二部分包括所有者的图像,所述第三部分包括印章、签名、地区标志、该所有者的另一图像或条码。
32.如权利要求27至31任一所述的方法,还包括:
裁切所述第二图像或所述第一图像,使得所述第二图像或所述第一图像仅包括所述对象。
33.一种用于图像处理的系统,包括:
第一图像模块,用于获得第一图像,所述第一图像包括具有第一表现形式的对象;
第一位置模块,用于确定所述第一图像中所述对象的至少一个第一位置;以及
调整模块,用于基于所述至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像以生成第二图像,其中所述第二图像包括具有所述第二表现形式的所述对象。
34.一种非暂时性计算机可读介质,包括适于进行图像处理的指令,其中,当所述指令被电子设备的处理器执行时,所述指令引导所述电子设备执行图像处理过程,包括:
获得第一图像,所述第一图像包括具有第一表现形式的对象;
确定所述第一图像中所述对象的至少一个第一位置;以及
基于所述至少一个第一位置和关于所述对象的第二表现形式调整所述第一图像以生成第二图像,其中所述第二图像包括具有所述第二表现形式的所述对象。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2018103498407 | 2018-04-18 | ||
CN201810349840.7A CN108805124B (zh) | 2018-04-18 | 2018-04-18 | 图片处理方法及装置、计算机可读存储介质 |
CN201810374653.4A CN108805800A (zh) | 2018-04-24 | 2018-04-24 | 图片处理方法、装置及存储介质 |
CN2018103746534 | 2018-04-24 | ||
PCT/CN2019/082188 WO2019201141A1 (en) | 2018-04-18 | 2019-04-11 | Methods and systems for image processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110622172A true CN110622172A (zh) | 2019-12-27 |
Family
ID=68239342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980000845.1A Withdrawn CN110622172A (zh) | 2018-04-18 | 2019-04-11 | 图像处理方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110622172A (zh) |
WO (1) | WO2019201141A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117275125B (zh) * | 2023-11-23 | 2024-03-08 | 四川省机场集团有限公司成都天府国际机场分公司 | 一种机场出租车运行管理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050078192A1 (en) * | 2003-10-14 | 2005-04-14 | Casio Computer Co., Ltd. | Imaging apparatus and image processing method therefor |
CN1937698A (zh) * | 2006-10-19 | 2007-03-28 | 上海交通大学 | 图像畸变自动校正的图像处理方法 |
CN101770575B (zh) * | 2008-12-31 | 2012-06-06 | 汉王科技股份有限公司 | 名片图像倾斜角度的测量方法和装置 |
CN102930256A (zh) * | 2012-11-14 | 2013-02-13 | 汉王科技股份有限公司 | 人脸识别装置及人脸图像识别方法 |
CN106295638A (zh) * | 2016-07-29 | 2017-01-04 | 北京小米移动软件有限公司 | 证件图像倾斜校正方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930265B (zh) * | 2012-09-19 | 2015-07-29 | 广州市中崎商业机器有限公司 | 一种多身份证扫描方法及装置 |
CN107480666B (zh) * | 2017-08-10 | 2020-08-07 | 深圳市碧海扬帆科技有限公司 | 图像捕获设备及其扫描目标提取方法、装置、存储介质 |
CN108805800A (zh) * | 2018-04-24 | 2018-11-13 | 北京嘀嘀无限科技发展有限公司 | 图片处理方法、装置及存储介质 |
CN108805124B (zh) * | 2018-04-18 | 2019-10-18 | 北京嘀嘀无限科技发展有限公司 | 图片处理方法及装置、计算机可读存储介质 |
-
2019
- 2019-04-11 CN CN201980000845.1A patent/CN110622172A/zh not_active Withdrawn
- 2019-04-11 WO PCT/CN2019/082188 patent/WO2019201141A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050078192A1 (en) * | 2003-10-14 | 2005-04-14 | Casio Computer Co., Ltd. | Imaging apparatus and image processing method therefor |
CN1937698A (zh) * | 2006-10-19 | 2007-03-28 | 上海交通大学 | 图像畸变自动校正的图像处理方法 |
CN101770575B (zh) * | 2008-12-31 | 2012-06-06 | 汉王科技股份有限公司 | 名片图像倾斜角度的测量方法和装置 |
CN102930256A (zh) * | 2012-11-14 | 2013-02-13 | 汉王科技股份有限公司 | 人脸识别装置及人脸图像识别方法 |
CN106295638A (zh) * | 2016-07-29 | 2017-01-04 | 北京小米移动软件有限公司 | 证件图像倾斜校正方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019201141A1 (en) | 2019-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3295426B1 (en) | Edge-aware bilateral image processing | |
US20180225527A1 (en) | Method, apparatus, storage medium and device for modeling lane line identification, and method, apparatus, storage medium and device for identifying lane line | |
US10769718B1 (en) | Method, medium, and system for live preview via machine learning models | |
US9530235B2 (en) | Aligning panoramic imagery and aerial imagery | |
CN110569878A (zh) | 一种基于卷积神经网络的照片背景相似度聚类方法及计算机 | |
CN110781885A (zh) | 基于图像处理的文本检测方法、装置、介质及电子设备 | |
EP3510524A1 (en) | Systems and methods for verifying authenticity of id photo | |
JP7009652B2 (ja) | オブジェクション検出のためのaiシステムおよび方法 | |
CN107709930A (zh) | 用于表示地图要素的方法和装置以及用于定位车辆/机器人的方法和装置 | |
WO2020155135A1 (en) | Systems and methods for identifying similar trajectories | |
US11562495B2 (en) | Identifying spatial locations of images using location data from mobile devices | |
CN108230235B (zh) | 一种视差图生成系统、方法及存储介质 | |
CN106326810A (zh) | 道路场景识别方法及设备 | |
CN111160395A (zh) | 图像识别方法、装置、电子设备和存储介质 | |
CN111259711A (zh) | 一种识别唇动的方法和系统 | |
Yuan et al. | Automated accurate registration method between UAV image and Google satellite map | |
Su et al. | Developing an unmanned aerial vehicle-based rapid mapping system for traffic accident investigation | |
Byrne et al. | Maximizing feature detection in aerial unmanned aerial vehicle datasets | |
Yoshimura et al. | Automatic registration of MLS point clouds and SfM meshes of urban area | |
CN114399781A (zh) | 文档图像处理方法及装置、电子设备、存储介质 | |
CN110622172A (zh) | 图像处理方法和系统 | |
CN114897676A (zh) | 一种无人机遥感多光谱图像拼接方法、设备及介质 | |
WO2021147927A1 (zh) | 一种验证车辆的方法和系统 | |
EP3703356B1 (en) | Positioning and orienting cameras to extend an angle of view | |
CN114155177A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20191227 |