Saltar al contenido principal

Clasificación de residuos en el borde: clases de material, categoría china en cuatro vías y MQTT

Aviso de uso

La asignación china en cuatro vías es una tabla mantenida por este proyecto, no una resolución de ninguna autoridad, y las normas de cada ciudad difieren; la salida no debe ser la única base para tasas, sanciones o decisiones de cumplimiento.

Qué hace esta solución​

Un disparo (un botón, una llamada HTTP o movimiento en el encuadre) hace que el dispositivo tome una imagen, clasifique el objeto en una de ocho clases de material, busque la categoría china de residuos domésticos en cuatro vías a partir de esa clase y publique un mensaje MQTT. Una devolución de llamada asíncrona recibe el resultado de cuatro vías al mismo tiempo, de modo que una compuerta, un relé o un indicador de carril puedan actuar en función de él.

  • Una cabeza, dos niveles de respuesta. El modelo predice ocho clases: papel, cartón, vidrio, metal, plástico, textil, orgánico, residual. La categoría en cuatro vías (reciclable / residuos de cocina / peligrosos / otros) es una búsqueda en tabla sobre el argmax de ocho clases, por lo que adaptarse a una norma local significa editar la tabla, no volver a entrenar.
  • Un disparo, una captura. Botón, HTTP o detección de movimiento con un rebote de 800 ms; un disparo que llega mientras el anterior sigue en ejecución se fusiona, no se pone en cola. También existe un modo continuo; está limitado en frecuencia y solo publica después de que tres fotogramas consecutivos coincidan en el top-1.
  • Las cargas útiles se validan antes de publicarse. Cada carga útil pasa el esquema de eventos, más dos reglas que JSON Schema no puede expresar: category debe ser igual a top3[0], y confidence debe ser igual a top3[0].confidence. Los fallos se cuentan y se descartan.
  • Una vía opcional de vocabulario abierto. Una torre de visión SigLIP 2 evaluada frente a prototipos de texto constantes, seleccionada en el despliegue con model.track: open_vocab. Añade clases sin volver a entrenar, responde en chino o inglés a partir del mismo embedding de imagen y produce una puntuación de "no está en mi vocabulario".
  • Interfaz de actuador sin vinculación de pines. El runtime devuelve la llamada con una categoría; qué pin se acciona se decide en el código de integración, de modo que una misma build se ejecute en placas con diferentes cabeceras.

Los bytes de imagen nunca salen del dispositivo; la carga útil solo transporta una ruta o un URI de almacén de objetos.

  • Listo para ejecutarse en el dispositivo

    Instala el paquete de la aplicación y se ejecuta; un primer despliegue tarda unos 35 minutos. Medido en reComputer R2000 Serie (R2035-12, Hailo-8) sobre 7417 imágenes de validación: top-1 de material 0.8889, top-1 de cuatro vías 0.9507 (consulta rendimiento y datos medidos).

  • Código abierto

    El código de runtime es Apache-2.0; los datos de entrenamiento, TrashNet (MIT) y GC3 (CC BY 4.0), permiten ambos la redistribución.

  • Tu propia cámara, sistemas y actuadores

    Cámara USB / RTSP o una fuente de archivos; los resultados salen por MQTT, POST /trigger puede ser llamado por un kiosco o una pasarela PLC, y una devolución de llamada GPIO acciona una compuerta o un indicador.

  • Se ejecuta completamente in situ

    La captura, la clasificación, la búsqueda y el broker MQTT se ejecutan todos en el host; las imágenes permanecen en el dispositivo y la cadena principal no necesita acceso a internet.

Cómo se ve ejecutándose en un dispositivo​

A continuación se muestra el encuadre del área de entrega visto por una reCamera PoE después de que se instaló el paquete de aplicación waste-sorting. No se coloca nada delante de la cámara; la imagen es solo una referencia de encuadre.

Encuadre del área de entrega por reCamera PoE, sin nada colocado delante de ella

