图像处理系统和图像处理方法与流程

文档序号:21406982发布日期:2020-07-07 14:41阅读:209来源:国知局
图像处理系统和图像处理方法与流程

本发明的各方面一般而言涉及图像处理系统和图像处理方法。



背景技术:

将图像数据中包括的字符图像识别为字符并因此将字符图像转换成文本数据的已知技术包括称为“光学字符识别”(以下称为“ocr”)的技术。ocr用于利用计算机化的数据中包括的字符信息。例如,称为例如多功能外围设备(mfp)的图像处理装置配备有将通过ocr获取的文本数据与图像数据进行组合以生成可搜索的便携式文档格式(pdf)数据的功能。可搜索的pdf数据允许搜索作为字符包括在图像数据中的字符图像,因此便利性极好。

此外,现有的ocr技术可能经常错误地识别图像中包括的字符并输出包含错误的文本数据。这种错误识别的原因包括字符以外的信息(诸如图像中包括的背景或格线)的影响、图像的倾斜以及图像中包括的噪声的影响。如果以上面提到的方式在通过ocr获得的文本中包含错误,那么使用字符信息的各种功能的便利性会降低。

日本专利申请公开no.2011-150436讨论了一种创建用于ocr的错误规则和用于校正的字典以校正通过ocr获得的文本的技术。错误规则是用于检测文本校正目标的规则,并且包括例如在汉字(日语书写系统中使用的中文字符)和汉字之间出现片假名(日语音节,日语书写系统的一个组成部分)的一个字母的情况下将片假名的这个字母设置为校正目标的规则。在这个规则的情况下,包括在字符“重カ(片假名)加速度”中的字符“カ”被设置为校正目标。而且,用于校正的字典将错误识别和正确内容的模式(pattern)保留为字典。例如,将字符“重カ(片假名)”和字符“重力(汉字)”的对保留在字典中,并且在出现适用的模式的情况下,执行用对应的正确内容替换错误识别的字符的处理。

但是,在日本专利申请公开no.2011-150436中讨论的技术在文本校正的准确性上有提高的空间。例如,在字符“動”被错误地识别为词“重力”的这种类型的错误识别的情况下,在日本专利申请公开no.2011-150436中描述的错误规则无法检测到这种错误识别。而且,如果使用在检测到词“重力”时必然将词“重力”转换成字符“動”的规则和校正字典,那么已通过ocr被正确识别为字符“重力加速度”的术语可能用不同的术语(诸如字符“動加速度”)替换。因而,期望将在ocr之后执行的文本校正处理不是将基于逐个词或逐个字符来执行的校正处理,而是将考虑有关的一个或多个字符周围的上下文来执行的校正处理。换句话说,期望使用神经网络来执行文本校正处理,该神经网络已经不仅基于被ocr错误识别的部分的文本而且还基于出现在错误识别的部分周围的文本来执行学习。



技术实现要素:

根据本发明的一个方面,一种图像处理系统,包括:被配置为获取神经网络模型的单元,该神经网络模型已经基于学习数据进行了训练,在学习数据中,打印数据中包括的第一文本信息和通过对基于打印数据的图像执行光学字符识别(ocr)处理而获取的第二文本信息彼此关联;被配置为获取扫描仪获得的图像的单元;被配置为获取通过对扫描仪获得的图像执行ocr处理而生成的第三文本信息的单元;以及被配置为基于神经网络模型根据第三文本信息的输入来输出第四文本信息的单元。

通过参考附图对示例性实施例的以下描述,本发明的其它特征将变得清楚。

附图说明

图1是例示根据第一示例性实施例的图像处理系统的配置的图。

图2a是例示图像处理装置的配置的图。图2b是例示学习装置的配置的图。图2c是例示图像处理服务器的配置的图。

图3是例示学习数据的构成的图。

图4是例示学习数据的示例的图。

图5a是例示对于扫描功能的设置画面的图。图5b是例示对于扫描功能的传输指令画面的图。

图6是例示对于图像处理系统的使用序列的图。

图7是例示学习处理的流程的流程图。

图8a是例示扫描处理的流程的流程图。图8b是例示光学字符识别(ocr)处理的流程的流程图。

图9a是例示读取的原稿的配置的图。图9b是例示ocr结果的图。图9c是用于解释ocr结果的整形的图。

图10a是例示日语中的文本校正的第一示例的图。图10b是例示日语中的文本校正的第二示例的图。图10c是例示日语中的文本校正的第三示例的图。

图11a是例示英语中的文本校正的示例的图。图11b是例示中文中的文本校正的示例的图。

图12是例示根据第二示例性实施例的图像处理系统的配置的图。

图13是例示自动学习设置画面的图。

图14是例示根据第二示例性实施例的图像处理系统的学习序列的图。

图15a是例示学习数据生成请求处理的流程的流程图。图15b是例示学习数据生成处理的流程的流程图。

图16是例示图像模拟处理的流程的流程图。

图17是用于解释文本匹配的图。

图18是例示文本匹配处理的流程的流程图。

图19a是例示根据第三示例性实施例的图像处理系统的学习序列的图。图19b是例示打印机驱动程序画面的图。

图20a是例示根据第四示例性实施例的图像处理系统的学习序列的图。图20b是例示打印作业选择画面的图。

具体实施方式

下面将参考附图详细描述本发明的各种示例性实施例、特征和方面。此外,用于实现本发明的配置不仅限于以下示例性实施例中描述的配置。在获得类似效果的范围内,以下示例性实施例中描述的配置的一个或多个部分能够被省略或被其等同物替代。

<图像处理系统>

图1是例示根据第一示例性实施例的图像处理系统的配置的图。图像处理系统100包括图像处理装置101、学习装置102和光学字符识别(ocr)服务器103。图像处理装置101、学习装置102和ocr服务器103经由网络104互连。

例如是多功能外围设备(mfp)的图像处理装置101是具有打印功能和扫描功能的装置,并且用作图像获取单元111。图像处理装置101扫描其中包含字符图像的原稿,并因此生成用作处理目标的扫描的图像数据(以下,所生成的扫描的图像数据被称为“处理目标图像”)。然后,图像处理装置101经由网络104将处理目标图像传输到ocr服务器103。

学习装置102执行系列转换模型的学习并因此用作学习单元113,学习单元113生成学习结果(例如,神经网络的参数)。学习装置102经由网络104将学习结果传输到ocr服务器103。

ocr服务器103用作ocr单元114,ocr单元114对由图像处理装置101生成的处理目标图像执行ocr处理。ocr服务器103提取其中包含处理目标图像中包括的字符的区域的部分图像(在下文中,该部分图像被称为“字符区域图像”,并且从原稿数据获取的从其生成处理目标图像的字符文本被称为“正确答案文本”),并对每个字符区域图像执行ocr。然后,ocr服务器103使用由学习装置102生成的学习结果,使用神经网络对通过ocr获取的文本(以下称为“ocr文本”)执行转换。因此,ocr服务器103用作文本校正单元115。在下文中,这种转换被称为“文本人工智能(ai)校正”,并且通过文本ai校正而获得的文本被称为“经校正的文本”。使用神经网络的机器学习方法之一包括使用多层神经网络的深度学习。然后,ocr服务器103将通过转换获取的经校正的文本传输到图像处理装置101。图像处理装置101使用从ocr服务器103接收的经校正的文本根据需要生成扫描的数据,然后将扫描的数据传输到用户期望的传输目的地,或者将扫描的数据存储在例如包括在图像处理装置101中的存储装置208(图2a)中。

<使用序列>

图6是例示图像处理系统的使用序列的图。这里,描述其中用户操作图像处理装置101以扫描原稿来生成可搜索的pdf数据的情况。在第一示例性实施例中,由于对通过ocr获得的文本执行文本ai校正,因此能够获得精度更高的文本。因此,可以使用这种精确文本来提供便利性更高的数据(特别是可搜索的pdf数据)。

首先,在步骤s601中,提供图像处理系统100的制造商的工程师执行学习数据的输入,以使学习装置102执行用于文本ai校正的学习。在步骤s602中,学习装置102使用输入的学习数据来执行神经网络的学习处理。当步骤s602中的处理结束时,然后在步骤s603中,学习装置102将学习结果传输到ocr服务器103。这些步骤是在执行下述步骤之前预先执行的步骤。

然后,在步骤s604中,为了开始使用图像处理系统100,用户在图像处理装置101上设置要扫描的原稿。图像处理装置101在显示设备210(图2a)上显示诸如图5a中所示的设置画面。在步骤s605中,用户经由输入设备209(图2a)发出用于扫描的指令。在步骤s606中,图像处理装置101利用扫描仪设备206(图2a)读取原稿以获取处理目标图像。在步骤s607中,图像处理装置101将获取的处理目标图像和用于文本ai校正的设置信息传输到ocr服务器103。

