US 11,954,819 B1
System and methods for fast and scalable 2D convolutions and cross-correlations for processing image databases and videos on CPUs
Marios Stephanou Pattichis, Albuquerque, NM (US); Cesar Carranza, Miami Beach, FL (US); and Daniel Llamocca Obregon, Clawson, MI (US)
Assigned to UNM RAINFOREST INNOVATIONS, Albuquerque, NM (US)
Filed by UNM Rainforest Innovations, Albuquerque, NM (US)
Filed on Feb. 26, 2021, as Appl. No. 17/187,335.
Claims priority of provisional application 62/983,265, filed on Feb. 28, 2020.
Int. Cl. G06T 3/40 (2006.01); G06T 1/60 (2006.01)
CPC G06T 3/40 (2013.01) [G06T 1/60 (2013.01)] 4 Claims
OG exemplary drawing
 
1. A maximum throughput method for computing 2D convolutions, comprising the steps of finding the optimal value for N that maximizes throughput:
receiving an image of arbitrarily large size, and a convolution kernel of size Q×Q;
decomposing the image into block sizes P×P;
computing fast convolutions of each image block with the convolution kernel;
storing an output in N×N blocks wherein N≥P+Q−1;
calculating the throughput as a function of a number of output pixels N×N over the execution time of each block to obtain a result;
combining results using an overlap-and-add method to compute a final output image; and
determining an optimal size N that provides the maximum throughput among all considered block sizes.