Los resultados de clasificación van directamente a MQTT. A continuación se muestran eventos consecutivos capturados suscribiéndose a waste/recamera-cvi/results:

Eventos de clasificación consecutivos en waste/recamera-cvi/results, cada uno con el resultado de ocho clases, la asignación en cuatro vías y el tiempo de inferencia

Qué hardware necesitas​

Tres cosas en el punto de entrega: un disparador, una cámara, un host. Con reCamera o reCamera Pro, la cámara y el host de clasificación son el mismo dispositivo.

① Disparador: un botón cableado al host, POST /trigger en el puerto 8080, o movimiento en el encuadre. Los tres comparten un mismo rebote de 800 ms, producen el mismo evento y se distinguen por el campo trigger en la carga útil.

② Cámara: cualquier fuente USB, RTSP o de archivos que mire hacia el área de entrega; cualquier modelo sirve. Un solo objeto debe ocupar una parte utilizable del encuadre, con solo un objeto a la vista. Los objetos demasiado pequeños reducen la calidad de la clasificación, y ninguno de los valores en rendimiento y datos medidos procede de ese tipo de encuadre.

③ Host de clasificación: determina qué rutas de modelo puedes usar.

Host de clasificaciónAceleradorClasificador tal como se despliegaVía de vocabulario abiertoCuándo elegirlo
reComputer J3011reComputer J3011 (Jetson Orin Nano 8GB)
Host de IA de entrada
Orin GPUEfficientNet-Lite0 224², TensorRT FP16No disponibleUn punto de entrega, solo clasificador de referencia
reComputer J4012reComputer J4012 (Jetson Orin NX 16GB)
Host de IA de alto rendimiento
Orin GPUEfficientNet-Lite0 224², TensorRT FP16Disponible (la única clase de dispositivo que lo ofrece)Esperas añadir clases de objetos más adelante sin volver a entrenar
reComputer Industrial R2035-12reComputer Industrial R2035-12 (Hailo-8)
Caja industrial sin ventilador
Hailo-8EfficientNet-Lite0 224², INT8 HEFNo disponibleYa hay una cámara y el host va en un armario; el HEF se compila fuera del dispositivo y se descarga en el despliegue, y las versiones del runtime de Hailo deben coincidir
reComputer RK3588reComputer RK3588 Serie
Placa edge rentable
NPU RK3588EfficientNet-Lite0 224², INT8No disponibleYa hay una cámara, coste de hardware mínimo, host en la carcasa del contenedor o en un kiosco; el modelo se convierte fuera del dispositivo y no se construye ningún motor en el dispositivo
reCamera 2002reCamera 2002 (SG2002)
Cámara inteligente todo en uno
El propio TPU de la cámaraEfficientNet-Lite0 224², BF16No disponibleAún no hay cámara en el punto de entrega, coste de hardware mínimo; el clasificador se ejecuta en la cámara, sin host separado
reCamera ProreCamera Pro
Cámara inteligente de alto rendimiento
El propio NPU de la cámara (RV1126B)EfficientNet-Lite0 224², INT8No disponibleAún no hay cámara y el coste no es la primera preocupación; el clasificador se ejecuta en la cámara

Ambos modelos de reComputer vienen en una carcasa industrial sin ventilador (reComputer Industrial J3011 / J4012) con el mismo módulo y runtime, para un armario de control o una carcina exterior.

La columna de vocabulario abierto proviene de las notas de recursos en el catálogo de dispositivos: la torre de visión SigLIP 2 es un ONNX de 371 MB con p50 66,93 ms por imagen como línea base offline de onnxruntime en CPU y necesita un acelerador.

④ Todo lo demás: un consumidor MQTT (el paquete ejecuta un broker local en 1883); si el diseño tiene una compuerta o un indicador de carril, el hardware del controlador más el código de integración para la devolución de llamada GPIO, que se entrega sin estar vinculado a ningún pin. La cadena principal no necesita acceso a Internet.

