用于对象再识别的系统和方法_2

文档序号:9708722阅读:来源:国知局
和"软生物特征"。对于图1A中的示例性 人100,软生物特征描述可以包含分配给属性"头发长度"111的类标签"短发"、分配给属性 "眼镜类型" 112的类标签"佩戴太阳镜"、分配给属性"面部毛发风格" 113的类标签"留胡 须"、分配给属性"上衣的颜色深浅" 114的类标签"浅色上衣"、分配给属性"衣袖长度" 115 的类标签"长袖"、分配给属性"裤子的颜色深浅" 116的类标签"深色裤子"、分配给属性"裤 子长度" 117的类标签"长裤子"、以及分配给属性"行李类型" 118的类标签"肩包"。软生 物特征可以跨不同的视角而被检测到,可以容易地适用于外观变化(诸如摘掉太阳镜等), 与基于外观的模型相比更加简洁,并且可以根据书面或者口头描述(例如,来自犯罪目击 者的书面陈述)来构建。因此,软生物特征(和一般属性)适用于用于基于对象的最小描 述而跨摄像机网络中的不同视角来再识别对象的任务。
[0039] 尽管以下说明中的例子大多数涉及识别关注的人,但是,本说明书中所述的VIDD 配置同样可以适用于其它类型的对象。在一个例子中,VIDD方法被应用于识别通过诸如"车 身颜色"、"前照灯形状"和"存在导流板"等的属性所描述的关注车辆。在另一例子中,VIDD 方法被应用于识别通过诸如"尾巴长度"、"毛色"和"毛长"等的属性所描述的关注动物。属 性可以是任意分类图像特征,并且并非必须是语义性的。在另一例子中,VIDD方法被应用 于使用基于从场景中的候选对象上的关注的点所提取的低层图像特征而学习的视觉词集 来识别关注对象。VIDD配置可被应用于不同类型的摄像机。在以下说明所使用的一个例子 中,使用VIDD配置来控制PTZ摄像机的定向和缩放。在另一例子中,使用VIDD配置来控制 诸如焦点和曝光值等的、影响观察条件的其它摄像机设置。在另一例子中,使用VIDD方法 在用于进一步处理的静止高分辨率视频流中选择关注区域。
[0040] 在下面的说明中,属性的"特有性"描述与通过摄像机可以观察的其它候选对象相 比,属性类标签对于关注对象有多独特。其它对象被统称为候选对象的"种群"。在一个例 子中,如果种群中相对少的人戴着帽子,则类标签"戴着帽子"具有高的特有性。相反,如果 种群中大多数其它人戴着帽子(例如,当场景为阳光灿烂的户外时),则"戴着帽子"具有 低的特有性。属性的"可检测性"描述在候选对象的图像中可以检测到该属性的确定程度。 通常,可检测性随着诸如摄像机和对象之间的距离、摄像机的焦距和分辨率、以及对象相对 于摄像机的定向(即,视角)等的观察条件而变化。例如,在面部的放大正面图像中,是否 存在胡须可能具有高的可检测性。相反,当人将面背着摄像机时,或者当人距离摄像机非常 远时,可能难以检测到胡须。
[0041] 如图1B所示,数字摄像机140与计算机系统150通信。该示例性VIDD配置可被广 泛应用。在一个例子中,计算机系统150可以允许保安员通过交互式用户接口指定可疑目 标的属性,并且返回被确定为可疑目标的一个以上的候选目标的图像。在另一例子中,计算 机可以识别用于观察诸如购物中心等的零售场所的不同摄像机中的各个客户,并且自动建 立对于零售分析所要使用的客户行为模型。在另一例子中,计算机系统可以跨交通摄像机 网络识别各个车辆在不同时间的位置,并且使用该信息来控制交通信号以提高交通流量。
[0042] 本发明的概沐
[0043] 如上所述,本说明涉及用于判断通过摄像机所观察的候选对象是否是关注对象的 方法。如上所述,已知用于该问题的解决方案需要在特定观察条件下来拍摄候选对象或者 关注对象的图像。例如,基于面部识别的现有方法至少需要候选对象和关注对象两者的一 个正面图像。此外,基于低层图像特征的现有方法需要候选对象在所有实际观察条件下的 图像。相反,当不能如上所述限制观察条件时,现有方法可能不佳。该局限性的一个例子是 用于在候选目标在大的开放空间内自由移动的购物中心,基于目击者描述(即,不能获得 商店窃贼的图像)来识别商店窃贼的任务。
[0044] 本说明所述的VIDD方法通过使用在一系列观察条件下可检测到的多个属性来描 述对象以克服上述局限性。这样允许在先前未被观察的观察条件下来识别关注对象。此外, 该方法获得使与候选对象的身份有关的不确定性的降低最大化的一系列观察。这通过主动 控制摄像机设置以提高在当前视角(即,候选对象相对于摄像机的相对定向)下最特有属 性的可检测性来得以实现。该控制过程被称为"PTZ询问"。由于候选对象可能仅暂时出现 在摄像机的视野内,因而PTZ询问的目的是利用最小数量的拍摄图像来使所获得的与每一 候选对象的身份有关的信息最大化。
[0045] 图10A和10B描述可以实现所述的各种VIDD配置的通用计算机系统150。
[0046] 通过图10A可知,计算机系统150包括:计算机模块1001 ;诸如键盘1002、鼠标指 针装置1003、扫描器1026、诸如摄像机140等的一个以上的摄像机140、以及麦克风1080等 的输入装置;以及包括打印机1015、显示装置1014和扬声器1017的输出装置。计算机模 块1001可以使用外部调制器-解调器(调制解调器)收发装置1016,经由连接1021与诸 如141等的通信网络1020上的远程摄像机通信。通信网络1020可以是诸如因特网、蜂窝 电信网或者私人WAN等的广域网(WAN)。如果连接1021是电话线,则调制解调器1016可以 是传统的"拨号"调制解调器。可选地,如果连接1021是高容量(例如,线缆)连接,则调 制解调器1016可以是宽带调制解调器。对于与通信网络1020的无线连接,还可以使用无 线调制解调器。
[0047] 计算机模块1001通常包括至少一个处理器单元1005、以及存储器单元1006。例 如,存储器单元1006可以具有半导体随机存取存储器(RAM)和半导体只读存储器(ROM)。 计算机模块1001还包括许多输入/输出(I/O)接口,其包括:与视频显示器1014、扬声器 1017和麦克风1080连接的音频视频接口 1007 ;与键盘1002、鼠标1003、扫描器1026、摄像 机140和可选操纵杆或者其它人机接口装置(未示出)连接的I/O接口 1013 ;以及用于外 部调制解调器1016和打印机1015的接口 1008。在一些实施方案中,调制解调器1016可被 整合在计算机模块1001内,例如接口 1008内。计算机模块1001还具有允许经由连接1023 将计算机系统150连接至被称为局域网(LAN)的本地区域通信网络1022的本地网络接口 1011。如图10A所示,本地通信网络1022还可以经由通常包括所谓的"防火墙"装置或者 具有类似功能的装置的连接1024而连接至广域网1020。本地网络接口 1011可以包含以太 网电路卡、Bluetooth?无线配置、或者IEEE 802. 11无线配置;然而,对于接口 1011,使用 使用许多其它类型的接口。
[0048] I/O接口 1008和1013可以提供串联连接或者并联连接、或者两者,其中,串联连接 通常根据通用串行总线(USB)标准来实现,并且具有相应的USB连接器(未示出)。设置存 储装置1009,并且存储装置1009通常包括硬盘驱动器(HDD) 1010。还可以使用诸如软盘驱 动器和磁带驱动器(未示出)等的其它存储装置。通常设置光盘驱动器1012以用作非易 失性数据源。可以使用例如诸如光盘(例如,CD_R〇M、DVD、Blu-ray Disc?)、USB-RAM、便携 式外部硬盘驱动器和软盘等的便携式存储器装置作为向系统150的适当数据源。
[0049] 计算机模块1001的组件1005~1013通常经由互连总线1004、并且以下面的方式 进行通信:该方式导致计算机系统150的被称为相关技术下的工作模式的传统工作模式。 例如,使用连接1018将处理器1005连接至系统总线1004。同样,通过连接1019将存储器 1006和光盘驱动器1012连接至系统总线1004。可以实现所述配置的计算机的例子包括 IBM-PC及其兼容机、Sun Sparcstations、Apple MacTM或者类似计算机系统。
[0050] 可以使用计算机系统150实现VIDD方法,其中,可以实现将要说明的图4、5、7A、 8和9的处理,作为可以在计算机系统150内执行的一个以上的VIDD软件应用程序1033。 特别地,VIDD方法的步骤受在计算机系统150内所进行的软件1033的指令1031 (参考图 10B)的影响。软件指令1031可以被形成为一个以上的、每个都用于进行一个以上的特定 任务的代码模块。该软件还可以被分成两个独立部分,其中,第一部分和相应代码模块进行 VIDD方法,而第二部分和相应代码模块管理第一部分和用户之间的用户接口。
[0051] 可以将VIDD软件存储在例如包括下述存储装置的计算机可读介质中。该软件被 从计算机可读介质装载进计算机系统150中,并然后通过计算机系统150来执行。记录有 这类软件或者计算机程序的计算机可读介质是计算机程序产品。该计算机程序产品在计算 机系统150中的使用,对于实现VIDD方法的设备产生更加有利的影响。
[0052] 软件1033通常被存储在HDD 1010或者存储器1006中。该软件被从计算机可读 介质装载进计算机系统150中,并且通过计算机系统150来执行。因此,例如,可以将软件 1033存储在通过光盘驱动器1012读取的光学可读磁盘存储介质(例如,⑶-ROM) 1025上。 记录有这类软件或者计算机程序的计算机可读介质是计算机程序产品。该计算机程序产品 在计算机系统150中的使用,对于实现VIDD配置的设备产生更加有利影响。
[0053] 在某些情况下,VIDD应用程序1033可以通过被编码在一个以上的⑶-ROM 1025 上并且经由相应驱动器1012进行读取来将其提供给用户,或者,可选地,用户可以从网络 1020或者1022读取VIDD应用程序1033。另外,还可以从其它计算机可读介质将该软件装 载进计算机系统150中。计算机可读存储介质是指将所记录的指令和/或者数据提供给计 算机系统150以执行和/或者进行处理的、任何非暂时性有形存储介质。这类存储介质的 例子包括软盘、磁带、CD-ROM、DVD、Blu-ray?光盘、硬盘驱动器、ROM或者集成电路、USB存 储器、磁光盘、或者诸如PCMCIA卡等的计算机可读卡等,而不管这类装置是在计算机模块 1001的内部还是外部。在向计算机模块1001提供软件、应用程序、指令和/或者数据时还 可以使用的暂时性或者非有形计算机可读传输介质的例子包括无线电或者红外传输通道, 还包括与其它计算机或者网络装置的网络连接、以及包括电子邮件传输和记录在网站上的 信息的因特网或者内联网等。
[0054] 可以执行上述应用程序1033的第二部分和相应代码模块,以实现一个以上所要 绘制的或者被呈现在显示器1014上的图形用户界面(⑶I)。通常通过操作键盘1002和鼠 标1003,计算机系统150和该应用程序的用户可以以与功能相适应的方式来操作该界面以 向与该GUI相关联的应用程序提供控制命令和/或者输入。还可以实现其它形式的与功能 相适应的用户界面,诸如利用经由扬声器1017所输出的语音提示的音频接口和经由麦克 风1080所输入的用户语音命令。
[0055] 图10B是处理器1005和"存储器" 1034的详细示意性框图。存储器1034表示通 过图10A中的计算机模块1001可以访问的所有存储器模块(包括HDD 1009和半导体存储 器1006)的逻辑聚合。
[0056] 当最初接通计算机模块1001的电源时,执行通电自检(POST)程序1050。POST程 序1050通常被存储在图10A的半导体存储器1006的ROM 1049中。诸如用于存储软件的 ROM 1049等的硬件装置有时被称为固件。POST程序1050检查计算机模块1001内的硬件 以确保发挥适当功能,并且通常检查处理器1005、存储器1034(1009、1006)和基本输入输 出系统软件(BIOS)模块1051,另外通常被存储在ROM 1049中用于正常工作。一旦POST程 序1050成功运行,BIOS 1051启动图10A的硬盘驱动器1010。硬盘驱动器1010的启动,导 致经由处理器1005执行安装在硬盘驱动器1010上的引导装载程序1052。这样将操作系统 1053装载进RAM存储器1006中,其中,操作系统1053在RAM存储器1006上开始工作。操 作系统1053是通过处理器1005可以执行的、用于满足包括处理器管理、存储器管理、装置 管理、存储管理、软件应用程序接口和通用用户接口的各种高级功能的系统级应用程序。
[0057] 操作系统1053管理存储器1034 (1009、1006)以确保运行在计算机模块1001上的 每一处理或者应用程序具有足够执行的存储空间,从而使得不会与分配给其它处理的存储 空间发生冲突。此外,必须适当使用可在图10A的系统150中使用的不同类型的存储器,从 而使得各处理可以有效运行。因此,聚合存储器1034并非旨在示出如何分配存储器的特定 片段(除非另外说明),而是提供通过计算机系统150可存取的存储器的一般视图以及如何 使用。
[0058] 如图10B所示,处理器1005包括许多功能模块,包括控制单元1039、算术逻辑单 元(ALU) 1040和有时被称为高速缓冲存储器的本地或者内部存储器1048。高速缓冲存储器 1048通常包括寄存器部中的许多存储寄存器1044~1046。一个以上的内部总线1041在 功能上互连这些功能模块。处理器1005通常还具有一个以上的用于使用连接1018经由系 统总线1004与外部装置进行通信的接口 1042。使用连接1019将存储器1034连接至总线 1004〇
[0059] VIDD应用程序1033包括可以包括条件分支和循环指令的一系列指令1031。程序 1033还可以包括在执行程序1033时所使用的数据1032。指令1031和数据1032被分别存 储在存储位置1028、1029、1030和1035、1036、1037中。根据指令1031和存储位置1028~ 1030的相对大小,可以将特定指令存储在单个存储位置处,如通过存储位置1030处所示的 指令所示。可选地,可以将指令分成许多部分,其中,每一部分被存储在单独的存储位置处, 如通过存储位置1028和1029所示的指令片段所示。
[0060] 通常,给出处理器1005在其内执行的一组指令。处理器1005等待后续输入,对于 该后续输入,处理器1005通过执行另一组指令来做出反应。可以从一个以上个数量的源
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1