Soy programador ABAP desde hace 15 años. Ando viendo qué show con el deep learning, nomás por curiosidad por que es un tema que me empecé a topar en todos lados y quise ver qué es, cómo se programa, qué se puede hacer, qué tan difícil es y así. Quise empezar con un curso en inglés (hay un buen de universidades gringas con cursos gratis [stanford, cambridge, etc]) , pero la mayoría duran meses y/o se ponen lokos desde el primer video, sueltan un buen de términos bien locochones y como que marean a los que nomás andamos de curiosos. Debo decir que tu canal es el mejor recurso que he encontrado. En mi experiencia, encontrar muy buenos programadores es muy difícil, y todavía es más difícil encontrar programadores que también te sepan explicar sus ideas o que sepan "enseñar" y que ademaaas no sean bien ches soberbios. Mis completos respetos para ti, eres muy cabr$n para programar, explicas muy chingón, eres humilde y tienes muy buen sentido del humor. En tus videos haces que los temas sean fáciles de entender, digeribles y completamente replicables. Neta si se motiva uno, no solo a verlos, sino también a ponerse a codificar. Ojalá que tu canal crezca un chingo, neta no hay otro canal en español de inteligencia artificial así de bueno.
Qué te digo, muchísimas gracias, creo que es el mejor comentario que he leído en mi canal jajaja me entró una basurita en el ojo. Oye pero efectivamente por eso pasé yo (tomar cursos en inglés, unos excesivamente matemáticos, o que empezaban fácil y se dificultaban demasiado, o buenos pero en general aburridos). Como en español hay muy poco contenido, quise poner mi granito de arena, y en eso ando. Como te dejé en otro comentario que hiciste en otro video, este tema de visión artificial me apasiona mucho porque se puede aplicar en demasiadas cosas, la imaginación es el límite. Pero en su momento yo también pensé que era magia negra, y al final yendo paso a paso la verdad se pueden hacer cosas muy buenas. Muchas gracias otra vez por tu comentario y espero seguir cumpliendo tu expectativa!
Muchas gracias! Que bueno que te gustó, espero este y siguientes te sirvan y entretengan.
2 года назад
Permíteme felicitarte por este video y todos los contenidos que tienes. Las explicaciones son concisas y muy prácticas en la medida de lo posible sin perder rigurosidad y, adicionalmente, son entretenidos. Espero que este canal crezca mucho.
Al contrario, gracias por el comentario. Ese tema de visión artificial es, a mi gusto, mucho más divertido, pero un poco menos requerido. Haré una pausa para irme a redes neuronales y luego regreso. Pero esta serie del plátano sí la terminé jaja
Muy didáctico el contenido explicado (como en otros vídeos), el código se sigue muy bien. No deja de sorprenderme la rapidez con la que los navegadores interpretan el código en estas tareas de procesar vídeo en tiempo real.
Estimado profesor, felicidades y agradecerte lo ameno, instructivo, útil y divertido de tus vídeos. He aprendido (estoy aprendiendo) un montón gracias a tí. Enhorabuena y un cordial saludo desde España.
Hola, excelente! Qué bueno que te gustó, estoy bien orgulloso de esta serie de videos del plátano control aunque youtube no lo quiera mucho jaja saludos desde México!
Excelente explicación, se aprende mucho la verdad, aveces uno no sabe como aplicar lo aprendido de matemáticas en la programación y aquí un claro ejemplo con la distancia muy bueno
Al contrario, gracias por tu comentario, espero te haya servido! Es el 1 de 4 entonces si quieres ver el proyecto completo ahí están, aunque son un poco largos jaja
Muchas gracias, qué bueno que te gustó y sirvió. Ya están las otras 3 partes arriba y la serie terminada, entonces adelante y me dices si batallas con algo.
Esta super, tuve que cambiar el color, no se si mi camara o mi iluminación pero tuve que calcular la distancia contra el negativo de un verde(#80ff00) = "#7f00ff"{r:127,g:0,b:255} no se pq tanta la diferencia pero al final identifico la zona de colores que queria, vamos a por el siguiente video ..... super!!!
Hola, si seguramente varía mucho entre cámaras, aunque está raro el color con el que te sirvió jajaj pero oye, con que te sirva. Que bueno que pudiste moverle para hacerlo funcionar, sobretodo para continuar con los que siguen. Gracias!
Excelente video... Tienes mucha destreza... Felicitaciones... Aportas mucho valor, y este estilo de programacion es increible, y cuando haces los de inteligencia artificial... A1......
xD "dale like y todas esas mugres" xddddd, me hiciste el día, muchas gracias. Estuvo muy entretenido y aprendí mucho, sería genial que hicieras un cursillo por ahí de JavaScript, se entendió muy bien. Gracias nuevamente.
en 11:30 tienes un error que mencionas como la formula de distancia de color, sin embargo da errores cuando tienes otros colores en el fondo, porque matematicamente, un color 255,255,0 podria ser basicamente igual al color 255,0,255 pues la formula es la raiz cuadrado de la suma de las diferencias al cuadrado seria un resultado muy parecido. en tu formula tambien debes poner un valor ponderado que le de un peso ponderado a cada canal RGB de esa forma si la camara toma un objeto cyan o fucsia, no aparecen cercanos al amarillo cuando busque Color rojo #F00 255,0,0 resulto que el azul #00F 0,0,255 practicamente me dio que es igual al rojo, y es porque no hay una ponderacion de canal. tu formula de distancia de color: [((R2-R1))^2+((G2-G1))^2+((B2-B1))^2]^0.5 con esa formula un color amarillo #FF0 (255,255,0) seria muy cercano a uno cyan #0FF (0,255,255) y muy igual al fucsia #F0F (255,0,255). con un R2:255 G2:255 B2:0 ~~ R1:0 G1:255 B1:255 la formula daria igual, daria que el amarillo es igual al color cyan o al fucsia o que el Rojo es igual al verde e igual al Azul. la diferencia real tendriamos que primero convertir el color RGB a HSB y luego usar esa formula de distancia. o a la diferencia en cada canal de color, multiplicarlo por un valor (yo escojo siempre numeros primos para eliminar errores con los divisores) [((R2-R1)*P1)^2 + ((G2-G1)*P2)^2 + ((B2-B1)*P3)^2]^0.5 P1 = 3 P2= 5 P3= 7 esos ponderados hacen que el orden de los valores tenga un peso y hace que aunque los colores tengan el mismo nivel de luz de 0 a 255, el canal se diferencia por el ponderado. Con esa formula el rojo es diferente al azul y al verde, y en el video el amarillo #FF0 diferente al cyan #F0F y al fucsia #0FF .
Excelente canal, de lo mejor que he visto, felicitaciones! Qué lenguaje / framework recomendarías para programar apps Android con elementos de visión artificial, que puedan funcionar offline?
Hola, creo que primero revisaría ML Kit a ver si ahí hay alguno que cumpla lo que necesitas, y ya si quieres algo más complejo revisaría TF Lite para que sea más personalizado.
Hola genio! gracias por compartir de esta manera tan didáctica y generosa tus conocimientos... Quería preguntarte si se puede hacer esto con Python y openCV para interactuar con el volumen de un dispositivo, lo que debería detectar es en primer plano las yemas de mis dedos o la yema de 2 dedos simulando girar una perilla de volumen!. Abrazo y gracias!
Un poco muy alta jaja es una forma respetuosa de decir BAJALE :P. Ya en siguientes videos creo que cuido más eso, pero estas 4 partes para desarrollar el plátano control quizá tengan ese problema medio constante, disculpa por eso :(
Por favor, usa window.requestAnimationFrame en lugar de setTimeout, te sale gratis cambiarlo y esa función está preparada específicamente para renderizar en pantalla.
Awesome video!!!!!!!!!! no soy de suscribirme a canales ni dar like, y solo entre a gmail para suscribirme al tuyo apoyar tu gran contenido. Nota: Me gustaria que no dejaras tantas cosas al aire en la explicacion, para entender un poco mas en profundidad, pero igual esta genial.
hola como estas?. Te hago consulta. Cuando llamas a la función dentro de si misma, que sucede con el consumo de memoria?. No estoy aun muy familiarizado con html y js. Pero, no seria un alg. recursivo o la función contenedora se destruya al llamarse a si misma. Gracias, excelente video
Si, es recursivo y si no tiene una forma de salir despues de ciertas ejecuciones, se quedará trabado para siempre. Es muuy importante que no pase eso, entonces en este caso, entra solo mientras haya hecho uniones entre cuadros. Cuando pase la funcion y ya no una nada, ya se sale. Entonces pudiera llamarse 3,4,5 veces y no hay tanto problema.
En la parte que pones 2 pi en canvas es porque dicho parámetro está en radianes, en grados sería 360°. De paso te sumo al algoritmo. Saludos de otro calvo jaja.
Hola! Gracias por considerarlo, mi correo es ringayematech, en gmail para lo que necesites. En general no trabajo de freelance porque llevo un negocio que se lleva todo mi tiempo, pero si es algo en lo que ahí te podemos ayudar, con mucho gusto, tú dime con confianza y ya yo te digo directamente si podemos o no. Gracias!
Si claro. Me voy por js porque quiero evitar que muchos solo lo vean y ya, sino que lo prueben y le muevan y muchos ven librerias y opencv y se aguitan. Pero claro, esto es para explicar las bases y conceptos, ya al final la verdad es más práctico hacerlo con opencv etc.
De momento no doy en otros lados aunque lo he pensado. Si necesitas algo en específico si quieres déjame un correo, mi correo debe aparecer en la sección de "Acerca de" de mi canal (viene un botón para ver el correo). Si batallas me avisas.
Sí, este otro ( ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-qv6UVOQ0F44.html ) es uno que me agrada más porque es claro en varias cosas: 1. Utiliza un emulador especial que le saca esa información de donde están las cosas. Es decir, no usa IA para encontrar las cosas en pantalla y "traducirlas" a objetos para la red, sino que lo hace con el emulador. El que compartes creo que hace lo mismo pero no lo especifica. Creo. 2. Utiliza NEAT, que mezcla algoritmos genéticos con redes neuronales, entonces puedes ver cómo evoluciona para aprender a navegar el mundo. En este otro parece que la red es estática y aprendió a modificar pesos y sesgos, pero queda un poco menos claro. La verdad sí me interesaría hacer eso en video pero me tomará un poco de tiempo ya que primero quiero cubrir los algoritmos genéticos, luego la neuroevolución, y luego las aplicaciones, como esa. Y la verdad prefiero juntar todo eso + detección de imágenes para no tener que usar un emulador especial, sino que solo viendo la pantalla haga ese mapeo también con IA. Pero bueno son muchas cosas que eventualmente llegaremos a ellas jajaj
@@RingaTech me parece excelente la aproximación que estás haciendo a los temas y como "sprint" tras "sprint" se llega a algo totalmente viable y fácilmente implementable, sin herramientas especiales, sino con cosas cotidianas que cualquiera tiene en su pc. Un saludo y a seguir aprendiendo.