Différences entre versions de « Projets:Read For Me »

De wikilab
Ligne 1 : Ligne 1 :
==Description du projet==
+
==Présentation du projet==
 +
 
 +
===Description===
  
 
Le but est de créer une petite machine à lire portable capable d’acquérir le texte à partir d'une capture d'image et de le lire au moyen d’une synthèse vocale.
 
Le but est de créer une petite machine à lire portable capable d’acquérir le texte à partir d'une capture d'image et de le lire au moyen d’une synthèse vocale.
Ligne 24 : Ligne 26 :
 
* Lucie, Lydia, Théo et Célia ont développé un nouveau prototype matériel en soignant le design de la machine et l'interface du contrôleur adapté pour des personnes mal-voyantes (boutons en relief)
 
* Lucie, Lydia, Théo et Célia ont développé un nouveau prototype matériel en soignant le design de la machine et l'interface du contrôleur adapté pour des personnes mal-voyantes (boutons en relief)
  
 +
Cette documentation détaille les avancées réalisées sur chacun des points ainsi qu'un tutoriel de réalisation d'un prototype pour lequel il manque néanmoins des étapes (par exemple l'intégration des boutons).
  
 
==Cahier des charges==
 
==Cahier des charges==
Ligne 61 : Ligne 64 :
 
Il semble d'autant plus pertinent de développer une solution "tout en 1" que ce genre de dispositifs est effectivement disponible dans le commerce, à des prix qui peuvent cependant paraître relativement élevés (à partir de 1000€ sur le site [https://www.mieux-voir.fr/107-machine-a-lire www.mieux-voir.fr])
 
Il semble d'autant plus pertinent de développer une solution "tout en 1" que ce genre de dispositifs est effectivement disponible dans le commerce, à des prix qui peuvent cependant paraître relativement élevés (à partir de 1000€ sur le site [https://www.mieux-voir.fr/107-machine-a-lire www.mieux-voir.fr])
  
::image machines à lire du commerce::
+
[[File:rfm_blaze.jpg|400px]]
 +
 
 +
[[File:rfm_vocatex.jpg|400px]]
  
 
===Projets DIY existant===
 
===Projets DIY existant===
Ligne 84 : Ligne 89 :
 
Ce prototype (documenté sur ce wiki : [[Projets:Machine_a_lire_Mémo]]) est fonctionnel mais la partie synthèse vocale ne fonctionne que pour l'anglais.
 
Ce prototype (documenté sur ce wiki : [[Projets:Machine_a_lire_Mémo]]) est fonctionnel mais la partie synthèse vocale ne fonctionne que pour l'anglais.
  
Durant le Fabrikarium, une partie de l'équipe va travailler à faire fonctionner le français et améliorer l'expérience utilisateur de ce prototype.
+
Durant le Fabrikarium, une partie de l'équipe va travailler à faire fonctionner la lecture en français et améliorer l'expérience utilisateur de ce prototype.
  
  
 
===Solutions logicielles===
 
===Solutions logicielles===
  
Au niveau logiciel, la machine à lire consiste à faire fonctionner successivement deux processus : la transformation de l'image en texte, qu'on appelle l'OCRisation, et la transformation du texte en son à l'aide de synthèse vocale.
+
Au niveau logiciel, la machine à lire consiste à faire fonctionner successivement deux processus :
 +
* la transformation de l'image en texte, qu'on appelle l'OCRisation,
 +
* la transformation du texte en son : la synthèse vocale.
 +
 
 +
 
 +
Pour l'OCRisation, toutes les solutions mentionnées plus haut utilise le logiciel 'tesseract' disponible sous linux et notamment raspbian pour le raspberry pi.
  
 +
La question est plus délicate pour la partie synthèse vocale, pour laquelle de nombreuses solutions existent à différents niveaux d'intégration : depuis le lecteur d'écran Orca jusqu'aux briques logicielles plus élémentaires (qu'orca utilise en partie) : speech-dispatcher, espeak, mbrola.
 +
 +
Chacune de ses briques a en effet un rôle particulier pour la réalisation de la synthèse vocale.
 +
 +
Orca gère l'entièreté du processus, mais n'est malheureusement pas simple à contrôler sans un clavier. En tant que lecteur d'écran, il est fait pour être utilisé avec des applications de bureau et non de manière embarqué dans un dispositif sans écran/souris/clavier.
  
  
Ligne 157 : Ligne 172 :
 
* configuration du raspberry pi
 
* configuration du raspberry pi
 
* installation des dépendances logicielles
 
* installation des dépendances logicielles
* démarrage autimatique
+
* démarrage automatique
  
 
===Réalisation du boitier===
 
