Firas Hassan and Joan Carletta The University of Akron

Similar documents
MODIFICATION OF ADAPTIVE LOGARITHMIC METHOD FOR DISPLAYING HIGH CONTRAST SCENES BY AUTOMATING THE BIAS VALUE PARAMETER

Fast Bilateral Filtering for the Display of High-Dynamic-Range Images

Realistic Image Synthesis

Fixing the Gaussian Blur : the Bilateral Filter

High dynamic range imaging and tonemapping

Tone mapping. Digital Visual Effects, Spring 2009 Yung-Yu Chuang. with slides by Fredo Durand, and Alexei Efros

High Dynamic Range Images : Rendering and Image Processing Alexei Efros. The Grandma Problem

Fast Bilateral Filtering for the Display of High-Dynamic-Range Images

! High&Dynamic!Range!Imaging! Slides!from!Marc!Pollefeys,!Gabriel! Brostow!(and!Alyosha!Efros!and! others)!!

FPGA Implementation of High Speed Infrared Image Enhancement

Problem Set 3. Assigned: March 9, 2006 Due: March 23, (Optional) Multiple-Exposure HDR Images

Figures from Embedded System Design: A Unified Hardware/Software Introduction, Frank Vahid and Tony Givargis, New York, John Wiley, 2002

VU Rendering SS Unit 8: Tone Reproduction

Contrast Image Correction Method

Visual Perception. Overview. The Eye. Information Processing by Human Observer

VLSI Implementation of Image Processing Algorithms on FPGA

Tonemapping and bilateral filtering

December 28, Dr. Praveen Sankaran (Department of ECE NIT Calicut DIP)

Image Processing by Bilateral Filtering Method

High dynamic range and tone mapping Advanced Graphics

Denoising and Effective Contrast Enhancement for Dynamic Range Mapping

High Dynamic Range Imaging

Correction of Clipped Pixels in Color Images

ISSN Vol.03,Issue.29 October-2014, Pages:

A Kalman-Filtering Approach to High Dynamic Range Imaging for Measurement Applications

Photometric Image Processing for High Dynamic Range Displays. Matthew Trentacoste University of British Columbia

High Dynamic Range Image Rendering with a Luminance-Chromaticity Independent Model

A Locally Tuned Nonlinear Technique for Color Image Enhancement

icam06, HDR, and Image Appearance

Bemis Visual Identity Standards. Key Guidelines for External Users

Pixilation and Resolution name:

Image acquisition. In both cases, the digital sensing element is one of the following: Line array Area array. Single sensor

A Comparison of the Multiscale Retinex With Other Image Enhancement Techniques

CSE 332/564: Visualization. Fundamentals of Color. Perception of Light Intensity. Computer Science Department Stony Brook University

AUTOMATIC FACE COLOR ENHANCEMENT

Vision Review: Image Processing. Course web page:

Gray Point (A Plea to Forget About White Point)

Camera Image Processing Pipeline: Part II

Applications of Flash and No-Flash Image Pairs in Mobile Phone Photography

A Real Time Algorithm for Exposure Fusion of Digital Images

Computer Graphics. Si Lu. Fall er_graphics.htm 10/02/2015

It should also be noted that with modern cameras users can choose for either

Open Source Digital Camera on Field Programmable Gate Arrays

25/02/2017. C = L max L min. L max C 10. = log 10. = log 2 C 2. Cornell Box: need for tone-mapping in graphics. Dynamic range

Implementation of Edge Detection Digital Image Algorithm on a FPGA

Image Processing. Adam Finkelstein Princeton University COS 426, Spring 2019

DIGITAL SIGNAL PROCESSOR WITH EFFICIENT RGB INTERPOLATION AND HISTOGRAM ACCUMULATION

Images and Displays. Lecture Steve Marschner 1

Digital Imaging Rochester Institute of Technology

Removal of High Density Salt and Pepper Noise through Modified Decision based Un Symmetric Trimmed Median Filter

Decision Based Median Filter Algorithm Using Resource Optimized FPGA to Extract Impulse Noise

A Model of Retinal Local Adaptation for the Tone Mapping of CFA Images

Image processing with the HERON-FPGA Family

MATLAB Image Processing Toolbox

The Influence of Luminance on Local Tone Mapping

CMVision and Color Segmentation. CSE398/498 Robocup 19 Jan 05

Understand brightness, intensity, eye characteristics, and gamma correction, halftone technology, Understand general usage of color

Automatic Selection of Brackets for HDR Image Creation

