Method and system for determining the dimensions of an object shown in a multimedia content item

A method and system for determining at least a size dimension of objects shown in multimedia content items are presented. The method includes receiving an input multimedia content item; identifying objects shown in the multimedia content item; generating at least a first signature for at least a first object of the plurality of objects and at least a second signature for at least a second object; identifying at least one concept that matches the at least a first object; determining an actual size of the first object respective of the match to the at least one concept; determining a size scale between the first object and the second object using the at least a first signature and the at least a second signature; and determining the at least size dimension of the second object respective of the size scale and the actual size of the first object.

TECHNICAL FIELD

The present disclosure relates generally to the analysis of multimedia content items, and more specifically to a method for determining the size dimensions of objects shown in a multimedia content item.

BACKGROUND

With the abundance of multimedia content made available through various means in general and the Internet in particular, there is also a need to provide effective ways of analyzing such multimedia content. Multimedia content analysis is a challenging task, as it requires processing of a plurality of graphical elements (e.g., multimedia elements).

Several prior art solutions can be used to analyze multimedia content items. As a result of the analysis, relevant multimedia elements may be extracted from a multimedia content item. However, a problem may occur while trying to identify information regarding the extracted multimedia elements using additional multimedia content items that may be useful, for example, multimedia content items containing similar characteristics to the characteristics of the extracted multimedia content.

Typically, while analyzing the characteristics of the multimedia content item, the complexity of a multimedia content item leads to inefficient identification of common patterns. Furthermore, the analysis as known these days may be inefficient because of lack of correlation between the multimedia elements extracted from the multimedia content item.

It would be therefore advantageous to provide an efficient solution to analyze multimedia content items. It would be further advantageous if such solution would enable identification of several multimedia elements in the multimedia content based on already identified multimedia elements.

SUMMARY

Certain exemplary embodiments disclosed herein include a method for determining at least a size dimension of objects shown in multimedia content items. The method comprises receiving an input multimedia content item; identifying a plurality of objects shown in the input multimedia content item; generating at least a first signature for at least a first object of the plurality of objects and at least a second signature for at least a second object of the plurality of objects; identifying at least one concept that matches the at least a first object, wherein the identification is performed using the at least a first signature; determining an actual size of the at least a first object respective of the match to the at least one concept, wherein the actual size of the at least a first object is determined respective of an actual size of the at least one concept maintained in a data warehouse; determining a size scale between the at least a first object and the at least a second object of the plurality of objects using the at least a first signature and the at least a second signature; and determining the at least size dimension of the at least a second object of the plurality of objects respective of the size scale and the actual size of the first object.

Certain exemplary embodiments disclosed herein include a system for determining at least a size dimension of objects shown in a multimedia content item containing a plurality of objects. The system comprises an interface to a network for receiving an input multimedia content item; a processing unit; and a memory connected to the processing unit and configured to contain a plurality of instructions that when executed by the processor configure the system to: identify a plurality of objects shown in the input multimedia content item; identify at least one concept that matches at least a first object, wherein the identification is performed using at least a first signature; determine an actual size of the at least a first object respective of the match to the at least one concept, wherein the actual size of the at least a first object is determined respective of an actual size of the at least one concept maintained in a data warehouse; determine a size scale between the at least a first object and at least a second object of the plurality of objects using the at least a first signature and at least a second signature; and determine the at least size dimension of the at least a second object of the plurality of objects respective of the size scale and the actual size of the at least a first object.

DETAILED DESCRIPTION

Certain exemplary embodiments disclosed herein include a method and system for determination of at least a size dimension of an object shown in a multimedia content item (e.g., an image, a graphic, and a photograph). The multimedia content item is received from a user device. Signatures are generated for the objects shown in the multimedia content item and a ratio between the signatures' sizes is analyzed to determine a size scale between the objects. The generated signature(s) are matched to concepts maintained in a data warehouse. Upon identifying a match between at least one signature generated for an object and at least one concept, the actual size of the identified object is retrieved from a data warehouse. The size dimensions of the other objects are determined respective of the size scale and the actual size of the identified object. According to an embodiment, the size scale between the objects is determined respective of the distance of each object from a reference point.

