analyzing LUT statistics. bin 0 and bin 18 are about evenly split (5500 - 6000 entries each). other bins have 11000-20000 entries.
playing with LUT quantization
yank gradient_wideload_unvectorized() out of streamHog.cpp ... we're not using it
oopsie, I had the 'write img to file' stuff inside the timers. (fortunately, i was doing so many runs that file I/O amoritized nicely.) anyway, I fixed it.
SCALE_ORI for voc5 version of [ori,mag] code. setting up VOC5 cell histogram code
more voc5 hog cells setup
rename blocks[0] -> imgHeight. blocks[1] -> imgWidth
roughly the same voc5 computeCell time for both sbin=4 and sbin=8. getting ~10ms for 1 scale for computeCell voc5
fixed gb/s calculation for computeCells
woohoo, voc5 double -> float for address/weight computation. went from 10ms to 6ms to do hogCell_voc5.
modest improvement if we accumulate to 1 cell instead of 4 cells (6.3ms -> 5.6ms). insignificant improvement if we avoid multiplying by vx1,vy1 weights (5.6ms -> 5.5ms)
getting rid of bins (always using bin 0) -- 5.6ms -> 3.2ms. for hogCell voc5, with just 1 cell instead of 4 cells accumulating.
playing with hogCell
prototyping lerp table (for bilinear interpolation). got a 4-element table that matches the full lerp computation for 50 different point locations
replace /sbin with *inverse_sbin