Fix ui
Browse files
app.py
CHANGED
|
@@ -155,27 +155,40 @@ print("🔍 Инициализация моделей...")
|
|
| 155 |
models = load_models()
|
| 156 |
pipeline = models["pipeline"]
|
| 157 |
|
| 158 |
-
with gr.Blocks(theme=gr.themes.Soft(), css=".gradio-container
|
| 159 |
gr.Markdown("# 🧥 Virtual Try-On")
|
|
|
|
| 160 |
|
| 161 |
with gr.Row():
|
| 162 |
with gr.Column():
|
| 163 |
-
gr.
|
| 164 |
-
|
| 165 |
-
|
| 166 |
-
|
| 167 |
-
generate_btn = gr.Button("Сгенерировать", variant="primary")
|
| 168 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 169 |
with gr.Column():
|
| 170 |
-
gr.
|
| 171 |
-
|
| 172 |
-
gr.Markdown("Подождите 1-2 минуты для генерации")
|
| 173 |
-
|
| 174 |
generate_btn.click(
|
| 175 |
fn=generate_vton,
|
| 176 |
-
inputs=[person_input, cloth_input, outfit_prompt],
|
| 177 |
outputs=output_image
|
| 178 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 179 |
|
| 180 |
if __name__ == "__main__":
|
| 181 |
demo.queue(max_size=1).launch(
|
|
|
|
| 155 |
models = load_models()
|
| 156 |
pipeline = models["pipeline"]
|
| 157 |
|
| 158 |
+
with gr.Blocks(theme=gr.themes.Soft(), css=".gradio-container") as demo:
|
| 159 |
gr.Markdown("# 🧥 Virtual Try-On")
|
| 160 |
+
gr.Markdown("Загрузите фото человека и одежды для виртуальной примерки")
|
| 161 |
|
| 162 |
with gr.Row():
|
| 163 |
with gr.Column():
|
| 164 |
+
person_input = gr.Image(label="Фото человека", type="pil", sources=["upload"])
|
| 165 |
+
cloth_input = gr.Image(label="Фото одежды", type="pil", sources=["upload"])
|
| 166 |
+
outfit_prompt = gr.Textbox(label="Описание образа (опционально)", placeholder="Например: man in casual outfit")
|
| 167 |
+
clothing_prompt = gr.Textbox(label="Описание одежды (опционально)", placeholder="Например: red t-shirt with print")
|
| 168 |
+
generate_btn = gr.Button("Сгенерировать примерку", variant="primary")
|
| 169 |
+
|
| 170 |
+
gr.Examples(
|
| 171 |
+
examples=[
|
| 172 |
+
["./test/person2.png", "./test/00008_00.jpg", "man in skirt", "black longsleeve"]
|
| 173 |
+
],
|
| 174 |
+
inputs=[person_input, cloth_input, outfit_prompt, clothing_prompt],
|
| 175 |
+
label="Примеры для быстрого тестирования"
|
| 176 |
+
)
|
| 177 |
+
|
| 178 |
with gr.Column():
|
| 179 |
+
output_image = gr.Image(label="Результат примерки", interactive=False)
|
| 180 |
+
|
|
|
|
|
|
|
| 181 |
generate_btn.click(
|
| 182 |
fn=generate_vton,
|
| 183 |
+
inputs=[person_input, cloth_input, outfit_prompt, clothing_prompt],
|
| 184 |
outputs=output_image
|
| 185 |
)
|
| 186 |
+
|
| 187 |
+
gr.Markdown("### Инструкция:")
|
| 188 |
+
gr.Markdown("1. Загрузите четкое фото человека в полный рост\n"
|
| 189 |
+
"2. Загрузите фото одежды на белом фоне\n"
|
| 190 |
+
"3. При необходимости уточните описание образа или одежды\n"
|
| 191 |
+
"4. Нажмите кнопку 'Сгенерировать примерку'")
|
| 192 |
|
| 193 |
if __name__ == "__main__":
|
| 194 |
demo.queue(max_size=1).launch(
|