在步骤s608中,ocr服务器103对接收到的处理目标图像执行ocr处理以获取ocr文本。在步骤s609中,在图像处理装置101中的设置中文本ai校正处理被预先设置为on的情况下,ocr服务器103对在步骤s608中获取的ocr文本执行文本ai校正处理。通过将ocr文本输入到预先学习的神经网络模型来实现文本ai校正处理。在步骤s610中,ocr服务器103将在步骤s609中获取的经校正的文本传输到图像处理装置101。在步骤s611中,图像处理装置101使用接收到的文本来生成扫描的数据。扫描的数据是在图5a中所示的区域501内由用户指定的文件格式的数据,并且在已经指定了pdf和ocr的情况下,生成其中嵌入文本信息的可搜索的pdf数据。在步骤s612中,图像处理装置101通过例如将生成的扫描的数据传输到用户指定的传输目的地来执行数据输出。

<装置配置>

为了实现上述图像处理系统,图像处理装置101、学习装置102和ocr服务器103包括以下描述的相应配置。图2a是例示图像处理装置101的配置的图。图2b是例示学习装置102的配置的图。图2c是例示ocr服务器103的配置的图。

如图2a所示,图像处理装置101包括中央处理单元(cpu)201、只读存储器(rom)202、随机存取存储器(ram)204、打印机设备205、扫描仪设备206、原稿输送设备207、存储装置208、输入设备209、显示设备210和外部接口211。这样的设备以使得能够彼此通信的方式经由数据总线203互连。

cpu201是全面控制图像处理装置101的控制器。cpu201通过存储在rom202中的引导程序(bootprogram)来激活操作系统(os)。在os上执行存储在存储装置208中的控制程序。控制程序是用于控制图像处理装置101的程序。cpu201全面控制经由数据总线203互连的各种设备。ram204用作cpu201的临时存储区域,诸如主存储器或工作区。

打印机设备205是在纸(记录材料或片材)上打印图像数据的设备(打印设备或图像形成设备)。打印机设备205是例如使用例如感光鼓或感光带的电子照相打印法和通过从微小喷嘴阵列喷射墨而直接在纸上打印图像的喷墨法中的任何一种。扫描仪设备206是利用诸如电荷耦合器件(ccd)传感器之类的光学读取设备对诸如纸文档之类的原稿执行扫描以获得电信号数据并将获得的电信号数据转换成扫描的图像数据的设备(图像读取设备)。而且,诸如自动文档馈送器(adf)之类的原稿输送设备207将放置在原稿输送设备207的文档定位板上的原稿逐张地输送至扫描仪设备206。扫描仪设备206除了包括读取由原稿输送设备207输送的原稿的功能以外,还可以包括读取在图像处理装置101中包括的文档定位板(未例示)上放置的原稿的功能。

存储装置208是能够读取和写的非易失性存储器,诸如硬盘驱动器(hdd),存储装置208中存储了各种数据,诸如上面提到的控制程序。输入设备209配置有例如触摸面板或硬件小键盘。输入设备209接收用户发出的操作指令。然后,输入设备209将包括指令位置的指令信息传送到cpu201。显示设备210是显示器,诸如液晶显示器(lcd)或阴极射线管(crt)。显示设备210显示由cpu201生成的显示数据。cpu201基于从输入设备209接收的指令信息和由显示设备210显示的显示数据来确定已经执行了哪个操作。然后,响应于确定的结果,cpu201控制图像处理装置101,并且还生成新的显示数据,并使显示设备210显示新的显示数据。

外部接口211经由诸如局域网(lan)、电话线或近距离无线通信(诸如红外通信)之类的网络执行与外部装置的包括图像数据在内的各种数据的发送和接收。外部接口211从诸如学习装置102或个人计算机(pc)(未示出)之类的外部装置接收页面描述语言(pdl)数据(以页面描述语言描述绘图内容的数据或pdl格式的数据)。cpu201解释通过外部接口211接收的pdl数据以生成图像。生成的图像由打印机设备205打印或存储在存储装置208中。而且,外部接口211从诸如ocr服务器103之类的外部装置接收图像数据。接收到的图像数据由打印机设备205打印、被存储在存储装置208中,或者通过外部接口211被传输到另一个外部装置。

图2b中例示的学习装置102包括cpu231、rom232、ram234、存储装置235、输入设备236、显示设备237、外部接口238和图形处理单元(gpu)239。这样的各种单元能够经由数据总线233相互发送和接收数据。

cpu231是控制整个学习装置102的控制器。cpu231通过存储在作为非易失性存储器的rom232中的引导程序来激活os。cpu231在os上执行存储在存储装置235中的学习数据生成程序和学习程序。cpu231通过执行学习数据生成程序来生成学习数据。而且,cpu231通过执行学习程序来学习用于执行文本ai校正的神经网络。cpu231经由诸如数据总线233之类的总线来控制各种单元。

ram234用作cpu231的临时存储区域,诸如主存储器或工作区。存储装置235是能够读取和写的非易失性存储器,并且在上面记录上述学习程序。

输入设备236配置有例如鼠标和键盘。显示设备237类似于参考图2a描述的显示设备210。

外部接口238类似于参考图2a描述的外部接口211。

作为图像处理处理器的gpu239与cpu231协作执行神经网络的学习。

图2c中例示的ocr服务器103包括cpu261、rom262、ram264、存储装置265、输入设备266、显示设备267和外部接口268。这样的各种单元能够经由数据总线263相互发送和接收数据。

cpu261是控制整个ocr服务器103的控制器。cpu261通过存储在作为非易失性存储器的rom262中的引导程序来激活os。cpu261在os上执行存储在存储装置265中的ocr服务器程序。cpu261通过执行ocr服务器程序来对处理目标图像执行ocr处理和转换处理。cpu261经由诸如数据总线263之类的总线来控制各种单元。

ram264用作cpu261的临时存储区域,诸如主存储器或工作区。存储装置265是能够读取和写的非易失性存储器,并且在上面记录上述ocr服务器程序。

输入设备266类似于参考图2b描述的输入设备236。显示设备267类似于参考图2a描述的显示设备210。

外部接口268类似于参考图2a描述的外部接口211。

<学习数据>

描述在步骤s601中工程师已经输入到学习装置102的学习数据。学习数据是学习单元113用来学习神经网络的数据。学习神经网络需要转换前数据(尚未转换的数据)和转换后数据(通过转换获得的数据)的对。在第一示例性实施例中,ocr文本被用作转换前数据,并且正确答案文本被用作转换后数据。图4是例示存储装置235保留的学习数据的示例的图。

因此,在存储装置235中,以列表400中指示的状态保留所输入的学习数据。如图4所示,ocr文本被保留在转换前文本列402中,并且正确答案文本被保留在转换后文本列403中。转换前文本列402包含例如已经被错误识别的字符串404。学习单元113在参考在标识符(id)列401中的id并适当地调用ocr文本和正确答案文本的对的同时执行学习。

此外,ocr文本不一定包含已经被错误识别的字符串404,而是可以包含彼此完全相同的ocr文本和正确答案文本的对。这是因为在实际输入中还可以存在不包含错误识别的文本。而且,这是因为还可以获得使得神经网络学习正确的上下文的效果。

而且,上面提到的学习数据的保留形式仅仅是示例,并且学习数据的保留形式不限于上面提到的形式,只要能够从中正确地获取转换前和转换后文本的对即可。

图3是例示学习数据的构成的图。如图3所示,学习数据306是由正确答案文本和ocr文本(输入文本)的对组成的数据。通过例如从中提取字符属性对象,直接从pdl数据301(电子文档)获取正确答案文本305。通过以下步骤来获得ocr文本304(输入文本):扫描通过打印pdl数据301而获得的打印的原稿302以生成扫描的图像303,并且然后对扫描的图像303执行ocr处理。

在此,通过处于工程师的开发环境下的打印装置(未示出)获得打印的原稿302。接下来,通过处于工程师的开发环境下的扫描仪(未示出)读取打印的原稿302。然后,通过处于工程师的开发环境下的信息处理装置(未示出)对扫描的图像303执行ocr处理。期望用于这种处理的装置具有与打印机设备205和扫描仪设备206的型号相同的型号。而且,期望用在ocr处理中的软件与用在ocr服务器103中的软件相同。

而且,虽然执行准确的文本校正需要使用大量的学习数据来学习神经网络,但是在此,描述是在已经预先执行了充分的学习的前提下进行的。

<操作画面>

图5a是例示对于扫描功能的设置画面的图。图5b是例示对于扫描功能的传输指令画面的图。

在已经经由图像处理装置101的输入设备209发出使用扫描功能的指令的情况下,图像处理装置101在显示设备210上显示传输指令画面550。传输指令画面550包括目的地设置按钮551、552、553、554和555,目的地字段(destinationfield)556,读取方法指定按钮557、558、559和560,扫描按钮561以及发送按钮562。

