Ajustando superfícies implícitas a conjuntos de pontos orientados

12

Eu tenho uma pergunta sobre o ajuste quadrático de um conjunto de pontos e normais correspondentes (ou equivalentes, tangentes). Ajustar superfícies quadráticas para apontar dados é bem explorado. Alguns trabalhos são os seguintes:

O ajuste aos contornos projetivos também é coberto por alguns trabalhos, como este .

De todos esses trabalhos, acho que o método de Taubin para o ajuste Quadric é bastante popular:

Deixe-me resumir brevemente. Um quadrático pode ser escrito na forma algébrica: onde é o vetor de coeficiente e são as coordenadas 3D. Qualquer ponto está no quadrático se , onde: Q

f(c,x)=Ax2+By2+Cz2+2Dxy+2Exz+2Fyz+2Gx+2Hy+2Iz+J
cxxQxTQx=0
Q=[ADEGDBFHEFCIGHIJ]

Ajuste Algébrico Em princípio, gostaríamos de resolver os parâmetros que minimizam a soma das distâncias geométricas ao quadrado entre os pontos e a superfície quadrática. Infelizmente, verifica-se que esse é um problema de otimização não convexo, sem soluções analíticas conhecidas. Em vez disso, uma abordagem padrão é resolver um ajuste algébrico, ou seja, resolver os parâmetros que minimizam:c

