Epreuve d'Informatique et Modélisation de Systèmes Physiques
Durée 4 h
Si, au cours de l'épreuve, un candidat repère ce qui lui semble être une erreur d'énoncé, d'une part il le signale au chef de salle, d'autre part il le signale sur sa copie et poursuit sa composition en indiquant les raisons des initiatives qu'il est amené à prendre.
L'usage de calculatrices est interdit.
AVERTISSEMENT
La présentation, la lisibilité, l'orthographe, la qualité de la rédaction, la clarté et la précision des raisonnements entreront pour une part importante dans l'appréciation des copies. En particulier, les résultats non justifiés ne seront pas pris en compte. Les candidats sont invités à encadrer les résultats de leurs calculs.
CONSIGNES:
Composer lisiblement sur les copies avec un stylo à bille à encre foncée : bleue ou noire.
L'usage de stylo à friction, stylo plume, stylo feutre, liquide de correction et dérouleur de ruban correcteur est interdit.
Remplir sur chaque copie en MAJUSCULES toutes vos informations d'identification : nom, prénom, numéro inscription, date de naissance, le libellé du concours, le libellé de l'épreuve et la session.
Une feuille dont l'entête n'a pas été intégralement renseignée, ne sera pas prise en compte.
Il est interdit aux candidats de signer leur composition ou d'y mettre un signe quelconque pouvant indiquer sa provenance.
Il est conseillé de répartir votre temps de composition comme suit :
1h30 pour lire et traiter la parie modélisation (partie II).
2 h 30 pour lire et traiter la partie informatique (partie III).
À rendre en fin d'épreuve avec la copie un document réponse.
Étude d'un système autofocus d'appareil photo numérique
I Présentation
Nous nous intéressons dans ce sujet à l'étude de différents méthodes permettant de réaliser l'auto-focus sur les appareils photos numériques. L'auto-focus consiste à régler de manière automatique la netteté de l'image avant d'effectuer la prise de vue.
Les applications numériques seront données avec 1 chiffre significatif, sauf contre ordre.
II Modélisation : principe de la méthode de l'auto-focus.
Un formulaire d'optique géométrique est rappelé en fin de cette partie.
Un appareil photo est modélisé par une lentille mince convergente ( ), l'objectif, de focale et un plan récepteur ( ) placé orthogonalement à l'axe optique. Ce plan récepteur est de taille et contient 6 méga pixels.
Lorsque le réglage de l'appareil est optimal l'image de l'objet à photographier se trouve sur le plan . Sinon, il convient de modifier la position de ce plan.
Prenons l'exemple d'un objet réduit à un point objet qui donne un point image . En cas de défaut de réglage on a la situation décrit sur la figure 1.
Figure 1 - Défaut de réglage
Sur se forme alors une tache à la différence d'un point.
Il faut donc déplacer le plan d'une certaine distance pour obtenir une image nette. Pour cela la méthode la plus rapide consiste à calculer cette distance à partir de la différence d'ordonnées des points inférieurs et supérieurs de la tâche.
Il y a cependant une difficulté du fait que l'on obtient la même tache que soit placé devant ou derrière l'image.
Nous allons étudier un dispositif astucieux qui permet de calculer algébriquement le déplacement à opérer partant d'un défaut de réglage.
II. 1 Mise au point.
Dans cette partie on attend, pour chaque question, une expression littérale puis une valeur numérique.
On souhaite photographier un objet de de hauteur , transverse à l'axe de l'objectif et situé à une position , l'origine étant prise au centre de la lentille ( ). L'axe optique est orienté de la gauche vers la droite.
Q1. À quelle distance du centre de la lentille faut-il placer pour avoir une image nette (ceci définit le plan )? Donner la taille de l'image.
On se place dans le cas où l'objet précédent se ramène à un point situé sur l'axe toujours à la position . ( ) est placé à une distance derrière . La lentille a un rayon (figure 2). On observe alors une tache lumineuse sur ( ).
Q2. Faire un schéma et tracer les rayons qui parviennent à l'extrémité de cette tâche.
Déterminer le rayon de la tâche lumineuse formée sur .
NB : le rayon de la lentille est défini par la hauteur de lentille par rapport à l'axe optique (figure 2).
Figure 2 - Illustration de la lentille
Q3. Après avoir déterminé la taille d'un pixel, supposé carré, donner un critère sur , puis sur pour que l'image transmise par le capteur soit nette.
II. 2 Principe simplifié de l'auto focus.
Dans un souci de simplification on considère un objet réduit à un point objet situé sur l'axe de la lentille ( ) qui donne un point image noté .
Pour déterminer si se trouve ou non sur ( ) on utilise deux lentilles annexes ( ) et ( ), situées à une distance de , de focale et de rayon auxquelles sont associées des capteurs plans ( ) et ( ) situés à une distance de chaque lentille. ( ) (resp ( )) est conjugué de par ( ). Attention : en réalité les deux lentilles son désaxées par rapport à l'axe optique de ( ), les rayons étant déviés par des miroirs. Ici, on considère simplement que tout se passe comme si est transparent.
Le schéma est représenté figure 3.
Q4. Exprimer en fonction de et .
Q5. On se place dans le cas où est sur . On note son image par .
Faire un schéma représentant (le foyer image de ) et les rayons issus de passant par les bords inférieurs et supérieurs de .
Q6. Déterminer l'ordonnée de en prenant l'origine située sur l'axe ( ) (on pourra préalablement déterminer l'ordonnée par rapport à l'axe optique de la lentille .
En déduire l'expression de l'ordonnée de l'image de par ( ) en prenant également l'origine en .
Figure 3 - Principe des lentilles de l'auto-focus
Q7. Calculer (appelé différence de phase, même si c'est une longueur) que l'on exprimera en fonction de et .
On se place dans le cas où est avant le plan (cas de la figure 3) et on pose (mesure algébrique). On note à nouveau l'image de par .
Q8. Construire sur le document réponse.
On note l'abscisse de mesurée sur l'axe ( ) que l'on ne cherchera pas à exprimer et qui sera donc considérée comme une donnée. Déterminer son ordonnée mesurée à partir de l'axe ( ) en fonction de et .
Q9. Sur le document réponse, tracer les rayons issus de passant par les extrémités des lentilles et .
On obtient donc une tâche lumineuse. On note l'ordonnée du point supérieur de la tâche lumineuse sur et l'ordonnée du point inférieur de cette tâche, l'origine étant en sur l'axe ( ).
Q10. Exprimer en fonction de et et montrer que .
Le principe de la méthode est de mesurer ce qui est appelé «la différence de phase » définie par où est l'ordonnée du point supérieur de la tache lumineuse sur . Ce qui revient à déterminer .
Q11. Pourquoi a-t-on ? Montrer que .
Q12. Évaluer la différence de différence de phase entre le cas où la mise au point n'est pas réalisée et celui où elle l'est. Soit .
Le principe de l'auto focus consiste donc à mesurer la différence de phase et d'en déduire . Il suffit ensuite de déplacer la lentille ( ) afin de faire coïncider sur ( ).
Le déplacement de la lentille se fait au moyen d'un moteur pas à pas.
Q13. On mesure . Donner la distance de laquelle on doit translater ( ) pour obtenir une image nette. On précisera la direction de la translation. On a et avec et .
Pour un objet étendu orthogonal à l'axe, on peut montrer que la différence de phase due à chaque point source de l'objet est identique.
Le principe de la méthode peut alors être généralisé.
II. 3 Moteur pas à pas
Un moteur pas à pas est constitué d'un rotor qui peut tourner autour d'un axe ( ). On place un ensemble de bobines plates, qui sont susceptibles de créer un champ magnétique lorsqu'on les alimente (figure 4). Celles-ci ont alimentées par un courant continu dans le sens des orientations, ou non alimentées.
Figure 4 - Vue en coupe : 6 bobines au centre desquelles se trouve le rotor.
En commandant les bobines les unes après les autres, on fait tourner le moteur de pas successifs. Le rotor est en général caractérisé par un moment magnétique qui peut tourner librement autour de l'axe orthogonal au plan de la figure.
Q14. Déterminer la direction et sens du champ magnétique créé par la bobine en un point de son plan.
Donner la direction d'un moment magnétique à l'équilibre dans un champ magnétique uniforme (à justifier).
La bobine est alimentée seule; on coupe l'alimentation et on alimente la bobine . Représenter les positions successives du moment magnétique en se limitant aux deux bobines considérées.
Moment magnétique.
Q15. On considère une spire plane rectangulaire de cotés et , parcourue par un courant . Donner l'expression de son moment magnétique.
À un aimant on associe également un moment magnétique. Pourquoi? Quel est l'ordre de grandeur d'un moment magnétique associé à un aimant?
Nous étudions le cas où le rotor est un cadre sur lequel sont bobinées spires parcourues par un courant .
Moment des forces de Laplace.
La spire précédente peut tourner autour de l'axe . Elle est placée dans un champ magnétique uniforme sur le cadre ce qui donne vue de dessus la figure 5 (a) où est le vecteur normal à la spire. Dans le plan du cadre on a le schéma de la figure 5(b).
Figure 5 - Modélisation de la spire.
On pose avec la base locale définie sur la figure 5 (a).
Q16. Déterminer le moment des forces qui s'exerce sur la spire par rapport à l'axe ( ).
Retrouver ce résultat à partir de la forme vectorielle du moment donnée en cours.
Équation électrique
Q17. En utilisant la conversion de puissance , déterminer la force électromotrice induite dans le cadre lors de son mouvement.
Le cadre de résistance est parcouru par un courant constant . Déterminer la force électro-motrice du générateur qui doit alimenter le cadre.
Rappel des lois de Descartes.
On considère un point objet situé sur l'axe d'une lentille mince de focale le point image. On a les relations : et la relation de grandissement transverse : où est un objet transverse et son image.
III Partie informatique
On supposera dans cette partie que tous les modules nécessaires ont été importés. Par exemple, toutes les fonctions de numpy ou celles de matplotlib.pyplot. Les fonctions importés peuvent être utilisées sans préfixe (plot, arange...).
Pour réaliser l'autofocus, il existe deux méthodes principales :
la mesure du contraste,
la mesure de détection de phase.
III. 1 Mesure du contraste
Le principe de cette méthode repose sur le fait qu'une image bien mise au point présente un maximum de constraste. Plus précisément l'écart de valeur entre les pixels est la plus grande.
En fonctionnement, l'appareil mesure le contraste, puis par tâtonnement, va déplacer l'objectif jusqu'à détecter le maximum.
Représentation d'une image Une image matricielle est représentée sous la forme d'une matrice. Chaque élément de la matrice correspondra à un pixel qui est généralement représentée par un liste de 3 entiers naturels, représentant les composantes rouge, vert et bleu; c'est le codage RVB.
Chaque valeur est représentée par un entier allant de 0 à 255 . On suppose, dans cette partie, travailler avec un appareil photo doté d'un capteur de 48 MPixels , c'est-à-dire que la photo sera composé de 48 millions de pixel.
On suppose que le stockage des photos se fait en mode RAW sans compression, c'est-à-dire que l'on stocke directement ce que récupère le capteur.
L'image sera représentée en mémoire dans une variable , de type liste de liste de liste Python classique ou de type numpy. ndarray. Dans les deux cas, on accédera aux données RVB d'un pixel de coordonnée , par l'instruction . Le candidat choisira librement le type qu'il préfère manipuler.
Q18. Préciser l'espace mémoire nécessaire pour stocker la valeur d'une composante, puis celle d'un pixel et enfin celle d'une image en Mo ( ) ou Mio ( ).
Conversion en niveau de gris La première étape de la détection du contraste est de convertir l'image en niveau de gris pour n'obtenir qu'une valeur par pixel.
Cette transformation s'opère en plusieurs étapes :
chaque composante et B qui ne sont pas linéaires en terme d'intensité lumineuse sur le rendu, sont d'abord transformée dans un espace linéaire. Une composante C sera transformée selon la définition suivante :
si ;
sinon.
la valeur du niveau de gris en échelle linéaire sera calculée à partir des valeurs linéarisées par :
on repasse dans l'espace non linéaire avec le calcul suivant :
si ;
sinon.
Q19. Écrire une fonction Clinear(val), qui prend en argument une valeur de l'espace non linéaire et qui renvoie la valeur linéarisée.
Q20. Écrire une fonction Y(pix) qui prend en argument une liste de trois valeurs correspondant à un pixel au format RVB et qui renvoie la valeur du niveau de gris dans l'espace non linéaire.
Q21.Écrire une fonction NiveauxGris(I) prenant en argument une image I au format RVB et qui renvoie une image de même dimension en niveau de gris.
Pour détecter le contraste d'une image en niveau de gris, on va comparer pour chaque pixel les valeurs autour de celui-ci. Plus l'écart est grand (ce qui est le cas quand l'image est nette), plus les pixels autour du pixel de réfence ont une valeur différente; on calcule d'une certaine manière la dérivée en chaque pixel.
Cette opération est réalisée par un filtre de Sobel. Partant d'une image , on extrait les pixels autour du pixel sous la forme d'une matrice , notée .
On réalise ensuite une convolution entre cette matrice et la matrice de filtration. On définit la convolution entre deux matrices et de taille par .
On réalise une filtration selon les deux directions de l'image. On donne les deux matrices de filtration : et .
Enfin on calcule une norme euclidienne des deux convolutions dont on prend la partie entière pour obtenir la valeur du contraste du pixel .
Pour terminer, on calcule le constraste de cette manière pour chaque pixel intérieur à l'image (on ne calcule rien sur les bords pour simplifier), puis on réalise la moyenne des valeurs pour obtenir l'indice de contraste de référence .
Q22. Écrire une fonction convolution (A, B) prenant en argument deux matrices de taille et qui renvoie la valeur du produit de convolution.
Q23. Écrire une fonction contraste_pixel( ) prenant en argument une image I au format niveaux de gris et les coordonnées du pixel qui renvoie la valeur du constrate défini précédemment par la quantité .
Q24. Écrire une fonction contraste(I) prenant en argument une image I au format niveau de gris et qui renvoie la valeur du constraste de référence .
Pour régler la netteté de l'image, l'objectif est déplacé à l'aide d'un moteur pas à pas. L'objectif est déplacé d'un pas, une photo est prise, la valeur du contraste de référence est calculée puis comparée à la valeur obtenue au pas précédent; l'algorithme s'arrête dès que la valeur du contraste de référence diminue. Le moteur pas à pas recule d'un pas pour retourner à la position précédente où le constraste était maximale.
Pour cela, on utilise une fonction position_objectif (val) qui prend en argument un entier val allant de 0 à 1000 correpondant à la position en pas demandée et qui déplace l'objectif à cette position. Une fonction prise() permet de prendre un cliché et de retourner une image au format RGB.
Q25. Écrire une fonction reglage, dont les arguments et les valeurs de retour sont à définir, répondant au comportement décrit en partant de la position 0 en pas. On supposera que le maximum de contraste existe.
III. 2 Détection de phase
La méthode par détection de phase (décrite à la partie I) consiste à mesurer une petite partie de l'image par deux capteurs différents. Quand les deux mesures sont identiques, l'image est nette. En calculant la différence de phase entre les deux mesures, il est possible de calculer directement la valeur dont doit se déplacer l'objectif.
On suppose que l'on dispose de deux capteurs de longueurs 100 pixels (dont les valeurs seront stockées dans des listes) et que l'on a exactement la même séquence de valeurs mais décalées de quelques pixels. La différence de phase est le nombre de pixels (donc le nombre d'indice de décalage entre les deux listes) permettant de retrouver les mêmes séquences de pixels.
L'objectif est donc de comparer deux listes de valeurs, de même dimension, extraites des listes de données des deux capteurs. Trois cas peuvent se poser en fonction de la valeur du décalage noté dec et sont illustrés sur la figure 6. Les sous listes extraites sont grisées.
Figure 6 - Illustration du décalage (sur l'alphabet)
Q26. Écrire une fonction extraction(L1,L2,dec) prenant en argument deux listes L1 et L2 ainsi qu'une valeur entière de décalage et qui renvoie deux sous-listes à comparer de longueur len(L1)-dec, conformément à aux régles présentées ci-dessus. On supposera que les deux listes L1 et L2 sont de même taille.
Q27.Écrire une fonction comparaison (L1,L2) (n'utilisant pas la comparaison interne de Python entre les listes) prenant en argument deux listes L1 et L2 qui renvoie True si les listes sont identique et False sinon.
On suppose que le décalage est compris entre -80 et 80 .
Q28. Écrire une fonction recherche_decalage(L1,L2) prenant en argument deux listes L1 et L2 et qui renvoie la valeur du décalage ou None s'il n'existe pas.
Q29. Évaluer la complexité de la fonction recherche_decalage(L1,L2) en prenant en compte le nombre de comparaison en fonction de la taille des listes et de le nombre de décalage maximal à prendre en compte ( 161 dans notre exemple) dans le meilleur et dans le pire des cas.
En pratique, il n'y a pas de raisons que les deux capteurs CCD mesurent exactement les mêmes valeurs décalées. Les valeurs mesurées décalées seront approximativement les mêmes. Pour résoudre ce problème, on va calculer une erreur quadratique moyenne entre les deux sous-listes et puis chercher le minimum en fonction du décalage.
Pour deux sous-listes et de taille , l'erreur sera définie par :
Q30. Écrire une fonction erreur(L1,L2) qui retourne l'erreur quadratique définie ci-dessus.
Q31.Écrire une fonction recherche_decalage_2(L1,L2) qui cherche le minimum de l'erreur pour des décalages de -80 à 80 et qui retourne la valeur de ce décalage.
III. 3 Comparaison des deux méthodes
Deux méthodes de réglage de l'objectif ont été introduites dans les parties précédentes.
Q32. Décrire en 5 lignes maximum les avantages et les inconvénients de ces deux méthodes et laquelle vous semble être la plus pertinente.
III. 4 Commande du moteur pas à pas
L'objectif de mise au point est motorisé par un moteur pas à pas bipolaire commandé en «demi pas ».
Les paragraphes suivants permettent de décrire le principe de fonctionnement et la commande du moteur mais leurs compréhensions détaillées n'est pas utile pour répondre à la suite des questions.
Le principe du moteur pas à pas consiste à positionner le rotor sur lequel se trouvent des aimants permanents polarisé nord ou sud régulièrement espacé. Sur le stator se trouvent deux demi-bobines. La commande des demi-bobines se fait de tel sorte que le rotor va s'aligner sur le stator par pôle opposée (un nord en face d'un sud et un sud en face d'un nord).
Prenons un exemple simplifié de la figure 7 avec d'un moteur avec deux bobines ( pour la première et pour la seconde). Les bobines sont en deux parties situées de part et d'autres du rotor. Sur le rotor se trouve un aimant permanent avec deux pôles.
Figure 7 - Structure élémentaire d'un moteur pas à pas
Les deux demi-bobines étant positionné à , la commande en demi pas consiste à faire des :
pas entier : les bobines sont alimentées l'un après l'autre
demi pas : les deux bobines sont alimentées et le rotor s'aligne entre deux bobines
La figure 8 montre les différentes positions associées à la séquence d'alimentation présentée dans la suite.
Figure 8 - Séquence d'alimentation des bobines : - IN à IN à 0
La séquence d'alimentation du préactionneur des bobines (non détaillé ici) est donné par le chronogramme de la figure 9 et donne les 8 cas d'alimentation possibles pour obtenir la rotation dans le sens positif. Pour obtenir la rotation dans le sens négatif, il suffit de parcourir la séquence d'alimentation dans l'autre sens.
Figure 9 - Chronogramme d'alimentation des 4 entrées.
On se propose pour la suite de programmer le déplacement pas à pas de l'objectif. Pour cela, on supposera que les variables IN1, IN2, IN3 et IN4 ont été déclarées de manière globale et représentent les sorties à piloter sur un microcontroleur. Pour piloter ces sorties, on utilisera la fonction modif_sortie(IN, valeur) où IN sera la sortie à modifier et valeur la valeur de type booléen souhaitée pour la sortie.
Exemple : modif_sortie(IN4, True passera la sortie IN4 à 1 et modif_sortie(IN4, False la passera à 0 .
On remarquera que la séquence d'alimentation présente les 8 premier pas, les autres pas étant obtenus à un modulo près.
Q33. Écrire une fonction faire_un_pas_positif(pas_actuel) qui prend en argument la valeur du pas courant qui modifie l'état des sorties IN1 à IN4 et qui renvoie la nouvelle valeur du pas. On veillera à ne changer l'état que des sorties nécessaires.
On supposera l'existence d'une variale globale pas_courant comprise entre 0 et 1000 correspondant à la position courante du moteur pas à pas, ainsi qu'une fonction faire_un_pas_negatif(pas_actuel) qui permet de réaliser un pas négatif.
Q34. Écrire une fonction position_objectif (pas) qui prend en argument la position en pas à atteindre à partir de la position courante réalisant le déplacement demandé pas à pas. Il peut y avoir plus d'un pas à effectuer. On vérifiera que le pas demandé est atteignable (compris entre 0 et 1000).
IV Gestion des photographies
Une société emploie des photographes pour réaliser des photographies, qu'ils déposent ensuite sur un site et qui sont gérées à l'aide d'une base de données.
La base de données est composée de plusieurs tables, notamment :
table PHOTOS contenant notamment les attributs:
id : identifiant de la photographie, clé primaire, de type entier ;
date : date à laquelle a été prise la photographie, de type texte, au format YYYYMMDD. Par exemple, le 22 juin 2021 sera stocké sous la forme 20210622 ;
heure : heure à laquelle a été prise la photographie, de type texte;
idp : identifiant du photographe, de type entier ;
orientation : orientation de l'appareil lors de la prise de photographe, de type entier ;
table PHOTOGRAPHES contenant notamment les attributs :
id : identifiant du photographe, clé primaire, de type entier ;
nom : nom du photographe, de type texte;
prenom : prénom du photographe, de type texte;
...
Q35. Donner la définition d'une clé primaire.
Q36. Donner une requête en SQL permettant de sélectionner les identifiants de toutes les photos prises le 11 novembre 2018.
Q37. Donner une requête en SQL permettant de sélectionner les noms et prénoms des photographes ayant pris des photographies le 11 novembre 2018.
Q38. Donner une requête en SQL permettant de sélectionner les noms, prénoms des photographes et heure de la prise de vue des photographies prises le 11 novembre 2018.
Afin d'afficher correctement sur le site les clichés sélectionnés, il faut réorienter l'image en fonction de l'orientation initiale du cliché. Les réorientations automatiques classiques à gérer sont le pivotement de 90 degrés dans le sens horaire ou le sens trigonométrique ainsi que la rotation de 180 degrés.
Q39. Illustrer sur un schéma les nouvelles coordonnées d'un pixel de coordonnées après une rotation de 180 degrés. Écrire une fonction rotation_180 (image) qui prend en argument une image au format RVB et qui renvoie une nouvelle image pivotée de 180 degrés.
Q40. Illustrer sur un schéma les nouvelles coordonnées d'un pixel de coordonnées après une rotation de 90 degrés. Écrire une fonction rotation_90 (image) qui prend en argument une image au format RVB et qui renvoie une nouvelle image pivotée de 90 degrés dans le sens trigonométrique.
Modèle CMEN-DR v2 eEXATECH
Nom de famille :
(Suvi, silly alieu, du nom dissage)
(Le numéro est celui qui figure sur la convocation ou la feuille d'émargement)
(Remplir cette partie à l'ade de la notice)
Epreuve: Matière : Session :
:.
- Remplir soigneusement, sur CHAQUE feuille officielle, la zone d'identification en MAJUSCULES.
- Ne pas signer la composition et ne pas y apporter de signe distinctif pouvant indiquer sa provenance.
CONSIGNES
- Numéroter chaque PAGE (cadre en bas à droite de la page) et placer les feuilles dans le bon sens et dans l'ordre.
- Rédiger avec un stylo à encre foncée (bleue ou noire) et ne pas utiliser de stylo plume à encre claire.
- N'effectuer aucun collage ou découpage de sujets ou de feuille officielle. Ne joindre aucun brouillon.
Document réponse À rendre en fin d'épreuve
Tournez la page S.V.P.
1 / 4
NE RIEN ECRIRE DANS CE CADRE
Document réponse partie modélisation, questions 8 et 9
Banque PT Modélisation PT 2021 - Version Web LaTeX | WikiPrépa | WikiPrépa