Abstract:
An example method is disclosed that includes identifying a training set of images, wherein each image in the training set has an identified bounding box that comprises an object class and an object location for an object in the image. The method also includes segmenting each image of the training set, wherein segments comprise sets of pixels that share visual characteristics, and wherein each segment is associated with an object class. The method further includes clustering the segments that are associated with the same object class, and generating a data structure based on the clustering, wherein entries in the data structure comprise visual characteristics for prototypical segments of objects having the object class and further comprise one or more potential bounding boxes for the objects, wherein the data structure is usable to predict bounding boxes of additional images that include an object having the object class.
Abstract:
An easy-to-use online video stabilization system and methods for its use are described. Videos are stabilized after capture, and therefore the stabilization works on all forms of video footage including both legacy video and freshly captured video. In one implementation, the video stabilization system is fully automatic, requiring no input or parameter settings by the user other than the video itself. The video stabilization system uses a cascaded motion model to choose the correction that is applied to different frames of a video. In various implementations, the video stabilization system is capable of detecting and correcting high frequency jitter artifacts, low frequency shake artifacts, rolling shutter artifacts, significant foreground motion, poor lighting, scene cuts, and both long and short videos.
Abstract:
A highlight learning technique is provided to detect and identify highlights in sports videos. A set of event models are calculated from low-level frame information of the sports videos to identify recurring events within the videos. The event models are used to characterize videos by detecting events within the videos and using the detected events to generate an event vector. The event vector is used to train a classifier to identify the videos as highlight or non-highlight.
Abstract:
An easy-to-use online video stabilization system and methods for its use are described. Videos are stabilized after capture, and therefore the stabilization works on all forms of video footage including both legacy video and freshly captured video. In one implementation, the video stabilization system is fully automatic, requiring no input or parameter settings by the user other than the video itself. The video stabilization system uses a cascaded motion model to choose the correction that is applied to different frames of a video. In various implementations, the video stabilization system is capable of detecting and correcting high frequency jitter artifacts, low frequency shake artifacts, rolling shutter artifacts, significant foreground motion, poor lighting, scene cuts, and both long and short videos.
Abstract:
In some instances, an image may have dimensions that do not correspond to a slot to display the image. For example, an image content item may have dimensions that do not correspond to a content item slot. The image may be resized using seam carving to add or remove pixels of the image. A saliency map for the image may be used having saliency scores for each pixel of the image. Evaluation metrics may be used before, during, and after, seam carving to determine whether salient content is affected by the seam carving. In some instances, a seam cost threshold value may be used for adaptive step size during the seam carving. The resized image may then be outputted, such as for an image content item to be served with a resource.
Abstract:
Implementations generally relate to generating photo animations. In some implementations, a method includes receives a plurality of photos from a user. The method also includes selecting photos from the plurality of photos that meet one or more predetermined similarity criteria. The method also includes generating an animation using the selected photos.
Abstract:
An easy-to-use online video stabilization system and methods for its use are described. Videos are stabilized after capture, and therefore the stabilization works on all forms of video footage including both legacy video and freshly captured video. In one implementation, the video stabilization system is fully automatic, requiring no input or parameter settings by the user other than the video itself. The video stabilization system uses a cascaded motion model to choose the correction that is applied to different frames of a video. In various implementations, the video stabilization system is capable of detecting and correcting high frequency jitter artifacts, low frequency shake artifacts, rolling shutter artifacts, significant foreground motion, poor lighting, scene cuts, and both long and short videos.
Abstract:
An exemplar dictionary is built from example image blocks for determining predictor blocks for encoding and decoding images. The exemplar dictionary comprises a hierarchical organization of example image blocks. The hierarchical organization of image blocks is obtained by clustering a set of example image blocks, for example, based on k-means clustering. Performance of clustering is improved by transforming feature vectors representing the image blocks to fewer dimensions. Principal component analysis is used for determining feature vectors with fewer dimensions. The clustering performed at higher levels of the hierarchy uses fewer dimensions of feature vectors compared to lower levels of hierarchy. Performance of clustering is improved by processing only a sample of the image blocks of a cluster. The clustering performed at higher levels of the hierarchy uses lower sampling rates as compared to lower levels of hierarchy.