Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Black Friday: -25€ dès 75€ sur les livres en ligne, vidéos... avec le code BWEEK25. J'en profite !
  1. Livres et vidéos
  2. Intelligence artificielle vulgarisée
  3. Votre ordinateur sait lire !
Extrait - Intelligence artificielle vulgarisée Le Machine Learning et le Deep Learning par la pratique
Extraits du livre
Intelligence artificielle vulgarisée Le Machine Learning et le Deep Learning par la pratique
2 avis
Revenir à la page d'achat du livre

Votre ordinateur sait lire !

Ce que nous allons découvrir et les prérequis

Dans ce chapitre, nous allons réaliser un projet dont l’objectif est de faire lire à votre ordinateur et à voix haute les lettres de l’alphabet qui lui seront présentées grâce à une webcam. Nous allons donc aborder dans ce chapitre la détection et la reconnaissance basées sur un flux vidéo.

Prérequis : avoir lu l’ensemble de l’ouvrage.

Étant donné que nous sommes à présent vers la fin de l’ouvrage, nous avons souhaité orienter ce chapitre sous la forme d’un cas pratique que vous réaliserez en autonomie. En effet, l’ensemble des concepts nécessaires à la réalisation du choix de l’algorithme d’apprentissage ont été abordés. Mais pas de panique, nous vous guiderons tout au long du processus. Enfin, nous terminerons par une explication du fonctionnement de la capture vidéo et de son utilisation dans notre projet.

Votre mission

Vous avez pour objectif de faire en sorte que, lorsqu’une lettre manuscrite est présentée face à la webcam de votre ordinateur, celui-ci la détecte et en fait la reconnaissance. Avec un petit plus non négligeable, il devra être capable de la lire à voix haute.

Ne vous souciez pas pour le moment des phases de détection et de lecture à haute voix, nous vous les expliquerons en détail en fin de chapitre.

Le périmètre de votre mission se borne à l’apprentissage de la reconnaissance d’une lettre manuscrite. Pour y parvenir, nous allons vous guider par le biais de questions auxquelles nous vous invitons à répondre au fur et à mesure.

1. Question n°1 : de quelles données avez-vous besoin ?

Réponse : Vous avez besoin d’un jeu d’observations contenant les différentes lettres de l’alphabet.

Nous avons vu dans le chapitre précédent qu’il existait une base de données nommée MNIST (Modified ou Mixed National Institute of Standards and Technology) permettant d’obtenir un jeu d’observations pour la reconnaissance de chiffres. Cependant, il existe également un jeu d’observations pour la reconnaissance de lettres. Pour l’obtenir, nous allons utiliser le module python- MNIST comportant à la fois le jeu d’observations de chiffres et le jeu d’observations de lettres. Le module et sa documentation se trouvent à cet endroit : https://github.com/sorki/python-mnist.

images/14FL01.png

Installation du module Python-mnist

2. Question n°2 : comment utiliser le module Python-Mnist ?

Réponse : la première chose à faire est de regarder la documentation qui, avouons-le, est un peu complexe à comprendre au premier regard. C’est pourquoi nous allons vous aider.

Dans la documentation, il est fait mention de ceci :

To use EMNIST datasets you need to call: 
 
mndata.select_emnist('digits')  Where digits is one of the available EMNIST datasets. You can 
choose from 
balanced 
byclass 
bymerge 
digits 
letters  
mnist 

Ce qui signifie que le module propose plusieurs types de jeux de données, à savoir digits pour les chiffres et letters pour les lettres (celui qui nous intéresse). Pour...

La reconnaissance de lettres sur une vidéo

Nous allons à présent découvrir comment nous allons détecter la lettre écrite par un utilisateur puis comment nous allons réaliser sa classification.

1. Une ardoise en guise de support

Nous allons utiliser une ardoise au centre de laquelle nous écrirons la lettre. L’ardoise sera ensuite présentée à la caméra. Un script Python sera chargé de rechercher une forme rectangulaire figurant sur cette vidéo et ayant une aire précise. Cette forme sera la zone d’écriture où se trouve la lettre écrite de façon manuscrite et à reconnaître.

Une fois cette forme rectangulaire détectée, une photo sera faite de celle-ci puis analysée afin de prédire la lettre présente à l’intérieur.

images/14FL04.png

Processus de reconnaissance d’image à l’aide d’une webcam

Afin de faciliter la détection de la forme rectangulaire nous allons ajouter une bande de scotch noir qui permettra entre autres, au porteur de l’ardoise d’y placer ses doigts pour la maintenir sans venir perturber la détection de la forme.

En effet si les doigts de l’utilisateur sont placés sur les contours de la zone d’écriture à détecter, nous verrons que sa détection est difficile, car elle ne possède plus quatre contours réguliers. La bande de scotch noir évite donc de ce souci.

2. OpenCV, un module de traitement d’images

La détection de forme se fait aisément à l’aide d’un module prévu à cet effet et portant le nom d’OpenCV.

Nous vous invitons donc à ajouter ce module dans sa version 3.4.5.20 à votre projet.

images/14FL05.png

Installation du module OpenCV dans sa version 3.4.5.20

a. Utiliser la webcam

Une fois le module OpenCV ajouté, nous allons créer un nouveau fichier nommé lecture.py afin d’y ajouter ces quelques lignes :

import cv2 
 
print('Initialisation de la webcam') 
webcam = cv2.VideoCapture(0) 
if webCam.isOpened(): 
   longueurWebcam = webCam.get(3) 
   largeurWebcam = webCam.get(4) 
   print('Résolution:' + str(longueurWebcam) + " X " + 
str(largeurWebcam)) ...

Et voilà !

Vous venez de créer votre premier projet permettant d’établir une relation entre l’Homme et la machine !

En écrivant sur une ardoise, l’utilisateur reste distant de la machine et n’interagit pas directement avec elle. La machine, grâce à la vision et à la parole couplées à un algorithme de classification, peut entrer en communication avec lui et donne ainsi l’impression de comprendre l’utilisateur. La machine semble "intelligente" !

Nous vous invitons à proposer à des adultes de tester votre application, puis de la faire tester à des enfants. Lesquels, d’après vous, seront les plus étonnés ?

Nous aurions pu conclure cet ouvrage sur ce cas pratique, mais nous avons souhaité ajouter un dernier chapitre vous expliquant comment le premier ChatBot a été conçu. C’est un peu un retour dans le passé que nous avons souhaité réaliser afin de vous faire prendre définitivement conscience que l’intelligence artificielle n’est pas une science nouvelle et que parfois, sous sa forme la plus simple, elle peut encore nous étonner !