File size: 3,549 Bytes
d1bfee5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Deep Style Transfer | CycleGAN</title>
    <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}?v=1.1">
    <link href="https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600;800&display=swap" rel="stylesheet">
</head>

<body>
    <div class="main-wrapper">
        <header class="header">
            <h1 class="title" style="font-size: 2.2rem; line-height: 1.2;">Deep Learning Based Image Style Transfer With
                CycleGAN</h1>
            <p class="subtitle">Neural Style Synthesis Framework for Unpaired Image-to-Image Translation</p>
        </header>

        <section class="stats-grid">
            <div class="stat-card">
                <div class="stat-label">EPOCH</div>
                <div class="stat-value" id="stat-epoch" style="color: #00e699;">25 / 25</div>
            </div>
            <div class="stat-card">
                <div class="stat-label">GEN LOSS</div>
                <div class="stat-value" id="stat-gen-loss" style="color: #00e699;">3.245</div>
            </div>
            <div class="stat-card">
                <div class="stat-label">DISC LOSS</div>
                <div class="stat-value" id="stat-disc-loss" style="color: #00e699;">0.457</div>
            </div>
        </section>

        <section class="visualizer">
            <div class="image-pair">
                <div class="image-column">
                    <p class="image-label">AI Generation</p>
                    <div class="image-container">
                        <img id="result-img" src="" class="display-img hidden">
                        <div class="placeholder" id="output-placeholder">
                            <div class="placeholder-icon"></div>
                            <p>Neural Output</p>
                        </div>
                        <div id="loader" class="hidden">
                            <div class="spinner"></div>
                        </div>
                    </div>
                </div>
                <div class="image-column">
                    <p class="image-label">Real Dataset Sample</p>
                    <div class="image-container" id="drop-zone">
                        <input type="file" id="image-input" hidden accept="image/*">
                        <img id="preview-img" src="" class="display-img hidden">
                        <div class="placeholder" id="input-placeholder">
                            <div class="placeholder-icon">📸</div>
                            <p>Upload Image</p>
                        </div>
                    </div>
                </div>
            </div>

            <div class="mode-toggle-group">
                <button class="mode-select-btn active" data-mode="h2z">H ➔ Z</button>
                <button class="mode-select-btn" data-mode="z2h">Z ➔ H</button>
            </div>

            <div class="action-area">
                <button id="transfer-btn" class="btn-action" disabled>Attempt Stylization</button>
                <p class="model-info">Model: <span class="green">CycleGAN_ResNet9_Engine.h5</span> (256x256 RGB)</p>
            </div>
        </section>

        <a id="download-link" class="hidden"></a>
    </div>

    <script src="{{ url_for('static', filename='js/main.js') }}?v=1.1"></script>
</body>

</html>