Límites de selección negativa​

  • Vocabulario abierto Zero-Shot: Si necesitas añadir nuevas categorías de residuos dinámicamente sin reentrenar, no elijas J3011 (pista no compatible); elige J4012 (16GB).
  • Desenfoque de movimiento en la cinta transportadora: Si la cinta se mueve más rápido de 1,5 m/s, las cámaras con obturador rodante producen desenfoque de movimiento; usa cámaras industriales con obturador global.

Cómo desplegar in situ​

Define primero el encuadre y el disparo, luego instala el software. Clasificado como intermedio, alrededor de 35 minutos para un primer despliegue.

Uno: instala el hardware, el encuadre y el disparo​

Un elemento por imagen, lo bastante grande

No hay ningún detector en esta cadena. Dos elementos en un fotograma producen una sola respuesta, y qué elemento describe es indefinido; los elementos que ocupan una parte demasiado pequeña del fotograma se clasifican peor. Monta la cámara mirando hacia abajo al área de caída para que un solo elemento llene una parte utilizable del fotograma, y decide antes del despliegue si el disparo es un botón, HTTP o detección de movimiento.

Dos: instala el software​

Los pasos por dispositivo están en la página del diseño de referencia, donde elegir una configuración para tu sitio también te da el paquete de aplicación correspondiente para descargar.


Hay cinco preajustes: Camera + reComputer J30 / J40 (Orin), Camera + reComputer R2000 series (R2035-12, Hailo-8), Camera + reComputer RK3588, reCamera (SG2002) y reCamera Pro. Los pasos siguientes cubren los preajustes Orin y Hailo-8; los pasos para los otros tres están en la página de despliegue.

  1. Elige un preajuste y un host. Camera + reComputer J30 / J40 (Orin) o Camera + reComputer R2000 series (R2035-12, Hailo-8).
  2. Despliega el runtime de clasificación de residuos (obligatorio). En Orin el motor TensorRT se construye en el dispositivo durante el despliegue (68 s en J4012); el motor está ligado a la arquitectura de la GPU y a la versión de TensorRT y no puede precompilarse para su distribución. En Hailo los pasos de despliegue comprueban tres puertas ABI de Hailo y luego descargan el HEF.
  3. Observa la clasificación en vivo (opcional). El panel local en el puerto 8080 tiene una vista previa MJPEG, contadores de estado y el top-3 de resultados recientes. Confirma aquí el encuadre antes de cablear nada.
  4. Cablea el disparo y confirma una clasificación (obligatorio). Una pulsación de botón, llamada HTTP o evento de movimiento debe producir exactamente un mensaje MQTT en waste/<stream-id>/results, con category y confidence coincidiendo con top3[0].
  5. Cambia a la pista de vocabulario abierto (opcional, solo Orin). Establece model.track: open_vocab en el momento del despliegue.

Qué interfaces están disponibles​

El host de clasificación expone dos interfaces y una devolución de llamada en proceso, todas servidas por el propio host.

  • Sistema de operaciones o de registro: suscríbete a waste/<stream-id>/results en el puerto 1883. Un JSON por clasificación.
  • Interfaz de kiosco, pasarela PLC o script de prueba: POST /trigger en el puerto 8080 dispara una captura y clasificación; /events devuelve resultados recientes con su top-3.
  • Compuerta, relé o indicador de carril: una devolución de llamada GPIO asíncrona transporta el resultado de cuatro vías. No está vinculada a ningún pin; el código de vinculación es trabajo de integración.

Tabla completa de interfaces​

TipoDóndeContenidoNotas
mqtt1883, waste/<stream-id>/resultstype, version, taxonomy_version, device, stream_id, frame_id, timestamp, trigger, inference_time_ms, pipeline_ms, category (class_id, class_name, china_category, china_category_zh), confidence, top3[], image_ref, model (name, backbone, input, onnx_sha256, accelerator)Uno por clasificación. Validado contra el esquema de eventos antes de publicar
http8080, /trigger /preview.mjpg /healthz /eventsPOST /trigger dispara una captura y clasificación (el disparo se registra como http); MJPEG en vivo; un endpoint de estado con tiempo de inferencia, recuentos de disparo y antirrebote y recuentos MQTT; resultados recientes con top-3Panel local, sin autenticación
Devolución de llamada GPIOEn procesoResultado de cuatro vías, de forma asíncronaactuator.enabled es false por defecto. No está vinculado a ningún pin

