last update

This commit is contained in:
Laureηt 2023-06-25 20:03:29 +02:00
parent 1d5f339ef3
commit 79c73d653a
Signed by: Laurent
SSH key fingerprint: SHA256:kZEpW8cMJ54PDeCvOhzreNr4FSh6R13CMGH/POoO8DI
32 changed files with 11675 additions and 6374 deletions

10738
assets/3d_estimation.svg Normal file

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 692 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

1
assets/algo1.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 21 KiB

229
assets/comete.svg Normal file
View file

@ -0,0 +1,229 @@
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN'
'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'Dialog'; font-style:normal; stroke-linejoin:miter; font-size:12px; stroke-dashoffset:0; image-rendering:auto;" width="700" height="525" xmlns="http://www.w3.org/2000/svg"
><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs"
/><g
><defs id="defs1"
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"
><path d="M0 0 L700 0 L700 525 L0 525 L0 0 Z"
/></clipPath
><font horiz-adv-x="75.0" id="font1"
><font-face ascent="100.53711" descent="21.972656" units-per-em="100" style="font-style:normal; font-family:Dialog; font-weight:bold;"
/><missing-glyph horiz-adv-x="75.0" d="M12.5 0 L12.5 62.5 L62.5 62.5 L62.5 0 L12.5 0 ZM14.0625 1.5625 L60.9375 1.5625 L60.9375 60.9375 L14.0625 60.9375 L14.0625 1.5625 Z"
/><glyph unicode="d" horiz-adv-x="61.083984" d="M54.7344 0 L42 0 L42 7.625 Q38.8125 3.1719 34.4922 1 Q30.1719 -1.1719 25.7812 -1.1719 Q16.8438 -1.1719 10.4766 6.0312 Q4.1094 13.2344 4.1094 26.125 Q4.1094 39.3125 10.3047 46.1719 Q16.5 53.0312 25.9844 53.0312 Q34.6719 53.0312 41.0156 45.7969 L41.0156 71.5781 L54.7344 71.5781 L54.7344 0 ZM18.1094 27.0469 Q18.1094 18.75 20.4062 15.0469 Q23.7344 9.6719 29.6875 9.6719 Q34.4219 9.6719 37.7422 13.6953 Q41.0625 17.7188 41.0625 25.7344 Q41.0625 34.6719 37.8438 38.6016 Q34.625 42.5312 29.5938 42.5312 Q24.7031 42.5312 21.4062 38.6484 Q18.1094 34.7656 18.1094 27.0469 Z"
/><glyph unicode="u" horiz-adv-x="61.083984" d="M41.3125 0 L41.3125 7.7656 Q38.4844 3.6094 33.8672 1.2188 Q29.25 -1.1719 24.125 -1.1719 Q18.8906 -1.1719 14.7422 1.125 Q10.5938 3.4219 8.7422 7.5703 Q6.8906 11.7188 6.8906 19.0469 L6.8906 51.8594 L20.6094 51.8594 L20.6094 28.0312 Q20.6094 17.0938 21.3672 14.625 Q22.125 12.1562 24.125 10.7188 Q26.125 9.2812 29.2031 9.2812 Q32.7188 9.2812 35.5 11.2109 Q38.2812 13.1406 39.3047 15.9922 Q40.3281 18.8438 40.3281 29.9844 L40.3281 51.8594 L54.0469 51.8594 L54.0469 0 L41.3125 0 Z"
/><glyph unicode="g" horiz-adv-x="61.083984" d="M5.9062 -3.4219 L21.5781 -5.3281 Q21.9688 -8.0625 23.3906 -9.0781 Q25.3438 -10.5469 29.5469 -10.5469 Q34.9062 -10.5469 37.5938 -8.9375 Q39.4062 -7.8594 40.3281 -5.4688 Q40.9688 -3.7656 40.9688 0.8281 L40.9688 8.4062 Q34.8125 0 25.4375 0 Q14.9844 0 8.8906 8.8438 Q4.1094 15.8281 4.1094 26.2188 Q4.1094 39.2656 10.3828 46.1484 Q16.6562 53.0312 25.9844 53.0312 Q35.5938 53.0312 41.8438 44.5781 L41.8438 51.8594 L54.6875 51.8594 L54.6875 5.3281 Q54.6875 -3.8594 53.1719 -8.3984 Q51.6562 -12.9375 48.9219 -15.5234 Q46.1875 -18.1094 41.625 -19.5781 Q37.0625 -21.0469 30.0781 -21.0469 Q16.8906 -21.0469 11.375 -16.5312 Q5.8594 -12.0156 5.8594 -5.0781 Q5.8594 -4.3906 5.9062 -3.4219 ZM18.1719 27 Q18.1719 18.75 21.3672 14.9141 Q24.5625 11.0781 29.25 11.0781 Q34.2812 11.0781 37.75 15.0156 Q41.2188 18.9531 41.2188 26.6562 Q41.2188 34.7188 37.8984 38.625 Q34.5781 42.5312 29.5 42.5312 Q24.5625 42.5312 21.3672 38.6953 Q18.1719 34.8594 18.1719 27 Z"
/><glyph unicode="l" horiz-adv-x="27.783203" d="M7.1719 0 L7.1719 71.5781 L20.9062 71.5781 L20.9062 0 L7.1719 0 Z"
/><glyph unicode="h" horiz-adv-x="61.083984" d="M20.8438 71.5781 L20.8438 45.2656 Q27.4844 53.0312 36.7188 53.0312 Q41.4531 53.0312 45.2656 51.2734 Q49.0781 49.5156 51.0078 46.7812 Q52.9375 44.0469 53.6406 40.7266 Q54.3438 37.4062 54.3438 30.4219 L54.3438 0 L40.625 0 L40.625 27.3906 Q40.625 35.5469 39.8438 37.7422 Q39.0625 39.9375 37.0859 41.2344 Q35.1094 42.5312 32.125 42.5312 Q28.7188 42.5312 26.0312 40.8672 Q23.3438 39.2031 22.0938 35.8594 Q20.8438 32.5156 20.8438 25.9844 L20.8438 0 L7.125 0 L7.125 71.5781 L20.8438 71.5781 Z"
/><glyph unicode="f" horiz-adv-x="33.30078" d="M1.1719 51.8594 L8.7969 51.8594 L8.7969 55.7656 Q8.7969 62.3125 10.1875 65.5312 Q11.5781 68.75 15.3125 70.7734 Q19.0469 72.7969 24.75 72.7969 Q30.6094 72.7969 36.2344 71.0469 L34.375 61.4688 Q31.1094 62.25 28.0781 62.25 Q25.0938 62.25 23.8047 60.8594 Q22.5156 59.4688 22.5156 55.5156 L22.5156 51.8594 L32.7656 51.8594 L32.7656 41.0625 L22.5156 41.0625 L22.5156 0 L8.7969 0 L8.7969 41.0625 L1.1719 41.0625 L1.1719 51.8594 Z"
/><glyph unicode="o" horiz-adv-x="61.083984" d="M4 26.6562 Q4 33.5 7.375 39.8984 Q10.75 46.2969 16.9219 49.6641 Q23.0938 53.0312 30.7188 53.0312 Q42.4844 53.0312 50 45.3906 Q57.5156 37.75 57.5156 26.0781 Q57.5156 14.3125 49.9219 6.5703 Q42.3281 -1.1719 30.8125 -1.1719 Q23.6875 -1.1719 17.2188 2.0547 Q10.75 5.2812 7.375 11.5 Q4 17.7188 4 26.6562 ZM18.0625 25.9219 Q18.0625 18.2188 21.7266 14.1172 Q25.3906 10.0156 30.7656 10.0156 Q36.1406 10.0156 39.7734 14.1172 Q43.4062 18.2188 43.4062 26.0312 Q43.4062 33.6406 39.7734 37.7422 Q36.1406 41.8438 30.7656 41.8438 Q25.3906 41.8438 21.7266 37.7422 Q18.0625 33.6406 18.0625 25.9219 Z"
/><glyph unicode=" " horiz-adv-x="27.783203" d=""
/><glyph unicode="y" horiz-adv-x="55.615234" d="M0.6875 51.8594 L15.2812 51.8594 L27.6875 15.0469 L39.7969 51.8594 L54 51.8594 L35.6875 1.9531 L32.4219 -7.0781 Q30.6094 -11.625 28.9766 -14.0156 Q27.3438 -16.4062 25.2188 -17.8984 Q23.0938 -19.3906 19.9922 -20.2188 Q16.8906 -21.0469 12.9844 -21.0469 Q9.0312 -21.0469 5.2188 -20.2188 L4 -9.4688 Q7.2344 -10.1094 9.8125 -10.1094 Q14.5938 -10.1094 16.8906 -7.3047 Q19.1875 -4.5 20.4062 -0.1406 L0.6875 51.8594 Z"
/><glyph unicode="i" horiz-adv-x="27.783203" d="M7.1719 58.8906 L7.1719 71.5781 L20.9062 71.5781 L20.9062 58.8906 L7.1719 58.8906 ZM7.1719 0 L7.1719 51.8594 L20.9062 51.8594 L20.9062 0 L7.1719 0 Z"
/><glyph unicode="s" horiz-adv-x="55.615234" d="M2.3438 14.7969 L16.1094 16.8906 Q17 12.8906 19.6797 10.8125 Q22.3594 8.7344 27.2031 8.7344 Q32.5156 8.7344 35.2031 10.6875 Q37.0156 12.0625 37.0156 14.3594 Q37.0156 15.9219 36.0312 16.9375 Q35.0156 17.9219 31.4531 18.75 Q14.8438 22.4062 10.4062 25.4375 Q4.25 29.6406 4.25 37.1094 Q4.25 43.8438 9.5703 48.4375 Q14.8906 53.0312 26.0781 53.0312 Q36.7188 53.0312 41.8984 49.5625 Q47.0781 46.0938 49.0312 39.3125 L36.0781 36.9219 Q35.25 39.9375 32.9297 41.5547 Q30.6094 43.1719 26.3125 43.1719 Q20.9062 43.1719 18.5625 41.6562 Q17 40.5781 17 38.875 Q17 37.4062 18.3594 36.375 Q20.2188 35.0156 31.1797 32.5234 Q42.1406 30.0312 46.4844 26.4219 Q50.7812 22.75 50.7812 16.2188 Q50.7812 9.0781 44.8281 3.9531 Q38.875 -1.1719 27.2031 -1.1719 Q16.6094 -1.1719 10.4297 3.125 Q4.25 7.4219 2.3438 14.7969 Z"
/><glyph unicode="e" horiz-adv-x="55.615234" d="M37.2031 16.5 L50.875 14.2031 Q48.25 6.6875 42.5547 2.7578 Q36.8594 -1.1719 28.3281 -1.1719 Q14.7969 -1.1719 8.2969 7.6719 Q3.1719 14.75 3.1719 25.5312 Q3.1719 38.4219 9.9141 45.7266 Q16.6562 53.0312 26.9531 53.0312 Q38.5312 53.0312 45.2188 45.3906 Q51.9062 37.75 51.6094 21.9688 L17.2344 21.9688 Q17.3906 15.875 20.5625 12.4766 Q23.7344 9.0781 28.4688 9.0781 Q31.6875 9.0781 33.8828 10.8359 Q36.0781 12.5938 37.2031 16.5 ZM37.9844 30.375 Q37.8438 36.3281 34.9141 39.4297 Q31.9844 42.5312 27.7812 42.5312 Q23.2969 42.5312 20.3594 39.2656 Q17.4375 35.9844 17.4844 30.375 L37.9844 30.375 Z"
/><glyph unicode="t" horiz-adv-x="33.30078" d="M30.9531 51.8594 L30.9531 40.9219 L21.5781 40.9219 L21.5781 20.0156 Q21.5781 13.6719 21.8516 12.625 Q22.125 11.5781 23.0781 10.8906 Q24.0312 10.2031 25.3906 10.2031 Q27.2969 10.2031 30.9062 11.5312 L32.0781 0.875 Q27.2969 -1.1719 21.2344 -1.1719 Q17.5312 -1.1719 14.5547 0.0703 Q11.5781 1.3125 10.1875 3.2969 Q8.7969 5.2812 8.25 8.6406 Q7.8125 11.0312 7.8125 18.3125 L7.8125 40.9219 L1.5156 40.9219 L1.5156 51.8594 L7.8125 51.8594 L7.8125 62.1562 L21.5781 70.1719 L21.5781 51.8594 L30.9531 51.8594 Z"
/><glyph unicode="n" horiz-adv-x="61.083984" d="M54.3438 0 L40.625 0 L40.625 26.4688 Q40.625 34.8594 39.75 37.3281 Q38.875 39.7969 36.8906 41.1641 Q34.9062 42.5312 32.125 42.5312 Q28.5625 42.5312 25.7344 40.5781 Q22.9062 38.625 21.8516 35.3984 Q20.7969 32.1719 20.7969 23.4844 L20.7969 0 L7.0781 0 L7.0781 51.8594 L19.8281 51.8594 L19.8281 44.2344 Q26.6094 53.0312 36.9219 53.0312 Q41.4531 53.0312 45.2109 51.3906 Q48.9688 49.75 50.8984 47.2109 Q52.8281 44.6719 53.5859 41.4531 Q54.3438 38.2344 54.3438 32.2344 L54.3438 0 Z"
/><glyph unicode="I" horiz-adv-x="27.783203" d="M6.8438 0 L6.8438 71.5781 L21.2969 71.5781 L21.2969 0 L6.8438 0 Z"
/></font
><font horiz-adv-x="75.0" id="font2"
><font-face ascent="100.53711" descent="21.972656" units-per-em="100" style="font-style:normal; font-family:Dialog; font-weight:normal;"
/><missing-glyph horiz-adv-x="75.0" d="M12.5 0 L12.5 62.5 L62.5 62.5 L62.5 0 L12.5 0 ZM14.0625 1.5625 L60.9375 1.5625 L60.9375 60.9375 L14.0625 60.9375 L14.0625 1.5625 Z"
/><glyph unicode="1" horiz-adv-x="55.615234" d="M37.25 0 L28.4688 0 L28.4688 56 Q25.2969 52.9844 20.1406 49.9531 Q14.9844 46.9219 10.8906 45.4062 L10.8906 53.9062 Q18.2656 57.375 23.7812 62.3047 Q29.2969 67.2344 31.5938 71.875 L37.25 71.875 L37.25 0 Z"
/><glyph unicode="2" horiz-adv-x="55.615234" d="M50.3438 8.4531 L50.3438 0 L3.0312 0 Q2.9375 3.1719 4.0469 6.1094 Q5.8594 10.9375 9.8359 15.625 Q13.8125 20.3125 21.3438 26.4688 Q33.0156 36.0312 37.1172 41.625 Q41.2188 47.2188 41.2188 52.2031 Q41.2188 57.4219 37.4766 61.0078 Q33.7344 64.5938 27.7344 64.5938 Q21.3906 64.5938 17.5781 60.7891 Q13.7656 56.9844 13.7188 50.25 L4.6875 51.1719 Q5.6094 61.2812 11.6641 66.5781 Q17.7188 71.875 27.9375 71.875 Q38.2344 71.875 44.2422 66.1641 Q50.25 60.4531 50.25 52 Q50.25 47.7031 48.4922 43.5547 Q46.7344 39.4062 42.6562 34.8125 Q38.5781 30.2188 29.1094 22.2188 Q21.1875 15.5781 18.9453 13.2109 Q16.7031 10.8438 15.2344 8.4531 L50.3438 8.4531 Z"
/><glyph unicode="3" horiz-adv-x="55.615234" d="M4.2031 18.8906 L12.9844 20.0625 Q14.5 12.5938 18.1406 9.2969 Q21.7812 6 27 6 Q33.2031 6 37.4766 10.2969 Q41.75 14.5938 41.75 20.9531 Q41.75 27 37.7969 30.9297 Q33.8438 34.8594 27.7344 34.8594 Q25.25 34.8594 21.5312 33.8906 L22.5156 41.6094 Q23.3906 41.5 23.9219 41.5 Q29.5469 41.5 34.0391 44.4297 Q38.5312 47.3594 38.5312 53.4688 Q38.5312 58.2969 35.2578 61.4766 Q31.9844 64.6562 26.8125 64.6562 Q21.6875 64.6562 18.2656 61.4297 Q14.8438 58.2031 13.875 51.7656 L5.0781 53.3281 Q6.6875 62.1562 12.3984 67.0156 Q18.1094 71.875 26.6094 71.875 Q32.4688 71.875 37.3984 69.3594 Q42.3281 66.8438 44.9453 62.5 Q47.5625 58.1562 47.5625 53.2656 Q47.5625 48.6406 45.0703 44.8281 Q42.5781 41.0156 37.7031 38.7656 Q44.0469 37.3125 47.5625 32.6953 Q51.0781 28.0781 51.0781 21.1406 Q51.0781 11.7656 44.2422 5.25 Q37.4062 -1.2656 26.9531 -1.2656 Q17.5312 -1.2656 11.3047 4.3516 Q5.0781 9.9688 4.2031 18.8906 Z"
/><glyph unicode="4" horiz-adv-x="55.615234" d="M32.3281 0 L32.3281 17.1406 L1.2656 17.1406 L1.2656 25.2031 L33.9375 71.5781 L41.1094 71.5781 L41.1094 25.2031 L50.7812 25.2031 L50.7812 17.1406 L41.1094 17.1406 L41.1094 0 L32.3281 0 ZM32.3281 25.2031 L32.3281 57.4688 L9.9062 25.2031 L32.3281 25.2031 Z"
/><glyph unicode="5" horiz-adv-x="55.615234" d="M4.1562 18.75 L13.375 19.5312 Q14.4062 12.7969 18.1406 9.3984 Q21.875 6 27.1562 6 Q33.5 6 37.8906 10.7891 Q42.2812 15.5781 42.2812 23.4844 Q42.2812 31 38.0625 35.3516 Q33.8438 39.7031 27 39.7031 Q22.75 39.7031 19.3359 37.7734 Q15.9219 35.8438 13.9688 32.7656 L5.7188 33.8438 L12.6406 70.6094 L48.25 70.6094 L48.25 62.2031 L19.6719 62.2031 L15.8281 42.9688 Q22.2656 47.4688 29.3438 47.4688 Q38.7188 47.4688 45.1641 40.9688 Q51.6094 34.4688 51.6094 24.2656 Q51.6094 14.5469 45.9531 7.4688 Q39.0625 -1.2188 27.1562 -1.2188 Q17.3906 -1.2188 11.2109 4.25 Q5.0312 9.7188 4.1562 18.75 Z"
/><glyph unicode="6" horiz-adv-x="55.615234" d="M49.75 54.0469 L41.0156 53.375 Q39.8438 58.5469 37.7031 60.8906 Q34.125 64.6562 28.9062 64.6562 Q24.7031 64.6562 21.5312 62.3125 Q17.3906 59.2812 14.9922 53.4688 Q12.5938 47.6562 12.5 36.9219 Q15.6719 41.75 20.2656 44.0938 Q24.8594 46.4375 29.8906 46.4375 Q38.6719 46.4375 44.8516 39.9688 Q51.0312 33.5 51.0312 23.25 Q51.0312 16.5 48.125 10.7188 Q45.2188 4.9375 40.1406 1.8594 Q35.0625 -1.2188 28.6094 -1.2188 Q17.625 -1.2188 10.6953 6.8594 Q3.7656 14.9375 3.7656 33.5 Q3.7656 54.25 11.4219 63.6719 Q18.1094 71.875 29.4375 71.875 Q37.8906 71.875 43.2891 67.1406 Q48.6875 62.4062 49.75 54.0469 ZM13.875 23.1875 Q13.875 18.6562 15.7969 14.5078 Q17.7188 10.3594 21.1875 8.1797 Q24.6562 6 28.4688 6 Q34.0312 6 38.0391 10.4922 Q42.0469 14.9844 42.0469 22.7031 Q42.0469 30.125 38.0859 34.3984 Q34.125 38.6719 28.125 38.6719 Q22.1719 38.6719 18.0234 34.3984 Q13.875 30.125 13.875 23.1875 Z"
/><glyph unicode="7" horiz-adv-x="55.615234" d="M4.7344 62.2031 L4.7344 70.6562 L51.0781 70.6562 L51.0781 63.8125 Q44.2344 56.5469 37.5234 44.4844 Q30.8125 32.4219 27.1562 19.6719 Q24.5156 10.6875 23.7812 0 L14.75 0 Q14.8906 8.4531 18.0625 20.4141 Q21.2344 32.375 27.1719 43.4844 Q33.1094 54.5938 39.7969 62.2031 L4.7344 62.2031 Z"
/><glyph unicode="8" horiz-adv-x="55.615234" d="M17.6719 38.8125 Q12.2031 40.8281 9.5703 44.5391 Q6.9375 48.25 6.9375 53.4219 Q6.9375 61.2344 12.5547 66.5547 Q18.1719 71.875 27.4844 71.875 Q36.8594 71.875 42.5781 66.4297 Q48.2969 60.9844 48.2969 53.1719 Q48.2969 48.1875 45.6797 44.5078 Q43.0625 40.8281 37.75 38.8125 Q44.3438 36.6719 47.7812 31.8828 Q51.2188 27.0938 51.2188 20.4531 Q51.2188 11.2812 44.7266 5.0312 Q38.2344 -1.2188 27.6406 -1.2188 Q17.0469 -1.2188 10.5469 5.0547 Q4.0469 11.3281 4.0469 20.7031 Q4.0469 27.6875 7.5938 32.3984 Q11.1406 37.1094 17.6719 38.8125 ZM15.9219 53.7188 Q15.9219 48.6406 19.1953 45.4141 Q22.4688 42.1875 27.6875 42.1875 Q32.7656 42.1875 36.0156 45.3828 Q39.2656 48.5781 39.2656 53.2188 Q39.2656 58.0625 35.9141 61.3594 Q32.5625 64.6562 27.5938 64.6562 Q22.5625 64.6562 19.2422 61.4297 Q15.9219 58.2031 15.9219 53.7188 ZM13.0938 20.6562 Q13.0938 16.8906 14.875 13.375 Q16.6562 9.8594 20.1719 7.9297 Q23.6875 6 27.7344 6 Q34.0312 6 38.1328 10.0547 Q42.2344 14.1094 42.2344 20.3594 Q42.2344 26.7031 38.0156 30.8594 Q33.7969 35.0156 27.4375 35.0156 Q21.2344 35.0156 17.1641 30.9141 Q13.0938 26.8125 13.0938 20.6562 Z"
/><glyph unicode="9" horiz-adv-x="55.615234" d="M5.4688 16.5469 L13.9219 17.3281 Q14.9844 11.375 18.0156 8.6875 Q21.0469 6 25.7812 6 Q29.8281 6 32.8828 7.8594 Q35.9375 9.7188 37.8906 12.8203 Q39.8438 15.9219 41.1641 21.1953 Q42.4844 26.4688 42.4844 31.9375 Q42.4844 32.5156 42.4375 33.6875 Q39.7969 29.5 35.2344 26.8828 Q30.6719 24.2656 25.3438 24.2656 Q16.4531 24.2656 10.3047 30.7109 Q4.1562 37.1562 4.1562 47.7031 Q4.1562 58.5938 10.5781 65.2344 Q17 71.875 26.6562 71.875 Q33.6406 71.875 39.4297 68.1172 Q45.2188 64.3594 48.2188 57.3984 Q51.2188 50.4375 51.2188 37.25 Q51.2188 23.5312 48.2422 15.4062 Q45.2656 7.2812 39.3828 3.0312 Q33.5 -1.2188 25.5938 -1.2188 Q17.1875 -1.2188 11.8672 3.4453 Q6.5469 8.1094 5.4688 16.5469 ZM41.4531 48.1406 Q41.4531 55.7188 37.4297 60.1562 Q33.4062 64.5938 27.7344 64.5938 Q21.875 64.5938 17.5312 59.8125 Q13.1875 55.0312 13.1875 47.4062 Q13.1875 40.5781 17.3125 36.3047 Q21.4375 32.0312 27.4844 32.0312 Q33.5938 32.0312 37.5234 36.3047 Q41.4531 40.5781 41.4531 48.1406 Z"
/><glyph unicode="0" horiz-adv-x="55.615234" d="M4.1562 35.2969 Q4.1562 48 6.7656 55.7422 Q9.375 63.4844 14.5234 67.6797 Q19.6719 71.875 27.4844 71.875 Q33.25 71.875 37.5938 69.5547 Q41.9375 67.2344 44.7734 62.8672 Q47.6094 58.5 49.2188 52.2266 Q50.8281 45.9531 50.8281 35.2969 Q50.8281 22.7031 48.2422 14.9688 Q45.6562 7.2344 40.5078 3.0078 Q35.3594 -1.2188 27.4844 -1.2188 Q17.1406 -1.2188 11.2344 6.2031 Q4.1562 15.1406 4.1562 35.2969 ZM13.1875 35.2969 Q13.1875 17.6719 17.3125 11.8359 Q21.4375 6 27.4844 6 Q33.5469 6 37.6719 11.8594 Q41.7969 17.7188 41.7969 35.2969 Q41.7969 52.9844 37.6719 58.7891 Q33.5469 64.5938 27.3906 64.5938 Q21.3438 64.5938 17.7188 59.4688 Q13.1875 52.9375 13.1875 35.2969 Z"
/><glyph unicode="i" horiz-adv-x="22.216797" d="M6.6406 61.4688 L6.6406 71.5781 L15.4375 71.5781 L15.4375 61.4688 L6.6406 61.4688 ZM6.6406 0 L6.6406 51.8594 L15.4375 51.8594 L15.4375 0 L6.6406 0 Z"
/><glyph unicode="h" horiz-adv-x="55.615234" d="M6.5938 0 L6.5938 71.5781 L15.375 71.5781 L15.375 45.9062 Q21.5312 53.0312 30.9062 53.0312 Q36.6719 53.0312 40.9219 50.7578 Q45.1719 48.4844 47 44.4844 Q48.8281 40.4844 48.8281 32.8594 L48.8281 0 L40.0469 0 L40.0469 32.8594 Q40.0469 39.4531 37.1875 42.4531 Q34.3281 45.4531 29.1094 45.4531 Q25.2031 45.4531 21.7578 43.4297 Q18.3125 41.4062 16.8438 37.9375 Q15.375 34.4688 15.375 28.375 L15.375 0 L6.5938 0 Z"
/><glyph unicode="P" horiz-adv-x="66.69922" d="M7.7188 0 L7.7188 71.5781 L34.7188 71.5781 Q41.8438 71.5781 45.6094 70.9062 Q50.875 70.0156 54.4453 67.5547 Q58.0156 65.0938 60.1875 60.6484 Q62.3594 56.2031 62.3594 50.875 Q62.3594 41.75 56.5469 35.4297 Q50.7344 29.1094 35.5469 29.1094 L17.1875 29.1094 L17.1875 0 L7.7188 0 ZM17.1875 37.5469 L35.6875 37.5469 Q44.875 37.5469 48.7344 40.9688 Q52.5938 44.3906 52.5938 50.5938 Q52.5938 55.0781 50.3203 58.2734 Q48.0469 61.4688 44.3438 62.5 Q41.9375 63.1406 35.5 63.1406 L17.1875 63.1406 L17.1875 37.5469 Z"
/><glyph unicode="." horiz-adv-x="27.783203" d="M9.0781 0 L9.0781 10.0156 L19.0938 10.0156 L19.0938 0 L9.0781 0 Z"
/><glyph unicode="s" horiz-adv-x="50.0" d="M3.0781 15.4844 L11.7656 16.8438 Q12.5 11.625 15.8438 8.8438 Q19.1875 6.0625 25.2031 6.0625 Q31.25 6.0625 34.1797 8.5234 Q37.1094 10.9844 37.1094 14.3125 Q37.1094 17.2812 34.5156 19 Q32.7188 20.1719 25.5312 21.9688 Q15.875 24.4219 12.1406 26.2031 Q8.4062 27.9844 6.4766 31.1328 Q4.5469 34.2812 4.5469 38.0938 Q4.5469 41.5469 6.1328 44.5078 Q7.7188 47.4688 10.4531 49.4219 Q12.5 50.9219 16.0391 51.9766 Q19.5781 53.0312 23.6406 53.0312 Q29.7344 53.0312 34.3516 51.2734 Q38.9688 49.5156 41.1641 46.5078 Q43.3594 43.5 44.1875 38.4844 L35.5938 37.3125 Q35.0156 41.3125 32.2031 43.5547 Q29.3906 45.7969 24.2656 45.7969 Q18.2188 45.7969 15.625 43.7969 Q13.0312 41.7969 13.0312 39.1094 Q13.0312 37.4062 14.1094 36.0312 Q15.1875 34.625 17.4844 33.6875 Q18.7969 33.2031 25.25 31.4531 Q34.5781 28.9531 38.2578 27.3672 Q41.9375 25.7812 44.0391 22.7578 Q46.1406 19.7344 46.1406 15.2344 Q46.1406 10.8438 43.5781 6.9609 Q41.0156 3.0781 36.1797 0.9531 Q31.3438 -1.1719 25.25 -1.1719 Q15.1406 -1.1719 9.8438 3.0312 Q4.5469 7.2344 3.0781 15.4844 Z"
/><glyph unicode="e" horiz-adv-x="55.615234" d="M42.0938 16.7031 L51.1719 15.5781 Q49.0312 7.625 43.2188 3.2266 Q37.4062 -1.1719 28.375 -1.1719 Q17 -1.1719 10.3281 5.8359 Q3.6562 12.8438 3.6562 25.4844 Q3.6562 38.5781 10.3984 45.8047 Q17.1406 53.0312 27.875 53.0312 Q38.2812 53.0312 44.875 45.9531 Q51.4688 38.875 51.4688 26.0312 Q51.4688 25.25 51.4219 23.6875 L12.75 23.6875 Q13.2344 15.1406 17.5781 10.6016 Q21.9219 6.0625 28.4219 6.0625 Q33.25 6.0625 36.6719 8.6016 Q40.0938 11.1406 42.0938 16.7031 ZM13.2344 30.9062 L42.1875 30.9062 Q41.6094 37.4531 38.875 40.7188 Q34.6719 45.7969 27.9844 45.7969 Q21.9219 45.7969 17.7969 41.75 Q13.6719 37.7031 13.2344 30.9062 Z"
/><glyph unicode="t" horiz-adv-x="27.783203" d="M25.7812 7.8594 L27.0469 0.0938 Q23.3438 -0.6875 20.4062 -0.6875 Q15.625 -0.6875 12.9922 0.8281 Q10.3594 2.3438 9.2812 4.8125 Q8.2031 7.2812 8.2031 15.1875 L8.2031 45.0156 L1.7656 45.0156 L1.7656 51.8594 L8.2031 51.8594 L8.2031 64.7031 L16.9375 69.9688 L16.9375 51.8594 L25.7812 51.8594 L25.7812 45.0156 L16.9375 45.0156 L16.9375 14.7031 Q16.9375 10.9375 17.4062 9.8672 Q17.875 8.7969 18.9219 8.1562 Q19.9688 7.5156 21.9219 7.5156 Q23.3906 7.5156 25.7812 7.8594 Z"
/><glyph unicode="n" horiz-adv-x="55.615234" d="M6.5938 0 L6.5938 51.8594 L14.5 51.8594 L14.5 44.4844 Q20.2188 53.0312 31 53.0312 Q35.6875 53.0312 39.625 51.3438 Q43.5625 49.6562 45.5156 46.9219 Q47.4688 44.1875 48.25 40.4375 Q48.7344 37.9844 48.7344 31.8906 L48.7344 0 L39.9375 0 L39.9375 31.5469 Q39.9375 36.9219 38.9141 39.5781 Q37.8906 42.2344 35.2812 43.8203 Q32.6719 45.4062 29.1562 45.4062 Q23.5312 45.4062 19.4531 41.8438 Q15.375 38.2812 15.375 28.3281 L15.375 0 L6.5938 0 Z"
/><glyph unicode="I" horiz-adv-x="27.783203" d="M9.3281 0 L9.3281 71.5781 L18.7969 71.5781 L18.7969 0 L9.3281 0 Z"
/><glyph unicode="d" horiz-adv-x="55.615234" d="M40.2344 0 L40.2344 6.5469 Q35.2969 -1.1719 25.7344 -1.1719 Q19.5312 -1.1719 14.3281 2.25 Q9.125 5.6719 6.2734 11.7969 Q3.4219 17.9219 3.4219 25.875 Q3.4219 33.6406 6.0078 39.9688 Q8.5938 46.2969 13.7734 49.6641 Q18.9531 53.0312 25.3438 53.0312 Q30.0312 53.0312 33.6953 51.0547 Q37.3594 49.0781 39.6562 45.9062 L39.6562 71.5781 L48.3906 71.5781 L48.3906 0 L40.2344 0 ZM12.4531 25.875 Q12.4531 15.9219 16.6484 10.9922 Q20.8438 6.0625 26.5625 6.0625 Q32.3281 6.0625 36.3516 10.7734 Q40.375 15.4844 40.375 25.1406 Q40.375 35.7969 36.2734 40.7734 Q32.1719 45.75 26.1719 45.75 Q20.3125 45.75 16.3828 40.9688 Q12.4531 36.1875 12.4531 25.875 Z"
/><glyph unicode="u" horiz-adv-x="55.615234" d="M40.5781 0 L40.5781 7.625 Q34.5156 -1.1719 24.125 -1.1719 Q19.5312 -1.1719 15.5547 0.5859 Q11.5781 2.3438 9.6484 5.0078 Q7.7188 7.6719 6.9375 11.5312 Q6.3906 14.1094 6.3906 19.7344 L6.3906 51.8594 L15.1875 51.8594 L15.1875 23.0938 Q15.1875 16.2188 15.7188 13.8125 Q16.5469 10.3594 19.2344 8.375 Q21.9219 6.3906 25.875 6.3906 Q29.8281 6.3906 33.2969 8.4219 Q36.7656 10.4531 38.2109 13.9453 Q39.6562 17.4375 39.6562 24.0781 L39.6562 51.8594 L48.4375 51.8594 L48.4375 0 L40.5781 0 Z"
/><glyph unicode="o" horiz-adv-x="55.615234" d="M3.3281 25.9219 Q3.3281 40.3281 11.3281 47.2656 Q18.0156 53.0312 27.6406 53.0312 Q38.3281 53.0312 45.1172 46.0234 Q51.9062 39.0156 51.9062 26.6562 Q51.9062 16.6562 48.9062 10.9141 Q45.9062 5.1719 40.1641 2 Q34.4219 -1.1719 27.6406 -1.1719 Q16.75 -1.1719 10.0391 5.8125 Q3.3281 12.7969 3.3281 25.9219 ZM12.3594 25.9219 Q12.3594 15.9688 16.7031 11.0156 Q21.0469 6.0625 27.6406 6.0625 Q34.1875 6.0625 38.5312 11.0391 Q42.875 16.0156 42.875 26.2188 Q42.875 35.8438 38.5 40.7969 Q34.125 45.75 27.6406 45.75 Q21.0469 45.75 16.7031 40.8203 Q12.3594 35.8906 12.3594 25.9219 Z"
/><glyph unicode="F" horiz-adv-x="61.083984" d="M8.2031 0 L8.2031 71.5781 L56.5 71.5781 L56.5 63.1406 L17.6719 63.1406 L17.6719 40.9688 L51.2656 40.9688 L51.2656 32.5156 L17.6719 32.5156 L17.6719 0 L8.2031 0 Z"
/></font
></defs
><g style="fill:white; stroke:white;"
><rect x="0" y="0" width="700" style="clip-path:url(#clipPath1); stroke:none;" height="525"
/></g
><g style="fill:white; text-rendering:optimizeSpeed; color-rendering:optimizeSpeed; image-rendering:optimizeSpeed; shape-rendering:crispEdges; stroke:white; color-interpolation:sRGB;"
><rect x="0" width="700" height="525" y="0" style="stroke:none;"
/><path style="stroke:none;" d="M91 467 L634 467 L634 39 L91 39 Z"
/></g
><g transform="translate(362.5003,36.25)" style="font-size:18.3333px; text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; color-interpolation:linearRGB; font-weight:bold;"
><text x="-129" xml:space="preserve" y="-5" style="stroke:none;"
>Intensity of the lighting found</text
></g
><g style="stroke-linecap:butt; fill:rgb(38,38,38); text-rendering:geometricPrecision; image-rendering:optimizeQuality; color-rendering:optimizeQuality; stroke-linejoin:round; stroke:rgb(38,38,38); color-interpolation:linearRGB; stroke-width:0.8333;"
><line y2="467" style="fill:none;" x1="91" x2="634" y1="467"
/></g
><g style="fill:rgb(0,114,189); text-rendering:optimizeSpeed; color-rendering:optimizeSpeed; image-rendering:optimizeSpeed; shape-rendering:crispEdges; stroke:rgb(0,114,189); color-interpolation:sRGB;"
><path style="stroke:none;" d="M155.8358 467 L155.8358 295.8 L123.4179 295.8 L123.4179 467 ZM196.3582 467 L196.3582 303.1324 L163.9403 303.1324 L163.9403 467 ZM236.8806 467 L236.8806 287.3642 L204.4627 287.3642 L204.4627 467 ZM277.403 467 L277.403 297.3094 L244.9851 297.3094 L244.9851 467 ZM317.9254 467 L317.9254 307.5963 L285.5074 307.5963 L285.5074 467 ZM358.4478 467 L358.4478 293.4952 L326.0298 293.4952 L326.0298 467 ZM398.9702 467 L398.9702 94.9239 L366.5522 94.9239 L366.5522 467 ZM439.4925 467 L439.4925 90.7285 L407.0746 90.7285 L407.0746 467 ZM480.0149 467 L480.0149 258.5951 L447.597 258.5951 L447.597 467 ZM520.5373 467 L520.5373 175.5602 L488.1194 175.5602 L488.1194 467 ZM561.0597 467 L561.0597 107.1795 L528.6418 107.1795 L528.6418 467 ZM601.5821 467 L601.5821 309.1565 L569.1642 309.1565 L569.1642 467 Z"
/></g
><g style="text-rendering:geometricPrecision; stroke-width:0.8333; color-interpolation:linearRGB; color-rendering:optimizeQuality; stroke-linecap:butt; image-rendering:optimizeQuality;"
><path d="M123.4179 467 L123.4179 295.8 L155.8358 295.8 L155.8358 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M163.9403 467 L163.9403 303.1324 L196.3582 303.1324 L196.3582 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M204.4627 467 L204.4627 287.3642 L236.8806 287.3642 L236.8806 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M244.9851 467 L244.9851 297.3094 L277.403 297.3094 L277.403 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M285.5074 467 L285.5074 307.5963 L317.9254 307.5963 L317.9254 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M326.0298 467 L326.0298 293.4952 L358.4478 293.4952 L358.4478 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M366.5522 467 L366.5522 94.9239 L398.9702 94.9239 L398.9702 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M407.0746 467 L407.0746 90.7285 L439.4925 90.7285 L439.4925 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M447.597 467 L447.597 258.5951 L480.0149 258.5951 L480.0149 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M488.1194 467 L488.1194 175.5602 L520.5373 175.5602 L520.5373 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M528.6418 467 L528.6418 107.1795 L561.0597 107.1795 L561.0597 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M569.1642 467 L569.1642 309.1565 L601.5821 309.1565 L601.5821 467 Z" style="fill:none; fill-rule:evenodd;"
/></g
><g style="fill:rgb(38,38,38); text-rendering:geometricPrecision; image-rendering:optimizeQuality; color-rendering:optimizeQuality; stroke-linejoin:round; stroke:rgb(38,38,38); color-interpolation:linearRGB; stroke-width:0.8333;"
><line y2="467" style="fill:none;" x1="91" x2="634" y1="467"
/><line y2="39" style="fill:none;" x1="91" x2="634" y1="39"
/><line y2="461.57" style="fill:none;" x1="139.6269" x2="139.6269" y1="467"
/><line y2="461.57" style="fill:none;" x1="180.1492" x2="180.1492" y1="467"
/><line y2="461.57" style="fill:none;" x1="220.6716" x2="220.6716" y1="467"
/><line y2="461.57" style="fill:none;" x1="261.194" x2="261.194" y1="467"
/><line y2="461.57" style="fill:none;" x1="301.7164" x2="301.7164" y1="467"
/><line y2="461.57" style="fill:none;" x1="342.2388" x2="342.2388" y1="467"
/><line y2="461.57" style="fill:none;" x1="382.7612" x2="382.7612" y1="467"
/><line y2="461.57" style="fill:none;" x1="423.2836" x2="423.2836" y1="467"
/><line y2="461.57" style="fill:none;" x1="463.806" x2="463.806" y1="467"
/><line y2="461.57" style="fill:none;" x1="504.3284" x2="504.3284" y1="467"
/><line y2="461.57" style="fill:none;" x1="544.8508" x2="544.8508" y1="467"
/><line y2="461.57" style="fill:none;" x1="585.3731" x2="585.3731" y1="467"
/><line y2="44.43" style="fill:none;" x1="139.6269" x2="139.6269" y1="39"
/><line y2="44.43" style="fill:none;" x1="180.1492" x2="180.1492" y1="39"
/><line y2="44.43" style="fill:none;" x1="220.6716" x2="220.6716" y1="39"
/><line y2="44.43" style="fill:none;" x1="261.194" x2="261.194" y1="39"
/><line y2="44.43" style="fill:none;" x1="301.7164" x2="301.7164" y1="39"
/><line y2="44.43" style="fill:none;" x1="342.2388" x2="342.2388" y1="39"
/><line y2="44.43" style="fill:none;" x1="382.7612" x2="382.7612" y1="39"
/><line y2="44.43" style="fill:none;" x1="423.2836" x2="423.2836" y1="39"
/><line y2="44.43" style="fill:none;" x1="463.806" x2="463.806" y1="39"
/><line y2="44.43" style="fill:none;" x1="504.3284" x2="504.3284" y1="39"
/><line y2="44.43" style="fill:none;" x1="544.8508" x2="544.8508" y1="39"
/><line y2="44.43" style="fill:none;" x1="585.3731" x2="585.3731" y1="39"
/></g
><g transform="translate(139.6269,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>1</text
></g
><g transform="translate(180.1492,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>2</text
></g
><g transform="translate(220.6716,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>3</text
></g
><g transform="translate(261.194,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>4</text
></g
><g transform="translate(301.7164,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>5</text
></g
><g transform="translate(342.2388,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>6</text
></g
><g transform="translate(382.7612,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>7</text
></g
><g transform="translate(423.2836,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>8</text
></g
><g transform="translate(463.806,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>9</text
></g
><g transform="translate(504.3284,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-9.5" xml:space="preserve" y="17" style="stroke:none;"
>10</text
></g
><g transform="translate(544.8508,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-9.5" xml:space="preserve" y="17" style="stroke:none;"
>11</text
></g
><g transform="translate(585.3731,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-9.5" xml:space="preserve" y="17" style="stroke:none;"
>12</text
></g
><g transform="translate(362.5002,496.3333)" style="font-size:18.3333px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-13.5" xml:space="preserve" y="19" style="stroke:none;"
>Phi</text
></g
><g style="fill:rgb(38,38,38); text-rendering:geometricPrecision; image-rendering:optimizeQuality; color-rendering:optimizeQuality; stroke-linejoin:round; stroke:rgb(38,38,38); color-interpolation:linearRGB; stroke-width:0.8333;"
><line y2="39" style="fill:none;" x1="91" x2="91" y1="467"
/><line y2="39" style="fill:none;" x1="634" x2="634" y1="467"
/><line y2="467" style="fill:none;" x1="91" x2="96.43" y1="467"
/><line y2="381.4" style="fill:none;" x1="91" x2="96.43" y1="381.4"
/><line y2="295.8" style="fill:none;" x1="91" x2="96.43" y1="295.8"
/><line y2="210.2" style="fill:none;" x1="91" x2="96.43" y1="210.2"
/><line y2="124.6" style="fill:none;" x1="91" x2="96.43" y1="124.6"
/><line y2="39" style="fill:none;" x1="91" x2="96.43" y1="39"
/><line y2="467" style="fill:none;" x1="634" x2="628.57" y1="467"
/><line y2="381.4" style="fill:none;" x1="634" x2="628.57" y1="381.4"
/><line y2="295.8" style="fill:none;" x1="634" x2="628.57" y1="295.8"
/><line y2="210.2" style="fill:none;" x1="634" x2="628.57" y1="210.2"
/><line y2="124.6" style="fill:none;" x1="634" x2="628.57" y1="124.6"
/><line y2="39" style="fill:none;" x1="634" x2="628.57" y1="39"
/></g
><g transform="translate(84.3333,467)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-10" xml:space="preserve" y="6.5" style="stroke:none;"
>0</text
></g
><g transform="translate(84.3333,381.4)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-24" xml:space="preserve" y="6.5" style="stroke:none;"
>0.5</text
></g
><g transform="translate(84.3333,295.8)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-10" xml:space="preserve" y="6.5" style="stroke:none;"
>1</text
></g
><g transform="translate(84.3333,210.2)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-24" xml:space="preserve" y="6.5" style="stroke:none;"
>1.5</text
></g
><g transform="translate(84.3333,124.6)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-10" xml:space="preserve" y="6.5" style="stroke:none;"
>2</text
></g
><g transform="translate(84.3333,39)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-24" xml:space="preserve" y="6.5" style="stroke:none;"
>2.5</text
></g
><g transform="translate(55.3333,252.9998) rotate(-90)" style="font-size:18.3333px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-41.5" xml:space="preserve" y="-5" style="stroke:none;"
>Intensities</text
></g
><g style="fill:white; text-rendering:optimizeSpeed; color-rendering:optimizeSpeed; image-rendering:optimizeSpeed; shape-rendering:crispEdges; stroke:white; color-interpolation:sRGB;"
><path style="stroke:none;" d="M621 77 L621 52 L514 52 L514 77 Z"
/></g
><g transform="translate(572.8876,64.5)" style="text-rendering:geometricPrecision; font-size:15px; color-interpolation:linearRGB; color-rendering:optimizeQuality; image-rendering:optimizeQuality;"
><text x="0" xml:space="preserve" y="6" style="stroke:none;"
>Found</text
></g
><g style="fill:rgb(0,114,189); text-rendering:optimizeSpeed; color-rendering:optimizeSpeed; image-rendering:optimizeSpeed; shape-rendering:crispEdges; stroke:rgb(0,114,189); color-interpolation:sRGB;"
><path style="stroke:none;" d="M569.1288 72 L569.1288 57 L519.0117 57 L519.0117 72 Z"
/></g
><g style="text-rendering:geometricPrecision; stroke-width:0.8333; color-interpolation:linearRGB; color-rendering:optimizeQuality; stroke-linecap:butt; image-rendering:optimizeQuality;"
><path d="M519.0117 72 L519.0117 57 L569.1288 57 L569.1288 72 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M514 77 L514 52 L621 52 L621 77 Z" style="fill:none; fill-rule:evenodd; stroke:rgb(38,38,38);"
/></g
></g
></svg
>

