Una aplicación móvil para traducir jeroglíficos (2018)
? Una aplicación móvil que detecta, clasifica y translita los jeroglíficos.

Gran parte de la vida de los antiguos egipcios se había perdido ya que nadie pudo descifrar el significado de la mayoría de sus símbolos, Sir Alan Gardiner clasificó cada jeroglífica con un código que luego puede usarse para buscarlo para saber más sobre su significado. Este diccionario jeroglífico terminó siendo miles de páginas y mirar cualquier cosa se convirtió en una tarea tediosa. Incluso con el surgimiento de Internet, todavía quedó el problema de no conocer el código Gardiner de un jeroglífico para buscarlo.
Para ayudar a resolver este problema, DUA-Khety se ha creado como una aplicación móvil, disponible tanto en Android (implementado en Java ) como en dispositivos iOS (implementados en Swift & Objective C ), con el objetivo de detectar y clasificar los jeroglifos desde dentro de una imagen tomada y proporcionar al usuario los códigos de Gardiner, así como información sobre su transliteración y significado. Todo el proceso tiene lugar fuera de línea, lo que significa que el servicio es conveniente, rápido, fácil de usar y se puede acceder en cualquier lugar en cualquier momento.
Hay muchas características en la aplicación, además de la detección y la clasificación, también incluye un diccionario de jeroglíficos, que permite a los usuarios ingresar el código de un Gardiner y recibir información sobre el jeroglífico que representa, un historial de búsqueda para ver y volver Descripción para mejorar el clasificador y, por lo tanto, mejorar el rendimiento de la aplicación en el futuro. Estas características se basan en MySQL databases almacenadas en un servidor remoto y se manipulan usando scripts PHP. Esto luego se migró al servicio Google's Firebase para soluciones de almacenamiento y base de datos.
Cada característica se implementa en una vista separada y procesos que son invisibles para el usuario, como la clasificación, cada uno también tiene su propia opinión. La aplicación móvil puede comunicarse con dos bases de datos en un servidor remoto. Uno tiene contenido social utilizado por la historia y las características de la alimentación social y el otro contiene información sobre los jeroglíficos ordenados por los códigos Gardiner, utilizados por el diccionario de jeroglíficos y para proporcionar más información sobre la clasificación.
Para la segmentación, esto se logra usando OpenCV al convertir el mapa de bits tomado por el usuario en un objeto MAT, convertirlo en blanco y negro y luego desenfocar la imagen con un radio de 3. El promedio se calcula. Posteriormente, la imagen se umbera con un mínimo de valor del promedio calculado y un máximo de 255. La astuta se aplica con umbrales del promedio * 0.66 y el promedio * 1.33 y un tamaño de apertura de 3 que se encontró óptimo. Posteriormente, los componentes se extraen y se usan para dibujar cajas delimitadoras alrededor de los jeroglíficos individuales en la imagen original. Luego se recortan y se colocan en una variedad de imágenes más pequeñas. Las imágenes recortadas (de la imagen original) se convierten en blanco y negro y se admiten de la misma manera antes de ser alimentadas al clasificador para maximizar las precisiones.
El clasificador utiliza el concepto de redes siamesas . Tal red difiere de las normales tomando como un par de imágenes de imágenes y una etiqueta que representa si son de la misma clase o no (se muestran como 0 o 1). En otras palabras, la mitad de lo que se alimenta a la red son pares de imágenes de las mismas clases con su etiqueta que 1, y la otra mitad, dos imágenes diferentes de dos clases diferentes, con su etiqueta como 0. Las imágenes se eligen al azar. Recientemente, se ha demostrado que este concepto es útil en problemas que usan una gran cantidad de clases con una pequeña cantidad de imágenes para cada clase, como para clasificar la imagen de prueba real, las imágenes de entrenamiento se alimentan a través de la red y se extrae un vector de características de 640 valores. Posteriormente, el promedio de todos los vectores de las imágenes en una clase se calcula y almacena en un archivo de valores separados por coma (CSV). Lo mismo se hace para todas las clases (157). Bajando a predecir el número de clase para una nueva imagen de prueba, se alimenta a la misma red y también se extrae un vector de características de 640 valores. Después de esto, la distancia L1 entre su vector de características y los extraídos previamente extraídos de cada clase se comparan y las cinco distancias más pequeñas se toman como las cinco predicciones principales. La aplicación iOS usa OpenML mientras la aplicación Android usa Tensorflow .
La precisión de la predicción superior es del 66%, mientras que la precisión de las cinco predicciones principales es del 88%.

Las capturas de pantalla y los videos se pueden encontrar aquí: https://malaksadek.wordpress.com/2019/10/15/teeet-the-egyptian-microbus-experience/
La aplicación está disponible en: