Download File
Document related concepts
Transcript
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD CURSO ACADEMICO: INTELIGENCIA ARTIFICIAL APORTE INDIVIDUAL TRABAJO COLABORATIVO No. 3 Presentado a: ANGELA MARIA GONZALEZ Tutor Presentado por: Johana Andrea Páez Código: 52211813 CEAD JAG Curso Académico: INTELIGENCIA ARTIFICIAL Aula virtual y Grupo colaborativo: 90169_28 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA- UNAD BOGOTÁ D.C., Mayo 26 de 2014 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD CURSO ACADEMICO: INTELIGENCIA ARTIFICIAL d. El grupo realiza la búsqueda de software libre existente para inteligencia artificial, redes neuronales, agentes inteligentes, sistemas expertos y otros afines al curso. De cada uno de los paquetes debe anexar nombre, tipo de licencia, características y principales funciones. Nivel General: OpenCog Es una plataforma general de AI en el que una variedad de diferentes sistemas de IA se pueden desarrollar, desde la relativamente simple para las aplicaciones prácticas Ai - el eje central de la plataforma es el aprendizaje y la complejidad "de inteligencia artificial en general". Es un proyecto cuyo objetivo es la construcción de una infraestructura de inteligencia artificial general (AGI). OpenCog Prime es un conjunto específico de componentes que interactúan para dar lugar a una inteligencia equivalente a la humana.OpenCV: librería de visión artificial Actualmente se está trabajando para hacer la vida más fácil para los desarrolladores de IA, por la construcción de una plataforma flexible y reutilizable para manejar los sistemas a nivel de trabajo, y por el diseño de normas para los módulos de IA a obedecer en sus interacciones. El equipo se centra en sistemas a nivel de trabajo, experimentando con nuevos módulos de IA, y apoyar el primer mundo virtual, los desarrolladores de aplicaciones que trabajan con una versión preliminar de OpenCog. Visión artificial: OpenCV: Página 2 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD CURSO ACADEMICO: INTELIGENCIA ARTIFICIAL Es una biblioteca libre de visión artificial originalmente desarrollada porIntel. Desde que apareció su primera versión alfa en el mes de enero de 1999, se ha utilizado en infinidad de aplicaciones. Desde sistemas de seguridad con detección de movimiento, hasta aplicativos de control de procesos donde se requiere reconocimiento de objetos. Esto se debe a que su publicación se da bajo licencia BSD, que permite que sea usada libremente para propósitos comerciales y de investigación con las condiciones en ella expresadas. Open CV es multiplataforma, existiendo versiones para GNU/Linux, Mac OS X yWindows. Contiene más de 500 funciones que abarcan una gran gama de áreas en el proceso de visión, como reconocimiento de objetos (reconocimiento facial), calibración de cámaras, visión estérea y visión robótica. El proyecto pretende proporcionar un entorno de desarrollo fácil de utilizar y altamente eficiente. Esto se ha logrado, realizando su programación en código C y C++ optimizados, aprovechando además las capacidades que proveen los procesadores multi núcleo. OpenCV puede además utilizar el sistema de primitivas de rendimiento integradas de Intel, un conjunto de rutinas de bajo nivel específicas para procesadores Intel (IPP). Ventajas En la mayoría de los casos consigue un radio de compresión/calidad mucho mejor que los otros formatos. Además, su nivel de compresión es ajustable, típicamente entre 1: 10 y 1 : 100. Es un formato muy popular y casi exclusivo en muchos ámbitos. Desventajas: Posee compresiones/descompresiones complejas y costosas. No incluye transparencias ni animaciones. La información perdida no se recupera. Aplicaciones: OpenCV ha sido usada en el sistema de visión del vehículo no tripulado Stanley de la Universidad de Stanford, el ganador en el año 2005 del Gran desafío DARPA. OpenCV se usa en sistemas de vigilancia de vídeo. Página 3 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD CURSO ACADEMICO: INTELIGENCIA ARTIFICIAL OpenCV es la clave en el programa Swistrack, una herramienta de seguimiento distribuida. AForge.NET: Liberado bajo licencia GPL. Es un marco de C # práctico diseñado para los desarrolladores e investigadores en los campos de Visión por Computador e Inteligencia Artificial y procesamiento de imágenes, redes neuronales, algoritmos genéticos, aprendizaje automático, robótica, etc. El marco está compuesto por el conjunto de bibliotecas y aplicaciones de ejemplo que muestran sus características: AForge.Imaging - biblioteca de las rutinas de procesamiento de imágenes y filtros; AForge.Vision - Biblioteca de la visión por computador; AForge.Neuro - redes neuronales biblioteca de computación; AForge.Genetic - Biblioteca de programas de la evolución; AForge.Fuzzy - fuzzy biblioteca de cálculos; AForge.MachineLearning - Biblioteca de la máquina de aprendizaje; AForge.Robotics - Biblioteca apoyo de algunos kits de robótica; AForge.Video - conjunto de librerías para el procesamiento de vídeoetcéteraDale AForge.NET marco una oportunidad para evaluar plenamente sus capacidades! Por medio del framework Aforge.NET se podrá realizar tareas de optimización sobre las imágenes que se lean obtengan para su óptimo proceso y obtención del OCR. El contenido de AForge.NET no se limita al tratamiento de imágenes, sino que es un conjunto de librerías y programas de ejemplo que muestran el potencial del framework: • AForge.Imaging: librería con rutinas y filtros de procesamiento de imágenes. • AForge.Vision: librería de visión artificial. • AForge.Neuro: librería de redes neuronales. • AForge.Genetic: librería de algoritmos genéticos. • AForge.MachineLearning: librería de aprendizaje máquina. • AForge.Robotics: librería que ofrece soporte a varios kits robóticos. • AForge.Video: conjunto de librerías para el procesamiento de video. Robótica ROS o Robot Operating System: Página 4 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD CURSO ACADEMICO: INTELIGENCIA ARTIFICIAL ROS es de código abierto, bajo licencia BSD. Provee librerías y herramientas para ayudar a los desarrolladores de software a crear aplicaciones para robots. ROS provee abstracción de hardware, controladores de dispositivos, librerías, herramientas de visualización, comunicación por mensajes, administración de paquetes y más. ROS está bajo la licencia open source, BSD. Es un framework para el desarrollo de software para robots que provee la funcionalidad de un sistema operativo en un clúster heterogéneo. ROS se desarrolló originalmente en 2007 bajo el nombre de switchyard por el Laboratorio de Inteligencia Artificial de Stanford para dar soporte al proyecto del Robot con Inteligencia Artificial de Stanford (STAIR2 ). Desde 2008, el desarrollo continúa primordialmente en Willow Garage, un instituto de investigación robótico con más de veinte instituciones colaborando en un modelo de desarrollo federado.3 4. ROS provee los servicios estándar de un sistema operativo tales como abstracción del hardware, control de dispositivos de bajo nivel, implementación de funcionalidad de uso común, paso de mensajes entre procesos y mantenimiento de paquetes. Está basado en una arquitectura de grafos donde el procesamiento toma lugar en los nodos que pueden recibir, mandar y multiplex mensajes de sensores, control, estados, planificaciones y actuadores, entre otros. La librería está orientada para un sistema UNIX (Ubuntu (Linux) es el sistema soportado aunque también se está adaptando a otros sistemas operativos como Fedora, Mac OS X, Arch, Gentoo, OpenSUSE, Slackware,Debian o Microsoft Windows considerados como 'experimentales'). Aplicaciones: Las áreas que incluye ROS son: Un nodo principal de coordinación. Publicación o subscripción de flujos de datos: imágenes, estéreo, láser, control, actuador, contacto, etc. Multiplexación de la información. Creación y destrucción de nodos. Los nodos están perfectamente distribuidos, permitiendo procesamiento distribuido en múltiples núcleos, multiprocesamiento, GPUs y clústeres. Login. Parámetros de servidor. Testeo de sistemas. Página 5 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD CURSO ACADEMICO: INTELIGENCIA ARTIFICIAL Las áreas que incluirán las aplicaciones de los paquetes de ROS son: Percepción Identificación de Objetos Segmentación y reconocimiento Reconocimiento facial Reconocimiento de gestos Seguimiento de objetos Egomoción Comprensión de movimiento Estructura de movimientos (SFM) Visión estéreo: percepción de profundidad mediante el uso de dos cámaras Movimientos Robots móviles Control Planificación Agarre de objetos Ventajas Tiene la capacidad de desarrollar nodos software reutilizables, además de proporcionar herramientas y algoritmos de uso típico en robótica Desventaja En este momento no cuenta con ninguna aplicación ni paquetes de programación específicos para la simulación realista de robots Neuroph Es un marco orientado a objetos de redes neuronales escrito en Java. Puede utilizarse para crear y formar redes neuronales en programas Java. Neuroph proporciona la biblioteca de clases de Java así como la herramienta de interfaz gráfica (GUI) easyNeurons para la creación y formación de redes neuronales. Es un proyecto de código abierto en SourceForge, y la última versión 2.4 ha sido publicada bajo la licencia Apache. Versiones anteriores fueron licenciadas bajo LGPL. Neuroph simplifica el desarrollo de las redes neuronales, proporcionando Java biblioteca de red neuronal y GUI herramienta que apoya la creación, la formación y el ahorro de las redes neuronales. Página 6 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD CURSO ACADEMICO: INTELIGENCIA ARTIFICIAL Es ligero para realizar redes neuronales y desarrollar y simular arquitecturas comunes de las redes neuronales. Contiene también la biblioteca de Java diseñado con un pequeño número de clases básicas que corresponden a los conceptos básicos de NN, y también tiene buen editor gráfico de redes neuronales. Se ha liberado como código abierto bajo la licencia LGPL, y es gratis para que usted lo utilice. Si usted es principiante con las redes neuronales, y que sólo quiere probar su funcionamiento, sin entrar en la teoría y la aplicación complicada, o que los necesitan con rapidez para su proyecto de investigación de la Neuroph es buena opción para usted. Es pequeño, bien documentado, fácil de usar, y el marco de redes neuronales muy flexible. La versión 2.3.1 corrige problema con la edición de interfaz gráfica de usuario de NetBeans (archivo fijo del proyecto de NetBeans), LMS fórmula fija, fija las pruebas en modo blanco y negro para el reconocimiento de imágenes, corrección de errores GUI - excepciones al crear redes de gran tamaño, los cambios API de reconocimiento de imagen, por lo que el modo de color es detectado automáticamente a partir de la configuración utilizados para el entrenamiento de la red. Neuro- Lab Código abierto, bajo licencia BSD. Un software completo y versátil equipo para microordenadores compatibles IBM ha desarrollado. Está diseñado para el análisis cuantitativo off-line de A / D en la muestra intracelular o extracelular grabaciones y datos de comportamiento o de estímulo. El programa trabaja con archivos individuales o conjuntos de archivos. Es compatible con los datos que va a ver en la pantalla y permite el corte de los datos interesantes para el análisis común. Ofrece 19 filtros / operadores de tratamiento de datos y posibilidades amplias para establecer y calcular los puntos gatillo. Los datos de los puntos gatillo se pueden exportar como archivos ASCII. Histogramas neurofisiológicas estándar como cruzadas correlograms intervalo, PST-, histogramas de fase o automática y se pueden obtener. Es posible en función del tiempo y promedios dependiente de la fase de todos los datos originales y se filtró. Toda la salida gráfica en la pantalla directamente puede copiar a una impresora plotter / laser o archivo HP-GL por comandos de teclado. Neuro-Lab ha sido diseñado con el objetivo de ofrecer una interfaz muy fácil de usar, el usuario, el apoyo de las actividades de aprendizaje de exploración, y también de alta reutilización. Esta característica permite una fácil ampliación, la integración y la interoperabilidad del software con otras aplicaciones. Página 7 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD CURSO ACADEMICO: INTELIGENCIA ARTIFICIAL AIPI Está herramienta está diseñada para crear y ejecutar sistemas expertos de manera sencilla y con una interfaz gráfica amigable, AIPI ha sido desarrollada bajo una licencia de software libre y está hecha en un lenguaje de programación de alto nivel que puede correr dentro de cualquier sistema operativo basado en Windows. El artículo además pretende dar una breve descripción de lo que son Sistemas Expertos dentro del ámbito de la Inteligencia Artificial (IA) y sus utilidades en las diferentes áreas de conocimiento. El software se ha diseñado para facilitar la creación de sistemas expertos y para poder ejecutar dichos sistemas en el software. El software contendrá tres módulos: MODULO DE EJECUCION DE SISTEMAS EXPERTOS: Este módulo será el encargado de leer e interpretar los conocimientos codificados en fichero extensión .txt para que esta forma pueda inferir todo el conocimiento y dar solución al problema tratado. En este módulo el usuario puede preguntar al software que explique el razonamiento que se siguió para resolver el problema. MODULO DE CODIFICACION DE CONOCIMIENTO: Este módulo consiste en un editor de texto muy parecido a los utilizados en los lenguajes de programación informáticos, el cual consta de identificación y coloreado de las palabras claves utilizadas por AIPI, búsquedas avanzadas, depurador de errores léxicos, sintácticos y semánticos, etc. MODULO DE APRENDIZAJE AUTOMÁTICO: En este módulo el software es capaz de conectarse a bases de datos y convertir datos en árboles de decisiones que a su vez pueden ser convertidas en reglas las cuales AIPI puede interpretar. El lenguaje que se utiliza en la programación es semejante al lenguaje natural con el fin de facilitar al usuario en la creación de las bases de conocimientos y la creación de programas para dar solución a la problemática. Una de las características muy importantes que se pretende implementar es la diferentes controles avanzados para poder ver imágenes, vídeos, tablas, gráficos, etc.., y así hacer el uso del programa más amigable. AIPI está diseñado para ser un software de fácil compresión y programación para los usuarios. Es basado en REGLAS, las que se encuentran relacionadas, así dependiendo de las condiciones que están contenidas es cada regla se pasa de una regla a otra o, se obtiene una conclusión. Página 8 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD CURSO ACADEMICO: INTELIGENCIA ARTIFICIAL WEBGRAFIA Alvaro García Cazorla, P. (2012). ROS: Robot Operating System. Recuperado Mayo 26, 2014, a partir de http://repositorio.bib.upct.es/dspace/bitstream/10317/3597/1/pfc5588.pdf Java Neural Network Framework [en línea]. Disponible en: http://es.downv.com/downloadJava-Neural-Network-Framework-Neuroph-10226007.html Dentro del linux documentation project encontramos este howto de inteligencia y vida artificial(http://linuxselfhelp.com/HOWTO/AI-Alife-HOWTO.html) Mauricio Alfaro, P. (2011). AIPI: Una herramienta libre basada en Inteligencia Artificial para Crear y Ejecutar Sistemas Expertos. http://www.researchgate.net/publication/221875454_AIPI_Una_herramienta_libre_basada_ en_Inteligencia_Artificial_para_Crear_y_Ejecutar_Sistemas_Expertos. J Métodos Neurosci. 1992 Oct-Nov; 45 (1-2) :135-48. Neurolab, un programa integral para el análisis de los datos neurofisiológicos y de comportamiento. http://www.ncbi.nlm.nih.gov/pubmed/1491595 Emilio García Roselló , José B. García Pérez-Schofield , Jacinto González Dacosta , Manuel Pérez-Cota. 2003. Publicado en línea en Wiley InterScience (www.interscience.wiley.com); DOI 10.1002/cae. Neuro-Lab: Un entorno basado en software altamente reutilizable para enseñar a las redes neuronales artificiales. http://www.researchgate.net/publication/229691851_NeuroLab_A_highly_reusable_softwa rebased_environment_to_teach_artificial_neural_networks Página 9