105 lines
5.3 KiB
XML
105 lines
5.3 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" width="1700" height="920" viewBox="0 0 1700 920">
|
||
<defs>
|
||
<marker id="arrow" markerWidth="12" markerHeight="12" refX="10" refY="6" orient="auto">
|
||
<path d="M0,0 L12,6 L0,12 Z" fill="#344054"/>
|
||
</marker>
|
||
<style>
|
||
.bg { fill: #fbfcfe; }
|
||
.title { font: 700 34px Arial, sans-serif; fill: #172033; }
|
||
.subtitle { font: 400 18px Arial, sans-serif; fill: #526070; }
|
||
.block { stroke: #344054; stroke-width: 2; rx: 10; }
|
||
.down { fill: #d9ecff; }
|
||
.bottle { fill: #fff0cf; }
|
||
.up { fill: #e6f5dc; }
|
||
.out { fill: #eee7ff; }
|
||
.label { font: 700 17px Arial, sans-serif; fill: #172033; text-anchor: middle; }
|
||
.small { font: 400 14px Arial, sans-serif; fill: #4b5563; text-anchor: middle; }
|
||
.axis { stroke: #344054; stroke-width: 3; fill: none; marker-end: url(#arrow); }
|
||
.skip { stroke: #d47f20; stroke-width: 3; fill: none; stroke-dasharray: 9 7; marker-end: url(#arrow); }
|
||
.arrow { stroke: #344054; stroke-width: 3; fill: none; marker-end: url(#arrow); }
|
||
.note { font: 400 16px Arial, sans-serif; fill: #667085; }
|
||
</style>
|
||
</defs>
|
||
|
||
<rect class="bg" width="1700" height="920"/>
|
||
<text class="title" x="80" y="70">Архитектура генератора U-Net: Google Maps -> Яндекс.Карты</text>
|
||
<text class="subtitle" x="80" y="104">Сжатие изображения до признакового представления и восстановление в целевом стиле с сохранением геометрии через skip-соединения</text>
|
||
|
||
<g id="encoder">
|
||
<rect class="block down" x="80" y="230" width="120" height="360"/>
|
||
<text class="label" x="140" y="255">Input</text>
|
||
<text class="small" x="140" y="280">3 x 256 x 256</text>
|
||
<text class="small" x="140" y="550">Google RGB</text>
|
||
|
||
<rect class="block down" x="240" y="265" width="120" height="290"/>
|
||
<text class="label" x="300" y="292">Down 1</text>
|
||
<text class="small" x="300" y="318">64</text>
|
||
<text class="small" x="300" y="532">128 x 128</text>
|
||
|
||
<rect class="block down" x="400" y="295" width="120" height="230"/>
|
||
<text class="label" x="460" y="322">Down 2</text>
|
||
<text class="small" x="460" y="348">128</text>
|
||
<text class="small" x="460" y="502">64 x 64</text>
|
||
|
||
<rect class="block down" x="560" y="325" width="120" height="170"/>
|
||
<text class="label" x="620" y="352">Down 3</text>
|
||
<text class="small" x="620" y="378">256</text>
|
||
<text class="small" x="620" y="472">32 x 32</text>
|
||
|
||
<rect class="block down" x="720" y="350" width="120" height="120"/>
|
||
<text class="label" x="780" y="377">Down 4</text>
|
||
<text class="small" x="780" y="403">512</text>
|
||
<text class="small" x="780" y="448">16 x 16</text>
|
||
</g>
|
||
|
||
<rect class="block bottle" x="880" y="372" width="120" height="76"/>
|
||
<text class="label" x="940" y="399">Bottleneck</text>
|
||
<text class="small" x="940" y="425">512</text>
|
||
|
||
<g id="decoder">
|
||
<rect class="block up" x="1040" y="350" width="120" height="120"/>
|
||
<text class="label" x="1100" y="377">Up 4</text>
|
||
<text class="small" x="1100" y="403">512</text>
|
||
<text class="small" x="1100" y="448">16 x 16</text>
|
||
|
||
<rect class="block up" x="1200" y="325" width="120" height="170"/>
|
||
<text class="label" x="1260" y="352">Up 5</text>
|
||
<text class="small" x="1260" y="378">256</text>
|
||
<text class="small" x="1260" y="472">32 x 32</text>
|
||
|
||
<rect class="block up" x="1360" y="295" width="120" height="230"/>
|
||
<text class="label" x="1420" y="322">Up 6</text>
|
||
<text class="small" x="1420" y="348">128</text>
|
||
<text class="small" x="1420" y="502">64 x 64</text>
|
||
|
||
<rect class="block up" x="1520" y="265" width="120" height="290"/>
|
||
<text class="label" x="1580" y="292">Up 7</text>
|
||
<text class="small" x="1580" y="318">64</text>
|
||
<text class="small" x="1580" y="532">128 x 128</text>
|
||
</g>
|
||
|
||
<rect class="block out" x="1370" y="650" width="250" height="95"/>
|
||
<text class="label" x="1495" y="684">Final Conv + Tanh</text>
|
||
<text class="small" x="1495" y="711">3 x 256 x 256</text>
|
||
<text class="small" x="1495" y="734">Generated Yandex RGB</text>
|
||
|
||
<path class="arrow" d="M205 410 L235 410"/>
|
||
<path class="arrow" d="M365 410 L395 410"/>
|
||
<path class="arrow" d="M525 410 L555 410"/>
|
||
<path class="arrow" d="M685 410 L715 410"/>
|
||
<path class="arrow" d="M845 410 L875 410"/>
|
||
<path class="arrow" d="M1005 410 L1035 410"/>
|
||
<path class="arrow" d="M1165 410 L1195 410"/>
|
||
<path class="arrow" d="M1325 410 L1355 410"/>
|
||
<path class="arrow" d="M1485 410 L1515 410"/>
|
||
<path class="arrow" d="M1580 560 C1580 610, 1530 620, 1495 645"/>
|
||
|
||
<path class="skip" d="M300 255 C300 145, 1580 145, 1580 260"/>
|
||
<path class="skip" d="M460 290 C460 185, 1420 185, 1420 290"/>
|
||
<path class="skip" d="M620 320 C620 225, 1260 225, 1260 320"/>
|
||
<path class="skip" d="M780 345 C780 265, 1100 265, 1100 345"/>
|
||
|
||
<text class="note" x="90" y="805">Down-блок: Conv2d, BatchNorm, LeakyReLU. Up-блок: Upsample, Conv2d, BatchNorm, ReLU, затем конкатенация со skip-признаками.</text>
|
||
<text class="note" x="90" y="835">Назначение skip-соединений: сохранить дороги, перекрестки и контуры объектов при изменении визуального стиля карты.</text>
|
||
</svg>
|