i=1nf(c,xi)2=cTMc
M= n i=1l(xi)l(xi)T{xi}l=[x2,y2,z2,xy,xz,yz, com onde são os pontos no ponto nuvem e
M=i=1nl(xi)l(xi)T
{xi}
l=[x2,y2,z2,xy,xz,yz,x,y,z,1]T

Observe que essa minimização direta produziria a solução trivial com na origem. Esta questão foi estudada extensivamente na literatura. Uma resolução que funcionou bem na prática é o método de Taubin (citado acima), introduzindo a restrição:c

xf(c,xi)2=1

Isso pode ser resolvido da seguinte maneira: Let: que os subscritos indicam as derivadas. A solução é dada pela decomposição generalizada de Eigen, . O vetor de parâmetro de melhor ajuste é igual ao vetor próprio correspondente ao menor valor próprio.

N=i=1nlx(xi)lx(xi)T+ly(xi)ly(xi)T+lz(xi)lz(xi)T
(MλN)c=0

Pergunta principal Em muitos aplicativos, as normais da nuvem de pontos estão disponíveis (ou computadas). As normais do quadric também podem ser calculadas diferenciando e normalizando a superfície implícita:N(x)

N(x)=f(c,x)f(c,x)
onde
f(c,x)=2[Ax+Dy+Fz+GBy+Dx+Ez+HCz+Ey+Fx+I]

No entanto, o método de Taubin utiliza apenas a geometria do ponto, e não o espaço tangente. E eu não conheço muitos métodos, que são adequados para ajustar quadriculos de tal modo que as tangentes do quadric também coincidam com as da nuvem de pontos subjacente. Estou procurando possíveis extensões do método acima, ou qualquer outro para cobrir esses derivativos de primeira ordem.

O que eu gostaria de alcançar talvez seja abordado parcialmente em espaços dimensionais inferiores, com tipos de superfície (curva) mais primitivos. Por exemplo, o ajuste de linhas nas bordas da imagem, levando em consideração as informações de gradiente, é abordado aqui . A montagem de planos (um tipo simples de quadriculado) em nuvens 3D é muito comum ( link 1 ) ou esferas ou cilindros adequados podem ser ajustados a conjuntos de pontos orientados ( link 2 ). Então, o que eu quero saber é algo semelhante, mas o primitivo ajustado é um quadriculado.

Eu também gostaria de receber a análise do método proposto, como:

  • Qual é o número mínimo de pontos orientados necessários?
  • Quais são os casos degenerados?
  • Pode-se dizer algo sobre robustez?

Atualização : eu gostaria de apresentar uma direção a seguir. Formalmente, o que desejo alcançar:

fn=0
no ponto . Talvez seja possível fundi-lo com o método de Taubin para criar uma restrição adicional e minimizar o uso de multiplicadores Lagrange?x

Tolga Birdal
fonte
Muitos dos elementos de Q não estão mal posicionados em Q?
Museful
Você está certo, e eu já corrigi isso.
Tolga Birdal

Respostas:

4

Fiquei surpreso por não receber uma resposta satisfatória à pergunta acima e minhas investigações me mostraram que essa é realmente uma área inexplorada. Por isso, esforcei-me por desenvolver soluções para esse problema e publiquei os seguintes manuscritos:

T. Birdal, B. Busam, N. Navab, S. Ilic e P. Sturm. "Uma abordagem minimalista da detecção agnóstica de quadríceps em nuvens de pontos". Anais da Conferência IEEE sobre Visão Computacional e Reconhecimento de Padrões. 2018. http://openaccess.thecvf.com/content_cvpr_2018/html/Birdal_A_Minimalist_Approach_CVPR_2018_paper.html

T. Birdal, B. Busam, N. Navab, S. Ilic e P. Sturm, "Detecção primitiva genérica em nuvens de pontos usando novos ajustes quadráticos mínimos", em transações IEEE sobre análise de padrões e inteligência de máquina. https://arxiv.org/abs/1901.01255

Vou tocar brevemente a idéia principal aqui:

Essa abordagem é semelhante ao encaixe gradiente um ( ). Alinhamos o vetor gradiente do quadriculado com o normal da nuvem de pontos . No entanto, diferentemente de fit, optamos por usar uma restrição linear para aumentar a classificação, em vez de regularizar a solução. Isso aparentemente não é trivial, pois o alinhamento vetor-vetor traz uma restrição não linear, seja da forma: 1Q(xi)niR31

Q(xi)Q(xi)ni=0orQ(xi)Q(xi)ni=1.
A não linearidade é causada pela normalização, pois é difícil conhecer antecipadamente a magnitude e, portanto, a escala homogênea. Resolvemos esse problema introduzindo uma escala homogênea normal entre as incógnitas e escrevemos: onde Empilhar isso para todos os pontos e normais leva a um sistema no formato : αi
Q(xi)=viTq=αini
v=[x2y2z22xy2xz2yz2x2y2z1]T
NxiniAq=0
[v1T000v2T000vnT000v1Tn10303v2T03n203vnT0303nn][ABIJα1α2αn]=0
- \ mathbf {n} _n \ end {bmatrix} \ begin {bmatrix} A \\ B \\ \ vdots \\ I \\ J \\ \ alpha_1 \\ \ alpha_2 \\ \ vdots \\ \ alpha_n \ end { bmatrix} = \ mathbf {0} \ end {equação} em que , é umviT=v(xi)TR3×10033×1 vetor de coluna de zeros, é e são as escalas homogêneas desconhecidas.A4N×(N+10)α={αi}

Enquanto a solução desta formulação, situada no espaço nulo de produz resultados aceitáveis, o sistema não tem restrições quanto ao que poderia fazer (os fatores de escala são muito livres). É melhor encontrar um regularizador apropriado que também não seja muito complicado de implementar. Na prática, mais uma vez análogo ao ajuste de gradiente um, poderíamos preferir gradientes polinomiais de norma de unidade e, portanto, podemos escrever ou equivalentemente , um fator de escala comum. Essa restrição suaveAαi=1αiα¯tentará forçar o conjunto zero do polinômio a respeitar a continuidade local dos dados. Essa regularização também nos impede de resolver o sistema homogêneo sensível e permite reescrever o sistema de forma mais compacta :Aq=n

[x12y12z122x1y12x1z12y1z12x12y12z11x22y22z222x2y22x2z22y2z22x22y22z212x1002y12z10200002y102x102z10200002z102x12y100202x2002y22z20200002y202x202z20200002z202x22y20020][ABCDEFGHIJ]=[00nx1ny1nz1nx2ny2nz2]

Em suma, a solução desse sistema de equações guiará simultaneamente o quadriculado a ser incidente na nuvem de pontos, alinhando seus gradientes com os normais. Também é possível ponderar as contribuições de pontos e normais de maneira diferente. Em certos casos, para obter um ajuste específico do tipo, basta uma pequena reformulação de adaptada às primitivas desejadas. Para todos esses detalhes, bem como algumas análises teóricas e pseudocódigo, refiro-lhe as publicações mencionadas acima.A

Tolga Birdal
fonte
Isso é ótimo! Como alguém modifica A para ponderar as contribuições relativas de pontos e normais de maneira diferente?
Museful
Apenas multiplique as primeiras linhas que são as equações de ponto, com o peso desejado. Opcionalmente, para dimensionar as linhas correspondentes às normais, também é necessário dimensionar o lado direito da equação: . n
Tolga Birdal
Obrigado. O símbolo de transposição não deve ser removido de q e n na última equação?
28519 Museful
Obrigado novamente. Removido eles.
precisa
1

Conheço um exemplo em que os normais foram incluídos no procedimento de ajuste. No entanto, não é um encaixe quadrático direto. Um patch parametrizado localmente é ajustado aos pontos e às normais. O uso de normais fornece mais equações no problema de ajuste, permitindo que polinômios de ordem superior sejam usados.

  1. Um novo algoritmo de ordem cúbica para aproximar vetores de direção principais
Abhilash Reddy M
fonte