After

Width:  |  Height:  |  Size: 37 KiB

BIN
assets/image2_0_0.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 513 KiB

BIN
assets/image2_0_1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 899 KiB

BIN
assets/image2_0_2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 MiB

BIN
assets/image2_0_3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 KiB

BIN
assets/image2_0_4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

BIN
assets/image2_0_5.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

BIN
assets/image2_1_0.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 541 KiB

BIN
assets/image2_1_1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 KiB

BIN
assets/raph/auto_82.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 472 KiB

BIN
assets/raph/auto_91.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 580 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 2.2 MiB

BIN
assets/raph/matte_ball.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 118 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.5 MiB

BIN
assets/raph/results.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

1
assets/raph/schema.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 112 KiB

1
assets/raph/tableau.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 552 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

BIN
assets/stereo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

238
assets/stsernin.svg Normal file
View file

@ -0,0 +1,238 @@
<?xml version="1.0"?>
<!DOCTYPE svg PUBLIC '-//W3C//DTD SVG 1.0//EN'
'http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd'>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" style="fill-opacity:1; color-rendering:auto; color-interpolation:auto; text-rendering:auto; stroke:black; stroke-linecap:square; stroke-miterlimit:10; shape-rendering:auto; stroke-opacity:1; fill:black; stroke-dasharray:none; font-weight:normal; stroke-width:1; font-family:'Dialog'; font-style:normal; stroke-linejoin:miter; font-size:12px; stroke-dashoffset:0; image-rendering:auto;" width="700" height="525" xmlns="http://www.w3.org/2000/svg"
><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs"
/><g
><defs id="defs1"
><clipPath clipPathUnits="userSpaceOnUse" id="clipPath1"
><path d="M0 0 L700 0 L700 525 L0 525 L0 0 Z"
/></clipPath
><font horiz-adv-x="75.0" id="font1"
><font-face ascent="100.53711" descent="21.972656" units-per-em="100" style="font-style:normal; font-family:Dialog; font-weight:bold;"
/><missing-glyph horiz-adv-x="75.0" d="M12.5 0 L12.5 62.5 L62.5 62.5 L62.5 0 L12.5 0 ZM14.0625 1.5625 L60.9375 1.5625 L60.9375 60.9375 L14.0625 60.9375 L14.0625 1.5625 Z"
/><glyph unicode="d" horiz-adv-x="61.083984" d="M54.7344 0 L42 0 L42 7.625 Q38.8125 3.1719 34.4922 1 Q30.1719 -1.1719 25.7812 -1.1719 Q16.8438 -1.1719 10.4766 6.0312 Q4.1094 13.2344 4.1094 26.125 Q4.1094 39.3125 10.3047 46.1719 Q16.5 53.0312 25.9844 53.0312 Q34.6719 53.0312 41.0156 45.7969 L41.0156 71.5781 L54.7344 71.5781 L54.7344 0 ZM18.1094 27.0469 Q18.1094 18.75 20.4062 15.0469 Q23.7344 9.6719 29.6875 9.6719 Q34.4219 9.6719 37.7422 13.6953 Q41.0625 17.7188 41.0625 25.7344 Q41.0625 34.6719 37.8438 38.6016 Q34.625 42.5312 29.5938 42.5312 Q24.7031 42.5312 21.4062 38.6484 Q18.1094 34.7656 18.1094 27.0469 Z"
/><glyph unicode="u" horiz-adv-x="61.083984" d="M41.3125 0 L41.3125 7.7656 Q38.4844 3.6094 33.8672 1.2188 Q29.25 -1.1719 24.125 -1.1719 Q18.8906 -1.1719 14.7422 1.125 Q10.5938 3.4219 8.7422 7.5703 Q6.8906 11.7188 6.8906 19.0469 L6.8906 51.8594 L20.6094 51.8594 L20.6094 28.0312 Q20.6094 17.0938 21.3672 14.625 Q22.125 12.1562 24.125 10.7188 Q26.125 9.2812 29.2031 9.2812 Q32.7188 9.2812 35.5 11.2109 Q38.2812 13.1406 39.3047 15.9922 Q40.3281 18.8438 40.3281 29.9844 L40.3281 51.8594 L54.0469 51.8594 L54.0469 0 L41.3125 0 Z"
/><glyph unicode="g" horiz-adv-x="61.083984" d="M5.9062 -3.4219 L21.5781 -5.3281 Q21.9688 -8.0625 23.3906 -9.0781 Q25.3438 -10.5469 29.5469 -10.5469 Q34.9062 -10.5469 37.5938 -8.9375 Q39.4062 -7.8594 40.3281 -5.4688 Q40.9688 -3.7656 40.9688 0.8281 L40.9688 8.4062 Q34.8125 0 25.4375 0 Q14.9844 0 8.8906 8.8438 Q4.1094 15.8281 4.1094 26.2188 Q4.1094 39.2656 10.3828 46.1484 Q16.6562 53.0312 25.9844 53.0312 Q35.5938 53.0312 41.8438 44.5781 L41.8438 51.8594 L54.6875 51.8594 L54.6875 5.3281 Q54.6875 -3.8594 53.1719 -8.3984 Q51.6562 -12.9375 48.9219 -15.5234 Q46.1875 -18.1094 41.625 -19.5781 Q37.0625 -21.0469 30.0781 -21.0469 Q16.8906 -21.0469 11.375 -16.5312 Q5.8594 -12.0156 5.8594 -5.0781 Q5.8594 -4.3906 5.9062 -3.4219 ZM18.1719 27 Q18.1719 18.75 21.3672 14.9141 Q24.5625 11.0781 29.25 11.0781 Q34.2812 11.0781 37.75 15.0156 Q41.2188 18.9531 41.2188 26.6562 Q41.2188 34.7188 37.8984 38.625 Q34.5781 42.5312 29.5 42.5312 Q24.5625 42.5312 21.3672 38.6953 Q18.1719 34.8594 18.1719 27 Z"
/><glyph unicode="l" horiz-adv-x="27.783203" d="M7.1719 0 L7.1719 71.5781 L20.9062 71.5781 L20.9062 0 L7.1719 0 Z"
/><glyph unicode="h" horiz-adv-x="61.083984" d="M20.8438 71.5781 L20.8438 45.2656 Q27.4844 53.0312 36.7188 53.0312 Q41.4531 53.0312 45.2656 51.2734 Q49.0781 49.5156 51.0078 46.7812 Q52.9375 44.0469 53.6406 40.7266 Q54.3438 37.4062 54.3438 30.4219 L54.3438 0 L40.625 0 L40.625 27.3906 Q40.625 35.5469 39.8438 37.7422 Q39.0625 39.9375 37.0859 41.2344 Q35.1094 42.5312 32.125 42.5312 Q28.7188 42.5312 26.0312 40.8672 Q23.3438 39.2031 22.0938 35.8594 Q20.8438 32.5156 20.8438 25.9844 L20.8438 0 L7.125 0 L7.125 71.5781 L20.8438 71.5781 Z"
/><glyph unicode="f" horiz-adv-x="33.30078" d="M1.1719 51.8594 L8.7969 51.8594 L8.7969 55.7656 Q8.7969 62.3125 10.1875 65.5312 Q11.5781 68.75 15.3125 70.7734 Q19.0469 72.7969 24.75 72.7969 Q30.6094 72.7969 36.2344 71.0469 L34.375 61.4688 Q31.1094 62.25 28.0781 62.25 Q25.0938 62.25 23.8047 60.8594 Q22.5156 59.4688 22.5156 55.5156 L22.5156 51.8594 L32.7656 51.8594 L32.7656 41.0625 L22.5156 41.0625 L22.5156 0 L8.7969 0 L8.7969 41.0625 L1.1719 41.0625 L1.1719 51.8594 Z"
/><glyph unicode="o" horiz-adv-x="61.083984" d="M4 26.6562 Q4 33.5 7.375 39.8984 Q10.75 46.2969 16.9219 49.6641 Q23.0938 53.0312 30.7188 53.0312 Q42.4844 53.0312 50 45.3906 Q57.5156 37.75 57.5156 26.0781 Q57.5156 14.3125 49.9219 6.5703 Q42.3281 -1.1719 30.8125 -1.1719 Q23.6875 -1.1719 17.2188 2.0547 Q10.75 5.2812 7.375 11.5 Q4 17.7188 4 26.6562 ZM18.0625 25.9219 Q18.0625 18.2188 21.7266 14.1172 Q25.3906 10.0156 30.7656 10.0156 Q36.1406 10.0156 39.7734 14.1172 Q43.4062 18.2188 43.4062 26.0312 Q43.4062 33.6406 39.7734 37.7422 Q36.1406 41.8438 30.7656 41.8438 Q25.3906 41.8438 21.7266 37.7422 Q18.0625 33.6406 18.0625 25.9219 Z"
/><glyph unicode=" " horiz-adv-x="27.783203" d=""
/><glyph unicode="y" horiz-adv-x="55.615234" d="M0.6875 51.8594 L15.2812 51.8594 L27.6875 15.0469 L39.7969 51.8594 L54 51.8594 L35.6875 1.9531 L32.4219 -7.0781 Q30.6094 -11.625 28.9766 -14.0156 Q27.3438 -16.4062 25.2188 -17.8984 Q23.0938 -19.3906 19.9922 -20.2188 Q16.8906 -21.0469 12.9844 -21.0469 Q9.0312 -21.0469 5.2188 -20.2188 L4 -9.4688 Q7.2344 -10.1094 9.8125 -10.1094 Q14.5938 -10.1094 16.8906 -7.3047 Q19.1875 -4.5 20.4062 -0.1406 L0.6875 51.8594 Z"
/><glyph unicode="i" horiz-adv-x="27.783203" d="M7.1719 58.8906 L7.1719 71.5781 L20.9062 71.5781 L20.9062 58.8906 L7.1719 58.8906 ZM7.1719 0 L7.1719 51.8594 L20.9062 51.8594 L20.9062 0 L7.1719 0 Z"
/><glyph unicode="s" horiz-adv-x="55.615234" d="M2.3438 14.7969 L16.1094 16.8906 Q17 12.8906 19.6797 10.8125 Q22.3594 8.7344 27.2031 8.7344 Q32.5156 8.7344 35.2031 10.6875 Q37.0156 12.0625 37.0156 14.3594 Q37.0156 15.9219 36.0312 16.9375 Q35.0156 17.9219 31.4531 18.75 Q14.8438 22.4062 10.4062 25.4375 Q4.25 29.6406 4.25 37.1094 Q4.25 43.8438 9.5703 48.4375 Q14.8906 53.0312 26.0781 53.0312 Q36.7188 53.0312 41.8984 49.5625 Q47.0781 46.0938 49.0312 39.3125 L36.0781 36.9219 Q35.25 39.9375 32.9297 41.5547 Q30.6094 43.1719 26.3125 43.1719 Q20.9062 43.1719 18.5625 41.6562 Q17 40.5781 17 38.875 Q17 37.4062 18.3594 36.375 Q20.2188 35.0156 31.1797 32.5234 Q42.1406 30.0312 46.4844 26.4219 Q50.7812 22.75 50.7812 16.2188 Q50.7812 9.0781 44.8281 3.9531 Q38.875 -1.1719 27.2031 -1.1719 Q16.6094 -1.1719 10.4297 3.125 Q4.25 7.4219 2.3438 14.7969 Z"
/><glyph unicode="e" horiz-adv-x="55.615234" d="M37.2031 16.5 L50.875 14.2031 Q48.25 6.6875 42.5547 2.7578 Q36.8594 -1.1719 28.3281 -1.1719 Q14.7969 -1.1719 8.2969 7.6719 Q3.1719 14.75 3.1719 25.5312 Q3.1719 38.4219 9.9141 45.7266 Q16.6562 53.0312 26.9531 53.0312 Q38.5312 53.0312 45.2188 45.3906 Q51.9062 37.75 51.6094 21.9688 L17.2344 21.9688 Q17.3906 15.875 20.5625 12.4766 Q23.7344 9.0781 28.4688 9.0781 Q31.6875 9.0781 33.8828 10.8359 Q36.0781 12.5938 37.2031 16.5 ZM37.9844 30.375 Q37.8438 36.3281 34.9141 39.4297 Q31.9844 42.5312 27.7812 42.5312 Q23.2969 42.5312 20.3594 39.2656 Q17.4375 35.9844 17.4844 30.375 L37.9844 30.375 Z"
/><glyph unicode="t" horiz-adv-x="33.30078" d="M30.9531 51.8594 L30.9531 40.9219 L21.5781 40.9219 L21.5781 20.0156 Q21.5781 13.6719 21.8516 12.625 Q22.125 11.5781 23.0781 10.8906 Q24.0312 10.2031 25.3906 10.2031 Q27.2969 10.2031 30.9062 11.5312 L32.0781 0.875 Q27.2969 -1.1719 21.2344 -1.1719 Q17.5312 -1.1719 14.5547 0.0703 Q11.5781 1.3125 10.1875 3.2969 Q8.7969 5.2812 8.25 8.6406 Q7.8125 11.0312 7.8125 18.3125 L7.8125 40.9219 L1.5156 40.9219 L1.5156 51.8594 L7.8125 51.8594 L7.8125 62.1562 L21.5781 70.1719 L21.5781 51.8594 L30.9531 51.8594 Z"
/><glyph unicode="n" horiz-adv-x="61.083984" d="M54.3438 0 L40.625 0 L40.625 26.4688 Q40.625 34.8594 39.75 37.3281 Q38.875 39.7969 36.8906 41.1641 Q34.9062 42.5312 32.125 42.5312 Q28.5625 42.5312 25.7344 40.5781 Q22.9062 38.625 21.8516 35.3984 Q20.7969 32.1719 20.7969 23.4844 L20.7969 0 L7.0781 0 L7.0781 51.8594 L19.8281 51.8594 L19.8281 44.2344 Q26.6094 53.0312 36.9219 53.0312 Q41.4531 53.0312 45.2109 51.3906 Q48.9688 49.75 50.8984 47.2109 Q52.8281 44.6719 53.5859 41.4531 Q54.3438 38.2344 54.3438 32.2344 L54.3438 0 Z"
/><glyph unicode="I" horiz-adv-x="27.783203" d="M6.8438 0 L6.8438 71.5781 L21.2969 71.5781 L21.2969 0 L6.8438 0 Z"
/></font
><font horiz-adv-x="75.0" id="font2"
><font-face ascent="100.53711" descent="21.972656" units-per-em="100" style="font-style:normal; font-family:Dialog; font-weight:normal;"
/><missing-glyph horiz-adv-x="75.0" d="M12.5 0 L12.5 62.5 L62.5 62.5 L62.5 0 L12.5 0 ZM14.0625 1.5625 L60.9375 1.5625 L60.9375 60.9375 L14.0625 60.9375 L14.0625 1.5625 Z"
/><glyph unicode="0" horiz-adv-x="55.615234" d="M4.1562 35.2969 Q4.1562 48 6.7656 55.7422 Q9.375 63.4844 14.5234 67.6797 Q19.6719 71.875 27.4844 71.875 Q33.25 71.875 37.5938 69.5547 Q41.9375 67.2344 44.7734 62.8672 Q47.6094 58.5 49.2188 52.2266 Q50.8281 45.9531 50.8281 35.2969 Q50.8281 22.7031 48.2422 14.9688 Q45.6562 7.2344 40.5078 3.0078 Q35.3594 -1.2188 27.4844 -1.2188 Q17.1406 -1.2188 11.2344 6.2031 Q4.1562 15.1406 4.1562 35.2969 ZM13.1875 35.2969 Q13.1875 17.6719 17.3125 11.8359 Q21.4375 6 27.4844 6 Q33.5469 6 37.6719 11.8594 Q41.7969 17.7188 41.7969 35.2969 Q41.7969 52.9844 37.6719 58.7891 Q33.5469 64.5938 27.3906 64.5938 Q21.3438 64.5938 17.7188 59.4688 Q13.1875 52.9375 13.1875 35.2969 Z"
/><glyph unicode="2" horiz-adv-x="55.615234" d="M50.3438 8.4531 L50.3438 0 L3.0312 0 Q2.9375 3.1719 4.0469 6.1094 Q5.8594 10.9375 9.8359 15.625 Q13.8125 20.3125 21.3438 26.4688 Q33.0156 36.0312 37.1172 41.625 Q41.2188 47.2188 41.2188 52.2031 Q41.2188 57.4219 37.4766 61.0078 Q33.7344 64.5938 27.7344 64.5938 Q21.3906 64.5938 17.5781 60.7891 Q13.7656 56.9844 13.7188 50.25 L4.6875 51.1719 Q5.6094 61.2812 11.6641 66.5781 Q17.7188 71.875 27.9375 71.875 Q38.2344 71.875 44.2422 66.1641 Q50.25 60.4531 50.25 52 Q50.25 47.7031 48.4922 43.5547 Q46.7344 39.4062 42.6562 34.8125 Q38.5781 30.2188 29.1094 22.2188 Q21.1875 15.5781 18.9453 13.2109 Q16.7031 10.8438 15.2344 8.4531 L50.3438 8.4531 Z"
/><glyph unicode="4" horiz-adv-x="55.615234" d="M32.3281 0 L32.3281 17.1406 L1.2656 17.1406 L1.2656 25.2031 L33.9375 71.5781 L41.1094 71.5781 L41.1094 25.2031 L50.7812 25.2031 L50.7812 17.1406 L41.1094 17.1406 L41.1094 0 L32.3281 0 ZM32.3281 25.2031 L32.3281 57.4688 L9.9062 25.2031 L32.3281 25.2031 Z"
/><glyph unicode="6" horiz-adv-x="55.615234" d="M49.75 54.0469 L41.0156 53.375 Q39.8438 58.5469 37.7031 60.8906 Q34.125 64.6562 28.9062 64.6562 Q24.7031 64.6562 21.5312 62.3125 Q17.3906 59.2812 14.9922 53.4688 Q12.5938 47.6562 12.5 36.9219 Q15.6719 41.75 20.2656 44.0938 Q24.8594 46.4375 29.8906 46.4375 Q38.6719 46.4375 44.8516 39.9688 Q51.0312 33.5 51.0312 23.25 Q51.0312 16.5 48.125 10.7188 Q45.2188 4.9375 40.1406 1.8594 Q35.0625 -1.2188 28.6094 -1.2188 Q17.625 -1.2188 10.6953 6.8594 Q3.7656 14.9375 3.7656 33.5 Q3.7656 54.25 11.4219 63.6719 Q18.1094 71.875 29.4375 71.875 Q37.8906 71.875 43.2891 67.1406 Q48.6875 62.4062 49.75 54.0469 ZM13.875 23.1875 Q13.875 18.6562 15.7969 14.5078 Q17.7188 10.3594 21.1875 8.1797 Q24.6562 6 28.4688 6 Q34.0312 6 38.0391 10.4922 Q42.0469 14.9844 42.0469 22.7031 Q42.0469 30.125 38.0859 34.3984 Q34.125 38.6719 28.125 38.6719 Q22.1719 38.6719 18.0234 34.3984 Q13.875 30.125 13.875 23.1875 Z"
/><glyph unicode="8" horiz-adv-x="55.615234" d="M17.6719 38.8125 Q12.2031 40.8281 9.5703 44.5391 Q6.9375 48.25 6.9375 53.4219 Q6.9375 61.2344 12.5547 66.5547 Q18.1719 71.875 27.4844 71.875 Q36.8594 71.875 42.5781 66.4297 Q48.2969 60.9844 48.2969 53.1719 Q48.2969 48.1875 45.6797 44.5078 Q43.0625 40.8281 37.75 38.8125 Q44.3438 36.6719 47.7812 31.8828 Q51.2188 27.0938 51.2188 20.4531 Q51.2188 11.2812 44.7266 5.0312 Q38.2344 -1.2188 27.6406 -1.2188 Q17.0469 -1.2188 10.5469 5.0547 Q4.0469 11.3281 4.0469 20.7031 Q4.0469 27.6875 7.5938 32.3984 Q11.1406 37.1094 17.6719 38.8125 ZM15.9219 53.7188 Q15.9219 48.6406 19.1953 45.4141 Q22.4688 42.1875 27.6875 42.1875 Q32.7656 42.1875 36.0156 45.3828 Q39.2656 48.5781 39.2656 53.2188 Q39.2656 58.0625 35.9141 61.3594 Q32.5625 64.6562 27.5938 64.6562 Q22.5625 64.6562 19.2422 61.4297 Q15.9219 58.2031 15.9219 53.7188 ZM13.0938 20.6562 Q13.0938 16.8906 14.875 13.375 Q16.6562 9.8594 20.1719 7.9297 Q23.6875 6 27.7344 6 Q34.0312 6 38.1328 10.0547 Q42.2344 14.1094 42.2344 20.3594 Q42.2344 26.7031 38.0156 30.8594 Q33.7969 35.0156 27.4375 35.0156 Q21.2344 35.0156 17.1641 30.9141 Q13.0938 26.8125 13.0938 20.6562 Z"
/><glyph unicode="1" horiz-adv-x="55.615234" d="M37.25 0 L28.4688 0 L28.4688 56 Q25.2969 52.9844 20.1406 49.9531 Q14.9844 46.9219 10.8906 45.4062 L10.8906 53.9062 Q18.2656 57.375 23.7812 62.3047 Q29.2969 67.2344 31.5938 71.875 L37.25 71.875 L37.25 0 Z"
/><glyph unicode="i" horiz-adv-x="22.216797" d="M6.6406 61.4688 L6.6406 71.5781 L15.4375 71.5781 L15.4375 61.4688 L6.6406 61.4688 ZM6.6406 0 L6.6406 51.8594 L15.4375 51.8594 L15.4375 0 L6.6406 0 Z"
/><glyph unicode="h" horiz-adv-x="55.615234" d="M6.5938 0 L6.5938 71.5781 L15.375 71.5781 L15.375 45.9062 Q21.5312 53.0312 30.9062 53.0312 Q36.6719 53.0312 40.9219 50.7578 Q45.1719 48.4844 47 44.4844 Q48.8281 40.4844 48.8281 32.8594 L48.8281 0 L40.0469 0 L40.0469 32.8594 Q40.0469 39.4531 37.1875 42.4531 Q34.3281 45.4531 29.1094 45.4531 Q25.2031 45.4531 21.7578 43.4297 Q18.3125 41.4062 16.8438 37.9375 Q15.375 34.4688 15.375 28.375 L15.375 0 L6.5938 0 Z"
/><glyph unicode="P" horiz-adv-x="66.69922" d="M7.7188 0 L7.7188 71.5781 L34.7188 71.5781 Q41.8438 71.5781 45.6094 70.9062 Q50.875 70.0156 54.4453 67.5547 Q58.0156 65.0938 60.1875 60.6484 Q62.3594 56.2031 62.3594 50.875 Q62.3594 41.75 56.5469 35.4297 Q50.7344 29.1094 35.5469 29.1094 L17.1875 29.1094 L17.1875 0 L7.7188 0 ZM17.1875 37.5469 L35.6875 37.5469 Q44.875 37.5469 48.7344 40.9688 Q52.5938 44.3906 52.5938 50.5938 Q52.5938 55.0781 50.3203 58.2734 Q48.0469 61.4688 44.3438 62.5 Q41.9375 63.1406 35.5 63.1406 L17.1875 63.1406 L17.1875 37.5469 Z"
/><glyph unicode="5" horiz-adv-x="55.615234" d="M4.1562 18.75 L13.375 19.5312 Q14.4062 12.7969 18.1406 9.3984 Q21.875 6 27.1562 6 Q33.5 6 37.8906 10.7891 Q42.2812 15.5781 42.2812 23.4844 Q42.2812 31 38.0625 35.3516 Q33.8438 39.7031 27 39.7031 Q22.75 39.7031 19.3359 37.7734 Q15.9219 35.8438 13.9688 32.7656 L5.7188 33.8438 L12.6406 70.6094 L48.25 70.6094 L48.25 62.2031 L19.6719 62.2031 L15.8281 42.9688 Q22.2656 47.4688 29.3438 47.4688 Q38.7188 47.4688 45.1641 40.9688 Q51.6094 34.4688 51.6094 24.2656 Q51.6094 14.5469 45.9531 7.4688 Q39.0625 -1.2188 27.1562 -1.2188 Q17.3906 -1.2188 11.2109 4.25 Q5.0312 9.7188 4.1562 18.75 Z"
/><glyph unicode="." horiz-adv-x="27.783203" d="M9.0781 0 L9.0781 10.0156 L19.0938 10.0156 L19.0938 0 L9.0781 0 Z"
/><glyph unicode="3" horiz-adv-x="55.615234" d="M4.2031 18.8906 L12.9844 20.0625 Q14.5 12.5938 18.1406 9.2969 Q21.7812 6 27 6 Q33.2031 6 37.4766 10.2969 Q41.75 14.5938 41.75 20.9531 Q41.75 27 37.7969 30.9297 Q33.8438 34.8594 27.7344 34.8594 Q25.25 34.8594 21.5312 33.8906 L22.5156 41.6094 Q23.3906 41.5 23.9219 41.5 Q29.5469 41.5 34.0391 44.4297 Q38.5312 47.3594 38.5312 53.4688 Q38.5312 58.2969 35.2578 61.4766 Q31.9844 64.6562 26.8125 64.6562 Q21.6875 64.6562 18.2656 61.4297 Q14.8438 58.2031 13.875 51.7656 L5.0781 53.3281 Q6.6875 62.1562 12.3984 67.0156 Q18.1094 71.875 26.6094 71.875 Q32.4688 71.875 37.3984 69.3594 Q42.3281 66.8438 44.9453 62.5 Q47.5625 58.1562 47.5625 53.2656 Q47.5625 48.6406 45.0703 44.8281 Q42.5781 41.0156 37.7031 38.7656 Q44.0469 37.3125 47.5625 32.6953 Q51.0781 28.0781 51.0781 21.1406 Q51.0781 11.7656 44.2422 5.25 Q37.4062 -1.2656 26.9531 -1.2656 Q17.5312 -1.2656 11.3047 4.3516 Q5.0781 9.9688 4.2031 18.8906 Z"
/><glyph unicode="s" horiz-adv-x="50.0" d="M3.0781 15.4844 L11.7656 16.8438 Q12.5 11.625 15.8438 8.8438 Q19.1875 6.0625 25.2031 6.0625 Q31.25 6.0625 34.1797 8.5234 Q37.1094 10.9844 37.1094 14.3125 Q37.1094 17.2812 34.5156 19 Q32.7188 20.1719 25.5312 21.9688 Q15.875 24.4219 12.1406 26.2031 Q8.4062 27.9844 6.4766 31.1328 Q4.5469 34.2812 4.5469 38.0938 Q4.5469 41.5469 6.1328 44.5078 Q7.7188 47.4688 10.4531 49.4219 Q12.5 50.9219 16.0391 51.9766 Q19.5781 53.0312 23.6406 53.0312 Q29.7344 53.0312 34.3516 51.2734 Q38.9688 49.5156 41.1641 46.5078 Q43.3594 43.5 44.1875 38.4844 L35.5938 37.3125 Q35.0156 41.3125 32.2031 43.5547 Q29.3906 45.7969 24.2656 45.7969 Q18.2188 45.7969 15.625 43.7969 Q13.0312 41.7969 13.0312 39.1094 Q13.0312 37.4062 14.1094 36.0312 Q15.1875 34.625 17.4844 33.6875 Q18.7969 33.2031 25.25 31.4531 Q34.5781 28.9531 38.2578 27.3672 Q41.9375 25.7812 44.0391 22.7578 Q46.1406 19.7344 46.1406 15.2344 Q46.1406 10.8438 43.5781 6.9609 Q41.0156 3.0781 36.1797 0.9531 Q31.3438 -1.1719 25.25 -1.1719 Q15.1406 -1.1719 9.8438 3.0312 Q4.5469 7.2344 3.0781 15.4844 Z"
/><glyph unicode="e" horiz-adv-x="55.615234" d="M42.0938 16.7031 L51.1719 15.5781 Q49.0312 7.625 43.2188 3.2266 Q37.4062 -1.1719 28.375 -1.1719 Q17 -1.1719 10.3281 5.8359 Q3.6562 12.8438 3.6562 25.4844 Q3.6562 38.5781 10.3984 45.8047 Q17.1406 53.0312 27.875 53.0312 Q38.2812 53.0312 44.875 45.9531 Q51.4688 38.875 51.4688 26.0312 Q51.4688 25.25 51.4219 23.6875 L12.75 23.6875 Q13.2344 15.1406 17.5781 10.6016 Q21.9219 6.0625 28.4219 6.0625 Q33.25 6.0625 36.6719 8.6016 Q40.0938 11.1406 42.0938 16.7031 ZM13.2344 30.9062 L42.1875 30.9062 Q41.6094 37.4531 38.875 40.7188 Q34.6719 45.7969 27.9844 45.7969 Q21.9219 45.7969 17.7969 41.75 Q13.6719 37.7031 13.2344 30.9062 Z"
/><glyph unicode="t" horiz-adv-x="27.783203" d="M25.7812 7.8594 L27.0469 0.0938 Q23.3438 -0.6875 20.4062 -0.6875 Q15.625 -0.6875 12.9922 0.8281 Q10.3594 2.3438 9.2812 4.8125 Q8.2031 7.2812 8.2031 15.1875 L8.2031 45.0156 L1.7656 45.0156 L1.7656 51.8594 L8.2031 51.8594 L8.2031 64.7031 L16.9375 69.9688 L16.9375 51.8594 L25.7812 51.8594 L25.7812 45.0156 L16.9375 45.0156 L16.9375 14.7031 Q16.9375 10.9375 17.4062 9.8672 Q17.875 8.7969 18.9219 8.1562 Q19.9688 7.5156 21.9219 7.5156 Q23.3906 7.5156 25.7812 7.8594 Z"
/><glyph unicode="n" horiz-adv-x="55.615234" d="M6.5938 0 L6.5938 51.8594 L14.5 51.8594 L14.5 44.4844 Q20.2188 53.0312 31 53.0312 Q35.6875 53.0312 39.625 51.3438 Q43.5625 49.6562 45.5156 46.9219 Q47.4688 44.1875 48.25 40.4375 Q48.7344 37.9844 48.7344 31.8906 L48.7344 0 L39.9375 0 L39.9375 31.5469 Q39.9375 36.9219 38.9141 39.5781 Q37.8906 42.2344 35.2812 43.8203 Q32.6719 45.4062 29.1562 45.4062 Q23.5312 45.4062 19.4531 41.8438 Q15.375 38.2812 15.375 28.3281 L15.375 0 L6.5938 0 Z"
/><glyph unicode="I" horiz-adv-x="27.783203" d="M9.3281 0 L9.3281 71.5781 L18.7969 71.5781 L18.7969 0 L9.3281 0 Z"
/><glyph unicode="d" horiz-adv-x="55.615234" d="M40.2344 0 L40.2344 6.5469 Q35.2969 -1.1719 25.7344 -1.1719 Q19.5312 -1.1719 14.3281 2.25 Q9.125 5.6719 6.2734 11.7969 Q3.4219 17.9219 3.4219 25.875 Q3.4219 33.6406 6.0078 39.9688 Q8.5938 46.2969 13.7734 49.6641 Q18.9531 53.0312 25.3438 53.0312 Q30.0312 53.0312 33.6953 51.0547 Q37.3594 49.0781 39.6562 45.9062 L39.6562 71.5781 L48.3906 71.5781 L48.3906 0 L40.2344 0 ZM12.4531 25.875 Q12.4531 15.9219 16.6484 10.9922 Q20.8438 6.0625 26.5625 6.0625 Q32.3281 6.0625 36.3516 10.7734 Q40.375 15.4844 40.375 25.1406 Q40.375 35.7969 36.2734 40.7734 Q32.1719 45.75 26.1719 45.75 Q20.3125 45.75 16.3828 40.9688 Q12.4531 36.1875 12.4531 25.875 Z"
/><glyph unicode="u" horiz-adv-x="55.615234" d="M40.5781 0 L40.5781 7.625 Q34.5156 -1.1719 24.125 -1.1719 Q19.5312 -1.1719 15.5547 0.5859 Q11.5781 2.3438 9.6484 5.0078 Q7.7188 7.6719 6.9375 11.5312 Q6.3906 14.1094 6.3906 19.7344 L6.3906 51.8594 L15.1875 51.8594 L15.1875 23.0938 Q15.1875 16.2188 15.7188 13.8125 Q16.5469 10.3594 19.2344 8.375 Q21.9219 6.3906 25.875 6.3906 Q29.8281 6.3906 33.2969 8.4219 Q36.7656 10.4531 38.2109 13.9453 Q39.6562 17.4375 39.6562 24.0781 L39.6562 51.8594 L48.4375 51.8594 L48.4375 0 L40.5781 0 Z"
/><glyph unicode="o" horiz-adv-x="55.615234" d="M3.3281 25.9219 Q3.3281 40.3281 11.3281 47.2656 Q18.0156 53.0312 27.6406 53.0312 Q38.3281 53.0312 45.1172 46.0234 Q51.9062 39.0156 51.9062 26.6562 Q51.9062 16.6562 48.9062 10.9141 Q45.9062 5.1719 40.1641 2 Q34.4219 -1.1719 27.6406 -1.1719 Q16.75 -1.1719 10.0391 5.8125 Q3.3281 12.7969 3.3281 25.9219 ZM12.3594 25.9219 Q12.3594 15.9688 16.7031 11.0156 Q21.0469 6.0625 27.6406 6.0625 Q34.1875 6.0625 38.5312 11.0391 Q42.875 16.0156 42.875 26.2188 Q42.875 35.8438 38.5 40.7969 Q34.125 45.75 27.6406 45.75 Q21.0469 45.75 16.7031 40.8203 Q12.3594 35.8906 12.3594 25.9219 Z"
/><glyph unicode="F" horiz-adv-x="61.083984" d="M8.2031 0 L8.2031 71.5781 L56.5 71.5781 L56.5 63.1406 L17.6719 63.1406 L17.6719 40.9688 L51.2656 40.9688 L51.2656 32.5156 L17.6719 32.5156 L17.6719 0 L8.2031 0 Z"
/></font
></defs
><g style="fill:white; stroke:white;"
><rect x="0" y="0" width="700" style="clip-path:url(#clipPath1); stroke:none;" height="525"
/></g
><g style="fill:white; text-rendering:optimizeSpeed; color-rendering:optimizeSpeed; image-rendering:optimizeSpeed; shape-rendering:crispEdges; stroke:white; color-interpolation:sRGB;"
><rect x="0" width="700" height="525" y="0" style="stroke:none;"
/><path style="stroke:none;" d="M91 467 L634 467 L634 39 L91 39 Z"
/></g
><g transform="translate(362.5004,36.25)" style="font-size:18.3333px; text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; color-interpolation:linearRGB; font-weight:bold;"
><text x="-129" xml:space="preserve" y="-5" style="stroke:none;"
>Intensity of the lighting found</text
></g
><g style="stroke-linecap:butt; fill:rgb(38,38,38); text-rendering:geometricPrecision; image-rendering:optimizeQuality; color-rendering:optimizeQuality; stroke-linejoin:round; stroke:rgb(38,38,38); color-interpolation:linearRGB; stroke-width:0.8333;"
><line y2="467" style="fill:none;" x1="91" x2="634" y1="467"
/></g
><g style="fill:rgb(0,114,189); text-rendering:optimizeSpeed; color-rendering:optimizeSpeed; image-rendering:optimizeSpeed; shape-rendering:crispEdges; stroke:rgb(0,114,189); color-interpolation:sRGB;"
><path style="stroke:none;" d="M138.2174 467 L138.2174 360 L114.6087 360 L114.6087 467 ZM167.7283 467 L167.7283 255.2027 L144.1196 255.2027 L144.1196 467 ZM197.2391 467 L197.2391 275.1297 L173.6304 275.1297 L173.6304 467 ZM226.75 467 L226.75 299.8094 L203.1413 299.8094 L203.1413 467 ZM256.2609 467 L256.2609 190.0198 L232.6522 190.0198 L232.6522 467 ZM285.7717 467 L285.7717 83.0609 L262.1631 83.0609 L262.1631 467 ZM315.2826 467 L315.2826 172.9771 L291.6739 172.9771 L291.6739 467 ZM344.7935 467 L344.7935 233.2285 L321.1848 233.2285 L321.1848 467 ZM374.3044 467 L374.3044 95.171 L350.6956 95.171 L350.6956 467 ZM403.8152 467 L403.8152 191.9037 L380.2065 191.9037 L380.2065 467 ZM433.3261 467 L433.3261 268.5251 L409.7174 268.5251 L409.7174 467 ZM462.8369 467 L462.8369 289.2213 L439.2283 289.2213 L439.2283 467 ZM492.3478 467 L492.3478 238.9993 L468.7391 238.9993 L468.7391 467 ZM521.8587 467 L521.8587 160.6384 L498.25 160.6384 L498.25 467 ZM551.3696 467 L551.3696 187.4662 L527.7609 187.4662 L527.7609 467 ZM580.8804 467 L580.8804 268.0008 L557.2717 268.0008 L557.2717 467 ZM610.3913 467 L610.3913 310.3849 L586.7826 310.3849 L586.7826 467 Z"
/></g
><g style="text-rendering:geometricPrecision; stroke-width:0.8333; color-interpolation:linearRGB; color-rendering:optimizeQuality; stroke-linecap:butt; image-rendering:optimizeQuality;"
><path d="M114.6087 467 L114.6087 360 L138.2174 360 L138.2174 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M144.1196 467 L144.1196 255.2027 L167.7283 255.2027 L167.7283 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M173.6304 467 L173.6304 275.1297 L197.2391 275.1297 L197.2391 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M203.1413 467 L203.1413 299.8094 L226.75 299.8094 L226.75 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M232.6522 467 L232.6522 190.0198 L256.2609 190.0198 L256.2609 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M262.1631 467 L262.1631 83.0609 L285.7717 83.0609 L285.7717 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M291.6739 467 L291.6739 172.9771 L315.2826 172.9771 L315.2826 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M321.1848 467 L321.1848 233.2285 L344.7935 233.2285 L344.7935 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M350.6956 467 L350.6956 95.171 L374.3044 95.171 L374.3044 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M380.2065 467 L380.2065 191.9037 L403.8152 191.9037 L403.8152 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M409.7174 467 L409.7174 268.5251 L433.3261 268.5251 L433.3261 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M439.2283 467 L439.2283 289.2213 L462.8369 289.2213 L462.8369 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M468.7391 467 L468.7391 238.9993 L492.3478 238.9993 L492.3478 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M498.25 467 L498.25 160.6384 L521.8587 160.6384 L521.8587 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M527.7609 467 L527.7609 187.4662 L551.3696 187.4662 L551.3696 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M557.2717 467 L557.2717 268.0008 L580.8804 268.0008 L580.8804 467 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M586.7826 467 L586.7826 310.3849 L610.3913 310.3849 L610.3913 467 Z" style="fill:none; fill-rule:evenodd;"
/></g
><g style="fill:rgb(38,38,38); text-rendering:geometricPrecision; image-rendering:optimizeQuality; color-rendering:optimizeQuality; stroke-linejoin:round; stroke:rgb(38,38,38); color-interpolation:linearRGB; stroke-width:0.8333;"
><line y2="467" style="fill:none;" x1="91" x2="634" y1="467"
/><line y2="39" style="fill:none;" x1="91" x2="634" y1="39"
/><line y2="461.57" style="fill:none;" x1="96.9022" x2="96.9022" y1="467"
/><line y2="461.57" style="fill:none;" x1="155.9239" x2="155.9239" y1="467"
/><line y2="461.57" style="fill:none;" x1="214.9456" x2="214.9456" y1="467"
/><line y2="461.57" style="fill:none;" x1="273.9674" x2="273.9674" y1="467"
/><line y2="461.57" style="fill:none;" x1="332.9891" x2="332.9891" y1="467"
/><line y2="461.57" style="fill:none;" x1="392.0109" x2="392.0109" y1="467"
/><line y2="461.57" style="fill:none;" x1="451.0326" x2="451.0326" y1="467"
/><line y2="461.57" style="fill:none;" x1="510.0544" x2="510.0544" y1="467"
/><line y2="461.57" style="fill:none;" x1="569.0761" x2="569.0761" y1="467"
/><line y2="461.57" style="fill:none;" x1="628.0978" x2="628.0978" y1="467"
/><line y2="44.43" style="fill:none;" x1="96.9022" x2="96.9022" y1="39"
/><line y2="44.43" style="fill:none;" x1="155.9239" x2="155.9239" y1="39"
/><line y2="44.43" style="fill:none;" x1="214.9456" x2="214.9456" y1="39"
/><line y2="44.43" style="fill:none;" x1="273.9674" x2="273.9674" y1="39"
/><line y2="44.43" style="fill:none;" x1="332.9891" x2="332.9891" y1="39"
/><line y2="44.43" style="fill:none;" x1="392.0109" x2="392.0109" y1="39"
/><line y2="44.43" style="fill:none;" x1="451.0326" x2="451.0326" y1="39"
/><line y2="44.43" style="fill:none;" x1="510.0544" x2="510.0544" y1="39"
/><line y2="44.43" style="fill:none;" x1="569.0761" x2="569.0761" y1="39"
/><line y2="44.43" style="fill:none;" x1="628.0978" x2="628.0978" y1="39"
/></g
><g transform="translate(96.9022,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>0</text
></g
><g transform="translate(155.9239,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>2</text
></g
><g transform="translate(214.9456,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>4</text
></g
><g transform="translate(273.9674,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>6</text
></g
><g transform="translate(332.9891,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-5" xml:space="preserve" y="17" style="stroke:none;"
>8</text
></g
><g transform="translate(392.0109,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-9.5" xml:space="preserve" y="17" style="stroke:none;"
>10</text
></g
><g transform="translate(451.0326,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-9.5" xml:space="preserve" y="17" style="stroke:none;"
>12</text
></g
><g transform="translate(510.0544,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-9.5" xml:space="preserve" y="17" style="stroke:none;"
>14</text
></g
><g transform="translate(569.0761,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-9.5" xml:space="preserve" y="17" style="stroke:none;"
>16</text
></g
><g transform="translate(628.0978,473.6667)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-9.5" xml:space="preserve" y="17" style="stroke:none;"
>18</text
></g
><g transform="translate(362.5003,496.3333)" style="font-size:18.3333px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-13.5" xml:space="preserve" y="19" style="stroke:none;"
>Phi</text
></g
><g style="fill:rgb(38,38,38); text-rendering:geometricPrecision; image-rendering:optimizeQuality; color-rendering:optimizeQuality; stroke-linejoin:round; stroke:rgb(38,38,38); color-interpolation:linearRGB; stroke-width:0.8333;"
><line y2="39" style="fill:none;" x1="91" x2="91" y1="467"
/><line y2="39" style="fill:none;" x1="634" x2="634" y1="467"
/><line y2="467" style="fill:none;" x1="91" x2="96.43" y1="467"
/><line y2="413.5" style="fill:none;" x1="91" x2="96.43" y1="413.5"
/><line y2="360" style="fill:none;" x1="91" x2="96.43" y1="360"
/><line y2="306.5" style="fill:none;" x1="91" x2="96.43" y1="306.5"
/><line y2="253" style="fill:none;" x1="91" x2="96.43" y1="253"
/><line y2="199.5" style="fill:none;" x1="91" x2="96.43" y1="199.5"
/><line y2="146" style="fill:none;" x1="91" x2="96.43" y1="146"
/><line y2="92.5" style="fill:none;" x1="91" x2="96.43" y1="92.5"
/><line y2="39" style="fill:none;" x1="91" x2="96.43" y1="39"
/><line y2="467" style="fill:none;" x1="634" x2="628.57" y1="467"
/><line y2="413.5" style="fill:none;" x1="634" x2="628.57" y1="413.5"
/><line y2="360" style="fill:none;" x1="634" x2="628.57" y1="360"
/><line y2="306.5" style="fill:none;" x1="634" x2="628.57" y1="306.5"
/><line y2="253" style="fill:none;" x1="634" x2="628.57" y1="253"
/><line y2="199.5" style="fill:none;" x1="634" x2="628.57" y1="199.5"
/><line y2="146" style="fill:none;" x1="634" x2="628.57" y1="146"
/><line y2="92.5" style="fill:none;" x1="634" x2="628.57" y1="92.5"
/><line y2="39" style="fill:none;" x1="634" x2="628.57" y1="39"
/></g
><g transform="translate(84.3333,467)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-10" xml:space="preserve" y="6.5" style="stroke:none;"
>0</text
></g
><g transform="translate(84.3333,413.5)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-24" xml:space="preserve" y="6.5" style="stroke:none;"
>0.5</text
></g
><g transform="translate(84.3333,360)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-10" xml:space="preserve" y="6.5" style="stroke:none;"
>1</text
></g
><g transform="translate(84.3333,306.5)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-24" xml:space="preserve" y="6.5" style="stroke:none;"
>1.5</text
></g
><g transform="translate(84.3333,253)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-10" xml:space="preserve" y="6.5" style="stroke:none;"
>2</text
></g
><g transform="translate(84.3333,199.5)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-24" xml:space="preserve" y="6.5" style="stroke:none;"
>2.5</text
></g
><g transform="translate(84.3333,146)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-10" xml:space="preserve" y="6.5" style="stroke:none;"
>3</text
></g
><g transform="translate(84.3333,92.5)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-24" xml:space="preserve" y="6.5" style="stroke:none;"
>3.5</text
></g
><g transform="translate(84.3333,39)" style="font-size:16.6667px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-10" xml:space="preserve" y="6.5" style="stroke:none;"
>4</text
></g
><g transform="translate(55.3333,252.9998) rotate(-90)" style="font-size:18.3333px; fill:rgb(38,38,38); text-rendering:geometricPrecision; color-rendering:optimizeQuality; image-rendering:optimizeQuality; stroke:rgb(38,38,38); color-interpolation:linearRGB;"
><text x="-41.5" xml:space="preserve" y="-5" style="stroke:none;"
>Intensities</text
></g
><g style="fill:white; text-rendering:optimizeSpeed; color-rendering:optimizeSpeed; image-rendering:optimizeSpeed; shape-rendering:crispEdges; stroke:white; color-interpolation:sRGB;"
><path style="stroke:none;" d="M621 77 L621 52 L514 52 L514 77 Z"
/></g
><g transform="translate(572.8876,64.5)" style="text-rendering:geometricPrecision; font-size:15px; color-interpolation:linearRGB; color-rendering:optimizeQuality; image-rendering:optimizeQuality;"
><text x="0" xml:space="preserve" y="6" style="stroke:none;"
>Found</text
></g
><g style="fill:rgb(0,114,189); text-rendering:optimizeSpeed; color-rendering:optimizeSpeed; image-rendering:optimizeSpeed; shape-rendering:crispEdges; stroke:rgb(0,114,189); color-interpolation:sRGB;"
><path style="stroke:none;" d="M569.1288 72 L569.1288 57 L519.0117 57 L519.0117 72 Z"
/></g
><g style="text-rendering:geometricPrecision; stroke-width:0.8333; color-interpolation:linearRGB; color-rendering:optimizeQuality; stroke-linecap:butt; image-rendering:optimizeQuality;"
><path d="M519.0117 72 L519.0117 57 L569.1288 57 L569.1288 72 Z" style="fill:none; fill-rule:evenodd;"
/><path d="M514 77 L514 52 L621 52 L621 77 Z" style="fill:none; fill-rule:evenodd; stroke:rgb(38,38,38);"
/></g
></g
></svg
>

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 792 KiB