===Réalisation du boitier===
Ligne 167 : Ligne 182 :
 
/photo de François avec le prototype en main/
 
/photo de François avec le prototype en main/
  
===Développement===
+
===Nouveau prototype de boitier et d'interface de commande===
 +
 
 +
===Développements logiciels à partir de la machine à lire AccessDVLinux===
 +
 
 +
====Prise de vue et redressemenent de l'image====
 +
 
 +
===Amélioration du projet PiTextReader===
 +
 
 +
==Notes diverses==
 +
 
 +
===La piste easyocr===
  
====Contrôle d'orca====
+
===Contrôle d'orca===
  
 
Pour contrôler le lecteur d'écran orca, on utilise l'émulation d'événement clavier à partir de l'utilitaire xdotool
 
Pour contrôler le lecteur d'écran orca, on utilise l'émulation d'événement clavier à partir de l'utilitaire xdotool
Ligne 176 : Ligne 201 :
 
; Ins+Maj+KP_PageDown : diminuer le volume
 
; Ins+Maj+KP_PageDown : diminuer le volume
  
====Conception====
 
  
 
[[Category:Projets]]
 
[[Category:Projets]]
 
[[Category:En cours]]
 
[[Category:En cours]]

Version du 3 novembre 2020 à 16:24

Présentation du projet

Description

Le but est de créer une petite machine à lire portable capable d’acquérir le texte à partir d'une capture d'image et de le lire au moyen d’une synthèse vocale.

Équipe

  • François, ArianeGroup, porteur de projet
  • Lucie, MHK, coordination
  • Leyla, ArianeGroup
  • Aldrick, ArianeGroup
  • Evan, stagiaire MHK, étudiant Epitech
  • Baptiste, IMT
  • Célia, designer
  • Théo, fabmanager Eesab
  • Laurent, Floss Manuals, documentation

Résumé

Le Fabrikarium a permis d'avancer sur de nombreux aspects mais nous n'avons pas eu le temps de recoller les briques ensemble afin de disposer d'un prototype complètement fonctionnel :

  • Christophe a fait fonctionné sa machine à lire sur un raspberry pi en ajoutant la prise en charge de la prise de vue et de l'autofocus
  • Aldrick et Evan ont développé toute l'interface logicielle et électronique pour le contrôleur de la machine à lire :gestion des boutons poussoirs et encodeurs rotatifs d'une part et action pour la prise de vue et le déclenchement des raccourcis clavier nécessaire au contrôle de la lecture d'autre part)
  • Baptiste a ajouté la lecture en français et perfectionné l'expérience utilisateur d'un prototype existant basé sur PiTextReader (voir plus bas)
  • Lucie, Lydia, Théo et Célia ont développé un nouveau prototype matériel en soignant le design de la machine et l'interface du contrôleur adapté pour des personnes mal-voyantes (boutons en relief)

