Exemple floutage Panoramax algo "Speedy Gonzales"

Pour mieux se rendre compte du résultat du floutage de l’algo « Speedy Gonzales », voici quelques séries de photos floutées :

Il y a quelques faux négatifs… combien en trouvez-vous ?

Malgré les ajouts dans le code de ces derniers jours, on reste sur un capacité de floutage d’un million d’images par jour sur le serveur qui va être mis en place par OSM-FR :slight_smile:

1 Like

Le floutage ne floute pas assez, je pense. Ça dépend de la taille de l’objet ou de la résolution de l’image, non ?

Ça reste assez lisible
image
image

Pareil pour des visages assez grand sur les photo.

Un cas intéressant d’un bout de plaque pas flouté, alors que la plaque devient floutée sur l’image suivante quand elle apparaît entièrement (logique, l’algo doit manquer de données de « demi-plaques ») :

image
image
(source : Iphone 2019, premières images)

Une question sur l’algo du coup : pour palier au manque possible de « demi-plaques » dans les données d’entraînement, est-ce qu’il ne serait pas possible d’en créer artificiellement, en prenant les plaques entières bien balisées, puis en tronquant l’image sur la plaque entière, et en réinjectant ces « demi-plaques artificielles » dans les données d’entraînement ? (avec différents formats de coupe : juste le bout à droite, juste le bout à gauche, la moitié…)

Idem avec l’intégralité des éléments repérés (plaques de rues, visages) : entraîner la reconnaissance aux frontières de l’image en créant de fausses troncatures.

J’ai un peu cherché les tailles minimales en pixels pour que les algo de reconnaissance faciale puisse fonctionner. Pour l’instant le plus petit que j’ai trouvé semble être 24x24 pixels avec 12 pixels séparant les yeux: Resolution Considerations for Face Recognition Accuracy | BriefCam

Pour gérer les différentes résolutions, le rayon de floutage est proportionnel au plus grand côté de la partie à flouter en visant l’équivalent de 16 pixels utiles de côté. C’est déjà en dessous des 24 indiqués ci-dessus, mais je vais essayer avec 12 pour être encore plus tranquille.

Pour info, le floutage est fait en deux passes(voir sgblur/blur.py at master · cquest/sgblur · GitHub):

  • pixelisation à 16 pixels de côté
  • boxblur pour adoucir ces gros pixels
  • qualité JPEG très faible (20) sur la zone

J’envisage aussi de carrément mettre en gris les zones à flouter très étendues.

Les annotations ont été faites aussi sur des plaques partiellement masquées. Elles ont l’air plutôt bien détectées si il y a environ la moitié de la plaque visible.

Ici on est très en dessous et la seule info récupérée est ultra partielle… ça ne me semble pas problématique de laisser cela passer.

Un problème possible, c’est d’avoir une partie de plaque sur une photo, non floutée, et l’autre complémentaire sur une autre photo. Ceci dit, les échanges que j’ai pu avoir avec la CNIL m’ont confirmé que ce n’était pas le 100% qui était attendu.

J’ai tout reflouté sur la base de 12 pixels de côté maximum… et tout repartagé

Hello,
Sur l’instance IGN panoramax, en allant faire un tour, je suis tombé sur cet étonnant artefact de floutage : https://panoramax.ign.fr/#focus=pic&map=19/48.8580267/2.3480963&pic=1b6c0c4b-c446-4d54-95dc-e4bb36910666&xyz=28.69/-2.69/0
Je ne sais pas bien ce que l’algo a voulu flouter (l’ombre des arbres ?) mais je trouve le faux-positif assez intéressant - est-ce qu’il est utile de faire remonter ce genre de faux-positifs pour améliorer l’algo ?

Ah oui, il est beau celui-ci !

En récupérant la photo et en la passant à exiftool, on récupère les infos de détection qui sont stockées en commentaire JPEG:

[{'class': 'face', 'confidence': 0.745, 'xywh': [5120, 1248, 192, 224]}, {'class': 'face', 'confidence': 0.691, 'xywh': [2736, 1552, 80, 96]}, {'class': 'face', 'confidence': 0.471, 'xywh': [3104, 1472, 96, 112]}, {'class': 'face', 'confidence': 0.258, 'xywh': [2368, 1584, 96, 112]}, {'class': 'face', 'confidence': 0.087, 'xywh': [2976, 1520, 80, 96]}, {'class': 'plate', 'confidence': 0.081, 'xywh': [2016, 1696, 96, 64]}, {'class': 'face', 'confidence': 0.07, 'xywh': [2640, 2176, 1248, 1472]}, {'class': 'face', 'confidence': 0.065, 'xywh': [2976, 1504, 96, 112]}]

L’avant dernière ligne doit être notre faux positif vues les dimensions… et oui, le taux de confiance était très faible: 0.07

C’est pour ces cas là, que le floutage différentiel et de défloutage sélectif peuvent être bien utiles !

On va apprendre en marchant…

C’est effectivement un étonnant cas de faux positif, mais là ce qui est flouté ne représente pas d’information masquée à tort.
C’est quand l’algorithme floute des informations intéressantes pour la cartographie (essentiellement plaques de rues, non de magasins, panneaux de signalisation) que c’est embêtant.
L’ombre des arbres n’est pas (encore ? :wink: ) cartographiée dans OpenStreetMap, qu’elle puisse être prise comme un visage est sans enjeu autre qu’esthétique. Si on peut corriger, c’est mieux, mais ce n’est pas urgent.
Avoir une page en mode wiki où mettre ce genre de faux positifs afin de vérifier que l’évolution d’un paramétrage apporte des améliorations pourrait être utile, mais c’est seulement si ceux qui font évoluer les algorithmes s’en servent : qualifier les adresses/voies sur Pifomètre c’est bien pour les contributeurs suivants en profitent mais si le producteur en tient compte c’est mieux !

Afin d’en faciliter l’usage, on pourrait imaginer un service où tu signalerais une image et une zone floutée à ton avis à tort.
On a déjà Signaler la photo, on pourrait ajouter Signaler un faux positif.
Et là, quelqu’un (un groupe, plusieurs votes ?) valide (ou pas) la demande. Du coup ce qu’a fait @cquest à la main pourrait être automatisé pour signaler statistiquement les faux positifs.
Et le faux-positif pourrait avoir un traitement spécial (exception pour cette photo, ici on vire {'class': 'face', 'confidence': 0.07, 'xywh': [2640, 2176, 1248, 1472]}.

On remarquera à l’opposé qu’une belle chevelure n’est pas considérée comme un visage.

C’est un peu le cas évoqué par @cquest sur les bouts de plaques mis bout-à-bout : s’il est raisonnable d’utiliser les images précédente et suivante pour ajouter des zones « plus » candidates au floutage, c’est un plus (dans ces zones on ajouterait plus facilement des zones douteuses). Ceci dit ici des plaques 56 en France, il doit y en avoir quelques-unes, surtout dans le Morbihan. Je pense que sur bien des images publiées par Flickr et Cie, on voit des visages de personnes qui n’ont pas autorisé leur publication. L’avis de la CNIL semble raisonnable.