Spaces:
Sleeping
Sleeping
Upload 4 files
Browse files- app.py +53 -0
- labels.npy +3 -0
- libras_model_v2.keras +0 -0
- requirements.txt +8 -0
app.py
ADDED
@@ -0,0 +1,53 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import streamlit as st
|
2 |
+
import numpy as np
|
3 |
+
from keras.models import load_model
|
4 |
+
from keras.preprocessing import image
|
5 |
+
from PIL import Image
|
6 |
+
|
7 |
+
# Título da aplicação
|
8 |
+
st.title("Reconhecimento de LIBRAS")
|
9 |
+
|
10 |
+
# Carregue o modelo treinado
|
11 |
+
@st.cache_resource # Cache para carregar o modelo apenas uma vez
|
12 |
+
def load_custom_model():
|
13 |
+
return load_model('libras_model_v2.keras')
|
14 |
+
|
15 |
+
model = load_custom_model()
|
16 |
+
|
17 |
+
# Carregue as labels
|
18 |
+
@st.cache_data # Cache para carregar as labels apenas uma vez
|
19 |
+
def load_labels():
|
20 |
+
return np.load('labels.npy', allow_pickle=True)
|
21 |
+
|
22 |
+
labels = load_labels()
|
23 |
+
|
24 |
+
# Função para fazer a predição em uma única imagem
|
25 |
+
def predict_image(img):
|
26 |
+
# Redimensione a imagem para o tamanho esperado pelo modelo (50x50)
|
27 |
+
img = img.resize((50, 50))
|
28 |
+
img_array = image.img_to_array(img) / 255.0
|
29 |
+
img_array = np.expand_dims(img_array, axis=0)
|
30 |
+
|
31 |
+
# Faça a predição
|
32 |
+
preds = model.predict(img_array)
|
33 |
+
pred_label = labels[np.argmax(preds)]
|
34 |
+
confidence = np.max(preds) * 100 # Confiança da predição em porcentagem
|
35 |
+
|
36 |
+
return pred_label, confidence
|
37 |
+
|
38 |
+
# Upload da imagem
|
39 |
+
uploaded_file = st.file_uploader("Escolha uma imagem...", type=["jpg", "jpeg", "png"])
|
40 |
+
|
41 |
+
if uploaded_file is not None:
|
42 |
+
# Carregue a imagem
|
43 |
+
img = Image.open(uploaded_file)
|
44 |
+
|
45 |
+
# Exiba a imagem
|
46 |
+
st.image(img, caption='Imagem carregada', use_column_width=True)
|
47 |
+
|
48 |
+
# Faça a predição
|
49 |
+
pred_label, confidence = predict_image(img)
|
50 |
+
|
51 |
+
# Exiba o resultado
|
52 |
+
st.success(f"Predição: **{pred_label}**")
|
53 |
+
st.info(f"Confiança: **{confidence:.2f}%**")
|
labels.npy
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:bb1e85ec565318d45ca17faa34f1aa4553907608604581a4eff17addee922250
|
3 |
+
size 212
|
libras_model_v2.keras
ADDED
Binary file (71.4 kB). View file
|
|
requirements.txt
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
numpy
|
2 |
+
tensorflow
|
3 |
+
keras
|
4 |
+
matplotlib
|
5 |
+
scikit-learn
|
6 |
+
opencv-python
|
7 |
+
Pillow
|
8 |
+
streamlit
|