具体实施方式
现在下文将参照附图更完全地描述本发明的一些实施例,在附图中示出本发明的一些、但是并非所有实施例。实际上,本发明可以用许多不同形式来体现而不应解释为限于这里阐述的实施例;实际上,提供这些实施例使得本公开内容将满足适用法律要求。相似标号全篇指代相似单元。
如这里所用,术语“数据”、“内容”、“信息”和相似术语可以根据各种示例实施例可互换地用来指代能够传输、接收、显示和/或存储的数据。因此,使用任何这样的术语不应解释为限制公开内容的精神实质和范围。另外,在这里描述计算设备从另一计算设备接收数据时,将认识到可以从另一计算设备直接接收数据或者可以经由一个或者多个中间计算设备(如比如一个或者多个服务器、中继、路由器、网络接入点、基站等)间接接收数据。
如这里所用术语“计算机可读介质”指代被配置为参与向处理器提供信息的任何介质,该信息包括用于执行的指令。这样的介质可以采用许多形式,这些形式包括、但不限于非瞬态计算机可读存储介质(例如非易失性介质、易失性介质)和传输介质。传输介质例如包括同轴线缆、铜线、光纤线缆和经过空间行进而没有接线或者线缆的载波、比如声波和电磁波,这些电磁波包括无线电波、光波和红外线波。非瞬态计算机可读介质的示例包括软盘、硬盘、磁带、任何其它非瞬态磁介质、紧致盘只读存储器(CD-ROM)、紧致盘可重写(CD-RW)、数字万用盘(DVD)、蓝光、任何其它非瞬态光介质、随机存取存储器(RAM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、FLASH-EPROM、任何其它存储器芯片或者盒或者计算机可以从其读取的任何其它非瞬态介质。术语计算机可读存储介质这里用来指代除了传输介质之外的任何计算机可读介质。然而将认识到在描述实施例使用计算机可读存储介质时,可以在备选实施例中用其它类型的计算机可读介质替换计算机可读存储介质或者除了计算机可读存储介质之外还使用其它类型的计算机可读介质。
此外,如这里所用,术语‘电路装置’指代:(a)仅硬件的电路实现方式(比如在模拟电路装置和/或数字电路装置中的实现方式);(b)电路与计算机程序产品的组合,该计算机程序产品包括在一个或者多个计算机可读存储器上存储的软件和/或固件指令,这些电路和计算机程序产品一起工作以使装置执行这里描述的一个或者多个功能;以及(c)电路、如比如微处理器或者微处理器的一部分,这些电路需要用于操作的软件或者固件,即使软件或者固件并非物理上存在。‘电路装置’的这一定义适用于这一术语在这里、包括在任何权利要求中的所有使用。作为又一示例,如这里所用,术语‘电路装置’也包括如下实现方式,该实现方式包括一个或者多个处理器和/或其部分以及附带软件和/或固件。作为另一示例,如这里所用的术语‘电路装置’也例如包括用于移动电话的基带集成电路或者应用处理器集成电路或者在服务器、蜂窝网络设备、其它网络设备和/或其它计算设备中的相似集成电路。
图1图示根据一些示例实施例的用于有助于检测图像内的文本的文本检测装置102的框图。将认识到文本检测装置102被提供作为一些实施例的示例而不应解释为以任何方式缩小公开内容的范围或者精神实质。就此而言,公开内容的范围除了这里图示和描述的实施例之外还涵盖许多潜在实施例。这样,尽管图1图示用于有助于检测图像内的文本的装置的配置的一个示例,但是其它配置也可以用来实施在公开内容的范围内的实施例。
文本检测装置102可以被体现为桌面型计算机、膝上型计算机、移动终端、移动计算机、移动电话、移动通信设备、平板计算设备、一个或者多个服务器、一个或者多个网络节点、游戏设备、数字相机/可携式摄像机、音频/视频播放器、电视设备、无线电接收器、数字录像机、定位设备、芯片组、包括芯片组的装置、其任何组合等。在一个示例实施例中,文本检测装置102可以被体现为移动终端、比如图2中所示的移动终端。
就此而言,图2图示移动终端10的框图,该移动终端代表文本检测装置102的一个实施例。然而应当理解图示并且下文描述的移动终端10仅举例说明可以实施和/或受益于各种实施例的一个类型的文本检测装置102、因此不应解读为限制公开内容的范围。尽管出于示例的目的而图示并且下文将描述电子设备的若干实施例,但是其它类型的电子设备、比如移动电话、移动计算机、便携数字助理(PDA)、寻呼机、膝上型计算机、桌面型计算机、游戏设备、电视和其它类型的电子系统可以运用本发明的各种实施例。
如图所示,移动终端10可以包括与发射器14和接收器16通信的一个天线12(或者多个天线12)。移动终端10也可以包括被配置为分别向发射器和接收器提供信号和从其接收信号的处理器20。处理器20可以例如被体现为各种装置,这些装置包括电路装置、具有附带数字信号处理器的一个或者多个微处理器、没有附带数字信号处理器的一个或者多个处理器、一个或者多个协同处理器、一个或者多个多核处理器、一个或者多个控制器、处理电路装置、一个或者多个计算机、包括集成电路、如比如ASIC(专用集成电路)或者FPGA(现场可编程门阵列)的各种其它处理单元或者其某种组合。因而虽然在图2中图示为单个处理器,但是在一些实施例中,处理器20包括多个处理器。这些由处理器20发送和接收的信号可以包括根据适用蜂窝系统的空中接口标准和/或任何数目的不同有线或者无线联网技术的信令信息,这些联网技术包括、但不限于Wi-Fi、无线局域网(WLAN)技术、比如、电气和电子工程师协会(IEEE)802.11、802.16等。附加地,这些信号可以包括话音数据、用户生成的数据、用户请求的数据等。就此而言,移动终端可以能够用一个或者多个空中接口标准、通信协议、调制类型、接入类型等操作。更具体而言,移动终端可以能够根据各种第一代(1G)、第二代(2G)、2.5G、第三代(3G)通信协议、第四代(4G)通信协议、网际协议多媒体子系统(IMS)通信协议(例如会话发起协议(SIP))、可以将来开发的协议等操作。例如移动终端可以能够根据2G无线通信协议IS-136(时分多址接入(TDMA))、全球移动通信系统(GSM)、IS-95(码分多址接入(CDMA))等操作。还例如移动终端可以能够根据通用分组无线电服务(GPRS)、增强型数据GSM环境(EDGE)等这些2.5G无线通信协议操作。另外例如移动终端可以能够根据3G无线通信协议、比如通用移动电信系统(UMTS)、码分多址接入2000(CDMA2000)、宽带码分多址接入(WCDMA)、时分-同步码分多址接入(TD-SCDMA)等操作。移动终端可以附加地能够根据4G无线通信协议、比如长期演进(LTE)、LTE高级(LTE-A)、演进通用地面无线电接入网络(E-UTRAN)等操作。
一些窄带高级移动电话系统(NAMPS)以及全接入通信系统(TACS)移动终端也可以如双模或者更高模式的电话(例如数字/模拟或者TDMA/CDMA/模拟电话)应当的那样从本发明的实施例中受益。附加地,移动终端10可以能够根据无线保真(Wi-Fi)或者全球微波接入互操作性(WiMAX)协议操作。
理解到处理器20可以包括用于实施移动终端10的音频/视频和逻辑功能的电路装置。例如处理器20可以包括数字信号处理器设备、微处理器设备、模数转换器、数模转换器等。可以根据这些设备的相应能力在它们之间分配移动终端的控制和信号处理功能。处理器可以附加地包括内部语音编码器(VC)20a、内部数据调制解调器(DM)20b等。另外,处理器可以包括用于操作可以在存储器中存储的一个或者多个软件程序的功能。例如,处理器20可以能够操作连接程序、比如web浏览器。连接程序可以允许移动终端10根据协议(比如无线应用协议(WAP)、超文本传送协议(HTTP)等)发送和接收web内容、比如基于位置的内容。移动终端10可以能够使用传输控制协议/网际协议(TCP/IP)以跨因特网或者其它网络发送和接收web内容。
移动终端10也可以包括可以操作地耦合到处理器20的用户接口,该用户接口例如包括耳机或者扬声器24、振铃器22、麦克风26、显示器28、用户输入接口等。就此而言,处理器20可以包括用户接口电路装置,该用户接口电路装置被配置为控制用户接口的一个或者多个单元、如比如扬声器24、振铃器22、麦克风26、显示器28等的至少一些功能。处理器20和/或包括处理器20的用户接口电路装置可以被配置为通过在处理器20可访问的存储器(例如易失性存储器40、非易失性存储器42等)上存储的计算机程序指令(例如软件和/或固件)控制用户接口的一个或者多个单元的一个或者多个功能。虽然未示出,但是移动终端可以包括用于向与移动终端有关的各种电路(例如用于提供机械振动作为可检测输出的电路)供电的电池。用户输入接口可以包括允许移动终端接收数据的设备、比如键区30、触摸屏(未示出)、操纵杆(未示出)和/或其它输入设备。在包括键区的实施例中,键区可以包括数字键(0-9)和有关键(#、*)和/或用于操作移动终端的其它键。
如图2中所示,移动终端10也可以包括用于共享和/或获得数据的一个或者多个装置。例如,移动终端可以包括短程射频(RF)收发器和/或询问器64,从而可以根据RF技术与电子设备共享和/或从电子设备获得数据。移动终端可以包括其它短程收发器、如比如红外线(IR)收发器66、使用BluetoothTM特别兴趣组开发的BluetoothTM品牌无线技术来操作的BluetoothTM(BT)收发器68、无线通用串行总线(USB)收发器70等。BluetoothTM收发器68可以能够根据超低功率BluetoothTM技术(例如WibreeTM)无线电标准操作。就此而言,移动终端10并且具体为短程收发器可以能够向在移动终端的邻域内(如比如在10米内)的电子设备发送数据和/或从这些电子设备接收数据。虽然未示出,但是移动终端可以能够根据各种无线联网技术传输和/或接收来自电子设备的数据,这些无线联网技术包括无线保真(Wi-Fi)、WLAN技术、比如IEEE802.11技术、IEEE802.15技术、IEEE802.16技术等。
移动终端10可以包括与处理器20通信的媒体捕获单元、比如相机、视频和/或音频模块。媒体捕获单元可以包括用于捕获图像、视频和/或音频用于存储、显示或者传输的任何装置。例如在其中媒体捕获单元包括相机模块36的一些示例实施例中,相机模块36可以包括被配置为从捕获的图像形成数字图像的数字相机。此外,相机模块36的数字相机可以被配置为捕获视频剪辑。这样,相机模块36可以包括为了从捕获的图像创建数字图像文件以及从捕获的视频剪辑创建数字视频文件而必需的所有硬件、比如透镜或者其它光学部件以及软件。备选地,相机模块36可以仅包括为了查看图像而需要的硬件,而移动终端10的存储器设备以为了从捕获的图像创建数字图像文件而必需的软件的形式存储用于由处理器20执行的指令。作为更多另一备选,可以在移动终端10的显示器28上显示在相机模块36的视野内的一个对象或者多个对象以图示如果用户希望则可以捕获的当前显示的图像的视图。这样,捕获的图像可以例如包括相机模块36捕获的并且在图像文件中存储的图像。作为另一示例,捕获的图像可以包括移动终端10的显示器或者取景器当前显示的、但是未必在图像文件中存储的一个对象或者多个对象。在一些示例实施例中,相机模块36还可以包括被配置为辅助处理器20处理图像数据的处理单元、比如协同处理器以及用于压缩和/或解压图像数据的编码器和/或解码器。编码器和/或解码器可以例如根据联合图象专家组(JPEG)标准、运动图象专家组(MPEG)标准或者其它格式编码和/或解码。
移动终端10可以包括可以存储与移动用户有关的信元的存储器、比如用户身份模块(SIM)38、可拆卸用户身份模块(R-UIM)等。除了SIM之外,移动终端还可以包括其它可拆卸和/或固定存储器。移动终端10可以包括易失性存储器40和/或非易失性存储器42。例如易失性存储器40可以包括随机存取存储器(RAM)、片上或者片外高速缓存存储器等,该RAM包括动态和/或静态RAM。可以是嵌入的和/或可拆卸的非易失性存储器42可以例如包括只读存储器、闪速存储器、磁存储设备(例如硬盘、软盘驱动、磁带等)、光盘驱动和/或介质、非易失性随机存取存储器(NVRAM)等。如同易失性存储器40,非易失性存储器42可以包括用于暂时存储数据的高速缓存区域。存储器可以存储移动终端可以用于执行移动终端的功能的一个或者多个软件程序、指令、一条或者多条信息、数据等。例如,存储器可以存储能够唯一标识移动终端10的标识符、比如国际移动设备标识(IMEI)代码。
回顾图1,在一些示例实施例中,文本检测装置102包括用于执行这里描述的各种功能的各种装置。这些装置可以包括处理器110、存储器112、通信接口114、用户接口116、图像捕获电路装置118或者检测电路装置120中的一项或者多项。如这里描述的文本检测装置102的装置可以例如被体现为电路装置、硬件单元(例如适当编程的处理器、组合逻辑电路等)、包括计算机可读介质(例如存储器112)的计算机程序产品或者其某种组合,该计算机可读介质存储可以由适当配置的处理设备(例如处理器110)执行的计算机可读程序指令(例如软件或者固件)。
在一些示例实施例中,图3中所示装置中的一个或者多个装置可以被体现为芯片或者芯片组。换而言之,文本检测装置102可以包括一个或者多个物理封装(例如芯片),该一个或者多个物理封装包括结构组件(例如基板)上的材料、部件和/或接线。结构组件可以提供用于在其上包括的部件电路装置的物理强度、尺寸节约和/或电互作用限制。就此而言,可以体现处理器110、存储器112、通信接口114、用户接口116、图像捕获电路装置118和检测电路装置120中的一项或者多项或者其某种组合为芯片或者芯片组。文本检测装置102因此可以在一些示例实施例中被配置为在单个芯片上或者作为单个“片上系统”实施本发明的实施例。作为另一示例,在一些示例实施例中,文本检测装置102可以包括被配置为在单个芯片上或者作为单个“片上系统”实施本发明的实施例的部件。这样,在一些情况下,芯片或者芯片组可以构成用于执行一个或者多个操作的装置,该一个或者多个操作用于提供这里描述的功能和/或实现用于关于这里描述的功能和/或服务的用户接口导航。
处理器110例如可以被体现为各种装置,这些装置包括具有附带数字信号处理器的一个或者多个微处理器、没有附带数字信号处理器的一个或者多个处理器、一个或者多个协同处理器、一个或者多个多核处理器、一个或者多个控制器、处理电路装置、一个或者多个计算机、包括集成电路、如比如ASIC(专用集成电路)或者FPGA(现场可编程门阵列)的各种其它处理单元或者其某种组合。因而虽然在图1中图示为单个处理器,但是在一些实施例中,处理器110包括多个处理器。多个处理器可以相互操作通信并且可以被共同地配置为执行如这里描述的文本检测装置102的一个或者多个功能。多个处理器可以被体现在单个计算设备上或者跨被共同地配置为作为文本检测装置102工作的多个计算设备分布。在其中文本检测装置102被体现为移动终端10的实施例中,处理器110可以被体现为或者包括处理器20。在一些示例实施例中,处理器110被配置为执行在存储器112中存储的或者处理器110另外可访问的指令。这些指令在由处理器110执行时可以使文本检测装置102执行如这里描述的文本检测装置102的功能中的一个或者多个功能。这样,无论通过硬件或者软件方法或者通过其组合来配置,处理器110可以包括能够当被相应地配置时根据本发明的实施例执行操作的实体。因此,例如在处理器110被体现为ASIC、FPGA等时,处理器110可以包括用于进行这里描述的一个或者多个操作而专门配置的硬件。备选地,作为另一示例,在处理器110被体现为比如可以在存储器112中存储的指令的执行器时,指令可以具体地配置处理器110以执行这里描述的一个或者多个算法和操作。
存储器112可以例如包括易失性存储器、非易失性存储器或者其某种组合。就此而言,存储器112可以包括非瞬态计算机可读存储介质。虽然在图1中图示为单个存储器,但是存储器112可以包括多个存储器。多个存储器可以被体现在单个计算设备上或者可以跨被共同地配置为作为文本检测装置102工作的多个计算设备分布。在各种示例实施例中,存储器112可以例如包括硬盘、随机存取存储器、高速缓存存储器、闪速存储器、紧致盘只读存储器(CD-ROM)、数字万用盘只读存储器(DVD-ROM)、光盘、被配置为存储信息的电路装置或者其某种组合。在其中文本检测装置102被体现为移动终端10的实施例中,存储器112可以包括易失性存储器40和/或非易失性存储器42。存储器112可以被配置为存储用于使文本检测装置102能够根据各种示例实施例执行各种功能的信息、数据、应用、指令等。例如在至少一些实施例中,存储器112被配置为缓冲用于由处理器110处理的输入数据。附加地或者备选地,在至少一些实施例中,存储器112可以被配置为存储用于由处理器110执行的程序指令。存储器112可以用静态和/或动态信息的形式存储信息。存储的信息可以例如包括用于脸部检测的模型、图像、视频、视频帧等。图像捕获电路装置118和/或检测电路装置120可以在执行它们的功能的过程期间存储和/或使用这一存储的信息。
通信接口114可以被体现为被配置为从另一计算设备接收和/或/向其发送数据的、在电路装置、硬件、包括计算机可读介质(例如存储器112)的计算机程序产品或者其组合中体现的任何设备或者装置,该计算机可读介质存储可以由适当配置的处理设备(例如处理器110)执行的计算机可读程序指令(例如软件或者固件)。例如,通信接口114可以通过网络接口接收代表图像或者视频的数据。就此而言,在其中文本检测装置102包括服务器、网络节点等的实施例中,通信接口114可以被配置为与远程图像源(例如图像源304)通信以接收图像,该图像可以由文本检测装置102处理以根据一个或者多个示例实施例检测图像内的文本。在一些示例实施例中,通信接口114可以被至少部分体现为处理器110或者另外由处理器110控制。就此而言,通信接口114可以比如经由总线与处理器110通信。通信接口114可以例如包括用于实现与一个或者多个远程计算设备通信的天线、发射器、接收器、收发器和/或支持硬件或者软件。通信接口114可以被配置为使用可以用于在计算设备之间通信的任何协议来接收和/或发送数据。就此而言,通信接口114可以被配置为使用任何可以用于通过无线网络、有线网络、其某种组合等(文本检测装置102和一个或者多个计算设备可以通过该网络通信)传输数据的协议来接收和/或发送数据。通信接口114可以附加地比如经由总线与存储器112、用户接口116、图像捕获电路装置118和/或检测电路装置120通信。
用户接口116可以与处理器110通信以接收用户输入的指示和/或向用户提供可听、可视、机械或者其它输出。这样,用户接口116可以例如包括键盘、鼠标、操纵杆、显示器、触摸屏显示器、麦克风、扬声器和/或其它输入/输出机制。在其中用户接口116包括触摸屏显示器的实施例中,用户接口116可以附加地被配置为检测和/或接收向触摸屏显示器的触摸手势或者其它输入的指示。在其中文本检测装置102被体现为一个或者多个服务器的实施例中,可以减少用户接口116的方面或者可以甚至消除用户接口116。用户接口116可以比如经由总线与存储器112、通信接口114、图像捕获电路装置118和/或检测电路装置120通信。
在一些示例实施例中,文本检测装置102可以包括图像捕获电路装置118。然而将认识导在一些示例实施例中可以排除图像捕获电路装置118。图像捕获电路装置118可以被体现为各种装置、比如电路装置、硬件、包括计算机可读介质(例如存储器112)的计算机程序产品或者其某种组合,该计算机可读介质存储存储可以由适当配置的处理设备(例如处理器110)执行的计算机可读程序指令(例如软件或者固件),并且在一个实施例中图像捕获电路装置118被体现为处理器110或者另外由处理器110控制。在其中图像捕获电路装置118与处理器110分离地体现的实施例中,图像捕获电路装置118可以与处理器110通信。图像捕获电路装置118还可以比如经由总线与存储器112、通信接口114、用户接口116或者检测电路装置120中的一项或者多项通信。
图像捕获电路装置118可以包括被配置为捕获图像和/或视频的硬件。就此而言,图像捕获电路装置118可以包括相机透镜和/或用于捕获数字图像的其它光学部件。作为另一示例,图像捕获电路装置118可以包括被配置为指引可以在文本检测装置102中体现的或者另外操作地连接到文本检测装置102的分离相机模块对图像的捕获。在其中体现文本检测装置102被体现为移动终端10的实施例中,图像捕获电路装置118可以包括相机模块36和/或可以被配置为控制相机模块36对图像的捕获。
检测电路装置120可以被体现为各种装置、比如电路装置、硬件、包括计算机可读介质(例如存储器112)的计算机程序产品或者其某种组合,该计算机可读介质存储可以由适当配置的处理设备(例如处理器110)执行的计算机可读程序指令(例如软件或者固件),并且在一个实施例中检测电路装置120被体现为处理器110或者另外由处理器110控制。在其中检测电路装置120与处理器110分离地体现的实施例中,检测电路装置120可以与处理器110通信。检测电路装置120还可以比如经由总线与存储器112、通信接口114、用户接口116或者图像捕获电路装置118中的一项或者多项通信。
图3图示根据一些示例实施例的用于执行文本检测的系统300。系统300包括被配置为通过网络306通信的文本检测装置302和图像源304。文本检测装置302可以例如包括文本检测装置102的实施例,其中文本检测装置102可以被配置为接收图像和/或通过网络306从图像源304访问图像以便检测图像内的文本。网络306可以包括有线网络、无线网络(例如蜂窝网络、无线局域网、无线广域网、其某种组合等)或者其组合并且在一些示例实施例中可以包括因特网。
图像源304可以包括被配置为接入网络306并且与文本检测装置302通信以便向文本检测装置302提供图像的任何计算设备。就此而言,图像源304可以包括可以被配置为捕获和/或存储图像的任何装置。举例而言,图像源304可以例如被体现为桌面型计算机、膝上型计算机、移动终端、移动计算机、移动电话、移动通信设备、平板计算设备、移动终端10、游戏设备、数字相机/可携式摄像机、音频/视频播放器、电视设备、相机设备、数字录像机、网络附着存储设备、其任何组合等。
这样,在图3中所示的示例系统中,文本检测装置302可以被配置为从图像源304访问和/或接收图像(例如静止图像、视频剪辑、视频帧等)。文本检测装置302(例如检测电路装置120)可以被配置为根据以下关于文本检测装置102描述的实施例中的任何实施例执行文本检测操作以检测接收的图像内的文本。在一些示例实施例中,文本检测装置302(例如检测电路装置120和/或通信接口114)还可以被配置为向图像源304发送由文本检测装置302执行的文本检测的结果。
在一些示例实施例中,图像源304可以包括用户终端,该用户终端可以被配置为访问可以由文本检测装置302提供的文本检测功能。就此而言,可以根据一些示例实施例执行的至少一些图像处理操作可以包括可以由服务器执行的基于云的操作。因此例如在一些示例实施例中,可以根据一些示例实施例向终端用户提供文本检测服务而实际的文本检测操作无需在终端用户的设备上执行。
作为又一示例,在系统300的一些示例实施例中,检测电路装置120的方面可以被分配在图像源304与文本检测装置302之间。就此而言,可以在文本检测装置302与图像源304之间划分和/或另外分布用于根据一个或者多个示例实施例执行在图像内的文本检测的任务。
因而将认识到在描述文本检测装置102检测图像内的文本、对图像的区域是否为包含文本的区域进行分类等时,图像可以例如包括由文本检测装置102捕获的图像(例如由图像捕获电路装置118捕获的图像)、对文本检测装置102可访问的本地存储的图像(例如在存储器112中存储的图像)、可以通过网络从远程图像源(例如从图像源304)接收和/或访问的图像等。
在一些示例实施例中,文本检测装置102可以被配置为根据模型检测图像(例如静止图像、视频、视频帧等)内的文本,该模型捕获可以独立于字体、样式、视点、背景对比度和/或可以对图像内的文本的感知有影响的其它因素的文本性质。就此而言,一些示例实施例可以至少部分地基于可以根据一般文本性质预测的模型提供文本检测,这些一般文本性质可以基本上不在可变字体、文本样式、文本与图像背景之间的对比度或者在图像中捕获文本时的视点之间变化。这些性质可以例如包括:
·笔画宽度一般跨文本相当恒定。
·字符高度一般跨文本相当恒定。
·字符间距一般相当恒定。
·可读性规定对于给定的文本高度,对应的笔画宽度和字符间距可以与高度成比例,从而笔画宽度和字符间距不能太大或者太小。
·假设存在文本下面的某个类型的背景,那么在图像内包围文本的定界区域(例如框)可以在强度上为双模态(bimodal)。
现在参照图4,图4图示根据一些示例实施例的用于单词生成的示例贝叶斯网络,该贝叶斯网络可以用来描述对捕获的图像内的文本的影响变量和效果。如图4中所示,变量402-418中的一个或者多个变量的任何组合可以影响文本几何结构320。更具体而言,影响文本几何结构320的变量可以包括用于文本的字母表402(例如拉丁字母表、中文本母表、西里尔字母表等)、文本的样式404(例如粗体、斜体等)、用于文本的字体406、文本框或者涵盖文本的其它区域的高度408(例如文本的字符的高度)、包括文本的字符的笔画的长度410、文本字符的缩放的笔画宽度412、在文本的字符之间的间距414、用于字符的字符宽度416和在文本片段中的字符数目418。
文本几何结构420可以与文本外观因素(比如背景颜色422和文本颜色424)一起又影响三维(3D)文本片段426(如它可以在现实中存在的那样)的性质。可以在3D文本片段426的图像中捕获的二维(2D)文本片段434的生成又可以受3D文本片段426的现实外观和如下变量(比如变量428-432)影响,这些变量可以影响用来捕获图像的成像过程。更具体而言,可以影响成像过程的变量可以包括从其捕获图像的视点428、相机测光性(photometry)性质430、捕获的图像的场景的照度432等。
给定以上描述的贝叶斯网络,可以根据一些示例实施例定义若干随机变量,这些随机变量可以描述固有的文本几何性质。这些变量可以包括:
·H=字符的高度(例如图4中的节点408)
·L=λH=字符的一维(1D)长度,可以定义为字符的骨架的总弯曲长度(例如图4中的节点410)
·B=βH=字符的宽度(例如图4中的节点416)
·S=ψH=字符的笔画宽度(例如图4中的节点412)
·D=δH=相邻字符之间的间距(例如图4中的节点414)
·m=在单词或者其它文本片段中的字符数目(例如图4中的节点418)
在先前定义中的数量λ、β、ψ和δ可以被定义为表示相应文本性质的随机变量。就此而言,λ可以表示相对于文本高度的字符长度。β可以表示相对于文本高度的字符长度。ψ可以表示相对于文本高度的字符宽度。δ可以表示相对于文本高度的字符间间距。给定字母表(例如英文、中文等)、样式(即粗体、斜体、常规)和字体(例如Arial,Courier等)的选择,该选择可以映射到用于λ、β、ψ和δ的概率分布。因而在给定字符数目m的情况下,可以从四个概率分布抽取m个实例以创建用于单词的字符集合。因而一些示例实施例可以使用这些文本几何性质以用可以对影响文本外观的变量(比如背景颜色422和文本颜色424)以及影响成像过程的变量(比如视点428、相机测光性430和照度432)而言稳健的方式提供文本检测。
就此而言,根据一些示例实施例,可以使用阿尔法值(α)对图像内的文本片段进行建模,该阿尔法值可以被定义为是弯曲字符长度分布(λ)、字符宽度分布(β)和字符间间距分布(δ)的函数的随机变量,这些分布如在图4的上下文中讨论的那样可以在给定具体字母表、字体和样式的情况下是文本的固有性质。可以示范阿尔法值的推导如下。
给定在图像内的单词或者其它文本片段,文本框的字符在包含文本片段的图像区域(例如文本框)内占用的面积可以被定义如下:
AT≈mLS
≈mλψH2 [1]
被包含文本片段的总图像区域(例如文本框)占用的面积可以被定义如下:
AB=HW
≈mH(B+D)
≈mH2(β+δ) [2]
被包含文本片段的图像区域占用的面积与被文本片段占用的面积之比可以称为占用比(ω)。占用比可以被定义如下:
检测电路装置120可以被配置为从文本片段平凡地(trivally)计算占用比。例如,检测电路装置120可以被配置为对被文本片段的像素占用的面积和被包含文本片段的图像区域(例如文本框)内的像素占用的面积进行计数。因而可以在不直接计算数量λ、β、ψ和δ的情况下计算占用比。
给定占用比和笔画宽度ψ,阿尔法值可以相应地被定义为:
因而如示范的那样,阿尔法值可以被定义为弯曲字符长度分布(λ)、字符宽度分布(β)和字符间间距分布(δ)的函数,这些分布在给定具体字母表、字体和样式的情况下是文本的固有性质。阿尔法值不随可以展现更显著变化的笔画宽度变化。根据一些示例实施例,期望在给定的字母表内跨不同字体和样式,可读性约束限制α的散布。因而如以下将进一步描述的那样,阿尔法值可以在一些示例实施例中由检测电路装置120用来有助于在图像内的文本检测。
然而将注意如等式[4]示范的那样,可以减少计算复杂性,从而检测电路装置120可以基于占用率和笔画宽度计算阿尔法值而无须计算(λ)、字符宽度分布(β)和字符间间距分布(δ)。就此而言,占用比可以如先前指出的那样由检测电路装置平凡地计算。检测电路装置120可以被配置为以多种方式中的任何方式计算用于给定的文本片段或者假设的文本片段的笔画宽度ψ以便计算阿尔法值。例如,用于给定的文本片段的笔画宽度可以至少部分地基于可以跨文本片段应用的一个或者多个扫描线来确定。在一些实施例中,笔画宽度可以通过将欧几里得距离变换应用于图像区域的二值图像以将每个前景像素(例如假设的文本像素)用与它的最近背景像素的距离标注来计算。距离值可以沿着笔画的中心线达到最大。这样,最大值可以对应于笔画的宽度的一半。因而可以至少部分地基于这一最大值确定笔画宽度。例如在一些示例实施例中,笔画宽度信息可以沿着“下坡”方向从最大值像素向假设的文本的边界传播以有助于确定笔画宽度。检测电路装置120因而可以在一些示例实施例中被配置为通过比如在等式[4]中那样将用于文本片段的占用率除以用于文本片段的笔画宽度来计算阿尔法值。
现在描述如何可以应用文本几何属性以确定可以用来对文本进行建模的阿尔法值,现在将描述根据一些示例实施例的对阿尔法值有助于检测图像内的文本的应用。在一些示例实施例中,检测电路装置120可以被配置为确定包含假设的文本片段的图像区域。图像区域可以例如包括文本框。然而将认识到在图像内的、包含假设的文本片段的任何几何区域可以根据一些示例实施例确定。
在一些示例实施例中,检测电路装置120可以被配置为通过接收由分离文本假设生成器标识的图像区域来确定图像区域,该分离文本假设生成器被配置为实施可以检测在图像内的可能文本字符及其位置的文本假设生成器。就此而言,文本假设生成器可以被配置为向检测电路装置120提供包含假设的文本片段的标识的图像区域用于对在图像区域内的假设的文本片段是否为文本进行分类。分离文本假设生成器可以例如被实施在文本检测装置102上并且可以由处理器110实施。备选地,文本假设生成器可以被实施在可以与文本检测装置102远离的分离实体(比如图像源304)上。
附加地或者备选地,在一些示例实施例中,检测电路装置120可以被配置为分析图像并且标识在图像内的被假设包含文本片段的图像区域。就此而言,在一些示例实施例中,检测电路装置120可以被配置为实施文本假设生成器,该文本假设生成器可以标识在图像内的假设的文本字符及其位置用于对假设的文本是否实际上为文本进行分类。在标识图像区域时,检测电路装置120可以例如被配置为将基于区域的文本检测技术应用于图像,比如通过在图像内应用滑动窗并且标识在窗内的图像区域是否包含假设的文本片段等。附加地或者备选地,检测电路装置120可以被配置为通过利用基于连通分量(connectedcomponent)的文本检测技术来标识包含假设的文本片段的图像区域。
在一些示例实施例中,检测电路装置120可以被配置为二值化包含假设的文本片段的图像区域以得出二值图像。检测电路装置120可以使用任何用于二值化图像的技术来二值化图像区域。在一些示例实施例中,检测电路装置120可以被配置为使用Otsu方法。然而将认识到根据各种示例实施例,除了Otsu方法之外或者取代Otsu方法方法还可以使用其它技术。
检测电路装置120还可以被配置为至少部分地基于二值图像确定包含假设的文本片段的图像区域是否使用两个并且仅两个概率分布可描述。就此而言,检测电路装置120可以例如验证包含假设的文本的图像区域从二值信号产生。检测可以被配置为通过分离地计算假设的文本字符的方差和背景的方差并且比对用于图像区域的估计传感器噪声改写(text)方差来验证在图像区域框内的图像内容从二值信号产生。检测电路装置120可以被配置为使用任何可用技术来计算来自图像区域的传感器噪声。例如检测电路装置120可以将图像分段成若干连贯区域并且获得来自每个区域的传感器噪声估计而且将噪声融合在一起。在假设的字符与背景之间的接合处的区域可以具有两个信号的混合并且可能对于方差计算不可靠。因而在一些示例实施例中,为了计算字符方差,检测电路装置120可以被配置为在计算假设的文本字符的方差之前在形态上减小(erode)它们。另外,为了计算背景方差,检测电路装置120可以被配置为在计算背景方差之前在形态上膨胀字符并且从图像区域(例如文本框)减去它们。
在其中确定包含假设的文本的图像区域使用仅两个概率分布不可描述的实例中,检测电路装置120可以被配置为将图像区域分类为非包含文本的区域。就此而言,检测电路装置120可以将假设的文本视为在图像内捕获的非文本对象并且可以放弃执行图像区域的进一步文本检测分析。
然而如果确定包含假设的文本的图像区域使用仅两个概率分布可描述,则检测电路装置120可以使用图像区域的二值化图像以计算可以用来对图像区域是否为包含文本的区域(例如假设的文本是否实际上为文本)进行分类的值。就此而言,检测电路装置120可以跨在二值图像内的假设的文本片段应用至少一个扫描线。就此而言,假设的字符可以与可以按照与假设的文本基本上相同的定向而定向的一个或者多个扫描线相交。例如,图5图示根据一些示例实施例跨假设的文本片段的对扫描线的应用。就此而言,图5图示包含假设的文本片段(“TEXT”)的图像区域502。如图所示,图像区域502已经被二值化,从而背景被图示为黑色而假设的文本片段被图示为白色。已经跨假设的文本片段应用扫描线504。
检测电路装置120可以被配置为至少部分地基于应用的至少一个扫描线确定假设的文本片段的至少一个性质。检测电路装置120可以被配置为使用确定的至少一个性质来确定可以用来对假设的文本片段是否实际上为文本进行分类的一个或者多个值。
举例而言,在一些示例实施例中,检测电路装置120可以被配置为使用应用的至少一个扫描线来计算用于假设的文本片段的笔画宽度ψ。检测电路装置120可以使用计算出的笔画宽度来根据等式[4]确定用于假设的文本片段的阿尔法值。就此而言,检测电路装置120可以计算占用比,该占用比定义图像区域的被假设的文本片段占用的面积与确定的区域的总面积之比,并且可以将占用比除以计算出的笔画宽度以确定阿尔法值。
在一些示例实施例中,文本检测装置102可以被配置为在不计算笔画宽度的情况下计算阿尔法值。就此而言,如已经注意的那样,阿尔法值可以被描述为弯曲字符长度分布λ的函数。字符的弯曲长度可以通过骨架化它并且对在骨架中的像素数目进行计数来计算。然而,骨架化尤其对于复杂形状通常不产生直观期望的骨架。然而可以观察到字符笔画是通过沿着字符的骨架移动具有给定的粗度(例如笔画宽度)的‘笔’来生成的。假定骨架宽度几乎恒定,则弯曲长度(λH)是字符的周长的一半(假设笔画宽度相对于周长为小)。可以相应地通过使用间距为d的基本平行的扫描线的随机化汇集与假设的文本字符相交以获得多个交点N来执行周长计算。在假设的文本片段内的所有字符的弯曲长度可以相应地被定义为:
按照等式[5],阿尔法值可以被表达为:
因而在一些示例实施例中,检测电路装置120可以被配置为计算与假设的文本字符相交的某个随机数目的基本平行扫描线的交点数目N。相交线可以以它们的线间间距d为特征。检测电路装置120还可以被配置为计算包含假设的文本片段的图像区域的总周长。尽管可以使用任何数目的这样的线,但是在一些示例实施例中,可以使用具有足以基本上填充(例如覆盖)图像区域的线间间距d的线数目。例如在一些示例实施例中,10个或者更多线可以用来与假设的文本片段相交。检测电路装置120可以相应地使用计算出的交点数目和图像区域的计算出的总面积以根据等式[6]计算阿尔法值。
作为又一示例,在一些示例实施例中,检测电路装置120可以被配置为使用对图像区域的二值图像应用的至少一个扫描线以确定用于假设的文本片段的间隔长度分布。例如再次参照图5,间隔长度分布506举例说明可以使用扫描线504针对假设的文本片段确定的示例间隔长度分布。检测电路装置120可以被配置为至少部分地基于针对假设的文本片段确定的间隔长度分布计算伽马值(γ)。例如在一些示例实施例中,检测电路装置120可以被配置为确定被文本宽度(H)除得的间隔长度的分布的均值,这可以表示为“μ”并且推导如下:
μ=(间隔长度/文本高度)分布的均值。 [7]
检测电路装置还可以被配置为计算被文本宽度(H)除得的间隔长度的分布的标准偏差,这可以表示为“σ”并且推导如下:
σ=(间隔长度/文本高度)分布的标准偏差。 [8]
检测电路装置120还可以被配置为使用计算出的μ和σ来如下计算伽马值:
γ=σ/μ [9]
就此而言,伽马值可以包括间隔长度分布的均值与间隔长度分布的标准偏差之比,这可以捕获间隔长度的信噪比。
检测电路装置120还可以被配置为使用计算出的阿尔法值和伽马值来对图像区域是否为包含文本的区域(例如,假设的文本是否实际上为文本)进行分类。就此而言,可以使用阿尔法值和伽马值作为可以用来区别文本与非文本的文本模型。如图6中所示,阿尔法值和伽马值对于训练数据文本集展现相对于非文本的用于文本的基本紧凑分布,该训练数据文本集包括跨越广泛不同字体、样式、间距和大小的样本。就此而言,散点图602和直方图604举例说明对于在训练数据集中的文本样本的计算出的阿尔法值基本上聚集于约α=0.5处,而针对训练数据集的非文本样本而计算的阿尔法值广泛地分散并且不频繁地接近0.5。相似地,散点图606和直方图608举例说明针对在训练数据集中的文本样本的计算的阿尔法值基本上聚集约于γ=0.5处,而针对训练数据集的非文本样本而计算的阿尔法值广泛地分散并且不频繁地接近0.5。
给出这些针对包含广泛文本的训练数据集的结果,针对假设的文本片段计算的阿尔法值和伽马值可以用来对包含假设的文本片段的图像区域是否实际上为包含文本的区域进行分类。例如,检测电路装置120可以被配置为确定针对假设的文本片段计算的阿尔法值和伽马值是否满足所定义的、与期望的阿尔法值和伽马值的阈值关系。阈值关系可以例如限定容差范围,该容差范围可以限定从小于期望值的某个阈值到大于期望值的阈值的值范围。就此而言,如果计算出的阿尔法值和伽马值落在用于期望的阿尔法值和伽马值的容差范围内,则可以将包含假设的文本片段的图像区域分类为包含文本的区域。备选地,如果计算出的阿尔法值和/或计算的伽马值未落入容差范围内,则可以将包含假设的文本片段的图像区域分类为非包含文本的区域。因而可以根据多少误报视为可容许来调整容差范围。例如,如果容许较大数目的误报(例如误报百分比),则可以使用较大的容差范围。然而如果容许较少的误报(例如误报百分比),则可以使用较小的容差范围。
在一些示例实施例中,可以从训练数据集推导高斯分布函数(例如二维高斯分布函数)以代表用于文本的期望的阿尔法值和伽马值。检测电路装置120可以被配置为对针对假设的文本片段而计算的阿尔法值和伽马值应用高斯分布函数。如果对计算出的阿尔法值和伽马值集合拟合高斯分布函数,则可以将包含假设的文本片段的图像区域分类为包含文本的区域。然而如果计算出的阿尔法和/或计算出的伽马值是可能不与高斯分布函数拟合的偏远值,则可以将包含假设的文本片段的图像区域分类为非包含文本的区域。
图7图示用于在训练数据集内的文本和非文本样本的α和γ的示例散点图。每个数量由正态分布合理良好地描述,这一散点图暗示在它们的均值周围的椭圆围绕文本片段的对应部分。因而可以选择可接受检测率(例如0.9),该检测率将定义用于该检测率的可接受α和γ值范围。因而在一些示例实施例中,这一性质可以用来设置用于误报的容差率,该容差率可以用来限定阿尔法值和伽马值的容差范围、计算出的阿尔法值和伽马值可以被拟合到的分布函数的散布和/或可以用来限定用于肯定地分类为文本的假设的文本片段的阿尔法值和伽马值范围的其它特性。如果将检测率设置成较低值,则可以检测较少误报,但是代价为将一些包含文本的区域分类为非包含文本的区域。然而如果将检测率设置成较高值,则实际文本区域的较大百分比将被分类为包含文本的区域,但是代价为较多误报结果。
图8图示根据一些示例实施例的样本分类结果。就此而言,可以初始地将图像区域802、804、806和808标识为包含假设的文本片段的图像区域。可以根据示例实施例针对图像区域802-808计算阿尔法值和伽马值并且使用这些阿尔法值和伽马值对图像区域进行分类。在图8中所示的示例图像中,可以将图像区域802、804和806分类为包含文本的区域,而可以将图像区域808分类为非包含文本的区域。
因而在一些示例实施例中,可以使用针对训练数据集计算的阿尔法值和伽马值作为用于对在图像内的假设的文本片段进行分类的模型。尽管如图6-7中所示已经关于从包含广泛多种不同字体、样式、间距和大小的训练数据集生成的一般文本模型描述以上示例中的若干示例,但是在一些示例实施例中,可以针对具体目标字体、目标字体样式、其某种组合等开发更多定制的模型。就此而言,可以使用更狭义定制的数据集来开发阿尔法值和伽马值模型。这些更多定制的模型可以用来检测在图像内的具体目标字体类型、样式、文本、大小等。然而如将从以上描述的示例认识到的那样,若干示例实施例可以利用一般文本模型以如关于图4图示和描述的那样基于可以对于不同字体类型、样式和文本大小基本上不变的一般文本性质来检测文本。
在一些示例实施例中,检测电路装置120可以被配置为执行在3D图像内的文本检测。3D图像可以例如包括2D图像和对应的深度图像。检测电路装置120可以被配置为使用深度图像以操纵在图像内的图像区域的视点从而有助于对在图像区域内的假设的文本片段进行分类。
图9图示根据一些示例实施例的有助于检测图像内的文本的示例方法的流程图。就此而言,图9图示可以在通信装置102执行的操作。在图9中图示并且关于图9描述的操作可以例如由处理器110、存储器112、通信接口114、用户接口116、图像捕获电路装置118或者检测电路装置120中的一项或者多项执行、在该一项或者多项的辅助下执行和/或在该一项或者多项的控制之下执行。操作900可以包括计算与包含假设的文本片段的图像区域关联的阿尔法值。处理器110、存储器112和/或检测电路装置120可以例如提供用于执行操作900的装置。操作910可以包括至少部分地基于用于假设的文本片段的间隔长度分布计算伽马值。处理器110、存储器112和/或检测电路装置120可以例如提供用于执行操作910的装置。操作920可以包括至少部分地基于计算出的阿尔法值和伽马值对图像区域是否为包含文本的区域进行分类。处理器110、存储器112和/或检测电路装置120可以例如提供用于执行操作920的装置。
图10图示根据一些示例实施例的有助于检测图像内的文本的另一示例方法的流程图。就此而言,图10图示可以在通信装置102执行的操作。在图10中图示并且关于图10描述的操作可以例如由处理器110、存储器112、通信接口114、用户接口电116、图像捕获电路装置118或者检测电路装置120中的一项或者多项执行、在该一项或者多项的辅助下执行和/或在该一项或者多项的控制之下执行。操作1000可以包括二值化包含假设的文本片段的图像区域。处理器110、存储器112和/或检测电路装置120可以例如提供用于执行操作1000的装置。操作1010可以包括验证图像区域是否通过两个并且仅两个概率分布可描述。处理器110、存储器112和/或检测电路装置120可以例如提供用于执行操作1010的装置。操作1020可以包括将一个或者多个扫描线应用于假设的文本片段。处理器110、存储器112和/或检测电路装置120可以例如提供用于执行操作1020的装置。操作1030可以包括使用扫描线作为基础来计算假设的文本片段的性质从而使得能够计算阿尔法值和伽马值。处理器110、存储器112和/或检测电路装置120可以例如提供用于执行操作1030的装置。操作1040可以包括至少部分地基于以扫描线为基础计算的性质来计算用于假设的文本片段的阿尔法值和伽马值。处理器110、存储器112和/或检测电路装置120可以例如提供用于执行操作1040的装置。操作1050可以包括至少部分地基于计算出的阿尔法值和伽马值对图像区域是否为包含文本的区域进行分类。处理器110、存储器112和/或检测电路装置120可以例如提供用于执行操作1050的装置。
图9-10是根据本发明的示例实施例的系统、方法和计算机程序产品的流程图。将理解流程图的每个块和在流程图中的块组合可以由各种装置、比如硬件和/或包括一个或者多个计算机可读介质的计算机程序产品实施,该一个或者多个计算机可读介质具有在其上存储的计算机可读程序指令。例如,这里描述的过程中的一个或者多个过程可以由计算机程序产品的计算机程序指令体现。就此而言,体现这里描述的过程的计算机程序产品可以由移动终端、服务器或者其它计算设备的一个或者多个存储器设备(例如在存储器112中)存储并且由计算设备中的处理器(例如由处理器110)执行。在一些实施例中,包括计算机程序产品的计算机程序指令可以由多个计算设备的存储器设备存储,该计算机程序产品体现以上描述的过程。如将认识的那样,任何这样的计算机程序产品可以被加载到计算机或者其它可编程装置(例如文本检测装置102)上以产生机器,从而包括在计算机或者其它可编程装置上执行的指令的计算机程序产品创建用于实施在流程图的一个或者多个块中指定的功能的装置。另外,计算机程序产品可以包括计算机程序指令可以存储于其上的一个或者多个计算机可读存储器,从而一个或者多个计算机可读存储器可以指引计算机或者其它可编程装置以特定方式工作,使得计算机程序产品包括实施在流程图的一个或者多个块中指定的功能的制品。一个或者多个计算机程序产品的计算机程序指令也可以被加载到计算机或者其它可编程装置上以使系列操作在计算机或者其它可编程装置上被执行以产生计算机实施的过程,从而在计算机或者其它可编程装置上执行的指令实施在流程图的一个或者多个块中指定的功能。
因而,流程图的块支持用于执行指定的功能的装置的组合。也将理解流程图的一个或者多个块和在流程图中的块组合可以由执行指定功能的基于专用硬件的计算机系统实施或者由专用硬件与计算机程序产品的组合实施。
可以用许多方式实现以上描述的功能。例如可以运用任何用于实现以上描述的功能中的每个功能的适当装置以实现各种实施例。在一些实施例中,适当配置的处理器(例如处理器110)可以提供元件中的所有或者部分元件。在其它实施例中,元件中的所有或者部分元件可以由计算机程序产品配置并且在计算机程序产品的控制之下操作。用于执行本发明的实施例的方法的计算机程序产品包括计算机可读存储介质(例如存储器112)、比如非易失性存储介质和在计算机可读存储介质中体现的计算机可读程序代码部分、比如计算机指令序列。
从在前文描述和关联附图中呈现的教导中受益的、在这里阐述的发明涉及的领域中的技术人员将想到这些发明的许多修改和其它实施例。因此,将理解本发明的实施例将不限于公开的具体实施例并且修改和其它实施例旨在于被包含在本发明的范围内。另外,虽然前文描述和关联附图在某些示例元件和/或功能组合的背景中描述示例实施例,但是应当认识导备选实施例可以提供不同元件和/或功能组合而不脱离本发明的范围。就此而言,例如也可以在本发明的范围内设想除了以上明确描述的元件和/或功能组合之外的不同元件和/或功能组合。虽然这里运用具体术语,但是它们仅在通用和描述的意义上加以使用而并非用于限制的目的。