From 5a85721a49ebb45b2411e542bc30456227dcd288 Mon Sep 17 00:00:00 2001 From: even <philippe.even@loria.fr> Date: Mon, 7 Jan 2019 17:44:38 +0100 Subject: [PATCH] Article: remarks PN updated --- Article/Expe_auto/perfTable.tex | 3 +- Article/Expe_perf/PerfCompare.class | Bin 0 -> 3612 bytes Article/Expe_perf/PerfCompare.java | 137 ++++++++++++++++++++ Article/Expe_perf/perf_iut_amphi1.txt | 17 +++ Article/Expe_perf/perf_iut_amphi2.txt | 17 +++ Article/Expe_perf/perf_iut_corridor1.txt | 17 +++ Article/Expe_perf/perf_iut_corridor2.txt | 17 +++ Article/Expe_perf/perf_iut_entrance.txt | 17 +++ Article/Expe_perf/perf_iut_labo1.txt | 17 +++ Article/Expe_perf/perf_iut_labo2.txt | 17 +++ Article/Expe_perf/perf_iut_library1.txt | 17 +++ Article/Expe_perf/perf_iut_mul1.txt | 17 +++ Article/Expe_perf/perf_iut_mul2.txt | 17 +++ Article/Expe_perf/perf_iut_office1.txt | 17 +++ Article/Expe_perf/perf_iut_office2.txt | 17 +++ Article/Expe_perf/perf_iut_office4.txt | 17 +++ Article/Expe_perf/perf_iut_outdoor1.txt | 17 +++ Article/Expe_perf/perf_iut_outdoor2.txt | 17 +++ Article/Expe_perf/perf_iut_outdoor3.txt | 17 +++ Article/Expe_perf/perf_iut_scc1.txt | 17 +++ Article/Expe_perf/perf_iut_scc2.txt | 17 +++ Article/Expe_perf/perf_iut_scc3.txt | 17 +++ Article/Expe_perf/perf_loria_indoor1.txt | 17 +++ Article/Expe_perf/perf_loria_indoor2.txt | 17 +++ Article/Expe_perf/perf_loria_indoor3.txt | 17 +++ Article/Expe_perf/perf_loria_office1.txt | 17 +++ Article/Expe_perf/perf_loria_outdoor1.txt | 17 +++ Article/Expe_perf/perf_vosges_castle1.txt | 17 +++ Article/Expe_perf/perf_vosges_castle2.txt | 17 +++ Article/Expe_perf/perf_vosges_corridor1.txt | 17 +++ Article/Expe_perf/perf_vosges_detail1.txt | 17 +++ Article/Expe_perf/perf_vosges_detail2.txt | 17 +++ Article/Expe_perf/perf_vosges_detail3.txt | 17 +++ Article/conclusion.tex | 4 +- Article/expe.tex | 2 +- Article/intro.tex | 7 +- Article/method.tex | 10 +- Article/notions.tex | 13 +- 38 files changed, 667 insertions(+), 19 deletions(-) create mode 100644 Article/Expe_perf/PerfCompare.class create mode 100644 Article/Expe_perf/PerfCompare.java create mode 100644 Article/Expe_perf/perf_iut_amphi1.txt create mode 100644 Article/Expe_perf/perf_iut_amphi2.txt create mode 100644 Article/Expe_perf/perf_iut_corridor1.txt create mode 100644 Article/Expe_perf/perf_iut_corridor2.txt create mode 100644 Article/Expe_perf/perf_iut_entrance.txt create mode 100644 Article/Expe_perf/perf_iut_labo1.txt create mode 100644 Article/Expe_perf/perf_iut_labo2.txt create mode 100644 Article/Expe_perf/perf_iut_library1.txt create mode 100644 Article/Expe_perf/perf_iut_mul1.txt create mode 100644 Article/Expe_perf/perf_iut_mul2.txt create mode 100644 Article/Expe_perf/perf_iut_office1.txt create mode 100644 Article/Expe_perf/perf_iut_office2.txt create mode 100644 Article/Expe_perf/perf_iut_office4.txt create mode 100644 Article/Expe_perf/perf_iut_outdoor1.txt create mode 100644 Article/Expe_perf/perf_iut_outdoor2.txt create mode 100644 Article/Expe_perf/perf_iut_outdoor3.txt create mode 100644 Article/Expe_perf/perf_iut_scc1.txt create mode 100644 Article/Expe_perf/perf_iut_scc2.txt create mode 100644 Article/Expe_perf/perf_iut_scc3.txt create mode 100644 Article/Expe_perf/perf_loria_indoor1.txt create mode 100644 Article/Expe_perf/perf_loria_indoor2.txt create mode 100644 Article/Expe_perf/perf_loria_indoor3.txt create mode 100644 Article/Expe_perf/perf_loria_office1.txt create mode 100644 Article/Expe_perf/perf_loria_outdoor1.txt create mode 100644 Article/Expe_perf/perf_vosges_castle1.txt create mode 100644 Article/Expe_perf/perf_vosges_castle2.txt create mode 100644 Article/Expe_perf/perf_vosges_corridor1.txt create mode 100644 Article/Expe_perf/perf_vosges_detail1.txt create mode 100644 Article/Expe_perf/perf_vosges_detail2.txt create mode 100644 Article/Expe_perf/perf_vosges_detail3.txt diff --git a/Article/Expe_auto/perfTable.tex b/Article/Expe_auto/perfTable.tex index 09fcec2..2e08d32 100644 --- a/Article/Expe_auto/perfTable.tex +++ b/Article/Expe_auto/perfTable.tex @@ -12,7 +12,8 @@ $M_{new}/M_{old}$ (\%) & & & & \\ \hspace{0.4cm} on image of \RefFig{fig:auto} & \multicolumn{1}{l|}{87.60} & \multicolumn{1}{l|}{115.03} & \multicolumn{1}{l|}{86.18} & \multicolumn{1}{l|}{87.85} \\ -\hspace{0.4cm} on the set of test images & & & & \\ +\hspace{0.4cm} on the set of test images +& 85.88 $\pm$ 2.60 & 106.64 $\pm$ 5.63 & 92.63 $\pm$ 4.37 & 87.03 $\pm$ 4.27 \\ \hspace{0.4cm} on CannyLines images & 86.02 $\pm$ 2.44 & 110.15 $\pm$ 6.51 & 89.23 $\pm$ 5.11 & 84.70 $\pm$ 2.98 \\ \hline diff --git a/Article/Expe_perf/PerfCompare.class b/Article/Expe_perf/PerfCompare.class new file mode 100644 index 0000000000000000000000000000000000000000..55e1775967cce0339d574ab041f1224e1f1d1284 GIT binary patch literal 3612 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 X-qa^x_1h4o1A)ex;W4_l;Kcs`N4|ge literal 0 HcmV?d00001 diff --git a/Article/Expe_perf/PerfCompare.java b/Article/Expe_perf/PerfCompare.java new file mode 100644 index 0000000..2ce4842 --- /dev/null +++ b/Article/Expe_perf/PerfCompare.java @@ -0,0 +1,137 @@ +import java.io.*; + +public class PerfCompare +{ + private static String[] names = { + "perf_iut_amphi1.txt", + "perf_iut_amphi2.txt", + "perf_iut_corridor1.txt", + "perf_iut_corridor2.txt", + "perf_iut_entrance.txt", + "perf_iut_labo1.txt", + "perf_iut_labo2.txt", + "perf_iut_library1.txt", + "perf_iut_mul1.txt", + "perf_iut_mul2.txt", + "perf_iut_office1.txt", + "perf_iut_office2.txt", + "perf_iut_office4.txt", + "perf_iut_outdoor1.txt", + "perf_iut_outdoor2.txt", + "perf_iut_outdoor3.txt", + "perf_iut_scc1.txt", + "perf_iut_scc2.txt", + "perf_iut_scc3.txt", + "perf_loria_indoor1.txt", + "perf_loria_indoor2.txt", + "perf_loria_indoor3.txt", + "perf_loria_office1.txt", + "perf_loria_outdoor1.txt", + "perf_vosges_castle1.txt", + "perf_vosges_castle2.txt", + "perf_vosges_corridor1.txt", + "perf_vosges_detail1.txt", + "perf_vosges_detail2.txt", + "perf_vosges_detail3.txt"}; + + + private double timeRatio = 0.; + private double countRatio = 0.; + private double longRatio = 0.; + private double lengthRatio = 0.; + private double widthRatio = 0.; + + public static void main (String[] args) throws IOException + { + PerfCompare[] perf = new PerfCompare[names.length]; + double meanTime = 0.; + double meanCount = 0.; + double meanLong = 0.; + double meanLength = 0.; + double meanWidth = 0.; + + for (int i = 0; i < names.length; i++) + { + perf[i] = new PerfCompare (names[i]); + meanTime += perf[i].timeRatio; + meanCount += perf[i].countRatio; + meanLong += perf[i].longRatio; + meanLength += perf[i].lengthRatio; + meanWidth += perf[i].widthRatio; + } + meanTime /= names.length; + meanCount /= names.length; + meanLong /= names.length; + meanLength /= names.length; + meanWidth /= names.length; + + double sdTime = 0.; + double sdCount = 0.; + double sdLong = 0.; + double sdLength = 0.; + double sdWidth = 0.; + for (int i = 0; i < names.length; i++) + { + sdTime += (perf[i].timeRatio - meanTime) + * (perf[i].timeRatio - meanTime); + sdCount += (perf[i].countRatio - meanCount) + * (perf[i].countRatio - meanCount); + sdLong += (perf[i].longRatio - meanLong) + * (perf[i].longRatio - meanLong); + sdLength += (perf[i].lengthRatio - meanLength) + * (perf[i].lengthRatio - meanLength); + sdWidth += (perf[i].widthRatio - meanWidth) + * (perf[i].widthRatio - meanWidth); + } + sdTime = Math.sqrt (sdTime / names.length); + sdCount = Math.sqrt (sdCount / names.length); + sdLong = Math.sqrt (sdLong / names.length); + sdLength = Math.sqrt (sdLength / names.length); + sdWidth = Math.sqrt (sdWidth / names.length); + + System.out.println ("Time : " + meanTime + " (" + sdTime + ")"); + System.out.println ("Count : " + meanCount + " (" + sdCount + ")"); + System.out.println ("Long : " + meanLong + " (" + sdLong + ")"); + System.out.println ("Lendth : " + meanLength + " (" + sdLength + ")"); + System.out.println ("Width : " + meanWidth + " (" + sdWidth + ")"); + } + + public PerfCompare (String name) throws IOException + { + BufferedReader flot = new BufferedReader (new FileReader (name)); + String val = flot.readLine (); // nb runs + val = flot.readLine (); // width + val = flot.readLine (); // height + val = flot.readLine (); // time + double t1 = (new Double (val)).doubleValue (); + val = flot.readLine (); // trials + val = flot.readLine (); // count of segments + int ns1 = (new Integer (val)).intValue (); + val = flot.readLine (); // count of long segments + int nl1 = (new Integer (val)).intValue (); + val = flot.readLine (); // mean length + double l1 = (new Double (val)).doubleValue (); + val = flot.readLine (); // mean width + double w1 = (new Double (val)).doubleValue (); + val = flot.readLine (); // mean width of long segments + val = flot.readLine (); // time + double t2 = (new Double (val)).doubleValue (); + val = flot.readLine (); // trials + val = flot.readLine (); // count of segments + int ns2 = (new Integer (val)).intValue (); + val = flot.readLine (); // count of long segments + int nl2 = (new Integer (val)).intValue (); + val = flot.readLine (); // mean length + double l2 = (new Double (val)).doubleValue (); + val = flot.readLine (); // mean width + double w2 = (new Double (val)).doubleValue (); + val = flot.readLine (); // mean width of long segments + flot.close (); + + timeRatio = t1 / t2; + countRatio = ns1 / (double) ns2; + longRatio = nl1 / (double) nl2; + lengthRatio = l1 / l2; + widthRatio = w1 / w2; + } +} diff --git a/Article/Expe_perf/perf_iut_amphi1.txt b/Article/Expe_perf/perf_iut_amphi1.txt new file mode 100644 index 0000000..2f0ec4a --- /dev/null +++ b/Article/Expe_perf/perf_iut_amphi1.txt @@ -0,0 +1,17 @@ +100 +768 +512 +4.6903 +1806 +660 +150 +30.5512 +2.27963 +2.2943 +5.72459 +1814 +636 +150 +31.725 +2.57986 +2.65468 diff --git a/Article/Expe_perf/perf_iut_amphi2.txt b/Article/Expe_perf/perf_iut_amphi2.txt new file mode 100644 index 0000000..486774e --- /dev/null +++ b/Article/Expe_perf/perf_iut_amphi2.txt @@ -0,0 +1,17 @@ +100 +768 +512 +6.40191 +2748 +1047 +148 +23.4331 +2.29331 +2.60233 +7.43268 +2638 +942 +171 +26.4888 +2.63111 +2.94765 diff --git a/Article/Expe_perf/perf_iut_corridor1.txt b/Article/Expe_perf/perf_iut_corridor1.txt new file mode 100644 index 0000000..fb839eb --- /dev/null +++ b/Article/Expe_perf/perf_iut_corridor1.txt @@ -0,0 +1,17 @@ +100 +512 +768 +3.00952 +1219 +435 +113 +33.3889 +1.96156 +1.98553 +3.52095 +1191 +375 +101 +38.4183 +2.6502 +2.71477 diff --git a/Article/Expe_perf/perf_iut_corridor2.txt b/Article/Expe_perf/perf_iut_corridor2.txt new file mode 100644 index 0000000..5bfc67d --- /dev/null +++ b/Article/Expe_perf/perf_iut_corridor2.txt @@ -0,0 +1,17 @@ +100 +768 +512 +2.76221 +1174 +408 +86 +32.2011 +1.72083 +1.61854 +3.10034 +1074 +354 +82 +37.2489 +2.15799 +2.11399 diff --git a/Article/Expe_perf/perf_iut_entrance.txt b/Article/Expe_perf/perf_iut_entrance.txt new file mode 100644 index 0000000..56a4bd5 --- /dev/null +++ b/Article/Expe_perf/perf_iut_entrance.txt @@ -0,0 +1,17 @@ +100 +604 +435 +5.89507 +2873 +875 +145 +26.5632 +2.17234 +2.29212 +6.96728 +2791 +796 +163 +29.9855 +2.60888 +2.67866 diff --git a/Article/Expe_perf/perf_iut_labo1.txt b/Article/Expe_perf/perf_iut_labo1.txt new file mode 100644 index 0000000..2cb912c --- /dev/null +++ b/Article/Expe_perf/perf_iut_labo1.txt @@ -0,0 +1,17 @@ +100 +768 +512 +3.47058 +1210 +523 +124 +28.5383 +2.11452 +2.0609 +4.10393 +1186 +469 +129 +32.2115 +2.43933 +2.40623 diff --git a/Article/Expe_perf/perf_iut_labo2.txt b/Article/Expe_perf/perf_iut_labo2.txt new file mode 100644 index 0000000..9aee17c --- /dev/null +++ b/Article/Expe_perf/perf_iut_labo2.txt @@ -0,0 +1,17 @@ +100 +768 +512 +3.08177 +1070 +458 +92 +29.9653 +2.21609 +2.27448 +3.71473 +1011 +437 +113 +32.5916 +2.57131 +2.64624 diff --git a/Article/Expe_perf/perf_iut_library1.txt b/Article/Expe_perf/perf_iut_library1.txt new file mode 100644 index 0000000..8cc2745 --- /dev/null +++ b/Article/Expe_perf/perf_iut_library1.txt @@ -0,0 +1,17 @@ +100 +768 +512 +6.69281 +3042 +1012 +147 +22.7012 +2.40284 +2.60964 +7.74526 +2915 +962 +170 +24.584 +2.79463 +2.91575 diff --git a/Article/Expe_perf/perf_iut_mul1.txt b/Article/Expe_perf/perf_iut_mul1.txt new file mode 100644 index 0000000..93f49d9 --- /dev/null +++ b/Article/Expe_perf/perf_iut_mul1.txt @@ -0,0 +1,17 @@ +100 +768 +512 +4.99343 +2016 +738 +148 +27.4874 +2.04314 +1.95366 +5.89653 +2058 +687 +144 +28.4664 +2.3839 +2.31797 diff --git a/Article/Expe_perf/perf_iut_mul2.txt b/Article/Expe_perf/perf_iut_mul2.txt new file mode 100644 index 0000000..5fb6a93 --- /dev/null +++ b/Article/Expe_perf/perf_iut_mul2.txt @@ -0,0 +1,17 @@ +100 +768 +512 +4.00064 +1700 +614 +95 +24.8282 +2.15711 +2.15276 +4.69204 +1648 +579 +101 +26.3164 +2.40674 +2.41017 diff --git a/Article/Expe_perf/perf_iut_office1.txt b/Article/Expe_perf/perf_iut_office1.txt new file mode 100644 index 0000000..6dbab70 --- /dev/null +++ b/Article/Expe_perf/perf_iut_office1.txt @@ -0,0 +1,17 @@ +100 +512 +768 +4.05439 +1657 +576 +125 +29.6341 +2.11351 +2.13721 +4.80129 +1600 +525 +122 +33.409 +2.50289 +2.54529 diff --git a/Article/Expe_perf/perf_iut_office2.txt b/Article/Expe_perf/perf_iut_office2.txt new file mode 100644 index 0000000..c6027ac --- /dev/null +++ b/Article/Expe_perf/perf_iut_office2.txt @@ -0,0 +1,17 @@ +100 +512 +768 +2.39764 +872 +347 +66 +28.6302 +2.16436 +2.11984 +2.82771 +808 +327 +69 +31.397 +2.4599 +2.45493 diff --git a/Article/Expe_perf/perf_iut_office4.txt b/Article/Expe_perf/perf_iut_office4.txt new file mode 100644 index 0000000..71128a8 --- /dev/null +++ b/Article/Expe_perf/perf_iut_office4.txt @@ -0,0 +1,17 @@ +100 +800 +533 +2.59955 +914 +352 +94 +33.2509 +2.17087 +2.21914 +3.0047 +851 +306 +85 +38.5787 +2.47154 +2.46201 diff --git a/Article/Expe_perf/perf_iut_outdoor1.txt b/Article/Expe_perf/perf_iut_outdoor1.txt new file mode 100644 index 0000000..dd0190c --- /dev/null +++ b/Article/Expe_perf/perf_iut_outdoor1.txt @@ -0,0 +1,17 @@ +100 +768 +512 +5.89527 +2667 +927 +114 +22.1006 +2.49616 +2.64012 +6.95665 +2642 +853 +138 +24.2389 +2.76982 +2.85027 diff --git a/Article/Expe_perf/perf_iut_outdoor2.txt b/Article/Expe_perf/perf_iut_outdoor2.txt new file mode 100644 index 0000000..957c3b0 --- /dev/null +++ b/Article/Expe_perf/perf_iut_outdoor2.txt @@ -0,0 +1,17 @@ +100 +768 +512 +8.02477 +4230 +1196 +71 +14.7278 +2.63801 +2.28099 +8.66283 +4093 +1164 +75 +15.6502 +2.90617 +2.80733 diff --git a/Article/Expe_perf/perf_iut_outdoor3.txt b/Article/Expe_perf/perf_iut_outdoor3.txt new file mode 100644 index 0000000..14e2811 --- /dev/null +++ b/Article/Expe_perf/perf_iut_outdoor3.txt @@ -0,0 +1,17 @@ +100 +768 +512 +6.04887 +2686 +801 +188 +31.9457 +2.14241 +2.11146 +7.28111 +2577 +748 +211 +35.3597 +2.69916 +2.71961 diff --git a/Article/Expe_perf/perf_iut_scc1.txt b/Article/Expe_perf/perf_iut_scc1.txt new file mode 100644 index 0000000..bea695d --- /dev/null +++ b/Article/Expe_perf/perf_iut_scc1.txt @@ -0,0 +1,17 @@ +100 +768 +512 +5.17888 +1969 +791 +155 +25.8714 +2.25773 +2.29206 +6.04807 +1871 +705 +154 +29.3372 +2.55873 +2.60574 diff --git a/Article/Expe_perf/perf_iut_scc2.txt b/Article/Expe_perf/perf_iut_scc2.txt new file mode 100644 index 0000000..fa7a3a7 --- /dev/null +++ b/Article/Expe_perf/perf_iut_scc2.txt @@ -0,0 +1,17 @@ +100 +768 +512 +6.24317 +2752 +903 +160 +25.5535 +2.25717 +2.21315 +7.27919 +2667 +850 +168 +27.4307 +2.56642 +2.51868 diff --git a/Article/Expe_perf/perf_iut_scc3.txt b/Article/Expe_perf/perf_iut_scc3.txt new file mode 100644 index 0000000..26ff021 --- /dev/null +++ b/Article/Expe_perf/perf_iut_scc3.txt @@ -0,0 +1,17 @@ +100 +768 +512 +4.41504 +1852 +692 +122 +24.3828 +2.10468 +2.10685 +5.22814 +1822 +652 +133 +25.929 +2.50248 +2.4839 diff --git a/Article/Expe_perf/perf_loria_indoor1.txt b/Article/Expe_perf/perf_loria_indoor1.txt new file mode 100644 index 0000000..b7df972 --- /dev/null +++ b/Article/Expe_perf/perf_loria_indoor1.txt @@ -0,0 +1,17 @@ +100 +768 +512 +5.86233 +2790 +921 +110 +20.7075 +2.26903 +2.14334 +6.88069 +2673 +909 +110 +21.8659 +2.52832 +2.39787 diff --git a/Article/Expe_perf/perf_loria_indoor2.txt b/Article/Expe_perf/perf_loria_indoor2.txt new file mode 100644 index 0000000..3ba81ef --- /dev/null +++ b/Article/Expe_perf/perf_loria_indoor2.txt @@ -0,0 +1,17 @@ +100 +768 +512 +4.91989 +2184 +779 +123 +22.4072 +2.13355 +2.09208 +5.75351 +2077 +716 +127 +24.7289 +2.48592 +2.39442 diff --git a/Article/Expe_perf/perf_loria_indoor3.txt b/Article/Expe_perf/perf_loria_indoor3.txt new file mode 100644 index 0000000..90f1df8 --- /dev/null +++ b/Article/Expe_perf/perf_loria_indoor3.txt @@ -0,0 +1,17 @@ +100 +768 +512 +5.01374 +1625 +649 +195 +40.2443 +1.9953 +1.93206 +6.06808 +1659 +561 +178 +45.238 +2.40001 +2.38361 diff --git a/Article/Expe_perf/perf_loria_office1.txt b/Article/Expe_perf/perf_loria_office1.txt new file mode 100644 index 0000000..da98449 --- /dev/null +++ b/Article/Expe_perf/perf_loria_office1.txt @@ -0,0 +1,17 @@ +100 +768 +512 +5.88139 +2690 +914 +137 +22.5576 +2.12867 +1.95291 +6.94068 +2660 +891 +139 +23.289 +2.41498 +2.22931 diff --git a/Article/Expe_perf/perf_loria_outdoor1.txt b/Article/Expe_perf/perf_loria_outdoor1.txt new file mode 100644 index 0000000..f641b1c --- /dev/null +++ b/Article/Expe_perf/perf_loria_outdoor1.txt @@ -0,0 +1,17 @@ +100 +768 +512 +5.80022 +2678 +839 +87 +20.24 +2.43775 +2.57967 +6.60938 +2584 +825 +104 +21.8391 +2.66773 +2.72427 diff --git a/Article/Expe_perf/perf_vosges_castle1.txt b/Article/Expe_perf/perf_vosges_castle1.txt new file mode 100644 index 0000000..b6fd3d2 --- /dev/null +++ b/Article/Expe_perf/perf_vosges_castle1.txt @@ -0,0 +1,17 @@ +100 +768 +512 +5.80337 +3169 +865 +75 +15.3847 +2.21368 +2.12883 +6.33414 +3009 +919 +80 +15.4394 +2.51226 +2.43735 diff --git a/Article/Expe_perf/perf_vosges_castle2.txt b/Article/Expe_perf/perf_vosges_castle2.txt new file mode 100644 index 0000000..799fe83 --- /dev/null +++ b/Article/Expe_perf/perf_vosges_castle2.txt @@ -0,0 +1,17 @@ +100 +768 +512 +2.85011 +1404 +415 +55 +22.5612 +2.25116 +2.39249 +3.21413 +1363 +403 +61 +23.2159 +2.45696 +2.50577 diff --git a/Article/Expe_perf/perf_vosges_corridor1.txt b/Article/Expe_perf/perf_vosges_corridor1.txt new file mode 100644 index 0000000..0a5585b --- /dev/null +++ b/Article/Expe_perf/perf_vosges_corridor1.txt @@ -0,0 +1,17 @@ +100 +512 +341 +1.14078 +342 +160 +50 +37.3961 +2.00629 +2.01085 +1.3908 +343 +142 +47 +41.1792 +2.36076 +2.33786 diff --git a/Article/Expe_perf/perf_vosges_detail1.txt b/Article/Expe_perf/perf_vosges_detail1.txt new file mode 100644 index 0000000..8453d71 --- /dev/null +++ b/Article/Expe_perf/perf_vosges_detail1.txt @@ -0,0 +1,17 @@ +100 +735 +570 +12.9189 +7209 +2108 +50 +11.4931 +2.84108 +3.21585 +14.1981 +6802 +2101 +56 +12.2208 +3.00296 +3.21142 diff --git a/Article/Expe_perf/perf_vosges_detail2.txt b/Article/Expe_perf/perf_vosges_detail2.txt new file mode 100644 index 0000000..2786900 --- /dev/null +++ b/Article/Expe_perf/perf_vosges_detail2.txt @@ -0,0 +1,17 @@ +100 +458 +325 +3.12422 +1653 +478 +49 +16.9293 +2.66354 +2.70177 +3.56203 +1623 +496 +41 +16.3789 +2.85431 +2.73118 diff --git a/Article/Expe_perf/perf_vosges_detail3.txt b/Article/Expe_perf/perf_vosges_detail3.txt new file mode 100644 index 0000000..8166fae --- /dev/null +++ b/Article/Expe_perf/perf_vosges_detail3.txt @@ -0,0 +1,17 @@ +100 +314 +508 +3.16186 +1637 +453 +64 +23.1678 +2.60882 +2.83866 +3.65571 +1619 +464 +71 +22.5974 +2.8246 +2.94086 diff --git a/Article/conclusion.tex b/Article/conclusion.tex index 3347917..7a50214 100755 --- a/Article/conclusion.tex +++ b/Article/conclusion.tex @@ -4,8 +4,8 @@ This paper introduced a new straight edge detector based on a local analysis of the image gradient and on the use of blurred segments to embed an -estimation of the edge thickness. -It relies on directional scans of the image around maximal values of the +estimation of the detected edge thickness. +It relies on directional scans of the input image around maximal values of the gradient magnitude, that have previously been presented in \cite{KerautretEven09}. %Despite of good performances achieved, the former approach suffers of two diff --git a/Article/expe.tex b/Article/expe.tex index 9454e82..e27cf49 100755 --- a/Article/expe.tex +++ b/Article/expe.tex @@ -6,7 +6,7 @@ The main goal of this work is to provide straight segments with a quality indication through the associated width parameter. In lack of available reference tool, the evaluation stage mostly aims at quantifying the advantages of the new detector compared to the previous -detector in unsupervised context. +one in unsupervised context. For a fair comparison, the process flow of the former method (the initial detection followed by two refinement steps) is integrated as an option into the code of the new detector, so that both methods rely on the same diff --git a/Article/intro.tex b/Article/intro.tex index 0222baf..d4fa3d8 100755 --- a/Article/intro.tex +++ b/Article/intro.tex @@ -36,7 +36,7 @@ In a former paper \cite{KerautretEven09}, an efficient tool to detect blurred segments of fixed width in gray-level images was already introduced. It is based on a first rough detection in a local image area defined by the user. The goal is to disclose the presence of a straight edge. -Therefore an as simple test as the gradient maximal value is performed. +Therefore as simple a test as the gradient maximal value is performed. In case of success, refinement steps are run through an exploration of the image in the direction of the detected edge. In order to prevent local disturbances such as the presence of a sharper @@ -56,7 +56,7 @@ on the edge quality is rather poor, and especially when the edge is thin, the risk to incorporate outlier points is quite high, thus producing a biased estimation of the edge orientation. Then, two refinement steps are systematically run. -On one hand, this is useless when the first detection is successfull. +On the one hand, this is useless when the first detection is successfull. On the other hand, there is no guarantee that this approach is able to process larger images. The search direction relies on the support vector of the blurred segment @@ -78,8 +78,7 @@ improvement of the time performance of the detector. They are also put forward within a global line extraction algorithm which can be evaluated through an online demonstration. -In the next section, the main theoretical notions this work relies on are -introduced. +In the next section, the main theoretical notions are introduced. The new detector workflow, the adaptive directional scan, the control of the assigned with and their integration into both supervised and unsupervised contexts are then presented in \RefSec{sec:method}. diff --git a/Article/method.tex b/Article/method.tex index 9693564..45e3211 100755 --- a/Article/method.tex +++ b/Article/method.tex @@ -224,7 +224,7 @@ $\vec{AB}_\perp$ to the stroke as input to build a static scan of fixed width $2~\varepsilon_{ini}$, and $M_j$ is used as start point of the blurred segment; \item the occupancy mask is filled in with the points of the dilated blurred -segments $\mathcal{B}_j''$ at the end of each successful detection +segments $\mathcal{B}_j'$ at the end of each successful detection (a 21 pixels neighborhood is used); \item points marked as occupied are rejected when selecting candidates for the blurred segment extension in the fine tracking step. @@ -239,14 +239,14 @@ in opposite edge selection mode. An unsupervised mode is also proposed to automatically detect all the straight edges in the image. The principle of this automatic detection is described in Algorithm 2. A stroke that crosses the whole image, is -swept in both direction, vertical then horizontal, from the center to +swept in both directions, vertical then horizontal, from the center to the borders. At each position, the multi-detection algorithm is run to collect all the segments found under the stroke. In the present work, the stroke sweeping step $\delta$ is set to 10 pixels. - -The automatic detection of blurred segments in a whole image is left available -for testing from an online demonstration and \textit{GitHub} source code at this address: \\ +The automatic detection of blurred segments in a whole image is available +for testing from an online demonstration +and \textit{GitHub} source code at this address: \\ \href{http://ipol-geometry.loria.fr/~kerautre/ipol_demo/AdaptDirBS_IPOLDemo}{ \small{\url{http://ipol-geometry.loria.fr/~kerautre/ipol_demo/AdaptDirBS_IPOLDemo}}} diff --git a/Article/notions.tex b/Article/notions.tex index a35c9c0..5f84830 100755 --- a/Article/notions.tex +++ b/Article/notions.tex @@ -9,7 +9,8 @@ defined in the digital geometry literature \cite{KletteRosenfeld04}. Only the 2D case is considered here. \begin{definition} -A digital line $\mathcal{L}(a,b,c,\nu)$, with $(a,b,c,\nu) \in \mathbb{Z}^4$, +A \textbf{digital straight line} $\mathcal{L}(a,b,c,\nu)$, +with $(a,b,c,\nu) \in \mathbb{Z}^4$, is the set of points $P(x,y)$ of $\mathbb{Z}^2$ that satisfy : $0 \leq ax + by - c < \nu$. \end{definition} @@ -19,12 +20,12 @@ digital line $\mathcal{L}$, $w(\mathcal{L}) = \nu$ its arithmetical width, $h(\mathcal{L}) = c$ its shift to origin, and $p(\mathcal{L}) = max(|a|,|b|)$ its period (i.e. the length of its periodic pattern). When $\nu = p(\mathcal{L})$, then $\mathcal{L}$ is the narrowest 8-connected -line and is called a naive line. +line and is called a {\it naive line}. \begin{definition} -A blurred segment $\mathcal{B}$ of assigned width $\varepsilon$ is a set -of points in $\mathbb{Z}^2$ that all belong to a digital line $\mathcal{L}$ -of arithmetical width $w(\mathcal{L}) = \varepsilon$. +A \textbf{blurred segment} $\mathcal{B}$ of assigned width $\varepsilon$ is +a set of points in $\mathbb{Z}^2$ that all belong to a digital straight line +$\mathcal{L}$ of arithmetical width $w(\mathcal{L}) = \varepsilon$. \end{definition} A linear-time algorithm to recognize a blurred segment of assigned width @@ -55,7 +56,7 @@ and $\mathcal{B}_i = \mathcal{B}_{i-1}$.} \end{figure} Associated to this primitive, the following definition of a directional scan -also based on digital straight lines is also used in this work. +also based on digital straight lines is used in this work. \subsection{Directional scan} -- GitLab