Segmentação Automática dos Dentes com o MeshSegNet e o OrtogOnBlender¶
ISBN: 978-65-00-29233-6
O presente capítulo tem por objetivo apresentar o sistema de segmentação automática dos dentes, baseado em ferramentas de código aberto.
Atenção
Este material utiliza a seguinte licença Creative Commons: Atribuição 4.0 Internacional (CC BY 4.0).
Introdução¶
O OrtogOnBlender foi desenvolvido originalmente para o estudo de planejamento de cirurgias ortognáticas, mas com o passar do tempo e o acúmulo de conhecimento por parte dos usuários, houve uma série de adaptações da ferramenta para outros fins como a rinoplastia, a reconstrução facial forense, a confecção de próteses faciais, as cirurgias de reconstruções faciais e a ortodontia.
Por contar com uma base de usuários majoritariamente composta por cirurgiões dentistas, uma das demandas mais solicitadas são as de segmentação dos dentes para estudos de setups e afins. É sabido que a atividade de segmentação pode consumir um tempo considerável quando efetuada manualmente, dada a complexidade estrutural de uma arcada. Foi justamente por isso, que estudos acerca de segmentação automática, ao menos parcial foram iniciadas no grupo de usuários e desenvolvedores.
Como quase todas as ferramentas presentes no OrtogOnBlender, a solução em segmentação deveria ser de código aberto e multiplataforma. Depois de muita pesquisa e estudos, descobriu-se a suíte MeshSegNet [A10] [A11] que se adequava a todos os parâmetros pretendidos. O funcionamento dos comandos utiliza inteligência artificial que reconhece cada estrutura de dente presente no modelo 3D, baseado em dezenas de digitalizações tridimensionais que alimentaram o aprendizado do algoritmo.
Os autores estudaram o passo-a-passo disponível na documentação oficial e adequaram as ferramentas para que rodassem no Linux, no Windows e no Mac OS X. Em seguida foi desenvolvida uma interface gráfica disponível na aba OthersOnBlender para facilitar o acesso por parte dos usuários. A adptação da ferramenta a situações tão distintas contou com o auxílio do desenvolvedor (@Tai-Hsien) do MeshSegNet que orientou e ajustou pequenos trechos do código, permitindo que o mesmo se fizesse funcional de modo multiplataforma.
Como Funciona - Conceito¶
O script funciona da seguinte forma, o modelo proveniente de uma digitalização intraoral é importado ao Blender. Uma vez selecionado, seja a arcada superior ou inferior, o modelo é exportado como STL, utilizando uma programação em Python.
Em seguida a malha passar por uma análise em passos no MeshSegNet, onde os dentes são segmentados e o resultado da computação é um arquivo VTK pigmentado com cores diferentes para cada dente segmentado. A estrutura do arquivo VTK é muito ampla e rica em definições e o Blender conta com poucos scripts que lêem esse formato. Nenhum deles importava a malha com pigmentação, de modo que um importador foi desenvolvido e adicionado ao OrtogOnBlender em linguagem Python, para que a arcada segmentada pudesse ser importada novamente ao Blender (Fig. 1).
Como Funciona - Na Prática¶
Aviso
O segmentador dos dentes não funciona na versão 2.80 do Blender. O usuário que desejar testá-lo terá que fazê-lo na versão 2.91.
Inicialmente é necessário importar o modelo (Fig. 2) utilizando o comando File -> Import e selecionando o formado desejado. Parte considerável dos usuários trabalha majoritariamente com os formatos STL e PLY.
A interface do comando é muito simples, basta selecionar a arcada desejada e clicar sobre o botão que indica a estrutura. Neste caso, como se trata da parte superior, basta clicar em Maxilla (Fig. 3).
O processo de segmentação poderá ser acompanhado no terminal com as saídas de comandos (Fig. 4). Se tudo der certo será impressa no terminal uma mensagem com o tempo total do processo em segundos, minutos e algumas informações acerca do computador utilizado, como a memória RAM, o modelo do processador e o sistema operacional.
Pouco tempo depois o processo é finalizado resultando em um modelo pigmentado (Fig. 5).
A segmentação resultante separou as estruturas reconhecidas em Vertex Groups nomeados segundo a ordem de geração, não compatíveis com os números dos dentes (Fig. 6).
Caso o usuário deseje selecionar um grupo específico basta entrar em Edit Mode, clicar sobre o nome do Vertex Group e em seguida clicar em Select (Fig. 7).
Teste de Desempenho¶
Para avaliar o funcionamento da ferramentas em sistemas operacionais diferentes, foram efetuados testes de desempenho. Estes foram rodados em um mesmo notebook contendo três sistemais operacionais diferentes (Windows, Linux e Mac OS X). Uma descrição detalhada da abordagem tomada para o teste no mesmo computador pode ser lida no capítulo Fotogrametria 3D - Desempenho nos Sistemas Operacionais: Windows, Linux e Mac OS X [A22]. Basicamente trata-se de um notebook contendo um processador i7-8565U com 20 GB de RAM.
Duas malhas correspondentes as arcada superior e inferior foram selecionadas. Executaram-se 5 testes em cada uma das malhas e o tempo em segundos foi armazenado em uma planilha, de modo a gerar uma média de tempo em cada sistema operacional.
Arch |
Windows |
Mac OS X |
Linux |
---|---|---|---|
Upper #1 |
54 |
63 |
75 |
Upper #2 |
45 |
51 |
74 |
Upper #3 |
47 |
51 |
74 |
Upper #4 |
44 |
50 |
74 |
Upper #5 |
43 |
51 |
73 |
Lower #1 |
50 |
51 |
77 |
Lower #2 |
43 |
51 |
74 |
Lower #3 |
43 |
51 |
74 |
Lower #4 |
44 |
72 |
74 |
Lower #5 |
40 |
51 |
75 |
Average |
45 |
52 |
74 |
O único sistema que não apresentou grande variação nos tempos foi o Linux. No Windows e no Mac OS X alguns dos valores foram bem diferentes da média, mas isso não influenciou significativamente o resultado final.
O Windows apresentou o melhor desempenho (45 segundos), seguido bem de perto pelo Mac OS X (52 segundos). O Linux foi claramente mais lento dos que os demais (74 segundos) (Fig. 8).
Conclusão¶
A ferramenta de segmentação dos dentes não tem como objetivo separar as estruturas com acurácia total, mas tornar o processo mais simples e rápido para o usuário. É possível que essa solução forneça uma espécie de “pré-segmentação”, resultando em um corte prévio das regiões desejadas e deste modo, oferecendo ao usuário a possibilidade de ajustar as linhas, retirando partes desnecessárias ou complementando com novos cortes.
Os autores buscaram integrar o MeshSegNet ao OrtogOnBlender e fazê-lo funcional nos três sistemas operacionais mais populares do mercado de computadores. A etapa mostrou-se bem sucedida e o próximo é buscar a adequação da ferramenta frente às necessidades dos usuários.