Cette documentation détaille les avancées réalisées sur chacun des points ainsi qu'un tutoriel de réalisation d'un prototype pour lequel il manque néanmoins des étapes (par exemple l'intégration des boutons).

Cahier des charges

Fonctionnalités principales

  • Lecture audio sur un haut parleur
  • Lecture d'une page A4 multicolonnne en langue française

Fonctionnalités secondaires

  • réglage du débit / de la vitesse de lecture
  • réglage du volume sonore
  • éclairage
  • possibilité de mettre en pause
  • bouton de mise en marche et de mise à l'arrêt
  • prise de vue autofocus

Les contraintes

  • Fonctionnement hors ligne : fonctionnement hors ligne ne nécessitant pas de connexion internet
  • Portable : fonctionnement sur batterie
  • Facile à prendre en main : ne nécessite pas de formation
  • Rapidité : 10 secondes d'attente maximum

Analyse de l'existant

Des solutions performantes existent déjà pour smartphone, par exemple l'application seeing-ai de Microsoft. Elles ne sont cependant pas satisfaisantes dans tous les cas, en effet :

  • Tout le monde ne dispose pas d'un smartphone ou ne souhaite pas en disposer car ils peuvent être difficiles à prendre en main, notamment pour des personnes agées ou déficientes mentales et ce d'autant plus si celles-ci sont mal-voyants.
  • Leur usage n'est pas forcément adapté dans le cadre d'école ou de centre d'accueil.
  • Les services utilisés ne fonctionne généralement pas hors ligne et cela pose question par rapport au respect de la vie privée et à la divulgation possible d'informations sensibles ou confidentielles sur les serveurs des entreprises qui fournissent ces solutions.


Solutions commerciales

Il semble d'autant plus pertinent de développer une solution "tout en 1" que ce genre de dispositifs est effectivement disponible dans le commerce, à des prix qui peuvent cependant paraître relativement élevés (à partir de 1000€ sur le site www.mieux-voir.fr)

Rfm blaze.jpg

Rfm vocatex.jpg

Projets DIY existant

Machine à lire AccessDVLinux

AccessDVLinux est une distribution linux pour déficients visuels développé par Christophe. Dans ce cadre, Christophe a également dévellopé un logiciel de machine à lire : [1].

Ce logiciel fonctionne en mode bureau à l'aide d'un scanner.

Pour répondre à notre cahier des charges, certaines adaptations sont nécessaires :

  • Le logiciel doit pouvoir fonctionner à partir d'une caméra à la place du scanner.
  • Il doit pouvoir fonctionner sans environnement de bureau, c'est à dire sans écran et sans interaction avec la souris et le clavier.
  • Le contrôle de la prise de vue et de la lecture doit se faire à partir de boutons "physiques"
  • Il faut pouvoir installer tous les composants logiciels sur un raspberry pi, ce qui n'est pas évident car celui ci n'a sur la même base matériel qu'un ordinateur de bureau ou qu'un ordinateur portable (en particulier son processeur basé sur l'architecture ARM)


Machine à lire sur Raspberry Pi

En amont du Fabrikarium, Lucie et Delphine de MHK ont produit un prototype de machine à lire à partir du projet documenté sur la plateforme Instructables PiTextReader.

Ce prototype (documenté sur ce wiki : Projets:Machine_a_lire_Mémo) est fonctionnel mais la partie synthèse vocale ne fonctionne que pour l'anglais.

Durant le Fabrikarium, une partie de l'équipe va travailler à faire fonctionner la lecture en français et améliorer l'expérience utilisateur de ce prototype.


Solutions logicielles

Au niveau logiciel, la machine à lire consiste à faire fonctionner successivement deux processus :

  • la transformation de l'image en texte, qu'on appelle l'OCRisation,
  • la transformation du texte en son : la synthèse vocale.


Pour l'OCRisation, toutes les solutions mentionnées plus haut utilise le logiciel 'tesseract' disponible sous linux et notamment raspbian pour le raspberry pi.

La question est plus délicate pour la partie synthèse vocale, pour laquelle de nombreuses solutions existent à différents niveaux d'intégration : depuis le lecteur d'écran Orca jusqu'aux briques logicielles plus élémentaires (qu'orca utilise en partie) : speech-dispatcher, espeak, mbrola.

Chacune de ses briques a en effet un rôle particulier pour la réalisation de la synthèse vocale.

Orca gère l'entièreté du processus, mais n'est malheureusement pas simple à contrôler sans un clavier. En tant que lecteur d'écran, il est fait pour être utilisé avec des applications de bureau et non de manière embarqué dans un dispositif sans écran/souris/clavier.


Matériel nécessaire

Electronique

  • raspberry pi 4
  • carte sd
  • arducam caméra pour raspberry pi, 5Mp, autofocus (gotronic)
  • batterie de secours ("power bank") USB, 5V
  • boutons poussoirs (x6)
  • encodeur rotatif (x2)
  • bande de leds
  • ampli audio DF Robot
  • haut parleur
  • un morceau de cable USB (alimentation ampli)

Fabrication du boitier

  • contreplaqué 5mm
  • fil PLA impression 3d
  • PMMA diffusant ou transparent

Outils nécessaires

Électronique

  • fer à souder

Fabrication

  • Découpeuse laser
  • Imprimante 3d


Coût

+ Légende du tableau
Référence coût unitaire nombre coût
Raspberry pi 4 60€ 1 60€
Arducam 18,90€ 1 18,90€


https://www.gotronic.fr/art-module-camera-5-mpx-autofocus-b0176-31619.htm

Délai estimé

Fichiers source

Étape de fabrication pas à pas

Schéma de cablage

Installation du raspberry pi

  • configuration du raspberry pi
  • installation des dépendances logicielles
  • démarrage automatique

Réalisation du boitier

Déroulement du fabrikarium

Prototypade d'une version portable

/photo de François avec le prototype en main/

Nouveau prototype de boitier et d'interface de commande

Développements logiciels à partir de la machine à lire AccessDVLinux

Prise de vue et redressemenent de l'image

Amélioration du projet PiTextReader

Notes diverses

La piste easyocr

Contrôle d'orca

Pour contrôler le lecteur d'écran orca, on utilise l'émulation d'événement clavier à partir de l'utilitaire xdotool

Ins+Maj+KP_PageUp
augmenter le volume
Ins+Maj+KP_PageDown
diminuer le volume