IP Library Granted Patent US 12,293,294
Granted Patent B2
US 12,293,294 · App. 17/316,503 · Granted May 6, 2025

Systems and methods for image or video performance heat map generation

Inventors: Elham Saraee (Jamaica Plain, MA); Jehan Hamedi (South Boston, MA); Zachary Halloran (Braintree, MA); Arsenii Mustafin (Boston, MA)
Assignee: VIZIT LABS, INC.
G06N3/084G06N3/08G06Q30/0277G06T11/001G06T11/60G06V10/764G06V10/776G06V20/46
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,293,294
App. No.
17/316,503
Granted
May 6, 2025
Kind
B2
Abstract

A method is disclosed. The method may include receiving an image or video; extracting a plurality of features from the image or video; executing a neural network using the plurality of features to obtain a performance score for the image or video, the neural network comprising an input layer, a plurality of intermediate layers subsequent to the input layer, and a regression layer or a classification layer; extracting values from one or more signals between an intermediate layer and the regression layer or the classification layer; for each of the plurality of features, calculating, based on at least one of the one or more values, an impact score indicating an impact the feature had on the performance score; and generating, based on one or more impact scores for the plurality of features, indications indicating an impact different features of the image or video had on the performance score.

Claims (78)

1. A method for improved explainability of a neural network, comprising:

receiving, by one or more processors, an image or video comprising a set of pixels;

extracting, by the one or more processors, a plurality of features from the image or video;

generating, by the one or more processors, a feature vector including the plurality of features each at different index values of the feature vector, each of the plurality of features corresponding to a different pixel or subset of pixels of the set of pixels of the image or video;

executing, by the one or more processors, a neural network using the plurality of features to obtain a performance score for the image or video, the neural network comprising an input layer, a plurality of intermediate layers subsequent to the input layer, and a regression layer or a classification layer subsequent to the plurality of intermediate layers;

extracting, by the one or more processors, one or more values from one or more signals between an intermediate layer of the plurality of intermediate layers and the regression layer or the classification layer, the one or more values generated responsive to executing the neural network using the extracted plurality of features;

back-propagating, by the one or more processors, a set of the extracted one or more values through the plurality of intermediate layers and the input layer;

extracting, by the one or more processors, an impact score for each of the plurality of features from the input layer and generated from the back-propagation of the set of the extracted one or more values through the plurality of intermediate layers and the input layer; and

assigning, by the one or more processors, an impact score of the extracted impact scores to each pixel and/or subset of pixels of the set of pixels of the image or video based on the pixel or subset of pixels mapping to the same index value of the feature vector as the impact score;

determining, by the one or more processors, (i) a first plurality of pixels of the image or video that correspond to a first color indicating a positive impact to the performance score, and (ii) a second plurality of pixels of the image or video that correspond to a second color indicating a negative impact to the performance score, based on an assignment of a positive impact score to each of the first plurality of pixels and a negative impact score to each of the second plurality of pixels;

generating, by the one or more processors, a heat map overlay comprising the first color at locations of the image or video corresponding to the first plurality of pixels and the second color at locations of the image or video corresponding to the second plurality of pixels; and

presenting, at a display of a client device and by the one or more processors, the heat map overlay over the image or video.

2. The method of claim 1 , comprising:

generating, by the one or more processors, an evaluation image or video by placing the heat map overlay over the image or video.

3. The method of claim 1 , further comprising:

determining, by the one or more processors, whether each of the plurality of features had a positive impact on the performance score, a negative impact on the performance score, or no impact on the performance score.

4. The method of claim 3 , wherein determining whether each of the plurality of features had a positive impact on the performance score or a negative impact on the performance score comprises:

determining, by the one or more processors, a magnitude of a positive impact on the performance score or a negative impact on the performance score of a feature of the image or video; and

wherein generating the heat map overlay further comprises:

