Skip to content

rsv-hash-commercial (Reverse Video Search)

Description

The goal of reverse video search is to identify whether a given video is identical or near-identical or a sub-video of any video in a database of videos, or whether a sub-video of the test video exists in the database. The database of videos to be 'indexed' are enrolled in the plugin. A test video is then compared to all indexed videos. The plugin uses the perceptual hash (pHash) method to find a compact hash of each frame of a video, and this is associated with a time stamp. Comparison scores can be output between 0 and 100, with higher being more similar. With a default threshold of 10, only comparison scores equal to or above this threshold will be output.

Comparison of videos operates using a sliding window of image hashes such that the pHash'es of the shorter video of the comparison are compared to a sliding window of hashes of the larger video. Therefore, a high comparison score comes from having many similar frames in the same sequence rather than a single frame being identical as would happen when using standard image reverse search algorithms. The timing location is output along with the comparison score indicating the estimated timestamp of the shorter video within the larger of the videos in the comparison.

Domains

  • video-v1
    • A general all-purpose domain used for standard video comparisons.

Functionality (Traits)

The functions of this plugin are defined by its Traits and implemented API messages. A list of these Traits is below, along with the corresponding API messages for each. Click the message name below to go to additional implementation details below.

Compatibility

OLIVE 6.1+

Limitations

Known or potential limitations of the plugin are outlined below.

Detection Accuracy

The plugin simply exposes a well-known phash scoring functionality, and while it was designed to be robust to video cropping, flipping, etc., it is not always the case.

Sub-video Detections

The plugin looks only for the existence of the smaller video within the larger video. No attempt is made to find part of the smaller video within the larger video.

Computation

The length of videos indexed as well as being analyzed will directly impact the speed of the analysis. Particularly when two long videos are compared, the computation will increase significantly over the comparison of two short videos, or a short vs long video.

Audio

Audio from the video is ignored in all reverse image comparisons.

Global Options

The following options are available to this plugin, adjustable in the plugin's configuration file; plugin_config.py.

Option Name Description Default Expected Range
threshold Detection threshold: Higher value results in less detections being output, but of higher reliability. 10.0 0.0 to 100.0