Paramètres à manipuler pour la détection automatique

Added by Rémi G. almost 10 years ago

Bonjour,

Je viens de corriger un premier paquet de copies afin de me familiariser avec AMC. J'avais conseillé à mon grand regret aux élèves d'utiliser un crayon de papier, il a fallu donc passer beaucoup de temps pour que la détection automatique fonctionne. J'aimerais donc poser quelques questions afin d'y voir plus clair.

1) Quels sont les paramètres à manipuler pour configurer la détection automatique ?

En ce qui me concerne j'ai utilisé les valeurs suivantes :

  • Default darkness threshold : 0.03
    Seuil de détection de la proportion de noir dans une case, je pense avoir compris.
  • Black & White conversion threshold : 0.80
    Pour noircir le scan et donc augmenter la proportion de noir dans une case ?
  • Measured box proportion : 0.75
    Pour diminuer la taille de la case et donc éviter que les bords modifient la proportion de noir de la case ?
Je n'ai par contre pas modifié les paramètres suivants et je ne les comprends pas :
  • Marks size max increase : 0.15
  • Marks size max decrease : 0.15

2) Quelles sont les valeurs par défaut des paramètres de la détection automatique ?

Ayant beaucoup trituré la configuration, j'aimerais repartir avec les valeurs par défaut pour mon prochain paquet de copies. Quelles sont-elles ?

3) Comment est calculée la valeur de sensibilité ?

Même après avoir trouvé les bons seuils de détection, j'ai encore la moitié des copies avec une valeur de sensibilité importante en rouge. Pourtant ce ne sont pas toujours celles avec des valeurs proches du seuil de détection.

Par exemple, pour ces deux copies l'ordre semble inversé :
  • copie 1 : valeur sensibilité = 6.8 (vert)
    La proportion de noir est de 0.047 (juste au dessus du seuil 0.03) pour la case cochée la moins visible
  • copie 2 : valeur sensibilité = 9.8 (rouge)
    La proportion de noir est de 0.35 (très loin du seuil...) pour la case cochée la moins visible

Un grand merci en tout cas pour ce merveilleux logiciel, je n'ai jamais pris autant de plaisir à corriger des copies ! Mes collégiens vont désormais devoir s'attendre à des QCM hebdomadaires, et ce dès la rentrée prochaine.

Rémi.


Replies (14)

RE: Paramètres à manipuler pour la détection automatique - Added by Alexis Bienvenüe almost 10 years ago

Black & White conversion threshold : 0.80
Pour noircir le scan et donc augmenter la proportion de noir dans une case ?

Exactement. AMC transforme les scans (qui souvent sont en niveaux de gris) en noir et blanc. En changeant cette valeur, on devrait pouvoir faire en sorte que des gris moyens deviennent noir ou blanc selon le besoin. Peut-être que cela permettrait de transformer le crayon papier en noir ?

Measured box proportion : 0.75
Pour diminuer la taille de la case et donc éviter que les bords modifient la proportion de noir de la case ?

Oui.

Marks size max increase : 0.15
Marks size max decrease : 0.15

Cela concerne la détection des marques de coin (les quatre disques noirs). AMC cherche les composantes connexes près des bords qui ont une taille proche de la taille attendue pour ces marques. Si vous avez imprimé le sujet en rajoutant des marges (ce que font certains systèmes), les marques seront plus petites que prévu. AMC doit donc accepter des petites différences. Ces deux paramètres règlent la tolérance d'AMC sur la taille des marques. Si on les prend trop grands, des tâches pourront être considérées comme marques de coin. Si on les choisit trop petits, les vraies marques seront écartées. Dans ces deux cas, le calage de la feuille ne se fera pas bien ou pas du tout.

valeurs par défaut

Vous pouvez récupérer les paramètres par défaut en effaçant (ou déplaçant pour garder les valeurs actuelles dans un coin et pouvoir les retrouver ensuite) le fichier $HOME/.AMC.d/cf.default.xml.

Comment est calculée la valeur de sensibilité ?

Elle est normalement d'autant plus grande qu'une des cases de la page a une proportion de noir proche du seuil. Si ce n'est pas la cas, pouvez-vous fournir des copies d'écran de la liste des sensibilités et de la fenêtre des zooms sur une page problématique ?

RE: Paramètres à manipuler pour la détection automatique - Added by Rémi G. almost 10 years ago

Merci pour votre réponse. J'ai donc pu retrouver les valeurs par défaut, je les recopie ici (ça me servira de pense-bête) :
  • Vector format density (DPI) : 250
  • Black & White conversion threshold : 0.60
  • Marks size max increase : 0.20
  • Marks size max decrease : 0.20
  • Default darkness threshold : 0.15
  • Measured box proportion : 0.80

J'ai joint aussi les copies d'écran comme demandé ainsi que le dossier du projet si vous souhaitez y jeter un coup d'œil (j'ai laissé juste les deux pages dont j'ai fait les captures d'écran).

