Limited Adaptive Histogram Equalization Burak nal, Ali Akoglu - - PowerPoint PPT Presentation

limited adaptive histogram equalization
SMART_READER_LITE
LIVE PREVIEW

Limited Adaptive Histogram Equalization Burak nal, Ali Akoglu - - PowerPoint PPT Presentation

Resource Efficient Real-Time Processing of Contrast Limited Adaptive Histogram Equalization Burak nal, Ali Akoglu Reconfigurable Computing Lab Department of Electrical and Computer Engineering The University of Arizona 1 Outline


slide-1
SLIDE 1

Resource Efficient Real-Time Processing of Contrast Limited Adaptive Histogram Equalization

Burak Ünal, Ali Akoglu

Reconfigurable Computing Lab Department of Electrical and Computer Engineering The University of Arizona

1

slide-2
SLIDE 2

Outline

  • Motivation
  • Histogram Equalization

– General Histogram Equalization – Adaptive Histogram Equalization – Contrast Limited Adaptive Histogram Equalization

  • Related Works
  • State-of-the-art Implementation
  • Contextual CLAHE

– Histogram Generation – Histogram Distribution and CDF – Interpolation Technique

  • Testbed
  • Results
  • Conclusion and Future Work

2

slide-3
SLIDE 3

Motivation

  • Contact Sensing

– Burdensome – Labor-intensive – Destructive

  • Non-contact Sensing

– Structural challenge – Sunlight variety – Poor image quality

How can we enhance the image quality ?

slide-4
SLIDE 4

Histogram Equalization

Input Image Image Histogram (a) Histogram Equalization (HE)

4

slide-5
SLIDE 5

Adaptive Histogram Equalization

Input Image (b) Adaptive HE (AHE) (c) Contrast Limited AHE (CLAHE)

slide-6
SLIDE 6

Adaptive Histogram Equalization

Input Image (b) Adaptive HE (AHE) (c) Contrast Limited AHE (CLAHE)

slide-7
SLIDE 7

Related Works

FPGA Based Implementations HE General HE Specified HE AHE Partially Overlapped Fully Overlapped CLAHE HE Specified HE Specified HE 2 AHE CLAHE

  • 720 × 480
  • 122 fps
  • Missing

local details

  • 128 × 128
  • 25 fps
  • For specific

task

  • 2.5Mpixels
  • 25 fps
  • For specific

task

  • 640 ×480
  • 263.8 fps
  • 128 block

RAMs

  • 640x480
  • 537.9 fps
  • Extremely

memory depended (192 BRAM)

7

slide-8
SLIDE 8

Existing CLAHE Implementation

8

slide-9
SLIDE 9

Existing CLAHE Implementation

Pros:

– Real-time implementation – 537.9fps – The speed of algorithm is independent from image size

Cons:

– Requires 192x18K BRAM – Larger image size needs 320 BRAM (1920x1080) – Consume large amount of logic resource

9

slide-10
SLIDE 10

Contextual CLAHE

256 x 13 x 8 = 26.624 KB 4 row = 106.496 KB 256 x 9 x 640 = 184.320 KB (HB) 256 x 9 x 257 = 70.016K KB (THB) Combine tiles via interpolation.

10

slide-11
SLIDE 11

Histogram Generation

11

ℎ 𝑙 =

𝑙=0 255

1, 𝐽 𝑗 = 𝑙 𝑝𝑢ℎ𝑓𝑠 1

8 Histogram BRAM Pixel Value

Dout Din Address Buffer Adder Comparator Excess Counter

9

β

1/0

Exceed Bin Counter

9 12 8

Buffer

capacity bins excess pixels 8

intensity

K × K Image

N-1

β

slide-12
SLIDE 12

Histogram Distribution & CDF

12

β α

intensity

N-1

β

N-1

intensity

β α

N-1

intensity

β α

N-1

intensity (a) histogram cut (b) iteration 1 ( c) iteration 2 (d) iteration n

𝐷𝐸𝐺 = 𝑛𝑦,𝑧 𝑜 =

𝑙=0 𝑜

ℎ 𝑙 × 1 𝑁 × 𝑂 2

(e) CDF

slide-13
SLIDE 13

Interpolation Technique

z t w s

UR BL BR UL

𝐽𝑜𝑓𝑥= 𝑡 𝑡 + 𝑥 𝑢 𝑨 + 𝑢 𝑛𝑉𝑀 𝑜 + 𝑨 𝑨 + 𝑢 𝑛𝑉𝑆 𝑜 + 𝑥 𝑡 + 𝑥 𝑢 𝑨 + 𝑢 𝑛𝐶𝑀 𝑜 + 𝑨 𝑨 + 𝑢 𝑛𝐶𝑆 𝑜 (3)

13

slide-14
SLIDE 14

Contextual CLAHE

14

slide-15
SLIDE 15

HE for Color Image

15

Mapping Function Buffer RGB to YUV converter Y U V YUV to RGB converter Frame Buffer 24 Input Stream 24 Output Stream 8 8 8

FPGA

Y U V 8 Histogram distribution & CDF unit

12 8

.....

2 8

.....

1

Histogram generation & cutoff

Y stands for the luma (the brightness). U and V are the chrominance (color) components.

slide-16
SLIDE 16

Testbed

16

slide-17
SLIDE 17

Histogram Equalization Results

(a) Original Image (b) Enhanced Image

17

slide-18
SLIDE 18

Histogram Equalization Results

(a) FPGA (b) Matlab

18

slide-19
SLIDE 19

Histogram Equalization Results

FPGA and Matlab based output comparison with 0.39% difference

error rate =

1 250

19

slide-20
SLIDE 20

Histogram Equalization Results

512 x 512 640 x 480 1280 x 720 1920 x 1080 Critical Path Delay 8.475 ns 9.186 ns 12.061 ns 14.479 ns Maximum Operational Frequency 117.99 MHZ 108.86 MHz 82.91 MHz 69.06 MHz Performance 450.111 fps 354.36 fps 89.96 fps 33.30 fps Frame Size Logic Resource CCLAHE CLAHE Number of Slice Registers 440 246 Number of Slice LUTs 4766 32123 Number of fully used LUT-FF pairs 284 222 Number of Block RAM/FIFO 16 192 Operatinal Frequency 108.86 MHz 209.6 MHz Performance 354.36 fps 537.9 fps

20

slide-21
SLIDE 21

Conclusion and Future Work

  • Real-time processing of CLAHE.
  • First implementation of interpolation based Contextual CLAHE.
  • Introduced a method for real time implementation of Contextual

CLAHE to solve memory dependency issue.

  • Modified the flow of algorithm for FPGA implementation.

– Histogram generation method is restructured to reduce block RAM usage. – Histogram redistribution technique is proposed to implement iterative redistribution algorithm in hardware.

  • Alternative interpolation calculation method is proposed to the

computation complexity.

  • Histogram equalization architecture will be parallelized to increase its

performance for larger image size.

  • Investigate different transfer function for calculating CDF.
  • Contrast-sensitive transfer function.

21

slide-22
SLIDE 22

Q & A

22