Dos cosas a tener en cuenta al leer los campos:

  • La imagen nunca está en la carga útil. image_ref.kind es none, local u object_store. Los bytes de imagen en Base64 en una carga útil violan el contrato y se rechazan antes de publicar.
  • category siempre es igual a top3[0], y confidence siempre es igual a top3[0].confidence. Ambos se comprueban antes de publicar y las cargas útiles que fallan se cuentan y descartan, por lo que los consumidores no necesitan reconciliarlos.
{
"type": "waste_classification",
"version": "1.0.0",
"device": "waste-sorting-station-01",
"stream_id": "cam_inlet_01",
"timestamp": 1729000000.789,
"trigger": "sensor",
"inference_time_ms": 3.53,
"pipeline_ms": 4.12,
"category": {
"class_id": 3,
"class_name": "plastic_bottle",
"china_category": "recyclable",
"china_category_zh": "可回收物"
},
"confidence": 0.942,
"top3": [
{"class_id": 3, "class_name": "plastic_bottle", "confidence": 0.942},
{"class_id": 5, "class_name": "glass_bottle", "confidence": 0.038},
{"class_id": 1, "class_name": "metal_can", "confidence": 0.012}
]
}

El broker MQTT incluido permite conexiones anónimas para la puesta en servicio local; usa un broker con credenciales en un despliegue en producción.

Rendimiento y datos medidos​


Medido en el dispositivo: clasificador base (EfficientNet-Lite0)​

DispositivoPrecisiónImágenes de validaciónTop-1 de materialTop-1 de cuatro víasDiferencia respecto a CPU fp32 en las mismas imágenesInferencia p50 / p95
reComputer R2000 series (R2035-12) + Hailo-8INT8 (HEF de entrada uint8)74170,88890,9507+0,12 pp3,166 ms / 3,249 ms
reComputer RK3588 seriesINT8 (calib256+mmse)74170,88820,9507+0,05 pp3,165 ms / 3,857 ms
reComputer RK3588 seriesfp1674170,88820,9505+0,05 pp5,962 ms / 12,566 ms
reCamera Pro (RV1126B NPU)INT810600,87640,9566+0,19 pp5,824 ms / 6,047 ms
reCamera (SG2002 TPU)BF1610600,87920,9566+0,47 pp24,276 ms / 24,323 ms

Condiciones: solo inferencia, excluyendo captura y preprocesamiento, una sola secuencia consecutiva; el preprocesamiento es lado más corto 256 → recorte centrado 224, con la normalización incorporada en el modelo para que el dispositivo reciba uint8. 7417 imágenes es el conjunto completo de validación; 1060 imágenes es cada séptima imagen, un subconjunto en el que el top-1 de CPU fp32 es 0,8745 (0,8877 en el conjunto completo), así que compara el top-1 entre conjuntos de imágenes a través de la columna "diferencia respecto a CPU fp32". reCamera Pro se midió con la aplicación integrada de la cámara detenida; reCamera alcanza un pico de 11,6 MB de memoria residente.

  • Ambos hosts NPU tienen el mismo p50 (3,2 ms); en Hailo-8 p95 está solo 0,08 ms por encima de p50, en RK3588 INT8 está 0,69 ms por encima.
  • En RK3588, INT8 y fp16 dan el mismo top-1 de material e INT8 es 1,9× más rápido. INT8 usa 252 imágenes de calibración, el algoritmo mmse y cuantificación por canal; en una muestra de 50 imágenes, normal coincidió con la CPU en 0,90 y mmse en 0,98–1,00. La conversión mmse tarda entre 40 y 90 veces más que normal (17,3 minutos frente a 11,5 segundos con 256 imágenes de calibración), coste pagado una sola vez en la conversión.
  • El HEF de Hailo-8 se compila con DFC 3.31.0 a optimization_level=2 (fine-tuning consciente de la cuantificación); el HEF anterior con optimization_level=1 estaba 2,40 pp por debajo de CPU fp32, y la brecha desaparece con el HEF actual.
  • En reCamera Pro, INT8 es 2,9× más rápido que fp16 y 4,2× más rápido que reCamera; INT8, fp16 y CPU fp32 están dentro de 0,2 pp entre sí en las mismas 1060 imágenes.