BoxesZooms-Copie11-1.png - Fenêtre des zooms de la copie 11/1 (proportion min=0.336, sensibilité=9.7, rouge) (104.2 kB)

BoxesZooms-Copie23-1.png - Fenêtre des zooms de la copie 23/1 (proportion min=0.047, sensibilité=6.8, vert) (99.8 kB)

Onglet-DataCapture.png - Onglet "Data capture" (liste des sensibilités) (40.2 kB)

RE: Paramètres à manipuler pour la détection automatique - Added by Rémi G. almost 10 years ago

Je n'ai pu envoyer le dossier du projet, alors je l'ai téléversé à cette adresse si ça vous intéresse :
https://webcloud6.zaclys.com/public.php?service=files&t=e040c068971977c9868644c55f27441e

RE: Paramètres à manipuler pour la détection automatique - Added by Alexis Bienvenüe almost 10 years ago

Le problème vient des cases d'identification en haut de page. Pour la page 11/1, il y avait une case blanche en haut de page avec 10 pixels noirs (peut-être une bordure due à un défaut de calage) sur 324 pixels, ce qui donne un ratio 10/324=0.03086 très proche de votre seuil de 0.03, et donc une grande valeur de la sensibilité.
Ce n'est pas le comportement souhaité : j'ai corrigé ce bug dans la révision hg:e6f8c80808d9.

RE: Paramètres à manipuler pour la détection automatique - Added by Rémi G. almost 10 years ago

Bravo pour la réactivité !

Si j'ai bien compris, le problème de calage se trouve au niveau du "code-barres" identifiant la feuille ? À moins que ce soit au niveau du code étudiant (date de naissance dans mon cas) ?

Je viens de regarder les fichiers jpeg dans le dossier cr, il y a bien un décalage au niveau du code-barres mais je n'aurais trouvé tout ça.

Ce fut en tout cas très instructif, j'ai pu tester tous les paramètres de détection ainsi que le mode manuel pour corriger les éventuelles erreurs de détection. Il me reste plus qu'à tester avec le format A5 et je suis paré pour une utilisation intensive de AMC.

Encore merci !

RE: Paramètres à manipuler pour la détection automatique - Added by Frédéric Bréal almost 10 years ago

Je vous propose une configuration, empirique, que j'ai adoptée pour le A5 (voir en pièce jointe mes paramètres).
Je crée le sujet en A4 puis imprime 2 sur 1 le fichier pdf (adobe reader).
Le recto verso (quand mon sujet fait 3-4) en mode livre.
Si mon sujet fait deux pages, je modifie l'ordre des pages 1234 en 1243 (à adapter selon la photocopieuse du votre établissement) puis 2 sur 1 en mode livre puis je massicote.

Les élèves colorient entièrement les cases (au bic noir, bleu, crayon à papier exclusivement de type B, pas de feutre cela marque les deux côtés de la feuille).
Mes dimensions de cases sont

\AMCboxDimensions{size=2ex}%

L'espace entre les question est

\AMCinterBquest=2ex%

Pour la numérisation :
Je choisis l'option mono et pas nuance de gris.
Je numérise recto-verso puis pour le traitement :
  • en simple A5, je n'agrandis pas en A4 (les 40% se justifient ici)
  • en A4 recto-verso 2 sur 1, il y a une astuce voir le 3e et 4e message de ce post
  • Sur mon PC cela ne fonctionne pas donc j'utilise la commande :
    pdfimages copiesscannees.pdf copies
    
  • Ensuite, j'utilise le logiciel Phatch avec lequel j'ai créé deux commandes qui font pivoter les images et les coupent en 2. Je peux les mettre en pièce jointe si vous le souhaitez.

J'ai toujours quelques sujets marqués en rouge par AMC. J'en vérifie certains par acquis de conscience mais tout est bien coché pas de cases supplémentaires détectées par AMC.
Enfin, j'utilise la version test.

RE: Paramètres à manipuler pour la détection automatique - Added by Rémi G. almost 10 years ago

Merci pour tous ces détails ! Je comptais en effet continuer à générer des sujets A4 puis les imprimer côte à côte pour avoir des sujets en A5. Me voilà conforté dans mon idée (même si changer l'ordre des pages 1234 en 1342 me paraît pas évident du tout pour un sujet d'une feuille recto-verso).

Comme la photocopieuse que j'utilise numérise aussi en jpeg ou tiff, je pensais que je n'aurais pas besoin de changer les paramètres de détection (comme la proportion des cases). AMC n'a aucun moyen de deviner que l'impression s'est faite au format A5 et ne devrait y voir que du feu, non ?

RE: Paramètres à manipuler pour la détection automatique - Added by Frédéric Bréal almost 10 years ago

(même si changer l'ordre des pages 1234 en 1342 me paraît pas évident du tout pour un sujet d'une feuille recto-verso).