Color , , Computational Photography Fall 2018, Lecture 7

icam06: A refined image appearance model for HDR image rendering

Digital Image Processing. Lecture # 6 Corner Detection & Color Processing

Sampling and Reconstruction. Today: Color Theory. Color Theory COMP575

Optimized Image Scaling Processor using VLSI

Lossless Image Watermarking for HDR Images Using Tone Mapping

Lecture 3, Handouts Page 1. Introduction. EECE 353: Digital Systems Design Lecture 3: Digital Design Flows, Simulation Techniques.

FPGA Co-Processing Solutions for High-Performance Signal Processing Applications. 101 Innovation Dr., MS: N. First Street, Suite 310

Image Processing Computer Graphics I Lecture 20. Display Color Models Filters Dithering Image Compression

Digital Systems Design

High Performance Imaging Using Large Camera Arrays

Towards Real-time Hardware Gamma Correction for Dynamic Contrast Enhancement

Brightness Calculation in Digital Image Processing

An Engineer s Perspective on of the Retina. Steve Collins Department of Engineering Science University of Oxford

Camera Image Processing Pipeline: Part II

IMAGE ENHANCEMENT - POINT PROCESSING

Tone mapping. Tone mapping The ultimate goal is a visual match. Eye is not a photometer! How should we map scene luminances (up to

HDR images acquisition

IMPLEMENTATION OF G.726 ITU-T VOCODER ON A SINGLE CHIP USING VHDL

A Short History of Using Cameras for Weld Monitoring

Color Transformations

Image Processing for feature extraction

What is an image? Bernd Girod: EE368 Digital Image Processing Pixel Operations no. 1. A digital image can be written as a matrix

BBM 413! Fundamentals of! Image Processing!

Figure 1 HDR image fusion example

BBM 413 Fundamentals of Image Processing. Erkut Erdem Dept. of Computer Engineering Hacettepe University. Point Operations Histogram Processing

Oversampled ADC and PGA Combine to Provide 127-dB Dynamic Range

CS 445 HW#2 Solutions

Selective Detail Enhanced Fusion with Photocropping

Digital Logic, Algorithms, and Functions for the CEBAF Upgrade LLRF System Hai Dong, Curt Hovater, John Musson, and Tomasz Plawski

Adaptive sensing and image processing with a general-purpose pixel-parallel sensor/processor array integrated circuit

Focusing and Metering

Prof. Feng Liu. Fall /02/2018

BBM 413 Fundamentals of Image Processing. Erkut Erdem Dept. of Computer Engineering Hacettepe University. Point Operations Histogram Processing

CoE4TN4 Image Processing. Chapter 3: Intensity Transformation and Spatial Filtering

Evaluation of Visual Cryptography Halftoning Algorithms

Signal Processing and Display of LFMCW Radar on a Chip

Stratix II DSP Performance

FPGA based Real-time Automatic Number Plate Recognition System for Modern License Plates in Sri Lanka

Lecture Notes 11 Introduction to Color Imaging

CMOS Star Tracker: Camera Calibration Procedures

Image Enhancement for Astronomical Scenes. Jacob Lucas The Boeing Company Brandoch Calef The Boeing Company Keith Knox Air Force Research Laboratory

Transcription:

A Real-Time FPGA-Based Architecture for a Reinhard-Like Tone Mapping Operator Firas Hassan and Joan Carletta The University of Akron

Outline of Presentation Background and goals Existing methods for local tone mapping Real-time variation on the Reinhard operator Experiments and results Future work

Outline of Presentation Background and goals

Luminance and dynamic range Luminance correspond to pixel intensity Different devices are sensitive to different ranges of luminance: Human visual system: Imaging sensors: Conventional displays 14 log units or 48 bits 9.5 log units or 32 bits 2.5 log units or 8 bits Mismatch in dynamic ranges makes it: Hard to capture scenes as human perceive them Even harder to display these scenes!

Tone mapping operators are used to bridge the mismatch between HDR images and display devices compress the dynamic range of HDR images to displayable range reproduce as much as possible of the visual sensation of the scene

Global tone mapping operators are independent of local spatial context perform same operation on each pixel do not work well when illumination varies locally

Local tone mapping operators vary adaptively with the local characteristics of the image produce higher quality tone mapped images than global TMOs can require complex computation can suffer from halo artifacts

Goals of research Develop algorithms for local tone mapping of gray scale HDR images such that: they can be shown with clear detail on standard displays processing is real-time (60 frames/second for standard LCD monitors) processing can be easily embedded (using field programmable gate arrays) The system is the result of a careful trade-off of both image processing and hardware performance aspects

Outline of Presentation Existing methods for local tone mapping

Basic structure of local TMOs L / X R O Illumination extraction I Illumination compression T(I) L: luminance I: illumination, related to lighting conditions R: reflectance, related to object in scene

Retinex method (Jobson et al.) uses Gaussian surrounds centered on a pixel to estimate local illumination single-scale: use one fixed-size surround (get halo artifacts) multi-scale: use mean of three differently sized surrounds normalizes each pixel by its local illumination published 2004 implementation is not real-time: single-scale Retinex 256 256 grayscale image 20 frames/sec on a digital signal processor

Reinhard method uses the best illumination estimate around the pixel from a Gaussian pyramid of the image eliminates halo artifacts better than Retinex published 2005 implementation is not real-time: uses four-scale Gaussian pyramid 1024 768 color image 14 frames per second on graphics card bottleneck was memory bandwidth

Reinhard method Reinhard s selection of best window for illumination estimate too small a surround gives poor estimate (contrast loss results) too large a surround may encompass light source (halos result) start with smallest surround consider next largest surround; if its average is not much different than the smaller surround s, use it instead result: use biggest surround that doesn t contain a big change in illumination

Other local TMOs All are able to get rid of halo artifacts but too complex to be real-time! Iterative methods Low curvature image simplifier Gradient domain HDR compression Nonlinear filters Bilateral filters Trilateral filters Image appearance models Pattanaik icam

Outline of Presentation Real-time variation on the Reinhard operator

Block diagram of our method

Approximating a Gaussian surroud rising geometric series falling geometric series

Implementing the window with accumulators rising a1[ i ' 1] a1 [ i] = + 64P[ i ' 7] ' 2 falling geometric series : total geometric a 2 [ i] = window 2a 2 series : [ i ' 1] + P[ i] ' 128P[ i P[ i ' 7] 1 & a1[ i] a2[ i] # Pave [ i ' 7] = $ +! 2 % 128 128 " P[ i] :incoming pixel on right hand side 1 2 ' 14] of window

