Abstract:
Techniques are disclosed herein for applying an artistic style extracted from one or more source images, e.g., paintings, to one or more target images. The extracted artistic style may then be stored as a plurality of layers in a neural network. In some embodiments, two or more stylized target images may be combined and stored as a stylized video sequence. The artistic style may be applied to the target images in the stylized video sequence using various optimization methods and/or pixel- and feature-based regularization techniques in a way that prevents excessive content pixel fluctuations between images and preserves smoothness in the assembled stylized video sequence. In other embodiments, a user may be able to semantically annotate locations of undesired artifacts in a target image, as well as portion(s) of a source image from which a style may be extracted and used to replace the undesired artifacts in the target image.
Abstract:
A method may include accessing a data processing architecture associated with a neural network to determine dependencies between intermediate data layers of the neural network; obtaining dimensions of the intermediate data layers in the neural network; calculating a minimum number of data storage portions for executing the neural network based on the dependencies; determining a memory allocation size for each respective data storage portion of the data storage portions based on the dimensions and dependencies; allocating memory on a storage device for each data storage portion in accordance with its respective determined memory allocation size.
Abstract:
Techniques are disclosed herein for applying an artistic style extracted from one or more source images, e.g., paintings, to one or more target images. The extracted artistic style may then be stored as a plurality of layers in a neural network. In some embodiments, two or more stylized target images may be combined and stored as a stylized video sequence. The artistic style may be applied to the target images in the stylized video sequence using various optimization methods and/or pixel- and feature-based regularization techniques in a way that prevents excessive content pixel fluctuations between images and preserves smoothness in the assembled stylized video sequence. In other embodiments, a user may be able to semantically annotate locations of undesired artifacts in a target image, as well as portion(s) of a source image from which a style may be extracted and used to replace the undesired artifacts in the target image.
Abstract:
Techniques to identify and track a pre-identified region-of-interest (ROI) through a temporal sequence of frames/images are described. In general, a down-sampled color gradient (edge map) of an arbitrary sized ROI from a prior frame may be used to generate a small template. This initial template may be used to identify a region of a new or current frame that may be overscan and used to create a current frame's edge map. By comparing the prior frame's template to the current frame's edge map, a cost value or image may be found and used to identify the current frame's ROI center. The size of the current frame's ROI may be found by varying the size of putative new ROIs and testing for their congruence with the prior frame's template. Subsequent ROI's for subsequent frames may be identified to, effectively, track an arbitrarily sized ROI through a sequence of video frames.
Abstract:
A method to improve the efficiency of the detection and tracking of machine-readable objects is disclosed. The properties of image frames may be pre-evaluated to determine whether a machine-readable object, even if present in the image frames, would be likely to be detected. After it is determined that one or more image frames have properties that may enable the detection of a machine-readable object, image data may be evaluated to detect the machine-readable object. When a machine-readable object is detected, the location of the machine-readable object in a subsequent frame may be determined based on a translation metric between the image frame in which the object was identified and the subsequent frame rather than a detection of the object in the subsequent frame. The translation metric may be identified based on an evaluation of image data and/or motion sensor data associated with the image frames.
Abstract:
Systems and methods for improving automatic selection of keeper images from a commonly captured set of images are described. A combination of image type identification and image quality metrics may be used to identify one or more images in the set as keeper images. Image type identification may be used to categorize the captured images into, for example, three or more categories. The categories may include portrait, action, or “other.” Depending on the category identified, the images may be analyzed differently to identify keeper images. For portrait images, an operation may be used to identify the best set of faces. For action images, the set may be divided into sections such that keeper images selected from each section tell the story of the action. For the “other” category, the images may be analyzed such that those having higher quality metrics for an identified region of interest are selected.
Abstract:
A method for dynamically calibrating rotational offset in a device includes obtaining an image captured by a camera of the device. Orientation information of the device at the time of image capture may be associated with the image. Pixel data of the image may be analyzed to determine an image orientation angle for the image. A device orientation angle may be determined from the orientation information. A rotational offset, based on the image orientation angle and the device orientation angle, may be determined. The rotational offset is relative to the camera or orientation sensor. A rotational bias may be determined from statistical analysis of numerous rotational offsets from numerous respective images. In some embodiments, various thresholds and predetermined ranges may be used to exclude some rotational offsets from the statistical analysis or to discontinue processing for that image.
Abstract:
A method to improve the efficiency of the detection and tracking of machine-readable objects is disclosed. The properties of image frames may be pre-evaluated to determine whether a machine-readable object, even if present in the image frames, would be likely to be detected. After it is determined that one or more image frames have properties that may enable the detection of a machine-readable object, image data may be evaluated to detect the machine-readable object. When a machine-readable object is detected, the location of the machine-readable object in a subsequent frame may be determined based on a translation metric between the image frame in which the object was identified and the subsequent frame rather than a detection of the object in the subsequent frame. The translation metric may be identified based on an evaluation of image data and/or motion sensor data associated with the image frames.
Abstract:
A method for dynamically calibrating rotational offset in a device includes obtaining an image captured by a camera of the device. Orientation information of the device at the time of image capture may be associated with the image. Pixel data of the image may be analyzed to determine an image orientation angle for the image. A device orientation angle may be determined from the orientation information. A rotational offset, based on the image orientation angle and the device orientation angle, may be determined. The rotational offset is relative to the camera or orientation sensor. A rotational bias may be determined from statistical analysis of numerous rotational offsets from numerous respective images. In some embodiments, various thresholds and predetermined ranges may be used to exclude some rotational offsets from the statistical analysis or to discontinue processing for that image.
Abstract:
The subject technology provides receiving a neural network (NN) model to be executed on a target platform, the NN model including multiple layers that include operations and some of the operations being executable on multiple processors of the target platform. The subject technology further sorts the operations from the multiple layers in a particular order based at least in part on grouping the operations that are executable by a particular processor of the multiple processors. The subject technology determines, based at least in part on a cost of transferring the operations between the multiple processors, an assignment of one of the multiple processors for each of the sorted operations of each of the layers in a manner that minimizes a total cost of executing the operations. Further, for each layer of the NN model, the subject technology includes an annotation to indicate the processor assigned for each of the operations.