扫描按钮561是用于开始读取扫描仪设备206上设置的原稿的按钮。通过将扫描仪设备206上设置的原稿替换为另一个原稿并重新选择扫描按钮561,可以扫描并保留多个图像。此外,在使用adf的情况下,能够通过再次选择扫描按钮561来扫描并保留多页图像。

发送按钮562是用于将通过响应于扫描按钮561的选择而执行的扫描而获得的图像发送到在目的地字段556中设置的目的地的按钮。

目的地字段556是用于指示经由例如目的地设置按钮551、552、553、554或555设置的目的地的字段。例如,使软件键盘(未示出)被显示还使得能够将目的地直接输入到目的地字段556中。

目的地设置按钮551是用于调出用于从地址簿当中指定目的地的画面(未示出)的按钮。地址簿存储在本地或存储在服务器中,并且在地址簿中,用户名和对应的电子邮件地址彼此相关联。在调出的画面中,这些信息以列表形式和以可选择的方式显示。

目的地设置按钮552是用于调出用于将本地框指定为目的地的画面(未示出)的按钮。本地框是通过使用存储装置208而获得的数据存储区域(在作为本地存储装置的存储装置208中分配的存储区域),并且在本地框中,多个框用例如相应的框号管理。例如,在调出的画面中,能够指明要被指定为目的地的框的框号。

目的地设置按钮553是用于调出用于将云服务(云服务器)指定为目的地的画面(未示出)的按钮。云服务是能够存储数据的数据存储服务。例如,在调出的画面中,能够执行要使用的服务的指定和账户的设置。

目的地设置按钮554是用于指定与登录的用户相关联的电子邮件地址的按钮。例如,这个按钮使得能够一键指定与登录的用户相关联的电子邮件地址作为目的地。

目的地设置按钮555是用于调出用于将网络上的共享文件夹(网络连接到图像处理装置101的另一个装置提供的共享文件夹)指定为目的地的画面(未示出)的按钮。共享文件夹由例如图像处理装置101所属的本地网络上的另一个装置(未示出)提供。例如,在调出的画面中,能够执行地址设置或各种网络设置。

读取方法指定按钮557是用于调出可用于指定扫描仪获得的图像的颜色(诸如彩色或单色)的画面的按钮。

读取方法指定按钮558是用于调出用于指定读取的图像的分辨率(诸如300×300点每英寸(dpi)或600×600dpi)的画面的按钮。

读取方法指定按钮559是用于调出可用于指定读取的图像的读取尺寸(诸如自动、a4或a5)的画面的按钮。

读取方法指定按钮560是用于调出可用于指定读取的图像的转换形式的画面500的按钮。

设置画面500包括用于设置图像数据的文件格式的设置按钮组501,并且设置按钮组501包括与能够被选择作为图像数据的文件格式的jpeg、pdf、tiff、xps和ooxml分别对应的设置按钮。图像处理装置101将图像数据转换成与用户从设置按钮组501当中选择的设置按钮对应的文件格式的数据。例如,当用户已经选择了pdf按钮502时,用于设置是否执行对于生成可搜索的pdf数据所需的ocr处理的ocr按钮503被显示为详细信息。而且,当用户选择了ocr按钮503时,文本ai校正按钮504被显示为详细信息。在选自文本ai校正按钮504的情况下,对通过ocr处理获得的文本数据执行以下描述的文本ai校正处理。当选择ok按钮505时,存储经由设置画面500设置的设置内容,并且设置画面500转变到传输指令画面550。

当选择取消按钮506时,丢弃经由设置画面500设置的设置内容,并且设置画面500转变到传输指令画面550。

此外,上面提到的内容仅仅是用于描述本示例性实施例的示例,并且设置画面和设置项目不限于上面提到的内容。例如,可以在设置画面中显示用于选择针对ocr的语言的按钮。而且,用于启用或禁用文本ai校正的设置可以不是提供在指示扫描功能时所显示的画面中,而是提供在用于执行整个图像处理装置101的设置的画面中。而且,也可以不采用由用户明确地切换文本ai校正的启用或禁用的配置,而是采用始终执行文本ai校正的配置。

<学习处理>

接下来,描述由学习装置102执行的学习处理。图7是例示学习处理的流程图。学习处理由学习装置102的学习单元113实现。具体而言,学习处理通过cpu231读出存储装置235上记录的学习程序、将学习程序加载到ram234上并执行该学习程序来实现。学习处理响应于输入新的学习数据而开始。此外,在第一示例性实施例中,假设将小批量(mini-batch)方法用于神经网络的学习。

首先,在步骤s701中,cpu231初始化神经网络。更具体而言,cpu231构建神经网络,并通过随机确定神经网络中包括的相应参数的值来初始化神经网络。要构建的神经网络的结构可以是任何类型,并且例如可以是已知的系列转换模型的形式。系列转换将句子视为例如词或字符的系列,接收该系列作为顺序输入,并在模型内解释关于例如系列中包括的上下文的信息。然后,系列转换基于所解释的内容类似地顺序输入该序列,从而实现转换。

在步骤s702中,cpu231获取学习数据。cpu231通过从中读取预定数量(小批量尺寸,例如10条)的学习数据来获取保留在存储装置235中的学习数据。此外,针对输入的文本的单位取决于神经网络的学习方法而不同。因此,根据需要对每条学习数据执行文本的分离处理。该分离处理包括例如在逐个词的情况下以空格分离日语中的词,以及在逐字符的情况下以空格分离日语中的字符。此外,虽然在第一示例性实施例中以设置成逐个字符的分离单位来进行描述,但是分离单位或分离方法不限于此,而是可以是任何形式,只要能够实现本发明即可。

在步骤s703中,cpu231计算神经网络的误差。更具体而言,cpu231将包含在每条学习数据中的ocr文本输入到神经网络,并且然后从中获得输出。所获得的输出是可变长度的文本,并且cpu231评估输出的文本(经校正的文本)和与其对应的正确答案文本之间的差异,从而获得神经网络的误差。为了进行评估,可以将交叉熵(crossentropy)用作指标。

在步骤s704中,cpu231调整神经网络的参数。更具体而言,cpu231基于在步骤s703中计算出的误差,通过反向传播法来改变神经网络的参数值。

在步骤s705中,cpu231确定是否结束学习。cpu231如下执行该确定。cpu231确定步骤s702至s704中的处理是否已经执行了预定的次数(例如,60000次)。预定的次数可以例如通过用户在本流程图的开始时执行手动输入操作来确定。如果确定步骤s702至s704中的处理已经执行了预定的次数(步骤s705中为“是”),那么cpu231使处理前进到步骤s706。如果不是这样(步骤s705中为“否”),那么cpu231使处理返回到步骤s702,在步骤s702中,cpu231继续学习神经网络。

在步骤s706中,cpu231将在步骤s704中调整的神经网络的参数作为学习结果传输到ocr服务器103。

<扫描处理>

接下来,描述由图像处理装置101执行的扫描处理。图像处理装置101扫描包含字符图像的图像,并将扫描的图像传输到ocr服务器103,以请求ocr服务器103对其执行ocr处理。图8a是例示扫描处理的流程图。扫描处理通过图像处理装置101的cpu201读出存储装置208上记录的控制器程序、将该控制器程序加载到ram204上并执行该控制器程序来实现。扫描处理响应于用户经由图像处理装置101的输入设备209执行预定操作而开始。

首先,在步骤s801中,cpu201控制扫描仪设备206和原稿输送设备207以扫描原稿,从而生成处理目标图像。处理目标图像被生成为全色(红色(r)、绿色(g)和蓝色(b)三通道)图像数据。

在步骤s802中,cpu201确定是否需要ocr处理。如果确定用户预先设置了需要ocr处理的扫描设置(步骤s802中为“是”),那么cpu201使处理前进到步骤s803。如果不是这样(步骤s802为“否”),那么cpu201使处理前进到步骤s805。

在步骤s803中,cpu201经由外部接口211将在步骤s801中生成的处理目标图像发送到ocr服务器103。

在步骤s804中,cpu201确定是否已经从ocr服务器103接收到处理结果。如果确定已经经由外部接口211从ocr服务器103接收到处理结果(步骤s804为“是”),那么cpu201使处理前进到步骤s805。如果不是这样(步骤s804中为“否”),那么cpu201重复步骤s804中的处理。

在步骤s805中,cpu201使用从ocr服务器103接收到的处理结果来生成扫描的数据。换句话说,从ocr服务器103接收到的处理结果是作为对在步骤s801中生成的处理目标图像执行ocr和文本ai校正的结果而获得的经校正的文本。在步骤s805中生成的扫描的数据是具有用户在扫描指令时已经设置的文件格式的数据,并且,在已经指定pdf格式的情况下,生成其中嵌入了字符信息的可搜索的pdf数据作为扫描的数据。