Four-scale approximate Gaussian pyramid

Hardware for the 56x56 pixel window enable acc1 acc2 enable1 enable2 memory write 512 two port memory for acc1 ALU mid pix right pix left pix enable1 Address calculation write read 512 two port memory for acc2 ALU mid row right row left row ave ave Horizontal Computation Block (HCB) Vertical Computation Block (VCB) enable1 enable2 right row mid row left row VCB 1 vertical average delay block stack 56 pixels enable right pix mid pix left pix HCB 1 2D window average Complete Hardware

Memory organization

Log average

Normalize the pixel Fast hardware for the reciprocal avoid division it s expensive and slow! borrow from the Newton-Raphson algorithm, iteratively finds roots of a function root of algorithm says here; this means 1 f ( x) =! b = 0 X X is reciprocal of b ( X n ) ( X ) look up initial guess based on 8 bits of mantissa of b; one iteration then gives 17 bits of reciprocal n+1 = X n " X = X (2! bx n+ 1 n n f f! n )

Outline of Presentation Experiments and Results

Simulation results

Simulation results

Simulation results

Hardware synthesis results Input image Device Total bits of memory Total logic cells Max operating frequency 1024 768 pixels, 28 bits per pixel Altera Stratix II EP2S90F1020C3 FPGA 2,952,960 / 4,520,448 17,553 / 72,768 83.83 MHz Compatible with a frame rate of 60 frames/sec (for not quite a full-sized LCD screen) Truly a real-time implementation

PSNR Study Our gold standard was a floating-point version of Reinhard operator Memorial Const weight 30.5 Our method 34.9 Using constant weights to construct the Gaussian pyramid we get PSNR which are on average 3dB lower Rosette grovec groved 25.1 29.4 29.8 28.5 33.5 33.6 vinesunset 41.4 42.6

Outline of Presentation Future work

Towards a nine-level embedded real-time Reinhard operator Using more scales allows for better contrast, but geometric series based on powers-of-two are no longer enough To use more general bases, must consider: the relation between the base and the size of the window the accuracy of calculation, which relates to the size of the accumulator used to calculate the rising and falling geometric series

Towards tone mapping of color HDR images color should be an easy extension extract luminance from RGB triplet: L = 0.27! R + 0.67! G + 0.06! B tone-map the luminance use the mapped luminance to transform the RGB preliminary simulations are promising

Thank You Questions?