a fim de mudar a densidade da nuvem de pontos (i.e., mudança de resolução). Foram expostas as possibilidades de armazenamento na NP em (Gomes et al. 2013). Uma delas seria criar uma única nuvem de pontos que uniria todos os pontos sub-amostrados. Já a outra proposta trataria do armazenamento de cada nuvem de pontos que corresponda à cada nível da estrutura foveada sub-amostrada, de forma independente. Se notou também que ambas maneiras propostas poderiam ser aplicadas simultaneamente.
Ao juntar todos os pontos em uma única nuvem ocorrem distorções geométricas, pro- vavelmente imperceptíveis numa inspeção visual, se o algoritmo de downsampling mo- dificar as coordenadas dos pontos. Assim, a solução do problema foi agrupar todos os pontos de um nível que não pertençam a um interno, já que todos os níveis das estruturas são ocos exceto as caixas fóveas. Desta forma, os pontos de um nível não se misturam com pontos de outro, mantendo a restrição referente à Equação 4.3. Para garantir a disjun- ção entre os níveis basta testar se o ponto de um nível k a ser inserido na nuvem foveada não está dentro da caixa de nível posterior k + 1 para (k 6= m) como visto no Algoritmo 1.
4.3
Reconhecimentos de objetos na nuvem de pontos
Para realização das experiências e validação desta proposta integramos a MFNP na tarefa de reconhecimento de objetos 3D, também chamada de surface matching, já que é uma tarefa bastante complexa computacionalmente que combina um conjunto de métodos e passos que estabeleçam a eficácia do reconhecimento. Basicamente, dado um modelo 3D do objeto a ser reconhecido é feita a aplicação do algoritmo de correspondência na cena em NP que destaca objetos pela similaridade das features. Embora o método de foveamento 3D possa ser usado para aplicações além do reconhecimento de objetos 3D, por exemplo: compactação e tracking, dentre outras.
Figura 4.2: Ilustração que corresponde ao esquema original de reconhecimento de objetos sem foveamento. (Adaptação de (Gomes et al. 2013))
Discutiremos a estrutura que o nosso sistema é aplicado o algoritmo de correspon- dence grouping, apresentado em (Tombari & Stefano 2010), onde o esquema é apresen- tado resumidamente na Figura 4.2. Dessa forma, a pesquisa é feita apenas no sentido
38 CAPÍTULO 4. MULTIFOVEAMENTO EM NUVEM DE PONTOS
objeto para cena e não cena para o objeto, permitindo que o sistema encontre várias ins- tâncias do mesmo objeto numa única cena.
Figura 4.3: Ilustração do esquema de reconhecimento usado na NPF, onde o downsam- plingpossibilita uma redução considerável dos pontos na cena. No entanto, ele não con- segue reconhecer todos os objetos se estiverem muito afastados com apenas uma pequena fóvea. (Adaptação de (Gomes et al. 2013))
A construção da aplicação do sistema de reconhecimento de objetos foi baseada na estrutura de local 3D features, que explora traços geométricos locais nos keypoints da NP, a fim de extrair descritores que são utilizados para estabelecer correspondências dos pontos entre keypoints do modelo e da cena, permitindo inferir as possíveis presenças de objetos, posteriormente. Além disso, apresentando propriedades importantes e desejáveis tais como robustez à oclusão e desordem nas cenas, dispensando a necessidade de elaborar estágios de treinamento extensivos e pesados e a capacidade de processar nuvens de ponto adquiridas a partir de sensores RGB-D.
Nossa proposta usa o esquema introduzido no trabalho (Gomes et al. 2013) que é visto na Figura 4.3, sendo ajustado para NPF do modelo publicado por Tombari et al. (Tombari & Stefano 2010), onde o esquema é exibido na Figura 4.2. Basicamente, continuamos com esse esquema do trabalho (Gomes et al. 2013), porque foi demonstrado que é efi- ciente e aplicável no sistema de foveamento e, consequentemente, no multifoveamento em nuvem de pontos, fato que foi comprovado empiricamente durante a elaboração da proposta e execução experimentos, já que tínhamos esse ponto de partida continuamos com boa parte do esquema para o multifoveamento, pois não foi encontrado nenhum pro- blema evidente no esquema de reconhecimento apresentado por Gomes et al. (Gomes et al. 2013).
4.3.1
Extração dos local 3D descriptors
Em primeiro lugar, o algoritmo de correspondence grouping permite realizar uma descrição tanto na cena como no modelo do objeto em NP. Assim, obtém-se a direção
4.3. RECONHECIMENTOS DE OBJETOS NA NUVEM DE PONTOS 39
da normal de cada ponto (local descritor 3D) por estimativa considerando uma variedade linear (superfície) gerada por uma vizinhança de tamanho knao redor de cada ponto. Em
seguida é aplicado um algoritmo uniforme de downsampling para extrair as keypoints como o centroide de todos os pontos contidos dentro de um raio rk. Depois disto, são
computados os descritores 3D SHOT, montando um histograma das normais dentro de uma vizinhança de raio rs como a assinatura de uma keypoint. A estimativa de um LRF
para keypoints do modelo e cena fica como o último passo.
O algoritmo de Petrelli e Di Stefano (Petrelli & Stefano 2011) foi usado para realizar o cálculo da posição dos keypoints. Já que ele faz a estimação de maneira robusta para cada posição dos keypoints dentro de uma vizinhança de raio rl nos eixos principais abran-
gendo um LRF. O resultado deste cálculo gera três vetores unitários para cada direção principal associados a cada keypoint e sendo empregado na fase final do esquema de re- conhecimento dos objetos. Valores diferentes para os parâmetros são definidos na cena e no modelo do objeto, permitindo tarefas de reconhecimento mais precisas. Assim sendo, o processo que extrai os descritores para o modelo do objeto e a cena é mostrado nos Al- goritmos 2 e 3 respectivamente, com seguintes parâmetros knm, rkm, rsm, rlm usados para
o modelo do objeto e kns, rks, rss, rlsusados para cena, respectivamente, os k-vizinhos das
normais, os raios dos keypoints, os raios do descritor SHOT e os raios do LRF.
Algoritmo 2: Etapas de processamento aplicadas ao modelo do objeto em NP. Entrada: modelo do objeto em NP (M)
Saída : keypoints do modelo (Km)
Saída : decritores do modelo (Dm)
Saída : LRFs do modelo (Lm) 1 //Processamento do modelo do objeto; 2 para cada pontos de (M) faça
3 calcula os vetores normais (Nm) dentro de uma vizinhança de tamanho (knm);
4 fim
5 De M são extraídos as keypoints do modelo (Km) pelo downsampled
(sub-amostragem) uniforme com raio (rkm); 6 para cada keypoint de (Km)faça
7 calcula os descritores SHOT (Dm) dentro da vizinhança (rsm) usando as
normais Nm;
8 calcula o conjunto de LRFs (Lm) dentro da vizinhança (rlm);
9 fim
4.3.2
Relação de correspondência de keypoints (Keypoints Matching)
Na relação de correspondência foi usada uma técnica eficiente proposta em (Tombari & Stefano 2010). Assim, para a correspondência existe um respectivo descritor associado a um keypoint e LRF para a determinação ponto-a-ponto entre descritores do modelo e os da cena. No modelo é pesquisado os pontos que correspondem à cena, de maneira que são
40 CAPÍTULO 4. MULTIFOVEAMENTO EM NUVEM DE PONTOS
Algoritmo 3: Etapas de processamento aplicadas à cena em NP. Entrada: cena em NP (S)
Saída : keypoints da cena (Ks)
Saída : decritores da cena (Ds) Saída : LRFs da cena (Ls) 1 //Processamento da cena 2 para cada pontos de (S) faça
3 calcula os vetores normais (Ns) dentro de uma vizinhança de tamanho (kns);
4 fim
5 De S são extraídos as keypoints da cena (Km) pelo downsampled (sub-amostragem)
uniforme com raio (rks);
6 para cada keypoint de (Ks)faça
7 calcula os descritores SHOT (Ds) dentro da vizinhança (rss) usando as normais
(Ns);
8 calcula o conjunto de LRFs (Ls) dentro da vizinhança (rls);
9 fim
buscados os pontos mais semelhantes da cena em relação ao modelo. Essas correspon- dências são localizadas com base nos descritores do modelo mais semelhante em relação à cena a partir da distância Euclidiana no espaço n-dimensional que os descritores SHOT contêm. A estrutura de pesquisa usada foi definida com base em uma kd-tree (Beis & Lowe 1997) para lidar com as pesadas rotinas computacionais envolvida. Assim uma cor- respondência de pontos é estabelecida quando a distância quadrática entre os descritores SHOT é menor que um limiar dmax2 , onde esse processo de relação fica melhor destacado no Algoritmo 4.
4.3.3
Funcionamento do agrupamento por correspondência (corres-
pondence grouping)
No modelo do objeto e da cena cada keypoint tem um LRF associado, então ele pode executar uma transformação completa de corpo rígido que é modelada por rotação e trans- lação. Conforme Tombari e Di Stefano (Tombari & Stefano 2010), pode-se estimar entre LRFs associadas cada correspondência de keypoint, consequentemente, um 3D Hough Spaceé usado para reunir provas da presença do objeto através de um processo de vota- ção. Em seguida, aplica-se a transformação de corpo rígido, de maneira que se calcula a célula do espaço de Hough que contém esta posição 3D e o seu acumulador é incremen- tado. Finalmente, depois que as etapas acima são executadas para cada correspondência, as instâncias dos objetos são encontradas considerando cada célula. A partir do número de votos maior que um limiar arbitrado Vhe o tamanho de cada célula ponderado por um
parâmetro Lh. O Algoritmo 5 ilustra o esquema de reconhecimento de objetos através do
agrupamento por correspondência que usa o 3D Hough Space para encontrar os objetos no espaço 3D.