Reproducir: evaluation/runs/2026-09-07-hailo-quant-tuning, evaluation/runs/2026-09-07-devices/results-rk3588.md, evaluation/runs/2026-09-06-m1c-rk3588-radxa, evaluation/runs/2026-09-07-recamera-pro, evaluation/runs/2026-09-07-devices/results-recamera-sg2002.md

Medido en el dispositivo: construcción del motor Orin y de disparo a respuesta​

ElementoResultadoDispositivoCondiciones
Construcción del motor TensorRT68 s / 72 sreComputer J40 series (J4012) / J30 series (J3011)FP16, construido en el dispositivo en el momento del despliegue
De disparo a respuesta4,122 msreComputer J40 series (J4012)pipeline_ms en el evento MQTT para un POST /trigger, de los cuales la inferencia es 3,533 ms
Inferencia p50 / p950,992 ms / 1,265 msreComputer J40 series (J4012)El motor desplegado, subconjunto de validación de 1060 imágenes, una sola secuencia consecutiva
Top-1 de material0,8755, 99,91% de concordancia con la CPUreComputer J40 series (J4012); J30 series (J3011) re-medido bit a bit idénticoMismo subconjunto de 1060 imágenes, CPU fp32 0,8745

Reproducir: evaluation/runs/2026-09-08-orin-nx-acceptance, evaluation/runs/2026-09-08-orin-nx-acceptance-2, evaluation/runs/2026-09-08-orin-nano-acceptance

Clasificador de referencia: precisión de CPU​

MétricaValorCondiciones
Material top-1 (8 clases)0.8877val, 7417 imágenes; onnxruntime 1.25.1 CPU; ONNX e9f9e847…, 13,477,056 B
Material top-50.9833Igual
China cuatro vías top-10.9500Igual; búsqueda sobre el argmax de ocho clases
macro-F1 (7 clases con muestras)0.8511textile excluida — cero muestras
Material top-1, test reservado0.8802test, 7290 imágenes
Latencia de inferencia por imagen, CPUmedia 16.796 ms / p50 14.724 ms / p95 28.718 mssolo session.run, referencia offline en CPU, batch 1, no es una cifra de dispositivo
Imágenes con confianza por debajo de 0.5318 (4.3%)val
Acuerdo ORT PTQ INT8 vs fp320.965200 imágenes de val, por canal + MinMax, sin colapso

El top-1 de cuatro vías (0.9500) es mayor que el top-1 de material (0.8877) porque la confusión entre vidrio, metal y plástico cae toda en reciclables; solo la métrica de cuatro vías exagera lo bien que el modelo distingue materiales.

Reproducir: evaluation/runs/2026-09-06-m1c-cpu

Pista de vocabulario abierto: SigLIP 2 ViT-B/16​

MétricaValorCondiciones
Material top-1 (8 clases)0.8501val, 7417 imágenes; conjunto de prompts en inglés waste8-en/v1, plantilla t02, 16-shot α=0.8, temperatura 0.0075
Material top-50.9987Igual
China cuatro vías top-10.9393Igual; ruta jerárquica (ocho clases, luego mapeo)
macro-F1 (7 clases)0.7460Igual
ECE (15 bins)0.0221Igual
AUROC de conjunto abierto0.7538Media sobre las 7 clases con muestras, dejando-una-clase-fuera, puntuación = 1 - max softmax
Acuerdo chino–inglés (misma imagen)material 0.8698 / cuatro vías 0.9143Un embedding visual, tres bancos de prototipos
Material top-1, test reservado0.8620test, 7290 imágenes
Latencia de inferencia por imagenp50 66.93 ms / p95 91.62 msreferencia offline en CPU, batch 1, solo torre de visión, no es una cifra de dispositivo

