Difference between revisions of "Olena/MaxtreeReview"
From LRDE
(Use {{SERVER}} instead of a static url like http://www.lrde.epita.fr/) |
|||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | {{OlenaMenu}} |
+ | <noinclude>{{OlenaMenu}}</noinclude> |
{{DISPLAYTITLE:A Comparative Review of Component Tree Computation Algorithms}} |
{{DISPLAYTITLE:A Comparative Review of Component Tree Computation Algorithms}} |
||
== Dataset == |
== Dataset == |
||
− | Download [{{SERVER}}/dload/olena/maxtree-review/maxtree-comparison-dataset.tar.bz2 the image dataset] used in this comparison to bench the algorithms (26 Mb). |
||
Download [{{SERVER}}/dload/olena/maxtree-review/maxtree-comparison-dataset.tar.bz2 the image dataset] used in this comparison to bench the algorithms (26 Mb). |
Download [{{SERVER}}/dload/olena/maxtree-review/maxtree-comparison-dataset.tar.bz2 the image dataset] used in this comparison to bench the algorithms (26 Mb). |
||
Line 18: | Line 17: | ||
== Figures == |
== Figures == |
||
− | Some results extracted from the paper. |
+ | Some results extracted from the paper. Tests conducted on Intel i7 (Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz) |
<gallery widths=523px heights=379px> |
<gallery widths=523px heights=379px> |
||
Line 26: | Line 25: | ||
File: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.'' |
File: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.'' |
||
File: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.'' |
File: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> |
||
+ | |||
+ | Figures to answer reviewers requests about: |
||
+ | * Parallel algorithms behaviour on a machine with more cores. It has been tested on a 12-cores (24 logical cores) machine where each processor is an Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz. |
||
+ | * Parallel algorithms behaviour on an AMD processor since some algorithms seem to be more efficient on those architectures. Tests have been conducted on a AMD quad-core AMD Phenom(tm) II X4 945 Processor. |
||
+ | |||
+ | <gallery widths=523px heights=379px> |
||
+ | File:maxtree_review_cluster.svg|''Comparison of the parallel algorithms on a 8-bit 6.8 Mega-pixels image as a function of the number of thread on the 12-cores Intel(R) Xeon(R).'' |
||
+ | File:maxtree_review_amd.svg|''Comparison of the parallel algorithms on a 8-bit 6.8 Mega-pixels image as a function of the number of thread on the quad-core AMD Phenom(tm).'' |
||
</gallery> |
</gallery> |
||
== Source files == |
== Source files == |
||
− | You can download the [{{SERVER}}/dload/olena/maxtree-review/maxtree-review.tar.bz2 archive] with the source code. |
||
You can download the [{{SERVER}}/dload/olena/maxtree-review/maxtree-review.tar.bz2 archive] with the source code. |
You can download the [{{SERVER}}/dload/olena/maxtree-review/maxtree-review.tar.bz2 archive] with the source code. |
||
Line 39: | Line 46: | ||
You need a c++ 11 compliant compiler (applications have been successfully built with gcc > 4.7 and icc |
You need a c++ 11 compliant compiler (applications have been successfully built with gcc > 4.7 and icc |
||
− | |||
=== Building maxtree executables === |
=== Building maxtree executables === |
||
<pre> |
<pre> |
||
− | > tar xjf maxtree-review. |
+ | > tar xjf maxtree-review.tar.bz2 && cd maxtree-review |
> mkdir build && cd build |
> mkdir build && cd build |
||
> cmake .. |
> cmake .. |
||
Line 63: | Line 69: | ||
* maxtree_parallel_unfindrank: Berger + rank (parallel) |
* maxtree_parallel_unfindrank: Berger + rank (parallel) |
||
* maxtree_parallel_ufind_line: Matas et al. (parallel) |
* maxtree_parallel_ufind_line: Matas et al. (parallel) |
||
− | |||
The binaries are then located in <tt>apps/maxtree_comparison</tt>. |
The binaries are then located in <tt>apps/maxtree_comparison</tt>. |
Latest revision as of 09:56, 17 June 2017
Resources
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. Tests conducted on Intel i7 (Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz)
Figures to answer reviewers requests about:
- Parallel algorithms behaviour on a machine with more cores. It has been tested on a 12-cores (24 logical cores) machine where each processor is an Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz.
- Parallel algorithms behaviour on an AMD processor since some algorithms seem to be more efficient on those architectures. Tests have been conducted on a AMD quad-core AMD Phenom(tm) II X4 945 Processor.
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.tar.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.