{"id":383,"date":"2013-10-14T21:04:33","date_gmt":"2013-10-14T21:04:33","guid":{"rendered":"http:\/\/etab.cl\/clases\/uchile\/obj-tec\/?page_id=383"},"modified":"2013-10-15T15:31:06","modified_gmt":"2013-10-15T15:31:06","slug":"c7","status":"publish","type":"page","link":"https:\/\/clases.etab.cl\/?page_id=383","title":{"rendered":"C7"},"content":{"rendered":"<p><strong>Computer Vision II<br \/>\nKinect<\/strong><br \/>\n&#8212;&#8212;&#8212;&#8211;<br \/>\nPresentaci\u00f3n Procesos de trabajo: <a href=\"http:\/\/www.masivo.cl\/\" target=\"_blank\">Daniel Cruz<\/a><br \/>\n&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>En esta clase continuamos con el t\u00f3pico de Computer Vision, pero esta vez la conversaci\u00f3n se centr\u00f3 en el sensor Kinect.<\/p>\n<p>Kinect es un sensor que fue desarrollado casi completamente por la empresa Prime Sense de Israel quien prov\u00e9e de estos sensores a Microsoft para su consola de juego Xbox 360. Es de esta forma, que el sensor se hizo conocido para luego ser utilizado para fines distintos a los videojuegos.<\/p>\n<p>A pesar de que a primera vista Kinect pareciera ser una c\u00e1mara, \u00e9ste es mucho m\u00e1s que eso. En realidad es un sensor &#8211; <a href=\"http:\/\/es.wikipedia.org\/wiki\/Esc%C3%A1ner_de_luz_estructurada\" target=\"_blank\">scanner 3D de luz estructurada<\/a><\/p>\n<p>Gracias al inter\u00e9s de los creativos y desarrolladores de Hardware, se liberaron los Drivers (<a href=\"http:\/\/www.openni.org\/\" target=\"_blank\">OpenNI<\/a>) y Middleware (<a href=\"http:\/\/www.openni.org\/files\/nite\/\" target=\"_blank\">NITE<\/a>) para poder hackear el sensor. De esta manera y gracias al trabajo de programadores que han creado librer\u00edas para Kinect, es ahora accesible por medio de Processing, Pure Data, Max\/MSP Jitter entre otros.<\/p>\n<p>Por medio de Kinect, se puede adquirir informaci\u00f3n de canales de color (RGB), de imagen infraroja (IR) y de profundidad de imagen. A trav\u00e9s de esta informaci\u00f3n es posible luego realizar tracking de objetos en movimiento (<a href=\"http:\/\/en.wikipedia.org\/wiki\/Optical_motion_tracking\" target=\"_blank\">Motion Capture)<\/a>, colores y distancias adem\u00e1s de ser un sensor de reconocimiento de gestos (<a href=\"http:\/\/en.wikipedia.org\/wiki\/Gesture_recognition\" target=\"_blank\">gesture recognition)<\/a> (Seguimiento de esqueleto y de manos).<\/p>\n<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br \/>\n<strong>Un comentario hist\u00f3rico acerca del Motion Capture (MoCap)<\/strong><br \/>\nLa captura de movimiento de cuerpos humanos y animales es casi tan antigua como la fotograf\u00eda misma. Algunos referentes hist\u00f3ricos importantes en esta disciplina son Edweard Muybridge, \u00c9tienne Jules-Marey y Harold Edgerton.<\/p>\n<p>El estudio y experimentaci\u00f3n de estos y otros investigadores posibilitaron, junto con el advenimiento y desarrollo de las tecnolog\u00edas digitales, crear los sistemas de captura de movimiento como se conocen hoy en d\u00eda y que son profusamente utilizados, <a href=\"http:\/\/vimeo.com\/72803884\" target=\"_blank\">sobre todo, en el cine<\/a>.<\/p>\n<p><a href=\"http:\/\/books.google.cl\/books?id=eNbpSZU1PqcC&#038;lpg=PP18&#038;ots=daa3lADGgU&#038;dq=edgerton%20mocap&#038;pg=PP1#v=onepage&#038;q=edgerton%20mocap&#038;f=false\" target=\"_blank\">M\u00e1s info acerca de Motion Capture<\/a><br \/>\n&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/p>\n<p>El sensor Kinect est\u00e1 compuesto entre otras cosas por:<\/p>\n<p>&#8211; Una c\u00e1mara VGA (640px x 480px) de 8 bits (256 niveles de sensibilidad).<br \/>\n&#8211; Un proyector de l\u00e1ser IR (<a href=\"http:\/\/ocw.unia.es\/ciencias-tecnologicas\/tecnologia-del-ocio\/materiales-basicos-folder\/html\/B1_UD03\/luz_codificada_kinect.html\/skinless_view\" target=\"_blank\">junto con la c\u00e1mara IR conforman el sensor de profundidad<\/a>).<br \/>\n&#8211; Una c\u00e1mara infrarroja VGA de 11 bits (2048 niveles de sensibilidad) (<a href=\"http:\/\/ocw.unia.es\/ciencias-tecnologicas\/tecnologia-del-ocio\/materiales-basicos-folder\/html\/B1_UD03\/luz_codificada_kinect.html\/skinless_view\" target=\"_blank\">junto con el proyector l\u00e1ser IR conforman el sensor de profundidad<\/a>).<br \/>\n&#8211; Matriz de micr\u00f3fonos para localizaci\u00f3n de fuente ac\u00fastica y supresi\u00f3n de ruido ambiente.<br \/>\n&#8211; Aceler\u00f3metro de 3 ejes.<br \/>\n&#8211; Un motor servo para controlar su inclinaci\u00f3n.<\/p>\n<p><a href=\"http:\/\/negrorobot.com\/wp-content\/uploads\/2011\/06\/kinect-xbox-360-description.jpeg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/negrorobot.com\/wp-content\/uploads\/2011\/06\/kinect-xbox-360-description.jpeg\" width=\"640\" height=\"352\" class=\"aligncenter\" \/><\/a><\/p>\n<p>&#8211; El rango de distancia de funcionamiento de la Kinect es de entre 1,2mts a 3,5mts.<\/p>\n<p>A trav\u00e9s de Processing y las librer\u00edas correspondientes podemos acceder a los datos que genera Kinect y utilizarlos ya sea para obtener imagenes RGB, IR; generar un mapa de profundidad o bien para tracking de movimiento.<\/p>\n<p>A continuaci\u00f3n los c\u00f3digos revisados en clases. La mayor\u00eda son de los libros &#8216;Arduino and Kinect Projects de Enrique Ramos y Ciriaco Castro D\u00edez&#8217;. Estos c\u00f3digos s\u00f3lo funcionan en las versiones de Processing anteriores a la 2.0 Otro libro de referencia es <a href=\"http:\/\/makingthingssee.com\/\" target=\"_blank\">Making Things See<\/a> de Greg Borenstein quien es el creador de las librer\u00edas para copmuter vision: OpenCV y Finger Tracker.<\/p>\n<p>Hay diferentes formas para comuicarse con Kinect. Para poder trabajar con algunos de estos c\u00f3digos, es necesario bajar las librer\u00edas <a href=\"https:\/\/code.google.com\/p\/simple-openni\/downloads\/detail?name=SimpleOpenNI-1.96.zip\" target=\"_blank\">SimpleOpenNI<\/a> y <a href=\"http:\/\/www.arduinoandkinectprojects.com\/downloads\" target=\"_blank\">kinectOrbit<\/a> adem\u00e1s de la librer\u00eda de OpenGL para renders 3D (esta \u00faltima ya viene incluida en Processing).<br \/>\n&nbsp;<\/p>\n<p><a href=\"http:\/\/etab.cl\/clases\/uchile\/obj-tec\/wp-content\/uploads\/2013\/10\/Screen-Shot-2013-10-15-at-11.47.14-AM.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/etab.cl\/clases\/uchile\/obj-tec\/wp-content\/uploads\/2013\/10\/Screen-Shot-2013-10-15-at-11.47.14-AM.png\" alt=\"Screen Shot 2013-10-15 at 11.47.14 AM\" width=\"793\" height=\"617\" class=\"aligncenter size-full wp-image-419\" srcset=\"https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/Screen-Shot-2013-10-15-at-11.47.14-AM.png 793w, https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/Screen-Shot-2013-10-15-at-11.47.14-AM-300x233.png 300w, https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/Screen-Shot-2013-10-15-at-11.47.14-AM-624x485.png 624w\" sizes=\"auto, (max-width: 793px) 100vw, 793px\" \/><\/a><br \/>\n<script src=\"https:\/\/gist.github.com\/anonymous\/6e53516c257e429604f1.js\"><\/script><br \/>\n&nbsp;<\/p>\n<p><a href=\"http:\/\/etab.cl\/clases\/uchile\/obj-tec\/wp-content\/uploads\/2013\/10\/Processing-3D-mouseXY-example.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/etab.cl\/clases\/uchile\/obj-tec\/wp-content\/uploads\/2013\/10\/Processing-3D-mouseXY-example-1024x774.png\" alt=\"Processing-3D-mouseXY-example\" width=\"625\" height=\"472\" class=\"aligncenter size-large wp-image-420\" srcset=\"https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/Processing-3D-mouseXY-example-1024x774.png 1024w, https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/Processing-3D-mouseXY-example-300x226.png 300w, https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/Processing-3D-mouseXY-example-624x472.png 624w, https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/Processing-3D-mouseXY-example.png 1573w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><br \/>\n<script src=\"https:\/\/gist.github.com\/anonymous\/22733f18150e3b6a6e98.js\"><\/script><\/p>\n<p><script src=\"https:\/\/gist.github.com\/anonymous\/4f1aa2fa323a9a77cfa8.js\"><\/script><br \/>\n&nbsp;<\/p>\n<p><a href=\"http:\/\/etab.cl\/clases\/uchile\/obj-tec\/wp-content\/uploads\/2013\/10\/Cloud-Kinect-example.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/etab.cl\/clases\/uchile\/obj-tec\/wp-content\/uploads\/2013\/10\/Cloud-Kinect-example.png\" alt=\"Cloud-Kinect-example\" width=\"445\" height=\"559\" class=\"aligncenter size-full wp-image-424\" srcset=\"https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/Cloud-Kinect-example.png 445w, https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/Cloud-Kinect-example-238x300.png 238w\" sizes=\"auto, (max-width: 445px) 100vw, 445px\" \/><\/a><br \/>\n<script src=\"https:\/\/gist.github.com\/anonymous\/3aab4376cd7c15f4a4a0.js\"><\/script><br \/>\n&nbsp;<\/p>\n<p><a href=\"http:\/\/etab.cl\/clases\/uchile\/obj-tec\/wp-content\/uploads\/2013\/10\/colorCloud-Kinect-example.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/etab.cl\/clases\/uchile\/obj-tec\/wp-content\/uploads\/2013\/10\/colorCloud-Kinect-example.png\" alt=\"colorCloud-Kinect-example\" width=\"772\" height=\"546\" class=\"aligncenter size-full wp-image-426\" srcset=\"https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/colorCloud-Kinect-example.png 772w, https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/colorCloud-Kinect-example-300x212.png 300w, https:\/\/clases.etab.cl\/wp-content\/uploads\/2013\/10\/colorCloud-Kinect-example-624x441.png 624w\" sizes=\"auto, (max-width: 772px) 100vw, 772px\" \/><\/a><br \/>\n<script src=\"https:\/\/gist.github.com\/anonymous\/5fc095964c2103d52bbc.js\"><\/script><\/p>\n<p>Kinect est\u00e1 construida como un sensor de profundidad con tecnolog\u00edas de sensor infrarrojo y RGB. A partir de esto y junto al procesamiento de estos datos es que se puede hacer seguimiento de movimientos de estructuras espec\u00edficas como por ejemplo de cuerpos y manos humanas.<\/p>\n<p>Para activar el seguimiento de cuerpos humanos, es necesario <a href=\"http:\/\/payload169.cargocollective.com\/1\/11\/381661\/5697542\/SkeletonTracking.jpg\" target=\"_blank\">pararse en frente a la Kinect con los brazos levantados<\/a> hasta que seas reconocido (aparecer\u00e1 la estructura de esqueleto en la pantalla).<br \/>\n<script src=\"https:\/\/gist.github.com\/anonymous\/0bd5cc2f81b183382c55.js\"><\/script><\/p>\n<p>Para activar el seguimiento de las manos, debes en primera instancia , mover las manos <a href=\"http:\/\/www.risdall.com\/wp-content\/uploads\/2013\/08\/waving.gif\" target=\"_blank\">como lo har\u00edas cuando saludas a la distancia.<\/a><br \/>\n<script src=\"https:\/\/gist.github.com\/anonymous\/1d3332e42dc1d0432540.js\"><\/script><\/p>\n<p>&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>Otros ejemplos de Motion Capture:<br \/>\n<iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/34682556\" width=\"500\" height=\"350\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe> <\/p>\n<p><a href=\"http:\/\/vimeo.com\/34682556\">Portrait of the ghost drummer<\/a> from <a href=\"http:\/\/vimeo.com\/odaibe\">odaibe<\/a> on <a href=\"https:\/\/vimeo.com\">Vimeo<\/a>.<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/38840688\" width=\"500\" height=\"250\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe> <\/p>\n<p><a href=\"http:\/\/vimeo.com\/38840688\">unnamed soundsculpture<\/a> from <a href=\"http:\/\/vimeo.com\/wearechopchop\">Daniel Franke<\/a> on <a href=\"https:\/\/vimeo.com\">Vimeo<\/a>.<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/38505448\" width=\"500\" height=\"250\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe> <\/p>\n<p><a href=\"http:\/\/vimeo.com\/38505448\">unnamed soundsculpture (docu)<\/a> from <a href=\"http:\/\/vimeo.com\/wearechopchop\">Daniel Franke<\/a> on <a href=\"https:\/\/vimeo.com\">Vimeo<\/a>.<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/player.vimeo.com\/video\/54882144\" width=\"500\" height=\"281\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe><\/p>\n<p><a href=\"http:\/\/aaron-sherwood.com\/blog\/?p=558\" target=\"_blank\">Aaron Sherwood&#8217;s blog<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Computer Vision II Kinect &#8212;&#8212;&#8212;&#8211; Presentaci\u00f3n Procesos de trabajo: Daniel Cruz &#8212;&#8212;&#8212;&#8211; En esta clase continuamos con el t\u00f3pico de Computer Vision, pero esta vez la conversaci\u00f3n se centr\u00f3 en el sensor Kinect. Kinect es un sensor que fue desarrollado casi completamente por la empresa Prime Sense de Israel quien prov\u00e9e de estos sensores a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":65,"menu_order":0,"comment_status":"closed","ping_status":"open","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-383","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/clases.etab.cl\/index.php?rest_route=\/wp\/v2\/pages\/383","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clases.etab.cl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/clases.etab.cl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/clases.etab.cl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/clases.etab.cl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=383"}],"version-history":[{"count":34,"href":"https:\/\/clases.etab.cl\/index.php?rest_route=\/wp\/v2\/pages\/383\/revisions"}],"predecessor-version":[{"id":431,"href":"https:\/\/clases.etab.cl\/index.php?rest_route=\/wp\/v2\/pages\/383\/revisions\/431"}],"up":[{"embeddable":true,"href":"https:\/\/clases.etab.cl\/index.php?rest_route=\/wp\/v2\/pages\/65"}],"wp:attachment":[{"href":"https:\/\/clases.etab.cl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}