附图包含在
说明书中,构成说明书的一部分,表示本发明的实施方式,并与说明书的记述一起,说明本发明的原理。
图1是表示本发明的第1
实施例的检索装置的结构的
框图。
图2是说明第1实施例的检索装置中的检索处理的
流程图。
图3是表示用于在第1实施例的检索装置中,指定检索对象的图像的窗口显示例的图。
图4是表示在图2的步骤S102中,显示在显示单元的窗口例的图。
图5是表示在图2的步骤S104中,显示在显示单元的用户接口画面例的图。
图6是表示本发明的第2实施例的图像显示装置的结构例的框图。
图7是表示存储由第2实施例的脸区域检测单元检测出的脸区域的文件结构的一例的图。
图8是表示第2实施例的用户接口的例子的图。
图9是说明通过第2实施例的图像显示装置的操作单元,指示“后退”按钮时的显示图像控制单元的动作的流程图。
图10是说明通过第2实施例的图像显示装置的操作单元,指示“前进”按钮时的显示图像控制单元的动作的流程图。
图11是说明从本发明的实施例的图像数据检测脸区域,并登录于
存储器的处理的流程图。
最佳实施方式下面,参照附图详细说明本发明的优选实施例。
<第1实施例>
图1是表示本发明的第1实施例的检索装置的结构的框图。另外,在本实施例中,在以一般的个人计算机(PC)100等实现的情况下,说明该检索装置。
在图1中,101是CPU,是控制该检索装置整体的动作的运算处理装置(CPU)。102是存储器,具有存储BIOS或启动程序等的ROM,以及CPU101执行控制处理时作为工作区使用,暂时保存各种数据或用于装载由CPU101执行的程序的程序区(RAM)。103是电桥
电路,连接主总线111和外围总线112。104是CRT显示器或
液晶面板等显示单元(显示器)。105是连接在外围总线112上的
硬盘(HD)等
大容量存储装置,记录着由CPU101执行的程序和图像数据等数字数据。另外,该硬盘101中,作为CPU101可读取的程序代码,预先安装着后述的检索程序,成为按照来自操作单元106的指示,将该程序代码载入存储器102中,并由CPU101执行的结构。操作单元106具有
键盘、
鼠标等点击设备。108是用于读入可拆卸的存储介质(
软盘、CD、DVD或存储卡等)的驱动单元。109是CD-ROM或DVD-ROM等外部存储介质。
另外,在第1实施例中,在硬盘105中记录着程序的情况下进行说明,但该程序保存在CD-ROM等外部存储介质109中,也可以是通过存储介质驱动单元108使CPU101执行的方式。另外,同样地,也可以通过网络接口(I/F)107将该程序下载到存储器102,并执行。
在第1实施例中,通过以下动作向用户提供服务:在该PC100上OS(
操作系统)预先进行动作,该OS程序存储在HDD105中,在接入系统电源后,装载到主存储器102中,由CPU101依次执行,并控制电桥电路103、显示单元104、HDD105、操作单元106、网络接口107。该实施例的脸检索程序在该PC100的OS上工作。
接着说明第1实施例的检索装置中的检索处理。
图2是说明第1实施例的检索装置中的基准脸数据的登录和检索处理的流程图,执行该处理的程序预先存储在HDD105中,当根据来自操作单元106的指示起动时,载入存储器102并由CPU101执行。
当该处理开始时,首先在步骤S101中,将用户接口(UI)画面显示在显示单元104,由用户指定表示检索对象的范围。
图3是表示此时显示在显示单元104中的窗口例的图。
在图3中,显示着PC101的OS所管理的文件系统,在画面的左侧300,树状显示文件系统所管理的文件结构;在右侧301,显示当前所选择的当前目录(这里,是D盘目录“My Picture”中的目录“2003-3-3”)中的图像文件的
缩略图像一览。在步骤S101中,用户使用操作单元106,从在该图3显示的文件结构信息中指定检索对象范围。作为该检索对象范围的指定方法,可以分别指定多个文件,也可以指定为多个目录单位。图3表示目录“2003-3-3”被选择的状态。
接着进入步骤S102,在显示单元104显示用于指定图像的检索条件的画面,由用户输入其检索条件。
图4是表示在该步骤S102中,显示在显示单元104的窗口例的图。
这里,向用户提供下面2个检索条件。
(1)检索人脸(用复选框400指示)(2)检索与特定的人相似的脸(用复选框401指示)用户从这2个选择项中选择所期望的检索条件。下面,依次说明用户选择“检索人脸”时的操作和选择“检索与特定的人相似的脸”时的动作。
首先,说明用户选择“检索人脸”(选择复选框400),并将此人的脸作为基准图像数据登录的情况。
在步骤S102,对复选按钮(check button)400进行选择,当“是”按钮402被指示时,进入步骤S103,基于在步骤102设定的检索条件执行检索。这里所执行的脸的检索处理是利用Laurenz Wiskott等人提出的使用了脸图形和子波(wavelet)变换的方法。(Laurenz Wiskott,Jean-Marc Fellous,Norbert Kruger,and Christoph von der Malsburg,“Face Recognition by Elastic Bunch Graph Matching”IEEE Trans.OnPattern Analysis and Machine Intelligence,Vol.19,no.7,pp.775-779,1997)据此,对作为检索对象的脸数据,使用子波变换方法进行脸区域的大致轮廓检测。即,将由少数
节点(node)组成的脸图形应用于图像,对各节点进行子波变换,检测出被判断为表示作为脸的特征的图形、即脸区域。通过对作为检索对象的多个图像反复进行该操作,能够检索包含脸的图像和该脸的
位置。
接着在步骤S104,选择是重新检索、还是将检索结果的脸数据作为基准脸数据登录,还是结束检索。
图5是表示在步骤S104中,显示在显示单元104的用户接口画面例的图。
在图5中,和表示检索结果的图像显示栏500一起,配置有“登录”按钮501、指示重新检索的“是”按钮502、以及不指示重新检索即指示检索结束的“否”按钮503。当用户希望再次检索而点击“是”按钮502时,处理返回到步骤S102,如上述那样重新设定检索条件。并且,在指示“检索人脸”时,在图像显示栏500中只显示包括脸的图像,在指示后述的“相似的人脸”时,只显示包含与该被指定的脸(基准脸)相似的人的图像。
另外,在用户结束检索的情况下,当点击“否”按钮503时,终止该检索处理。
另外用
光标框504选择表示检索结果的图像显示栏500中的某图像,在将该选择出的脸数据作为基准脸数据登录的时,点击“登录”按钮501。由此,在图5的例子中,作为基准脸数据,登录用光标框504选择的图像505的图像数据。这样登录的基准脸数据和其名称一起被保存到HDD105中。
此时,当点击图5的“登录”按钮501时,由步骤S104进入步骤S105,由用户想作为基准脸登录的脸图像数据(用光标框504指定),生成表征该脸的脸数据,将该脸数据作为基准脸数据登录。实际上,在基于在步骤S103大致检测出的脸区域,校正了脸的倾斜、大小等之后,再次使用子波变换,生成由包含脸的各个部分(parts)的位置的多个节点构成的脸图形。在此所生成的脸图形成为表征原来的脸的脸数据本身。并且,在登录时,当点击“登录”按钮501后,将输入特别指定该脸的图像数据的名称、例如该脸的个人姓名和ID等的画面,显示在显示单元104上,用户使用操作单元106输入该个人姓名和ID等,由此可以特别指定该图像数据地进行登录。
这样在步骤S105,结束基准脸数据的登录后进入步骤S104,显示图4所示的画面,促使选择是进行将检索结果的其它图像的脸数据作为基准脸数据登录的处理,还是使用所登录的脸数据进行“检索相似脸”,还是结束检索。以上是在步骤S102,为了登录基准脸数据,用户选择了“检索人脸”时的说明。
接下来,说明用户在图4的用户接口画面选择了“检索相似脸”时的处理。这里重要的是不改变对用户的用户接口的处理流程,就能执行“检索相似脸”。另外,在就这样结束处理时,可以点击“结束”按钮404。
在这里,当选择了“检索相似脸”(选择复选按钮401)时,如图4的403所示那样,显示作为基准脸数据登录的人物的名称的一览。在这里例如,当选择该栏403的开头的“铃木一郎”,指示开始检索的“是”按钮402被指示时,开始包含与该“铃木一郎”相似的脸的人物的图像检索。并且,此时,当指定栏403的人物名时,为了能够确认该被指定的人脸,设置用于显示该脸的显示区域,该区域也可以显示此人所登录的脸数据。
并且在步骤S103,执行实际的检索,在这里,程序通过以下的动作检索脸。首先,和上述的“检索人脸”的情况一样,对作为对象的脸数据,使用子波变换的方法进行脸区域的大致轮廓检测。即,将由少数节点组成的脸图形嵌于图像,对节点分别进行子波变换,检测判断为表示作为脸的特征的图形,即脸区域。接着,对这样检测出的脸区域,在校正了脸的倾斜、大小等之后,再次使用子波变换,生成由包含脸部的各个位置的多数节点构成的脸图形。在此生成的脸图形成为表征检索对象的脸的脸数据。并且比较所登录的基准脸的脸图形的特征量和值,若其差小于等于
阈值,则判断为是与该指定的基准脸相似的脸。
这样,通过对作为检索对象的所有多个图像反复执行该操作,可以特别指定在图4的画面指定的、包含与该特定人脸相似的脸的图像和该脸的位置。
在步骤S104中,将图5所示的画面提供给用户。并且,此时在图像显示栏500中显示步骤S103的检索处理结果,即包括被判断为与“铃木一郎”相似的人物的图像组(有多个时)。并且,用户选择从显示于该显示栏500的图像中选择所希望的图像并结束检索处理,或者(与“检索人脸”情况一样)重新检索,或者结束检索。
如以上说明的那样,通过第1实施例,用户可以使用依照统一了的唯一流程的用户接口,来进行脸数据的登录/检索,能够容易明白地进行脸检索。
[第2实施例]图6是表示本发明的第2实施例的图像显示装置的结构例的框图。
在图6中,601是用于输入数字图像数据的图像输入单元。图像输入单元601可以输入存储器或二次存储单元上的数字图像数据,也可以通过模拟或数字接口从数字照相机、数字摄像机和扫描器等外部设备输入数字图像数据。
602是脸区域检测单元,用于由从图像输入单元601输入的数字图像数据检测脸区域。作为检测该脸区域的方法,例如,像日本特开平10-334213号公报所公开的那样,可以是通过对数字图像数据,比较图像的颜色数据和预先准备好的脸的识别颜色数据,检测脸区域的方法,也可以是在上述第1实施例中说明的方法或除此以外的方法。实际上,脸区域检测单元602具备CPU和存储着由该CPU执行的程序的存储器等,并由
软件实现。
603是存储单元,用于存储从图像输入单元601输入的数字图像数据。由图像输入单元601输入的数字图像数据位于存储器或二次存储上时,在存储单元603中,也可以不必存储数字图像数据本身,而是存储存储器上的
指针或二次存储上的文件名的方式。存储单元603实际上由存储器或二次存储装置构成。
604是接收来自用户的操作的操作单元,具备例如键盘或鼠标等点击设备。
图11是说明第2实施例的脸区域检测单元602的处理的流程图。
当在步骤S401,通过图像输入单元601输入图像数据时,就在步骤S402中将变量n设为“1”。接着在步骤S403,检测该图像数据是否包含脸区域。该处理可以使
用例如由上述的Laurenz Wiskott等人提出的脸图形和子波变换的方法,也可以使用除此以外的公知的方法。接着在步骤S404,当判断为包含脸区域时,进入步骤S405,生成显示该脸区域的矩形信息,如图7所示作为“脸区域n”登录到存储单元603。并且,在步骤S406,将变量n加1,进入步骤S403。
另一方面,在步骤S404,在未发现脸区域时,进入步骤S407,输入多个图像数据,观察是否还存在尚未进行脸区域的检索处理的图像数据。如果有,则作为检索对象选择下一个图像数据,进入步骤S402,并执行上述处理。这样,当所有的图像数据的检索处理结束时,结束该处理。
图8是表示第2实施例的用户接口801的一例的图。
在图8中,预先显示包括4个人的图像,最左边的人的脸区域表示选择了框803的状态。在例如上述第1实施例中,表示图像检索的结果。此时,框803所圈定的脸区域相当于成为检索对象的脸区域。
在该状态下,可以通过操作单元604,指示图8中的“后退(backward)”按钮804或“前进(forward)”按钮805。操作单元604实际上由鼠标或键盘或触摸面板或实际的按钮构成。这里,当“前进(forward)”按钮805被指示后,为了选择例如其右边的人的脸区域,每指示“前进(forward)”按钮805,就按照图7的脸区域的顺序依次选择该显示单元802内的人脸区域,当在选择最后的人脸区域时,指示“前进(forward)”按钮805时,读出下一个图像数据并显示在显示单元802上,变为选择该图像中最先被识别登录的人脸区域(脸区域1)。相反地,当指示“后退(backward)”按钮804时,依次按返回方向选择显示单元802内的人脸区域,例如当在图8的状态下指示“后退(backward)”按钮804时,读出前一个图像数据并显示在显示单元802,选择该图像中的被最后识别存储的脸区域(脸区域m)。
605是显示图像控制单元,存储由脸区域检测单元602检测出的脸区域,并控制用框803选择哪个数字图像数据和哪个脸区域,显示在图8的数字图像数据的显示单元802中。由脸区域检测单元602检测出的脸区域,被作为例如图7那样的数据文件,存储到存储单元603中。
图7是说明第2实施例的、用脸图像区域检测单元602检测出的脸区域的存储例的图。
在图7中,701是唯一地识别各数字图像数据的图像名,可以是数字图像数据的文件名,也可以是显示图像控制单元605所发放的唯一的ID。另外,702~705是脸区域检测单元602对每个数字图像数据所检测出的脸区域,只设置对每个图像所检测出的脸区域的数目。
在第2实施例中,为了简便,脸区域用包围脸的图像数据的长方形框803表示。并且,设在702~705中,存储着表示该脸区域的矩形框的左上和右下的
顶点坐标。在702~705中,写着“(0、0)、(0、0)”的部分,意味着该部分不存在脸数据即不存在脸区域。当然,实际上,也可以用框803只显示拍摄了脸的部分。
此时,在702~705中,可以存储圈定脸的矩形框的左上和右下的顶点以及只屏蔽(mask)脸的屏蔽数据。并且,作为脸区域的存储方法,在该第2实施例中,为了简便而使用图7那样的表,但实际上并不限于此。例如,可以考虑使用线性表,来消除每张数字图像数据的脸区域数的上限,并节约存储器的方法等。另外,还可以考虑利用由脸区域检测单元602检测出的脸区域的方法。
显示图像控制单元605,以来自操作单元604的输入为触发(trigger),接下来控制选择哪个数字图像数据和该图像内的哪个脸区域803显示在数字图像数据802中。关于此时的操作,用图9和图10在后面详细叙述。显示图像控制单元605,实际上由CPU和存储着由该CPU执行的程序等的存储器来实现,实际上通过软件来执行。
606是显示图像生成单元,由显示图像控制单元605控制,生成显示于显示单元802的数字图像数据。显示图像生成单元606从显示图像控制单元605指示接下来显示哪个数字图像数据,从存储单元603取出该被指示的数字图像数据,显示在显示单元802。进而,用框803圈定被存储在显示图像控制单元605的图7的数据文件中的脸区域内被选择的脸区域,生成显示于数字图像数据显示单元802的数字图像数据。另外,在初始状态下,还可以选择该图像的“脸区域1”。
当然,反转显示所选择的脸区域时,可以从显示图像控制单元605取出区域坐标和屏蔽数据,进行只反转显示所屏蔽的区域的处理。显示图像生成单元606,实际上由CPU和存储着由该CPU执行的程序等的存储器构成,实际上通过软件来实现。
607是图像显示单元,显示图8所示的用户接口801。在用户接口801中,在显示单元802显示显示图像生成单元606生成的数字图像数据。框803表示当前所选择的脸区域。图像显示单元607,实际上由监视器等构成。
接着,使用图9和图10,详细说明显示图像控制单元105的动作。首先,参照图9说明在操作单元604中,触摸图8的用户接口801的“后退”按钮804时的动作。并且,在以下的说明中,图像数据的顺序,表示例如在图7中被登录到图像名701的顺序,“后退(baekward)”表示在图7的表中从下向上的方向,“前进(forward)”表示从上向下的方向。同样地,脸区域的顺序表示图7的表的从左向右的方向,“后退(backward)”表示在图7的表中由右向左的方向,“前进(forward)”表示由左向右的方向。
在最开始的步骤S201,当指示“后退”按钮804时,在步骤S202参照图7的登录数据,在当前显示的数字图像数据中,查询是否存在前一个脸区域。
步骤S202的调查结果,就是当存在脸区域时,进入步骤S205,将该脸区域传送给显示图像生成单元606,结束动作。
另一方面,当该图像数据不存在脸区域时,进入步骤S203,参照图7的登录数据,查询是否存在前一个数字图像的脸区域。不存在时结束操作。当存在前一个数字图像数据时,进入步骤S204,查询在前一个数字图像数据中是否存在脸区域。这里,该图像中不存在脸区域时,返回步骤S203,进一步查询是否存在前一个数字图像数据。这样,当发现存在脸区域的图像数据后,选择该图像数据的最后的脸区域,进入步骤S205,将该脸区域传送给显示图像生成单元606,结束动作。另外,在步骤S203,即使查询最后的图像数据,在该图像数据中不包含脸区域的情况下,也结束该处理。
接下来,用图10的流程图,阐述在操作单元604中,指示“前进”按钮805时的动作。
在最开始的步骤S301,当指示“前进”按钮805后,进入步骤S302,参照图7的登录数据,在当前显示的数字图像数据中,查询是否存在前一个脸区域。
其结果就是,在存在脸区域时,进入步骤S305,将该脸区域传送给显示图像生成单元606,结束动作。
另一方面,当该图像数据中不存在脸区域时,进入步骤S303,参照图7的登录数据,查询是否存在下一个数字图像数据。不存在时结束动作。
在步骤S303,当存在下一个图像数据时,查询在该图像数据中是否存在脸区域,存在时进入步骤S304,指示该数字图像数据的最开始(图7的脸区域1)的脸区域,进入步骤S305,将该脸区域传送给显示图像生成单元606,结束动作。另外,当该图像数据中不存在脸区域时,返回到步骤S303,进一步查询是否存在下一个数字图像数据。
这样,执行步骤S303、S304,直到检测出包含脸区域的图像数据,在即使结束前面的图像数据的检索,也未发现包含脸区域的图像数据时,结束该处理。在上述动作中,在选择显示最开始的数字图像数据中的第一个脸区域时,指示“后退”按钮804的情况下,或者在选择显示最后的数字图像数据的最后的脸区域时,指示“前进”按钮805的情况下,本实施例的图像显示装置不动作,但不一定必须那样做。
例如,在选择最开始的数字图像数据的第1个脸区域(脸区域1)时,指示“后退”按钮804的情况下,也可以循环地进行动作,以使得选择最后的数字图像数据中的最后的脸区域来显示。
另外,也可以这样作:即,在选择最开始的数字图像数据的第1个脸区域(脸区域1)时,不能指示“后退”按钮804;在选择最后的数字图像数据的最后的脸区域时,不能指示“前进”按钮805。
在第2实施例中,如在显示单元802所示的那样,通过添加框803或反转显示等,强调显示数字图像中的被选择的脸区域,当然也可以进行除此以外的动作。例如,也可以是只切取所选择的脸区域来显示那样的用户接口。
[其它实施例]此外,本发明既适用于由多部设备(例如,主机、接口设备、阅读器、
打印机等)构成的系统,也适用于由单个设备组成的装置(例如,复印机、传真装置等)。
另外,本发明的目的还可以通过以下的方式达到,即,将记录了实现上述实施方式的功能(在照相机侧进行的处理、在打印机侧进行的各种打印处理)的软件的程序代码的存储介质提供给系统或装置,该系统或者装置的计算机(或CPU、MPU)读出并执行保存在该存储介质中的程序代码。此时,从存储介质读出的程序代码本身就能实现上述实施方式的功能,存储了该程序代码的存储介质就构成本发明。另外,不仅包括通过计算机执行所读出的程序代码,实现上述实施例的功能的情况,还包括基于该程序代码的指示,在计算机上运行的操作系统(OS)等进行实际处理的一部分或全部,通过该处理,实现上述实施例的功能的情况。
进而,还包括以下情况:在从存储介质所读出的程序代码,被写入到插入计算机的功能
扩展卡或连接在计算机的功能扩展单元所具备的存储器之后,基于该程序代码的指示,该功能扩展卡或功能扩展单元所具备的CPU等进行实际处理的一部分或全部,通过该处理,实现上述实施方式的功能。不言而喻地,例如,用PC上的
驱动器进行这些处理的情况,也与此相当。
在不脱离本发明的精神和范围内,本发明可以通过大量而广泛的实施方式实现,所以应该理解为本发明并不限于特定的实施方式,而是由附加的
权利要求书所限定。