IP Library Granted Patent US 10,769,483
Granted Patent B2
US 10,769,483 · App. 16/421,147 · Granted Sep 8, 2020

Retinal encoder for machine vision

Inventors: Shelia Nirenberg (New York, NY); Illya Bomash (Brooklyn, NY)
Assignee: CORNELL UNIVERSITY
G06K9/4619G06K9/4628G06N3/049G06T7/0012G06T9/00G06T9/002G06T9/007H04N19/60H04N19/62H04N19/85G06K2209/05G06T2207/20024G06T2207/20048G06T2207/20084G06T2207/30041
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 10,769,483
App. No.
16/421,147
Filed
May 23, 2019
Granted
Sep 8, 2020
Kind
B2
Art Unit
2666
USPC
382/133
Abstract

A method is disclosed including: receiving raw image data corresponding to a series of raw images; processing the raw image data with an encoder to generate encoded data, where the encoder is characterized by an input/output transformation that substantially mimics the input/output transformation of one or more retinal cells of a vertebrate retina; and applying a first machine vision algorithm to data generated based at least in part on the encoded data.

Claims (62)

1. A method including:

applying, by an encoding module, a spatiotemporal transformation to image data to generate retinal output cell response values;

generating, by the encoding module, encoded data based on the retinal output cell response values;

applying, by a machine vision module, a machine vision algorithm to the encoded data;

monitoring, by a controller, performance of the machine vision algorithm, wherein monitoring the performance of the machine vision algorithm comprises:

calculating an error rate of the machine vision algorithm; and

comparing the error rate to a threshold level; and

adjusting, by the controller, the machine vision algorithm based on the monitored performance.

2. The method of claim 1 , further comprising generating retinal images from the retinal output cell response values, and wherein applying the machine vision algorithm to the encoded data comprises applying the machine vision algorithm to the retinal images.

3. The method of claim 2 , further comprising determining pixel values in the retinal images based on the encoded data, where determining pixel values in the retinal images includes determining a pixel intensity or color indicative of a retinal cell response, and wherein the data indicative of a retinal cell response is indicative of at least one of a retinal cell firing rate, a retinal cell output pulse train, and a generator potential.

4. The method of claim 1 , wherein the machine vision algorithm includes at least one selected from the list consisting of: an object recognition algorithm, an image classification algorithm, a facial recognition algorithm, an optical character recognition algorithm, a content-based image retrieval algorithm, a pose estimation algorithm, a motion analysis algorithm, an egomotion determination algorithm, a movement tracking algorithm, an optical flow determination algorithm, a scene reconstruction algorithm, a 3D volume recognition algorithm, and a navigation algorithm.

5. The method of claim 1 , wherein adjusting the machine vision algorithm is responsive to a determination that the error rate exceeds the threshold level.

6. The method of claim 5 , wherein adjusting the machine vision algorithm comprises iteratively adjusting one or more parameters until the error rate of the machine vision algorithm satisfies the threshold level.

7. The method of claim 1 , wherein adjusting the machine vision algorithm comprises modifying a parameter of the machine vision algorithm.

8. The method of claim 1 , where applying the machine vision algorithm comprises applying a navigation algorithm, where applying the navigation algorithm includes:

processing the encoded data to determine motion information indicative of motion at a plurality of image locations in the encoded data;

classifying spatial regions in the encoded data based on the motion information; and

generating a navigation decision based on the classification of the spatial regions.

9. The method of claim 8 , wherein the motion information is indicative of an optical flow in the encoded data, the method further including:

using a convolutional neural network to classify the spatial regions; and

controlling the motion of a robotic apparatus based on results from navigation algorithm.

10. A method including:

applying, by an encoding module, a spatiotemporal transformation to image data to generate retinal output cell response values;

generating, by the encoding module, encoded data based on the retinal output cell response values;

applying, by a machine vision module, a machine vision algorithm to the encoded data;

monitoring, by a controller, performance of the machine vision algorithm, wherein monitoring the performance of the machine vision algorithm comprises:

calculating an error rate of the machine vision algorithm; and