Frente al baseline (misma partición):

MétricaBaseline (MobileNetV3-Small)Vocabulario abierto (SigLIP2-B/16)
Material top-1, val0.87920.8501
Material top-1, test0.88070.8620
China cuatro vías top-1, val0.95190.9393
macro-F1, val0.82920.7460
ECE (15 bins), val0.03080.0221
AUROC de conjunto abiertoNinguno (una cabeza de conjunto cerrado no puede descartar una clase sin reentrenar)0.7538
Acuerdo chino–inglésSin lado de texto0.8698 / 0.9143
Nuevas clases zero-shotReentrenamiento requeridoEditar el prompt
Latencia p50 en CPU1.57 ms66.93 ms

El baseline en esta comparación es el MobileNetV3-Small reemplazado. El EfficientNet-Lite0 distribuido alcanza un top-1 de val de 0.8877 en esta partición con un p50 de CPU de unos 14.7 ms, lo que reduce la relación de latencia de 40× a 4–5×.

Reproducir: evaluation/runs/2026-09-05-w1-cpu

La torre de visión SigLIP 2 medida en NPUs Rockchip (fp16, rknn-toolkit2 / librknnrt 2.3.2; el modelo RK3588 es un .rknn de 191 MB):

Dispositivop50 / p95 por imagenCoseno del embedding vs CPU, media / mínimo
reComputer RK3588 series169.4 ms / 170.5 ms0.999617 / 0.998841
reComputer RK3576 series152.51 ms / 176.59 ms0.99965 / 0.99900

Reproducir: evaluation/runs/2026-09-06-m1c-rk3588-radxa, evaluation/runs/2026-09-06-rk3576-cat

Huella de despliegue​

ElementoTamaño
ONNX de baseline (efficientnet_lite0_waste8.onnx)13,477,056 B
ONNX de la torre de visión SigLIP 2 (siglip2_vision_224.onnx)371,695,898 B
Bancos de prototipos + informe de calibraciónunos 155 KB en total

Tiempos de ejecución y parámetros clave​

DispositivoModeloPrecisiónRuntimeCómo llega el modelo al dispositivo
reComputer J30 / J40 seriesEfficientNet-Lite0 224²FP16TensorRTMotor construido en el dispositivo en el momento del despliegue, ligado a la arquitectura de la GPU y a la versión de TensorRT; no puede precompilarse para distribución
reComputer J40 series (pista opcional de vocabulario abierto)Torre de visión SigLIP 2 ViT-B/16 + prototipos de texto constantes——model.track: open_vocab
reComputer R2000 series + Hailo-8EfficientNet-Lite0 224²INT8 (entrada uint8, normalización dentro del HEF, optimization_level=2)HailoRT 4.21.0HEF compilado fuera del dispositivo con DFC 3.31.0, descargado en el momento del despliegue
reComputer RK3588 seriesEfficientNet-Lite0 224²INT8 (calib256+mmse)librknnrt 2.3.2Convertido fuera del dispositivo con rknn-toolkit2 2.3.2
reCamera ProEfficientNet-Lite0 224²INT8NPU de cámara (RV1126B), RKNNConvertido fuera del dispositivo con rknn-toolkit2 2.3.2, instalado en la cámara en el momento del despliegue
reCamera (SG2002)EfficientNet-Lite0 224²BF16TPU de cámara, cvimodelConvertido fuera del dispositivo con TPU-MLIR, instalado en la cámara en el momento del despliegue
  • Antirrebote del disparador: 800 ms; un disparador que llega mientras el anterior sigue ejecutándose se fusiona, no se pone en cola
  • Modo continuo: solo publica cuando el top-1 es el mismo durante 3 fotogramas seguidos; el modo de disparo da una respuesta por toma
  • actuator.enabled: false por defecto; la devolución de llamada GPIO no está vinculada a ningún pin

