modificacion del Readme
This commit is contained in:
parent
c72fd40210
commit
0d58931665
63
README.md
63
README.md
@ -1,3 +1,62 @@
|
|||||||
# IdentificacionIA
|
# Sistema de Identificación y Seguimiento Inteligente
|
||||||
|
|
||||||
Proyecto de reconocimiento facial y seguimiento de personas
|
Este repositorio contiene la arquitectura modular para el seguimiento de personas en múltiples cámaras (Re-ID) y reconocimiento facial asíncrono.
|
||||||
|
|
||||||
|
## Arquitectura del Proyecto
|
||||||
|
El sistema está dividido en tres módulos principales para garantizar la separación de responsabilidades:
|
||||||
|
* `seguimiento2.py`: Motor matemático de Tracking (Kalman + YOLO) y Re-Identificación (OSNet).
|
||||||
|
* `reconocimiento2.py`: Motor de biometría facial (YuNet + ArcFace) y síntesis de audio (Edge-TTS).
|
||||||
|
* `main_fusion.py`: Orquestador principal que fusiona ambos motores mediante procesamiento multihilo.
|
||||||
|
|
||||||
|
## Requisitos Previos
|
||||||
|
1. **Python 3.8 - 3.11** instalado en el sistema.
|
||||||
|
2. **Reproductor MPV** instalado y agregado al PATH del sistema (requerido para el motor de audio sin bloqueos).
|
||||||
|
* *Windows:* Descargar de la página oficial o usar `scoop install mpv`.
|
||||||
|
* *Linux:* `sudo apt install mpv`
|
||||||
|
* *Mac:* `brew install mpv`
|
||||||
|
|
||||||
|
## Guía de Instalación Rápida
|
||||||
|
|
||||||
|
**1. Clonar el repositorio**
|
||||||
|
Abre tu terminal y clona este proyecto:
|
||||||
|
```bash
|
||||||
|
git clone <URL_DE_TU_REPOSITORIO_GITEA>
|
||||||
|
cd IdentificacionIA´´´
|
||||||
|
|
||||||
|
**2. Crear un Entorno Virtual (¡Importante!)
|
||||||
|
Para evitar conflictos de librerías, crea un entorno virtual limpio dentro de la carpeta del proyecto:
|
||||||
|
|
||||||
|
python -m venv venv
|
||||||
|
|
||||||
|
|
||||||
|
3. Activar el Entorno Virtual
|
||||||
|
|
||||||
|
En Windows:
|
||||||
|
.\venv\Scripts\activate
|
||||||
|
|
||||||
|
En Mac/Linux:
|
||||||
|
|
||||||
|
source venv/bin/activate
|
||||||
|
(Sabrás que está activo si ves un (venv) al inicio de tu línea de comandos).
|
||||||
|
|
||||||
|
4. Instalar Dependencias
|
||||||
|
Con el entorno activado, instala todas las librerías necesarias:
|
||||||
|
|
||||||
|
pip install -r requirements.txt
|
||||||
|
|
||||||
|
|
||||||
|
## Archivos y Carpetas Necesarias
|
||||||
|
|
||||||
|
yolov8n.pt (Detector de personas)
|
||||||
|
|
||||||
|
osnet_x0_25_msmt17.onnx (Extractor de características de ropa)
|
||||||
|
|
||||||
|
face_detection_yunet_2023mar.onnx (Detector facial rápido)
|
||||||
|
|
||||||
|
Además, debes tener la carpeta db_institucion con las fotografías de los rostros a reconocer.
|
||||||
|
|
||||||
|
|
||||||
|
## Ejecución
|
||||||
|
Para arrancar el sistema completo con interfaz gráfica y audio, ejecuta:
|
||||||
|
|
||||||
|
python main_fusion.py
|
||||||
@ -65,7 +65,7 @@ print("Cargando motor de Re-Identificación (OSNet ONNX en CPU)...")
|
|||||||
try:
|
try:
|
||||||
ort_session = ort.InferenceSession(ONNX_MODEL_PATH, providers=['CPUExecutionProvider'])
|
ort_session = ort.InferenceSession(ONNX_MODEL_PATH, providers=['CPUExecutionProvider'])
|
||||||
input_name = ort_session.get_inputs()[0].name
|
input_name = ort_session.get_inputs()[0].name
|
||||||
print("✅ OSNet cargado.")
|
print("OSNet cargado.")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"ERROR FATAL: No se pudo cargar {ONNX_MODEL_PATH}. {e}")
|
print(f"ERROR FATAL: No se pudo cargar {ONNX_MODEL_PATH}. {e}")
|
||||||
exit()
|
exit()
|
||||||
@ -617,7 +617,7 @@ def dibujar_track(frame_show, trk):
|
|||||||
# 7. MAIN LOOP (para pruebas standalone)
|
# 7. MAIN LOOP (para pruebas standalone)
|
||||||
# ──────────────────────────────────────────────────────────────────────────────
|
# ──────────────────────────────────────────────────────────────────────────────
|
||||||
def main():
|
def main():
|
||||||
print("SmartSoft — seguimiento2.py standalone")
|
print("SmartSoft")
|
||||||
model = YOLO("yolov8n.pt")
|
model = YOLO("yolov8n.pt")
|
||||||
global_mem = GlobalMemory()
|
global_mem = GlobalMemory()
|
||||||
managers = {str(c): CamManager(c, global_mem) for c in SECUENCIA}
|
managers = {str(c): CamManager(c, global_mem) for c in SECUENCIA}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user