The present invention generally relates to image processing, and more specifically to object re-identification.
An area under surveillance often includes more than one camera to cover different locations. Different cameras have different inherent levels of brightness and different locations have different levels of illumination, thereby making the same object (e.g., person or vehicle) appear brighter in one image from one camera than in another image from another camera. Because the same object appears brighter in one image than another, re-identification of an object has been difficult. Re-identification refers to identifying that an object imaged by one camera is the same as an object imaged by another camera. Known re-identification approaches adjust for brightness from one camera to the next camera by averaging equally weighted transfer functions or by determining a transfer function based on equally weighted observations.
An embodiment of the present invention is a system, method and program product for re-identifying an object. Brightness transfer functions (BTFs) between respective pairs of training images captured by first and second cameras are determined. Respective measures of similarity between the first test image and each of the training images captured by the first camera are determined. Based on the measures of similarity, weights of the training images captured by the first camera are determined. The weights correspond to the BTFs. A weighted brightness transfer function (WBTF) is determined by weighting the BTFs by the corresponding weights and combining the weighted BTFs. Based on the WBTF, the first test image is transformed to better match one of the training images captured by the second camera. Another test image, captured by the second camera, is identified. The identified test image is closer in appearance to the transformed test image than other test images captured by the second camera. An object in the identified test image is designated as a re-identification of the object in the first test image.
Brightness transfer functions (BTFs) are determined. Each BTF maps between first and second training images that are included in a corresponding pair of training images, and that are captured by first and second cameras, respectively. Feature distances are determined between the test image and each training image captured by the first camera. The test image is captured by the first camera and each training image is included in the pairs of training images. Based on the feature distances, the computer determines weights of the training images captured by the first camera. The weights correspond to the BTFs. A weighted brightness transfer function (WBTF) is determined by weighting the BTFs by the corresponding weights and combining the weighted BTFs. Based on the WBTF, the computer transforms the test image so that the transformed test image resembles the second training images captured by the second camera. An appearance of another test image (closest matching image) included in test images captured by the second camera is determined to have a closeness to an appearance of the transformed test image that exceeds a closeness of an appearance of any other test image captured by the second camera to the appearance of the transformed test image. An object in the closest matching image is designated as a re-identification of the object in the test image.
Embodiments of the present invention uses a weighted brightness transfer function to accurately transfer appearance information while addressing severe lighting changes and a substantial number of appearance variations across multiple cameras. Embodiments of the present invention may provide an improved tracking system for surveilling people or vehicles across multiple cameras or for tracking objects as they move in shipping scenarios from one camera to the next camera. The improved tracking system need multiple images per person or per vehicle prior to re-identification, and does not need to be a closed system that includes a pre-stored dictionary of people or vehicles that must be identified prior to re-identification. Embodiments of the present invention may provide a traffic management system in which re-identification computes time of travel between two cameras without requiring the use of any invasive technology such as Bluetooth®.
Overview
Embodiments of the present invention re-identifies an object across multiple images generated by multiple cameras by using a Weighted Brightness Transfer Function (WBTF) to transform the appearance of a test image to adjust for a variation in the brightness of the object between a first camera and a second camera. The WBTF is determined by (1) brightness transfer functions (BTFs) corresponding to pairs of training images from the first and second cameras; and (2) unequal weights assigned to training images from the first camera, where the weights are based on the distances in feature space between a test image and the training images.
The aforementioned variation in brightness can be caused by many factors, such as the transit of the sun across the sky, the transition from night to day or day to night, a change between natural lighting and artificial illumination, a change in natural lighting due to a change in weather conditions, a change to reflectivity of surfaces due to precipitation, a change between artificial illumination being on and off, and a change in headlights on vehicles being on and off. In addition, brightness variation caused by the transit of the sun can change throughout the year as a result of the precession of the Earth's axis relative to the sun.
Embodiments of the present invention also provide a high-dimensional signature of color and texture features for the purpose of image matching.
System for Re-Identifying an Object
Via I/O interface 106, object re-identification program 114 receives training image pairs 116, each pair including one training image acquired by a first camera (not shown) and one training image acquired by a second camera (not shown). The training images acquired by the first camera are images of objects in a first region and the training images acquired by the second camera are images of objects in a second region. The first and second regions have different lighting conditions, which causes a variation in brightness of objects in the first and second regions. In one embodiment, the first and second regions are first and second surveillance regions that represent physical environments of which surveillance is desired. For example, the first region may be an area in a subway station and the second region may include a portion of a sidewalk along a city street, where the lighting conditions of the subway station include an illumination by artificial lighting and at times may include the headlight of a subway train, and where the lighting conditions of the sidewalk includes natural lighting during the day.
Based on training image pairs 116, object re-identification program 114 determines brightness transfer functions (BTFs) 118, each BTF corresponding to one of training image pairs 116.
Via I/O interface 106, object re-identification program 114 receives test images 120, which includes multiple images captured by the first camera and multiple images captured by the second camera. Based on BTFs 118 and based on weights (not shown) assigned to the training images captured by the first camera, object re-identification program 114 determines a Weighted Brightness Transfer Function (WBTF) 122. The object re-identification program 114 uses WBTF 122 to transform a test image captured by the first camera so that its appearance more closely resembles how the second camera would have captured the same test image. The object re-identification program 114 compares the transformed test image captured by the first camera to the test images captured by the second camera, and determines which test image captured by the second camera is the closest match to the transformed test image.
Each of the first and second cameras may be a digital camera, such as standard outdoor or indoor digital surveillance camera capable of surveilling a physical environment when the camera is in a fixed orientation or when operating in a sweep mode. The camera is capable of transmitting digital information corresponding to the images captured by the camera. The transmitted digital information may correspond to, for example, a video stream, a series of images captured at regular time intervals, or images captured as a result of a triggering event occurring in the region under surveillance, such as detected motion or changes in a visual aspect.
The functionality of components of system 100 is further described below in the discussion relative to
Process for Re-Identifying an Object
In step 204, for each pair of training images included in training image pairs 116 (see
A training mode of the process of
In one embodiment, object re-identification program 114 (see
Determining a BTF for a Training Image Pair:
The object re-identification program 114 (see
Bj=Hij(Bi) (1)
Pixel to pixel correspondences between Oi and Oj cannot be used to calculate Hij for person re-identification due to self-occlusions and viewpoint changes; therefore, object re-identification program 114 (see
Hi(Bi)=Hj(Bj)=Hj(Hij(Bi)) (2)
The object re-identification program 114 (see
Hij(Bi)=Hj−1(Hi(Bi)) (3)
H−1 in equation (3) is the inverted cumulative histogram. In the case of a color image, object re-identification program 114 (see
In one embodiment, object re-identification program 114 (see
In one embodiment, object re-identification program 114 (see
Testing Mode:
The training mode ends with the performance of step 204, and a testing mode of the process of
In one embodiment, object re-identification program 114 (see
In one embodiment, object re-identification program 114 (see
As one example, for a test image T that includes Person X, where test image T is captured by the first camera, the object re-identification program 114 (see
In step 208, object re-identification program 114 (see
In one embodiment, object re-identification program 114 (see
Determining a Feature Distance:
Object re-identification program 114 (see
In one embodiment, object re-identification program 114 (see
The object re-identification program 114 (see
Following the segmentation into foreground and background regions by using the aforementioned binary label, object re-identification program 114 (see
DH={(kHij|αk=ψ(OiT({tilde over (p)}),Oi({tilde over (p)})),αk≤δ},
|DH|=K (6)
The K training images Oi({tilde over (p)}) are included in training image pairs 116 (see
In one embodiment, the object re-identification program 114 (see
For each stripe of the m stripes, object re-identification program 114 (see
In an alternate embodiment, object re-identification program 114 (see
In step 210, object re-identification program 114 (see
In one embodiment, object re-identification program 114 (see
In step 212, object re-identification program 114 (see
In one embodiment, object re-identification program 114 (see
In step 214, based on the weights determined in step 212 and based on the BTFs 118 (see
In the embodiment in which object re-identification program 114 (see
HWBTF=Σk=1KαkkHij (7)
By determining HWBTF, object re-identification program 114 (see
Step 216 in
In step 216, based on the WBTF 122 (see
In step 218, object re-identification program 114 (see
In one embodiment, object re-identification program 114 (see
In step 220, based on the comparisons made in step 218, object re-identification program 114 (see
In step 222, object re-identification program 114 (see
In one embodiment, object re-identification program 114 (see
argjminηψ(ÕiT(p),OjT(p))+ψ(ÕiT({tilde over (p)}),ÕjT({tilde over (p)})) (8)
The two terms ψ(ÕiT(p),OjT(p)) and ψ(ÕiT({tilde over (p)}),ÕjT({tilde over (p)})) in expression (8) represent the matching cost for foreground and background, respectively, of the transformed test image ÕiT against all the test images OjT, j={1, . . . , N}. In one embodiment, the object re-identification program 114 (see
The values of η and K in expression (8) and equation (7) may be determined empirically. As one example, η=3 and K=5.
In step 224, object re-identification program 114 (see
If object re-identification program 114 (see
Computer System
In one embodiment, computer system 101 in
Memory 104 may comprise any known computer-readable storage medium, which is described below. In one embodiment, cache memory elements of memory 104 provide temporary storage of at least some program code (e.g., program code 114) in order to reduce the number of times code must be retrieved from bulk storage while instructions of the program code are carried out. Moreover, similar to CPU 102, memory 104 may reside at a single physical location, comprising one or more types of data storage, or be distributed across a plurality of physical systems in various forms. Further, memory 104 can include data distributed across, for example, a local area network (LAN) or a wide area network (WAN).
I/O interface 106 comprises any system for exchanging information to or from an external source. I/O devices 110 comprise any known type of external device, including a display device (e.g., monitor), keyboard, mouse, printer, speakers, handheld device, facsimile, etc. Bus 108 provides a communication link between each of the components in computer system 101, and may comprise any type of transmission link, including electrical, optical, wireless, etc.
I/O interface 106 also allows computer system 101 to store information (e.g., data or program instructions such as program code 114) on and retrieve the information from computer data storage unit 112 or another computer data storage unit (not shown). Computer data storage unit 112 may comprise any known computer-readable storage medium, which is described below. For example, computer data storage unit 112 may be a non-volatile data storage device, such as a magnetic disk drive (i.e., hard disk drive) or an optical disc drive (e.g., a CD-ROM drive which receives a CD-ROM disk).
Memory 104 and/or storage unit 112 may store computer program code 114 that includes instructions that are executed by CPU 102 via memory 104 to re-identify an object across images captured by multiple cameras. In one embodiment, memory 104 and/or storage unit 112 stores program code 114 that includes instructions that are executed by CPU 102 via memory 104 to re-identify an object across images captured by multiple cameras. Although
Further, memory 104 may include other systems not shown in
Storage unit 112 and/or one or more other computer data storage units (not shown) that are coupled to computer system 101 may store training image pairs 116, BTFs 118, test images 120, the weights determined in step 212 (see
As will be appreciated by one skilled in the art, the present invention may be embodied as a system, method or computer program product. Accordingly, an aspect of an embodiment of the present invention may take the form of an entirely hardware aspect, an entirely software aspect (including firmware, resident software, micro-code, etc.) or an aspect combining software and hardware aspects that may all generally be referred to herein as a “module”. Furthermore, an embodiment of the present invention may take the form of a computer program product embodied in one or more computer-readable storage medium(s) (e.g., memory 104 and/or computer data storage unit 112) having computer-readable program code (e.g., program code 114) embodied or stored thereon.
Any combination of one or more computer-readable storage mediums (e.g., memory 104 and computer data storage unit 112) may be utilized. In one embodiment, the computer-readable storage medium is a computer-readable storage device or computer-readable storage apparatus. A computer-readable storage medium may be, for example, an electronic, magnetic, optical, electromagnetic, disk storage, or semiconductor system, apparatus, device or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer-readable storage medium includes: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer-readable storage medium is a tangible medium that can store a program (e.g., program 114) for use by or in connection with a system, apparatus, or device for carrying out instructions. However, the terms “computer-readable storage medium” and “computer-readable storage device” do not encompass a propagation medium.
Program code (e.g., program code 114) may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
Computer program code (e.g., program code 114) for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java®, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates. Instructions of the program code may be carried out entirely on a user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server, where the aforementioned user's computer, remote computer and server may be, for example, computer system 101 or another computer system (not shown) having components analogous to the components of computer system 101 included in
Aspects of the present invention are described herein with reference to a flowchart illustration (e.g.,
These computer program instructions may also be stored in a computer-readable medium (e.g., memory 104 or computer data storage unit 112) that can direct a computer (e.g., computer system 101), other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions (e.g., instructions included in program code 114) stored in the computer-readable storage medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer (e.g., computer system 101), other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus, or other devices to produce a computer implemented process such that the instructions (e.g., instructions included in program code 114) which are carried out on the computer, other programmable apparatus, or other devices provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart in
While embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art. Accordingly, the appended claims are intended to encompass all such modifications and changes as fall within the true spirit and scope of this invention.
This application is a continuation application claiming priority to Ser. No. 13/647,645 filed Oct. 9, 2012, now U.S. Pat. No. 9,633,263, issued Apr. 25, 2017.
Number | Name | Date | Kind |
---|---|---|---|
6373968 | Okano et al. | Apr 2002 | B2 |
6963364 | Haese et al. | Nov 2005 | B2 |
7133083 | Jaynes et al. | Nov 2006 | B2 |
7450735 | Shah | Nov 2008 | B1 |
7711146 | Tu et al. | May 2010 | B2 |
7953251 | Steinberg | May 2011 | B1 |
8165397 | Doretto et al. | Apr 2012 | B2 |
8212812 | Tsin et al. | Jul 2012 | B2 |
9633263 | Brown | Apr 2017 | B2 |
20060102843 | Bazakos | May 2006 | A1 |
20060104488 | Bazakos | May 2006 | A1 |
20060221201 | Chien et al. | Oct 2006 | A1 |
20080031493 | Brogren | Feb 2008 | A1 |
20080082426 | Gokturk | Apr 2008 | A1 |
20090190798 | Lee | Jul 2009 | A1 |
20100201808 | Hsu | Aug 2010 | A1 |
20100246940 | Lin | Sep 2010 | A1 |
20110087677 | Yoshio | Apr 2011 | A1 |
20110095908 | Nadeem et al. | Apr 2011 | A1 |
20110156924 | Nadeem et al. | Jun 2011 | A1 |
20120056982 | Katz et al. | Mar 2012 | A1 |
20120099788 | Bhatti et al. | Apr 2012 | A1 |
20120249745 | Gagel | Oct 2012 | A1 |
20130021496 | Ranbro | Jan 2013 | A1 |
20130163833 | Wang | Jun 2013 | A1 |
20130243250 | France | Sep 2013 | A1 |
20130300911 | Beckman | Nov 2013 | A1 |
20130343642 | Kuo | Dec 2013 | A1 |
20140055609 | Fan | Feb 2014 | A1 |
20140055690 | Song | Feb 2014 | A1 |
20140098221 | Brown et al. | Apr 2014 | A1 |
Number | Date | Country |
---|---|---|
2009018403 | Feb 2009 | WO |
2010045404 | Apr 2010 | WO |
Entry |
---|
B. Prosser, S. Gong, and T. Xiang, Multi-camera Matching using Bi-Directional Cumulative Brightness Transfer Functions, Proceedings of the British Machine Vision Conference (BMVC), 2008, 4 pages. |
Berdugo et al., Object Reidentification in Read World Scenarios Across Multiple Non-Overlapping Cameras, Signal and Image Processing Laboratory (SIPL) Dept. of Electrical Engineering, Techion—Israel Institute of Technology, 32000, Haifa, Israel, 5 pages. |
Cheng et al., Custom Pictorial Structures for Re-identification. In Jesse Hoey, Stephen McKenna and Emanuele Trucco, Proceedings of the British Machine Vision Conference, pp. 68.1-68.11. BMVA Press, Sep. 2011, 11 pages. |
Datta et al., Appearance Modeling for Person Re-Identification using Weighted Brightness Transfer Functions, 4 pages. |
Faith Porikli “Inter-Camera Color Calibration by Cross-Correlation Model Function”, IEEE International Conference on Image Processing (ICIP), Sep. 2003 (IEEE Xplore), 4 pages. |
Farenzena et al., Person re-identification by symmetry-driven accumulation of local features. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2010 , 8 pages. |
Gray et al., Evaluating Appearance Models for Recognition, Reacquisition, and Tracking, in Proc. IEEE International Workshop on Performance Evaluation for Tracking and Surveillance (PETS), Oct. 2007, 7 pages. |
Gray et al., Viewpoint Invariant Pedestrian Recognition with an Ensemble of Localized Features, ECCV '08: Proceedings of the 10th European Conference on Computer Vision, 14 pages. |
Grossberg et al., Determining the camera response from images: what is knowable? IEEE Transactions on Pattern Analysis and Machine Intelligence, Nov. 2003, pp. 1455-1467. |
Javed et al., Appearance modeling for tracking in multiple non-overlapping cameras. IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2005 (CVPR 2005), 8 pages. |
Prosser et al., Person Re-Identification by Support Vector Ranking. Proceedings of the British Machine Vision Conference, pp. 21.1-21.11. BMVA Press, Sep. 2010, 11 pages. |
Schwartz et al., Learning Discriminative Appearance-Based Models Using Partial Least Squares. XXII Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI), 2009, 8 pages. |
Shi et al., Normalized Cuts and Image Segmentation, IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI), vol. 22, No. 8, Aug. 2000, pp. 888-905. |
Zheng et al., Person Re-identification by Probabilistic Relative Distance Comparison, IEEE Conf. on Computer Vision and Pattern Recognition, 2011, pp. 649-656. |
Office Action (dated Jul. 15, 2015) for U.S. Appl. No. 13/647,645, filed Oct. 9, 2012; Conformation No. 9356. |
Amendment filed Sep. 29, 2015 in response to Office Action (dated Jul. 15, 2015) for U.S. Appl. No. 13/647,645, filed Oct. 9, 2012; Conformation No. 9356. |
Final Office Action (dated Dec. 13, 2015) for U.S. Appl. No. 13/647,645, filed Oct. 9, 2012; Conformation No. 9356. |
Response After Final filed Feb. 29, 2016 in response to Final Office Action (dated Dec. 31, 2015) for U.S. Appl. No. 13/647,645, filed Oct. 9, 2012; Confirmation No. 9356. |
Preliminary Amendment and Request for Continued Examination filed Mar. 31, 2016 for U.S. Appl. No. 13/647,645, filed Oct. 9, 2012; Confirmation No. 9356. |
Office Action (dated Aug. 12, 2016) for U.S. Appl. No. 13/647,645, filed Oct. 9, 2012; Confirmation No. 9356. |
Amendment filed Nov. 10, 2016 in response to Office Action (dated Aug. 12, 2016) for U.S. Appl. No. 13/647,645, filed Oct. 9, 2012; Confirmation No. 9356. |
Notice of Allowance (dated Dec. 19, 2016) for U.S. Appl. No. 13/647,645, filed Oct. 9, 2012; Confirmation No. 9356. |
Number | Date | Country | |
---|---|---|---|
20170200051 A1 | Jul 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13647645 | Oct 2012 | US |
Child | 15471595 | US |