[21/09/2023] No es casualidad que muchos programas que utilizan técnicas de inteligencia artificial sean de código abierto y, por tanto, completamente gratuitos. Esto se debe a que los primeros enfoques se originaron en el mundo académico, donde las licencias libres de software son una práctica habitual para fomentar la colaboración y el desarrollo posterior.
[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]
Aquí, sin embargo, no se trata de marcos y bibliotecas para formas de IA, sino de aplicaciones tangibles y útiles de la inteligencia artificial para su propia computadora. El término IA engloba diversos métodos como las redes neuronales, el aprendizaje automático, el aprendizaje profundo o el procesamiento del lenguaje natural. En la siguiente recopilación se representan todos estos enfoques.
Los modelos importan
Los diversos enfoques de reconocimiento de patrones, árboles de decisión procesados por máquinas y automatización de tareas, se construyen sobre datos de entrenamiento y modelos que ya están listos. La disponibilidad de estos datos es una de las razones por las que hoy en día existen técnicas útiles de IA en software de libre acceso.
Por lo general, los modelos tardan años en desarrollarse y a menudo hay terabytes de datos brutos que evaluar. Pero con el aumento de la potencia de cálculo del hardware común de las PC, el desarrollo de modelos de IA y el análisis de los datos de entrenamiento se ha acelerado en los últimos años, haciéndolo posible para equipos de investigación más pequeños.
La siguiente recopilación trata de las ventajas prácticas; es decir, de la aplicación de métodos principalmente en software libre para Windows, que muestran bien hasta qué punto ha progresado ahora la tecnología sin elevados costos de instalación.
Esto también es gracias a los desarrollos de código abierto -porque con Pytorch, desde el 2016 está disponible un marco de aprendizaje profundo de Facebook y Microsoft, que se ha hecho un nombre principalmente en la investigación y en proyectos de software libre con sus API para Python y C++. El Autopilot de Tesla, entre otros, también se basa en él.
El segundo gran framework popular y gratuito es Tensorflow, que procede de Google y ofrece una estrecha vinculación con Google Cloud, pero también muchas bibliotecas para uso personal.
Son estos dos marcos cuya inteligencia artificial fluye principalmente en los programas presentados aquí a través de la conexión de algoritmos y modelos de datos, o fue crucial en su desarrollo.
Final 2x - Ampliar el tamaño de las imágenes
Escalar gráficos de mapa de bits simplemente ampliando sus píxeles siempre conlleva una grave pérdida de calidad. Con Final 2x, la ampliación de mapas de bits no tiene por qué tener pérdidas. El programa Final 2x consigue aumentar la escala de los gráficos y suavizarlos hasta el último detalle con la ayuda de redes neuronales y los modelos suministrados.
Bien ampliadas: Final 2x funciona con cualquier CPU y GPU. Este gráfico pixelado (izquierda) ha sido ampliado hasta cuatro veces su tamaño original (derecha) por el algoritmo Waifu 2x.
Con los algoritmos Real Cugan, Real Esrgan, Waifu 2x y SRMD, Final 2x proporciona cuatro formas de escalar imágenes para obtener los mejores resultados. El programa también puede mejorar significativamente las fotos pixeladas en formato JPG con ruido y artefactos fuertes.
Instalación: Final 2x también se encuentra al principio de nuestra colección de herramientas útiles porque es muy fácil de instalar en Windows e inmediatamente le invita a experimentar con éxito. Tampoco hay requisitos especiales de hardware, porque las redes neuronales y los algoritmos utilizados en Final 2x funcionan con chips Nvidia, AMD e Intel. Una GPU integrada también es suficiente.
Como con todas las herramientas de IA y redes neuronales, sin embargo, lo mismo se aplica aquí: Mucha RAM ayuda. Para Windows, el desarrollador proporciona el práctico instalador Final2x-windows-x64-setup.exe (260MB) en su página de Github, que completa la configuración con unos pocos clics.
He aquí cómo funciona: Tras arrancar, Final 2x presenta un campo de entrada que acepta los archivos de imagen en formato JPG o PNG que se van a reescalar arrastrando y soltando. Un clic en el símbolo de la rueda dentada en la parte inferior izquierda abre una página con ajustes. En Dispositivo se puede seleccionar la CPU/GPU para el cálculo, si hay varias disponibles.
El Modelo determina la calidad de la imagen. El algoritmo Real-ESRGAN es muy adecuado para fotografías, mientras que Waifu 2x está especializado en dibujos. El factor de escala se determina en el campo Escala personalizada. También es aconsejable activar siempre la opción TTA para obtener resultados bien denotados.
En la ventana principal, Inicio inicia el cálculo, que puede tardar varios minutos para imágenes complejas.
Meshroom - Escáner 3D para smartphones
Un escáner 3D escanea objetos reales con láser y crea un archivo a partir de los datos para su posterior uso en programas CAD y de animación. Lo que suena muy complejo es en realidad posible a pequeña escala con smartphones o cámaras digitales convencionales y el software gratuito Meshroom. Se basa en las bibliotecas fotogramétricas del desarrollador Alicevision, está disponible bajo licencia de código abierto y para Windows (64 bits). A partir del análisis de series de imágenes, calcula la forma de un objeto fotografiado y crea un archivo de cuadrícula.
Bienvenido al mundo tridimensional: Meshroom crea una malla 3D a partir de fotografías de objetos reales para su posterior procesamiento en programas CAD y modelos 3D como Blender.
Instalación: Debido a la interfaz Cuda necesaria para los cálculos, Meshroom requiere una tarjeta gráfica Nvidia con soporte para al menos Cuda 2.0. La tabla muestra las tarjetas a las que se aplica. Los controladores Cuda de Nvidia para Microsoft Windows tienen un tamaño de descarga de 3GB.
Una vez configurado el hardware de Nvidia, puede instalar Meshroom (1,3 GB). Con las tarjetas gráficas AMD y los chips Intel, Meshroom sólo funciona en el modo de boceto, menos preciso. Los que tengan paciencia para los cálculos pueden probar una versión alternativa de Meshroom sin Cuda.
Así es como se hace: Al fotografiar el objeto que se va a escanear, es importante que esté lo más separado posible en una habitación vacía. Se necesitan docenas de fotos de cada lado en diferentes ángulos con una gran profundidad de campo y sin desenfoque. Es importante no utilizar un tamaño de imagen superior a 10 megapíxeles. A continuación, se arrastran los archivos a la zona izquierda de Imágenes en Meshroom para iniciar el cálculo, que tarda unas horas incluso en tarjetas Nvidia.
Para una mayor optimización de la malla, se recomienda entonces un software 3D como el programa gratuito Blender.
Kdenlive - Seguimiento de objetos mediante IA
Este editor de video gratuito cuenta desde hace dos años con ayudas para la IA. El seguimiento de movimiento, es decir, el seguimiento automático de objetos en clips de video, puede dotar a los motivos reconocidos de una máscara y aplicarles después efectos específicos. Esto es útil, por ejemplo, para pixelar determinados objetos en un videoclip.
Seguimiento de un objeto: El rastreador de movimiento DaSIAM de las versiones más recientes del editor de video trabaja con técnicas KIT y puede, por ejemplo, hacer irreconocibles los rostros por desenfoque.
Instalación: Kdenlive está disponible como código abierto para Windows en 64 bits como archivo de instalación (100MB), por lo que se instala rápidamente. Además, ahora se añaden los datos del modelo para el algoritmo de seguimiento del movimiento. Se trata de tres archivos dasiamrpn_ kernel_cls1.onnx, dasiamrpn_kernel_r1.onnx y dasiamrpn_model.onnx de los desarrolladores de Kdenlive. Los tres archivos deben colocarse en el directorio de instalación de Kdenlive. Para ello, introduzca la dirección %AppData%/kdenlive en la barra de direcciones del Explorador de Windows y cree una nueva subcarpeta llamada opencvmodels. Los tres archivos de modelo descargados se colocan allí.
Así es como se hace: En Kdenlive, el rastreador de movimiento está disponible como efecto. Para utilizarlo, coloque un clip importado de la lista en la parte superior izquierda de la línea de tiempo; a continuación, cambie a la pestaña Efectos en la barra de menú central y seleccione Alfa, Máscara y Keying - Motion Tracker allí. Al arrastrar el efecto sobre el clip deseado, se abrirán los ajustes del efecto y aparecerá un cuadrado rojo en la ventana de vista previa. En los ajustes, el tipo DaSIAM debe seleccionarse como algoritmo Tracker. En la línea de tiempo, vaya al primer fotograma, coloque el marco de selección rojo alrededor del objeto y, a continuación, haga clic en Análisis para calcular los fotogramas clave alrededor del objeto. La pixelación, por ejemplo, para las caras, también puede seleccionarse inmediatamente.
Spleeter - Empalmar música en pistas
Así es como las piezas musicales ya mezcladas vuelven a convertirse en pistas individuales: La herramienta de IA Spleeter ya recibió mucha atención hace dos años tras su primera presentación. Puede dividir la música en formato MP3 en dos, cuatro o cinco pistas individuales utilizando modelos previamente entrenados.
Hábilmente deconstruido: Spleeter es una herramienta de línea de comandos que utiliza IA y extensos modelos para descomponer archivos de música en formato MP3 en pistas individuales con instrumentos aislados.
Spleeter reconoce categorías como voz, bajo, batería y sección rítmica. La herramienta de línea de comandos utiliza la biblioteca de IA Tensorflow para analizar el flujo de datos de las piezas musicales, y el codificador Ffmpeg para separar las pistas aisladas en archivos MP3 individuales.
La herramienta de IA y el entrenamiento de los modelos proceden del servicio francés de streaming Deezer, al que se permitió utilizar el enorme catálogo de música pop con licencia como material de análisis para el reconocimiento de patrones. Estos datos de entrenamiento también están disponibles para uso privado gratuito, pero deben instalarse por separado.
Instalación: Gracias a su popularidad, existe una versión para Windows de Spleeter que ahorra la tediosa instalación de los componentes individuales del programa Python. Este puerto compacto para Windows está disponible a través del gestor de paquetes Chocolately, que primero espera a ser configurado. Para ello, primero hay que ir a través del menú Inicio al Windows Power Shell, que se abre con un clic derecho y la opción Ejecutar como administrador. En esta línea de comandos, el comando:
Set-ExecutionPolicy AllSigned
habilita los derechos de ejecución con la entrada j. A continuación, el comando:
Set-ExecutionPolicy Bypass -Scope Process -Force;
[System.Net.ServicePointManager
SecurityProtocol =
[System.Net.ServicePointManager
SecurityProtocol -bor 3072; iex
((Nuevo-Objeto System.Net.WebClient
).DownloadString
('https://chocolatey.org/install.ps1'
))
instala el gestor de paquetes de Windows Chocolately.
Entonces el gestor de paquetes puede instalar Spleeter en el Powershell con esta entrada:
choco install spleeter-msvc-exe
Ahora es necesario instalar los modelos de entrenamiento. Para ello, se utiliza el archivo por lotes download_models.bat en el directorio recién creado C:\ProgramData\chocolatey\lib\spleeter-msvc-exe\tools\models, que también se llama en el Powershell y descarga unos 1,2GB de datos, que no es poco. Por último, Spleeter requiere la instalación de Visual C++ Redistributable de Microsoft.
Así es como se hace: Una vez completados todos los pasos, puede continuar en el Powershell o en el símbolo del sistema. La llamada:
spleeter.exe datei.mp3
divide un archivo MP3 existente en el directorio actual en voces e instrumentos, que coloca en la carpeta como archivos MP3 individuales. Este es el ejemplo de aplicación más sencillo, que además sólo requiere unos segundos de tiempo de computación en una PC actual con un rendimiento medio. Sin embargo, en la música pop típica, Spleeter reconoce pistas adicionales para aislarlas, como la batería y el bajo.
spleeter.exe -m 4stems datei.mp3
En este ejemplo, Spleeter utiliza su reconocimiento de patrones para buscar cuatro pistas individuales en una pieza musical, a saber, voz, bajo, batería y ritmo/acompañamiento. El cálculo tarda un poco más hasta que estas pistas se escriben en el directorio de trabajo como archivos MP3 individuales.
Un vistazo a las pistas creadas en el editor de audio Audacity: Spleeter trabaja con mucha precisión en la separación de instrumentos y voces, pero corta las frecuencias altas en el proceso.
Si en la pieza musical que tenemos entre manos el acompañamiento tiene una característica llamativa, Spleeter también puede utilizar este comando para dividirlo en cinco pistas, lo que funciona mejor con voz, bajo, batería, piano y sección rítmica:
spleeter.exe -m 5stems datei.mp3
Hábilmente deconstruido: Spleeter es una herramienta de línea de comandos que utiliza IA y un amplio modelado para dividir archivos de música en formato MP3 en pistas individuales con instrumentos aislados.
Microsoft Edge - Mejorar imágenes
Con sus propios centros de datos detrás, Microsoft trabaja para dotar a los programas cotidianos de tantas técnicas de IA como sea posible. Lo que sea útil a largo plazo está por ver. Sin duda, las nuevas capacidades del navegador web Edge para mejorar automáticamente las imágenes -e incluso los videos- ofrecen resultados muy agradables en pantallas de alta resolución.
Instalación: Aunque Microsoft Edge ya está preinstalado en Windows, las técnicas de IA del navegador para mejorar las imágenes solo están disponibles en la versión para desarrolladores de Edge. El archivo de instalación de esta versión de vista previa pública del navegador de Microsoft está disponible.
Así es como se hace: El navegador no realiza la mejora de la imagen localmente en su propia computadora, sino que envía las imágenes a los servidores de Microsoft, donde se extrapolan y se envían de vuelta al navegador. Esto significa que Microsoft conoce y evaluará qué imágenes recuperan los usuarios en la web. Por tanto, esta opción de IA no está activada por defecto. En su lugar, la función sigue esperando a ser activada en la página de opciones bajo la dirección edge://settings/privacy/enhanceImages a través del interruptor mostrado.
Allí, esta función también se puede activar específicamente para sitios web individuales. Sólo en las versiones alfa de Microsoft Edge llamadas Canary está disponible la función de IA, también para mejorar los videos borrosos de hasta 720p de resolución con la ayuda de su propia GPU. Este método de IA en Edge requiere chips gráficos más recientes de AMD o Nvidia junto con controladores propietarios adecuados y no envía los datos a los servidores de Microsoft.
Vosk - Reconocimiento de voz mediante IA
Pasar de la palabra hablada y grabada a una transcripción limpia no está muy lejos hoy en día. El marco de IA Vosk, basado en el motor de reconocimiento de voz Kaldi, es un proyecto de código abierto de la Universidad Johns Hopkins.
Del lenguaje hablado a los subtítulos: En este ejemplo, dejamos que Vosk reconozca la pista de audio de un video de YouTube en inglés en formato MP4. El resultado es este archivo SRT.
Instalación: Vosk requiere Python 3.11 en Windows. Durante la instalación, debe activarse la casilla Añadir Python al PATH. En el símbolo del sistema, los dos comandos:
pip install ffmpeg
pip install vosk
instalan los requisitos previos para Vosk. A continuación, se requiere el codificador/decodificador Ffmpeg en forma del archivo ffmpeg-git-essentials.7z. El contenido del archivo se coloca en el directorio recién creado C:Program Filesffmpeg para que el archivo ffmpeg.exe se encuentre allí en la subcarpeta bin. Ahora debe añadirse la ruta C:Program Filesffmpeg|bin a la variable de entorno de Windows Path. Esto puede hacerse a través del ícono de Windows > Configuración > Sistema > Configuración avanzada del sistema > Variables de entorno > Ruta > Editar > Nueva.
Así es como se hace: A continuación, vaya al sitio web de Github para descargar algunos scripts de ejemplo en Code - Download ZIP, que se descomprimen en cualquier directorio. Allí, en la subcarpeta \pythonvosk\transcriber, encontrará el script de ejemplo transcriber.py. Con la llamada
vosk-transcriber -l en-us -i test.mp4 -t srt -o englisch.srt
crea el archivo de subtítulos english.srt a partir del archivo de video test.mp4 mediante reconocimiento de voz con marcas de tiempo. El script descarga automáticamente un modelo lingüístico adecuado. El archivo terminado se puede procesar posteriormente en otros programas de traducción para crear subtítulos en otro idioma.
Digikam - Reconocimiento facial para fotos
Digikam, un programa para la organización de grandes colecciones de fotos basado en bases de datos que lleva más de 15 años en constante desarrollo, se desarrolló originalmente para Linux y se traslada regularmente a Windows. Esto se debe a que las capacidades de Digikam son considerables: Además de clasificar y categorizar las fotografías por álbumes, etiquetas y palabras clave, existen opciones avanzadas de clasificación. El reconocimiento de caras y la clasificación automática de la calidad de imagen de las tomas son dos de las funciones más recientes de la gestión de fotos que se basan en la IA.
Digikam reconoce rostros: A partir de las imágenes de la colección de fotos escaneadas, la gestión de fotos crea una base de datos local de personas y, a continuación, permite el etiquetado y la búsqueda de personas.
Instalación: Digikam se instala fácilmente en Windows con 64 bits a través de un programa de instalación (114MB). El programa de instalación pide algunos detalles con ajustes sensibles por defecto para la instalación. Después de la primera llamada de Digikam, el programa sugiere de forma independiente la descarga de los datos del modelo de IA necesarios para el reconocimiento facial incluido, que asciende a alrededor de otros 420 megabytes.
Así es como se hace: Digikam lleva experimentando con el reconocimiento facial en imágenes basado en redes neuronales desde la versión 2.0. Pero sólo desde la versión 7.2 esta tecnología de IA ha podido probarse en la práctica en Digikam. Tras abrir una foto, la pantalla de la imagen muestra el símbolo de una persona con un signo más. Esto sirve para marcar manualmente un rostro con un rectángulo de selección y darle un nombre.
Esto se repite para algunas fotos más con la persona, con lo que el nombre se selecciona entonces de la lista mostrada. A continuación, se puede buscar a la misma persona en toda la colección de fotos a través de la opción de menú Búsqueda > Personas.
Hugin - Panoramas a partir de series fotográficas
Y otra herramienta para fotos que ahorra muchas horas de tedioso procesamiento de imágenes y permite crear escenarios completamente nuevos en la fotografía de paisajes. El programa Hugin crea fotos panorámicas a partir de series superpuestas de imágenes individuales. Las panorámicas son especialmente atractivas en la fotografía de paisajes para captar estados de ánimo dramáticos. Esto también es posible desde hace años con aplicaciones para teléfonos inteligentes. Hugin, sin embargo, permite un control preciso sobre el resultado y también puede combinar imágenes individuales en filas verticales.
Combina series de fotos automáticamente mediante el reconocimiento de patrones: Hugin calcula un paisaje o una imagen panorámica a partir de series de fotos vecinas. Los puntos de control mostrados aquí ayudan en este proceso.
Instalación: Hugin es un programa para Windows y simplemente hay que descomprimirlo desde su archivo ZIP en cualquier carpeta. El archivo ejecutable se encuentra como hugin.exe en la subcarpeta bin.
Así se hace: Hugin es una herramienta para usuarios avanzados y no debería perderse en experimentos largos hasta haber explorado todas las funciones del programa. Se recomienda empezar con pequeñas panorámicas consistentes en dos imágenes individuales añadidas a la pestaña Imágenes. Para obtener buenos resultados, siempre debe añadir manualmente la distancia focal a partir de los metadatos de las tomas individuales. Los puntos de control añadidos entre imágenes superpuestas a través de la pestaña del mismo nombre mejoran considerablemente el resultado.
Subsync - Sincronizar subtítulos
Los cinófilos prefieren las películas y series en versión original, sin diálogos doblados. No obstante, una pista de subtítulos es útil, y necesaria en cualquier caso para los idiomas desconocidos.
Calcula los códigos de tiempo de los archivos de subtítulos para que coincidan con el video: Subsync utiliza el reconocimiento de voz a través del módulo integrado de Python Pocketsphinx y analiza el archivo de video especificado.
Sitios web como opensubtitles.org ofrecen subtítulos para series y películas en formatos compatibles con reproductores multimedia como VLC. La dificultad estriba a menudo en encontrar un archivo de subtítulos adecuado que se ejecute en sincronía con el archivo de video en cuestión. Si los subtítulos no coinciden con la palabra hablada en la película, el disfrute de la misma también se quedará por el camino.
La herramienta gratuita Subsync puede solucionarlo: Con reconocimiento de voz e inteligencia artificial, sincroniza el archivo de subtítulos con el de video.
Instalación: Tampoco en este caso son necesarias largas excursiones por la línea de comandos. En la página web del proyecto se puede descargar un instalador y una versión portátil para todas las versiones de Windows con 64 bits (gratuita, 42 MB).
Al abrir este archivo EXE, el programa se descomprime en una subcarpeta en la que se encuentra el archivo de programa.
Así es como se hace: En la interfaz del programa, la ruta al archivo de subtítulos en formato SRT se introduce en el campo superior Subtítulos, y el idioma de este archivo debe introducirse al lado. Debajo de esto, el campo Referencias espera el archivo de video, y la selección junto a él, el idioma.
Tras hacer clic en Iniciar, Subsync descargará los archivos de diccionario correspondientes a los idiomas seleccionados, lo que supone varias decenas de megabytes.
Después de eso, comienza la sincronización basada en las coincidencias encontradas, y Subsync reescribe las marcas de tiempo del archivo SRT para hacer esto.
Basado en el artículo de David Wolski (PCWorld) y editado por CIO Perú