US9836831B1ActiveUtility
Simulating long-exposure images
Est. expiryJul 30, 2034(~8.1 yrs left)· nominal 20-yr term from priority
G06T 5/50G06T 5/20G06T 7/0081G06T 7/20G06T 7/269G06T 7/11G06T 2207/10016G06T 5/70
95
PatentIndex Score
23
Cited by
33
References
20
Claims
Abstract
Implementations relate to simulating long-exposure images. In some implementations, a method includes examining a series of images, determining an optical flow of pixel features between the image and an adjacent image in the series of images, and blurring one or more regions in one or more of the images, where the one or more regions are spatially defined based on one or more attributes of the optical flow.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
causing capture of a series of images of a scene, wherein causing the capture of the series of images comprises:
in response to one or more images being captured based on input from a user, determining whether an image feature is moving within the scene; and
in response to determining that the image feature is moving within the scene, automatically causing capture of one or more additional images of the series of images;
examining the series of images;
determining an optical flow of pixel features between at least one image of the series of images and an adjacent image in the series of images, wherein determining the optical flow includes determining one or more vector fields for the at least one image indicating the optical flow; and
blurring one or more regions in the at least one image, wherein the one or more regions are spatially defined based on one or more attributes of the optical flow.
2. The method of claim 1 further comprising aligning pixel features among the series of images.
3. The method of claim 1 wherein the blurring is a spatially-varying blur using one or more kernels having respective kernel sizes and kernel value distributions based on a magnitude and a direction of vectors in the one or more vector fields of the one or more regions, and wherein the one or more kernels have a plurality of weights that are asymmetric in the one or more kernels based on one or more of the vectors.
4. The method of claim 3 wherein each of the vectors is located in correspondence with an associated pixel, wherein each vector indicates the direction and magnitude of the optical flow of the associated pixel occurring between the image in which the vector is located and the adjacent image.
5. The method of claim 3 wherein the one or more regions are spatially defined by grouping multiple vectors of the one or more vector fields, wherein the multiple vectors are grouped based on direction and magnitude of the multiple vectors.
6. The method of claim 3 wherein the blurring includes blurring the one or more regions that have vectors with a magnitude higher than a particular threshold.
7. The method of claim 6 further comprising:
determining whether the vectors with the magnitude higher than the particular threshold are present in one or more particular images provided at one or more of: a beginning and an end of the series of images; and
in response to determining an absence of the vectors with the magnitude higher than the particular threshold in the one or more particular images, extending a blur to the one or more particular images from one or more adjacent images that are adjacent to the one or more particular images in the series of images, wherein the one or more adjacent images include at least one of the one or more regions.
8. The method of claim 1 wherein causing the capture of the series of images further comprises:
determining whether the series of images includes a particular number of images; and
in response to determining that the series of images includes the particular number of images, ceasing the capture of the one or more additional images.
9. The method of claim 1 further comprising filtering the one or more vector fields to remove high-frequency differences between corresponding vectors of different images, wherein the regions are spatially defined based on one or more filtered vector fields resulting from the filtering, wherein the filtering includes one of:
smoothing a vector at each pixel position of the different images based on vectors from two or more adjacent images in the series of images, and
selecting a median vector of the vectors at each pixel position from the two or more adjacent images in the series of images.
10. The method of claim 1 wherein the one or more regions are determined using a graph cut technique.
11. The method of claim 1 further comprising compositing the one or more blurred regions onto at least one image of the series of images to create an image having the one or more blurred regions.
12. The method of claim 11 wherein the blurring one or more regions includes creating a blurred image and wherein the compositing includes compositing the blurred image with at least one of the series of images to create the image having the one or more blurred regions.
13. The method of claim 1 wherein an application on a client device automatically captures the series of images and provides the series of images to a processor at the client device or a connected remote server device to perform the determining the optical flow and blurring the one or more regions.
14. The method of claim 1 wherein causing the capture of the series of images further comprises:
determining whether the image feature is not detected in the scene; and
in response to determining that the image feature is not detected in the scene, ceasing the capture of the one or more additional images.
15. A system comprising:
a storage device; and
at least one processor accessing the storage device and operative to perform operations comprising:
examining a series of images;
determining an optical flow of pixel features in the series of images, wherein the operation of determining the optical flow includes determining one or more vector fields for a plurality of images of the series of images indicating the optical flow; and
blurring corresponding one or more regions in one or more of the plurality of images, wherein the one or more regions have vectors with a magnitude higher than a particular threshold, wherein blurring the one or more regions includes:
determining whether the vectors with the magnitude higher than the particular threshold are present in one or more particular images provided at one or more of: a beginning and an end of the series of images; and
in response to determining the absence of the vectors with the magnitude higher than the particular threshold in the one or more particular images, extending a blur to the one or more particular images from one or more adjacent images that are adjacent to the one or more particular images in the series of images, wherein the one or more adjacent images include at least one of the one or more corresponding regions.
16. The system of claim 15 wherein the one or more regions are spatially defined based on one or more attributes of the optical flow, wherein the blurring is a spatially-varying blur using one or more kernels having respective kernel sizes and kernel value distributions based on a magnitude and a direction of vectors in the one or more vector fields of the one or more regions, and wherein the one or more kernels have a plurality of weights that are asymmetric in the one or more kernels based on one or more of the vectors.
17. The system of claim 15 further comprising compositing the one or more blurred regions and the one or more particular images to create an output image.
18. The system of claim 15 wherein the operations further comprise:
causing capture of the series of images of a scene, wherein causing the capture of the series of images comprises:
in response to one or more images of the series of images being captured based on input from a user, determining whether an image feature is moving within the scene; and
in response to determining that the image feature is moving within the scene, automatically causing capture of one or more additional images of the series of images.
19. A non-transitory computer readable medium having stored thereon software instructions that, when executed by a processor, cause the processor to perform operations including:
causing capture of a series of images of a scene, wherein causing the capture of the series of images comprises:
in response to one or more images being captured based on input from a user, determining whether an image feature is moving within the scene; and
in response to determining that the image feature is moving within the scene, automatically causing capture of one or more additional images of the series of images;
examining the series of images;
determining an optical flow of pixel features between at least one image of the series of images and an adjacent image in the series of images, wherein determining the optical flow includes determining one or more vector fields indicating the optical flow; and
blurring one or more regions in the at least one image, wherein the one or more regions are spatially defined based on one or more attributes of the optical flow.
20. The non-transitory computer readable medium of claim 19 , with further software instructions stored thereon that cause the processor to perform operations including:
aligning the pixel features among the series of images.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.