yolov5

Activity, over time

Daily observations from the public event archive.

Attention

Daily stars & forks

Loading attention chart

Star accumulation

Cumulative stars

Loading star accumulation chart

Pull requests

Daily opens & merges

Loading pull requests chart

Conversations

Daily issues & comments

Loading conversations chart

Community

Daily accounts & reviews

Loading community chart

Releases

Daily releases

Loading releases chart

Mentions

2posts · 30d
Nov 30 posts
  1. 🤖 yolov5 ⭐ 57,489 stars Deploy lightning-fast computer vision to any device. Train your models in PyTorch and export seamlessly to ONNX, CoreML, and TFLite. 🔗 ultralytics/yolov5 #AI #MachineLearning t.co

    32 views
  2. Bloquea anuncios en tu Smart TV con IA: guía 2024 paso a paso Bloqueador de anuncios con IA para Smart TV en 2024: guía práctica paso a paso --- Introducción ¿Cansado de que tu serie favorita sea interrumpida cada 15 minutos por anuncios? En 2024 el bloqueador de anuncios con IA para Smart TV ha dejado de ser un experimento de hackers para convertirse en una herramienta al alcance de cualquier usuario que quiera recuperar ancho de banda y volver a disfrutar del contenido sin interrupciones. Tras las detalladas guías publicadas en Hipertextual y Xataka, las búsquedas de “ad blocker smart tv” y “IA eliminar anuncios TV” han explotado en Google Trends, lo que confirma que miles de hogares están buscando una solución real y fácil de implementar. En este artículo encontrarás: - Qué modelo publicitario hay en los televisores inteligentes. - Cómo combinar un modelo de lenguaje ligero y visión por computadora para bloquear anuncios en tiempo real. - Un tutorial completo con los comandos y scripts listos para ejecutarse en una Raspberry Pi, Intel NUC o NAS Synology. - Benchmarks de latencia, consideraciones de seguridad y privacidad bajo GDPR, y una checklist de puesta en marcha. --- 1. ¿Qué necesitamos? | Elemento | Requisitos mínimos | Comentario | |----------|-------------------|------------| | CPU | 4 núcleos / 2 GHz (Raspberry Pi 4/5, Intel NUC, NAS Synology) | Los modelos LLM ligeros y TinyYOLO funcionan sin GPU. | | RAM | 4 GB (recomendado 8 GB) | Evita cuellos de botella al procesar frames. | | Almacenamiento | 16 GB SSD o micro‑SD (para el modelo y logs) | Los archivos del modelo ocupan < 50 MB. | | Sistema operativo | Debian/Ubuntu 22.04 LTS o Docker (cualquier distro basada en Linux) | Se probaron en Raspberry OS y Ubuntu Server. | | Conexión a la TV | Ethernet o Wi‑Fi (misma red que el Smart TV) | Necesario para interceptar el tráfico. | --- 2. Arquitectura de la solución [Smart TV] ──► [Router] ──► [Raspberry Pi / NAS] ──► Internet │ (iptables + DNS‑Masq) │ ┌──────────────┴───────────────┐ │ Captura de paquetes (ffmpeg)│ │ → extracción de frames │ │ → TinyYOLO (detección) │ │ → LLM (clasificación) │ │ → Drop / Forward │ └──────────────────────────────┘ - iptables redirige el tráfico HTTP/HTTPS del televisor al puerto local 8080. - ffmpeg captura los flujos de vídeo y extrae un frame cada 0,5 s. - TinyYOLO (modelo de 5 MB) detecta logotipos y banners en el frame. - llama.cpp (LLM de 4 GB) confirma si el segmento corresponde a un anuncio. - Si se detecta anuncio, el paquete se descarta; si no, se reenvía al router. --- 3. Instalación paso a paso 3.1. Preparar el dispositivo # 1. Actualizar el SO sudo apt update && sudo apt upgrade -y # 2. Instalar dependencias sudo apt install -y git build-essential cmake libssl-dev \ libopencv-dev ffmpeg iptables-persistent python3-pip # 3. Crear carpeta de trabajo mkdir -p ~/adblock-ia && cd ~/adblock-ia 3.2. Descargar y compilar llama.cpp (LLM ligero) git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp make -j$(nproc) # Descargar un modelo quantizado (4 GB) – ejemplo: LLaMA‑7B‑Q4_K_M wget https://huggingface.co/username/llama-7b-q4km/resolve/main/ggml-model-q4_0.bin 3.3. Obtener TinyYOLO y convertir a ONNX (solo una vez) # Descargar pesos pre‑entrenados wget https://github.com/ultralytics/yolov5/releases/download/v6.0/tinyyolo.pt # Convertir a ONNX (requiere python y onnx) pip install torch onnx onnxruntime python - <<'PY' import torch, onnx model = torch.hub.load('ultralytics/yolov5', 'custom', path='tinyyolo.pt') dummy = torch.randn(1,3,640,640) torch.onnx.export(model, dummy, "tinyyolo.onnx", opset_version=12) PY 3.4. Configurar iptables para redirigir tráfico # Suponiendo que la IP del TV es 192.168.1.45 TV_IP=192.168.1.45 # Redirigir HTTP/HTTPS al puerto 8080 del Raspberry sudo iptables -t nat -A PREROUTING -s $TV_IP -p tcp --dport 80 -j REDIRECT --to-port 8080 sudo iptables -t nat -A PREROUTING -s $TV_IP -p tcp --dport 443 -j REDIRECT --to-port 8080 # Guardar reglas sudo netfilter-persistent save 3.5. Script principal (adblock_ia.py) #!/usr/bin/env python3 import subprocess, time, os, json import cv2 import onnxruntime as ort from llama_cpp import Llama # Cargar TinyYOLO session = ort.InferenceSession("tinyyolo.onnx") input_name = session.get_inputs()[0].name # Cargar LLM llm = Llama(model_path="ggml-model-q4_0.bin", n_ctx=512, n_threads=4) def is_ad(frame): # Pre‑procesar frame para YOLO img = cv2.resize(frame, (640,640)) img = img.astype('float32') / 255.0 img = img.transpose(2,0,1)[None,...] # Inferencia YOLO preds = session.run(None, {input_name: img})[0] # Si se detecta logo/banner → posible anuncio if preds.max() > 0.5: # Preguntar al LLM (prompt corto) prompt = f"¿Este fragmento de vídeo contiene un anuncio? Responde sí o no." out = llm(prompt, max_tokens=4, temperature=0.0) return "sí" in out["choices"][0]["text"].lower() return False def main(): # Captura con ffmpeg (pipe a stdout) cmd = ["ffmpeg", "-i", "http://127.0.0.1:8080", "-vf", "fps=2", "-f", "image2pipe", "-vcodec", "png", "-"] proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, bufsize=10**8) while True: # Leer un frame PNG raw = proc.stdout.read(1024*1024) # tamaño máximo de un PNG if not raw: break np_arr = np.frombuffer(raw, np.uint8) frame = cv2.imdecode(np_arr, cv2.IMREAD_COLOR) if frame is None: continue if is_ad(frame): # Drop packet → no forward continue # Forward al router (simple tcpdump) subprocess.run(["tcpreplay", "--intf1=eth0", "--pps=1000"], input=raw) if __name__ == "__main__": main() Guarda el archivo, dale permisos y ejecútalo: chmod +x adblock_ia.py ./adblock_ia.py & --- 4. Benchmarks de rendimiento | Dispositivo | CPU | RAM | Latencia media (ms) | Reducción de datos | |-------------|-----|-----|----------------------|--------------------| | Raspberry Pi 4 (4 núcleos) | Broadcom BCM2711 | 4 GB | 72 ms | 7 % | | Intel NUC (i5‑1135G7) | 4 núcleos/8 hilos | 8 GB | 38 ms | 10 % | | Synology DS220+ (CPU Dual‑Core) | Realtek RTD1296 | 2 GB | 91 ms | 5 % | Los resultados se obtuvieron reproduciendo 2 h de contenido en Netflix (plan con anuncios) y midiendo la --- Herramienta mencionada: Groq Cloud

Latest stargazers

The last 10 distinct accounts we observed this year.

Most active participants

PR, issue, comment & review events in the past year.

Packages

1
PackageVersionDownloads · 30dTrend · 30d
YOLOv5v7.0.14
v7.0.14
≥40.3K

README badges

Embed a badge in your README or website.

  • ultralytics/yolov5 reached #1 in daily stars on gitwal · Jun 12, 2020
  • ultralytics/yolov5 reached #3 in weekly stars on gitwal · Week of Jun 8, 2020
  • ultralytics/yolov5 reached #3 in daily forks on gitwal · Jun 12, 2020
Live mentions · last 30 days
ultralytics/yolov5 mentions in the last 30 days