WO2016140680A1 - Multi-level object re-identification - Google Patents
Multi-level object re-identification Download PDFInfo
- Publication number
- WO2016140680A1 WO2016140680A1 PCT/US2015/019014 US2015019014W WO2016140680A1 WO 2016140680 A1 WO2016140680 A1 WO 2016140680A1 US 2015019014 W US2015019014 W US 2015019014W WO 2016140680 A1 WO2016140680 A1 WO 2016140680A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- identification
- signature
- coded
- level
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
- G06V10/464—Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
Definitions
- object re-identification aims to recognize an object when its presence occurs more than once.
- accurate and efficient object re-identification has been a desirable goal for many organizations.
- the collected re-identification information may be used for different purposes and may be of a high value to these organizations.
- Figure 1 is a schematic illustration of an example system for object re-identification in accordance with an implementation of the present disclosure.
- Figure 2 illustrates a flow chart showing an example of a method for object re-identification in accordance with an implementation of the present disclosure.
- Figure 3 is an example block diagram illustrating a computer- readable medium in accordance with an implementation of the present disclosure.
- object may refer to any type of object that can be re-identified by using data related to that object. Examples of objects may include people, images, audio signals, vehicles, documents, etc.
- the information collected from the object re-identification process may be used in many different ways.
- person re-identification is an important application for many industries including surveillance, security, and retail.
- the goal of person re-identification is to match individuals recognized in images or videos across different cameras at different time and locations.
- Security entities may benefit from the ability to track and locate known suspects in a particular area.
- Business intelligent analysts can use person re- identification to analyze customer shopping behavior to estimate customer attention and dwell-time in a retail store. These statistics may be used by companies to develop targeted marketing and personalized recommendations.
- Other entities, which utilize individual matching or broad pattern matching across large data, may also benefit from the proposed framework.
- object re-identification may be performed by comparing the detected object (e.g., the data features of the object) to a gallery of previously detected and/or stored objects. In other words, comparison and matching of the object is performed with the features of the object. Many times, no data scaling or normalization is performed when the object is initially detected and compared to existing objects. Thus, in many situations, large amounts of data need to pass through traffic in order for the re-identification to occur. This is generally a slow and inefficient way to process and compare data. Further, the accuracy of the re-identification may be compromised due to the large amounts of data passing through the network, which may cause various different problems for the network.
- local re-identification i.e., first level
- a source e.g., a sensor
- Local re- identification may use the original data feature descriptors of the object to perform the re-identification.
- neighborhood re-identification i.e., second level
- global re-identification i.e., third level
- the original data features of the object may be transformed to a coded signature (e.g., orthogonal transform based hash, etc.) of the object and only the coded signature of the object (as opposed to the original data features) may be used in the neighborhood and the global re- identification.
- a coded signature e.g., orthogonal transform based hash, etc.
- the proposed technology allows for efficient and accurate object re-identification. Scalability is ensured via local matching in a reduced search space, in addition to neighborhood and global matching with coded signatures. Unlike conventional object re-identification frameworks, both the data acquisition and data processing are distributed throughout a mesh network. By utilizing a three-level distributed matching protocol, the proposed solution only uses original feature descriptors of the object at the local re- identification level. That removes the need to transmit raw data (e.g., images, etc.) across the network. Distributing the matching process by using the coded signature in the second and third re-identification levels improves the overall efficiency especially in large-scale sensor networks. That way, through usage of coded signatures information leakage is minimized.
- FIG. 1 is a schematic illustration of an example system 5 for object re-identification.
- the illustrated system 5 is capable of carrying out the techniques described below.
- the system 5 is depicted as including at least one source 10 (e.g., a sensor, etc.), the source in communication with at least one leaf node 15 from a plurality of leaf nodes, at least one central node 20, and a computing device 25 including engines 39-41 .
- source 10 e.g., a sensor, etc.
- the source in communication with at least one leaf node 15 from a plurality of leaf nodes, at least one central node 20, and a computing device 25 including engines 39-41 .
- computing device 25 is described in details below, the techniques described herein may be performed with several computing devices or with engines distributed on different devices.
- sources 10 may be sensors (e.g., cameras, etc.) detecting objects (not shown) and providing data related to these objects.
- a leaf node may 15 may be any type of a processing unit, a computing device, or a workstation with moderate processing power.
- the central node 20 may be a single processing unit with large memory to store a global set of data from all leaf nodes 15. However, the central node 20 may also include be a cluster of machines or processing units.
- the computing device 25 may be any type of a computing device and may include at least engines 39-41 .
- the computing device 25 may be any of the leaf nodes 15 or the central node 20.
- the computing device 25 may be an independent computing device.
- engines 39-41 may be distributed on the leaf nodes 15, the central node 20, or any other computing device.
- the computing device 25 may include additional components (e.g., processor, machine-readable storage medium, etc.) and some of the components depicted therein may be removed and/or modified without departing from a scope of the system that allows for carrying out the functionality described herein. It is to be understood that the operations described as being performed by the engines 39-41 of the computing device 25 that are related to this description may, in some implementations, be performed by external engines (not shown) or distributed between the engines of the computing device 25 and other electronic/computing devices.
- additional components e.g., processor, machine-readable storage medium, etc.
- the computing device 25 may include communication interfaces (e.g., a Wi-Fi® interface, a Bluetooth® interface, a 3G interface, a 4G interface, a near field communication (NFC) interface, etc.) that are used to connect with other devices/systems and/or to a network.
- the network may be a mesh sensor network (not shown).
- the network may include any suitable type or configuration of network to allow for communication between the computing device 25, sources 10, leaf nodes 15, central node 20, and any other devices/systems (e.g., other computing devices, displays, etc.).
- Each of the engines 39-41 may include, for example, at least one hardware device including electronic circuitry for implementing the functionality described below, such as control logic and/or memory.
- the engines 39-41 may be implemented as any combination of hardware and software to implement the functionalities of the engines.
- the hardware may be a processor and the software may be a series of instructions or microcode encoded on a machine-readable storage medium and executable by the processor. Therefore, as used herein, an engine may include program code, e.g., computer executable instructions, hardware, firmware, and/or logic, or combination thereof to perform particular actions, tasks, and functions described in more detail herein in reference to Figures 2-3.
- the data engine 39 may receive data related to an object (not shown) from at least one source 10 in communication with a first leaf node 15 from a plurality of leaf nodes.
- sources 10 may be internet protocol ("IP") cameras that may take images of a specific field of view at a certain rate and send the images to at least one leaf node 15.
- IP internet protocol
- the data related to the object may be any other type of data that can be retrieved by a source and sent to a leaf node.
- Each source 10 from the plurality of sources may be assigned to a leaf node 15, such that the node 15 may be in charge of the source 10.
- a source may deliver the data it has collected to the node, the node may control how the source performs any given task (e.g., determine parameters, time, etc.), the node may configure the source, the node may monitor the source (e.g., for fault, errors, etc.), etc.
- each source 10 is assigned to the node 15 that is closest to that source.
- the processing engine 40 may extract data features from the data related to the object to create or generate a visual signature of the object and to transform the data features to a coded signature of the object. In one implementation, that process may be performed on a leaf node 15 that is in charge of the source 10 providing the data (i.e., the source 10 is assigned to the node 15). For example, the processing engine 40 may extract a plurality of original data features (e.g., texture, color, etc.) from the received data related to the object to create a visual signature of the object.
- the term "visual signature" refers to a combination of original data features extracted from data associated with an object that may be used to identify the object.
- the data features and the visual signatures of the objects may be stored at the leaf node 15 in charge of the source 10 providing the data. The different techniques for creating visual signatures of the objects the data features will be described in more details below.
- the processing engine 40 may transform the data features of the object to generate to a coded signature of the object.
- coded signature refers to a combination of transformed and/or digested data features for an object (e.g., a compilation or summary of material or information of the object) that preserve the similarity between objects.
- the coded signature of the object may be in the form of a hash (e.g., orthogonal transform based hash, Walsh Hadamard Transform ("WHT”) hash, etc.) or any other type of data digest generated from a data string, where the coded signature is substantially smaller than the original data.
- WHT Walsh Hadamard Transform
- the hashing process (i.e., generating a coded signature) may be performed at a leaf node 15 and the coded signature may be stored at a local gallery of the node 15. Then, the coded signature of the object may be sent to a group of neighboring leaf nodes 15 and the central node 20 to be stored at a global gallery. Before sending the coded signature, the processing engine 40 may filter the coded signatures to ensure no duplicates are sent to the leaf nodes.
- the different techniques for generating a coded signature of the data features of an object will be described in more details below.
- the re-identification analysis engine 41 may perform a distributed multi-level re-identification of the object initially detected by the source 10.
- the engine 41 may use the visual signature of the object in a first level of re-identification and the engine 41 may use the coded signature of the object in at least one different level of re-identification.
- the re-identification analysis engine 41 may perform the first level of re-identification (i.e., local matching) on a first leaf node 15 (i.e., the node that received the object data from a source) by comparing the visual signature of the object to visual signatures stored at the first leaf node (e.g., at a local gallery).
- the original data features of the identified object may be compared to a plurality of visual signatures.
- the first level of re-identification achieves a high accuracy, but it may be slow to process because it may use a linear scan of the local gallery (e.g., one to one comparison).
- the engine 41 may perform clustering before the linear scan in order to speed the re- identification.
- the re-identification analysis engine 41 may perform a second level of re-identification (i.e., neighborhood matching) on each of a group of leaf nodes 15 that are neighboring the first leaf node (i.e., the node that received the object data from a source).
- the second level of re-identification may be performed by comparing the coded signature of the object to existing coded signatures stored at each of the neighboring leaf nodes.
- each leaf node 15 stores a plurality of coded signatures from sources 10 in communication with the leaf node in a local gallery
- the central node 20 stores coded signatures collected from the plurality of leaf nodes 10 in a global gallery. These galleries may include records of known objects that were previously detected and identified by the system.
- the leaf node 15 may send the created coded signature to its neighboring nodes for further processing/matching.
- each leaf node 15 may be aware of its neighboring leaf nodes. As explained in additional details below, different techniques may be used to define the neighboring nodes of a node 15.
- the re-identification analysis engine 41 may perform a third level of re-identification (e.g., global matching) on a central node 20 connected to the plurality of leaf nodes 15 by comparing the coded signature of the object to existing coded signatures stored at the central node.
- the third level of re-identification may be performed by comparing the coded signature of the object to existing coded signatures stored at the central node (e.g., at a global gallery).
- the leaf node 15 e.g., the engine 41
- a global gallery in the central node may store coded signatures (e.g., hashed items) of every object ever detected within the network. Storing and comparing only coded signatures of objects takes less space and is much faster.
- the re-identification analysis 41 engine may further add the coded signature of the object to the global gallery of the central node 20 as a new record of a known object when at least one of the first level of re-identification and the second level of re-identification is successful.
- the engine 41 may add the coded signature of the object to the global gallery of the central node 20 as a new record of a known object and may add the visual signature of the object to a local gallery of the first leaf node 15 as a new record of a known object when the third level of re-identification is successful.
- the engine 41 may add the coded signature of the object to the global gallery of the central node as a new record of a new object and add the visual signature of the object to a local gallery of the first leaf node as a new record of a new object when the multi-level re- identification is unsuccessful. That way, the galleries are continuously updated with data for new records.
- Figure 2 illustrates a flow chart showing an example of a method 100 for object re-identification. Although execution of the method 100 is described below with reference to the system 5, the components for executing the method 100 may be spread among multiple devices/systems.
- the method 100 may be implemented in the form of executable instructions stored on a machine- readable storage medium, and/or in the form of electronic circuitry.
- the method 100 can be executed by at least one processor of a computing device (e.g., device 25). In other examples, the method may be executed by another processor in communication with the system 5.
- a computing device e.g., device 25
- the method may be executed by another processor in communication with the system 5.
- Various elements or blocks described herein with respect to the method 100 are capable of being executed simultaneously, in parallel, or in an order that differs from the illustrated serial manner of execution.
- the method 100 is also capable of being executed using additional or fewer elements than are shown in the illustrated examples.
- the method 100 begins at 1 10, where a processor may receive data related to an object from at least one source in communication with a first leaf node from a plurality of leaf nodes.
- the source may be any type of source that may provide any type of data related to an object.
- the processor may create a visual signature of the object by using data features from the data related to the object.
- the processor may extract data features from the data related to the object to generate the visual signature of the object.
- the visual signature of an object can be computed or generated by using various color or texture descriptors of the object. Hue-saturation-value ("HSV") and LAB color histograms may be used to describe the color feature of an object.
- HSV Hue-saturation-value
- LBP Local binary patterns
- the image of the object may be divided into equal sized blocks and the color and LBP features from each block may be concatenated to form the final visual signature of the entire object.
- Other data features of an object may also be used for creating a visual signature and for re-identification.
- semantic color names may be used to describe an object instead of using simple color histograms.
- the color names are high level color descriptors that can be well interpreted by humans and are more robust as compared to color histograms.
- the processor may use an ensemble of color and texture features including RGB, YCbCr, HSV color histograms, and two types of texture features extracted by Schmid and Gabor filters computed across different radiuses and scales to create a visual signature.
- the features may be extracted from image blocks and the final visual signature may consist of features from all blocks.
- a neural network may be used for creating a visual signature.
- misalignment, pose difference, occlusions and background clutter data features may be jointly handled with abundant data.
- the deep neural network is able to learn the visual signature directly from image intensities.
- that visual signature generation process may be performed on a leaf node 15 in charge of the source 10 providing the data (i.e., the source 10 is assigned to the leaf node 15).
- the processor may generate a coded signature of the object by using the data features (at 130).
- the coded signature may be generated as a hash or any other type of data digest based on the received data features.
- a data object may be represented as an N-dimensional numerical vector A and it may be mapped to a set of H keys. Each key may be an integer chosen from a universe of keys from 1 ...U.
- the process of generating a coded signature may be performed at a leaf node 15 (e.g., the leaf node that received the object data from the source 10).
- the coded signature of an object may be stored at a local gallery of the leaf node 15 (i.e., the node that received the object data from the source 10), and may also be sent to the central node 20 to be stored at a global gallery.
- a processor may perform a local re-identification of the object by using the visual signature.
- the local re- identification may be performed on a leaf node 15 (e.g., the leaf node 15 that received the object data from the source 10) by comparing the visual signature of the object to visual signatures stored at a local gallery of the leaf node 15.
- the local gallery may include a list of objects that have corresponding visual signatures and associated IDs.
- the original data features of the identified object in the form of a visual signature
- the ID of the stored object is assigned to the new object. If the visual signature of the object is not matched, neighborhood re-identification is performed next.
- the processor may perform clustering of the received data related to the object before local re-identification is performed.
- the objects in the local gallery of the node 15 may be first partitioned into multiple clusters.
- clustering methods e.g., affinity propagation algorithm ("APA)" clustering, K-means clustering, spectral clustering, etc.
- APA clustering may perform message passing among the data points and cluster centers may be automatically selected based on two types of messages: responsibility and availability.
- a cluster center is so-called exemplar which is representative of the data in this cluster.
- the local gallery is clustered, given a query (e.g., a visual signature), it is first compared with the exemplars from all the clusters. Then, a linear search may be performed in the cluster whose exemplar is closest to the query. In this manner, the search space during local re-identification is reduced.
- a query e.g., a visual signature
- the processor may then perform a neighborhood re-identification of the object by using the coded signature (at 150).
- the neighborhood re-identification is performed on each of a group of leaf nodes 15 that are neighboring a leaf node (e.g., the leaf node 15 that received the object data from the source 10) by comparing the coded signature of the object to existing coded signatures stored at each of the neighboring leaf nodes.
- Various matching techniques may be used to match the coded signature to the plurality of coded signatures stored at the neighboring nodes 15.
- each leaf node 15 includes a local gallery with coded signatures related to different objects.
- a group of neighboring leaf nodes 15 may be defined geographically (e.g., within 500 feet from a node 15), may be defined based on a numerical value (e.g., the three closest nodes), may be based on a field of sensing (e.g., when the leaf nodes have overlapping field of view/sensing they), may be defined in any other applicable way.
- Each leaf node 15 may have a predefined or flexible number of neighboring leaf nodes 15. However, each leaf nodes 15 may be aware of its neighboring leaf nodes at all times.
- the ID of the stored object is returned to the leaf node 15 that initially detected the object.
- the processor may then assign an ID of the matched object to the new object and may store that data accordingly (e.g., in the local gallery, the global gallery of the central node, etc.). Also, the processor may add the coded signature of the object to the global gallery of the central node 20 as a new record of a known object when at least one of the local re-identification and the neighborhood re-identification is successful. If the coded signature of the object is not matched to any of neighboring leaf node 15, global re-identification is performed next.
- the processor may perform a global re-identification of the object by using the coded signature.
- the global re- identification is performed on a central node 20 connected to the plurality of leaf nodes 15 by comparing the coded signature of the object to existing coded signatures stored at the central node.
- the different levels of re- identifications of the detected object are performed by utilizing different data feature spaces (e.g., visual signatures vs. coded signatures) at the different levels.
- the central node 20 includes a global gallery with coded signatures from all leaf nodes 15 in communication with the central node 20 (i.e., potentially capturing objects detected from all sources 10 within the network).
- Various matching techniques may be used to match the coded signature to the plurality of coded signatures stored at the central node.
- the processor may add the coded signature of the object to the global gallery of the central node 20 as a new record of a known object and may also add the visual signature of the object to a local gallery of the leaf node 15 (i.e., the node that first received the object data) as a new record of a known object. Further, if all three levels of re- identification are not successful, the processor may add the coded signature of the object to the global gallery of the central node 20 as a new record of a new object. In addition, the processor may add the visual signature of the object to a local gallery of the leaf node (i.e., that first received the object data) as a new record of a new object. That way, the galleries are continuously updated.
- a typical feature descriptor for the purpose of person re-identification
- a typical feature descriptor for a single image of a person consists of about 70,000 features (e.g., real-valued numbers representing texture plus color histogram from densely sampled image regions).
- Such feature descriptor may be transformed into a WHT hash coded signature of 100 dimensions (i.e., 100 unsigned integers/ 400 bytes). Sending the coded signature between leaf nodes 15 reduces network traffic in the system 5.
- using the WHT has coded signatures on the central node increases retrieval efficiency.
- Figure 3 illustrates a computer 301 and a non-transitory machine- readable medium 305 according to an example.
- the computer 301 maybe similar to the computing device 25 of the system 5 or may include a plurality of computers.
- the computer may be a server computer, a workstation computer, a desktop computer, a laptop, a mobile device, or the like, and may be part of a distributed system.
- the computer may include one or more processors and one or more machine-readable storage media.
- the computer may include a user interface (e.g., touch interface, mouse, keyboard, gesture input device, etc.).
- Computer 301 may perform method 100 and variations thereof. Additionally, the functionality implemented by computer 301 may be part of a larger software platform, system, application, or the like. Computer 301 may be connected to a database (not shown) via a network.
- the network may be any type of communications network, including, but not limited to, wire-based networks (e.g., cable), wireless networks (e.g., cellular, satellite), cellular telecommunications network(s), and IP-based telecommunications network(s) (e.g., Voice over Internet Protocol networks).
- the network may also include traditional landline or a public switched telephone network (PSTN), or combinations of the foregoing.
- PSTN public switched telephone network
- the computer 301 may include a processor 303 and non- transitory machine-readable storage medium 305.
- the processor 303 e.g., a central processing unit, a group of distributed processors, a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), a graphics processor, a multiprocessor, a virtual processor, a cloud processing system, or another suitable controller or programmable device
- ASIC application-specific integrated circuit
- GPU e.g., a graphics processor
- multiprocessor e.g., a multiprocessor
- virtual processor e.g., a virtual processor, a cloud processing system, or another suitable controller or programmable device
- the storage medium 305 may be operatively coupled to a bus.
- Processor 303 can include single or multiple cores on a chip, multiple cores across multiple chips, multiple cores across multiple devices, or combinations thereof.
- the storage medium 305 may include any suitable type, number, and configuration of volatile or non-transitory machine-readable storage media to store instructions and data.
- machine-readable storage media in include read-only memory (“ROM”), random access memory (“RAM”) (e.g., dynamic RAM ["DRAM”], synchronous DRAM ["SDRAM”], etc.), electrically erasable programmable read-only memory (“EEPROM”), magnetoresistive random access memory (MRAM), memristor, flash memory, SD card, floppy disk, compact disc read only memory (CD-ROM), digital video disc read only memory (DVD-ROM), and other suitable magnetic, optical, physical, or electronic memory on which software may be stored.
- ROM read-only memory
- RAM random access memory
- EEPROM electrically erasable programmable read-only memory
- MRAM magnetoresistive random access memory
- CD-ROM compact disc read only memory
- DVD-ROM digital video disc read only memory
- Software stored on the non-transitory machine-readable storage media 305 and executed by the processor 303 includes, for example, firmware, applications, program data, filters, rules, program modules, and other executable instructions.
- the processor 303 retrieves from the machine- readable storage media 305 and executes, among other things, instructions related to the control processes and methods described herein.
- the processor 303 may fetch, decode, and execute instructions 307-31 1 among others, to implement various processing.
- processor 303 may include at least one integrated circuit (IC), other control logic, other electronic circuits, or combinations thereof that include a number of electronic components for performing the functionality of instructions 307-31 1 . Accordingly, processor 303 may be implemented across multiple processing units and instructions 307-31 1 may be implemented by different processing units in different areas of computer 301 .
- IC integrated circuit
- the instructions 307-31 1 when executed by processor 303 can cause processor 303 to perform processes, for example, method 100, and/or variations and portions thereof. In other examples, the execution of these and other methods may be distributed between the processor 303 and other processors in communication with the processors 303.
- data receiving instructions 307 may cause processor 303 to receive data related to an object from at least one source 10 in communication with a first leaf node 15 from a plurality of leaf nodes. These instructions may function similarly to the techniques described in block 1 10 of method 100.
- Data processing instructions 309 may cause the processor 303 to extract data features from the data related to the object to generate a visual signature of the object and to generate a coded signature of the object from the extracted data features. These instructions may function similarly to the techniques described blocks 120 and 130 of method 100. For example, the processing instructions 309 may cause the processor 303 to transform the extracted data features of the object to generate to a visual signature and a coded signature of the object that is used in the subsequent re-identification process.
- Re-identification instructions 31 1 may cause the processor 303 to perform a three-level re-identification analysis of the object by using the visual signature of the object in the first level of re-identification and the coded signature of the object in at least one different level of re-identification (e.g., the second or the third level of re-identification). These instructions may function similarly to the techniques described blocks 140-160 of method 100.
- re-identification instructions 31 1 may cause the processor 303 to: perform the first level of re-identification on the first leaf node 15 by comparing the visual signature of the object to visual signatures stored at the first leaf node 15, perform a second level of re-identification on each of a group of leaf nodes 15 that are neighboring the first leaf node 15 by comparing the coded signature of the object to existing coded signatures stored at each of the neighboring leaf nodes, and perform a third level of re-identification on a central node 20 connected to the plurality of leaf nodes by comparing the coded signature of the object to existing coded signatures stored at the central node.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
An example system is provided in according with one implementation of the present disclosure. The system includes a data engine to receive data related to an object from at least one source in communication with a first leaf node from a plurality of leaf nodes. The system also includes a processing engine to extract data features from the data related to the object to create a visual signature of the object and to transform the data features to a coded signature of the object. The system also includes a re-identification analysis engine to perform a multi-level re-identification of the object, wherein the visual signature of the object is used in a first level of re-identification and the coded signature of the object is used in at least one different level of re-identification.
Description
MULTI-LEVEL OBJECT RE-IDENTIFICATION
BACKGROUND
[0001] Generally, object re-identification aims to recognize an object when its presence occurs more than once. With the recent improvements in technology, accurate and efficient object re-identification has been a desirable goal for many organizations. The collected re-identification information may be used for different purposes and may be of a high value to these organizations.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Figure 1 is a schematic illustration of an example system for object re-identification in accordance with an implementation of the present disclosure.
[0003] Figure 2 illustrates a flow chart showing an example of a method for object re-identification in accordance with an implementation of the present disclosure.
[0004] Figure 3 is an example block diagram illustrating a computer- readable medium in accordance with an implementation of the present disclosure.
DETAILED DESCRIPTION OF SPECIFIC EXAMPLES
[0005] As noted above, with the recent improvements in technology, the desire for accurate and efficient object re-identification is becoming increasingly popular in all industries. The goal of re-identification is to detect an object and determine whether that object has appeared before in an environment by matching the identity of the recognized object as compared against other known identities. As used herein, the term "object" may refer to any type of object that can be re-identified by using data related to that object. Examples of objects may include people, images, audio signals, vehicles, documents, etc.
[0006] The information collected from the object re-identification process may be used in many different ways. For example, person re-identification is an important application for many industries including surveillance, security, and retail. The goal of person re-identification is to match individuals recognized in images or videos across different cameras at different time and locations.
Security entities may benefit from the ability to track and locate known suspects in a particular area. Business intelligent analysts can use person re- identification to analyze customer shopping behavior to estimate customer attention and dwell-time in a retail store. These statistics may be used by companies to develop targeted marketing and personalized recommendations. Other entities, which utilize individual matching or broad pattern matching across large data, may also benefit from the proposed framework.
[0007] Generally, object re-identification may be performed by comparing the detected object (e.g., the data features of the object) to a gallery of previously detected and/or stored objects. In other words, comparison and matching of the object is performed with the features of the object. Many times, no data scaling or normalization is performed when the object is initially detected and compared to existing objects. Thus, in many situations, large amounts of data need to pass through traffic in order for the re-identification to occur. This is generally a slow and inefficient way to process and compare data. Further, the accuracy of the re-identification may be compromised due to the large amounts of data passing through the network, which may cause various different problems for the network.
[0008] Due to the encumbrances described above, improved systems and techniques for object re-identification are desired. The present description is directed to an enhanced solution for object re-identification that performs a distributed multi-level re-identification of an object. Specifically, implementations of the disclosed technology provide a system that executes efficient three-level matching of a detected object by utilizing different data feature spaces at the different levels.
[0009] In one example, local re-identification (i.e., first level) is performed locally on a leaf node that is in communication with a source (e.g., a sensor) that detected the object and provided the data related to the object. Local re- identification may use the original data feature descriptors of the object to perform the re-identification. Then, neighborhood re-identification (i.e., second level) is performed on a group of neighboring leaf nodes. Finally, if required, global re-identification (i.e., third level) is executed on a central node connected
to the plurality of leaf nodes. The original data features of the object may be transformed to a coded signature (e.g., orthogonal transform based hash, etc.) of the object and only the coded signature of the object (as opposed to the original data features) may be used in the neighborhood and the global re- identification.
[0010] Thus, the proposed technology allows for efficient and accurate object re-identification. Scalability is ensured via local matching in a reduced search space, in addition to neighborhood and global matching with coded signatures. Unlike conventional object re-identification frameworks, both the data acquisition and data processing are distributed throughout a mesh network. By utilizing a three-level distributed matching protocol, the proposed solution only uses original feature descriptors of the object at the local re- identification level. That removes the need to transmit raw data (e.g., images, etc.) across the network. Distributing the matching process by using the coded signature in the second and third re-identification levels improves the overall efficiency especially in large-scale sensor networks. That way, through usage of coded signatures information leakage is minimized.
[0011] In the following detailed description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific examples in which the disclosed subject matter may be practiced. It is to be understood that other examples may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description ad should not be regarded as limiting. The use of "including," "comprising" or "having" and variations thereof herein is meant to encompass the items listed thereafter and equivalents thereof as well as additional items. Furthermore, the term "based on," as used herein, means "based at least in part on." It should also be noted that a plurality of hardware and software based devices, as well as a plurality of
different structural components may be used to implement the disclosed methods and devices.
[0012] Referring now to the figures, Figure 1 is a schematic illustration of an example system 5 for object re-identification. The illustrated system 5 is capable of carrying out the techniques described below. As shown in Figure 1 , the system 5 is depicted as including at least one source 10 (e.g., a sensor, etc.), the source in communication with at least one leaf node 15 from a plurality of leaf nodes, at least one central node 20, and a computing device 25 including engines 39-41 . Although only computing device 25 is described in details below, the techniques described herein may be performed with several computing devices or with engines distributed on different devices.
[0013] In one example, sources 10 may be sensors (e.g., cameras, etc.) detecting objects (not shown) and providing data related to these objects. A leaf node may 15 may be any type of a processing unit, a computing device, or a workstation with moderate processing power. In one implementation, the central node 20 may be a single processing unit with large memory to store a global set of data from all leaf nodes 15. However, the central node 20 may also include be a cluster of machines or processing units.
[0014] The computing device 25 may be any type of a computing device and may include at least engines 39-41 . In one example, the computing device 25 may be any of the leaf nodes 15 or the central node 20. In another example, the computing device 25 may be an independent computing device. In yet another alternative example, engines 39-41 may be distributed on the leaf nodes 15, the central node 20, or any other computing device.
[0015] The computing device 25 may include additional components (e.g., processor, machine-readable storage medium, etc.) and some of the components depicted therein may be removed and/or modified without departing from a scope of the system that allows for carrying out the functionality described herein. It is to be understood that the operations described as being performed by the engines 39-41 of the computing device 25 that are related to this description may, in some implementations, be performed
by external engines (not shown) or distributed between the engines of the computing device 25 and other electronic/computing devices.
[0016] The computing device 25 may include communication interfaces (e.g., a Wi-Fi® interface, a Bluetooth® interface, a 3G interface, a 4G interface, a near field communication (NFC) interface, etc.) that are used to connect with other devices/systems and/or to a network. In one example, the network may be a mesh sensor network (not shown). The network may include any suitable type or configuration of network to allow for communication between the computing device 25, sources 10, leaf nodes 15, central node 20, and any other devices/systems (e.g., other computing devices, displays, etc.).
[0017] Each of the engines 39-41 may include, for example, at least one hardware device including electronic circuitry for implementing the functionality described below, such as control logic and/or memory. In addition or as an alternative, the engines 39-41 may be implemented as any combination of hardware and software to implement the functionalities of the engines. For example, the hardware may be a processor and the software may be a series of instructions or microcode encoded on a machine-readable storage medium and executable by the processor. Therefore, as used herein, an engine may include program code, e.g., computer executable instructions, hardware, firmware, and/or logic, or combination thereof to perform particular actions, tasks, and functions described in more detail herein in reference to Figures 2-3.
[0018] In one example, the data engine 39 may receive data related to an object (not shown) from at least one source 10 in communication with a first leaf node 15 from a plurality of leaf nodes. For instance, sources 10 may be internet protocol ("IP") cameras that may take images of a specific field of view at a certain rate and send the images to at least one leaf node 15. In other instances, the data related to the object may be any other type of data that can be retrieved by a source and sent to a leaf node. Each source 10 from the plurality of sources may be assigned to a leaf node 15, such that the node 15 may be in charge of the source 10. Thus, a source may deliver the data it has collected to the node, the node may control how the source performs any given task (e.g., determine parameters, time, etc.), the node may configure the
source, the node may monitor the source (e.g., for fault, errors, etc.), etc. In some examples, each source 10 is assigned to the node 15 that is closest to that source.
[0019] The processing engine 40 may extract data features from the data related to the object to create or generate a visual signature of the object and to transform the data features to a coded signature of the object. In one implementation, that process may be performed on a leaf node 15 that is in charge of the source 10 providing the data (i.e., the source 10 is assigned to the node 15). For example, the processing engine 40 may extract a plurality of original data features (e.g., texture, color, etc.) from the received data related to the object to create a visual signature of the object. As used herein, the term "visual signature" refers to a combination of original data features extracted from data associated with an object that may be used to identify the object. In one example, the data features and the visual signatures of the objects may be stored at the leaf node 15 in charge of the source 10 providing the data. The different techniques for creating visual signatures of the objects the data features will be described in more details below.
[0020] Further, the processing engine 40 may transform the data features of the object to generate to a coded signature of the object. As used herein, the term "coded signature" refers to a combination of transformed and/or digested data features for an object (e.g., a compilation or summary of material or information of the object) that preserve the similarity between objects. In one example, the coded signature of the object may be in the form of a hash (e.g., orthogonal transform based hash, Walsh Hadamard Transform ("WHT") hash, etc.) or any other type of data digest generated from a data string, where the coded signature is substantially smaller than the original data. The hashing process (i.e., generating a coded signature) may be performed at a leaf node 15 and the coded signature may be stored at a local gallery of the node 15. Then, the coded signature of the object may be sent to a group of neighboring leaf nodes 15 and the central node 20 to be stored at a global gallery. Before sending the coded signature, the processing engine 40 may filter the coded signatures to ensure no duplicates are sent to the leaf nodes. The different
techniques for generating a coded signature of the data features of an object will be described in more details below.
[0021] The re-identification analysis engine 41 may perform a distributed multi-level re-identification of the object initially detected by the source 10. In one implementation, the engine 41 may use the visual signature of the object in a first level of re-identification and the engine 41 may use the coded signature of the object in at least one different level of re-identification.
[0022] For example, the re-identification analysis engine 41 may perform the first level of re-identification (i.e., local matching) on a first leaf node 15 (i.e., the node that received the object data from a source) by comparing the visual signature of the object to visual signatures stored at the first leaf node (e.g., at a local gallery). Thus, the original data features of the identified object may be compared to a plurality of visual signatures. By comparing the original features in object, the first level of re-identification achieves a high accuracy, but it may be slow to process because it may use a linear scan of the local gallery (e.g., one to one comparison). As explained in additional details below, the engine 41 may perform clustering before the linear scan in order to speed the re- identification.
[0023] In addition, the re-identification analysis engine 41 may perform a second level of re-identification (i.e., neighborhood matching) on each of a group of leaf nodes 15 that are neighboring the first leaf node (i.e., the node that received the object data from a source). The second level of re-identification may be performed by comparing the coded signature of the object to existing coded signatures stored at each of the neighboring leaf nodes. In one example, each leaf node 15 stores a plurality of coded signatures from sources 10 in communication with the leaf node in a local gallery, and the central node 20 stores coded signatures collected from the plurality of leaf nodes 10 in a global gallery. These galleries may include records of known objects that were previously detected and identified by the system.
[0024] Thus, if local matching of the object is not successful, the leaf node 15 may send the created coded signature to its neighboring nodes for further processing/matching. In some examples, each leaf node 15 may be
aware of its neighboring leaf nodes. As explained in additional details below, different techniques may be used to define the neighboring nodes of a node 15.
[0025] Generally, there is a higher probability that an object has been previously detected within a close vicinity of its current location. Therefore, the neighboring leaf nodes are examined to determine if the object can be re- identified. In that case, data needs to be sent over the network to perform the matching. However, sending a coded signature (e.g. a hash) makes the transfer of data fast and the consequent searching on the plurality of neighboring leaf nodes very efficient.
[0026] Further, the re-identification analysis engine 41 may perform a third level of re-identification (e.g., global matching) on a central node 20 connected to the plurality of leaf nodes 15 by comparing the coded signature of the object to existing coded signatures stored at the central node. The third level of re-identification may be performed by comparing the coded signature of the object to existing coded signatures stored at the central node (e.g., at a global gallery). In other words, if the neighborhood re-identification of the object is not successful, the leaf node 15 (e.g., the engine 41 ) sends the created coded signature to the central node for further processing/matching. A global gallery in the central node may store coded signatures (e.g., hashed items) of every object ever detected within the network. Storing and comparing only coded signatures of objects takes less space and is much faster.
[0027] The re-identification analysis 41 engine may further add the coded signature of the object to the global gallery of the central node 20 as a new record of a known object when at least one of the first level of re-identification and the second level of re-identification is successful. In addition, the engine 41 may add the coded signature of the object to the global gallery of the central node 20 as a new record of a known object and may add the visual signature of the object to a local gallery of the first leaf node 15 as a new record of a known object when the third level of re-identification is successful. Further, the engine 41 may add the coded signature of the object to the global gallery of the central node as a new record of a new object and add the visual signature of the object to a local gallery of the first leaf node as a new record of a new object when the
multi-level re- identification is unsuccessful. That way, the galleries are continuously updated with data for new records.
[0028] Figure 2 illustrates a flow chart showing an example of a method 100 for object re-identification. Although execution of the method 100 is described below with reference to the system 5, the components for executing the method 100 may be spread among multiple devices/systems. The method 100 may be implemented in the form of executable instructions stored on a machine- readable storage medium, and/or in the form of electronic circuitry.
[0029] In one example, the method 100 can be executed by at least one processor of a computing device (e.g., device 25). In other examples, the method may be executed by another processor in communication with the system 5. Various elements or blocks described herein with respect to the method 100 are capable of being executed simultaneously, in parallel, or in an order that differs from the illustrated serial manner of execution. The method 100 is also capable of being executed using additional or fewer elements than are shown in the illustrated examples.
[0030] The method 100 begins at 1 10, where a processor may receive data related to an object from at least one source in communication with a first leaf node from a plurality of leaf nodes. As mentioned above, the source may be any type of source that may provide any type of data related to an object.
[0031] At 120, the processor may create a visual signature of the object by using data features from the data related to the object. In one implementation, the processor may extract data features from the data related to the object to generate the visual signature of the object. In one example, the visual signature of an object can be computed or generated by using various color or texture descriptors of the object. Hue-saturation-value ("HSV") and LAB color histograms may be used to describe the color feature of an object. Local binary patterns (LBP) may be used to define the texture feature of an object. In one example, to extract the visual signature of an object, the image of the object may be divided into equal sized blocks and the color and LBP features from each block may be concatenated to form the final visual signature of the entire object.
[0032] Other data features of an object may also be used for creating a visual signature and for re-identification. For example, semantic color names may be used to describe an object instead of using simple color histograms. The color names are high level color descriptors that can be well interpreted by humans and are more robust as compared to color histograms. In another example, the processor may use an ensemble of color and texture features including RGB, YCbCr, HSV color histograms, and two types of texture features extracted by Schmid and Gabor filters computed across different radiuses and scales to create a visual signature. In these methods, the features may be extracted from image blocks and the final visual signature may consist of features from all blocks.
[0033] In another proposed approach, a neural network may be used for creating a visual signature. For example, misalignment, pose difference, occlusions and background clutter data features may be jointly handled with abundant data. Instead of extracting hand crafted features such as color histogram or LBP, the deep neural network is able to learn the visual signature directly from image intensities. In one implementation, that visual signature generation process may be performed on a leaf node 15 in charge of the source 10 providing the data (i.e., the source 10 is assigned to the leaf node 15).
[0034] With continued reference to Figure 2, the processor may generate a coded signature of the object by using the data features (at 130). In one implementation, the coded signature may be generated as a hash or any other type of data digest based on the received data features. For example, a data object may be represented as an N-dimensional numerical vector A and it may be mapped to a set of H keys. Each key may be an integer chosen from a universe of keys from 1 ...U. The mapping process may include multiple steps: (a) an extended version of A (called A') is generated by concatenating A d times where d = floor(U/N); (b) an orthogonal transform of a randomly permutated copy of the extended vector A' is computed; and (c) the indices of the H largest members of the transform represent the coded signature for A. In one example, the process of generating a coded signature may be performed at a leaf node 15 (e.g., the leaf node that received the object data from the source 10). When
generated, the coded signature of an object may be stored at a local gallery of the leaf node 15 (i.e., the node that received the object data from the source 10), and may also be sent to the central node 20 to be stored at a global gallery.
[0035] At 140, a processor may perform a local re-identification of the object by using the visual signature. In one implementation, the local re- identification may be performed on a leaf node 15 (e.g., the leaf node 15 that received the object data from the source 10) by comparing the visual signature of the object to visual signatures stored at a local gallery of the leaf node 15. The local gallery may include a list of objects that have corresponding visual signatures and associated IDs. Thus, the original data features of the identified object (in the form of a visual signature) may be compared to a plurality of visual signatures of objects previously detected by any sources 10 that provides data to that leaf node 15. If the visual signature of the object is matched to an existing signature in the local gallery, the ID of the stored object is assigned to the new object. If the visual signature of the object is not matched, neighborhood re-identification is performed next.
[0036] In some implementations, the processor may perform clustering of the received data related to the object before local re-identification is performed. For example, the objects in the local gallery of the node 15 may be first partitioned into multiple clusters. Various clustering methods (e.g., affinity propagation algorithm ("APA)" clustering, K-means clustering, spectral clustering, etc.) may be used. In one example, APA clustering may perform message passing among the data points and cluster centers may be automatically selected based on two types of messages: responsibility and availability. As used herein, a cluster center is so-called exemplar which is representative of the data in this cluster. Once the local gallery is clustered, given a query (e.g., a visual signature), it is first compared with the exemplars from all the clusters. Then, a linear search may be performed in the cluster whose exemplar is closest to the query. In this manner, the search space during local re-identification is reduced.
[0037] With continued reference to Figure 2, the processor may then perform a neighborhood re-identification of the object by using the coded
signature (at 150). In one implementation, the neighborhood re-identification is performed on each of a group of leaf nodes 15 that are neighboring a leaf node (e.g., the leaf node 15 that received the object data from the source 10) by comparing the coded signature of the object to existing coded signatures stored at each of the neighboring leaf nodes. Various matching techniques may be used to match the coded signature to the plurality of coded signatures stored at the neighboring nodes 15.
[0038] Thus, after an unsuccessful local re-identification, neighborhood re-identification is performed at the neighboring nodes 15 of the node that initially received the object data. As noted above, each leaf node 15 includes a local gallery with coded signatures related to different objects. In some implementations, a group of neighboring leaf nodes 15 may be defined geographically (e.g., within 500 feet from a node 15), may be defined based on a numerical value (e.g., the three closest nodes), may be based on a field of sensing (e.g., when the leaf nodes have overlapping field of view/sensing they), may be defined in any other applicable way. Each leaf node 15 may have a predefined or flexible number of neighboring leaf nodes 15. However, each leaf nodes 15 may be aware of its neighboring leaf nodes at all times.
[0039] If the coded signature of the object is matched to an existing coded signature in the local gallery of a neighboring leaf node 15, the ID of the stored object is returned to the leaf node 15 that initially detected the object. The processor may then assign an ID of the matched object to the new object and may store that data accordingly (e.g., in the local gallery, the global gallery of the central node, etc.). Also, the processor may add the coded signature of the object to the global gallery of the central node 20 as a new record of a known object when at least one of the local re-identification and the neighborhood re-identification is successful. If the coded signature of the object is not matched to any of neighboring leaf node 15, global re-identification is performed next.
[0040] At 160, the processor may perform a global re-identification of the object by using the coded signature. In one implementation, the global re- identification is performed on a central node 20 connected to the plurality of leaf
nodes 15 by comparing the coded signature of the object to existing coded signatures stored at the central node. Thus, the different levels of re- identifications of the detected object are performed by utilizing different data feature spaces (e.g., visual signatures vs. coded signatures) at the different levels.
[0041] After an unsuccessful neighborhood re-identification, global re- identification is performed at the central node 20. As noted above, the central node 20 includes a global gallery with coded signatures from all leaf nodes 15 in communication with the central node 20 (i.e., potentially capturing objects detected from all sources 10 within the network). Various matching techniques may be used to match the coded signature to the plurality of coded signatures stored at the central node.
[0042] If the coded signature of the object is matched to an existing coded signature in the global gallery of a central node 20, the processor may add the coded signature of the object to the global gallery of the central node 20 as a new record of a known object and may also add the visual signature of the object to a local gallery of the leaf node 15 (i.e., the node that first received the object data) as a new record of a known object. Further, if all three levels of re- identification are not successful, the processor may add the coded signature of the object to the global gallery of the central node 20 as a new record of a new object. In addition, the processor may add the visual signature of the object to a local gallery of the leaf node (i.e., that first received the object data) as a new record of a new object. That way, the galleries are continuously updated.
[0043] One example of how multi-level re-identification and utilizing coded signatures of object helps to increase the efficiency of the re-identification process is described below. In one implementation, a typical feature descriptor (for the purpose of person re-identification) for a single image of a person consists of about 70,000 features (e.g., real-valued numbers representing texture plus color histogram from densely sampled image regions). Such feature descriptor may be transformed into a WHT hash coded signature of 100 dimensions (i.e., 100 unsigned integers/ 400 bytes). Sending the coded signature between leaf nodes 15 reduces network traffic in the system 5. On
the other hand, using the WHT has coded signatures on the central node increases retrieval efficiency.
[0044] Figure 3 illustrates a computer 301 and a non-transitory machine- readable medium 305 according to an example. In one example, the computer 301 maybe similar to the computing device 25 of the system 5 or may include a plurality of computers. For example, the computer may be a server computer, a workstation computer, a desktop computer, a laptop, a mobile device, or the like, and may be part of a distributed system. The computer may include one or more processors and one or more machine-readable storage media. In one example, the computer may include a user interface (e.g., touch interface, mouse, keyboard, gesture input device, etc.).
[0045] Computer 301 may perform method 100 and variations thereof. Additionally, the functionality implemented by computer 301 may be part of a larger software platform, system, application, or the like. Computer 301 may be connected to a database (not shown) via a network. The network may be any type of communications network, including, but not limited to, wire-based networks (e.g., cable), wireless networks (e.g., cellular, satellite), cellular telecommunications network(s), and IP-based telecommunications network(s) (e.g., Voice over Internet Protocol networks). The network may also include traditional landline or a public switched telephone network (PSTN), or combinations of the foregoing.
[0046] The computer 301 may include a processor 303 and non- transitory machine-readable storage medium 305. The processor 303 (e.g., a central processing unit, a group of distributed processors, a microprocessor, a microcontroller, an application-specific integrated circuit (ASIC), a graphics processor, a multiprocessor, a virtual processor, a cloud processing system, or another suitable controller or programmable device) and the storage medium 305 may be operatively coupled to a bus. Processor 303 can include single or multiple cores on a chip, multiple cores across multiple chips, multiple cores across multiple devices, or combinations thereof.
[0047] The storage medium 305 may include any suitable type, number, and configuration of volatile or non-transitory machine-readable storage media
to store instructions and data. Examples of machine-readable storage media in include read-only memory ("ROM"), random access memory ("RAM") (e.g., dynamic RAM ["DRAM"], synchronous DRAM ["SDRAM"], etc.), electrically erasable programmable read-only memory ("EEPROM"), magnetoresistive random access memory (MRAM), memristor, flash memory, SD card, floppy disk, compact disc read only memory (CD-ROM), digital video disc read only memory (DVD-ROM), and other suitable magnetic, optical, physical, or electronic memory on which software may be stored.
[0048] Software stored on the non-transitory machine-readable storage media 305 and executed by the processor 303 includes, for example, firmware, applications, program data, filters, rules, program modules, and other executable instructions. The processor 303 retrieves from the machine- readable storage media 305 and executes, among other things, instructions related to the control processes and methods described herein.
[0049] The processor 303 may fetch, decode, and execute instructions 307-31 1 among others, to implement various processing. As an alternative or in addition to retrieving and executing instructions, processor 303 may include at least one integrated circuit (IC), other control logic, other electronic circuits, or combinations thereof that include a number of electronic components for performing the functionality of instructions 307-31 1 . Accordingly, processor 303 may be implemented across multiple processing units and instructions 307-31 1 may be implemented by different processing units in different areas of computer 301 .
[0050] The instructions 307-31 1 when executed by processor 303 (e.g., via one processing element or multiple processing elements of the processor) can cause processor 303 to perform processes, for example, method 100, and/or variations and portions thereof. In other examples, the execution of these and other methods may be distributed between the processor 303 and other processors in communication with the processors 303.
[0051] For example, data receiving instructions 307 may cause processor 303 to receive data related to an object from at least one source 10 in communication with a first leaf node 15 from a plurality of leaf nodes. These
instructions may function similarly to the techniques described in block 1 10 of method 100.
[0052] Data processing instructions 309 may cause the processor 303 to extract data features from the data related to the object to generate a visual signature of the object and to generate a coded signature of the object from the extracted data features. These instructions may function similarly to the techniques described blocks 120 and 130 of method 100. For example, the processing instructions 309 may cause the processor 303 to transform the extracted data features of the object to generate to a visual signature and a coded signature of the object that is used in the subsequent re-identification process.
[0053] Re-identification instructions 31 1 may cause the processor 303 to perform a three-level re-identification analysis of the object by using the visual signature of the object in the first level of re-identification and the coded signature of the object in at least one different level of re-identification (e.g., the second or the third level of re-identification). These instructions may function similarly to the techniques described blocks 140-160 of method 100. For example, re-identification instructions 31 1 may cause the processor 303 to: perform the first level of re-identification on the first leaf node 15 by comparing the visual signature of the object to visual signatures stored at the first leaf node 15, perform a second level of re-identification on each of a group of leaf nodes 15 that are neighboring the first leaf node 15 by comparing the coded signature of the object to existing coded signatures stored at each of the neighboring leaf nodes, and perform a third level of re-identification on a central node 20 connected to the plurality of leaf nodes by comparing the coded signature of the object to existing coded signatures stored at the central node.
[0054] In the foregoing description, numerous details are set forth to provide an understanding of the subject matter disclosed herein. However, implementations may be practiced without some or all of these details. Other implementations may include modifications and variations from the details discussed above. It is intended that the appended claims cover such modifications and variations.
Claims
1 . A system comprising:
a data engine to receive data related to an object from at least one source in communication with a first leaf node from a plurality of leaf nodes; a processing engine to extract data features from the data related to the object to create a visual signature of the object and to transform the data features to a coded signature of the object; and
a re-identification analysis engine to perform a multi-level re-identification of the object, wherein the visual signature of the object is used in a first level of re-identification and the coded signature of the object is used in at least one different level of re-identification.
2. The system of claim 1 , wherein the re-identification analysis engine is to perform the first level of re-identification on the first leaf node by comparing the visual signature of the object to visual signatures stored at the first leaf node, wherein the source is assigned to the first leaf node.
3. The system of claim 2, wherein the re-identification analysis engine is to perform a second level of re-identification on each of a group of leaf nodes that are neighboring the first leaf node by comparing the coded signature of the object to existing coded signatures stored at each of the neighboring leaf nodes.
4. The system of claim 3, wherein the re-identification analysis engine is to perform a third level of re-identification on a central node connected to the plurality of leaf nodes by comparing the coded signature of the object to existing coded signatures stored at the central node.
5. The system of claim 4, wherein each leaf node stores a plurality of coded signatures from sources in communication with the leaf node in a local
gallery, and wherein the central node stores coded signatures collected from the plurality of leaf nodes in a global gallery.
6. The system of claim 5, wherein the re-identification analysis engine is further to: add the coded signature of the object to the global gallery of the central node as a new record of a known object when at least one of the first level of re-identification and the second level of re-identification is successful.
7. The system of claim 5, wherein the re-identification analysis engine is further to:
add the coded signature of the object to the global gallery of the central node as a new record of a known object; and
add the visual signature of the object to a local gallery of the first leaf node as a new record of a known object when the third level of re-identification is successful.
8. The system of claim 5, wherein the re-identification analysis engine is further to:
add the coded signature of the object to the global gallery of the central node as a new record of a new object; and
add the visual signature of the object to a local gallery of the first leaf node as a new record of a new object when the multi-level re-identification is unsuccessful.
9. A method comprising, by at least one processor:
receiving data related to an object from at least one source in communication with a first leaf node from a plurality of leaf nodes;
creating a visual signature of the object by using data features from the data related to the object;
generating a coded signature of the object by using the data features; performing a local re-identification of the object by using the visual signature;
performing a neighborhood re-identification of the object by using the coded signature; and
performing a global re-identification of the object by using the coded signature.
10. The method of claim 9, wherein the local re-identification is performed on the first leaf node by comparing the visual signature of the object to visual signatures stored at the first leaf node.
1 1 . The method of claim 9, wherein the neighborhood re-identification is performed on each of a group of leaf nodes that are neighboring the first leaf node by comparing the coded signature of the object to existing coded signatures stored at each of the neighboring leaf nodes.
12. The method of claim 9, wherein the global re-identification is performed on a central node connected to the plurality of leaf nodes by comparing the coded signature of the object to existing coded signatures stored at the central node.
13. A non-transitory machine-readable storage medium encoded with instructions executable by at least one processor, the machine-readable storage medium comprising instructions to:
receive data related to an object from at least one source in communication with a first leaf node from a plurality of leaf nodes;
extract data features from the data related to the object to generate a visual signature of the object;
generate a coded signature of the object from the extracted data features; and
perform a three-level re-identification analysis of the object, by using the visual signature of the object in a first level of re-identification and the coded signature of the object in at least one different level of re-identification.
14. The non-transitory machine-readable storage medium of claim 13, further comprising instructions to: add the coded signature of the object to a global gallery of the central node as a new record of a known object when at least one of a first level of re-identification and a second level of re-identification is successful.
15. The non-transitory machine-readable storage medium of claim 14, further comprising instructions to:
add the coded signature of the object to the global gallery of the central node as a new record of a known object; and
add the visual signature of the object to a local gallery of the first leaf node as a new record of a known object when a third level of re-identification is successful.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2015/019014 WO2016140680A1 (en) | 2015-03-05 | 2015-03-05 | Multi-level object re-identification |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2015/019014 WO2016140680A1 (en) | 2015-03-05 | 2015-03-05 | Multi-level object re-identification |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2016140680A1 true WO2016140680A1 (en) | 2016-09-09 |
Family
ID=56848416
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2015/019014 Ceased WO2016140680A1 (en) | 2015-03-05 | 2015-03-05 | Multi-level object re-identification |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2016140680A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110458139A (en) * | 2019-08-19 | 2019-11-15 | 浙江工业大学 | A pre-matching method for pedestrian re-identification based on the color histogram of pedestrian body sub-regions |
| EP3836014B1 (en) * | 2019-12-11 | 2026-04-29 | Bull SAS | Method of tracking an element, associated electronic device and computer program product |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20070237357A1 (en) * | 2004-09-18 | 2007-10-11 | Low Colin A | Visual sensing for large-scale tracking |
| US20080258880A1 (en) * | 2007-01-10 | 2008-10-23 | Smith Richard A | Information Collecting and Decision Making Via Tiered Information Network Systems |
| US20100195872A1 (en) * | 2007-09-19 | 2010-08-05 | Panasonic Corporation | System and method for identifying objects in an image using positional information |
| US20120249802A1 (en) * | 2010-12-01 | 2012-10-04 | The Trustees Of The University Of Pennsylvania | Distributed target tracking using self localizing smart camera networks |
| US20140354821A1 (en) * | 1998-08-28 | 2014-12-04 | David A. Monroe | Covert Networked Security Camera |
-
2015
- 2015-03-05 WO PCT/US2015/019014 patent/WO2016140680A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140354821A1 (en) * | 1998-08-28 | 2014-12-04 | David A. Monroe | Covert Networked Security Camera |
| US20070237357A1 (en) * | 2004-09-18 | 2007-10-11 | Low Colin A | Visual sensing for large-scale tracking |
| US20080258880A1 (en) * | 2007-01-10 | 2008-10-23 | Smith Richard A | Information Collecting and Decision Making Via Tiered Information Network Systems |
| US20100195872A1 (en) * | 2007-09-19 | 2010-08-05 | Panasonic Corporation | System and method for identifying objects in an image using positional information |
| US20120249802A1 (en) * | 2010-12-01 | 2012-10-04 | The Trustees Of The University Of Pennsylvania | Distributed target tracking using self localizing smart camera networks |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110458139A (en) * | 2019-08-19 | 2019-11-15 | 浙江工业大学 | A pre-matching method for pedestrian re-identification based on the color histogram of pedestrian body sub-regions |
| CN110458139B (en) * | 2019-08-19 | 2022-02-11 | 浙江工业大学 | Pedestrian re-identification pre-matching method based on color histogram of sub-region of pedestrian body |
| EP3836014B1 (en) * | 2019-12-11 | 2026-04-29 | Bull SAS | Method of tracking an element, associated electronic device and computer program product |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9053386B2 (en) | Method and apparatus of identifying similar images | |
| Mishra et al. | Region duplication forgery detection technique based on SURF and HAC | |
| Nataraj et al. | Sarvam: Search and retrieval of malware | |
| Hao et al. | Detecting shilling attacks with automatic features from multiple views | |
| Emam et al. | Two‐stage keypoint detection scheme for region duplication forgery detection in digital images | |
| Nie et al. | Robust image fingerprinting based on feature point relationship mining | |
| US10614312B2 (en) | Method and apparatus for determining signature actor and identifying video based on probability of appearance of signature actor | |
| Wang et al. | Duplicate discovery on 2 billion internet images | |
| Soni et al. | Keypoints based enhanced multiple copy‐move forgeries detection system using density‐based spatial clustering of application with noise clustering algorithm | |
| Winter et al. | Fast indexing strategies for robust image hashes | |
| US20180293461A1 (en) | Method and device for detecting copies in a stream of visual data | |
| Ou et al. | Non-transitive hashing with latent similarity components | |
| Sundara Vadivel et al. | An efficient CBIR system based on color histogram, edge, and texture features | |
| WO2014140009A2 (en) | A process for obtaining candidate data from a remote storage server for comparison to a data to be identified | |
| Chen et al. | Real-time, large-scale duplicate image detection method based on multi-feature fusion | |
| CN111666258B (en) | Information processing method and device, information query method and device | |
| Chen et al. | Digital Fingerprinting on Multimedia: A Survey | |
| WO2016140680A1 (en) | Multi-level object re-identification | |
| Yin et al. | Content‐Based Image Retrial Based on Hadoop | |
| Qu et al. | A novel fast and robust binary affine invariant descriptor for image matching | |
| Trad et al. | Large scale visual-based event matching | |
| CN114398887B (en) | Text classification method, device and electronic equipment | |
| Sangeetha et al. | An Enhanced Triadic Color Scheme for Content‐Based Image Retrieval | |
| Bhardwaj et al. | An efficient comparison of two indexing-based deep learning models for the formation of a web-application based IoT-cloud network | |
| Lee et al. | Bag‐of‐binary‐features for fast image representation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15884143 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 15884143 Country of ref document: EP Kind code of ref document: A1 |