在步骤s806中,cpu201输出在步骤s805中生成的扫描的数据。输出扫描的数据的方法包括经由外部接口211将扫描的数据传输到用户通过操作输入设备209已经设置的传输目的地。可替代地,输出扫描的数据的方法包括将扫描的数据存储在用户通过操作输入设备209已经设置的存储装置208中的存储区域中。

<ocr处理>

接下来,描述由ocr服务器103执行的ocr处理。ocr服务器103对从图像处理装置101接收的处理目标图像执行ocr处理。图8b是例示ocr处理的流程图。ocr处理通过cpu261读出存储装置265中存储的ocr服务器程序、将该ocr服务器程序加载到ram264上并执行该ocr服务器程序来实现。ocr处理响应于用户将ocr服务器103接通电源而开始。

首先,在步骤s810中,cpu261加载其中执行文本ai校正的神经网络。cpu261构建与在图7的流程图中的步骤s701中构建的神经网络相同的神经网络。然后,cpu261在构建的神经网络中反映在图7的流程图中的步骤s706中从学习装置102传输的学习结果(神经网络的参数)。

在步骤s811中,cpu261确定是否已经从图像处理装置101接收到处理目标图像。如果确定已经经由外部接口268接收到处理目标图像(步骤s811为“是”),那么cpu261使处理前进到步骤s812。如果不是这样(步骤s811为“否”),那么cpu261使处理前进到步骤s820。

在步骤s812中,cpu261从自图像处理装置101接收的处理目标图像中提取字符区域图像。字符区域的提取能够通过应用已知的技术来实现。图9a中例示了从处理目标图像提取字符区域图像的示例。图9a是例示读取的原稿的配置的图。当执行字符区域图像的提取时,从一页的处理目标图像901中检测到每个均包含字符的矩形区域902至905,从而提取了检测到的矩形区域的部分图像。在如所例示的示例中在处理目标图像中存在的字符以分离的方式存在的情况下,可以检测到多个字符区域,从而可以获得多个字符区域图像。

在步骤s813中,cpu261对在步骤s812中获取的字符区域图像执行ocr。ocr使得能够获取作为将字符区域图像中包含的字符识别为文本的结果的ocr文本。ocr能够通过应用已知的技术来实现。在图9b中例示了从字符区域图像获取ocr文本的示例。图9b是例示ocr结果的图。文本911至文本914是通过对相应矩形区域902至905执行ocr而获得的文本,其中每个矩形区域表示在步骤s812中获取的字符区域图像。如上面所提到的,取决于处理目标图像,获取多个字符区域图像,并且,由于对所有获取的字符区域图像执行ocr,因此也获取了多个ocr文本。

在步骤s814中,cpu261确定是否已经对在步骤s812中获取的所有字符区域图像执行了ocr。如果确定已经对所有字符区域图像执行了ocr(步骤s814为“是”),那么cpu261使处理前进到步骤s815。如果不是这样(步骤s814为“否”),那么cpu261使处理返回到步骤s813。

在步骤s815中,cpu261确定文本ai校正处理的设置是否为on。如果确定文本ai校正处理的设置为on(步骤s815中为“是”),那么cpu261使处理前进到步骤s816。如果不是这样(步骤s815为“否”),那么cpu261使处理前进到步骤s819。

在步骤s816中,cpu261执行ocr文本的整形。cpu261将在步骤s813中获取的ocr文本分割成输入单位。本文使用的输入单位的格式类似于在已经学习了步骤s810中构建的神经网络时所使用的格式。而且,在作为目标的ocr文本由多个句子组成或者为短句子的情况下,cpu261可以将文本分割或文本结合为预定的句子量(sentencevolume)(例如,当直到句号的字符被视为一个句子时,两个句子的单位,或者每个句子包含的字符的数量超过预定数量的句子的数量)。

参考图9c描述步骤s816中的数据整形的示例。图9c例示了关于是否对在步骤s813中获取的ocr文本911至914执行整形的确定的结果。在此,例示了整形的示例,其中当直到句号的字符被视为一个句子时,输入单位被设置为两个句子。作为ocr的结果,文本911和文本912中的每一个都是一个句子,因此比输入条件短。在这种情况下,执行用于生成通过结合两个文本(911和912)而获得的文本931的处理。文本913满足输入单位的条件,因此,不对其执行整形处理。作为ocr的结果,文本914是四个句子,因此比输入条件长。在这种情况下,执行用于生成通过基于句号对文本914进行分割而获得的文本932和文本933的处理。此外,确定作为结合的目标的文本的方法可以基于例如获取作为文本的次序或所提取的字符区域的位置关系,并且不受限制,只要以从相同处理目标图像获取的文本作为目标即可。

在步骤s817中,cpu261执行文本校正处理。cpu261将在步骤s816中整形的ocr文本输入到在步骤s810中构建的神经网络,从而执行文本校正。在神经网络的内部,以在步骤s816中用于整形的输入单位执行估计,并且获得通过整合估计而在逐句的基础上获得的经校正文本作为输出。

在步骤s818中,cpu261确定是否已经对在步骤s813中获取的所有ocr文本执行了文本ai校正处理。如果确定已经对所有ocr文本执行了文本ai校正处理(步骤s818为“是”),那么cpu261使处理前进到步骤s819。如果不是这样(步骤s818为“否”),那么cpu261使处理返回到步骤s816。

在步骤s819中,cpu261经由外部接口268将在步骤s817中获得的文本传输到图像处理装置101。

在步骤s820中,cpu261确定是否结束处理。如果确定用户已经执行了预定操作,诸如关断ocr服务器103的电源(步骤s820中为“是”),那么cpu261结束处理。如果不是这样(步骤s820为“否”),那么cpu261使处理返回到步骤s811。

接下来,描述由ocr服务器103执行的文本ai校正处理造成的转换的示例。图10a是例示日语中的文本校正的第一示例的图。图10b是例示日语中的文本校正的第二示例的图。图10c是例示日语中的文本校正的第三示例的图。

图10a中例示的ocr文本1001以混合方式包含作为正确文本的文本“重力”1002,以及由于ocr错误识别文本“変動”而出现的文本“変重力”1003。通过对ocr文本1001执行文本ai校正而获得的结果是经校正的文本1004。在经校正的文本1004中,没有对文本1002(“重力”)执行校正,并且错误识别的文本1003(“変重力”)被校正为文本1005(“変動”)。

在这个示例中执行的校正中,在仅基于字典来转换字符串的情况下,不能执行细分(breakdown)。另一方面,在使用考虑上下文的神经网络的校正中,获得了正确的校正。在这个校正操作中,整个ocr文本1001作为校正的目标被输入到转换模型,并且在考虑上下文的情况下,转换模型确定仅文本“変重力”1003是错误识别,因此基于学习期间获得的倾向执行从“重力”到“動”的转换。

图10b中例示的ocr文本1011包含由于ocr错误识别文本“映像撮影”而出现的文本1012(“映像撮所”)。通过对ocr文本1011执行文本ai校正而获得的结果是经校正的文本1013。经校正的文本1013是通过将文本1012(“映像撮所”)转换成正确文本1014(“映像撮影”)而获得的输出。

转换文本的神经网络模型具有解释输入文本中的上下文并用同一文本中包含的另一个字符串替换错误识别的字符串的功能。在这个示例中执行的校正中,神经网络基于上下文来确定文本1012(“映像撮所”)是错误的,因此将文本1012(“映像撮所”)识别为校正的目标。然后,神经网络类似地基于上下文将注意力引至文本1015(“映像撮影”)并用“映像撮影”替换一系列字符“映像撮所”,从而实现这种校正。以这种方式,使用神经网络使得能够实现考虑到上下文而执行的校正。

图10c中例示的ocr文本1021包含由于ocr错误识别文本“ローラ”而出现的文本1022(“日―ラ”)。通过对ocr文本1021执行文本ai校正而获得的结果是经校正的文本1023。经校正的文本1023是通过将文本1022(“日―ラ”)转换成正确文本1024(“ローラ”)而获得的输出。

转换文本的神经网络例如基于学习数据来学习出现在输入文本中的词的共现(co-occurrence),以用作参考。在这个示例中执行的校正中,神经网络学习了指示例如在诸如文本1025(“樹脂”)之类的词在输入文本中频繁出现的情况下,诸如“ローラ”之类的词可能频繁出现的知识,并在校正内容中反映了该知识。

此外,本发明所针对的语言不限于日语,并且类似地生成学习数据并使学习装置102学习神经网络模型的操作还使得能够将文本ai校正处理应用于其它语言。

图11a是例示英语中的文本校正的示例的图。图11b是例示中文中的文本校正的示例的图。参考图11a和图11b描述将本发明应用于日语以外的ocr文本的情况的示例。