FIG. 1shows an exemplary and non-limiting schematic diagram of a network system100utilized to describe the various embodiments disclosed herein. A network110is used to communicate between different parts of the network system100. The network110may be the Internet, the world-wide-web (WWW), a local area network (LAN), a wide area network (WAN), a metro area network (MAN), and the like.

Further connected to the network110is a user device120configured to execute at least one application (app)125. The application125may be, for example, a web browser, a script, an add-on, a mobile application (“app”), or any application programmed to interact with a server130. In an embodiment, the server130may be connected to the network110. The user device120may be, but is not limited to, a personal computer (PC), a personal digital assistant (PDA), a mobile phone, a smart phone, a tablet computer, a laptop, a wearable computing device, or another kind of computing device equipped with browsing, viewing, listening, filtering, and managing capabilities that is enabled as further discussed herein below. It should be noted that one user device120and one application125are illustrated inFIG. 1only for the sake of simplicity and without limitation on the generality of the disclosed embodiments.

The network system100also includes a data warehouse160configured to store multimedia content items, previously generated signatures for objects shown in the multimedia content items, previously generated signatures for concepts or concept structures, the concepts' size, and the like. The data warehouse160may be connected to the network110. In the embodiment illustrated inFIG. 1, the server130is communicatively connected to the data warehouse160through the network110. In other non-limiting configurations, the server130is directly connected to the data warehouse160.

The various embodiments disclosed herein are realized using the server130, a signature generator system (SGS)140and a deep-content-classification (DCC) system150. The SGS140may be connected to the server130directly or through the network110. The DCC system150may be connected to the network110. The server130is configured to receive and serve the at least one multimedia content item in which the objects are shown and cause the SGS140to generate at least one signature respective thereof and query the DCC system150. To this end, the server130is communicatively connected to the SGS140and the DCC system150.

The DCC system150is configured to generate concept structures (or concepts) and to identify concepts that match the multimedia content item and/or the objects shown within. A concept is a collection of signatures representing an object and metadata describing the concept. The collection is a signature reduced cluster generated by inter-matching the signatures generated for the many objects, clustering the inter-matched signatures, and providing a reduced cluster set of such clusters. As a non-limiting example, a ‘Superman concept’ is a signature reduced cluster of signatures describing elements (such as objects) related to, e.g., a Superman cartoon: a set of metadata including textual representations of the Superman concept. A cluster reduction process is performed. Specifically, the purpose of the operation is to ensure that in the cluster there remains the minimal number of signatures that still identify all of the MMDEs that are associated with the signature reduced cluster (SRC). This can be performed, for example, by attempting to match the signatures of each of the MMDEs associated with the SRC having one or more signatures removed there from. In one embodiment of the invention the process of cluster reduction for the purpose of generating SRCs is performed in parallel and independently of the process described herein above.