Degradaciones conocidas​

  • textile tiene cero muestras de entrenamiento y evaluación: ninguno de los conjuntos de datos de origen tiene una clase de tejido. El octavo logit se mantiene (la salida ONNX sigue siendo 1×8), pero el modelo nunca lo ha predicho, y todas las tablas informan n/a para él.
  • Ninguna clase de material se asigna a hazardous; se mantiene en el enum por estabilidad de esquema y la build actual nunca lo emite.
  • organic constituye el 48.9% de train y el 47.1% de val; su recall (0.9791) está muy por encima de las otras clases (0.70–0.88), y el modelo empuja hacia ella los elementos inciertos.
  • residual tiene solo 20 muestras de val; la pista de vocabulario abierto alcanza 0.2754 de precisión y AUROC de dejar-una-fuera de 0.5795 en ella, cercano al azar.
  • En la pista de vocabulario abierto, predecir la clase de cuatro vías directamente a partir de prompts en chino da solo 0.8478; la ruta jerárquica (ocho clases, luego mapeo) da 0.9393.
  • El MobileNetV3-Small reemplazado colapsa bajo INT8 en las tres cadenas de borde: acuerdo del emulador Hailo DFC 0.115, reComputer RK3576 series 0.10, reComputer RK3588 series 0.22 (fp16 0.98–1.00); por eso el baseline pasó a EfficientNet-Lite0. Los resultados INT8 de RK3588 no se trasladan a RK3576.
  • La torre de visión SigLIP 2 falla la cuantización INT8 para Hailo-8 (hailo optimize da errores en la capa ne_activation_mul_and_add78), por lo que no hay HEF; la pista de vocabulario abierto no se ejecuta en la reComputer R2000 series.
  • Ambos conjuntos de datos son fotos de un solo elemento (TrashNet sobre una pizarra blanca, GC3 descentrado y a menudo ocluido), sin residuos mojados, aplastados, apilados, a contraluz o parcialmente embolsados; la precisión en un punto de entrega en vivo será menor que las cifras de las tablas.

Fuentes de datos y recursos​

  • TrashNet — github.com/garythung/trashnet, MIT License, Copyright (c) 2017 Gary Thung. Basado en dos fuentes de primera mano: el archivo LICENSE del repositorio en el commit 6fa2b87, y el campo license de la tarjeta de dataset oficial en HuggingFace. MIT requiere que se mantenga el aviso de copyright y licencia y no tiene cláusula de compartir-igual.
  • Garbage Classification 3 — Material Identification (Roboflow Universe) — CC BY 4.0, indicado textualmente en el README.dataset.txt incluido con la exportación. La ruta del proyecto en Roboflow Universe es material-identification/garbage-classification-3.
  • SigLIP 2 — google/siglip2-base-patch16-224, revisión 75de2d55…, Apache-2.0. Usado solo por la pista opcional de vocabulario abierto.
  • Pesos iniciales MobileNetV3-Small ImageNet (torchvision) — BSD-3-Clause.
  • Código de runtime upstream — Apache-2.0.
  • Diagrama de arquitectura — dibujado a partir del catálogo de dispositivos del paquete y de las interfaces de salida; no contiene imágenes de los conjuntos de datos.

El material externo derivado de estos conjuntos de datos debe usar literalmente la siguiente cadena de atribución:

TrashNet — Gary Thung and Mindy Yang, https://github.com/garythung/trashnet,
MIT License, Copyright (c) 2017 Gary Thung.
Garbage Classification 3 — Material Identification / Roboflow Universe,
https://universe.roboflow.com/material-identification/garbage-classification-3,
licensed CC BY 4.0.

Ninguna imagen derivada de los conjuntos de datos se incluye en este paquete. Ambas licencias permiten la redistribución.

Loading Comments...