generating, by the one or more processors, the heat map overlay to include a first shade of the first color or a second shade of the second color for the feature selected based on (1) the determined positive impact or negative impact, and (2) the determined magnitude of the determined positive impact or negative impact.

5. The method of claim 1 , wherein the neural network comprises the classification layer, the classification layer configured to output a probability for each of a plurality of performance score ranges based on signals received from an intermediate layer of the plurality of intermediate layers, the signals generated based on executing the neural network using the extracted plurality of features;

wherein extracting the one or more values comprises:

extracting, by the one or more processors, the probabilities for the plurality of performance score ranges; and

wherein back-propagating the set of the extracted one or more values comprises back-propagating, by the one or more processors, the probabilities through the plurality of intermediate layers and the input layer.

6. The method of claim 1 , further comprising:

training, by the one or more processors, the neural network using training data labeled based on feedback from a first target audience;

training, by the one or more processors, a first neural network using training data labeled based on feedback from a second target audience;

executing, by the one or more processors, the first neural network using the plurality of features to obtain a first performance score for the image or video, the first neural network comprising a first input layer, a first plurality of intermediate layers, and a first regression layer or a first classification layer;

extracting, by the one or more processors, one or more values from one or more first signals between a first intermediate layer of the first plurality of intermediate layers and the first regression layer or the first classification layer, the one or more first values generated responsive to executing the first neural network using the extracted plurality of features;

for each of the plurality of features, calculating, by the one or more processors and based on at least one of the one or more first values, a first impact score indicating a first impact the feature had on the first performance score; and

generating, by the one or more processors and based on the first impact scores of the plurality of features, first indications indicating an impact different features of the first image or video had on the first performance score.

7. The method of claim 6 , wherein generating the first indications comprises generating a heat map overlay by generating the heat map overlay to have a first pattern of colors indicating an impact different portions of the image or video had on the performance score, and wherein generating the heat map overlay comprises generating the first heat map overlay to have a second pattern of colors indicating a first impact different portions of the image or video had on the first performance score.

8. The method of claim 6 , further comprising:

presenting, by the one or more processors, a first identifier associated with the first target audience and a second identifier associated with the second target audience on a display,

wherein executing the first neural network is performed responsive to receiving a user selection of the second identifier.

9. The method of claim 6 , wherein the first target audience comprises individuals having a first common characteristic, and wherein the second target audience comprises individuals having a second common characteristic, and further comprising:

presenting, by the one or more processors, the first characteristic of the first target audience and the second characteristic of the second target audience on a display,

wherein executing the first neural network is performed responsive to receiving a user selection of the second characteristic.

10. The method of claim 1 , wherein executing the neural network using the extracted plurality of features to obtain the performance score for the image or video comprises:

obtaining, by the one or more processors, the performance score from an output of the regression layer.

11. A system for improved explainability of a neural network, the system comprising:

one or more hardware processors configured by machine-readable instructions to:

receive an image or video comprising a set of pixels;

extract a plurality of features from the image or video;

generate a feature vector including the plurality of features each at different index values of the feature vector, each of the plurality of features corresponding to a different pixel or subset of pixels of the set of pixels of the image or video;

execute a neural network using the plurality of features to obtain a performance score for the image or video, the neural network comprising an input layer, a plurality of intermediate layers subsequent to the input layer, and a regression layer or a classification layer subsequent to the plurality of intermediate layers;

extract one or more values from one or more signals between an intermediate layer of the plurality of intermediate layers and the regression layer or the classification layer, the one or more values generated responsive to executing the neural network using the extracted plurality of features;

back-propagate a set of the extracted one or more values through the plurality of intermediate layers and the input layer;

extract an impact score for each of the plurality of features from the input layer and generated from the back-propagation of the set of the extracted one or more values through the plurality of intermediate layers and the input layer;

assign an impact score of the extracted impact scores to each pixel and/or subset of pixels of the set of pixels of the image or video based on the pixel or subset of pixels mapping to the same index value of the feature vector as the impact score;

