Alguns resultados da aplicação do método VRN - Guided em imagens do conjunto AFLW2000-3DExistem várias startups na Internet, incluindo as russas, que estão empenhadas em restaurar a estrutura 3D do rosto a partir de fotografias. Por exemplo, o
VisionLabs com seu aplicativo Face.DJ pode executar a reconstrução 3D a partir de uma única fotografia. Essa transformação (modelagem 3D por foto) faz sentido prático. Após a criação do modelo, é possível, por exemplo, alterar o penteado, experimentar óculos, barba, etc. A tecnologia pode ser usada em sistemas de verificação e reconhecimento facial.
Mas agora o negócio dessas startups está em risco: seu trabalho é facilmente realizado pela nova rede neural VRN (Volumetric Regression Network), que foi disponibilizada
publicamente no GitHub . Você pode enviar sua própria foto ou qualquer outra foto diretamente para o site - e a rede neural será convertida on-line em alguns segundos (
demo ).
A reconstrução 3D a partir da fotografia 2D é considerada um dos problemas fundamentais da visão de máquina devido à sua extrema complexidade. A maioria dos sistemas atuais exige várias fotografias da mesma pessoa de diferentes ângulos para funcionar. De acordo com os autores de um novo artigo científico, os modelos existentes como um todo usam um pipeline de processamento de dados complexo e ineficiente para construir um modelo e ajustar o resultado. Como se viu, a rede neural convolucional faz o trabalho com muito mais facilidade e eficiência do que modelos e algoritmos desenvolvidos por humanos.
As ilustrações mostram que a rede neural VRN lida com o processamento de várias expressões faciais em um ângulo arbitrário em relação à lente da câmera - e funciona em uma única fotografia. Objetos estranhos contra o fundo do rosto (óculos, pirulito) não a incomodam.
Os autores desse desenvolvimento, liderados por Aaron Jackson (Aaron Jackson) da Universidade de Nottingham (Reino Unido), adotaram uma abordagem muito simples para a voxelização de imagens. É desprovido de muitas das deficiências inerentes a outros métodos de reconstrução 3D (incluindo o
3D Morphable Model - 3DMM ). Em geral, a essência do novo método VRN é mostrada na ilustração abaixo.
(a) A Rede de Regressão Volumétrica proposta (VRN) aceita uma imagem RGB como entrada e retorna diretamente a saída volumétrica 3D, ignorando completamente o ajuste 3DMM. Cada retângulo é um módulo residual de 256 atributos. (b) A arquitetura guiada por VRN proposta primeiro define uma projeção 2D a partir de pontos de referência em 3D e a combina com a imagem original. Essa pilha é enviada para a rede de reconstrução, que retorna diretamente o volume. (c) A arquitetura VRN proposta - Multitask retorna uma imagem volumosa 3D de um rosto e um conjunto de pontos de referência 3D esparsos.Os autores do estudo provaram que a rede neural convolucional (CNN) é capaz de gerar com sucesso modelos 3D a partir de fotos após o treinamento em um conjunto de dados que contém fotos e seus modelos 3D correspondentes. Nesse caso, o treinamento foi realizado em 60.000 fotografias bidimensionais de indivíduos da base de 300W e suas correspondentes grades 3D obtidas com o 3DMM.
Como se viu, para produzir um resultado satisfatório, a rede neural não precisa usar o modelo 3DMM e realiza com êxito a conversão direta de 2D para 3D.
A competência do modelo é comprovada em um grande número de fotos arbitrárias que os usuários carregam via Internet (
demo ). Aparentemente, o método VRN é superior a qualquer outro sistema de reconstrução 3D em uma única fotografia. Até o momento, a demo já processou mais de 400.000 fotos arbitrárias da Internet.
Uma rede neural também pode ser executada localmente em seu próprio computador. O código do programa é
publicado no GitHub . Para funcionar, você precisa da
estrutura científica de computação
Torch7 instalada, o processador gráfico Nvidia mais ou menos produtivo com suporte para CUDA. O programa foi testado no sistema operacional Linux e o autor não tem idéia de como funciona no Windows. Você também precisará de MATLAB, bash, ImageMagick, GNU awk, Python 2.7 (+ visvis, imageio, numpy).
Um artigo científico que descreve a rede neural foi
publicado em 22 de março de 2017 (arXiv: 1703.07834,
pdf ).