图11a中例示的ocr文本1101包含由于ocr错误地将“first”中的“i”识别为“r”而出现的文本1102(“frrst”)。而且,ocr文本1101还包含其中词之间的间隔消失了而作为一个词输出的文本1103(“particleis20%”)。通过使用经学习的神经网络对ocr文本1101执行文本ai校正而获得的结果是经校正的文本1104。经校正的文本1104是通过将文本1102(“frrst”)和文本1103(“particleis20%”)分别正确校正为文本1105(“first”)和文本1106(“particleis20%”)而获得的输出。认为神经网络模型已经将注意力引至出现在输入文本中的上下文,并已经实现了诸如文本1102(“frrst”)之类的字符的替换,以及关于诸如本文1103之类的字符的正确结合的这种转换。特别地,分离文本1106中包括的部分“20%”用作模型执行转换的指导,同时将注意力引至类似系列的字符,诸如包含在同一文本中的部分1107(“50%”)。

接下来,图11b中例示的ocr文本1111包含由于ocr错误识别文本“指示”而出现的文本1112(“|旨示”)。通过使用经学习的神经网络对ocr文本1111执行文本ai校正而获得的结果是经校正的文本1113。经校正的文本1113是通过将文本1112(“|旨示”)正确校正为文本1114(“指示”)而获得的输出。

在这种情况下,与日语的情况一样,神经网络对输入文本的上下文和包含在输入文本中的文本1115(“指示”)做出反应,从而校正文本1112(“|旨示”),以输出经校正的文本1113。

图11a和图11b指示本发明不仅可以应用于日语文本,而且可以应用于其它语言,诸如英语和中文。

<备注>

如第一示例性实施例中描述的,可以执行神经网络的学习,该神经网络将ocr文本转换成正确答案文本,并利用学习的结果来校正ocr文本。

而且,虽然已经在第一示例性实施例中描述了对于日语、英语和中文的应用示例,但是预期的语言不限于这些,并且类似的配置也能够应用于其它语言。

在上述第一示例性实施例中,关于生成学习数据的方法,已经描述了工程师预先执行诸如打印电子数据之类的处理的示例。在以下描述的第二示例性实施例中,描述了通过构成针对实际处于操作中的客户环境定制的学习模型来提高文本校正的准确性的示例。具体而言,第二示例性实施例针对一种从用于执行打印功能的pdl数据生成学习数据的方法。除了特征部分之外,第二示例性实施例中的图像处理系统的配置与第一示例性实施例中的图像处理系统的配置相似。因此,与第一示例性实施例的构成元件相似的构成元件被指派与第一示例性实施例的构成元件各自相同的附图标记,并且在此省略其详细描述。

<图像处理系统>

图12是例示根据第二示例性实施例的图像处理系统1200的配置的图。图像处理系统1200包括图像处理装置101、学习装置102、ocr服务器103和终端装置1201。图像处理装置101、学习装置102、ocr服务器103和终端装置1201经由网络104互连。图像处理装置101、ocr服务器103和网络104与以上参考图1描述的那些相同。

终端装置1201是例如能够将打印作业传输到图像处理装置101的个人计算机或平板电脑。当用户经由操作单元(未示出)发出用于打印的指令时,终端装置1201将打印作业(包括pdl数据)传输到图像处理装置101。图像处理装置101不仅根据从终端装置1201传输的打印作业来执行打印处理,而且还将pdl数据传输到学习装置102。学习装置102从pdl数据生成正确答案文本和ocr文本的对,并将生成的文本对存储为学习数据。

在第二示例性实施例中,学习装置102包括学习数据生成单元1210。学习数据生成单元1210包括文本匹配单元1212和图像模拟单元1211,并且生成学习神经网络所需的学习数据。文本匹配单元1212将正确答案文本和ocr文本彼此配对为正确的对,以生成学习数据。图像模拟单元1211通过模拟从pdl数据生成扫描等效的图像数据。学习数据生成单元1210将生成的学习数据存储在存储装置235中。学习数据生成单元1210通过cpu231将学习数据生成程序加载到ram234上并执行该学习数据生成程序来实现。

学习单元113使用存储在存储装置235中的学习数据来学习神经网络。学习单元113通过cpu231将学习程序加载到ram234上并执行该学习程序来实现。

<学习序列>

参考图14描述学习序列。图14是例示第二示例性实施例中的图像处理系统的学习序列的图。

首先,在步骤s1401中,用户将是否执行在本示例性实施例中描述的学习数据生成处理的设置经由图像处理装置101的操作单元设置为“on”。

接下来,当在步骤s1402中用户经由终端装置1201的操作单元发出用于打印的指令时,在步骤s1403中,终端装置1201将打印作业(包括pdl数据)传输到图像处理装置101。在从终端装置1201接收到打印作业后,在步骤s1404中,图像处理装置101将学习数据生成指令和包括在打印作业中的pdl数据传输到学习装置102,然后在步骤s1411中执行打印处理。在步骤s1405中,学习装置102根据在步骤s1404中获取的pdl数据生成正确答案文本。在步骤s1406中,学习装置102对pdl数据执行模拟以生成处理目标图像。然后,在步骤s1407中,学习装置102将生成的处理目标图像发送到ocr服务器103。在步骤s1408中,ocr服务器103对接收到的处理目标图像执行ocr以获取ocr文本,并且在步骤s1409中,将获取的ocr文本传输到学习装置102。在步骤s1410中,学习装置102对在步骤s1405和s1409中获取的正确答案文本和ocr文本执行匹配处理,以将相应文本整形为用于在学习中使用的形式,然后将整形后的文本存储在存储装置235中。在步骤s1412中,学习装置102基于通过文本匹配获得的学习数据来执行学习,从而更新学习模型。在已经完成学习的时刻或已经从ocr服务器103接收到请求的时刻,将经更新的学习模型传输到ocr服务器103。此外,与学习装置102执行处理并行地,在步骤s1411中,图像处理装置101执行基于在步骤s1403中接收的打印作业的打印处理。

<操作画面>

经由图13中例示的画面执行步骤s1401中的设置。图13是例示自动学习设置画面的图。

自动学习设置画面1300包括on按钮1301、off按钮1302、过滤器项1303、过滤器项1304、过滤器项1305和ok按钮1306。

on按钮1301是用于执行设置以允许将接收到的打印数据用于自动学习的指令按钮。off按钮1302是用于执行设置以不允许将接收到的打印数据用于自动学习的指令按钮。自动学习设置画面1300允许将on按钮1301和off按钮1302中的任何一个设置为被选状态。

在选择了on按钮1301的状态下,允许用户基于打印数据中包括的信息来执行各种过滤器设置。换句话说,在存在多种类型的打印数据的情况下,允许用户执行设置以将一种类型的打印数据指定为自动学习目标,以及将另一种类型的打印数据从自动学习目标中排除。过滤器项1303允许用户基于作业的属性执行关于是否将打印数据设置为自动学习目标的过滤器设置。例如,允许用户设置是否学习附加有普通打印属性的打印数据或者是否学习附加有安全打印(密码保护的打印)属性的打印数据。而且,允许用户设置是否学习其中通信协议是行式打印机后台程序协议(lpr)的打印数据或者是否学习其中通信协议是互联网打印协议(ipp)的打印数据。而且,允许用户设置是否学习其中传输源地址(互联网协议(ip)地址)是特定地址的打印数据或者是否学习其中传输源应用信息是特定应用信息的打印数据。

过滤器项1304允许用户基于附加到打印数据的用户信息的属性来执行关于是否将打印数据设置为自动学习目标的过滤器设置。例如,允许用户设置是否学习已经附加了在由装置管理的用户列表中注册的用户属性(有效用户属性)的打印数据或者是否学习已经附加了未在用户列表中注册的用户属性(无效用户属性)的打印数据。而且,允许用户设置是否学习未附加用户属性的打印数据(用户未知数据)。而且,还允许用户指定用户名或组名,并设置是否学习已经附加了用户名或组名的打印数据。

过滤器项1305允许用户基于包括在打印数据中的文本来执行关于是否将打印数据设置为自动学习目标的过滤器设置。例如,允许用户设置是否学习在标题名称中包括特定词的打印数据或者是否学习在正文中包括特定词的打印数据。此外,可以使用多个词的组合来指定过滤方法。

过滤器项1307允许用户基于关于已经从其生成打印数据的电子数据的文件名扩展名的信息来执行关于是否将打印数据设置为自动学习目标的过滤器设置。这个扩展名信息是从附加到打印数据的作业信息中获取的。可替代地,通过从打印数据的标题名称的一部分中提取来获取扩展名信息。扩展名信息的示例包括关于图像的扩展名,诸如“jpg”、“png”、“bmp”、“tif”和“gif”,以及关于文档的扩展名,诸如“txt”、“doc”、“docx”、“ppt”、“pptx”、“xls”、“xlsx”、“htm”、“html”、“xps”和“pdf”。附加了上面提到的扩展名当中关于图像的扩展名“jpg”、“png”、“bmp”或“tif”的打印数据极有可能不允许从中获取字符信息(正确答案文本)。因此,期望从学习目标中排除附加有这种扩展名的学习数据。