Effectivement, c'est 1342. Sinon je demande l'aide sur le forum ubuntu.
  • Voici la commande que j'ai adaptée. Elle permet de faire du recto-verso imprimé en A5 en respectant l'ordre croissant des sujets. Après massicotage, il suffit de placer le paquet de gauche sur celui de droite.
    $(echo -n "pdftk S=NOM-DU-DOCUMENT.pdf cat";for k in {1..X/2..2};do echo -n " S$k S$((X/2+k)) S$((X/2+1+k)) S$((k+1))";done;echo " output NOM-DU-DOCUMENT-FINAL.pdf")
    

    X est le nombre total de pages et doit être multiple de 4.Sinon, il faut ajouter une page blanche ou plusieurs pages blanche.
  • Une autre commande pour insérer une double page blanche (mon sujet faisait 6 pages a=6 et j'avais X pages au total)
    $(echo -n "pdftk S=DOC-sujet-sanspageblanche.pdf P=doublepageblanche.pdf cat";for k in {1..X..a};do echo -n " S$k-$((a-1+k)) P";done;echo " output DOC-sujet-avecdoublepageblanche.pdf")
    
  • J'ai créé les pages blanches avec l'export libreoffice.

AMC n'a aucun moyen de deviner que l'impression s'est faite au format A5 et ne devrait y voir que du feu, non ?

Il faut juste veiller aux marques rondes dans les coins qu'elles ne disparaissent pas avec la réduction ou une marge trop petite pour le massicotage.

RE: Paramètres à manipuler pour la détection automatique - Added by Rémi G. almost 10 years ago

Encore merci pour toutes ces informations !

Je vais essayer de plancher prochainement (ou du moins pendant l'été) sur un script avec Nautilus-Actions pour ne plus avoir à me rappeler de ces commandes. J'ai trouvé la commande suivante pour lire le nombre de pages d'un PDF qui devrait être utile :

 pdftk file.pdf dump_data output | grep -i Num

Je posterai le script sur le forum dès que j'ai réussi. Par ailleurs, je prévois de préparer une petite formation à AMC pour les collègues de mon collège, donc j'enverrai tout ça aussi.

RE: Paramètres à manipuler pour la détection automatique - Added by Frédéric Bréal almost 10 years ago

je prévois de préparer une petite formation à AMC pour les collègues de mon collège

Il y a dans le wiki un fichier pdf qui peut vous servir de base.

RE: Paramètres à manipuler pour la détection automatique - Added by Rémi G. almost 10 years ago

Je vais essayer de plancher prochainement (ou du moins pendant l'été) sur un script avec Nautilus-Actions pour ne plus avoir à me rappeler de ces commandes.

Finalement je n'ai pas pu résister et j'ai écrit un script bash ReorderPDF.sh qui permet de réordonner un fichier PDF passé en argument selon le schéma demandé (par exemple 1 3 4 2). Voilà la syntaxe :

./ReorderPDF.sh monfichier.pdf 1 3 4 2

J'ai trouvé les deux commandes suivantes qui ont été pratiques pour la création du script :
  • Pour déterminer le nombre de page du PDF :
    pdftk monfichier.pdf dump_data | grep "NumberOfPages" | sed 's:.*\([0-9][0-9*]\).*:\1:'
    
  • Pour créer un fichier PDF contenant une page blanche A4 :
    echo "" | ps2pdf -sPAPERSIZE=a4 - pageblanche.pdf
    

N'ayant qu'une expérience très faible de bash, il y a sûrement beaucoup d'améliorations à faire. Je vais essayer de m'atteler à en faire un script pour Nautilus Action, ce serait plus pratique.

Il y a dans le wiki un fichier pdf qui peut vous servir de base.

Je compte m'en servir en effet !

ReorderPDF.sh (839 Bytes)

RE: Paramètres à manipuler pour la détection automatique - Added by Rémi G. almost 10 years ago

Ça y est, j'ai réussi à créer un fichier à importer dans Nautilus-Actions. De cette manière, plus de commande à taper pour réordonner les fichiers PDF.

Je mets en pièce jointe :
  • le fichier à importer dans Nautilus-Actions (fichier .desktop)
  • le script simplifié dans le cas de la permutation 1234 vers 1342 (juste pour y jeter un coup d'œil)
  • une copie d'écran pour voir le fonctionnement

Si je trouve le temps, j'essaierai d'éditer le wiki. Mais honnêtement, j'ai pris du retard dans mes véritables copies, et ce ne sera pas tout de suite !

RE: Paramètres à manipuler pour la détection automatique - Added by Rémi G. almost 10 years ago

En fait mon script Nautilus-Actions ne fonctionnait pas. Il s'agit peut-être de subtilités au niveau des différences entre sh et bash, je suis en train de me renseigner sur un forum.

En tout cas, même si je ne comprends pas tout, j'ai un autre script qui fonctionne. Je mets donc ce script en pièce jointe ainsi que le fichier .desktop correspondant (à importer dans Nautilus-Actions).

(1-14/14)