<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2111496240104941000</id><updated>2011-10-04T22:30:55.887-02:00</updated><category term='discapacidad'/><category term='Video4Linux'/><category term='ceibal'/><category term='olpc'/><category term='marcadores'/><category term='OpenCV'/><category term='reconocimiento'/><category term='freeglut'/><category term='openframeworks'/><category term='user'/><category term='XO'/><category term='interface'/><category term='ARToolkit'/><category term='interaction'/><category term='discapacidad motriz'/><category term='cámara'/><category term='estrategia'/><category term='GStreamer'/><category term='glut32'/><category term='computer'/><category term='perceptual'/><category term='pui'/><category term='prototipo'/><category term='MultiTest'/><category term='hardware'/><category term='human'/><category term='escuela 200'/><title type='text'>Diseño de interfaces perceptuales para XO</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://pui-ceibalxo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://pui-ceibalxo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gonza</name><uri>http://www.blogger.com/profile/06660074788342511682</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_b0AJhUDqvb8/S-N4sN3u3_I/AAAAAAAAAsw/TX20XhrwKjc/S220/n1017978076_341956_5432519.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2111496240104941000.post-4307168408566979900</id><published>2011-10-04T21:47:00.003-02:00</published><updated>2011-10-04T22:30:55.916-02:00</updated><title type='text'>Biblioteca PUI</title><content type='html'>Finalmente se ha liberado una biblioteca PUI la cual tiene como propósito facilitar el desarrollo de interfaces de usuario perceptuales. &lt;br /&gt;&lt;br /&gt;Las funcionalidades de la biblioteca han sido diseñadas para funcionar con bajos recursos de hardware. Es decir que es posible crear aplicaciones basadas en interfaces de usuario perceptuales que funcionen en computadoras con poco poder de cómputo y poca memoria. La XO 1.0 , con 433Mhz de frecuencia de procesador y 128Mb de memoria ram es capaz de ejecutar correctamente estas aplicaciones.&lt;br /&gt;&lt;br /&gt;&lt;a href="https://sites.google.com/site/puiparaolpcxo/DocumentacionbibliotecaPUI.7z?attredirects=0&amp;d=1"&gt;Aquí&lt;/a&gt; puede descargarse la documentación de la biblioteca en sus dos versiones, Python y C++. &lt;br /&gt;&lt;br /&gt;Próximamente se publicarán las actividades creadas hasta el momento, la dirección del repositorio de desarrollo de la biblioteca PUI, documentación acerca de las principales funcionalidades de la biblioteca y otros materiales para facilitar la comprensión de la misma y estimular el desarrollo tanto de nuevas aplicaciones como de extensiones para la biblioteca.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2111496240104941000-4307168408566979900?l=pui-ceibalxo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pui-ceibalxo.blogspot.com/feeds/4307168408566979900/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pui-ceibalxo.blogspot.com/2011/10/biblioteca-pui.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/4307168408566979900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/4307168408566979900'/><link rel='alternate' type='text/html' href='http://pui-ceibalxo.blogspot.com/2011/10/biblioteca-pui.html' title='Biblioteca PUI'/><author><name>Sebastián Marichal</name><uri>http://www.blogger.com/profile/10347194173175291328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2111496240104941000.post-3181607693429583341</id><published>2010-12-16T00:10:00.007-02:00</published><updated>2010-12-16T00:39:47.417-02:00</updated><title type='text'>Face detection and extraction predominant hue ranges</title><content type='html'>1- Detect Face using HaarClassifiers (keep the biggest hit in the image)&lt;br /&gt;2- Create an ellipse surrounding the rectangle with the detected face&lt;br /&gt;3- Create a binary mask: value 1 inside ellipse, value 0 outside ellipse&lt;br /&gt;4- Create and calculate an Histogram using the binary mask and the image with the region of interest   (ROI) established in the rectangle area (result of face detection).&lt;br /&gt;5- Threshold the Histogram in order to reduce the noise&lt;br /&gt;6- Normalize the Histogram&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The Histogram shows the predominant HUE ranges. The same process can be done with SATURATION and HUE,so we obtain the predominant HSV ranges and we can use them , for example, to apply color segmentation algorithms.&lt;br /&gt;&lt;br /&gt;This process can be also done using RGB color representation.&lt;br /&gt;&lt;br /&gt;Despite of the diferent light conditions and skin colors, the predominant hue ranges are always near reds, so we could use a color segmentation algorithm in order to make a faster face detection.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_5-rfOYqnY0Y/TQl5SgQKPqI/AAAAAAAAAGQ/Gq-hkyUeZR4/s1600/resultado5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 160px;" src="http://4.bp.blogspot.com/_5-rfOYqnY0Y/TQl5SgQKPqI/AAAAAAAAAGQ/Gq-hkyUeZR4/s320/resultado5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5551101374513168034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5-rfOYqnY0Y/TQl5SLWJ8DI/AAAAAAAAAGI/L7xzExYnqJE/s1600/resultado4.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 219px;" src="http://1.bp.blogspot.com/_5-rfOYqnY0Y/TQl5SLWJ8DI/AAAAAAAAAGI/L7xzExYnqJE/s320/resultado4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5551101368901169202" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5-rfOYqnY0Y/TQl5SN5hJpI/AAAAAAAAAGA/3rc10knPjuo/s1600/resultado3.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 256px;" src="http://1.bp.blogspot.com/_5-rfOYqnY0Y/TQl5SN5hJpI/AAAAAAAAAGA/3rc10knPjuo/s320/resultado3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5551101369586362002" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_5-rfOYqnY0Y/TQl5R48QYMI/AAAAAAAAAF4/h6ZN4Z4ZaOE/s1600/resultado1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 187px;" src="http://3.bp.blogspot.com/_5-rfOYqnY0Y/TQl5R48QYMI/AAAAAAAAAF4/h6ZN4Z4ZaOE/s320/resultado1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5551101363960701122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5-rfOYqnY0Y/TQl5RhADYHI/AAAAAAAAAFw/km-HiIN5Cm8/s1600/resulado2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 246px;" src="http://1.bp.blogspot.com/_5-rfOYqnY0Y/TQl5RhADYHI/AAAAAAAAAFw/km-HiIN5Cm8/s320/resulado2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5551101357534175346" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_5-rfOYqnY0Y/TQl6vM1qQoI/AAAAAAAAAGY/KzU4-Tq4smk/s1600/resultado6.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 209px;" src="http://2.bp.blogspot.com/_5-rfOYqnY0Y/TQl6vM1qQoI/AAAAAAAAAGY/KzU4-Tq4smk/s320/resultado6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5551102967029580418" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2111496240104941000-3181607693429583341?l=pui-ceibalxo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pui-ceibalxo.blogspot.com/feeds/3181607693429583341/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pui-ceibalxo.blogspot.com/2010/12/face-detection-and-extraction.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/3181607693429583341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/3181607693429583341'/><link rel='alternate' type='text/html' href='http://pui-ceibalxo.blogspot.com/2010/12/face-detection-and-extraction.html' title='Face detection and extraction predominant hue ranges'/><author><name>Sebastián Marichal</name><uri>http://www.blogger.com/profile/10347194173175291328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_5-rfOYqnY0Y/TQl5SgQKPqI/AAAAAAAAAGQ/Gq-hkyUeZR4/s72-c/resultado5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2111496240104941000.post-3943001977016655085</id><published>2010-03-06T01:11:00.001-02:00</published><updated>2010-04-23T22:10:16.832-03:00</updated><title type='text'>Marcadores en ARTookit</title><content type='html'>&lt;div style="text-align: justify;"&gt;ARToolkit nos brinda la posibilidad de crear nuestros propios marcadores (fiducials), aqui detallamos el proceso:&lt;br /&gt;&lt;br /&gt;1) Se crean los marcadores que uds  desean, obviamente recordando que tienen que estar dentro del cuadrado  negro habitual.&lt;br /&gt;Un detalle al momento de crear un marcador, es tener en cuenta que no  sea ni vertical ni horizontalmente simetrico, ya que sino les pasa que &lt;span class="il"&gt;ARToolkit&lt;/span&gt; no sabe reconocer que lado es arriba, bajo  etc de la figura.&lt;br /&gt;Si buscan en internet pueden encontrar el siguiente sitio: &lt;a href="http://www.roarmot.co.nz/ar/" target="_blank"&gt;http://www.roarmot.co.nz/ar/&lt;/a&gt;  que ofrece la posibilidad de generar la imagen del marcador, aunque no hemos logrado utilizarlo con exito por lo que optamos por crear nuestras imagenes manualmente.&lt;br /&gt;&lt;br /&gt;2) Una vez que tienen los marcadores tienen que imprimirlos. Una vez  impresos hay que lograr generar un .patt para cada uno de ellos (son  archivos enteramente numericos). &lt;span class="il"&gt;ARToolkit&lt;/span&gt; usa esos  .patt para hacer el reconcimiento real.&lt;br /&gt;Tenemos dos posibles caminos, usar el mk_patt que viene en &lt;span class="il"&gt;ARToolkit&lt;/span&gt;  o usar este otro link que se puede encontrar publicado en internet (pero fue testeado por nosotros): &lt;a href="http://flash.tarotaro.org/blog/2008/12/14/artoolkit-marker-generator-online-released/" target="_blank"&gt;http://flash.tarotaro.org/&lt;wbr&gt;&lt;/wbr&gt;blog/2008/12/14/&lt;span class="il"&gt;artoolkit&lt;/span&gt;-&lt;wbr&gt;&lt;/wbr&gt;marker-generator-online-&lt;wbr&gt;&lt;/wbr&gt;released/&lt;/a&gt;.&lt;br /&gt;Tomando ambos caminos la logica es la misma, se pone el marcador impreso delante de la pantalla hasta que el borde superior izquierdo tome color rojo  y el borde opuesto color verde. Detalles de este proceso estan disponibles en este link:&lt;br /&gt;&lt;a href="http://www.artoolworks.com/support/library/Creating_and_training_new_ARToolKit_markers" target="_blank"&gt;http://www.artoolworks.com/&lt;wbr&gt;&lt;/wbr&gt;support/library/Creating_and_&lt;wbr&gt;&lt;/wbr&gt;training_new_ARToolKit_markers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_b0AJhUDqvb8/S9JE4aEVbVI/AAAAAAAAAsE/f0yetcIVs1E/s1600/Mkpatt.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_b0AJhUDqvb8/S9JE4aEVbVI/AAAAAAAAAsE/f0yetcIVs1E/s320/Mkpatt.jpeg" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="ii gt" id=":23j" style="text-align: justify;"&gt;&lt;br /&gt;Un ultimo detalle sobre este proceso, utilizando el mk_patt en Windows no tuvimos  problemas, pero en Linux, debemos asegurarnos de exportar los  parametros tal cual lo hacemos para ejecutar la aplicacion. En el extracto de codigo que se muestra a continuacion ejemplificamos el cambio que tuvimos que hacer en nuestro caso:&lt;/div&gt;&lt;div class="ii gt" id=":23j" style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="ii gt" id=":23j" style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="ii gt" id=":23j" style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="ii gt" id=":23j" style="text-align: justify;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;#&amp;nbsp; if defined(AR_INPUT_GSTREAMER)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;//char *vconf = "videotestsrc";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;char *vconf = "v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24 ! identity name=artoolkit ! fakesink";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3)Si se quiere lograr un ejemplo que maneje detecciones multiples (similar al ejemplo Multitest), se deben disponer todas las imagenes a reconocer en una hoja e imprimirlas.&lt;/div&gt;&lt;div class="ii gt" id=":23j" style="text-align: justify;"&gt;&lt;br /&gt;4)Ahora que todos los patrones fueron reconocidos, tenemos que  lograr que &lt;span class="il"&gt;ARToolkit&lt;/span&gt; los reconzca como a la  aplicacion "multitest". Entonces debemos pasar como parametro un archivo .dat&amp;nbsp; con la cantidad de marcadores, tamaños y  posiciones relativas.&lt;br /&gt;&lt;/div&gt;&lt;div class="ii gt" id=":23j" style="text-align: justify;"&gt;Nota: Nos hemos enfrentado a un problema al generar archivos .dat en Windows y luego querer utilizarlos en Linux debido a la diferencia entre los saltos de linea entre ambos sistemas. Es por eso que si se genera un .dat en Windows, el ARTookit puede  no procesarlo al utilizarlo en Linux.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Por ultimo, la logica que se puede usar para elegir los valores a asingar en las distancias del archivo .dat, es la de simplemente tomar el  ejemplo del multitest como base de medicion (si lo miden con una regla, los valores del .dat  de este ejemplo equivalena a centimetros). Con esas proporciones se llega a un muy buen resultado.&lt;br /&gt;O  sea, si nuestros fiducials miden 5.6 x 5.6, debemos especificar 56 en el tamaño correspondiente del  .dat.&lt;br /&gt;Los detalles de cada campo y para tener una idea mas general de esta ultima parte del manejo se encuentran disponibles aqui: &lt;a href="http://www.hitl.washington.edu/artoolkit/documentation/tutorialmulti.htm" target="_blank"&gt;http://www.hitl.washington.&lt;wbr&gt;&lt;/wbr&gt;edu/&lt;span class="il"&gt;artoolkit&lt;/span&gt;/documentation/&lt;wbr&gt;&lt;/wbr&gt;tutorialmulti.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2111496240104941000-3943001977016655085?l=pui-ceibalxo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pui-ceibalxo.blogspot.com/feeds/3943001977016655085/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pui-ceibalxo.blogspot.com/2010/03/marcadores-en-artookit.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/3943001977016655085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/3943001977016655085'/><link rel='alternate' type='text/html' href='http://pui-ceibalxo.blogspot.com/2010/03/marcadores-en-artookit.html' title='Marcadores en ARTookit'/><author><name>Gonza</name><uri>http://www.blogger.com/profile/06660074788342511682</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_b0AJhUDqvb8/S-N4sN3u3_I/AAAAAAAAAsw/TX20XhrwKjc/S220/n1017978076_341956_5432519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_b0AJhUDqvb8/S9JE4aEVbVI/AAAAAAAAAsE/f0yetcIVs1E/s72-c/Mkpatt.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2111496240104941000.post-1570548995963543550</id><published>2010-03-03T01:00:00.005-02:00</published><updated>2010-04-23T22:19:15.338-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='prototipo'/><category scheme='http://www.blogger.com/atom/ns#' term='freeglut'/><category scheme='http://www.blogger.com/atom/ns#' term='MultiTest'/><category scheme='http://www.blogger.com/atom/ns#' term='GStreamer'/><category scheme='http://www.blogger.com/atom/ns#' term='Video4Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ARToolkit'/><category scheme='http://www.blogger.com/atom/ns#' term='glut32'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCV'/><title type='text'>Problematica en desarrollo de prototipos con ARToolkit</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;span class="il"&gt;ARtoolkit&lt;/span&gt; parece ser la mejor herramienta  para hacer el trabajo que queremos, esta desarrollada especialmente para  reconocer figuras de manera sencilla, por lo tanto,    parece lo mejor incluir esas figuras en nuestro prototipo de "mouse virtual" y que  nuestro programa las interprete como quiera (flecha a la izq, derecha,  arriba , abajo y click).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_b0AJhUDqvb8/S9JF84WTyNI/AAAAAAAAAsM/vhehcdHlw1k/s1600/mail.google.com.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_b0AJhUDqvb8/S9JF84WTyNI/AAAAAAAAAsM/vhehcdHlw1k/s320/mail.google.com.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Viendo que &lt;span class="il"&gt;Artoolkit&lt;/span&gt;  es la herramienta que mas se estaría ajustando empezamos a hacer  pruebas.   Obtuvimos un resultado muy bueno bajo windows y a su vez un resultado  muy malo en linux. En windows la performance del ejemplo "multiTest" (ejemplo contenido en el SDK estandar de ARToolkit) es  muy buena y alentadora para poder ejecutarla en el hardware de la XO, la  carga de la CPU ronda entre 10 -&amp;nbsp; 20%. Por otro lado en linux la  situación es muy diferente, la carga de la CPU al ejecutar "multiTest"  es de 100%. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;Ya que se usa el mismo hardware en ambas pruebas decidimos  comenzar a investigar cual puede ser la causante del problema.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1- Driver de la tarjeta de video. En windows y en linux el driver de  video no es el mismo evidentemente, quizás esta pueda ser una causante  del problema. Lamentablemente esta hipótesis no tiene demasiada solución  ya que se esta usando el driver del fabricante (nvidia) y siempre suele  ser el mas performante por motivos obvios. Lo que se nos ocurre para  mitigar este riesgo es probar en linux pero usando otro   hardware que en particular tenga una tarjeta de video de otro fabricante  (ATI sería lo mejor, ya que la &lt;/div&gt;&lt;div style="text-align: justify;"&gt;especificación del driver de  video es libre y existen implementaciones de código abierto muy buenas).  &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2- Implementación de opengl. Investigando acerca del problema de la  carga de CPU con &lt;span class="il"&gt;Artoolkit&lt;/span&gt; nos encontramos con  que alguien tenia el mismo problema. Resulta que esta persona armo unos  ejemplo usando &lt;span class="il"&gt;Artoolkit&lt;/span&gt;. Lo probo en windows  usando glut32 (implementación oficial del utility kit para desarrollar  en opengl) y freeglut (implementación libre de opengl que estamos usando  en linux actualmente).   El resultado era que usando glut32 la aplicación tenia un carga de CPU  muy baja y usando freeglut una &lt;/div&gt;&lt;div style="text-align: justify;"&gt;carga muy alta. Vista esta situación  decidimos compilar &lt;span class="il"&gt;ArtoolKit&lt;/span&gt; en windows 2 veces,  una usando glut32 (que es la distribución de &lt;span class="il"&gt;ArtoolKIT&lt;/span&gt;  estándar que ya probamos en nuestras maquinas) y otra usando freeglut.  Una vez compilados los ejemplos corrimos "multiTest" y para nuestro  asombro no hubo diferencia, funcionaba igual de bien con glut32 que con  freeglut. Aquí nos quedo la interrogante de que podría estar pasando...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;a- Las operaciones que hacen funcionar mal el ejemplo en freeglut no son  usadas en multiTest, en este caso a nosotros no nos importa, porque lo  que queremos desarrollar se basa en multiTest y no en el ejemplo  encontrado en la web.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;b- La implementación de las operaciones que usa multiTest en la  implementación freeglut en windows es diferente a la implementación en  linux, y freeglut es realmente nuestro problema.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;c - El problema  no es la implementación de glut y todavía no descubrimos cual es.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;d - Otra posibilidad es que el codec de video que estamos usando en  linux no esta funcionado bien. Al configurar &lt;span class="il"&gt;Artoolkit&lt;/span&gt;  en linux nos da la opción de usar GSstreamer o de usar Video4Linux.  Este último no lo hemos podido hacer funcionar aun y quizás funcione  mejor que Gstreamer,&amp;nbsp; no lo sabemos aun, aunque en todos lados  recomiendan más usar Gstreamer.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Luego de probar todas las posibilidades nos dimos cuenta de que el  problema no se correspondía con ninguna de estas hipótesis, sino que la  función que devuelve los frames capturados por la cámara funciona mal  bajo linux y se estaban procesando alrededor de 170 frames por segundo,  por eso es que la performance&lt;/div&gt;&lt;div style="text-align: justify;"&gt;era tan mala. Para resolverlo basto con agregar un sleep hasta encontrar  el punto en el que la aplicación procesa 10 fps aprox.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Decidimos usar &lt;span class="il"&gt;Artoolkit&lt;/span&gt; para hacer el  seguimiento de los marcadores y una vez que un marcador no es detectado  entonces se convierte la imagen a un formato manejable por OpenCV y se  aplica un algoritmo sobre el marcador no reconocido para poder  determinar si hay un objeto conocido (llámese mano) tapando el marcador o  si no hay nada. En caso de que se detecte una mano tapando el marcador  se toma como que el usuario esta presionando el marcador, de lo  contrario se ignora. &lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_b0AJhUDqvb8/S9JHDez8L5I/AAAAAAAAAsk/b1kcOaPSuIQ/s1600/Pantallazo-ahora+si.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_b0AJhUDqvb8/S9JHDez8L5I/AAAAAAAAAsk/b1kcOaPSuIQ/s320/Pantallazo-ahora+si.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;En este momento estamos trabajando en el algoritmo usando OpenCV  para determinar si hay una mano sobre el marcador o no. Creeemos que  usar colores brillantes es una buena idea y es performante, difícilmente  se confundan ya que toda nuestra escena es una hoja blanca con  marcadores en blanco y negro.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Muchos temas interesantes a resolver...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2111496240104941000-1570548995963543550?l=pui-ceibalxo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pui-ceibalxo.blogspot.com/feeds/1570548995963543550/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pui-ceibalxo.blogspot.com/2010/03/desarrollo-de-prototipos.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/1570548995963543550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/1570548995963543550'/><link rel='alternate' type='text/html' href='http://pui-ceibalxo.blogspot.com/2010/03/desarrollo-de-prototipos.html' title='Problematica en desarrollo de prototipos con ARToolkit'/><author><name>Gonza</name><uri>http://www.blogger.com/profile/06660074788342511682</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_b0AJhUDqvb8/S-N4sN3u3_I/AAAAAAAAAsw/TX20XhrwKjc/S220/n1017978076_341956_5432519.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_b0AJhUDqvb8/S9JF84WTyNI/AAAAAAAAAsM/vhehcdHlw1k/s72-c/mail.google.com.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2111496240104941000.post-1932533908335872294</id><published>2009-11-23T00:26:00.001-02:00</published><updated>2010-04-23T01:54:14.300-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='escuela 200'/><category scheme='http://www.blogger.com/atom/ns#' term='discapacidad'/><category scheme='http://www.blogger.com/atom/ns#' term='discapacidad motriz'/><title type='text'>Escuela Nº 200</title><content type='html'>&lt;div style="text-align: justify;"&gt;Después de bastante retomamos el blog. No queríamos dejar pasar la oportunidad de compartir una de las mejores experiencias personales que hemos tenido en el transcurso de este proyecto.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nos contactamos con la Escuela Nº 200 de Montevideo gracias a la ayuda de nuestros tutores, las características particulares de esta escuela nos alentaron a interiorizarnos más en cuanto a su metodología de trabajo y las necesidades de los chicos que a ella concurren.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Aquí una breve reseña sobre la escuela:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;.:Escuela Nº 200:.&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;La escuela funciona desde 1978, su objetivo es rehabilitar y/o habilitar al alumno mediante un conjunto dinámico y coordinado de estrategias que desarrollen al máximo sus potencialidades para favorecer su inclusión social. Brinda apoyo a familias e instituciones inclusoras, a través del asesoramiento técnico-docente, recursos didácticos y de implementación para que la inclusión de niños y jóvenes sea exitosa.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Al local concurren 100 niños aproximadamente y sus edades oscilan entre 2 y 20 años. Por ser la única escuela pública especial para niños con problemas motrices, asisten chicos de todo el departamento de Montevideo.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Además de los chicos, integran la escuela la directora, 10 maestros, docentes, fisioterapeutas, psicólogos, asistentes sociales, músicoterapeutas, auxiliares, cocinera y chofer.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Al centro ingresan chicos con diferentes tipo de discapacidad motriz: un 90% tienen Parálisis Cerebral, 8% Espina Bífida (diversos síndromes) y un 2% otras patologías.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Los perfiles de ingreso son los siguientes:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Niños con patología motriz y con sobreagregación de déficit que por su severidad no pueden incluirse en el currículo común.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Niños con patología motriz leve que deberán realizar una habilitación perceptivo-motriz antes de ser integrados o reubicados en las instituciones educativas que corresponden.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;- Niños con patología motriz y con doble escolaridad, que estando incluidos en escuelas comunes reciben apoyo pedagógico en contrahorario.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;El ingreso se produce luego de ser evaluado el niño a partir de una entrevista y habiendo cupo en el grupo al cual le corresponde asistir. El proceso de egreso se produce cuando el niño culmina la rehabilitación o habilitación y se busca la institución adecuada en donde se pueda inscribir. La idea es lograr que los niños salgan lo mas tempranamente posible de la escuela, de manera de que una vez que se ha preparado al niño y a la familia para la inclusión, el niño esta pronto para ser incluido en otra institución. Los tiempos son marcados por los niños y no por la escuela.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Por el momento los chicos pasan 3 horas en la escuela, salvo unos pocos grupos que están haciendo 6 horas. Se está intentando que cada vez más grupos cumplan el horario de 6 horas. En ese tiempo realizan actividades académicas y recreativas.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;La escuela trata de buscar apoyos de la comunidad, además del aporte que tienen de Primara y de la Intendencia, reciben apoyo económico de ONGs, y del Ejército para la limpieza y asistencia en las actividades didácticas, como lo son los paseos. Por el lado académico, se han enviado solicitudes a todas las Facultades buscando colaboración de estudiantes que puedan realizar pasantías pero no se ha tenido ninguna respuesta. En particular la Facultad de Ingeniería nunca a mostrado interés en brindar apoyo a esta institución, el proyecto de grado “Diseño de interfaces perceptuales para el Plan Ceibal” sería el primer trabajo que lograría algo en conjunto.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Por otro lado, la institución tiene varios proyectos de trabajo en donde se reciben visitas con muchas colaboraciones, el objetivo de los proyectos, es fomentar la comunicación brindando herramientas para la integración de los chicos en la sociedad.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Como actividades extracurriculares los chicos asisten a Teletón. Es un centro muy vinculado a la niños que asisten a la escuela 200, les brinda a los padres la posibilidad de llevar a los niños y entrar con determinados programas, pueden ser integrales o específicos para determinadas áreas de intervención como fisioterapia o terapia ocupacional, pueden ser de un mes, de quince días, depende de la evaluación que le hacen al niño al ingresar. Pero resulta importante destacar que deben ser los padres los que tienen que llevar a los chicos a Teletón, la escuela no se ocupa de los ingresos a ese centro.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;El contexto social de la mayoría de los chicos que asisten a la escuela es complejo. Los padres visitan la escuela, pero se quiere tener mayor presencia de la familia para intervenir en forma conjunta más intensamente, debido a la extensión de la zona que abarca la escuela a veces es difícil lograrlo.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;En este link se encuentra la ubicacion de la escuela a traves de Google Maps:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=it&amp;amp;geocode=&amp;amp;q=ernesto+herrera,+montevideo&amp;amp;sll=-34.850615,-56.199789&amp;amp;sspn=0.015848,0.027637&amp;amp;ie=UTF8&amp;amp;ll=-34.846969,-56.201291&amp;amp;spn=0.007924,0.013819&amp;amp;z=16&amp;amp;iwloc=A" target="_blank"&gt;http://maps.google.com/maps?f=&lt;wbr&gt;&lt;/wbr&gt;q&amp;amp;source=s_q&amp;amp;hl=it&amp;amp;geocode=&amp;amp;q=&lt;wbr&gt;&lt;/wbr&gt;ernesto+herrera,+montevideo&amp;amp;&lt;wbr&gt;&lt;/wbr&gt;sll=-34.850615,-56.199789&amp;amp;&lt;wbr&gt;&lt;/wbr&gt;sspn=0.015848,0.027637&amp;amp;ie=&lt;wbr&gt;&lt;/wbr&gt;UTF8&amp;amp;ll=-34.846969,-56.201291&amp;amp;&lt;wbr&gt;&lt;/wbr&gt;spn=0.007924,0.013819&amp;amp;z=16&amp;amp;&lt;wbr&gt;&lt;/wbr&gt;iwloc=A&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.presidencia.gub.uy/_Web/fotos/2007/11/20071101B03G.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="231" src="http://www.presidencia.gub.uy/_Web/fotos/2007/11/20071101B03G.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2111496240104941000-1932533908335872294?l=pui-ceibalxo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pui-ceibalxo.blogspot.com/feeds/1932533908335872294/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pui-ceibalxo.blogspot.com/2010/04/escuela-n-200.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/1932533908335872294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/1932533908335872294'/><link rel='alternate' type='text/html' href='http://pui-ceibalxo.blogspot.com/2010/04/escuela-n-200.html' title='Escuela Nº 200'/><author><name>Gonza</name><uri>http://www.blogger.com/profile/06660074788342511682</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_b0AJhUDqvb8/S-N4sN3u3_I/AAAAAAAAAsw/TX20XhrwKjc/S220/n1017978076_341956_5432519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2111496240104941000.post-351424376486554003</id><published>2009-08-08T00:55:00.001-03:00</published><updated>2010-05-07T20:36:00.357-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='reconocimiento'/><category scheme='http://www.blogger.com/atom/ns#' term='ARToolkit'/><category scheme='http://www.blogger.com/atom/ns#' term='marcadores'/><title type='text'>ARToolkit</title><content type='html'>&lt;b&gt;¿Cómo funciona ARToolKit?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Principios básicos&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Las aplicaciones construidas con ARToolKit permiten superponer imágenes virtuales sobre vídeos del mundo real, en tiempo real. Aunque esto parece mágico no lo es. El secreto está en los bordes negros que se utilizan como marcadores. El reconocimiento de ARToolKit funciona de la siguiente manera:&lt;br /&gt;&lt;br /&gt;1. La cámara realiza una captura de vídeo del mundo real y lo envía a la computadora.&lt;br /&gt;2. El software en la computadora realiza una búsqueda de cada cuadro de vídeo buscando cualquier forma cuadrada.&lt;br /&gt;3. Si se encuentra un cuadrado, el software utiliza un cálculo matemático para calcular la posición de la cámara en relación al cuadrado negro.&lt;br /&gt;4. Una vez que la posición de la cámara es reconocida, un modelo gráfico es dibujado desde esa misma posición.&lt;br /&gt;5. Este modelo se dibuja sobre el vídeo del mundo real y así aparece pegado al marcador cuadrado reconocido anteriormente.&lt;br /&gt;6. El resultado final se muestra de nuevo en la pantalla, así cuando el usuario mira la pantalla se muestran gráficos superpuestos en el mundo real.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2111496240104941000-351424376486554003?l=pui-ceibalxo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pui-ceibalxo.blogspot.com/feeds/351424376486554003/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pui-ceibalxo.blogspot.com/2010/05/artoolkit.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/351424376486554003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/351424376486554003'/><link rel='alternate' type='text/html' href='http://pui-ceibalxo.blogspot.com/2010/05/artoolkit.html' title='ARToolkit'/><author><name>Gonza</name><uri>http://www.blogger.com/profile/06660074788342511682</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_b0AJhUDqvb8/S-N4sN3u3_I/AAAAAAAAAsw/TX20XhrwKjc/S220/n1017978076_341956_5432519.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2111496240104941000.post-4641757709756033407</id><published>2009-04-28T20:45:00.008-03:00</published><updated>2009-04-29T15:21:44.238-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='olpc'/><category scheme='http://www.blogger.com/atom/ns#' term='cámara'/><category scheme='http://www.blogger.com/atom/ns#' term='ceibal'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='XO'/><title type='text'>Conociendo la XO</title><content type='html'>Dado que nuestro proyecto será montado en el hardware de las computaroras portátiles XO, nos parece conveniente familiarizarnos con ella. Por este motivo a continuación presentamos un video filmado con la XO, la resolución realmente es mala y desalentadora... Todo parece indicar que la&lt;br /&gt;mejor opción es usar una camara web conectada a la XO en lugar de la cámara que trae la máquina.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-411dd5a1c28aa04b" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v8.nonxt1.googlevideo.com/videoplayback?id%3D411dd5a1c28aa04b%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330303360%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D84FF1ADB58BB1147F1FDDB5F79DFC6F2EB5F6AFE.848A2093908C35C651FB964F34A8F2F1D821499C%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D411dd5a1c28aa04b%26offsetms%3D5000%26itag%3Dw160%26sigh%3D6fTF11CLBdlOFku_ukfD3dKbpwU&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v8.nonxt1.googlevideo.com/videoplayback?id%3D411dd5a1c28aa04b%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330303360%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D84FF1ADB58BB1147F1FDDB5F79DFC6F2EB5F6AFE.848A2093908C35C651FB964F34A8F2F1D821499C%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D411dd5a1c28aa04b%26offsetms%3D5000%26itag%3Dw160%26sigh%3D6fTF11CLBdlOFku_ukfD3dKbpwU&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A continuación un video similar filmado con una cámara web de una laptop convencional.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="266" class="BLOG_video_class" id="BLOG_video-f7a4d8402c1e685c" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v17.nonxt4.googlevideo.com/videoplayback?id%3Df7a4d8402c1e685c%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330303360%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1AA4CC39A9A73159CDDEC6E0A44050225A18A4FB.54E4E48500B6B5008DA11CA04A662939831C6851%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Df7a4d8402c1e685c%26offsetms%3D5000%26itag%3Dw160%26sigh%3D0AzGsSvCwzbObtOAr_BmB_PCz0o&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="320" height="266" bgcolor="#FFFFFF"flashvars="flvurl=http://v17.nonxt4.googlevideo.com/videoplayback?id%3Df7a4d8402c1e685c%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330303360%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D1AA4CC39A9A73159CDDEC6E0A44050225A18A4FB.54E4E48500B6B5008DA11CA04A662939831C6851%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3Df7a4d8402c1e685c%26offsetms%3D5000%26itag%3Dw160%26sigh%3D0AzGsSvCwzbObtOAr_BmB_PCz0o&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Aquí esta la salida del comando "lspci" ejecutado desde la XO:&lt;br /&gt;&lt;br /&gt;00:01.0 Host bridge: Advanced Micro Devices [AMD] Unknown device 0028 (rev 21)&lt;br /&gt;00:01.1 VGA compatible controller: Advanced Micro Devices [AMD] Geode LX Video&lt;br /&gt;00:01.2 Entertainment encryption device: Advanced Micro Devices [AMD] Geode LX AES Security Block&lt;br /&gt;00:0c.0 FLASH memory: Marvell Technology Group Ltd. Unknown device 4100 (rev 10)&lt;br /&gt;00:0c.1 SD Host controller: Marvell Technology Group Ltd. Unknown device 4101 (rev 10)&lt;br /&gt;00:0c.2 Multimedia video controller: Marvell Technology Group Ltd. Unknown device 4102 (rev 10)&lt;br /&gt;00:0f.0 ISA bridge: Advanced Micro Devices [AMD] CS5536 [Geode companion] ISA (rev 03)&lt;br /&gt;00:0f.3 Multimedia audio controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] Audio (rev 01)&lt;br /&gt;00:0f.4 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] OHC (rev 02)&lt;br /&gt;00:0f.5 USB Controller: Advanced Micro Devices [AMD] CS5536 [Geode companion] EHC (rev 02)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.laptop.org/go/Hardware_specification"&gt;Aquí&lt;/a&gt; se encuentran las especificaciónes de hardware de la XO.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2111496240104941000-4641757709756033407?l=pui-ceibalxo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=411dd5a1c28aa04b&amp;type=video%2Fmp4' length='0'/><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=f7a4d8402c1e685c&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://pui-ceibalxo.blogspot.com/feeds/4641757709756033407/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pui-ceibalxo.blogspot.com/2009/04/conociendo-la-xo.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/4641757709756033407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/4641757709756033407'/><link rel='alternate' type='text/html' href='http://pui-ceibalxo.blogspot.com/2009/04/conociendo-la-xo.html' title='Conociendo la XO'/><author><name>Sebastián Marichal</name><uri>http://www.blogger.com/profile/10347194173175291328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2111496240104941000.post-183035438944133799</id><published>2009-04-28T19:25:00.012-03:00</published><updated>2009-04-28T21:18:40.938-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='prototipo'/><category scheme='http://www.blogger.com/atom/ns#' term='openframeworks'/><category scheme='http://www.blogger.com/atom/ns#' term='reconocimiento'/><category scheme='http://www.blogger.com/atom/ns#' term='estrategia'/><title type='text'>Construyendo un prototipo con openframeworks</title><content type='html'>Comenzamos con la construcción de un prototipo básico. Por el momento lo que logramos hacer es tomar como entrada la camara web y reconocer contornos y orientaciones de los objetos presentados.&lt;br /&gt;&lt;br /&gt;También se tienen algunas propiedades de los objetos, como por ejemplo el área de los mismos (por el momento no consideramos objetos en 3 dimensiones sino que trabajamos con dibujos en 2d) y estamos trabajando para reconocer figuras tales como cuadriláteros, triángulos, círculos, etc.&lt;br /&gt;&lt;br /&gt;Encontramos un paper de &lt;a href="http://dmi.uib.es/%7Eugiv/papers/07/JMarco_Interaccion07.pdf"&gt;&lt;span style="font-style: italic;"&gt;Desarrollo de interfaces naturales para aplicaciónes dirigidas a niños&lt;/span&gt;&lt;/a&gt; en el cual se plantea la siguiente estrategia de reconocimiento.&lt;br /&gt;&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;Se detalla en este apartado el proceso de reconocimiento y las técnicas empleadas en cada&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;una de las fases. El sistema es capaz, por el momento, de reconocer forma, color y orientación&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;de cartulinas repartidas sobre el escritorio (fondo blanco uniforme); para llevarlo a cabo se han &lt;/span&gt;&lt;span style="font-style: italic;"&gt;implementado algoritmos estándar básicos de reconocimiento visual.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                                                        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;El proceso es el que se explica a continuación (ver Figura 1).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                                                    &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                                                        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;1. Captura. Como se ha comentado, el hardware de captura visual consiste en una webcam&lt;br /&gt;conectada al PC &lt;/span&gt;&lt;span style="font-style: italic;"&gt;mediante puerto USB. Una llamada a la librería “VideoForWindows” de&lt;br /&gt;Windows, devuelve un array de píxeles de&lt;/span&gt; &lt;span style="font-style: italic;"&gt;dimensión 320 x 200, en la cual cada píxel es&lt;br /&gt;representado por sus componentes de color&lt;/span&gt; &lt;span style="font-style: italic;"&gt;RGB (Rojo, Verde y Azul) de 8 bits de resolución&lt;br /&gt;en cada componente.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2. Umbralización de la imagen. Se genera un valor de umbral automático que representa un&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    valor de luminancia (entre 0 y 255) que separa el escritorio de los elementos tangibles. Se&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    genera un array binario. Para eliminar ruidos de señal de vídeo se aplica un filtrado de&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    mediana.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;3. Visión retinal. Esta fase se encarga de la detección de movimiento. El objetivo es no&lt;/span&gt; &lt;span style="font-style: italic;"&gt;mostrar&lt;br /&gt;en pantalla resultados “falsos” y esperar hasta que el usuario haya terminado&lt;/span&gt; &lt;span style="font-style: italic;"&gt;de realizar su&lt;br /&gt;disposición de elemento tangibles.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_5-rfOYqnY0Y/SfeJwY-iR8I/AAAAAAAAAC0/M_sR9wvAmGM/s1600-h/flujo+del+proceso+de+reconocimiento+visual"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 191px; height: 337px;" src="http://1.bp.blogspot.com/_5-rfOYqnY0Y/SfeJwY-iR8I/AAAAAAAAAC0/M_sR9wvAmGM/s320/flujo+del+proceso+de+reconocimiento+visual" alt="" id="BLOGGER_PHOTO_ID_5329880148447741890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;Figura 1. Flujo del proceso de reconocimiento visual&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;4. Segmentación de la imagen. Con la imagen estática, y a partir del array binario, se cuenta&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    y localiza cuántos elementos tangibles hay sobre el escritorio. A continuación se aplica el&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   algoritmo estándar de etiquetado de &lt;span style="font-weight: bold;"&gt;blobs&lt;/span&gt; (los &lt;span style="font-weight: bold;"&gt;blobs&lt;/span&gt; son puntos o regiones en una imagen que pueden ser tanto mas claras o mas oscuras que sus alrededores&lt;/span&gt;&lt;/span&gt;).&lt;br /&gt;&lt;span style=";font-family:arial;font-size:85%;"  &gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;5. Parametrización de los &lt;span style="font-weight: bold;"&gt;blobs&lt;/span&gt;. Una vez individualizados y etiquetados los blobs, se&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    parametrizan: se obtienen los valores que caracterizan las propiedades físicas de los&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   elementos tangibles que se han detectado en el proceso de segmentación: Área, contorno,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   orientación, color.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2111496240104941000-183035438944133799?l=pui-ceibalxo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pui-ceibalxo.blogspot.com/feeds/183035438944133799/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pui-ceibalxo.blogspot.com/2009/04/construyendo-un-prototipo-con.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/183035438944133799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/183035438944133799'/><link rel='alternate' type='text/html' href='http://pui-ceibalxo.blogspot.com/2009/04/construyendo-un-prototipo-con.html' title='Construyendo un prototipo con openframeworks'/><author><name>Sebastián Marichal</name><uri>http://www.blogger.com/profile/10347194173175291328</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_5-rfOYqnY0Y/SfeJwY-iR8I/AAAAAAAAAC0/M_sR9wvAmGM/s72-c/flujo+del+proceso+de+reconocimiento+visual' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2111496240104941000.post-509485800969264553</id><published>2009-04-27T03:24:00.042-03:00</published><updated>2010-04-22T23:06:21.536-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='perceptual'/><category scheme='http://www.blogger.com/atom/ns#' term='user'/><category scheme='http://www.blogger.com/atom/ns#' term='interface'/><category scheme='http://www.blogger.com/atom/ns#' term='pui'/><category scheme='http://www.blogger.com/atom/ns#' term='interaction'/><category scheme='http://www.blogger.com/atom/ns#' term='computer'/><category scheme='http://www.blogger.com/atom/ns#' term='human'/><title type='text'></title><content type='html'>&lt;h3&gt;Perceptual User Interface (PUI)&lt;br /&gt;&lt;/h3&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Por un largo tiempo, las interfaces de usuario  gráficas (su abreviación en ingles GUI: Graphical User Interface), han  sido la plataforma dominante para la interacción persona computadora.  Sin embargo, por la forma en que utilizamos la informática y por el modo  en que se ha generalizado y se hace cada vez mas presente en nuestras  vidas, las interfaces de usuario gráficas no soportaran fácilmente la  gama de interacciones necesarias para satisfacer las necesidades de los  usuarios. Para dar lugar a una mas amplia gama de escenarios, tareas,  usuarios y preferencias, necesitamos avanzar y migrar hacia interfaces  naturales, intuitivas, flexibles y discretas. Un nuevo enfoque para  lograr lo antes mencionado, son las interfaces de usuario de  perceptuales ( su sigla en ingles y como las llamaremos de ahora en  adelante: PUI Perceptual User Interfaces ), y su objetivo es hacer la  interacción persona computadora lo mas parecida a como la gente  interactúa entre si y con el resto del mundo [1].&lt;/div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: center;"&gt;&lt;table border="1" bordercolor="#000000" cellpadding="3" cellspacing="0" height="124" id="wgay" style="margin-left: 0pt; margin-right: 0pt; text-align: left; width: 400px;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;" width="33%"&gt;Era&lt;/td&gt;&lt;td style="text-align: center;" width="33%"&gt;Paradigma&lt;/td&gt;&lt;td style="text-align: center;" width="33%"&gt;Implementación&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td style="text-align: center;" width="33%"&gt;1950s&lt;/td&gt;&lt;td style="text-align: center;" width="33%"&gt;Ninguno&lt;/td&gt;&lt;td width="33%"&gt;Switches,  cables, tarjetas perforadas&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td style="text-align: center;" width="33%"&gt;1970s&lt;/td&gt;&lt;td style="text-align: center;" width="33%"&gt;Máquina de escribir&lt;/td&gt;&lt;td style="text-align: center;" width="33%"&gt;Interface de línea de comandos&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td style="text-align: center;" width="33%"&gt;1980s&lt;/td&gt;&lt;td style="text-align: center;" width="33%"&gt;Escritorio&lt;/td&gt;&lt;td style="text-align: center;" width="33%"&gt;GUI / WIMP&lt;/td&gt;&lt;/tr&gt;&lt;tr align="center"&gt;&lt;td style="text-align: center;" width="33%"&gt;2000s&lt;/td&gt;&lt;td style="text-align: center;" width="33%"&gt;Interacción Natural&lt;/td&gt;&lt;td width="33%"&gt;PUI (entrada y salida multimodal)&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;  Tabla 1 [1]&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify;"&gt;Las PUI deben aprovechar  las capacidades perceptuales humanas y presentar la información y el  contexto en forma natural y significativa. Esto significa que debemos  ser capaces de entender la visión humana, la percepción  auditiva, formas de conversación convencionales, capacidades táctiles,  etc. De la misma manera, las PUI deben aprovechar los avances en la  visión artificial, reconocimiento de voz y sonido, sistemas de aprendizaje y comprensión del lenguaje natural [1].&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;La visión es claramente un elemento  importante a la hora de la comunicación entre los seres humanos. Es verdad que la comunicación entre seres humanos puede concretarse sin la  visión, pero también es cierto que la visión proporciona una  riqueza a la comunicación que no puede ser remplazada mediante el uso de  la voz o el texto.Por ejemplo el lenguaje corporal, los gestos  faciales, etc. Las interfaces basadas en la vision (su sigla en ingles VBI: Visual Based Interfaces) intentan  poder introducir estos gestos a la comunicación entre las personas y las  computadoras. Las VBI son una subclase de las PUI y se concentran en desarrollar un conocimiento visual de las personas que  usan un sistema. [1]&lt;/div&gt;&lt;br /&gt;&lt;i&gt;&lt;b&gt;Visual Based Interfaces (VBI):&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Se pueden clasificar en 2 aspectos: Control y conocimiento visual.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;1- Control: Es la comunicación explicita con el sistema, por  ejemplo poner un objeto en un lugar.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;2- Conocimiento  visual:&amp;nbsp; Recoger información sobre lo que esta sucediendo sin una  iintención explicita de comunicarla. Esto le brinda una contexto a la aplicación, y a partir de este contexto puede decidir  tomar acciones o no, pero lo importante es resaltar  que no fue necesario dar una orden explicita para que el sistema cambie  su comportamiento, el sistema es capaz de detectar  un cambio en el contexto.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Por ejemplo, se podría  realizar un seguimiento de una persona y si abandona la escena cambiar  el comportamiento.Una persona esta mirando un video,  y si se levanta y se va entonces podemos pausar el video tanto para  evitar que se pierda partes del mismo o que se  malgasten recursos que no están siendo aprovechados. [1]&lt;/div&gt;&lt;br /&gt;3. &lt;b&gt;Tipos de interfaces y conformación de las PUI:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;div id="i0_e" style="text-align: center;"&gt;&lt;img height="256" src="http://docs.google.com/File?id=dhr8jgdg_153dqcnrbpz_b" width="430" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: xx-small;"&gt;Imagen 1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;&lt;u&gt;Perceptive  UI&lt;/u&gt;&lt;/i&gt;: &lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Como se puede ver en la figura, las perceptive UI y las demás interfaces que se explican a continuación, están incluidas dentro de las interfaces de usuario perceptuales.&lt;br /&gt;&lt;br /&gt;La principal característica de las perceptual UI es que agregan capacidades de tipo humanas a las computadoras. Por  ejemplo hacer consiente a la computadora de lo que el usuario esta diciendo o de los gestos que sus manos o su cara están haciendo. Estas interfaces proveen una entrada a la computadora tomando conocimiento del entorno, es decir, permiten a la computadora percibir aquellas vías de comunicación características de los seres humanos las cuales son ignoradas por las GUI a las cuales estamos acostumbrados hoy en día.[1]&lt;/div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;u&gt;&lt;i&gt;Multimodal UI&lt;/i&gt;&lt;/u&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Las multimodal UI tienen en común los aspectos de entrada  con las perceptual UI. Estas se basan en el uso de múltiples  modalidades, por ejemplo la entrada de la computadora puede ser provista  por voz junto&amp;nbsp; con gestos, o la utilización de las 2  manos a la vez. También se basan en entradas sensoriales, pero lo que  las distingue es que se tiene en cuenta mas de una entrada a la vez, no 2  entradas que provean&amp;nbsp; información  redundante sino 2 entradas diferentes que provean información diferente a  la computadora. [2]&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Así como se usan distintas  modalidades para la entrada, también se utilizan distintas modalidades  para la salida, como por ejemplo gráfico, voz o salida táctil. El fin de  este tipo de salida es incorporar las capacidades de percepción, cognitivas y habilidades de comunicación  del usuario para comprender de mejor manera lo que está siendo  presentado por el sistema. [1]&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Estas interfaces  permiten aumentar el ancho de banda de la comunicación entre el usuario y  la computadora. Por ejemplo, el usuario podría dar una orden con la voz  y otra orden con la mano al mismo  tiempo, por lo tanto en una sola acción del usuario se le dio 2 ordenes  distintas al computador ,mientras que en las interfaces que permiten un  solo modo por vez no hubiera sido posible, primero tendría que haberse dado la orden con la voz y luego con las manos o en el  orden contrario. [2]&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;u&gt;&lt;i&gt;Multimedia UI&lt;/i&gt;&lt;/u&gt;:&lt;/li&gt;&lt;/ul&gt;Las interfaces multimedia son un subconjunto de la salida  de las multimodal UI. Aprovechan las habilidades perceptuales y  cognitivas del usuario para interpretar lo que el sistema esta  presentando. Las vías típicas utilizadas son el  texto, el audio y el video. Las interfaces multimedia se concentran en  los canales de comunicación, mientras las multimodal UI se concentran en  los canales de percepción humanos, es por esto que  son un subconjunto de las multimodal UI.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;&lt;u&gt;Percepual  UI&lt;/u&gt;&lt;/i&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Las interfaces perceptuales de  usuario integran las perceptive UI, multimodal UI y multimedia UI para  que nuestras capacidades humanas influyan de manera de poder crear &lt;b&gt;interfaces  mas naturales e intuitivas&lt;/b&gt;. Habilitan múltiples  estilos de interacción, como por ejemplo solamente voz, voz y texto,  texto y tacto, visión y sonido. Estas vías de interacción son usadas  apropiadamente en diferentes circunstancias, siempre con el objetivo de hacer la interacción mas  natural e intuitiva.&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Las PUI son  multimodal UI altamente interactivas, modeladas a partir de la  interacción humano-humano. El objetivo de las mismas es lograr una  interacción con la tecnología de una manera similar de la que tenemos los humanos entre nosotros y con el mundo físico.&lt;/div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;div id="dtj1" style="text-align: center;"&gt;&lt;img height="298" src="http://docs.google.com/File?id=dhr8jgdg_154d3ksx62b_b" width="284" /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size: xx-small;"&gt;Imagen 2&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Referencias: &lt;/b&gt;[1] Matthew Turk, &lt;i&gt;&lt;a href="http://ilab.cs.ucsb.edu/projects/turk/Turk%20EC-NSF%20Workshop.pdf" id="b8uq" title="Perceptual User Interfaces"&gt;Perceptual User Interfaces&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;  &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [2] George G. Robertson, &lt;i&gt;&lt;a href="http://www.cs.ucsb.edu/conferences/PUI/PUIWorkshop98/Picard.ppt" id="sqnk" title="Leveraging Human Capabilities in Perceptual Interfaces"&gt;Leveraging  Human Capabilities in Perceptual Interfaces&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2111496240104941000-509485800969264553?l=pui-ceibalxo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://pui-ceibalxo.blogspot.com/feeds/509485800969264553/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://pui-ceibalxo.blogspot.com/2009/04/perceptual-user-interface-pui.html#comment-form' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/509485800969264553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2111496240104941000/posts/default/509485800969264553'/><link rel='alternate' type='text/html' href='http://pui-ceibalxo.blogspot.com/2009/04/perceptual-user-interface-pui.html' title=''/><author><name>Gonza</name><uri>http://www.blogger.com/profile/06660074788342511682</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='21' src='http://4.bp.blogspot.com/_b0AJhUDqvb8/S-N4sN3u3_I/AAAAAAAAAsw/TX20XhrwKjc/S220/n1017978076_341956_5432519.jpg'/></author><thr:total>0</thr:total></entry></feed>