而且,关于与文档相关的扩展名中的“pdf”,在数据从文档管理应用传递到打印机驱动程序的过程期间,字符信息常常被向量信息代替。已经成为向量信息的字符难以被提取为文本信息。因此,可以将包括“pdf”的打印数据从学习对象中排除。此外,存在图像处理装置101不经由打印机驱动程序而直接获取pdf文件(pdf格式的数据)并打印pdf文件的情况(直接打印)。直接打印的示例包括经由网络执行的网络直接打印和经由诸如通用串行总线(usb)存储器之类的存储介质执行的介质直接打印。

在这种情况下,即使扩展名是“pdf”,字符信息(正确答案文本)也可能包括在打印数据中。因而,为了更高效的操作,不是简单地从学习目标中排除扩展名“pdf”,而是期望以不同的方法设置过滤器。例如,在过滤器项1303中,执行从学习目标中排除在传输源应用中包括的数据的设置,使得能够从学习目标中排除其中字符信息已被向量信息替换的打印数据。上面提到的过滤器设置可以不是允许用户可选地执行的设置,而是用作原理过滤器设置的设置。在下面的描述中,描述仅使用基于扩展名的过滤器而不使用其它过滤器的情况。

<学习数据生成请求处理>

接下来,描述由第二示例性实施例中的图像处理装置101执行的学习数据生成请求处理。图像处理装置101将pdl数据传输到学习装置102,并且请求学习装置102执行学习数据生成处理。

图15b是例示学习数据生成处理的流程图。图15a是例示学习数据生成请求处理的流程图。学习数据生成请求处理通过图像处理装置101的cpu201读出存储装置208中存储的控制程序、将该控制程序加载到ram204上并执行该控制程序来实现。学习数据生成请求处理响应于图像处理装置101从终端装置1201接收到打印作业而开始。

首先,在步骤s1501中,cpu201确定是否已经从终端装置1201接收到打印作业。如果确定已经接收到打印作业(步骤s1501中为“是”),那么cpu201使处理前进到步骤s1502。如果不是这样(步骤s1501中为“否”),那么cpu201使处理前进到步骤s1506。

在步骤s1502中,cpu201确定在图像处理装置101的设置中自动学习是否为on。如果确定自动学习为on(步骤s1502中为“是”),那么cpu201使处理前进到步骤s1503。如果不是这样(步骤s1502中为“否”),那么cpu201使处理前进到步骤s1505。

在步骤s1503中,cpu201确定pdl数据是否与学习目标的条件一致。具体而言,cpu201根据参考图13描述的项来确定pdl数据是否是学习目标。例如,在附加了例如关于图像的扩展名(诸如“jpg”、“png”、“bmp”、“tif”或“gif”)作为生成了pdl数据的文件的扩展名的pdl数据的情况下,由于该pdl数据不可能包括正确答案文本,因此确定该pdl数据不是学习目标(步骤s1503中为“否”),然后,cpu201使处理前进到步骤s1505。在附加了除关于图像的扩展名之外的扩展名的pdl数据的情况下,pdl数据可能包括正确答案文本。因此,确定pdl数据是学习目标(步骤s1503中为“是”),然后,cpu201使处理前进到步骤s1504。除关于图像的扩展名之外的扩展名的示例包括“txt”、“doc”、“docx”、“ppt”、“pptx”、“xls”、“xlsx”、“htm”、“html”、“xps”和“pdf”。

此外,代替使用扩展名来执行辨别,可以采用分析pdl数据以检查字符属性对象并基于检查的结果来执行确定的操作。因此,如果获得了包括字符属性对象的分析结果(步骤s1503中为“是”),那么cpu201使处理前进到步骤s1504,并且,如果获得了不包括字符属性对象的分析结果(步骤s1503中为“否”),那么cpu201使处理前进到步骤s1505。

在步骤s1504中,cpu201经由外部接口211将pdl数据传输到学习装置102,从而请求学习装置102执行学习数据生成处理。

在步骤s1505中,cpu201执行打印处理。由于打印处理是由诸如mfp之类的图像处理装置执行的一般处理,因此省略其详细描述。

在步骤s1506中,cpu201确定是否结束学习数据生成请求处理。如果确定用户已经执行了预定操作,诸如关闭图像处理装置101的电源(步骤s1506中为“是”),那么cpu201结束处理。如果不是这样(步骤s1506中为“否”),那么cpu201使处理返回到步骤s1501。

<学习数据生成处理>

接下来,描述由第二示例性实施例中的学习装置102执行的学习数据生成处理。图15b是例示学习数据生成处理的流程图。学习装置102执行学习数据生成处理,用于根据从图像处理装置101接收的pdl数据生成学习数据(正确答案文本和ocr文本的对)。学习数据生成处理通过cpu231读出存储装置235中存储的学习数据生成程序、将学习数据生成程序加载到ram234上并执行该学习数据生成程序来实现。

在步骤s1511中,cpu231确定是否已经从图像处理装置101接收到pdl数据。如果确定已经经由外部接口238接收到pdl(步骤s1511中为“是”),那么cpu231使处理前进到步骤s1512。如果不是这样(步骤s1511中为“否”),那么cpu231使处理前进到步骤s1518。

在步骤s1512中,cpu231从接收到的pdl数据中生成正确答案文本。换句话说,cpu231解释pdl数据,并获取pdl数据中包括的字符属性对象作为正确答案文本。解释pdl数据的方法可以通过应用已知的技术(诸如在例如mfp中使用的解释器(interpreter))来实现。

在步骤s1513中,cpu231利用图像模拟单元1211来执行模拟,以从pdl数据生成处理目标图像。如上面所提到的,由于ocr的输出结果受到图像中诸如噪声之类的劣化原因的影响,因此从pdl数据生成的光栅图像(rasterimage)与通过实际扫描原稿而获得的图像在获得的ocr文本中变得不同。因此,如果将从pdl数据生成的光栅图像直接用作学习数据,那么文本ai校正的准确性可能低。

因此,第二示例性实施例通过模拟来生成包括在扫描原稿的情况下可能发生的劣化原因的处理目标图像。因而,对如此获得的图像执行ocr处理使得能够获取接近通过实际扫描原稿而获得的结果的ocr文本。

图像模拟处理的细节在下面描述,因此在此从描述中省略。

在步骤s1514中,cpu231将在步骤s1513中生成的处理目标图像传输到ocr服务器103,并请求ocr服务器103对处理目标图像执行ocr处理。此时,赋予用于将文本ai校正处理的设置值设置为off的信息,使得能够获得未经过文本ai校正的文本信息。此外,例如,只要能够获得未经过文本ai校正的文本信息,就能够分开地提供指示用于学习的ocr请求的标记信息。

在步骤s1515中,cpu231确定是否已经从ocr服务器103接收到处理结果。如果确定已经经由外部接口238从ocr服务器103接收到处理结果(步骤s1515中为“是”),那么cpu231使处理前进到步骤s1516。如果不是这样(步骤s1515中为“否”),那么cpu231重复步骤s1515中的处理。

在步骤s1516中,cpu231使用在步骤s1512中获取的正确答案文本和在步骤s1515中获取的ocr文本来执行学习数据的生成。如本文使用的学习数据的生成意味着生成正确答案文本和ocr文本的对,并且通过文本匹配处理来实现。文本匹配处理的细节在下面描述,因此在此从描述中省略。

在步骤s1517中,cpu231在存储装置235中存储通过步骤s1516中的文本匹配处理而获取的正确答案文本和ocr文本的对作为学习数据。

在步骤s1518中,cpu231确定是否结束学习数据生成处理。如果确定用户已经执行了预定操作,诸如关闭学习装置102的电源(步骤s1518中为“是”),那么cpu231结束处理。如果不是这样(步骤s1518中为“否”),那么cpu231使处理返回到步骤s1511。

<图像模拟处理>

接下来,参考图16描述由学习装置102的图像模拟单元1211执行的图像模拟处理。图像模拟处理通过cpu231读出存储装置235中存储的图像模拟程序、将该图像模拟程序加载到ram234上并执行该图像模拟程序来实现。图16是例示图像模拟处理的流程图。

首先,在步骤s1601中,cpu231解释从图像处理装置101接收的pdl数据。pdl数据包括指示要打印的文档结构的数据,并且cpu231从pdl数据获取生成图像所需的信息。

