Gostaria de encontrar o "melhor" ajuste de uma elipse para formas contíguas e possivelmente côncavas, como:
O que eu tentei?
Eu pensei que alguém poderia atribuir a direção dos eixos maiores e menores da elipse, mapeando os valores de pixel para coordenadas, subtraindo significa e salvando os dois maiores vetores próprios de um PCA. O parece funcionar bastante bem em encontrar a direção:
Meu problema é determinar o comprimento desses dois vetores. Por enquanto, eu usei , a partir dos valores próprios do PCA. Isso parece subestimar o comprimento. Como posso determinare ou, alternativamente, melhor encaixar uma elipse nessas formas?
computer-vision
shape-analysis
Hooked
fonte
fonte
Respostas:
Seguindo minha resposta excluída ... Se você fizer uma elipse preenchida e projetar todos os pontos nox No eixo, mais pontos serão projetados perto da origem do que nos extremos, em uma distribuição em forma circular. Não é uma distribuição gaussiana, nem a distribuição uniforme que mencionei na analogia 1-D na minha resposta excluída. A distribuição resultante na verdade tem pdfp ( x ) =( 1 - (xr)2)--------√ e a partir daí você pode calcular que o desvio padrão é r2 .
Assim, se os dados são distribuídos uniformemente no interior de uma elipse de raiosa , b (cujos eixos são os x e y eixos), o desvio padrão da x coordenada é uma2 e do y coordenada é b2 . Portanto, o fator de correção que você precisa usar é simplesmente 2.
Aqui está um exemplo trabalhado em python recuperando o centro (matriz de translação), matriz de rotação e raios de uma elipse a partir de pontos amostrados aleatoriamente em seu interior:
fonte
Verifique o encaixe direto das reticências dos mínimos quadrados por Fitzgibbon et al. É um problema simples de autovalor, cujo tamanho não é proporcional ao número de pixels em sua amostra! O único passo dependente do número de pixels que você lança é o cálculo de uma matriz de dispersão, que ainda éO(n) .
fonte