Précision des algorithmes de vision par ordinateur

8

Disons que la tâche consiste à déterminer la position de l'élément sur l'image. La première chose très importante est la détection correcte de l'objet, puis certains algorithmes de calcul de la position sont utilisés (pour l'analyse des blobs). Tout dépend de plusieurs choses (exactitude de la détection, algorithmes utilisés, etc.)

Supposons que nous ayons une image callibrée et connaissons l'erreur donnée par la callibration. Quelles sont les méthodes pour calculer de manière fiable la précision des algorithmes de vision par ordinateur (et machine)? Peut-on le faire de manière analytique ou uniquement par des expériences et des tests?

La question s'adresse aux cas où nous détectons la position des éléments et également d'autres problèmes de vision par ordinateur.

Je veux obtenir des références aux problèmes liés à la vision par ordinateur / machine, en particulier la détection de position des éléments, et présenter des calculs de correction, soit analytiques, soit expérimentaux, pour montrer cette précision.

Les suggestions pour améliorer cette question sont également les bienvenues.

krzych
la source

Réponses:

4

Par exemple, Hartley & Zisserman suggèrent d'utiliser le préconditionnement avant l'estimation d'homographie, car la prise d'une matrice inverse inverse peut entraîner d'énormes erreurs ou instabilités. Cela s'applique à toute méthode numérique fonctionnant avec une matrice inverse.

Les algorithmes de détection d'entités utilisent souvent une approximation sous-pixel de l'emplacement des points d'intérêt.

La plupart des livres traitant des méthodes numériques traitent également de leur analyse de stabilité.

Parfois, vous devez faire des statistiques pour analyser la précision et l'exactitude de votre estimateur (qu'il s'agisse d'un estimateur des moindres carrés ou d'un estimateur du maximum de vraisemblance). Ceci est utile dans des algorithmes comme RANSAC , qui traitent des valeurs aberrantes. Vous souhaitez également savoir dans quelle mesure la transformation estimée correspond à vos données et peut-être supprimer les résultats trop inexacts.

Lorsque vous travaillez avec une différenciation finie ou que vous effectuez un filtrage, un léger flou gaussien est effectué pour supprimer le bruit, ce qui entraînerait sinon d'énormes erreurs dans les dérivées secondes.

Certains problèmes de vision par ordinateur sont mal posés. Une méthode de régularisation (une telle régularisation Tikchonov) est nécessaire pour les résoudre. Les exemples où cela est nécessaire incluent le calcul de la diffusion anisotrope.

Libor
la source
Cela s'applique donc lorsque nous avons détecté certaines fonctionnalités et les associons à des fonctionnalités de modèle avec des statistiques (et cette correspondance donne une erreur que nous pouvons calculer). Que diriez-vous des erreurs de détection des fonctionnalités informatiques. Par exemple, si les objets sont extraits de blobs par seuillage?
krzych
Je pense que vous ne pouvez pas calculer "erreur de détection" étant donné uniquement l'image. Il doit y avoir un certain contexte dans lequel vous pouvez dire que la fonctionnalité est erronée.
Libor
Exactement mais quel conntext. Comment concevoir des tests pour déterminer l'exactitude de la détection des fonctionnalités?
krzych
2
Comme H&Z l'a noté dans son livre: "C'est un problème de poulet et d'oeuf ..." Nous ne pouvons pas dire quelles fonctionnalités sont "bonnes" et lesquelles sont "mauvaises" sans les faire correspondre au préalable. Il existe certains développements dans la conception de descripteurs d'entités afin qu'ils correspondent bien à des ensembles de données plus importants. Étant donné la mesure de la «qualité» d'un descripteur, vous pouvez discriminer des caractéristiques qui ne sont pas susceptibles de correspondre.
Libor
Mais il doit y avoir une méthode pour évaluer l'exactitude de l'ensemble du système. Je pense que c'est très important pour les applications de vision industrielle, surtout quand on parle de positionnement des éléments. Comme je l'ai dit en question, je suis également intéressé par certaines façons de tester cette exactitude.
krzych
4

Cela ne répond pas à toute la question, mais cela répond en partie à ce que le PO demande.

Cela ne peut être fait qu'expérimentalement. Pour le faire analytiquement, il faudrait des informations sur ce que l'algorithme aurait dû retourner. Mais pour le savoir, vous avez besoin d'un algorithme de vision par ordinateur connu et toujours correct pour comparer (ainsi que des descriptions analytiques détaillées de l'image testée). Les solutions analytiques nécessitent la connaissance d'une vérité fondamentale qui est analytique plutôt que générée manuellement au cas par cas. Mais nous n'avons pas de méthode analytique pour générer une vérité fondamentale - c'est ce que nous essayons de développer.

Étant donné que cela ne peut être fait qu'à titre expérimental, vous voudrez peut-être regarder google scholar. Si vous recherchez la localisation de personnes, de nombreux documents seront consacrés à la localisation d'une personne ou de parties d'une personne comme une tête ou des mains. L'emplacement des voitures fera également l'objet d'une attention particulière. D'autres objets voudront simplement des algorithmes génériques.

John Robertson
la source
Certaines références pourraient améliorer cette réponse.
krzych