determine (i) a first plurality of pixels of the image or video that correspond to a first color indicating a positive impact to the performance score, and (ii) a second plurality of pixels of the image or video that correspond to a second color indicating a negative impact to the performance score, based on an assignment of a positive impact score to each of the first plurality of pixels and a negative impact score to each of the second plurality of pixels;

generate a heat map overlay comprising the first color at locations of the image or video corresponding to the first plurality of pixels and the second color at locations of the image or video corresponding to the second plurality of pixels; and

present, at a display of a client device the heat map overlay over the image or video.

12. The system of claim 11 ,

wherein the one or more hardware processors are further configured by machine-readable instructions to:

generate an evaluation image or video by placing the heat map overlay over the image or video.

13. The system of claim 11 , wherein the one or more hardware processors are further configured by machine-readable instructions to:

determine whether each of the plurality of features had a positive impact on the performance score or a negative impact on the performance score.

14. The system of claim 13 , wherein the one or more hardware processors are configured by machine-readable instructions to determine whether each of the plurality of features had a positive impact on the performance score or a negative impact on the performance score by:

determining a magnitude of a positive impact on the performance score or a negative impact on the performance score of the feature; and

wherein the one or more hardware processors are further configured by machine-readable instructions to generate the heat map overlay by:

generating, by the one or more processors, the heat map overlay to include a first shade of the first color or a second shade of the second color for the feature selected based on (1) the determined positive impact or negative impact, and (2) the determined magnitude of the determined positive impact or negative impact.

15. A non-transitory computer-readable storage medium for improved explainability of a neural network, the non-transitory computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method, the method comprising:

receiving an image or video comprising a set of pixels;

extracting a plurality of features from the image or video;

generating a feature vector including the plurality of features each at different index values of the feature vector, each of the plurality of features corresponding to a different pixel or subset of pixels of the set of pixels of the image or video;

executing a neural network using the plurality of features to obtain a performance score for the image or video, the neural network comprising an input layer, a plurality of intermediate layers subsequent to the input layer, and a regression layer or a classification layer subsequent to the plurality of intermediate layers;

extracting one or more values from one or more signals between an intermediate layer of the plurality of intermediate layers and the regression layer, the one or more values generated responsive to executing the neural network using the extracted plurality of features;

back-propagating a set of the extracted one or more values through the plurality of intermediate layers and the input layer;

extracting an impact score for each of the plurality of features from the input layer and generated from the back-propagation of the set of the extracted one or more values through the plurality of intermediate layers and the input layer;

assigning an impact score of the extracted impact scores to each pixel and/or subset of pixels of the set of pixels of the image or video based on the pixel or subset of pixels mapping to the same index value of the feature vector as the impact score;

determining (i) a first plurality of pixels of the image or video that correspond to a first color indicating a positive impact to the performance score, and (ii) a second plurality of pixels of the image or video that correspond to a second color indicating a negative impact to the performance score, based on an assignment of a positive impact score to each of the first plurality of pixels and a negative impact score to each of the second plurality of pixels;

generating a heat map overlay comprising the first color at locations of the image or video corresponding to the first plurality of pixels and the second color at locations of the image or video corresponding to the second plurality of pixels; and

presenting, at a display of a client device, the heat map overlay over the image or video.

16. The non-transitory computer-readable storage medium of claim 15 , further comprising:

generating, by the one or more processors, an evaluation image or video by placing the heat map overlay over the image or video.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the method comprises:

