# US 12,761,981 B2 · Systems and methods for motion correction in synthetic images

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,761,981 B2
- Document ID: US12761981B2
- Status: Granted
- Kind: B2
- Application number: 18/763,367
- Filed: 2024-07-03
- Published: 2024-12-12
- Granted: 2026-10-13
- Earliest claimed: 2018-07-06
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Austin Walters; Jeremy Goodsitt
- Web page: https://patentgrep.com/patent/US12761981B2

## CPC

- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 9/54: Interprogram communication
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06F 11/3608: {using formal methods, e.g. model checking, abstract interpretation (theorem proving G06N5/013)}
- G06F 11/3628: {of optimised code (optimisation G06F8/443)}
- G06F 11/3636: {by tracing the execution of the program}
- G06F 16/2237: {Vectors, bitmaps or matrices}
- G06F 16/2264: {Multidimensional index structures}
- G06F 16/2423: {Interactive query statement specification based on a database schema}
- G06F 16/24568: {Data stream processing; Continuous queries}
- G06F 16/248: Presentation of query results
- G06F 16/254: {Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses}
- G06F 16/258: {Data format conversion from or to a database}
- G06F 16/283: {Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP}
- G06F 16/285: {Clustering or classification}
- G06F 16/288: {Entity relationship models}
- G06F 16/335: Filtering based on additional data, e.g. user or group profiles (filtering in web context G06F16/9535, G06F16/9536)
- G06F 16/90332: {Natural language query formulation or dialogue systems}
- G06F 16/90335: {Query processing}
- G06F 16/9038: Presentation of query results
- G06F 16/906: Clustering; Classification
- G06F 16/93: Document management systems
- G06F 17/15: Correlation function computation {including computation of convolution operations (arithmetic circuits for sum of products per se, e.g. multiply-accumulators G06F7/5443; digital filters, e.g. FIR, IIR, adaptive filters H03H17/00)}
- G06F 17/16: Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)}
- G06F 17/18: for evaluating statistical data {, e.g. average values, frequency distributions, probability functions, regression analysis (forecasting specially adapted for a specific administrative, business or logistic context G06Q10/04)}
- G06F 18/2115: by evaluating different subsets according to an optimisation criterion, e.g. class separability, forward selection or backward elimination
- G06F 18/213: Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F 18/214: Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F 18/2148: {characterised by the process organisation or structure, e.g. boosting cascade}
- G06F 18/217: {Validation; Performance evaluation; Active pattern learning techniques}
- G06F 18/2193: {based on specific statistical tests}
- G06F 18/22: Matching criteria, e.g. proximity measures
- G06F 18/23: Clustering techniques
- G06F 18/24: Classification techniques
- G06F 18/2411: based on the proximity to a decision surface, e.g. support vector machines
- G06F 18/2415: based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F 18/285: {Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system}
- G06F 18/40: Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
- G06F 21/552: {involving long-term monitoring or reporting}
- G06F 21/60: Protecting data
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06F 21/6254: {by anonymising data, e.g. decorrelating personal data from the owner's identification}
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06F 40/117: Tagging; Marking up (details of markup languages G06F40/143); Designating a block; Setting of attributes (style sheets, e.g. eXtensible Stylesheet Language Transformation [XSLT], G06F40/154)
- G06F 40/166: Editing, e.g. inserting or deleting
- G06F 40/20: Natural language analysis (semantic analysis of natural language G06F40/30)
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/06: Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N 3/088: Non-supervised learning, e.g. competitive learning
- G06N 3/094: Adversarial learning
- G06N 5/00: Computing arrangements using knowledge-based models
- G06N 5/02: Knowledge representation; Symbolic representation
- G06N 5/04: Inference or reasoning models
- G06N 7/00: Computing arrangements based on specific mathematical models
- G06N 7/01: Probabilistic graphical models, e.g. probabilistic networks
- G06N 20/00: Machine learning
- G06Q 10/04: Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem" (market predictions or forecasting for commercial activities G06Q30/0202)
- G06T 7/194: involving foreground-background segmentation
- G06T 7/246: using feature-based methods, e.g. the tracking of corners or segments
- G06T 7/248: {involving reference images or patches}
- G06T 7/254: involving subtraction of images
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G06V 10/768: {using context analysis, e.g. recognition aided by known co-occurring patterns}
- G06V 10/993: {Evaluation of the quality of the acquired pattern}
- G06V 30/194: References adjustable by an adaptive method, e.g. learning
- G06V 30/1985: {Syntactic analysis, e.g. using a grammatical approach (syntactic image representation G06V30/18171)}
- H04L 63/1416: {Event detection, e.g. attack signature detection}
- H04L 63/1491: {using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment}
- H04L 67/306: User profiles
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04N 21/23412: {for generating or manipulating the scene composition of objects, e.g. MPEG-4 objects}
- H04N 21/8153: {comprising still images, e.g. texture, background image}
- G06T 2207/10016: Video; Image sequence
- G06T 2207/20081: Training; Learning
- G06T 2207/20084: Artificial neural networks [ANN]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Systems and methods for generating synthetic video are disclosed. For example, the system may include one or more memory units storing instructions and one or more processors configured to execute the instructions to perform operations. The operations may include generating a static background image and determining the location of a reference edge. The operations may include determining a perspective of an observation point. The operations may include generating synthetic difference images that include respective synthetic object movement edges. The operations may include determining a location of the respective synthetic object movement edge and generating adjusted difference images corresponding to the individual synthetic difference images. Adjusted difference images may be based on synthetic difference images, locations of the respective synthetic object movement edges, the perspective of the observation point, and the location of the reference edge. The operations may include generating texturized images based on the adjusted difference images.

## Claims

### Claim 1

A system for generating synthetic video comprising:
one or more memory units storing instructions; and
one or more processors configured to execute the instructions to perform operations comprising:
receiving video data comprising a sequence of images;
generating background difference images based on the sequence of images;
determining a seed image, a seed difference image, or the seed image and the seed difference image based on the sequence of images;
generating synthetic difference images based on the seed image, the seed difference image, or the seed image and the seed difference image as a starting point;
generating merged difference images based on background difference images and the synthetic difference images with the seed image, the seed difference image, or the seed image and the seed difference image as the starting point; and
generating texturized images based on the merged difference images.

### Claim 2 (depends on 1)

The system of claim 1, wherein:
the operations further comprise normalizing the seed image; and
generating the synthetic difference images is further based on the normalized seed image.

### Claim 3 (depends on 1)

The system of claim 1, wherein the operations further comprise generating a synthetic normalized image as the seed image using a neural network model.

### Claim 4 (depends on 1)

The system of claim 1, wherein the operations further comprise generating the seed difference image based on the seed image using an encoder model.

### Claim 5 (depends on 1)

The system of claim 1, wherein the operations further comprise generating a synthetic difference image as the seed difference image using a neural network model.

### Claim 6 (depends on 1)

The system of claim 1, wherein:
the operations further comprise:
determining a location of a light source associated with a background image; and
generating a sequence of adjusted difference images based on the synthetic difference images and the location of the light source; and
generating the merged difference images is further based on the location of the light source associated with the background image.

### Claim 7 (depends on 1)

The system of claim 1, wherein:
the operations further comprise:
determining a perspective of an observation point associated with a background image; and
scaling a movement edge of the synthetic difference images based on the perspective of the observation point; and
generating the merged difference images is further based on the perspective of the observation point.

### Claim 8

A method for generating synthetic video, comprising:
analyzing video data comprising a sequence of images;
generating background difference images based on analysis of the video data;
determining a seed image, a seed difference image, or the seed image and the seed difference image based on the analysis;
generating synthetic difference images using a starting point based on the seed image, the seed difference image, or the seed image and the seed difference image;
generating merged difference images based on background difference images and the synthetic difference images with the seed image, the seed difference image, or the seed image and the seed difference image based on the starting point; and
generating texturized images based on the merged difference images.

### Claim 9 (depends on 8)

The method of claim 8, further comprising normalizing the seed image, wherein generating the starting point is based on the normalized seed image.

### Claim 10 (depends on 8)

The method of claim 8, further comprising generating a synthetic normalized image as the seed image using a neural network model.

### Claim 11 (depends on 8)

The method of claim 8, further comprising generating the seed difference image based on the seed image using an encoder model.

### Claim 12 (depends on 8)

The method of claim 8, further comprising generating a synthetic difference image as the seed difference image using a neural network model.

### Claim 13 (depends on 8)

The method of claim 8, further comprising:
determining a location of a light source associated with a background image;
generating a sequence of adjusted difference images based on the synthetic difference images and the location of the light source, wherein generating the merged difference images is further based on the location of the light source associated with the background image.

### Claim 14 (depends on 8)

The method of claim 8, further comprising:
determining a perspective of an observation point associated with a background image;
scaling a movement edge of the synthetic difference images based on the perspective of the observation point, wherein generating the merged difference images is further based on the perspective of the observation point.

### Claim 15

A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, perform operations comprising:
analyzing a sequence of images of video data;
generating background difference images based on the analyzed sequence of images;
determining a seed image, a seed difference image, or the seed image and the seed difference image based on the analyzed sequence of images;
generating synthetic difference images based on the seed image, the seed difference image, or the seed image and the seed difference image as a starting point;
generating merged difference images based on background difference images and the synthetic difference images with the seed image, the seed difference image, or the seed image and the seed difference image as the starting point; and
generating texturized images based on the merged difference images.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein:
the operations further comprise normalizing the seed image; and
generating the synthetic difference images is further based on the normalized seed image.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the operations further comprise generating a synthetic normalized image as the seed image using a neural network model.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the operations further comprise generating the seed difference image based on the seed image using an encoder model.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the operations further comprise generating a synthetic difference image as the seed difference image using a neural network model.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein:
the operations further comprise:
determining a location of a light source associated with a background image; and
generating a sequence of adjusted difference images based on the synthetic difference images and the location of the light source; and
generating the merged difference images is further based on the location of the light source associated with the background image.