comparing the error rate to a threshold level; and

adjusting, by the controller, the machine vision algorithm based on the monitored performance, wherein adjusting the machine vision algorithm comprises modifying a parameter of the machine vision algorithm, and wherein the machine vision algorithm comprises an artificial neural network, and wherein adjusting the machine vision algorithm comprises changing a plurality of connections in an artificial neural network.

11. A method including:

applying, by an encoding module, a spatiotemporal transformation to image data to generate retinal output cell response values;

generating, by the encoding module, encoded data based on the retinal output cell response values;

applying, by a machine vision module, a machine vision algorithm to the encoded data:

monitoring, by a controller, performance of the machine vision algorithm, wherein monitoring the performance of the machine vision algorithm comprises:

calculating an error rate of the machine vision algorithm; and

comparing the error rate to a threshold level; and

adjusting, by the controller, the machine vision algorithm based on the monitored performance, wherein adjusting the machine vision algorithm comprises iteratively adjusting one or more parameters of the machine vision algorithm until an incremental increase in performance per iteration falls below a threshold level.

12. An apparatus including:

a memory storage device configured to store image data corresponding to a series of images; and

a processor operably coupled with the memory and programmed to:

receive the image data corresponding to the series of images;

generate encoded data from the image data, wherein, to generate the encoded data, the processor is configured to:

apply a spatiotemporal transformation to image data to generate retinal output cell response values;

generate encoded data based on the retinal output cell response values;

apply a machine vision algorithm to the encoded data;

monitor performance of the machine vision algorithm, wherein, to monitor the performance of the machine vision algorithm, the processor is further configured to:

calculate an error rate of the machine vision algorithm; and

compare the error rate to a threshold level; and

adjust the machine vision algorithm based on the monitored performance.

13. The apparatus of claim 12 , wherein the processor is further configured to generate retinal images from the retinal output cell response values, and wherein applying the machine vision algorithm to the encoded data comprises applying the machine vision algorithm to the retinal images.

14. The apparatus of claim 12 , wherein, to adjust the machine vision algorithm, the processor is further configured to iteratively adjust one or more parameters of the machine vision algorithm until an error rate of the machine vision algorithm satisfies the threshold level.

15. The apparatus of claim 12 , wherein, to adjust the machine vision algorithm, the processor is further configured to iteratively adjust one or more parameters of the machine vision algorithm until an incremental increase in performance of the machine vision algorithm per iteration falls below a threshold level.

16. A non-transitory computer-readable medium having computer-executable instructions for implementing operations comprising

applying a spatiotemporal transformation to image data to generate retinal output cell response values;

generating encoded data based on the retinal output cell response values;

applying a machine vision algorithm to the encoded data;

monitoring performance of the machine vision algorithm; and

adjusting the machine vision algorithm based on the monitored performance, wherein adjusting the machine vision algorithm comprises iteratively adjusting one or more parameters of the machine vision algorithm until an incremental increase in performance per iteration of the machine vision algorithm falls below a threshold level.

17. The non-transitory computer-readable medium of claim 16 , wherein monitoring the performance of the machine vision algorithm comprises:

calculating an error rate of the machine vision algorithm; and

comparing the error rate to a threshold level; and

wherein adjusting the machine vision algorithm is responsive to a determination that the error rate exceeds the threshold level.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2022
From: NIRENBERG, SHEILA; BOMASH, ILLYA
To: CORNELL UNIVERSITY
Reel/Frame 060605/0935 →
Continuity (5)
Continuation 15408178 · Jan 17, 2017
Continuation 14239828
Provisional Application 61527493 · Aug 25, 2011
Provisional Application 61657406 · Jun 8, 2012
Related Publication 20190279021A1 · Sep 12, 2019
Cited By (17)
US 12,198,396 US 12,216,610 US 12,223,428 US 12,236,689 US 12,293,511 US 12,307,350 US 12,346,816 US 12,367,405 US 12,455,739 US 12,462,575 US 12,522,243 US 12,536,131 US 12,554,467 US 12,591,240 US 12,618,976 US 12,623,691 US 12,709,294