determining whether each of the plurality of features had a positive impact on the performance score or a negative impact on the performance score.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2021
From: SARAEE, ELHAM; HAMEDI, JEHAN; HALLORAN, ZACHARY; MUSTAFIN, ARSENII
To: VIZIT LABS, INC.
Reel/Frame 056206/0072 →
Continuity (2)
Continuation In Part 16236298 · Dec 28, 2018
Related Publication 20210264161A1 · Aug 26, 2021
References Cited (50)
US 8494897B1 · Dawson · 2013 [cited by applicant]
US 8909563B1 · Jing et al. · 2014 [cited by applicant]
US 9996890B1 · Cinnamon et al. · 2018 [cited by applicant]
US 10176198B1 · Dhua · 2019 [cited by examiner]
US 10176396B2 · Smyth · 2019 [cited by examiner]
US 10410108B2 · Shaji et al. · 2019 [cited by applicant]
US 10637826B1 · Luo et al. · 2020 [cited by applicant]
US 10861077B1 · Liu et al. · 2020 [cited by applicant]
US 10872228B1 · Zhou et al. · 2020 [cited by applicant]
US 11087273B1 · Bergamo · 2021 [cited by applicant]
US 20120030711A1 · Rae et al. · 2012 [cited by applicant]
US 20140086487A1 · Hao · 2014 [cited by examiner]
US 20160098844A1 · Shaji et al. · 2016 [cited by applicant]
US 20160132749A1 · Smyth · 2016 [cited by examiner]
US 20160335120A1 · Gupta et al. · 2016 [cited by applicant]
US 20170024761A1 · Ruiz et al. · 2017 [cited by applicant]
US 20170069327A1 · Heigold · 2017 [cited by examiner]
US 20170098165A1 · Yang et al. · 2017 [cited by applicant]
US 20170221075A1 · Wang et al. · 2017 [cited by applicant]
US 20170337687A1 · Wang · 2017 [cited by examiner]
US 20180011876A1 · Li et al. · 2018 [cited by applicant]
US 20180040019A1 · Gavlovski et al. · 2018 [cited by applicant]
US 20180108440A1 · Stevens et al. · 2018 [cited by applicant]
US 20180174190A1 · Ferreira et al. · 2018 [cited by applicant]
US 20180211333A1 · Lackman et al. · 2018 [cited by applicant]
US 20190007425A1 · Butler et al. · 2019 [cited by applicant]
US 20190026609A1 · Shen et al. · 2019 [cited by applicant]
US 20190026786A1 · Khoury et al. · 2019 [cited by applicant]
US 20190043241A1 · Scheff et al. · 2019 [cited by applicant]
US 20190080176A1 · Lan et al. · 2019 [cited by applicant]
US 20190080456A1 · Song et al. · 2019 [cited by applicant]
US 20190108399A1 · Escorcia · 2019 [cited by examiner]
US 20190132414A1 · Bongaarts et al. · 2019 [cited by applicant]
US 20190147340A1 · Zhang et al. · 2019 [cited by applicant]
US 20190156204A1 · Bresch et al. · 2019 [cited by applicant]
US 20190200797A1 · Diao et al. · 2019 [cited by applicant]
US 20190205620A1 · Yi et al. · 2019 [cited by applicant]
US 20190245925A1 · Yamamoto · 2019 [cited by applicant]
US 20190251446A1 · Fang et al. · 2019 [cited by applicant]
US 20190294729A1 · Jiang · 2019 [cited by examiner]
US 20190355008A1 · Sewak · 2019 [cited by applicant]
US 20200107070A1 · Lopatecki · 2020 [cited by examiner]
US 20200126533A1 · Doyle · 2020 [cited by examiner]
US 20200143204A1 · Nakano · 2020 [cited by examiner]
US 20210082136A1 · Nikitidis · 2021 [cited by examiner]
US 20210117948A1 · Voss · 2021 [cited by applicant]
US 20220051020A1 · Jha · 2022 [cited by examiner]
US 20220198258A1 · Doggett · 2022 [cited by examiner]
Lu et al., “RAPID: Rating Pictorial Aesthetics using Deep Learning,” (2014), Proceedings of the 22nd ACM international conference on Mulitmedia. [cited by applicant]
Selvaraju, et al. “Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization,” (2017), 2017 IEEE International Conference on Computer Vision pp. 618-626. [cited by applicant]