Techniques for generating concepts and concept structures are also described in the U.S. Pat. No. 8,266,185 (hereinafter the '185 patent) to Raichelgauz, et al., which is assigned to a common assignee, and is incorporated by reference herein for all that it contains. In an embodiment, the DCC system150is configured and operates as the DCC system discussed in the '185 patent. The process of generating the signatures in the SGS140is explained in more detail below with respect toFIGS. 4 and 5.

It should be noted that each of the server130, the SGS140, and the DCC system150typically comprise a processing unit, such as a processor (not shown) or an array of processors coupled to a memory. In one embodiment, the processing unit may be realized through architecture of computational cores described in detail below. The memory contains instructions that can be executed by the processing unit. The instructions, when executed by the processing unit, cause the processing unit to perform the various functions described herein. The one or more processors may be implemented with any combination of general-purpose microprocessors, multi-core processors, microcontrollers, digital signal processors (DSPs), field programmable gate array (FPGAs), programmable logic devices (PLDs), controllers, state machines, gated logic, discrete hardware components, dedicated hardware finite state machines, or any other suitable entities that can perform calculations or other manipulations of information. In certain implementations, the server130also includes an interface (not shown) to the network110.

According to the disclosed embodiments, the server130is configured to receive a multimedia content item showing a plurality of objects from the user device120. An object may be any element shown in the multimedia content item, for example, a tree, a car, a person, a table, and the like. The multimedia content item may be, but is not limited to, an image, a graphic, video frame, a photograph, and/or combinations thereof and portions thereof. In one embodiment, the server130is configured to receive a uniform resource locator (URL) of a webpage viewed by the user device120and accessed by the application125. The webpage is processed to extract the multimedia content item contained therein.

The request to analyze the multimedia content item can be sent by a script executed in the webpage, such as when the application125(e.g., a web server or a publisher server) requests to upload one or more multimedia content items to the webpage. Such a request may include a URL of the webpage or a copy of the webpage. The application125can also send a picture taken by a user of the user device120to the server130.

The server130, in response to receiving the multimedia content item, is configured to return information respective of the size dimensions of the objects shown in the multimedia content item. To this end, the server130is configured to analyze the multimedia content item to identify the objects shown in the multimedia content item. As an example, an image showing Central Park in New York is analyzed to identify the objects of a carriage way, a car, a streetlight, and a person.

With this aim, at least one signature is generated for each object using the SGS140. The generated signature(s) may be robust to noise and distortion as discussed below. Upon identifying, for example, a ratio between the signatures' sizes, a size scale between the objects is determined. According to an embodiment, parameters such as distance of each object from a reference point may be taken in account to determine the size scale.

In one embodiment, using the generated signature(s), the DCC system150is queried to determine if there is a match to at least one concept. The DCC system150is configured to return, for each matching concept, a concept's signature (or a signature reduced cluster (SRC)) and optionally the concept's metadata. It should be understood that a match exists when the signature of the concept overlaps with the signature(s) of the object above a predetermined threshold level.

Upon identification of a match, the server130is configured to retrieve the actual size of the identified object from the data warehouse160. For example, if the signature identified a person, a metadata may provide information about that person's actual height. If a car was identified, its actual height or actual length may be retrieved from the data warehouse160. After retrieving the actual size of the identified object, the server130is configured to determine the size dimensions of the other objects identified within the multimedia content item respective of the size scale between the objects. Such information is then sent to the user device120.

One of ordinary skill in the art would readily appreciate that a more accurate determination of the size scale may be done by repeating the process on other identified objects, a process that can be repeated until the size scale value does not change beyond a predetermined threshold value from one identification to the other.

In another embodiment, the SGS140is configured to generate signatures for the received multimedia content item. The generated signatures are matched by the server130to previously generated signatures of concepts, maintained in the data warehouse160, to identify a match to at least one object. Upon identification of a match, the server130is configured to retrieve the actual size of the identified object from the data warehouse160. Upon identifying, for example, a ratio between the signatures' sizes, a size scale between the objects is determined. According to an embodiment, parameters such as distance of each object from a reference point may be taken in account to determine the size scale. The actual size of the identified object together with the size scale are used to determine the size dimensions of the other objects identified within the multimedia content item. Such information is then sent to the user device120.

As a non-limiting example, when the server130receives an image of streets in Paris, signatures corresponding to each of the objects (e.g., different houses, Eiffel Tower, cars, and so on) shown in the image are generated. The generated signatures are matched by the server130to previously generated signatures of concepts stored in the data warehouse160to identify a match between at least a concept and at least one object, for example, the Eiffel Tower. Upon such identification, the server130is configured to retrieve the actual size of the Eiffel Tower from the data warehouse160.

A size scale of the houses, the cars, the Eiffel Tower, etc., is determined by the server130respective of, for example, their signatures' size and their distance from a reference point. The size dimensions of the houses, the cars, etc., are determined respective of the size scale and the actual size of the Eiffel Tower.

FIG. 2depicts an exemplary and non-limiting flowchart200describing a method for identifying the size dimensions of objects shown in a multimedia content item. The method may be performed by the server130.

In S210, a multimedia content item in which objects are shown is received. In an embodiment, the multimedia content item is received from the user device120. In an embodiment, the multimedia content item is received together with a request to analyze the multimedia content item. Optionally, in S215, the received multimedia content item is analyzed to identify the objects. In an embodiment, the server130is configured to perform the analysis.

In S220, at least one signature is generated for at least two objects (e.g., a first object and a second object). The signatures are generated by the SGS140as described in greater detail below with respect toFIGS. 3 and 4.

In S230, a DCC system (e.g., DCC system150) is queried to find a match between at least one concept and at least one object (e.g., the first object) using their respective signatures. In an embodiment, the signatures generated for an object is matched against the signature (signature reduced cluster (SRC)) of each concept maintained by the DCC system150. According to an embodiment, the signatures generated for the concepts may be retrieved from a database (e.g., data warehouse160). If the signature of the concept overlaps with the signatures of the object more than a predetermined threshold level, a match exists. Various techniques for determining matching concepts are discussed in the '185 patent. For each matching concept the respective object is determined to be identified and at least the concept signature (SRC) is returned.

For example, an image of a bowling lane may have a bowling ball, pins, and a bowler. The DCC system150is queried to find a match between the signatures of the pins and signatures of concepts maintained by the DCC system150. The signature of the pins may overlap less than a predetermined threshold level with a signature of the concept “baseball” and may overlap more than a predetermined threshold level with a signature of the concept “bowling”. Therefore a match would exist for “bowling” and not “baseball”.

In S240, the actual size of the first object is determined respective of a match between the signatures of the concept and the first object. This is performed respective of the actual sizes of concepts or concepts structures maintained in the data warehouse160. In another embodiment, if matching concepts are not found, the signatures generated in S220are utilized to search the data warehouse160.

In S250, a size scale of the objects shown in the multimedia content item is generated (e.g., the size scale of the first object and the second object). This is performed by identifying, for example, the ratio between the signature's sizes of the objects, the distance between each signature from a reference point, and so on.

In S260, at least a second size dimension of the second object shown in the multimedia content item is identified respective of the size scale and the determination made in S240regarding the actual size of the first multimedia element.

According to an embodiment, the information respective of the size dimension of the second object is sent to the user device120. According to another embodiment, such information is stored in the data warehouse160for further use (e.g., identification of the actual size of additional objects shown in additional multimedia content item). In S270, it is checked whether additional multimedia content items are received, and if so, execution continues with S210; otherwise, execution terminates.

FIG. 5shows an exemplary and non-limiting schematic diagram of a drawing500utilized to describe the determination of the size dimension of an object according to an embodiment. Such determination may be performed by the server130.

The objects of a tree510and a persona520are identified in the drawing500and signatures are generated respective thereof. Such signatures are analyzed for determining the size scale between the tree510and the persona520. The analyses include determining that the objects are found in the same distance from a reference point530and identifying the ratio between the signatures' sizes. The signatures are also matched to signatures of concepts maintained in a database, such as, data warehouse160, and the actual size of the tree510is identified respective thereof. Now, the height of the person520can be determined by using the size scale and the actual size of the tree510.

FIGS. 3 and 4illustrate the generation of signatures for the multimedia content elements by the SGS140according to one embodiment. An exemplary high-level description of the process for large scale matching is depicted inFIG. 3. In this example, the matching is conducted based on video content.

Video content segments2from a Master database (DB)6and a Target DB1are processed in parallel by a large number of independent computational Cores3that constitute an architecture for generating the Signatures (hereinafter the “Architecture”). Further details on the generation of computational Cores are provided below. The independent Cores3generate a database of Robust Signatures and Signatures4for Target content-segments5and a database of Robust Signatures and Signatures7for Master content-segments8. An exemplary and non-limiting process of signature generation for an audio component is shown in detail inFIG. 4. Finally, Target Robust Signatures and/or Signatures are effectively matched, by a matching algorithm9, to Master Robust Signatures and/or Signatures database to find all matches between the two databases.

To demonstrate an example of the signature generation process, it is assumed, merely for the sake of simplicity and without limitation on the generality of the disclosed embodiments, that the signatures are based on a single frame, leading to certain simplification of the computational cores generation. The Matching System is extensible for signatures generation capturing dynamics in-between the frames.

The Signatures' generation process is now described with reference toFIG. 4. The first step in the process of signatures generation from a given speech-segment is to breakdown the speech-segment to K patches14of random length P and random position within the speech segment12. The breakdown is performed by the patch generator component21. The value of the number of patches K, random length P, and random position parameters is determined based on optimization, considering the tradeoff between accuracy rate and the number of fast matches required in the flow process of the server130and SGS140. Thereafter, all the K patches are injected in parallel into all computational Cores3to generate K response vectors22, which are fed into a signature generator system23to produce a database of Robust Signatures and Signatures4.

In order to generate Robust Signatures, i.e., Signatures that are robust to additive noise L (where L is an integer equal to or greater than 1) by the Computational Cores3a frame ‘i’ is injected into all the Cores3. Then, Cores3generate two binary response vectors: {right arrow over (S)}, which is a Signature vector, and {right arrow over (RS)} which is a Robust Signature vector.

For generation of signatures robust to additive noise, such as White-Gaussian-Noise, scratch, etc., but not robust to distortions, such as crop, shift and rotation, etc., a core Ci={ni} (1≤i≤L) may consist of a single leaky integrate-to-threshold unit (LTU) node or more nodes. The node niequations are:

where,is a Heaviside step function; wijis a coupling node unit (CNU) between node i and image component j (for example, grayscale value of a certain pixel j); kjis an image component ‘j’ (for example, grayscale value of a certain pixel j); Thxis a constant Threshold value, where ‘x’ is ‘S’ for Signature and ‘RS’ for Robust Signature; and Vi is a Coupling Node Value.

The Threshold values Thxare set differently for Signature generation than for Robust Signature generation. For example, for a certain distribution of Vi values (for the set of nodes), the thresholds for Signature (ThS) and Robust Signature (ThRS) are set apart, after optimization, according to at least one or more of the following criteria:

1: For: Vi>ThRS1−p(V>ThS)−1−(1−ε)l<<1
i.e., given that l nodes (cores) constitute a Robust Signature of a certain image I, the probability that not all of these I nodes will belong to the Signature of same, but noisy image, Ĩ is sufficiently low (according to a system's specified accuracy).

i.e., approximately l out of the total L nodes can be found to generate a Robust Signature according to the above definition.

3: Both Robust Signature and Signature are generated for certain frame i.

It should be understood that the generation of a signature is unidirectional, and typically yields lossless compression, where the characteristics of the compressed data are maintained but the uncompressed data cannot be reconstructed. Therefore, a signature can be used for the purpose of comparison to another signature without the need for comparison to the original data. The detailed description of the Signature generation can be found in U.S. Pat. Nos. 8,326,775 and 8,312,031, assigned to common assignee, which are hereby incorporated by reference for all the useful information they contain.

A Computational Core generation is a process of definition, selection, and tuning of the parameters of the cores for a certain realization in a specific system and application. The process is based on several design considerations, such as:

(a) The Cores should be designed so as to obtain maximal independence, i.e., the projection from a signal space should generate a maximal pair-wise distance between any two cores' projections into a high-dimensional space.

(b) The Cores should be optimally designed for the type of signals, i.e., the Cores should be maximally sensitive to the spatio-temporal structure of the injected signal, for example, and in particular, sensitive to local correlations in time and space. Thus, in some cases, a core represents a dynamic system, such as in state space, phase space, edge of chaos, etc., which is uniquely used herein to exploit its maximal computational power.

(c) The Cores should be optimally designed with regard to invariance to a set of signal distortions, of interest in relevant applications.

A detailed description of the Computational Core generation and the process for configuring such cores is discussed in more detail in U.S. Pat. No. 8,655,801 referenced above. The computational cores may be implemented in one or more integrated circuits.