Detecting foreground regions in panoramic video frames
First Claim
1. A method of detecting foreground regions in a panoramic frame, the method comprising:
- receiving, by a computing device, panoramic video data comprising a plurality of panoramic frames and video frame sequence data indicating a video frame sequence for the plurality of panoramic frames, wherein a subject panoramic frame of the plurality of panoramic frames comprises a plurality of pixel values and spatial data describing a spatial arrangement of the plurality of pixel values on a two-dimensional grid described by an X-axis and a Y-axis;
selecting, by the computing device and from the subject panoramic frame, a plurality of scene point locations positioned on the two-dimensional grid, wherein a first scene point location of the plurality of scene point locations depicts a first scene point from a scene shown by a panoramic video depicted by the panoramic video data, and wherein the first scene point location is positioned on the two-dimensional grid at a first location corresponding to a location of a first pixel value of the plurality of pixel values;
identifying, by the computing device, a second scene point location depicting the first scene point at a second panoramic frame that is before the subject panoramic frame in the video frame sequence;
determining, by the computing device, a Y-axis displacement for the first scene point by determining a distance on the Y-axis between the second scene point location and the first scene point location;
determining, by the computing device, a plurality of columns from the subject panoramic frame, where each of the plurality of columns is characterized by a column position on the X-axis, and wherein the first scene point location is in a first column of the plurality of columns;
determining, by the computing device, an average Y-axis displacement for scene point locations from the plurality of scene point locations in the first column;
fitting, by the computing device, a sinusoidal function to a distribution of average Y-axis displacements of scene points by column position on the X-axis, wherein the sinusoidal function maps position on the X-axis to Y-axis displacement;
determining, by the computing device, that the Y-axis displacement of the first scene point differs from an output of the sinusoidal function at an X-axis position of the first scene point by more than a threshold distance; and
writing, by the computing device, an indication of the first pixel value to a listing of foreground pixel values.
1 Assignment
0 Petitions
Accused Products
Abstract
Various examples are directed to systems and methods for detecting regions in video frames. For example, a computing device may receive a video comprising a plurality of frames and a video frame sequence of the plurality of frames. The computing device may select a plurality of scene point location from a first frame. The computing device may determine a plurality of columns in the first frame and fit a first sinusoidal function to a distribution of average column Y-axis displacements for the plurality of columns by column position. The computing device may determine a first difference based at least in part on the first scene point Y-axis displacement and an output of the first sinusoidal function at the X-axis position of the first scene point and determine that the first difference is greater than a threshold distance.
-
Citations
20 Claims
-
1. A method of detecting foreground regions in a panoramic frame, the method comprising:
-
receiving, by a computing device, panoramic video data comprising a plurality of panoramic frames and video frame sequence data indicating a video frame sequence for the plurality of panoramic frames, wherein a subject panoramic frame of the plurality of panoramic frames comprises a plurality of pixel values and spatial data describing a spatial arrangement of the plurality of pixel values on a two-dimensional grid described by an X-axis and a Y-axis; selecting, by the computing device and from the subject panoramic frame, a plurality of scene point locations positioned on the two-dimensional grid, wherein a first scene point location of the plurality of scene point locations depicts a first scene point from a scene shown by a panoramic video depicted by the panoramic video data, and wherein the first scene point location is positioned on the two-dimensional grid at a first location corresponding to a location of a first pixel value of the plurality of pixel values; identifying, by the computing device, a second scene point location depicting the first scene point at a second panoramic frame that is before the subject panoramic frame in the video frame sequence; determining, by the computing device, a Y-axis displacement for the first scene point by determining a distance on the Y-axis between the second scene point location and the first scene point location; determining, by the computing device, a plurality of columns from the subject panoramic frame, where each of the plurality of columns is characterized by a column position on the X-axis, and wherein the first scene point location is in a first column of the plurality of columns; determining, by the computing device, an average Y-axis displacement for scene point locations from the plurality of scene point locations in the first column; fitting, by the computing device, a sinusoidal function to a distribution of average Y-axis displacements of scene points by column position on the X-axis, wherein the sinusoidal function maps position on the X-axis to Y-axis displacement; determining, by the computing device, that the Y-axis displacement of the first scene point differs from an output of the sinusoidal function at an X-axis position of the first scene point by more than a threshold distance; and writing, by the computing device, an indication of the first pixel value to a listing of foreground pixel values. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented system for detecting foreground in a video frame, comprising:
-
at least one processor; and a data storage device comprising instructions stored thereon that, when executed by the at least one processor, cause the at least one processor to; receive video data comprising a plurality of frames and a video frame sequence of the plurality of frames; from a first frame of the plurality of frames, select a plurality of scene point locations including a first scene point location depicting a first scene point, wherein the first scene point location is at a first position on a first axis of the first frame and a second position on a second axis of the first frame; from a second frame of the plurality of frames, identify a second scene point location depicting the first scene point; determine a first scene point displacement on the second axis between the first scene point location and the second scene point location; determine a plurality of columns in the first frame, wherein the plurality of columns comprises a first column having a first column position on the first axis of the first frame, and wherein the first scene point location is in the first column; determine an average column second axis displacement for scene points depicted in the first column; selecting a first sinusoidal function based at least in part on a distribution of average column second axis displacements for the plurality of columns by column position; determine a first difference based at least in part on the first scene point displacement and an output of the first sinusoidal function at the first position on the first axis of the first scene point; and determine that the first difference is greater than a threshold distance. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for detecting foreground in a video frame, comprising:
-
receiving, by a computing device, a video comprising a plurality of frames and a video frame sequence of the plurality of frames; from a first frame of the plurality of frames, selecting, by the computing device, a plurality of scene point locations including a first scene point location depicting a first scene point, wherein the first scene point location is at a first position on a first axis of the first frame and a second position on a second axis of the first frame; from a second frame of the plurality of frames, identifying, by the computing device, a second scene point location depicting the first scene point; determining by the computing device, a first scene point first axis displacement based at least in part on the first scene point location and the second scene point location; determining, by the computing device, a plurality of columns in the first frame, wherein the plurality of columns comprises a first column having a first column position on the first axis of the first frame, and wherein the first scene point location is in the first column; determining, by the computing device, an average column first axis displacement for scene points depicted in the first column; selecting, by the computing device, a first sinusoidal function based at least in part on a distribution of average column first axis displacements for the plurality of columns by column position; determining, by the computing device, a first difference based at least in part on the first scene point first axis displacement and an output of the first sinusoidal function at a first axis position of the first scene point; and determining, by the computing device, that the first difference is greater than a threshold distance. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification