The subject matter disclosed herein relates generally to techniques to detect video or image copies.
With the increase in the availability of internet and personal videos, video copy detection becomes an active research field in copyright control, business intelligence, and advertisement monitoring. A video copy is a segment of video derived from another video, usually by means of various transformations such as addition, deletion, and modification by shifting, cropping, lighting, contrast, camcording (e.g., changing width/height ratio between 16:9 and 4:3), and/or re-encoding.
Existing video copy detection work can be categorized into frame-based and clip-based methods. Frame-based approaches assume that a set of key frames are a compact representation of the video contents. In the technique described in P. Duygulu, M. Chen, and A. Hauptmann, “Comparison and Combination of Two Novel Commercial Detection Methods,” Proc. CIVR'04, (July 2004), a set of visual features (color, edge, and Scaled Invariant Feature Transform (SIFT) features) are extracted from these key frames. To detect video copy clips, the technique determines similarity of video segments with these key frames. Frame-based approaches are simple and efficient but not accurate enough because they lose the object's spatial-temporal information (e.g., motion trajectory). In addition, it is difficult to come up with a unified key frame selection scheme for matching two video segments.
Clip-based methods attempt to characterize spatial-temporal features from a sequence of frames. The technique described in J. Yuan, L. Duan, Q. Tian, and C. Xu, “Fast and Robust Short Video Clip Search Using an Index Structure,” Proc. ACM MIR'04 (2004) is an approach in which an ordinal pattern histogram and cumulative color distribution histogram are extracted to characterize the spatial-temporal pattern of the videos. Although this approach explores the video frame's temporal information, the global color histogram feature fails to detect video copies with local transformations, e.g., cropping, shifting, and camcording.
A technique described in J. Law-To, O. Buisson, V. Gouet-Brunet, Nozha Boujemaa, “Robust Voting Algorithm Based on Labels of Behavior for Video Copy Detection,” International Conference on Multimedia (2006) tries to use an asymmetric technique to match the feature points in testing video against interesting points' spatial-temporal trajectories in video database. This approach can detect many video copy transformations, such as shift, light, and contrast. However, the Harris point feature is neither discriminated nor scale invariant, and its spatial-temporal registration can not detect the scale relevant transformations, e.g., zoom in/out and camcording.
Embodiments of the present invention are illustrated by way of example, and not by way of limitation, in the drawings and in which like reference numerals refer to similar elements.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of the phrase “in one embodiment” or “an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in one or more embodiments.
Various embodiments provide a video copy detection approach based on speeded up robust features (SURF) trajectory building, local sensitive hash indexing (LSH) indexing, and voting-based spatial-temporal-scale registration.
Speeded up robust features (SURF) characterize the interesting points' trajectory features in video copy detection. Various embodiments perform much better than the Harris-features based approach described in the Law-To article. When a false positive frames rate is 10%, the Harris approach's true positive frames rate is 68%, while various embodiments can achieve 90% true positive frames rate. The SURF feature is more discriminating than Harris point features and performs better for scale-relevant transformations, e.g., zoom in/out and camcording, compared to the results from the Law-To article. In addition, the SURF feature extraction is about six times faster than SIFT but provides similar speed as the Harris point feature approach.
Using local sensitive Kash (LSH) indexing provides for fast query of candidate trajectories in video copy detection. The Law-To article describes using probability similarity search rather than LSH indexing.
Through spatial-temporal-scale registration and propagation and merger of offset parameters, matched video segments with the maximum accumulated registration score are detected. The approach in the Law-To article can not detect scale transformations well. By use of this voting-based registration in the discrete offset parameter space, various embodiments are able to detect both spatial-temporal and scale transformations, e.g., cropping, zoom in/out, scale and camcording.
Offline trajectories building module 210 extracts SURF points from every frame of the video database and stores SURF points in a feature database 212. Offline trajectories building module 210 builds a trajectories feature data base 214 that includes trajectories of interesting points. Offline trajectory building module 210 uses LSH to index feature points in feature data base 212 with the trajectories in trajectories feature data base 214.
Online copy detection module 250 extracts the SURF points from sampling frames of a query video. Online copy detection module 250 queries feature data base 212 with the extracted SURF points to identify candidate trajectories with similar local features. Candidate trajectories from trajectories feature database 214 that correspond to the similar feature points are identified using LSH.
For each feature point from a query video, online copy detection module 250 uses a voting-based spatial-temporal-scale registration approach to estimate an optimal spatial-temporal-scale transformation parameter (i.e., offset) between SURF points in the query video and candidate trajectories in trajectories feature data base 214. Online copy detection module 250 propagates the matched video segments in both spatial-temporal and scale directions to identify video copies. Voting is the accumulation in the spatial-temporal-scale registration space of estimated interesting points. Spatial-temporal-scale registration space is divided into cubes corresponding to shift in x, y, t and scale parameters. Given x, y, t and scale parameters, the number of interesting points found within each cube count as votes. The cube with the highest number of voted interesting points is considered a copy. An example of the voting-based spatial-temporal-scale registration approach is described with regard to
For example, for a query video Q, M=100 SURF points are extracted every P=20 frames. For each SURF point m on the selected frame k of the query video Q, LSH is used to find N=20 nearest trajectories as the candidate trajectories in trajectories feature database 214. In practice, M, P, and N can be adjusted as a trade-off between the query speed and precision in online copy detection. Each candidate trajectory n is described by Rmn=[Id, Tran, Simmn], where Id is the videoID in trajectories feature database 214, Tran is the trajectory feature, and Simmn is the similarity between the SURF point at (xm,ym) and the candidate trajectory's Smean feature.
According to associated video Id, the candidate trajectories are categorized into different subsets I
There are many kinds of transformations in video copy detection. If the query video Q is copied from the same source as a video R of the database, there will be a “constant spatial-temporal-scale offset” between the SURF points of Q and R. Therefore, in various embodiments, the goal of video copy detection is to find a video segment R in the database which have an approximately invariable offset with Q.
In various embodiments, at each interesting point, the region is split regularly into smaller 3 by 3 square sub-regions. The Haar wavelet responses dx, and dy are summed up over each subregion and each subregion has a four-dimensional descriptor vector v=(Σdx, Σdy, Σ|dx|, Σ|dy|). Therefore, for each interesting point, there is a 36 dimensional SURF feature.
SURF is based on the estimation of a Hessian matrix to construct a Hessian-based detector. SURF employs integral images to speed up the computation time. The speed of SURF extraction is about six times faster than SIFT and provides similar speed to Harris. SURF feature is robust for video copy transformations such as for zoom in/out and cam-cording.
There are many features used in computer vision and image retrieval including global features such as color histogram, ordinal features, and local features, e.g. Harris and SIFT. For video copy detection, global features, such as color histogram features in the entire image frame, can not be used to detect local transformations, e.g. cropping and scale transformation. Various embodiments extract local features from video because local features do not change when video is shifted, cropped, or zoomed in/out.
Block 304 includes building a trajectories database and creating indexes for the trajectories in a video data base. After extracting the SURF points in each frame of the video database, these SURF points are tracked to build trajectories as the video's spatial-temporal features. Each trajectory is represented by Tran=[xmin, xmax, ymin, ymax, tin, tout, Smean], n=1, 2, . . . N, where [xmin, xmax, ymin, ymax, tin, tout] represents the spatial-temporal bounding cube and Smean is i the mean of SURF features in the trajectory.
For fast moving points in the x, y directions, the trajectory cube will be too big to discriminate a trajectory's spatial position with others. Therefore, in various embodiments, these trajectories are separated into a few short-time segments, which make the trajectories cube small enough in spatial position due to their short time duration.
For rapid online video copy detection, Local Sensitive Hashing (LSH) is used to index trajectories by their Smean features. For example, a query for Smean features can be made to index trajectories. With LSH, a small change in the feature space results in a proportional change in the hash value, i.e., the hash function is locality sensitive. In various embodiments, Exact Euclidean LSH (E2LSH) is used to index the trajectories. E2LSH is described for example in A. Andoni, P. lndyk, E2LSH0.1 User manual, June 2000.
Because the candidate trajectory Tran's bounding cube is interval-valued data, the spatial-temporal-scale parameter Offset(Id,k) is also interval-valued. Given a scale parameter scale=[scalex, scaley], the Offsetscalemn(Id,k) between the candidate trajectory n in the video Id of a trajectory database and the SURF point m in the selected frame k of the query video is defined as follows:
Offsetmnscale(Id, k)□{[offsetxmin, Offsetxmax], [Offsetymin, Offsetymax], [Offsettin, Offsettout], Simmn}={[xmin×scalex−xm, xmax×scalex−xm], [ymin×scaley−ym, ymax×scaley−ym], [tin−k, tout−k], Sim
For example, scalex=scaley ε[0.6, 0.8, 1.0, 1.2, 1.4] to detect general scale transformation such as zoom in/out. Other scale factors can be used. Because camcording transformation has different scale parameters scalex≠scaley, the x, y scale parameters are set as [scalex=0.9, scaley=1.1], and [scalex=1.1, scaley=0.9].
There are thousands of potential offsets Offsetmnscale (Id,k) and the spatial-temporal-scale offset space is too large to search in real time directly. Similar to use of a Hough transformation to vote parameters in discrete space, in various embodiments, a 3-dimentional array is used to vote the similarity score Simmn of Offsetmnscale (Id,k) in discrete spatial-temporal space. Given a scale parameter scale, the spatial-temporal searching space {x, y, t} is adaptively divided into many cubes, where each cube, cubei, is the basic voting unit.
In some embodiments, the x axis is adaptively divided into many one dimensional bins with different sizes by all the candidate trajectory's start points offsetxmin and end points offsetxmax. For each candidate trajectory Trajn, the similarity Simmn is accumulated if the interval-valued range Offsetmn has an intersection with the cubei. Adaptive dividing operations are performed in the y axis and t axis as well.
Based on these cubes, the optimal spatial-temporal registration parameter Offsetscale(Id,k) between video Id and query frame k maximizes the accumulated value of compatible queries score(m,n,cubei) as in the following equation:
Block 404 includes propagating and merging offsets determined from multiple frames to determine an optimal offset parameter. The description accompanying
After the cube extension in spatial directions, the offset cubes Offset(Id,k) are further propagated in temporal and scale directions. Search takes place in [Offsetscale(Id,k−3), Offsetscale(Id,k+3)] for seven selected frames to accumulate the spatial intersection, and search takes place in [scale−0.2,scale+0.2] for three scales to obtain robust results corresponding to different scales. Then, the optimal offset Offset(Id,k) is found which has the maximum accumulated voting value in the intersection cubes of these 3*7, or 21 offsets. This propagation step smoothes the gaps among offsets and removes abrupt/error offsets at the same time.
However, because of random perturbations, the real registration offset may be located in the neighbor cubes of the estimated optimal offset. In addition, motionless trajectories will bring some bias to the estimated offset because the intervals of Offsetxmin and Offsetxmax (or intervals of Offsetymin and Offsetymax) are very small to be voted to neighbor cubes. The bias in multi-scale cases also takes place due to noise disturbance and discrete scale parameters. In various embodiments, the optimal offset cube is slightly extended to its neighbor cubes in x, y directions if the scores of these cubes exceed a simple threshold and an estimation is made of the propagated and merged optimal offset at the final video copy detection stage.
Block 406 includes identifying a query video frame as a video copy based in part on the optimal offset. The identified video copy is a sequence of video frames from the database with local SURF trajectory features that are similar to frames in the query and each of the video frames from the database has a similar offset (t, x, y) as that of the query video. In addition, a time offset can be provided that identifies time segments of a video that are potentially copied.
Various embodiments may detect copies of still images. For image copy detection, there are no trajectory and moving information in the temporal direction and accordingly no consideration of temporal offset. However, spatial x,y and scale offset are considered in a similar manner as that of video copy detection. For example, for image copy detection, the SURF interesting points are extracted and indexed. The voting-based approach described with regard to video copy detection can be used to find the optimal offset (x,y, scale) to detect image copies.
In this example, assuming the Simmn of each potential offset is one, the best offset is cube4[x4min, x1max] and the maximum voting score is four. By comparing these optimal offsets Offsetscale(Id,k) in different scales, the optimal spatial-temporal-scale registration parameter Offset(Id,k) is estimated with the maximum voting score in all scales.
In this example, a determination is made if local features from query frames at times 50, 70, and 90 appear in frames in a video database. The query frame at time 50 includes local feature A-D. A frame at time 50 from the video database includes local features A and D. Accordingly, two votes (i.e., one vote for each local feature) are attributed to frame 50 from the video database. The (t, x, y) offset is (0, 0, 0) because the local features A and D appear at the same time and in substantially similar positions.
The query frame at time 70 includes local features F-I. The frame at time 120 from the video database includes local features F-I. Accordingly, four votes are attributed to frame 120 from the video database. The (t, x, y) offset is (50 frames, 100 pixels, 120 pixels) because the local features F-I appear 50 frames later and shifted down and to the right.
The query frame at time 90 includes local features K-M. The frame at time 140 from the video database includes local features K-M. Accordingly, three votes are attributed to frame 140 from the video database. The (t, x, y) offset is (50 frames, 100 pixels, 120 pixels) because the local features K-M appear 50 frames later and shifted down and to the right.
The query frame at time 50 includes local feature D. The frame at time 160 from the video database includes local feature D. Accordingly, one vote is attributed to frame 160 from the video database. The (t, x, y) offset is (110 frames, −50 pixels, −20 pixels) because the local feature D appears 110 frames later and shifted up and to the left.
Frames 100, 120, and 140 from the video database have similar offset (t, x, y). In other words, with reference to the scheme of
To evaluate the performance of various embodiments, extensive experiments are conducted on 200 hours of MPEG-1 videos which are randomly taken from INA (the French Institut National de I'Audiovisuel) and TRECVID2007 video dataset. The video database is divided into two parts: the reference database and the non-reference database. The reference database is 70 hours of 100 videos. The non-reference database is 130 hours of 150 videos.
Two experiments were conducted to evaluate the system performance. Running on a Pentium IV 2.0 GHz with 1G RAM, the reference video database has 1,465,532 SURF trajectories records off-line indexed by LSH. The online video copy detection module extracts M=100 SURF points at most in each sampled frame of the query video. The spatial-temporal-scale offset is calculated every p=20 frames. For each query SURF point, it takes about 150ms to find N=20 candidate trajectories by LSH. The spatial-temporal-scale registration costs about 130 ms to estimate the optimal offset in 7 scale parameters.
In the experiment 1, the video copy detection performance was compared for different transformations respectively on the SURF feature and Harris feature. Twenty query video clips are randomly extracted just from the reference database and the length of each video clip is 1000 frames. Then each video clip is transformed by different transformations to create the query video, e.g., shift, zoom aspect.
Table 1 depicts a comparison of the video copy detection approach for different transformations respectively on the SURF feature and Harris feature.
From Table 1, it can be observed that SURF feature outperform Harris feature about 25-50% for zoom in/out and camcording transformations. In addition, although SURF feature has similar performance to Harris on shift and cropping transformations. In addition, use of the SURF feature can detect more copied frames about 21%-27% than Harris features.
To test more complex data in practice, the SURF feature based spatial-temporal-scale registration approach is compared with the Harris feature based video copy detection approach described in J. Law-To's article. The query video clips consists of 15 transformed reference videos and 15 non-reference videos, which total up to 100 minutes (150,000 frames). The reference videos are transformed by different transformations with different parameters than experiment 1.
The graphics and/or video processing techniques described herein may be implemented in various hardware architectures. For example, graphics and/or video functionality may be integrated within a chipset. Alternatively, a discrete graphics and/or video processor may be used. As still another embodiment, the graphics and/or video functions may be implemented by a general purpose processor, including a multi-core processor. In a further embodiment, the functions may be implemented in a consumer electronics device.
Embodiments of the present invention may be implemented as any or a combination of: one or more microchips or integrated circuits interconnected using a motherboard, hardwired logic, software stored by a memory device and executed by a microprocessor, firmware, an application specific integrated circuit (ASIC), and/or a field programmable gate array (FPGA). The term “logic” may include, by way of example, software or hardware and/or combinations of software and hardware.
Embodiments of the present invention may be provided, for example, as a computer program product which may include one or more machine-readable media having stored thereon machine-executable instructions that, when executed by one or more machines such as a computer, network of computers, or other electronic devices, may result in the one or more machines carrying out operations in accordance with embodiments of the present invention. A machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs (Compact Disc-Read Only Memories), and magneto-optical disks, ROMs (Read Only Memories), RAMs (Random Access Memories), EPROMs (Erasable Programmable Read Only Memories), EEPROMs (Electrically Erasable Programmable Read Only Memories), magnetic or optical cards, flash memory, or other type of media/machine-readable medium suitable for storing machine-executable instructions.
The drawings and the forgoing description gave examples of the present invention. Although depicted as a number of disparate functional items, those skilled in the art will appreciate that one or more of such elements may well be combined into single functional elements. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment. For example, orders of processes described herein may be changed and are not limited to the manner described herein. Moreover, the actions of any flow diagram need not be implemented in the order shown; nor do all of the acts necessarily need to be performed. Also, those acts that are not dependent on other acts may be performed in parallel with the other acts. The scope of the present invention, however, is by no means limited by these specific examples. Numerous variations, whether explicitly given in the specification or not, such as differences in structure, dimension, and use of material, are possible. The scope of the invention is at least as broad as given by the following claims.
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/CN2009/000716 | 6/26/2009 | WO | 00 | 2/8/2012 |