在步骤s1602中,cpu231基于在步骤s1601中获取的文档信息来生成诸如位图图像之类的光栅图像。该处理通过称为“光栅图像处理器(rip)”的已知模块来实现。在步骤s1601和s1602中执行的处理是当图像处理装置执行打印处理时在内部执行的处理并且是已知技术,因此省略其详细描述。

接下来,在步骤s1603中,cpu231基于在步骤s1602中生成的光栅图像来执行处理目标图像的模拟。如本文使用的模拟意指对光栅图像赋予在扫描期间出现在图像上的劣化原因。在第二示例性实施例中,劣化原因的元素的示例包括“图像模糊”、“噪声添加”和“图像歪斜”。劣化原因的这些元素可以通过已知的图像处理技术来实现。例如,“图像模糊”可以通过下采样以稀疏图像的像素来实现,而“图像歪斜”可以通过图像的旋转变换来实现。虽然在这种情况下每个处理的程度需要通过参数来设置,但是采用例如以下配置:预先设置每个参数可以落入的范围,并且对于每个图像模拟在该范围内随机设置每个参数。关于每个参数可以落入的范围,例如,预先评估在实际扫描的图像与通过改变参数而生成的图像之间的相似度,并且可以采用用于实现最高相似度的参数。

此外,虽然在第二示例性实施例中采用已知图像处理技术的组合作为模拟方法,但是对于处理目标图像的模拟方法不限于此。例如,可以学习神经网络,并且可以通过应用经学习的神经网络来生成处理目标图像,其中该神经网络利用设置作为学习数据的光栅图像和实际扫描的图像的对来执行图像转换。

而且,模拟过程中要包括的劣化原因不限于上面提到的元素(“图像模糊”、“噪声添加”和“图像偏斜”),并且可以执行用于实现另一种元素的处理。

<文本匹配处理>

接下来,参考图17描述当学习装置102生成学习数据时在步骤s1516中执行的文本匹配处理。图17是例示文本匹配的示例的图。

作为示例,图17例示了在步骤s1512中获得的正确答案文本1701,其中包括三个文本1702至1704,以及与正确答案文本1701对应的ocr文本1705。在第二示例性实施例中,考虑执行其中神经网络的输入是用日语中的句号划定的一个句子的单位的设置,并且从正确答案文本1701和ocr文本1705生成学习数据。

在旨在以日语中的句号为单位执行分割的情况下,为了简单处理,能够以日语中的句号为单位来分割正确答案文本1701和ocr文本1705中的每一个,并且能够顺序地对相应的句子执行匹配。但是,由于由ocr生成的文本包含一些错误识别,因此在日语中的句号被错误识别的情况下,可能无法执行正确的匹配。参考图17,由于文本1703中出现的日语中的句号(“。”)在ocr文本1705中被项目符号(bullet)(“·”)替换了,因此,如果以日语中的句号为单位执行分割,那么会出现其中两个句子以混合的方式出现的文本1708。如果在这种状态下执行匹配,那么执行诸如在文本1702和文本1706之间以及在文本1703和文本1708之间的错误匹配,从而不能获得正确的学习数据。

因此,当生成学习数据时,第二示例性实施例利用学习装置102的文本匹配单元1212来执行文本匹配处理,从而获取适当的文本对。

描述由第二示例性实施例中的学习装置102执行的文本匹配处理的流程。图18是例示文本匹配处理的流程图。学习装置102对正确答案文本和ocr文本执行文本匹配处理,从而生成正确答案数据。文本匹配处理通过cpu231读出存储装置235中存储的文本匹配处理程序、将该文本匹配处理程序加载到ram234上并执行该文本匹配处理程序来实现。

在步骤s1801中,cpu231执行文本分割。由于在第二示例性实施例中将神经网络的输入设置为一个句子的单位,因此cpu231执行处理,以获取通过以日语中的句号为单位分割正确答案文本和ocr文本中的每一个而获得的文本。可以基于例如坐标信息来对在步骤s1801中通过分割获得的文本按顺序排序。

在步骤s1802中,cpu231从正确答案文本中获取开头的(leading)正确答案文本。在步骤s1803中,cpu231从ocr文本中获取开头的ocr文本。

在步骤s1804中,cpu231计算两个获取的文本之间的文本相似度。如本文所使用的文本相似度是用于评估两个文本彼此多么相似的度量,并且可以通过使用例如已知的技术(诸如levenshtein距离)来计算。

在步骤s1805中,cpu231确定在步骤s1804中计算出的文本相似度是否为预定值或更大。如果确定文本相似度是预定值或更大(步骤s1805中为“是”),那么cpu231使处理前进到步骤s1807。如果不是这样(步骤s1805中为“否”),那么cpu231使处理前进到步骤s1806。

在步骤s1807中,cpu231在存储装置235中存储正确答案文本和ocr文本的文本对,该文本对的文本相似度已被确定为预定值或更大。在存储了文本对之后,cpu231使处理前进到步骤s1808。

在步骤s1806中,cpu231确定用于步骤s1805中的处理的ocr文本是否是通过分割获得的ocr文本中的最后的ocr文本。如果确定用于处理的ocr文本是最后的ocr文本(步骤s1806为“是”),那么cpu231使处理前进到步骤s1808。如果不是这样(步骤s1806中为“否”),那么cpu231使处理前进到步骤s1809。

在步骤s1809中,cpu231获取用于步骤s1805中的处理的ocr文本之后的ocr文本,然后使处理返回到步骤s1804。以这种方式使步骤前进使得能够以循环(round-robin)方式将当前获取的正确答案文本与每个ocr文本进行比较。

在步骤s1808中,cpu231确定用于步骤s1805中的处理的正确答案文本是否是通过分割获得的正确答案文本中的最后一个正确答案文本。如果确定用于处理的正确答案文本是最后一个正确答案文本(步骤s1808中为“是”),那么cpu231结束文本匹配处理。如果不是这样(步骤s1808中为“否”),那么cpu231使处理前进到步骤s1810。

在步骤s1810中,cpu231获取用于步骤s1805中的处理的正确答案文本之后的正确答案文本,然后使处理返回到步骤s1803。以这种方式使步骤前进使得能够相对于通过分割获得的每个正确答案文本执行与每个ocr文本的文本相似度比较。

<备注>

上面已经描述了在图像处理系统1200中生成学习数据的方法。当使用图像处理装置101的打印功能时,图像处理系统1200从pdl数据获取正确答案文本。而且,图像处理系统1200通过模拟从pdl数据获取扫描等效的处理目标图像,然后通过对处理目标图像执行ocr来获取ocr文本。学习装置102通过文本匹配处理将这些文本配对,从而生成学习数据。这使得无需进行繁琐的工作即可收集学习神经网络所需的学习数据。

而且,第二示例性实施例允许用户设置是否使用用于打印功能的pdl数据来学习神经网络。因此,第二示例性实施例能够满足期望维持文本ai校正的准确性的用户和期望改善文本ai校正的准确性的用户二者的需求。而且,第二示例性实施例允许用户详细地定制用于打印功能的pdl数据中的哪个pdl数据被设置为学习目标。因此,第二示例性实施例能够执行更高准确性的学习。而且,从学习目标中排除不适合学习的数据使得能够减少从获取pdl数据的时间到执行学习的时间期间所需的一系列处理成本和通信成本。

此外,虽然已经在第二示例性实施例中描述了通过在文本之间执行相似度评估来将文本彼此关联的方法,但是关于文本之间的关联可以采用另一种方法,只要这种方法不脱离本发明的范围即可。例如,可以采用以下配置:将ocr文本和正确答案文本的对设置为学习数据,学习对文本的划定位置进行估计的神经网络,并且文本匹配单元1212执行该神经网络。

在上述第二示例性实施例中,关于生成学习数据的方法,提供打印数据的自动学习设置作为图像处理装置的设置项。在第三示例性实施例中,描述了当经由终端装置发出用于打印的指令时用户指定是否使得学习被执行的情况。

此外,除了特征部分之外,第三示例性实施例中的图像处理系统的配置与第二示例性实施例中的图像处理系统的配置相似。因此,与第二示例性实施例的构成元件相似的构成元件被指派与第二示例性实施例的构成元件各自相同的附图标记,并且在此省略其详细描述。

<学习序列>

参考图19a描述学习序列。图19a是例示第三示例性实施例中的图像处理系统的学习序列的图。

首先,在步骤s1901中,用户经由操作单元(显示设备或输入设备)执行启动终端装置1201中的打印机驱动程序并将预定要传输的打印作业指定为学习数据的操作。此外,假设终端装置1201具有与图2c中例示的ocr服务器103的配置相似的配置。

接下来,当在步骤s1902中用户经由终端装置1201的操作单元发出用于打印的指令时,然后在步骤s1903中,终端装置1201将打印作业(包括pdl数据)传输到图像处理装置101。此外,由于打印作业上附加了学习数据标记,因此在步骤s1904中,已经检测到学习数据标记的图像处理装置101将接收到的pdl数据传输到学习装置102。后续的步骤s1405至s1412中的处理操作与以上描述的这些处理操作相同,因此在此从描述中省略。

