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:
Montagem direta com restrição de tipo de superfícies quadráticas , James Andrews, Carlo H. Sequin Design e aplicações auxiliados por computador, 10 (a), 2013, bbb-ccc
Adaptação algébrica de superfícies quadráticas aos dados , I. Al-Subaihi e GA Watson , Universidade de Dundee
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:
- G. Taubin, "Estimação de curvas planares, superfícies e curvas não planares de espaço definidas por equações implícitas, com aplicações para segmentação de imagens de bordas e faixas ", IEEE Trans. PAMI, vol. 13, 1991, pp 1115-1138.
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:
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:
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:
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.
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:
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:
fonte
Respostas:
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:
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:∇1 ∇Q(xi) ni∈R3 ∇1 ∇Q(xi)∥∇Q(xi)∥−ni=0or∇Q(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)=∇vTiq=αini v=[x2y2z22xy2xz2yz2x2y2z1]T N xi ni A′q=0 ⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢vT1vT2⋮vTn∇vT1∇vT2⋮∇vTn00⋮0−n103⋮0300⋮003−n2⋮03⋯⋯⋱⋯⋯⋯⋱⋯00⋮00303⋮−nn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢AB⋮IJα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 , é um∇vTi=∇v(xi)T∈R3×10 03 3×1 vetor de coluna de zeros, é e são as escalas homogêneas desconhecidas.A′ 4N×(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
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
fonte
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.
fonte
Veja também este artigo
e extensão ist
fonte