Spaces:
Running
Running
File size: 3,995 Bytes
336df8f 4ed2a8c 336df8f 4ed2a8c 336df8f 304051e bd3a4eb a921068 ed6db7a 336df8f 4ed2a8c aa5a8b3 4ed2a8c ed6db7a e17d533 9b60062 225e1c6 4ed2a8c ed6db7a 9b60062 ed6db7a 4ed2a8c bd3a4eb 9b60062 bd3a4eb e17d533 bd3a4eb 81e8759 225e1c6 4ed2a8c bd3a4eb 225e1c6 4ed2a8c bd3a4eb 4ed2a8c 81e8759 4ed2a8c 225e1c6 4ed2a8c 9b60062 bd3a4eb ed6db7a 81e8759 4ed2a8c bd3a4eb 9b60062 bd3a4eb 4ed2a8c bd3a4eb 9b60062 4ed2a8c bd3a4eb 4955961 bd3a4eb 9b60062 bd3a4eb 81e8759 bd3a4eb 4955961 81e8759 225e1c6 9b60062 225e1c6 4ed2a8c aa5a8b3 5256aee 4ed2a8c 326524a 4ed2a8c 225e1c6 7dea483 35b42a4 4ed2a8c aa5a8b3 4ed2a8c bd3a4eb 4ed2a8c bd3a4eb 4ed2a8c 0799a5f 4ed2a8c bd3a4eb 4ed2a8c bd3a4eb 4ed2a8c 0799a5f 4ed2a8c bd3a4eb 687c507 4ed2a8c 81e8759 225e1c6 9b60062 |
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 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 |
import streamlit as st
from PIL import Image
import numpy as np
# Page config
st.set_page_config(
page_title="Sign Language Project",
page_icon="π€",
layout="wide",
initial_sidebar_state="expanded"
)
# --- Custom Style ---
st.markdown("""
<style>
body {
background-size: cover;
background-attachment: fixed;
background-position: center;
font-family: 'Segoe UI', sans-serif;
color: #222;
animation: fade-in 2s ease-out;
}
.sidebar .sidebar-content {
background-color: rgba(255, 255, 255, 0.8);
padding: 1rem;
border-radius: 16px;
box-shadow: 0 4px 12px rgba(0,0,0,0.1);
backdrop-filter: blur(8px);
}
.hero {
text-align: center;
padding: 5rem 2rem;
background: linear-gradient(135deg, #8e2de2, #4a00e0);
border-radius: 24px;
color: white;
margin-bottom: 3rem;
box-shadow: 0 20px 40px rgba(0,0,0,0.1);
animation: fade-in 2s ease-out;
position: relative;
}
.hero h1 {
font-size: 3.75em;
font-weight: 700;
margin-bottom: 0.3em;
animation: glow-text 2s infinite alternate;
}
.hero p {
font-size: 1.3em;
font-weight: 300;
margin-top: 0.5em;
animation: slide-in-bottom 1.2s ease-out;
}
.hero img.logo {
width: 120px;
position: absolute;
top: 20px;
left: 20px;
border-radius: 50%;
border: 2px solid white;
box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.section {
background: rgba(255, 255, 255, 0.95);
border-radius: 20px;
padding: 2.5rem;
margin-bottom: 2.5rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
backdrop-filter: blur(4px);
animation: fade-in-up 1s ease-out;
}
h3 {
font-size: 1.8rem;
color: #2e2e2e;
margin-bottom: 1rem;
}
ul, ol {
font-size: 1.1em;
line-height: 1.6;
color: #444;
}
.contact-block {
text-align: center;
padding: 3rem;
border-radius: 20px;
background: linear-gradient(to right, #ff6a00, #ee0979);
color: white;
margin-top: 3rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
animation: fade-in 2s ease-out;
}
.contact-block a {
color: #fff;
text-decoration: underline;
}
@keyframes fade-in {
from { opacity: 0; }
to { opacity: 1; }
}
@keyframes fade-in-up {
from { opacity: 0; transform: translateY(30px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes slide-in-top {
0% { transform: translateY(-100px); opacity: 0; }
100% { transform: translateY(0); opacity: 1; }
}
@keyframes slide-in-bottom {
0% { transform: translateY(100px); opacity: 0; }
100% { transform: translateY(0); opacity: 1; }
}
@keyframes glow-text {
from { text-shadow: 0 0 5px #fff, 0 0 10px #bca7ff, 0 0 20px #7e57ff; }
to { text-shadow: 0 0 10px #fff, 0 0 20px #b388ff, 0 0 30px #7e57ff; }
}
</style>
""", unsafe_allow_html=True)
# --- Hero Section ---
st.markdown("""
<div class="hero">
<img src="https://cdn-icons-png.flaticon.com/512/3062/3062634.png" class="logo" alt="logo">
<h1>Sign Language Project</h1>
<p>AI-powered Sign Language App</p>
</div>
""", unsafe_allow_html=True)
# --- Features ---
st.markdown("""
<div class="section">
<h3>β¨ Key Features</h3>
<ul>
<li>β‘ Real-time AI gesture recognition</li>
<li>π§ Optimized for Russian Sign Language</li>
<li>π₯οΈ Lightweight and browser-based interface</li>
<li>π Promoting accessibility and inclusive communication</li>
</ul>
</div>
""", unsafe_allow_html=True)
# --- How it works ---
st.markdown("""
<div class="section">
<h3>π How it works</h3>
<ol>
<li>Camera captures hand gestures</li>
<li>Frame is processed via ONNX deep learning model</li>
<li>Text prediction appears instantly on screen</li>
</ol>
</div>
""", unsafe_allow_html=True)
# --- Contact block ---
st.markdown("""
<div class="contact-block">
<h3>π¬ Let's collaborate!</h3>
<p>For demos, partnerships, or research opportunities:</p>
<p>Email: <a href="mailto:your@email.com">osheina9@gmail.com</a></p>
</div>
""", unsafe_allow_html=True)
|