Récupérer la pente d'une ligne numérisée

11

Y a-t-il eu des travaux pour récupérer la pente d'un segment de ligne de sa numérisation? On ne peut pas le faire avec une précision parfaite, bien sûr; ce que l'on veut, c'est une méthode pour dériver d'une ligne numérisée un intervalle de pentes possibles.

(La notion de ligne numérisée que j'utilise est celle de Rosenfeld: l'ensemble des paires i s'étend sur les entiers (ou un bloc d'entiers consécutifs) et n i n t ( x ) représente le nombre entier le plus proche de x (si x = k + une / 2 , on prend n i n t ( x ) = k )).(i,nint(ai+b))inint(x)xx=k+1/2nint(x)=k

J'ai fait un peu de travail sur ce sujet par moi-même (voir http://jamespropp.org/SeeSlope.nb ) mais je n'ai aucune formation formelle en géométrie computationnelle, donc je soupçonne que je réinvente la roue, car la question semble telle un élémentaire.

En fait, je sais que la méthode de régression linéaire pour estimer la pente est dans la littérature, mais je n'ai pu trouver mon résultat nulle part. (Ce résultat dit que si l'on choisit a et b uniformément au hasard dans [ 0 , 1 ] , alors la différence entre la pente a de la droite y = a x + b et la pente ¯ a de la droite de régression se rapprochant des n points ( i , nO(1/n1.5)ab[0,1]ay=ax+ba¯n ( 1 i n ) a l'écart type O ( 1 / n 1,5 ) .)(i,nint(ai+b))1inO(1/n1.5)

Toute piste ou référence à la littérature pertinente sera grandement appréciée.

Jim Propp ([email protected])

Jim Propp
la source
Donc, une numérisation à points est grosso modo un ensemble de cellules d'une grille n × n ? nn×n
Suresh Venkat
1
Qu'entendez-vous exactement par ligne numérisée? J'ai supposé que vous vouliez dire quelque chose comme une ligne droite dans une photo ou une image tramée, mais d'après le discours sur la régression linéaire, il semble plus que vous souhaitiez trouver une ligne la mieux adaptée à certaines données échantillonnées.
Joe Fitzsimons
Le modèle qui vous intéresse n'est donc pas une solution exacte de et b , mais simplement une approximation de ceux-ci? Je simplifierais le problème en ne considérant pas b (c'est juste un décalage ennuyeux), et en restant avec a x (il s'avère que ce n'est qu'un autre décalage). Aussi, qu'est-ce que n ici? abbaxn
Mitch
Désolé, Mitch; J'ai oublié d'expliquer ce qu'était ! J'ai ajouté cela au message d'origine. - Jimn
Jim Propp

Réponses:

1

Voir Génération aléatoire de mots sturmiens finis par Berstel et Pocchiola pour une preuve que la région réalisable de votre LP n'a que trois ou quatre côtés, ainsi qu'un algorithme simple pour trouver le polygone donné en pente et en interception. (Ils traitent de la reconnaissance des mots sturmiens, mais les problèmes sont fortement liés.)

Ils donnent également une énumération explicite des polygones, il peut donc être possible d'énumérer les zones des polygones et les plages des pentes, afin que vous puissiez obtenir la valeur attendue de la plage des pentes (ainsi que les moments supérieurs). ) comme somme explicite.

deinst
la source
4

L'approche de la géométrie de calcul remplacerait chaque pixel (i, j) par un segment vertical (i, j + [- 1 / 2,1 / 2]), prendrait les coques convexes des ensembles supérieur et inférieur de points d'extrémité et calculerait le commun intérieur tangentes - elles délimitent la gamme de pentes qui produisent cette ligne numérique. Ceci est juste l'interprétation géométrique du programme linéaire que vous mentionnez dans vos diapositives. O (n) le temps suffit pour le LP de Meggiddo, ou pour les coques et tangentes de Graham-Yao.

Jack
la source
2

Qu'en est-il de la méthode de transformation Hough standard utilisée pour la détection de ligne dans le traitement d'image: http://en.wikipedia.org/wiki/Hough_transform ?

Si vous souhaitez gagner en vitesse, vous pouvez utiliser la version aléatoire de HT.

Marzio De Biasi
la source
1
  • Je ne connais aucun travail en cg (ou tout autre groupe d'ailleurs) sur la dérivation de la pente à partir de l'ensemble de points discrets, mais c'est plus un reflet de mon manque de connaissances.

  • ΔyΔxxyxy

Mitch
la source
O(1/n)