Rodrigo Laguna Profile picture
Sep 18, 2020 25 tweets 10 min read Read on X
Luego de un largo proceso de adquisición, etiquetado y curado, quedó pronta una nueva versión del que he bautizado como Clean-Dirty Conteiners in Montevideo, y está disponible en @kaggle !

kaggle.com/rodrigolaguna/…

Sale 🧵contando su génesis, proceso y futuros pasos 👇 Image
Todo comenzó en abril de este año: un vecino compartió una foto del contenedor preguntando qué se podía hacer. Reenvié la queja a la @montevideoIM y en pocas horas la situación se había regularizado. Sin embargo, es algo que pasa seguido... Image
En ese momento se me ocurrió que este proceso se puede automatizar: verificar el estado del contenedor y si requiere atención, avisar a la Intendencia.
Tomar imágenes del contenedor y twitear de forma automática es un problema sencillo. La parte difícil es saber si el contenedor está sucio o no. Para este punto, se debe entrenar un clasificador de imágenes que requiere datos etiquetados de entrenamiento, algo que no tenía.
Así que comencé a buscar fotos de contenedores en Google Imágenes, Redes Sociales y de noticias. Una búsqueda a mano: la biblioteca que solía usar para imágenes de Google, google-images-download, quedó desactualizada 😖😖😖github.com/hardikvasa/goo…
Con eso conseguí menos de 200 ejemplos: muy pocos. En su mayoría eran casos extremos poco cotidianos: en general cuando la gente se queja o es noticia, la situación es extrema. Conseguí unos pocos limpios de cuando la @montevideoIM muestra cómo quedaron tras una queja.
El siguiente paso fue pedirle a mis amigos y familiares que me pasen fotos de sus contenedores. En pleno #QuedateEnCasa @Diego76978770 tuvo tremenda idea: ¿por qué ir hasta el contenedor, si puedo "caminar" en Google Street View? ImageImage
La idea era muy buena, pero ¿podrá escalar? Afortunadamente @montevideodti tiene disponibles como #DatosAbiertos la ubicación de todos los contenedores de la ciudad, y en CSVs: un éxito! catalogodatos.gub.uy/dataset/intend…
Un detalle es que la ubicación es una esquina, y el contenedor puede estar en cualquier parte de la esquina, e incluso puede no estar, los contenedores se cambian de lugar.
Por tanto, hice un pequeño dataset para encontrar contenedores, que también quedó disponible: kaggle.com/rodrigolaguna/… Image
Con esto, el dataset creció bastante. Sin embargo, la mayoría de las fotos no contenían contenedores, eran de un ángulo malo y eran de contenedores limpios. Además, son muy particulares, contienen blur en ciertas partes y marcas de agua. Por tanto continué la recolección normal. ImageImage
Con esto llegué a la versión inicial: unas 600 imágenes de contenedores limpios y unas 450 de contenedores sucios. El clasificador inicial que entrené no funcionaba suficientemente bien, así que decidí continuar con la recolección manual: tomar fotos durante paseos/mandados...
Este fin de semana llegué a la versión actual: 1133 imágenes de contenedores limpios y 746 contenedores sucios, separados en entrenamiento y test de forma independiente.
Algunas particularidades: el etiquetado binario hace que un montón de grises vayan a blanco o negro, limpio o sucio. ¿Qué pasa si hay apenas una bolsa fuera del contenedor? O un sillón? O una caja? No es lo correcto, pero ¿amerita un reclamo?. ImageImageImageImage
En principio, todo surgió como un pasatiempo de cuarentena. Poner una cámara frente a cada contenedor no es muy viable a gran escala. La ventaja de tener una cámara dedicada a un contenedor es que apenas se ensucia, automáticamente se reporta.
Conversando sobre el tema, fueron surgiendo otras opciones: se podrían utilizar las cámaras de los autos que recorren la ciudad multando vehículos subrayado.com.uy/asi-funcionan-… Con una misma cámara se pueden fiscalizar múltiples contenedores de manera automática
Otra posibilidad sería desarrollar una aplicación que permita a los vecinos reportar el estado de los contenedores de su barrio mediante imágenes. Esto ya existe:
Se llama Por mi barrio, de @DATAuy , permite reportar problemas en general por parte de los ciudadanos, en particular, sobre el estado de contenedores. Se genera un reporte que va derecho a la @montevideoIM .
pormibarrio.uy
Sería interesante acceder a esa base de imágenes para incrementar el dataset. En ese sentido, un clasificador podría ayudar a priorizar las denuncias, aunque desconozco si el volumen de datos recibido amerita.
Por último, ¿es útil denunciar contenedores sucios?
Según Eduardo Fernandez, director de limpieza de la IMM, cuando reciben denuncias las resuelven en menos de 24hs, pero muchas veces "nadie denuncia". "A nosotros los reclamos nos sirven porque nos podemos enterar de lo que está pasando".
elobservador.com.uy/nota/otro-efec…
Como comentario final, no creo que esto sea la panacea, pero quizá sea útil. Por lo pronto comparto el dataset. En breve espero seguir con los siguientes pasos y antes de fin de año quizá tener el bot corriendo 🤖🏃‍♂️💨
Un detalle que olvidé mencionar, pero creo importante: todo eldataset está público bajo licencia @creativecommons 4.0 cc BY: cualquiera puede usarlo con cualquier propósito, incluso comercial, sin siquiera avisarme... la magia de los #DatosAbiertos