View file

@ -1,39 +1,23 @@
{
"nodes": {
"flake-utils": {
"locked": {
"lastModified": 1676283394,
"narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1677932085,
"narHash": "sha256-+AB4dYllWig8iO6vAiGGYl0NEgmMgGHpy9gzWJ3322g=",
"owner": "NixOS",
"lastModified": 1678237502,
"narHash": "sha256-J4cAbmC9RK+Jus3U88WaxkTsnNlZSroE2xZ9A0rSxL4=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3c5319ad3aa51551182ac82ea17ab1c6b0f0df89",
"rev": "1eeea1f1922fb79a36008ba744310ccbf96130e2",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
}

View file

@ -1,13 +1,14 @@
{
description = "Proj long prez";
inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; };
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = { self, nixpkgs, flake-utils }:
flake-utils.lib.eachDefaultSystem (system:
let pkgs = nixpkgs.legacyPackages.${system};
in { devShell = pkgs.mkShell { buildInputs = with pkgs; [ nodejs ]; }; });
outputs = { self, nixpkgs }:
with nixpkgs.legacyPackages.x86_64-linux; {
devShell.x86_64-linux = mkShell {
buildInputs = [ nodejs chromium playwright playwright.browsers ];
shellHook = ''
export PLAYWRIGHT_BROWSERS_PATH=${playwright.browsers}
export PLAYWRIGHT_SKIP_VALIDATE_HOST_REQUIREMENTS=true
'';
};
};
}

6283
package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,10 +1,7 @@
{
"dependencies": {
"@slidev/cli": "^0.38.5",
"@slidev/cli": "^0.40.3",
"@slidev/theme-default": "^0.21.2",
"slidev-theme-academic": "^1.1.1"
},
"devDependencies": {
"playwright-chromium": "^1.30.0"
}
}
}

499
slides.md
View file

@ -1,11 +1,10 @@
---
theme: academic
class: text-white
coverAuthor: Laurent Fainsin, Pierre-Eliot Jourdan, Raphaëlle Monville-Letu, Jade Neav
coverBackgroundUrl: https://plus.unsplash.com/premium_photo-1673553304257-018c85e606f8?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8
coverBackgroundSource: unplash
coverBackgroundSourceUrl: https://unsplash.com/photos/g4I556WCJT0
coverDate: "2023-03-09"
coverDate: ""
themeConfig:
paginationX: r
paginationY: t
@ -14,10 +13,16 @@ themeConfig:
title: Projet Long
---
<h2 class="opacity-50" style="font-size: 1.9rem;">End of study project</h2>
<h1 style="font-size: 2.3rem;">Sphere detection and multimedia applications</h1>
<span class="absolute p-2 text-xs right-0 top-0 opacity-50">
2023-03-09
</span>
<span class="absolute bottom-12 opacity-50">
Laurent Fainsin, Pierre-Eliot Jourdan, Raphaëlle Monville-Letu, Jade Neav
</span>
---
# Contents
@ -27,7 +32,7 @@ title: Projet Long
- Types of spheres
- Automatic sphere detection
- Lighting intensity estimation
- Lightning direction estimation
- Lighting direction estimation
</div>
@ -61,7 +66,7 @@ class: text-white custombg
}
</style>
## Types of spheres
# Types of spheres
---
class: text-white custombg2
@ -84,7 +89,9 @@ class: text-white custombg2
## Acquisition techniques
<img src="/assets/capture_hdri.jpg" class="m-auto"/>
<div class="h-full flex items-center">
<img src="/assets/capture_hdri.jpg" class="m-auto"/>
</div>
<a href="https://www.youtube.com/watch?v=kwGZa5qTeAI" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Louis du Mont</a>
@ -99,6 +106,8 @@ class: text-white custombg2
<img src="/assets/image-027.png" class="m-auto w-full"/>
</div>
<a href="https://dl.acm.org/doi/pdf/10.1145/1103900.1103914" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">High Dynamic Range Imaging, Paul Debevec</a>
---
class: text-white custombg3
---
@ -136,7 +145,22 @@ class: text-white custombg4
---
# Automatic detection of spheres
# Automatic sphere detection
<div class="h-100 flex items-center text-2xl">
- Model
- Datasets
- Results
- Perspectives
</div>
<!--
So we have a few applications that use spheres, but if we actually want to perform them, we need to know the locations of said spheres.
Well, there is no known traditional method to directly detect spheres (especially chrome spheres) in images,
so we have no choice but to use deep neural networks.
-->
---
@ -146,29 +170,212 @@ class: text-white custombg4
<img src="/assets/DETR.png" class="m-auto"/>
</div>
<a href="https://arxiv.org/abs/2005.12872" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">End-to-End Object Detection with Transformers, arXiv:2005.12872
</a>
<a href="https://arxiv.org/abs/2005.12872" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">End-to-End Object Detection with Transformers, arXiv:2005.12872</a>
<!--
Let's do deep learning then !
First we need a model, for our problem we chose DETR, from the paper End-to-End Object Detection with Transformers,
published by facebook research in 2020.
We chose this model since it has proven itself to achieve state of the art performance without too much difficulty.
We also chose this model since it is quite recent, well supported by frameworks,
and mostly because there are publicly available pretrained weights of this model online.
And so here is the architecture of the model, a simple CNN backbone, followed by an encoder-decoder transformer, in turn followed by the prediction heads.
-->
---
## Datasets
## Datasets (1/4)
<div class="grid grid-cols-2 col-auto m-auto h-full">
<img src="/assets/antoine.webp" class="m-auto h-55"/>
<img src="/assets/illumination.webp" class="m-auto h-55"/>
<img src="/assets/compositing.webp" class="m-auto h-55"/>
<img src="/assets/render.webp" class="m-auto h-55"/>
<div class="h-full flex items-center">
<img src="/assets/antoine.webp" class="m-auto h-100"/>
</div>
<span class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Antoine Laurent</span>
<!--
Secondly we need data, and a lot if possible.
The first dataset we got our hands on were archeological photograph by Antoine Laurent for the purpose of 3D reconstruction for heritage preservation.
This dataset consists of ~1000 images of rocky things in front of rocky dark backgrounds. This dataset was a good start, but had a couple weaknesses. for example it only contained white matte sphere and red & black shiny spheres, no chrome spheres. Also since it was for 3D reconstruction lots of images were "the same" as only the direction of light varied, which made it very prone to overfitting.
-->
---
## Results
## Datasets (2/4)
<div class="h-full flex items-center">
<img src="/assets/illumination.webp" class="m-auto h-100"/>
</div>
<a href="https://projects.csail.mit.edu/illumination/" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">A Dataset of Multi-Illumination Images in the Wild</a>
<!--
The second dataset we got our hands on is similar to the first one. It is from the paper "A Dataset of Multi-Illumination Images in the Wild" whose purpose was to relight a scene, so nothing to do with what we wanna do, but at least each image contained a chrome and grey sphere. The main weakness of this dataset was that it only had indoor images.
We trained a first model on these two datasets, and it didn't work very well on totally new images. It was clear that this dataset was not enough to achieve generalization.
-->
---
# Estimation of the lighting intensity in an image
## Datasets (3/4)
<div class="h-full flex items-center">
<img src="/assets/compositing.webp" class="m-auto h-100"/>
</div>
<span class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs"><a href="https://cocodataset.org/#home">MS COCO</a> compositing</span>
<!--
So we turned ourself to synthetic dataset.
The first dataset we created was by using compositing, so we basically pasted spheres on top of random images. It worked quite well, but since we do not know the environment around the images we could not paste coherent chrome spheres.
-->
---
## Datasets (4/4)
<div class="h-full flex items-center">
<img src="/assets/render.webp" class="m-auto h-100"/>
</div>
<span class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">
<a href="https://www.blender.org/">Blender</a>,
<a href="https://polyhaven.com/">PolyHaven</a>
</span>
<!--
We thus made coherents images with blender. coherent reflections, with polyhaven.
sprinkled some light augmentations
-->
---
## Results (1/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_0.jpg" class="m-auto h-110">
</div>
<!-- standard sphere kinda degraded, still correctly recognized -->
---
## Results (2/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_2.jpg" class="m-auto h-110">
</div>
<!--
occlusion
reflection inside chrome not detected
-->
---
## Results (3/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_3.jpg" class="m-auto h-110">
</div>
<!--
closeup
-->
---
## Results (4/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_4.jpg" class="m-auto h-110">
</div>
<!--
detection not so great, though the scene is pretty complex
-->
---
## Results (5/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_5.jpg" class="m-auto h-110">
</div>
---
## Results (6/8)
<div class="h-full flex items-center">
<img src="/assets/image2_1_0.jpg" class="m-auto h-110">
</div>
---
## Results (7/8)
<div class="h-full flex items-center">
<img src="/assets/image2_1_1.jpg" class="m-auto h-110">
</div>
---
## Results (8/8)
<div class="h-full flex items-center">
<img src="/assets/image2_0_1.jpg" class="m-auto h-110">
</div>
<!--
one false positive, though can be filtered, 0.95 vs 0.99 threshold
-->
---
## Perspectives
<div class="h-full flex items-center">
<img src="/assets/surface-imperfections.png" class="m-auto h-110"/>
</div>
<a href="https://www.poliigon.com/textures/surface-imperfections" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Poliigon.com</a>
<!--
augmentations inside blender to make spheres more realistic, prb textures scratches, fingerprints...
bigger network resnet 101
alternative architecture, deformable attention, conditionnal detr, dino
-->
---
# Lighting intensity estimation
<div class="h-100 flex items-center text-2xl">
- Photometric Stereo
- Lambert Law
- Problem formulation
- Algorithms
- Generated images
- Results
- Perspectives
</div>
<!--
2nd problem = estimate the intensity of the lighting in an image
-> important problem in 3D reconstruction (Photometric Stereo)
-->
---
@ -181,61 +388,108 @@ class: text-white custombg4
- Estimate the surface normals of an object
- Shiny spheres $\rightarrow$ direction of the lighting
<a href="https://en.wikipedia.org/wiki/Photometric_stereo" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">Wikipedia</a>
<!--
Photometric stereo = technique for estimating the surface normals of objects by observing that object under different lighting conditions
-->
---
## Lambert law
<div class="h-100 flex items-center">
<img src= "https://img.laserfocusworld.com/files/base/ebm/lfw/image/2019/06/1906LFW_ost_1.5d13a8a881e81.png?auto=format,compress&w=1050&h=590&fit=clip" class="m-auto h-90"/>
</div>
<span>
$I(q) = \rho(Q) \times \vec{n}(Q) \cdot \vec{s}(Q)$
$\rho(Q)$ is the albedo
- $\rho(Q)$ is the albedo
$\vec{n}(Q)$ is the normal vector
- $\vec{n}(Q)$ is the normal vector
$\vec{s}(Q) = \phi \times \vec{s_0}(Q)$, $\vec{s_0}(Q)$ being the direction of the lighting vector
- $\vec{s}(Q) = \phi \times \vec{s_0}(Q)$ is the lighting direction
</span>
</div>
<img src="/assets/stereo.png" class="h-100 absolute right-10 top-10"/>
<a href="https://www.laserfocusworld.com/lasers-sources/article/14035413/photometric-stereo-techniques-analyze-reflections-to-improve-image-contrast" class="absolute bottom-0 font-extralight mb-1 mr-2 right-0 text-xs">LaserFocusWorld</a>
<!--
Q 3D point -> q projection of Q i an image
Albedo = fraction of light that a surface can reflect
-->
---
## Problem formulation
$N$ lightings, $P$ pixels
<div class="h-100 flex items-center">
<span>
$I = M \times S \times D_{\phi}$
$N$ lightings, $P$ pixels \
$\rightarrow I = M \times S \times D_{\phi}$
$I \in \mathbb{R}^{P \times N} \rightarrow$ gray scale levels
- $I \in \mathbb{R}^{P \times N} \rightarrow$ gray scale levels $\rightarrow$ known from image pixels
$M \in \mathbb{R}^{P \times 3} \rightarrow$ the albedo and the normals (unknown)
- $M \in \mathbb{R}^{P \times 3} \rightarrow$ the albedo and the normals $\rightarrow$ **unknown**
$S \in \mathbb{R}^{3 \times N} \rightarrow$ direction of lightings
- $S \in \mathbb{R}^{3 \times N} \rightarrow$ direction of lightings $\rightarrow$ known from shiny spheres
- $D_{phi} = diag(\phi_1,...,\phi_{N}) \in \mathbb{R}^{ N \times N} \rightarrow$ intensities of lightings $\rightarrow$ **to be determined**
</span>
</div>
$D_{phi} = diag(\phi_1,...,\phi_{N}) \in \mathbb{R}^{ N \times N} \rightarrow$ intensities of lightings (to be determined)
---
## Algorithm 1
<div class="h-100 flex items-center">
<img src="/assets/algo1.png" class="m-auto h-80"/>
<img src="/assets/algo1.svg" class="m-auto h-72"/>
<span>
Intensities : $[\phi_1,...,\phi_{N}]$
New values : $\phi_j \plusmn \delta, \ j \in [1,..,N]$
Estimation of the matrix $M$
Mean-squared error : $\underset{\phi_i}{\min} || I - M S D_{\phi} ||_2^2$
Update the value of $\phi_j$
Repeat previous steps
</span>
</div>
Intensities : $[\phi_1,...,\phi_{N}]$
<!--
IDEA : first determine the matrix M and then find the best values for phi
New values : $\phi_j + \delta$ and $\phi_j + \delta$, $j \in [1,..,N]$
Initialize the intensities phi
Mean-squared error : $\underset{\phi_i}{\min} || I - M S D_{\phi} ||_2^2$
For each iteration : fix all the intensities except phi_j
Update the value of $\phi_j$
Determine the matrix M
Repeat previous steps
delta -> small increment
Schema = importance of the initialization of intensities -> local/global minimum
-->
---
## Algorithm 2
<div class="h-100 flex items-center">
<div class="w-full">
Algorithm 1 $\rightarrow$ too long
$$I = M S D_{\phi} \iff M = I(S D_{\phi})^\dagger = I (S D_{\phi})^T [(S D_{\phi})(S D_{\phi})^T]^{-1}$$
@ -253,6 +507,18 @@ New residual :
$$\underset{\phi_i}{\min} || I - I D_{\phi} S^T S^{-T} D_{\phi}^{-2} S^{-1} S D_{\phi} ||_2^2$$
</div>
</div>
<!--
Too long = 2 for loops + M to estimate twice for each intensity and iteration
Write the Lambert law only as a function of D_phi
Non linear problem = can be solved directly using the Matlab function lsqnonlin()
Execution time = 10 seconds instead of 5 min (for 1000 iterations)
-->
---
@ -269,6 +535,17 @@ $$\underset{\phi_i}{\min} || I - I D_{\phi} S^T S^{-T} D_{\phi}^{-2} S^{-1} S D_
<img src="/assets/im15.jpg" class="m-auto h-50"/>
</div>
<!--
Generated images of shiny half-spheres under 9 different lightings
4 different directions here + different intensities
500 by 500 pixels
As we know the intensities = verify that our algorithm works on generated data
-->
---
## Results (1/2)
@ -278,6 +555,12 @@ $$\underset{\phi_i}{\min} || I - I D_{\phi} S^T S^{-T} D_{\phi}^{-2} S^{-1} S D_
<img src="/assets/residu2d_3.jpg" class="m-auto w-full"/>
</div>
<!--
Plot the residual as a function of 1 or 2 intensities
Show the existence of a minimum for the real value of the intensity
-->
---
## Results (2/2)
@ -286,57 +569,165 @@ $$\underset{\phi_i}{\min} || I - I D_{\phi} S^T S^{-T} D_{\phi}^{-2} S^{-1} S D_
<img src="/assets/resultats_finaux.jpg" class="m-auto h-110"/>
</div>
<!--
Fix intensity 1 and determine the 8 other intensities
Blue = real / Orange = found => convincing
-->
---
## Real images
TODO LOLO : mettre les images comme dans les slides avec carre rouge
<div class="h-full flex items-center">
<img src="/assets/raph/real_images.svg" class="m-auto h-full"/>
</div>
<!--
Real data : 1 tapestry of a comet + sculpture
12 different lightings for 1st / 17 for 2nd
Big size of the images = need to crop -> selection of the region in red (1000 by 1000 pixels)
No knowledge on the intensities = to be determined
-->
---
## Results
<div class="h-100 flex items-center">
<img src="/assets/resultats_finaux_comete.jpg" class="m-auto w-full"/>
<img src="/assets/resultats_finaux_stsernin.jpg" class="m-auto w-full"/>
<img src="/assets/comete.svg" class="m-auto w-full"/>
<img src="/assets/stsernin.svg" class="m-auto w-full"/>
</div>
<!--
Values are coherent with the lighting condictions we can observe on the images
-->
---
## Perspectives
3D reconstruction
<img src="/assets/3d_estimation.svg" class="m-auto w-full"/>
<!--
Main use = Photometric Stereo
TP => script to compute the surface normals of the object
Results are not very satisfactory (pringles != half-sphere) maybe a problem of coordinate system ?
To be improved in a future work...-->
---
# Lighting direction estimation
<div class="h-100 flex items-center text-2xl">
- Estimation of lighting vector
- Neural Network
- Real data
- Generated data
- Results
- Perspectives
</div>
---
# Automatic estimation of lighting vector
## Estimation of lighting vector
- Creation of data
- Estimation of light vector with matte balls
- Training of neural networks
<style>
.mermaid {
margin: auto;
width: 75%;
}
</style>
<div class="h-100 flex items-center">
```mermaid
flowchart LR
id1[Bounding box of the sphere]
id2[Deduce the normals]
id3[Resolution of I = s * n]
id1 --> id2
id2 --> id3
```
</div>
---
## Creation of mask
## Neural Network
<div class="h-100 flex items-center">
<img src="/assets/raph/neural_network.svg" class="m-auto w-full"/>
</div>
---
## Generated data with Blender
## ResNet-50
<img src="https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/resnet_architecture.png" class="m-auto h-full"/>
---
## Estimation of lighting vector for training
## Real data : creation of mask
<img src="/assets/raph/mask_crea.svg" class="m-auto h-full"/>
---
## Verification estimation of lighting vector
## Generated data with blender
---
<style>
table, td, th, tr {
  border: none !important;
border-collapse: collapse !important;
border-style: none !important;
background-color: unset !important;
overflow: hidden;
margin: auto;
text-align: center;
}
</style>
## Which type of neural network ?
<table>
<tr>
<td>Simulated matte spheres</td>
<td><img src="/assets/raph/matte_ball_3.png" class="m-auto h-50"></td>
<td><img src="/assets/raph/matte_ball.png" class="m-auto h-50"></td>
</tr>
<tr>
<td>Generated data with different lightings</td>
<td><img src="/assets/raph/auto_82.png" class="m-auto h-50"></td>
<td><img src="/assets/raph/auto_91.png" class="m-auto h-50"></td>
</tr>
</table>
---
## Results
---
## Conclusion
<img src="/assets/raph/results.png" class="m-auto h-full"/>
---
## Perspectives
## Perspectives
<div class="h-100 flex items-center">
<span>
- Create more data to prevent overfitting
- Diversify the types of data lighting (more than 8 directions)
- Transform the model into something more general: \
$\rightarrow$ from {image of sphere, vector lighting} to {image of objects, vector lighting}
</span>
</div>