<操作画面>

描述用户在步骤s1901和s1902中操作的打印机驱动程序画面。图19b是例示打印机驱动程序画面的图。

打印机驱动程序画面1950是当从例如文档编辑应用调用打印功能时显示的画面。

打印机驱动程序画面1950包括选中字段1951、取消按钮1952和打印按钮1953。

选中字段1951是用于指定是否将要作为打印作业传输到图像处理装置101的pdl数据用于学习文本ai校正的字段。响应于选中字段1951的复选框被选中,pdl数据成为学习的目标,并且响应于选中字段1951的复选框未被选中,pdl数据不成为学习的目标。

取消按钮1952是用于停止使用打印功能的按钮。响应于选择了取消按钮1952,关闭打印机驱动程序画面1950。

打印按钮1953是用于开始用于将打印作业传输到图像处理装置101的处理的按钮。响应于选中了选中字段1951的复选框并且选择了打印按钮1953,开始传输附加有学习数据标记的打印作业。

<备注>

在以上描述中,已经描述了在指定数据的方法方面与第二示例性实施例不同的示例性实施例,其中在图像处理系统1200中从该数据生成学习数据。这提供了在终端装置1201侧执行的作业设置中执行对学习对象的指定的示例。在第三示例性实施例中,由于允许用户经由打印机驱动程序为每个作业指定学习目标,因此可以根据用户的请求来执行学习。

在上述第二示例性实施例中,关于生成学习数据的方法,提供了打印数据的自动学习设置作为图像处理装置的设置项。在第四示例性实施例中,关于图像处理装置中累积的多条pdl数据,描述用户指定是否使得学习被执行的情况。此外,除了特征部分之外,第四示例性实施例中的图像处理系统的配置与第二示例性实施例中的图像处理系统的配置相似。因此,与第二示例性实施例的构成元件相似的构成元件被指派与第二示例性实施例的构成元件各自相同的附图标记,并且在此省略其详细描述。

<学习序列>

参考图20a描述学习序列。图20a是例示第四示例性实施例中的图像处理系统的学习序列的图。当在步骤s2001中用户经由终端装置1201的操作单元发出用于打印的指令时,然后在步骤s2002中,终端装置1201将打印作业(包括pdl数据)传输到图像处理装置101。在从终端装置1201接收到打印作业时,在步骤s2003中,图像处理装置101将包括在打印作业中的pdl数据存储在存储装置208中,并使用书目信息(bibliographicinformation)以列表方式管理pdl数据。此外,该存储处理可以基于图像处理装置101中设置的安全打印设置(存储处理设置)来执行,或者可以基于打印作业中包括的安全打印标记(存储处理标记)来执行。

以上面提到的方式存储的打印作业以可选择的方式显示在打印作业选择画面(指定画面)中。然后,当在步骤s2004中用户从打印作业选择画面中选择打印作业并将该打印作业指定为学习作业时,然后在步骤s2005中,图像处理装置101将存储的pdl数据传输到学习装置102。后续的步骤s1405至s1412中的处理操作与以上描述的这些处理操作相同,因此在此从描述中省略。此外,在第四示例性实施例中,不执行步骤s1411中的打印处理。

<操作画面>

描述在步骤s2004之后变成能够显示在图像处理装置101的操作画面中的打印作业选择画面。图20b是例示打印作业选择画面的图。

打印作业选择画面2050包括作业列表2051、设置按钮2052、显示按钮2053、删除按钮2054、学习服务器传送按钮2055和打印开始按钮2056。

作业列表2051是存储在存储装置208中并且能够针对其发出用于打印的指令的作业的列表。在此,仅显示与登录到图像处理装置101的用户a相关联的作业。作业列表2051允许用户从多个作业中指定至少一个作业,并使指定的作业进入被选状态。

设置按钮2052是用于关于在作业列表2051中当前被选的作业调用用于改变打印设置的画面的按钮。显示按钮2053是用于为作业列表2051中当前被选的作业调用预览画面的按钮。删除按钮2054是用于从作业列表2051中删除作业列表2051中当前被选的作业的按钮。学习服务器传送按钮2055是用于向学习装置102传输作业列表2051中当前被选的作业的按钮。打印开始按钮2056是用于基于作业列表2051中当前被选的作业来开始打印的按钮。

<备注>

在以上描述中,已经描述了在指定数据的方法方面与第二示例性实施例和第三示例性实施例不同的示例性实施例,其中在图像处理系统1200中从该数据生成学习数据。这提供了其中先前由图像处理装置101接收的打印数据被指定为学习目标的示例。在第四示例性实施例中,由于允许用户经由图像处理装置101的操作单元为每个作业指定学习目标,因此可以根据用户的请求来执行学习。

此外,在第四示例性实施例中,已经描述了在打印作业选择画面中选择一个作业并将其传输到学习装置102的情况。但是,可以采用其中在打印作业选择画面中指定多条数据并将其共同传输到学习装置102的配置。

本发明不限于上述示例性实施例,而是可以基于本发明的主旨以各种方式进行修改(包括上述示例性实施例中的一些或全部的有机组合),并且这种修改不排除在本发明的范围之外。换句话说,上述示例性实施例及其修改例的一些或全部的所有组合也包括在本发明中。

在第二示例性实施例中的步骤s1602中,在不对pdl数据进行修改的情况下生成光栅图像。但是,可以在对pdl数据进行修改之后生成光栅图像。例如,如果ocr单元114能够在有效地去除除字符之外的图像元素(例如,背景图像)的同时执行ocr处理,那么在步骤s1602中生成光栅图像之前,可以删除除字符属性对象之外的对象信息。然后,可以生成仅包括字符属性对象的光栅图像。

在第一示例性实施例至第四示例性实施例中,学习装置102响应于数据被输入而被动地执行学习处理。但是,学习装置102可以主动获取学习数据或从其生成学习数据的数据。例如,学习装置102可以被配置为从通过访问文档管理服务器(未示出)而获取的文档数据生成pdl数据,然后如上述示例性实施例那样基于pdl数据生成学习数据。

而且,学习装置102可以通过被另一条件触发而开始学习处理。例如,可以采用这样的配置,其中,每当执行学习数据生成处理并将预定数量的学习数据存储在存储装置235中时,学习装置102执行学习处理。

还可以通过以下处理来实现本发明:经由网络或存储介质将用于实现上述示例性实施例的一个或多个功能的程序提供给系统或装置,并且使该系统或装置的计算机中的一个或多个处理器读出并执行该程序。而且,本发明还可以通过实现该一个或多个功能的电路(例如,专用集成电路(asic))来实现。

本发明可以应用于由多个设备组成的系统,或者可以应用于由单个设备组成的装置。例如,在第二示例性实施例中,学习数据生成单元1210和学习单元113被配置为在学习装置102中实现,但是可以被配置为在相应分离的装置中实现。在这种情况下,其中实现学习数据生成单元1210的装置将由学习数据生成单元1210生成的学习数据传输到其中实现学习单元113的装置。然后,学习单元113基于接收到的学习数据来学习神经网络。而且,虽然已经描述了图像处理装置101和ocr服务器103是相应分离的装置的示例,但是图像处理装置101可以被配置为配备有ocr服务器103的功能。

其它实施例

本发明的(一个或多个)实施例还可以通过读出并执行记录在存储介质(也可以被更完整地称为“非瞬态计算机可读存储介质”)上的计算机可执行指令(例如,一个或多个程序)以执行上述(一个或多个)实施例中的一个或多个实施例的功能和/或包括用于执行上述(一个或多个)实施例中的一个或多个实施例的功能的一个或多个电路(例如,专用集成电路(asic))的系统或装置的计算机来实现,以及通过由系统或装置的计算机通过例如从存储介质读出并执行计算机可执行指令以执行上述(一个或多个)实施例中的一个或多个实施例的功能和/或控制一个或多个电路执行上述(一个或多个)实施例中的一个或多个实施例的功能而执行的方法来实现。计算机可以包括一个或多个处理器(例如,中央处理单元(cpu)、微处理单元(mpu)),并且可以包括单独计算机或单独处理器的网络,以读出并执行计算机可执行指令。计算机可执行指令可以例如从网络或存储介质提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(ram)、只读存储器(rom)、分布式计算系统的存储装置、光盘(诸如紧凑盘(cd)、数字多功能盘(dvd)或蓝光盘(bd)tm)、闪存设备、存储卡等中的一个或多个。

本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。

虽然已经参考示例性实施例描述了本发明,但是应当理解的是,本发明不限于所公开的示例性实施例。所附权利要求的范围将被赋予最广泛的解释,以便涵盖所有这种修改以及等同的结构和功能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1