creativecommons.org/licenses/by/4.…
de más está decirlo: si quieren contribuir al dataset, no duden en contactarme. No tiene por qué ser una base de datos entera, recibo de a pocas fotos igual 😁😁

El dataset va a seguir creciendo 🤓
Muchas gracias a @ObservadorUY por la posibilidad de difundir el trabajo!

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Rodrigo Laguna

Rodrigo Laguna Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @ro_laguna_

Jun 15, 2020
El tiempo pasa ⏳, quedan 15 días para que termine @MVDDecide y hasta el momento, ninguna propuesta ha llegado a los 500 apoyos ✔️.

Va hilo resumen de cómo viene la cosa hasta el momento para estas propuestas... 👇👇
Como soy muy ansioso 🙈, hice un breve script para chequear cómo va cambiando la cantidad de apoyos 📨📨 en cada propuesta 🤖🤖
Para poner un 'orden', absolutamente arbitrario, voy a compartirlas ordenadas según la cantidad de apoyos nuevos que han recibido desde el 10/6 a las 17hs, al 15/6 11hs.
Este "reporte" perfectamente podría automatizarse, pero mi ansiedad no llega a tanto... 😅
Read 20 tweets
Jun 10, 2020
Quedan 20 días para participar de @MVDDecide proponiendo y apoyando ideas.

Acá dejo una nota de @NoToquenNada sobre el primer ciclo (2018), que lo explica mucho mejor

Y a continuación, va 🧵🧵con propuestas bici-friendly🚲❤️
Las propuestas necesitan 500 apoyos para pasar a la siguiente fase, y ninguna los ha alcanzado.

Arranco con esta: ciclovía en AV. Libertador. Tiene 10 apoyos. decide.montevideo.gub.uy/proposals/1234…

Esta la propuse yo 😁😁
Pisando los 100 apoyos (84 en este momento), está la idea de una bicisenda en Cesar Mayo Gutierrez, desde la perimetral al puente La Paz.

Lo que me gusta de esta propuesta es que no es en el centro de Montevideo

decide.montevideo.gub.uy/proposals/1105…
Read 25 tweets
May 28, 2020
Hoy hace 76 días que pisé por ultima vez @Pyxisportal edificio. Ese Viernes 13 fue el último en que fui a trabajar, almorcé con mis compañeros y terminó la jornada con un #AsadoDeLosNuevos
#WinterIsComing y con ello las naranjas. Y qué tiene que ver? Image
La 🍊 es de mis frutas favoritas, y pelaras sin enchastrarme las manos es de las habilidades más elogiadas en el piso 10, así que decidí escribir un hilo 🧵 sobre cómo pelar una y no hacer un desastre en el camino, para los compas con los que hace 76 días no almorzamos juntos
Lo fundamental para esto es no cortar los gomos: cortar los gomos libera el jugo y asegura el enchastre. Es por esto que preferimos las naranjas de mesa: una cáscara gruesa facilita el trabajo.

El primer paso es cortar arriba y abajo los "polos" de la naranja ImageImageImage
Read 15 tweets
May 28, 2020
Según la @montevideoIM "Se consideran ruidos molestos los que superen 45 dB(A) en el interior de la vivienda denunciante, entre las 7.00 y las 22.00 horas, y 39 dB(A) entre las 22.00 y las 7.00 horas"... Pero pero pero... Image
Esto viene de hace tiempo: largas jornadas de #homeoffice con oídos taladrados por la bendita obra de la rambla. En particular lo notamos luego que volvió la construcción de la cuarentena, el contraste fue terrible.
Sin embargo...
Hoy es el tercer día consecutivo que empezaron a laburar de noche. Si, a estas horas. Hicimos la denuncia al servicio de convivencia departamental, 29010006. Nos dijeron que tenían permiso para trabajar por las noches porque estaban atrasados...
Read 6 tweets
Dec 5, 2019
Hola @imtransito cómo van? Llevamos poco más de una semana con estos cambios, que van para largo, y el barrio es un caos.

Les escribo en particular por la parada suprimida en Paraguay y Nueva York. Que chances hay de restituirla? (Sigue)
Entiendo que la idea es eliminar esa parada para facilitar el tránsito. Sin embargo, somos unos cuantos que vamos hasta ahí cada día a tomar el bus. Esa medida nos perjudica. (Sigue)
Se me ocurre que en vez de suprimir la parada esa, se pueden tomar otras medidas para mejorar el tránsito en la zona, que no desinsentiven el transporte colectivo, ejemplos: (sigue)
Read 12 tweets
Nov 14, 2019
And finally, after finding many different ways on how not to do this.... some characters start to appear! Much more things to prove yet but at least there are some of them :D #Khipu2019 @DelCruzar
@DelCruzar Well, I could submit my first (baseline?) model and it scores 1.0. What does it exactly means? not really sure, 0 is a perfect match, so the lower, the better. The score is the average *error* among each of the evaluation samples...
@DelCruzar ... where *error* is the levenshtein distance between both strings (predicted and real) divided by the number of chars in the real string.
But, what is levenshtein distance?
Read 13 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(