Hola a todos! Soy un poco nuevo por aqui pero Arduino ya me ha enganchao. Ahora mismo quiero preparar un proyecto orientado al sector del automóvil donde tenga cabida arduino + cámara de reconocimiento de objetos (aún no sé exactamente qué quiero hacer, pero se aceptan sugerencias!)
El problema está en que estas cámaras de reconocimiento de objetos transmiten mucha información que puede petar el arduino (a parte que son muy caras) y quería saber si alguien tiene algún tipo de experiencia con estas cámaras, qué posibilidades ofrecen y alguna cosita interesante que me podáis contar.
He encontrado la cámara Pixy (Pixy - Low Cost Camera Recognizes Objects) pero no sé si sólo reconocimiento de color valdrá para lo que quiero hacer (detectar señales de tráfico u otros coches).
Roberto, hace poco respondí esto para un padre que queria regarle un kit a su hija que estudia Imagen y sonido.
Arduino no puede con los algoritmos de imagen.
Debe ser un ARM como el BeagleBone Black o el Rasperry PI.
Debes usar OpenCV para las rutinas de reconocimiento y para ello necesitas capacidad importante de procesamiento.
Pixy es fabuloso pero sigue colores, no lo que buscas.
Yo he investigado porque me encanta el tema. Pero tambien me detuvo.
Tengo informacion para el BB usando una camara e incluso cargandole las librerias OpenCV.
Luego te paso mas información pero investiga OpenCV primero. Domina todo usando Visual C++ y luego hay que pasar al microcontrolador sino es mucho trabajo.
surbyte:
Roberto, hace poco respondí esto para un padre que queria regarle un kit a su hija que estudia Imagen y sonido.
Arduino no puede con los algoritmos de imagen.
Debe ser un ARM como el BeagleBone Black o el Rasperry PI.
Debes usar OpenCV para las rutinas de reconocimiento y para ello necesitas capacidad importante de procesamiento.
Pixy es fabuloso pero sigue colores, no lo que buscas.
Yo he investigado porque me encanta el tema. Pero tambien me detuvo.
Tengo informacion para el BB usando una camara e incluso cargandole las librerias OpenCV.
Luego te paso mas información pero investiga OpenCV primero. Domina todo usando Visual C++ y luego hay que pasar al microcontrolador sino es mucho trabajo.
Muy buenas surbyte. Ante todo muchas gracias por la respuesta.
Tenía entendido que el micro del Arduino podría controlar la cámara para que el microcontrolador 'filtrara' y recibiera sólo la información que interesa Arduino, rebajando así los datos recibidos y haciendo que el procesador pudiera con toda esa información. Pero si dices que simplemente el Arduino no puede con los algoritmos pues mi gozo en un pozo...
La verdad es que estoy un poco empeñado en utlizar Arduino, ya que lo domino un poco y tengo una fecha límite para realizar este proyecto, por tanto meterme desde el principio prácticamente con un ARM no lo veo realista,lo veo interesante, pero para un futuro.
Pienso que Pixy también puede ofrecer algo interesante para lo que estoy buscando (aunque no sé realmente qué,quizás puedas darme alguna orientación), y tampoco sé si hay alguna otra cámara parecida con la que pueda utlizar mi amado Arduino Mega
Mira si tienes Pixy puedes hacer algo muy bueno pero no vas a poder detectar señales de tráfico u otros coches.
Detectar otros coches o señales es muy facil en OpenCV pero en una PC. Yo lo he ensayado con Visual C y es brutal pero es potencia de un Core i5 por lo menos con buena ram usando una WebCam si quieres o una cámara IP.
Imagina todo eso para un Arduino.
Primero la cámara.. ya es un trabajo mover tanta información de una camara con una resolucion digamos 320x240 y luego recibir todo eso via RS232 como vi algunas tal vez viejas.
Ya que no tienes nada DMA ni mucho menos.
Luego nuestros Arduinos tienen poca RAM y eso implica grandes matrices o no tan grandes manejos de memoria.
El mega es buena alternativa pero tal vez un DUE mejor, igualmente todo muy complejo en el ambiente arduino con Imagenes.
No se que tienes que presentar en tu proyecto o trabajo, cuenta un poco mas.
Mira esto... dije que no pero tal vez esto sirva parcialmente con un YUN
Y esto... tal vez sea lo que buscas
pero aunque interesante solo tiene un seudocódigo.
surbyte:
Mira si tienes Pixy puedes hacer algo muy bueno pero no vas a poder detectar señales de tráfico u otros coches.
Detectar otros coches o señales es muy facil en OpenCV pero en una PC. Yo lo he ensayado con Visual C y es brutal pero es potencia de un Core i5 por lo menos con buena ram usando una WebCam si quieres o una cámara IP.
Imagina todo eso para un Arduino.
Primero la cámara.. ya es un trabajo mover tanta información de una camara con una resolucion digamos 320x240 y luego recibir todo eso via RS232 como vi algunas tal vez viejas.
Ya que no tienes nada DMA ni mucho menos.
Luego nuestros Arduinos tienen poca RAM y eso implica grandes matrices o no tan grandes manejos de memoria.
El mega es buena alternativa pero tal vez un DUE mejor, igualmente todo muy complejo en el ambiente arduino con Imagenes.
No se que tienes que presentar en tu proyecto o trabajo, cuenta un poco mas.
Mira esto... dije que no pero tal vez esto sirva parcialmente con un YUN
Y esto... tal vez sea lo que buscas
pero aunque interesante solo tiene un seudocódigo.
Pues mira te cuento un poco más. Debo realizar un proyecto (y sólo tengo hasta febrero/marzo) en el campo del automóvil. El tema es un poco libre y cuanto más innovativo mejor, pero no soy ningún profesional y quiero ser realista.Dado que ya tengo un poco de experiencia en Arduino y mi coordinador me ha comentado esta idea del reconocimiento de objetos, quería juntar las 2 cosas, pero ando un poco perdido sobre exactamente cómo puedo usar estas 2 cosas en una aplicación interesante.
También tengo algo de experiencia con las redes CAN-Bus (ya que precisamente se usan mucho en el sector del automóvil), pero no sé de qué manera lo puedo relacionar con lo anterior.
Entiendo lo que me cuentas sobre que el Arduino queda un poco cojo para manejar la información, poca RAM, y más sabiendo que Pixy maneja una resolucion de 640x400. Como te dije ando un poco perdido.
Me he leído con calma lo que has puesto sobre el Rover y me parece bastante interesante, quizá pueda sacar alguna idea de ahí. Aunque no me queda claro: dicen que usan un arduino pero he visto que incorporan un miniPC MK802II. ¿Quizá porque arduino no es suficiente para procesar la información de la cámara o se refiere sólo al sistema de navegación/control del Rover?
Y muchísimas gracias, me estás aclarando un poco las cosas
Como te daras cuenta hay muchas trampitas en las cosas.
Yo no se si recomendarte trabajar con BB black, es estar cómodo con varias cosas, ambiente LINUX, y programación en ARM. Pero es notable su potencia.
Yo no perdería tiempo, compraría una placa e intentaría hacer la conexión con la webcam a BB bone, si lo logras continua por ese camino.
Si no perdiste 50 a 70 dolares nada mas y una placa para un proyecto futuro. Estamos a Noviembre puedes destinar un poco de tiempo y tomar una conclusión luego.
OpenCV es facilmente porteable a BB. En ARduino me parece tomado de los pelos.
SI miras con detenimiento Pixy no es ARDUINO, es un ARM, configurado solo para detectar colores y con rutinas armadas para seguir objetos.
Asi que por ahi no va si necesitas lo que ya contaste.
Sino olvida todo esto, y comprate una PC embededd y hazlo ahi, lo trabajas normal con VIsual C en tu pc y luego lo guardas en lal PC embebida.
mas cara pero facilmente integrable.
Ahora con mas neuronas esta el BB.
La decisión es tuya, jajajaja, yo haría la prueba con BB.
Hay foros excelentes en ingles.. recuerdo que esto excede el nivel medio y mas que medio.
Verás incluso las dudas que hay en el foro OpenCV y ya hablamos de programadores C++ con buen dominio y otros no tanto como siempre.
surbyte:
Como te daras cuenta hay muchas trampitas en las cosas.
Yo no se si recomendarte trabajar con BB black, es estar cómodo con varias cosas, ambiente LINUX, y programación en ARM. Pero es notable su potencia.
Yo no perdería tiempo, compraría una placa e intentaría hacer la conexión con la webcam a BB bone, si lo logras continua por ese camino.
Si no perdiste 50 a 70 dolares nada mas y una placa para un proyecto futuro. Estamos a Noviembre puedes destinar un poco de tiempo y tomar una conclusión luego.
OpenCV es facilmente porteable a BB. En ARduino me parece tomado de los pelos.
SI miras con detenimiento Pixy no es ARDUINO, es un ARM, configurado solo para detectar colores y con rutinas armadas para seguir objetos.
Asi que por ahi no va si necesitas lo que ya contaste.
Sino olvida todo esto, y comprate una PC embededd y hazlo ahi, lo trabajas normal con VIsual C en tu pc y luego lo guardas en lal PC embebida.
mas cara pero facilmente integrable.
Ahora con mas neuronas esta el BB.
La decisión es tuya, jajajaja, yo haría la prueba con BB.
Hay foros excelentes en ingles.. recuerdo que esto excede el nivel medio y mas que medio.
Verás incluso las dudas que hay en el foro OpenCV y ya hablamos de programadores C++ con buen dominio y otros no tanto como siempre.
Muchas gracias surbyte, he estado mirando la BB y no parece tampoco muy complicado, probaré tambien con eso.
Hoy se me ha ocurrido una cosa, a ver que te parece: Podría implementar una detección de semáforos son arduino utilizando Pixy o alguna otra cámara? Daría problemas para recoger los colores?