The present invention relates to the field of image processing applied to videos. More particularly, the invention concerns the detection and tracking of one or multiple objects of interest in a video sequence captured with a moving camera.
In the following, the term “moving camera” is used to designate a camera moving in a steady scene as well as a camera capturing varying scenes, i. e., in which the background or surroundings are changing from one scene or frame to another scene or frame.
The detection and tracking of objects of interest in a video sequence, like the principal persons in a movie or the most important actions in a broadcast football match, allows for knowing the position and the trajectories of these objects within the video. This knowledge is essential for the automatic summarization of videos. The summarization of videos has several purposes, for example, in video surveillance applications, video indexing, or other interactive multimedia applications requiring the management of video content.
When dealing with videos captured with a non-moving camera, the objects of interest can be detected using background subtraction techniques. An example of such a technique is disclosed in S. Conseil et al., “Suivi Tridimensionnel en Stéréovision”, GRETSI, 2005, wherein the background is taken as a reference image subtracted from all frames in order to detect a human hand.
However, background subtraction methods are not suitable in the case of video sequences captured with a moving camera since the background is susceptible to change from one scene or frame to another scene or frame and may not be used as a reference. There exist several alternative methods and devices for tracking objects in videos captured with a moving camera. Some examples thereof are described in the following.
According to a first technique, the user tags the object of interest, i.e., the user manually selects a target object of interest in a frame via a graphical user interface (GUI). Motion and appearance models are then used to follow the selected object across the video sequence in order to know its trajectory.
A second approach enabling the automatic tracking of objects in a video sequence captured with a moving camera, disclosed in U.S. Pat. No. 5,867,584, requires the user to specify a window including the object. This window is then compared to test windows in the subsequent frames in order to find the best match window which is most similar with the specified window containing the object.
In a third approach, a priori knowledge of the object to be tracked is required, for example, in the form of databases containing features associated with the object. The system learns a model of the objects of interest in advance, thereby enabling it to detect similar objects within the frames of the video. The database of the system comprises a number of training samples, for example, different kinds of human faces, in order to find faces in the video. A data association step is subsequently performed to link detections of the same object across the video frames into trajectories or tracks. An example of this third approach may be found in T. Ma, L. J. Latecki, “Maximum Wright Cliques with mutex Constraints for Object Segmentation”, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 2012.
With the techniques described above, either user interaction and/or prior knowledge of the objects of interest is required, or the types of objects that may be detected are limited, for example by the category of the object the system has been trained for.
According to the foregoing, there exists a need for improved automatic detection and tracking of objects of interest in videos captured with a moving camera, without the input of a priori knowledge and independently of databases required for learning models.
Embodiments of the present invention provide an improved method and an improved device for detecting objects of interest in videos captured with a moving camera that resolve the above mentioned problems.
According to a first aspect, there is provided a method for automatic detection and tracking of one or multiple objects of interest in a video sequence comprising several successive frames captured with a moving camera, the method comprising the steps of:
In some embodiments, the extracting step may comprise extracting spatio-temporal patterns which occur at least once in a predetermined number of region adjacency graphs among the set of region adjacency graphs.
In some embodiments, the extracting step may comprise:
determining, for each spatio-temporal pattern, an Euclidian distance separating two successive occurrences of the spatio-temporal pattern in two distinct region adjacency graphs, and
extracting the spatio-temporal patterns for which the determined Euclidian distance is below a spatial threshold.
In some embodiments, the extracting step may comprise:
determining, for each spatio-temporal pattern, the number of region adjacency graphs separating two successive occurrences of the spatio-temporal pattern in two distinct region adjacency graphs, and
extracting the spatio-temporal patterns for which the determined number of region adjacency graphs is below a temporal threshold.
In some embodiments, the step of determining the degrees of dissimilarity of the trajectories may comprise:
determining a centroid for each spatio-temporal pattern in the region adjacency graphs,
determining an Euclidian distance between two distinct centroids corresponding to two distinct spatio-temporal patterns in each region adjacency graph, and
calculating an average of the Euclidian distances between two distinct centroids on several region adjacency graphs.
Preferably, the step of determining the degrees of dissimilarity of the trajectories may further comprise:
interpolating, for one or several region adjacency graphs separating two successive occurrences of each of the spatio-temporal patterns in two distinct region adjacency graphs, a centroid, and
calculating an average of the Euclidian distances between two distinct centroids on all region adjacency graphs.
In some embodiments, the clustering step may comprise clustering the spatio-temporal patterns for which the calculated average of the Euclidian distances between two distinct centroids is below a dissimilarity threshold.
Advantageously, the clustering step may further comprise:
clustering the frequent spatio-temporal patterns to produce a hierarchized set of clusters corresponding to multiple objects of interest, and
selecting among the hierarchized set of clusters only the clusters for which the degree of dissimilarity is below a predetermined threshold.
Any of the above methods may further include the step of summarizing the video sequence using the one or multiple objects of interest detected and tracked in the video sequence in order to obtain a video summary.
Preferably, the summarizing step comprises determining interacting objects of interest based on spatial overlapping of their trajectories.
According to a second aspect, there is provided a device for automatic detection and tracking of one or multiple objects of interest in a video sequence comprising several successive frames captured with a moving camera, the device comprising:
a frame extractor configured to segment each frame of the video sequence into regions depending on colour and producing a segmented image for each frame,
a graph engine configured to deduce from each of the segmented images a region adjacency graph comprising nodes and edges, wherein each node defines a region and each edge links two nodes of adjacent regions of the segmented image,
wherein the region adjacency graphs deduced from the segmented images for said several successive frames form a set of region adjacency graphs,
a data mining engine configured to extract from the set of region adjacency graphs frequent spatio-temporal patterns, and
a clustering engine configured to:
Advantageously, the device may further comprise a summary engine configured to summarize the video sequence using the one or multiple objects of interest detected and tracked in the video sequence in order to obtain a video summary.
According to a third aspect, there is provided a computer readable medium comprising instructions for controlling a computer system to perform a method for automatic detection and tracking of one or multiple objects of interest in a video sequence comprising several successive frames captured with a moving camera according to embodiments of the first aspect of the present disclosure.
According to a fourth aspect, there is provided a computer program product comprising computer-executable instructions for performing a method for automatic detection and tracking of one or multiple objects of interest in a video sequence comprising several successive frames captured with a moving camera according to embodiments of the first aspect of the present disclosure, when the program is run on a computer.
Additional aspects and advantages of methods and devices according to embodiments disclosed herein will be set forth, in part, in the detailed description, figures and any claims which follow, and in part will be derived from the detailed description. It is to be understood that both the foregoing general description and the following detailed description are only exemplary and do not limit the claimed inventions.
Exemplary embodiments of methods and devices are described with reference to the accompanying drawings, in which:
The figures and the following description illustrate exemplary embodiments. In the various figures, elements with similar structures and/or functions may be denoted by like reference numerals.
Referring to
Still referring to
For example, frequent spatio-temporal patterns 13, among other spatio-temporal patterns, are those patterns which occur at least once in a predetermined number of region adjacency graphs 11 among the set of region adjacency graphs. The same pattern may also occur more than once in one region adjacency graph 11. This is illustrated in
In some embodiments, in order to perform the extraction step 36, an Euclidian distance separating two successive occurrences of the spatio-temporal pattern 13 in two distinct region adjacency graphs 11 is determined for each spatio-temporal pattern 13. The spatio-temporal patterns 13 for which the determined Euclidian distance is below a spatial threshold are then extracted. An example illustrating this way of processing is shown in
According to these embodiments, it is possible, in the extraction step 36, to discard patterns of which the occurrences are spatially too far apart within the set of region adjacency graphs. Indeed, spatially close patterns are more likely to represent parts of the same object of interest.
In some embodiments, in order to perform the extraction step 36, the number of region adjacency graphs 11 separating two successive occurrences of the spatio-temporal pattern 13 in two distinct region adjacency graphs 11 is determined for each spatio-temporal pattern 13. This number may be referred to as intermediate graphs (or intermediate frames since one graph corresponds to one frame). The spatio-temporal patterns 13 for which the determined number of region adjacency graphs 11 is below a temporal threshold are then extracted. Again referring to
According to these embodiments, it is possible, in the extraction step 36, to discard patterns of which the occurrences are temporally too far apart within the set of region adjacency graphs. Indeed, temporally close patterns are more likely to represent parts of the same object of interest.
Furthermore, it is possible to represent frequent spatio-temporal patterns in an occurrence graph, as shown in
Again referring to
First, a centroid for each spatio-temporal pattern 13, 13′ in the region adjacency graphs is determined.
Second, an Euclidian distance xt (t=1, 2 in
Third, an average of the Euclidian distances xl between two distinct centroids 15, 15′ on several region adjacency graphs is calculated.
Accordingly, in the embodiments described above, the degrees of dissimilarity dis of the trajectories are computed using the following formula:
wherein xt corresponds to the Euclidian distance between the centroids of two spatio-temporal patterns in frame t, and n is the number of frames that are considered.
In some embodiments, in order to perform the step 38 of determining the degrees of dissimilarity of the trajectories, a centroid is interpolated for one or several region adjacency graphs separating two successive occurrences of each of the spatio-temporal patterns in two distinct region adjacency graphs. Indeed, some frequent spatio-temporal patterns may not occur in each of the successive frames (or region adjacency graphs), i.e., they may comply with the spatial and temporal constraints explained above even if there are several frames between their occurrences. In this case, a centroid is interpolated for the frames in which the frequent spatio-temporal patterns do not occur in order to be able to compute the Euclidian distance between centroids in each of the frames (i.e., region adjacency graphs). An average of the Euclidian distances between two distinct centroids on all region adjacency graphs may then be calculated.
Again referring to
In some embodiments, the clustering step 39 may advantageously comprise clustering the spatio-temporal patterns for which the calculated average of the Euclidian distances between two distinct centroids is below a dissimilarity threshold. The average of the Euclidian distances between two distinct centroids may be calculated using equation (1).
In some embodiments, the clustering step 39 comprises the following steps.
First, the frequent spatio-temporal patterns are clustered to produce a hierarchized set of clusters corresponding to multiple objects of interest.
Second, only the clusters, among the hierarchized set 200 of clusters, for which the degree of dissimilarity is below a predetermined threshold are selected. Still referring to
According to these embodiments, it is possible thanks to the step 38 of determining the degrees of dissimilarity of the trajectories of frequent spatio-temporal patterns and the clustering step 39, to regroup parts of objects found in the extraction step having similar trajectories. Thus, entire objects of interest may be found in a completely automatic manner.
Advantageously, the threshold of the degree of dissimilarity of the pattern trajectories may be set using a quantity called lifetime of a cluster. The lifetime of a cluster is the difference between the degree of dissimilarity at which the cluster is formed and the degree of dissimilarity at which the cluster is combined with another cluster or frequent spatio-temporal pattern. In
Again referring to
Video summarization is one possible implementation example of the method according to embodiments of the present disclosure. Another example is video editing in which an editor may be enabled to detect and track the main objects and their relationships in the post-production process of a video.
Some embodiments of the present disclosure also provide a device for automatic detection and tracking of one or multiple objects of interest in a video sequence comprising several successive frames captured with a moving camera.
The device 100 comprises means for performing the method according to embodiments described hereinabove. In particular, the device 100 includes a frame extractor 103 configured to segment each frame of the video sequence into regions depending on colour and producing a segmented image for each frame. The device 100 further includes a graph engine 105 configured to deduce from each of the segmented images a region adjacency graph comprising nodes and edges. As indicated previously, each node defines a region and each edge links two nodes of adjacent regions of the segmented image, and the region adjacency graphs deduced from the segmented images for said several successive frames form a set of region adjacency graphs. A data mining engine 107 of the device is configured to extract from the set of region adjacency graphs frequent spatio-temporal patterns.
Still referring to
According to embodiments of the present disclosure, the device 100 for automatic detection and tracking of objects of interest may further include a summary engine 111 configured to summarize the video sequence using the one or multiple objects of interest detected and tracked in the video sequence in order to obtain a video summary.
Advantageously, the device 100 according to embodiments disclosed herein may further comprise an interface means 113, 115, 117 configured to interface the device with a user or an application. For example, the interface means may comprise a video platform application programming interface (API) 113 enabling the video platform (such as YouTube) to use the object detection and tracking and/or summarizing functionalities of the device 100, i.e., a video may be processed without any interaction from a user. Alternatively, the interface means may include a GUI configured, for example, to permit a user to upload videos of which he is interested in a video summary. The video may be uploaded, for example, from the user's local computer hard-drive 119 or from an online video platform 118. The interface means may also include an open API 117, which may be based on a web service. The open API 117 enables interfacing the device 100 from any application (e.g., RESTful (Representational State Transfer) web services allow other applications to send Hypertext Transfer Protocol requests to the web service using GET and POST request methods).
A person skilled in the art would readily recognize that steps of embodiments of the above-described method can be performed by programmed computers. Herein, some embodiments are intended to cover program storage devices, e.g., digital data storage media, which are machine-executable and encode machine-executable or computer-executable programs of instructions where said instructions perform some or all of the steps of methods described herein. The program storage devices may be, e.g., digital memories, magnetic storage media such as magnetic discs or tapes, hard drives, or optically readable digital storage media. The embodiments are also intended to cover computers programmed to perform said steps of methods described herein. It will be appreciated by the skilled person that the flow charts and diagrams of the Figures represent embodiments of processes which may be substantially represented in a computer readable medium and so executed by a computer or processor, even if such computer or processor is not explicitly shown.
Although some embodiments of the present invention have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it should be understood that the present invention is not limited to the disclosed embodiments, but is capable of numerous rearrangements, modifications and substitutions without departing from the invention as set forth and defined by the following claims.
Number | Date | Country | Kind |
---|---|---|---|
13305480 | Apr 2013 | EP | regional |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2014/055081 | 3/14/2014 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2014/166695 | 10/16/2014 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5438357 | McNelley | Aug 1995 | A |
5867584 | Hu et al. | Feb 1999 | A |
6901110 | Tsougarakis | May 2005 | B1 |
7375731 | Divakaran | May 2008 | B2 |
7426301 | Porikli | Sep 2008 | B2 |
7736313 | Luo | Jun 2010 | B2 |
7949050 | Xu | May 2011 | B2 |
8169497 | Wan | May 2012 | B2 |
8213679 | Yao | Jul 2012 | B2 |
8213680 | Fitzgibbon et al. | Jul 2012 | B2 |
8824801 | Fitzgibbon | Sep 2014 | B2 |
9256955 | O'Gorman | Feb 2016 | B2 |
9286693 | Yoo | Mar 2016 | B2 |
9881380 | Sorkine Hornung | Jan 2018 | B2 |
20080123900 | Ma | May 2008 | A1 |
20080159590 | Yi | Jul 2008 | A1 |
20090274377 | Kweon | Nov 2009 | A1 |
20110013840 | Iwasaki | Jan 2011 | A1 |
20120106794 | Iwasaki | May 2012 | A1 |
20120321128 | Medioni et al. | Dec 2012 | A1 |
20140334670 | Guigues | Nov 2014 | A1 |
20150055821 | Fotland | Feb 2015 | A1 |
20150116597 | Chandraker | Apr 2015 | A1 |
20150287214 | O'Gorman | Oct 2015 | A1 |
20160379055 | Loui | Dec 2016 | A1 |
Number | Date | Country |
---|---|---|
101231755 | Jul 2008 | CN |
2357608 | Aug 2011 | EP |
Entry |
---|
Adriana Prado et al., “Plagram: un algorithme de fouille de graphes plans efficace,” Conference D'Apprentissage (CAp), pp. 1-17, XP002712031, 2011. |
A. Bakowski et al., “Video Surveillance Tracking Using Colour Region Adjacency Graphs,” Seventh International Conference on Image Processing and Its Applications, IEEE, Publication No. 455, vol. 2, pp. 794-798, XP006501150, 1999. |
G. L. Foresti et al., “A Robust Feature Tracker for Active Surveillance of Outdoor Scenes,” Electronic Letters on Computer Vision and Image Analysis 1(1)L 21-34, pp. 21-34, XP002712032, 2003. |
International Search Report for PCT/EP2014/055081 dated Jun. 25, 2014. |
Fabien Diot, “Graph mining for object tracing in videos,” thesis in Information Science at Université Jean Monnet—Saint-Etienne, France, Jun. 3, 2014. |
Simon Conseil, et al., “Suivi Tridimensional en Stéréovision,” GRETSI 2005, 4 pages. |
Kaihua Zhang, et al., “Real-Time Compressive Tracking,” ECCV 2012, Part III, pp. 866-879. |
Zdenek Kalal, et al., “Tracking-Learning-Detection,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 6, No. 1, Jan. 2010. |
Simon Conseil, et al., “Three Dimensional Fingertip Tracking in Stereovision,” ACIVS 2005, LNCS 3708, pp. 9-16, 2005. |
Tianyang Ma, “Maximum Weight Cliques with Mutex Constraints for Video Object Segmentation,” CVPR 2012, 8 pages. |
Pedro Felzenszwalb, et al., “Efficient Graph-Based Image Segmentation,” International Journal of Computer Vision 59(2), pp. 167-181, 2004. |
Alain Trémeau, et al., “Regions Adjacency Graph Applied to Color Image Segmentation,” IEEE Transactions on Image Processing, 2000, 19 pages. |
Adriana Prado, et al., “Mining Spatiotemporal Patterns in Dynamic Plane Graphs,” Intelligent Data Analysis, 2013, pp. 1-27. |
Number | Date | Country | |
---|---|---|---|
20160086039 A1 | Mar 2016 | US |