Difference between revisions of "Olena/MaxtreeReview"

From LRDE

Line 17: Line 17:
 
Some results extracted from the paper.
 
Some results extracted from the paper.
   
  +
<gallery widths=523px heights=379px>
<div style="text-align:center">
 
[[File:res-fig1-crop.png]]
+
File:Olena-res-fig1-crop.png|''Comparison of the algorithms on 8-bit images as a function of the size.''
 
File:Olena-res-fig2-crop.png|''Comparison of the algorithms on 8 Mega-pixels images as a function of the quantization.''
[[File:res-fig2-crop.png]]
 
 
File:Olena-res-fig3-crop.png|''Comparison of the parallel algorithms on a 6.8 Mega-pixels 8-bits image as a function of number of threads. Wall clock time.''
 
  +
File:Olena-res-fig4-crop.png|''Comparison of the parallel algorithms on a 6.8 Mega-pixels 8-bits image as a function of number of threads. Speedup w.r.t the sequential version.''
<em>
 
(Left) Comparison of the algorithms on 8-bit images as a function
+
File:Olena-res-fig5-crop.png|''Comparison of the parallel algorithms using 8 threads on a 6.8 Mega-pixels image as a function of the quantization.''
  +
</gallery>
of the size; (Right) Comparison of the algorithms on 8 Mega-pixels images as a
 
function of the quantization.
 
</em>
 
</div>
 
 
<div style="text-align: center">
 
[[File:res-fig3-crop.png]]
 
[[File:res-fig4-crop.png]]
 
[[File:res-fig5-crop.png]]
 
 
<em>
 
(Left, Middle) Comparison of the parallel algorithms on a 6.8 Mega-pixels 8-bits image as a function of number of threads. (Left) Wall clock time; (Middle) speedup
 
w.r.t the sequential version; (Right) Comparison of the parallel algorithms using 8 threads on a 6.8 Mega-pixels image as a function of the quantization.
 
</em>
 
</div>
 
   
 
== Source files ==
 
== Source files ==

Revision as of 18:11, 5 December 2013


Dataset

Download the image dataset used in this comparison to bench the algorithms (26 Mb).

On-line application.

Compare the performance of the algorithms on an image of your choice and plot the performance curves.

Demo page url: http://olena.lrde.epita.fr/demos/maxtree_comparison.php

Status

Under development. For now, you can only plot curves and show performance of the algorithms on a pre-defined dataset. Benching the algorithms on your own images is still not possible.

Figures

Some results extracted from the paper.

Source files

You can download the archive with the source code.

Dependencies

The applications rely on those external libraries:

  • Boost
  • libfreeimage
  • Intel TBB

You need a c++ 11 compliant compiler (applications have been successfully built with gcc > 4.7 and icc


Building maxtree executables

> tar xjf maxtree-review.targ.bz2 && cd maxtree-review
> mkdir build && cd build
> cmake ..
> make -C apps/maxtree_comparison

It outputs the following executables:

  • maxtree_serial_hqueue: Salembier (sequential)
  • maxtree_serial_pqueue: Nister (<18bits) / Wilkinson (>18 bits) (sequential)
  • maxtree_serial_berger: Berger et al.
  • maxtree_serial_ufind_wlc: Berger + level compression
  • maxtree_serial_ufind: Berger + level compression enabled if < 18bits
  • maxtree_serial_unfindrank: Berger + rank
  • maxtree_serial_najman: Najman and Couprie
  • maxtree_parallel_hqueue: Salembier (parallel)
  • maxtree_parallel_pqueue: Nister (<18bits) / Wilkinson (>18 bits) (parallel)
  • maxtree_parallel_ufind: Berger + level compression enabled if < 18bits (parallel)
  • maxtree_parallel_unfindrank: Berger + rank (parallel)
  • maxtree_parallel_ufind_line: Matas et al. (parallel)


The binaries are then located in apps/maxtree_comparison. For usage and available options, run appname --help where appname is the name of the maxtree algorithm.

$ ./apps/maxtree_comparison/maxtree_serial_berger --help
Usage: ./apps/maxtree_comparison/maxtree_serial_berger inputfile
Allowed options:
  --help					 produce help message
  --nthread arg (=-1)	set number of thread (default: auto)
  --nbits arg (=8)		Set number of bits (default: 8). Quantization of the 
								original is changed. Upper bits are moved left and 
								missing lower bits are generated at random.
  --ntest arg (=3)		set number of runs (default: 3)
  --sz arg (=0)			Set size (number of pixels) (0: original). Resize the 
								image by tiling or cropping the original until matching
								the number of pixel required. Original ratio 
								width/height is kept.