1 pontos por GN⁺ 2024-05-18 | 1 comentários | Compartilhar no WhatsApp
  • Toon3D é um método que reconstrói poses de câmera e estrutura 3D densa a partir de imagens de quadrinhos e animações que retratam a mesma cena, sintetizando vistas de ângulos que nunca foram realmente desenhados
  • Cenas desenhadas à mão carecem de consistência 3D explícita, então métodos SfM tradicionais tendem a falhar; o Toon3D ajusta simultaneamente câmera e geometria da cena enquanto deforma as imagens
  • O pipeline combina previsão de profundidade com Marigold, candidatos a máscaras transitórias com SAM e rotulagem manual de pessoas no Toon3D Labeler para incorporar correspondências e regiões transitórias no alinhamento
  • A nuvem de pontos densa reconstruída é usada para inicializar Gaussian Splatting, e a otimização baseada em Nerfstudio com regularização de profundidade gera renders fly-through de cenas de quadrinhos
  • O foco está em obter poses de câmera e geometria de cena mais estáveis do que COLMAP, Bundle Adjustment e DUSt3R, com aplicação também a casos de reconstrução de quartos do Airbnb e pinturas

Por que SfM é difícil em cenas desenhadas à mão

  • Humanos conseguem reconhecer a cena 3D subjacente mesmo em imagens que não são totalmente consistentes em 3D, mas máquinas têm dificuldade nas mesmas condições
  • Imagens de quadrinhos e animações muitas vezes são desenhadas sem consistência geométrica explícita, em favor de narrativa e expressão criativa
  • Métodos tradicionais de Structure-from-Motion (SfM) assumem consistência 3D, por isso falham fortemente nesse tipo de imagem desenhada à mão
  • O COLMAP não consegue reconstruir imagens desenhadas à mão não geométricas mesmo com correspondências perfeitas, e Bundle Adjustment e DUSt3R também apresentam desempenho muito ruim

Um alinhamento que absorve inconsistências

  • O Toon3D reconstrói simultaneamente poses de câmera e geometria da cena enquanto deforma imagens geometricamente inconsistentes
  • A ideia central é absorver a inconsistência geométrica entre imagens por meio de deformações, ajustando a cena a uma estrutura 3D mais consistente
  • As informações estruturais obtidas na previsão de profundidade monocular orientam esse processo de alinhamento
  • Com base em pontos-chave rotulados manualmente, o método executa uma otimização de deformação piecewise-rigid para reconstruir poses de câmera e geometria densa

Pipeline de processamento

  • A profundidade de cada imagem é prevista com Marigold
  • Candidatos a máscaras transitórias são obtidos com SAM
  • O usuário rotula correspondências entre imagens e marca regiões transitórias com o Toon3D Labeler
  • Na etapa de otimização, as poses de câmera são ajustadas e as imagens são warpadas para obter câmeras em perspectiva corrigidas
  • Por fim, Gaussians são inicializados a partir da nuvem de pontos densa alinhada e o refinement é executado

Otimização simultânea de câmera e deformação

  • Os dois principais objetivos do Toon3D são camera alignment e deformation alignment
  • O objetivo de camera alignment recupera os parâmetros da câmera
  • O objetivo de deformation alignment warpa a malha para obter um alinhamento mais preciso
  • Na otimização real, os dois objetivos são ajustados simultaneamente
  • A visualização do método inclui várias camadas, como câmeras, sparse correspondences, malhas de warping, nuvens de pontos e gaussians

Síntese de novas vistas e renders fly-through

  • O Toon3D primeiro reconstrói as poses de câmera e a nuvem de pontos alinhada
  • Depois, inicializa Gaussians a partir da nuvem de pontos densa e otimiza Gaussian Splatting com as câmeras reconstruídas
  • A implementação é baseada em Nerfstudio e inclui regularização de profundidade
  • O resultado pode ser visto em renders fly-through de cenas de quadrinhos
  • As cenas de exemplo incluem Bob's Burgers, Family Guy, SpongeBob SquarePants, Rick and Morty, Simpsons, Spirited Away, Futurama, Avatar, BoJack Horseman, Magic School Bus e Scooby-Doo

Toon3D Dataset e ferramenta de rotulagem

  • O Toon3D Dataset é composto por imagens multiview de quadrinhos e animações
  • O dataset inclui anotações confiáveis de sparse correspondences
  • O trabalho de anotação usa a ferramenta amigável Toon3D annotation tool
  • As nuvens de pontos reconstruídas são conectadas a métodos de novel-view synthesis, permitindo ver quadrinhos de ângulos que nunca foram desenhados
  • A página visualiza nuvens de pontos e câmeras reconstruídas de 12 cenas de quadrinhos

Reconstrução do interior da casa de Rick and Morty

  • O interior da casa de Rick and Morty é reconstruído conectando os cômodos por meio da rotulagem entre paredes e teto
  • O primeiro vídeo mostra a nuvem de pontos, as câmeras e uma interface personalizada de rotulagem
  • No segundo vídeo, é possível ver um walkthrough do interior da casa com um slider
  • A imagem da câmera mais próxima é exibida no canto inferior direito da tela

Casos com sparse-view e outros tipos de entrada

  • O Toon3D também consegue reconstruir cenas com poucas imagens e grandes mudanças de ponto de vista
  • Em situações em que o COLMAP pode falhar, é possível adicionar correspondências rotuladas manualmente com o Toon3D Labeler
  • São apresentados renders fly-through para dois cômodos de um anúncio do Airbnb, “Living room” e “Bedroom 2”
  • O COLMAP não conseguiu reconstruir todas as câmeras, mas os rótulos podem fazê-lo funcionar
  • O Toon3D produz os melhores resultados em termos de completude da cena

Visualização de warping e reconstrução de pinturas

  • Como os quadrinhos são desenhados à mão, é necessário warpar as imagens para obter consistência 3D
  • Um vídeo mostra o progresso do warping durante a otimização de alinhamento
  • Também há uma visualização que compara o desenho original, o desenho warpado e o overlap entre as duas imagens
  • Áreas borradas indicam regiões onde houve muito warping
  • O Toon3D também se aplica a pinturas desenhadas à mão: após prever a profundidade de cada imagem, alinha e warpa a nuvem de pontos e gera vídeo com Gaussian refinement

Materiais públicos

  • arXiv: artigo do Toon3D
  • Code: código de implementação
  • Toon3D Labeler: ferramenta para rotular correspondências e regiões transitórias
  • Demo: demo no Hugging Face
  • Overview Video: vídeo com a configuração do problema e visão geral do método

1 comentários

 
GN⁺ 2024-05-18
Opiniões no Hacker News
  • É interessante terem usado o prédio da Planet Express, de Futurama, como exemplo de inconsistência 3D.
    Acho que o exterior, na prática, está mais para algo gerado por computador a partir de um modelo 3D. Vendo a série, aparecem com frequência planos de estabelecimento que orbitam o prédio de forma suave e complexa.

    • Concordo. A maior parte, ou talvez a totalidade, do prédio da Planet Express e da nave já era renderização 3D desde as primeiras temporadas, e algumas cenas do Bender no espaço também usavam renderização 3D quando era necessária uma mudança de perspectiva complexa e contínua.
      Arte 3D que não parece foto (NPR) é usada em animação há mais tempo do que muita gente imagina. Revi recentemente a animação da Disney de 1988, "Oliver and Company", e fiquei surpreso ao ver carros e prédios como modelos 3D com "cel shading". No começo achei que fosse coisa da remasterização, mas, pesquisando, vi que foi o primeiro filme da Disney a usar CGI em grande escala[0], e o que eu vi já estava no original.
      A página que encontrei diz: "This was the first Disney movie to make heavy use of computer animation. CGI effects were used for making the skyscrapers, the cars, trains, Fagin's scooter-cart and the climactic Subway chase. It was also the first Disney film to have a department created specifically for computer animation."
      Referências
      0: https://disney.fandom.com/wiki/Oliver_%26_Company
    • Tenho a impressão de que o 3D em séries e jogos muitas vezes usa truques para parecer bom ao espectador.
      Lembro de ter visto um texto sobre o que animadores 3D fazem para que tudo pareça natural. Coisas como transformar um personagem em alguém de 9 pés de altura porque, nas escalas reais do sistema, ele pareceria pequeno demais quando a câmera passa; fazer portas em arco gigantescas, mas que parecem normais em um plano de perspectiva específico; ou colocar um personagem pequeno sobre uma caixa azul fora da tela para que a diferença de altura extrema não pareça estranha. Também há casos em que, na realidade, seria um corredor de 1.000 pés, mas, pelo modo como a câmera passa, ele parece ter 100 pés dentro daquele mundo, e cada porta nesse corredor tem 18 pés de altura.
      Se uma obra como Futurama também usou esse tipo de técnica, ao fazer engenharia reversa para reconstruir o espaço 3D em que os animadores trabalharam você poderia acabar vendo portas gigantescas, pessoas de 9 pés e corredores não euclidianos. O fato de parecer suave quando a câmera passa não significa que o modelo 3D real faça sentido de outros pontos de vista.
    • Hoje em dia, mesmo animações que não parecem animação 3D muitas vezes têm modelos 3D em algum ponto do pipeline de produção.
      Mesmo quando não há um modelo 3D digital, às vezes o estúdio mantém maquetes físicas dos locais principais para servir de referência aos animadores.
    • Exato. Futurama usava elementos 3D compostos desde o primeiro episódio, em 1999, e os veículos quase sempre eram 3D.
    • O exterior provavelmente não foi gerado a partir de um único modelo 3D, e sim de vários modelos 3D que representam o mesmo objeto.
      Eles podem ter mudado ao longo do tempo ou variado de cena para cena; dá para pensar nisso como nos modelos da Enterprise em Star Trek.
  • É legal, mas não consigo imaginar muito bem quais seriam as aplicações práticas.
    Desenhos 2D normalmente não têm um espaço 3D consistente, e o artigo reconhece isso, mas não parece ter superado esse problema de um modo útil. No momento em que você sai da posição de câmera originalmente desenhada, a consistência da cena fica bem fraca.

    • Futurama e Family Guy, por exemplo, usam renderização 3D em veículos, renderizam para parecer desenho animado e depois compõem isso com animação 2D plana.
      Trabalhos parecidos poderiam ser uma aplicação.
      Outro uso possível seria em estúdios de desenvolvimento de jogos que fazem games 3D licenciados a partir de desenhos 2D. Serviria como ferramenta de visualização durante o planejamento e o desenvolvimento, para iterar rapidamente e ter uma referência de como o 2D original seria traduzido para 3D.
    • SpongeBob viola explicitamente as regras do espaço 3D. Para começar, é uma obra em que existe fogo debaixo d'água.
      Tanto os roteiristas quanto os artistas foram muito inspirados por Looney Tunes, onde quebrar esse tipo de regra é feito justamente porque é engraçado.
    • Uma versão mais refinada poderia servir para transformar desenhos animados em vídeo estereoscópico.
      Mas talvez seja melhor usar apenas estimativa de profundidade e preencher os espaços vazios com geração de imagem, em vez de fazer esse processo de mapeamento.
    • Vejo isso mais como um dispositivo para demonstrar e desenvolver a tecnologia.
      Como esses ambientes não exigem um grande esforço de modelagem 3D, tenho minhas dúvidas de que haja aplicações práticas nesse contexto.
    • Se evoluir mais, acho que no futuro poderia gerar videogames de várias séries.
      Mesmo tosco, parece capturar melhor a arte original do que algumas implementações de jogos baseados em desenhos animados.
  • A ideia de criar um espaço 3D a partir de imagens originais inconsistentes é realmente interessante
    Alguns anos atrás, tentei fazer algo parecido de um jeito tosco e ruim, não só com espaços inconsistentes sem uma resposta claramente correta, mas também com imagens puramente abstratas e não espaciais, que nem tentavam representar um espaço 3D. Era uma tentativa de transformar pinturas abstratas, como as de Kandinsky ou Pollock, em espaços de realidade virtual exploráveis. Naturalmente, não existe uma resposta certa para o que significa “andar dentro de um quadro de Pollock”; o objetivo era simplesmente forçar a ideia e ver o que acontecia
    O fluxo de trabalho era assim: 1. começar com uma única imagem original de pintura abstrata 2. gerar outros “pontos de vista” da “cena” com SinGan 3. aplicar 3d-photo-inpainting ou projetos do tipo Ken Burns à imagem original e às imagens do SinGan, gerando vídeos de zoom/rotação/panorâmica com mapeamento de profundidade monocular 4. colocar os frames do 3d-photo-inpainting em um app de fotogrametria. NeRF ainda não existia, e eu aumentava todas as configurações para tolerar ao máximo erros e inconsistências 5. rezar para que o processo de fotogrametria não explodisse. Em 9 de cada 10 vezes, ele travava depois de 24 horas, o que era cruel
    Devo ter postado exemplos no Twitter, mas não consigo encontrar os termos de busca. Ainda assim, mesmo só com mapeamento de profundidade no nível de 2019, saíram vídeos bem interessantes a partir de pinturas abstratas: https://x.com/jonathanfly/status/1174033265524690949 O mais próximo é um resultado de fotogrametria de um vídeo do NVIDIA GauGAN sem consistência entre frames: https://x.com/jonathanfly/status/1258127899401609217
    Fico curioso para saber se este projeto conseguiria fazer a mesma ideia melhor. Talvez eu tente neste fim de semana

    • Que técnicas ou bibliotecas existem para receber uma imagem de ambiente 3D ou desenho de uma sala e detectar uma malha aproximada que destaque piso, paredes e obstáculos?
  • Depois de comprar um Quest 2 tempos atrás, mergulhei no mundo da fotogrametria e examinei todo o pipeline para criar modelos 3D a partir de fotos de objetos tiradas de ângulos diferentes
    Usei o MeshRoom e alguns softwares para limpar a malha e levá-la para o Unity
    Pelo meu entendimento superficial, ao levar algo para VR no Unity de modo que você possa andar ao redor do objeto, o ponto central é criar uma malha limpa. Os modelos 3D que ferramentas como as deste artigo geram, embora eu ainda não tenha analisado a fundo, parecem mais uma nuvem de pontos no espaço 3D. Elas não geram uma malha 3D
    Entre as ferramentas que vi durante a pesquisa estava algo como https://developer.nvidia.com/blog/getting-started-with-nvidi..., mas isso também não cria uma malha. Vejo mais como algo próximo de um vídeo, não como algo em que seja possível simplesmente caminhar em VR
    A motivação discreta era replicar algo como o Matterport, ou transformar isso em modelo e vender para imobiliárias. A parte em que havia uma grande lacuna no meu entendimento, e que me fez perder o interesse, foi não ter certeza de como automatizar a etapa de gerar uma malha limpa a partir de várias fotos de câmera. Para mim, essa parecia ser a parte mais intensiva em trabalho. Mais tarde ouvi dizer que existem modelos de aprendizado de máquina capazes de fazer essa etapa, mas não conheço bem essa área

    • Talvez seja melhor usar Unreal + Nanite + PCVR
      O Nanite consegue lidar com malhas muito complexas e simplificá-las algorítmica e em tempo real. Basicamente, é um sistema avançado de LOD. Não sei quais são os limites, mas vale tentar. Para fotogrametria, recomendo fortemente o Reality Capture. O preço é muito baixo e você paga por escaneamento
    • NeRF já é uma tecnologia meio do ano passado, e hoje o interesse superaquecido está nos Gaussian splats
      Pelo que entendi, essas tecnologias recebem algumas imagens como entrada e treinam um modelo, e esse modelo, em certo sentido, aprende a melhor maneira de renderizar imagens como um modelo da cena. Gaussian splats representam a imagem como uma espécie de “aglomerados” no espaço, e cada imagem precisa ser renderizada a partir de um ponto de vista específico usando o mesmo conjunto de aglomerados. Então, ao posicionar os splats de modo que cada imagem seja renderizada corretamente, é possível reproduzir a cena
      Atualmente, esse treinamento é muito caro e precisa ser refeito para cada modelo, mas o resultado pode ser explorado em tempo real
      A abordagem de fotogrametria usada por Matterport e afins é mais antiga e exige dados de entrada de qualidade muito mais alta, mas acredito que as abordagens mais recentes conseguem funcionar com menos dados e com dados de qualidade inferior
    • https://www.reddit.com/r/sdforall/comments/13lenfm/free_seam...
      https://github.com/3DTopia/OpenLRM
      Dizem que foi inspirado em NeRF, mas o artigo de base parece ter decidido usar vision transformers. A versão open source parece usar o DINO da Meta como um dos componentes principais
    • Algo como o shrink wrap do Rhino?
  • É bem impressionante que seja possível pegar uma cena que alguém imaginou e desenhou e criar, ainda que ruim, um modelo 3D
    Dá para imaginar um futuro em que um artista desenhe apenas alguns esboços de uma cena e obtenha um modelo 3D preciso
    Ou em que um artista 2D esboce só algumas poses e automaticamente surjam um modelo 3D bem estruturado e texturas
    No setor, há muita preocupação com o impacto que ferramentas semelhantes a IA terão sobre os artistas, mas também parece possível imaginar um futuro em que sistemas de aprendizado de máquina colaborem de forma mais direta com artistas do que renderizações baseadas em prompts de linguagem
    Não tenho sentimentos claros sobre o debate moral do treinamento de IA. O que me preocupa mais não é tanto como os modelos foram treinados, mas que impacto terão sobre as pessoas. Mesmo que um modelo treinado de forma totalmente “ética” crie arte perfeita e os artistas se tornem uma profissão de nicho, isso ainda pode ser um resultado ruim para a civilização como um todo, porque vejo valor no fato de humanos criarem arte e também em uma sociedade em que esse trabalho seja, em alguma medida, sustentável
    Por outro lado, os resultados que as pessoas conseguem produzir com modelos de imagem também são surpreendentes, então não tenho certeza. O ideal seria conseguirmos apoiar as pessoas para que façam o que desejam mesmo sem haver mercado, mas o mundo ainda não está pronto para isso

  • Não sou artista gráfico, mas sinto que o trabalho de ilustradores envolve muitas técnicas de expressão criativa para transmitir significados complexos
    No entanto, a reconstrução bagunçada do espaço 3D mostrada no vídeo me lembra a recente febre em torno dos grandes modelos de linguagem
    Ou seja, a expressão tem uma ligação clara com a “verdade” ou os “fatos” dos dados de base, mas não é precisa a ponto de ser considerada útil como material-fonte para trabalhos posteriores

    • Já falei algo parecido antes, mas estou curioso para ver se LLMs conseguiriam escrever novos episódios com a mesma pegada de episódios existentes
      Seria muito divertido ver “novos” episódios de desenhos antigos. Claro, a confusão de direitos autorais que viria depois é outra história
  • Fiquei surpreso com o quanto ele reproduz mal a aparência vista do ponto de vista de uma imagem específica
    Por exemplo, olhando para o Magic School Bus mais abaixo, parece que daria para ajustar o algoritmo na direção de confiar mais na imagem

    • Uma grande parte da arte está em distinguir o que está certo na realidade do que parece certo
      Mesmo na animação 3D e no cinema, que são as áreas em que trabalho principalmente, fundos ou objetos borrados em primeiro plano muitas vezes são distorcidos e posicionados de forma estranha para parecerem certos, ainda que não façam sentido se mapeados para uma composição do mundo real. A arte 2D é ainda menos presa à representação do mundo real do que isso
      Ao ver aplicações como essa, fica evidente o quanto nosso cérebro é incrível por construir conceitos a partir de representações relativamente abstratas, e o quanto é impressionante a capacidade dos artistas de trabalhar nessa área menos definida. Uma cena pode passar ao público a sensação de ter uma perspectiva consistente, mas o sofá e a mesinha ao fundo podem ter sido desenhados como se fossem filmados com uma lente de 120 mm, enquanto o primeiro plano pode ter sido desenhado propositalmente de forma claustrofóbica, como uma lente de 30 mm. Isso pode parecer aceitável porque não precisamos inferir um espaço 3D realista onde os personagens existem; basta entendermos que eles estão em um espaço assim. Sabemos como é estar em um espaço e como as pessoas interagem com ele
      Boa arte oferece apenas o suficiente para transmitir a ideia central, coloca isso como foco da mensagem e deixa o cérebro criar conexões inconscientemente e acrescentar contexto para formar uma “experiência” completa. Tudo — o tipo de sofá e de mesinha, a escala frequentemente distorcida ou exagerada e até as relações entre objetos — pode ser uma camada de comunicação voltada a um efeito artístico pretendido, e muitas vezes não tem uma representação consistente no mundo real. Também é certo que, em qualquer tomada, objetos são movidos para ajudar a composição ou enfatizar uma interação. Se você percebe, é um problema de continuidade; se não percebe, foi bem feito. Na esmagadora maioria dos casos ninguém percebe, e apenas sente que viu um mundo cuja composição é convincente de todos os ângulos
      Um algoritmo que olha para linhas e precisa encontrar no mundo real um cenário correspondente àquela representação pode estar tentando criar algo que, para começo de conversa, talvez não possa existir de nenhuma forma consistente
  • Não sei por que, em um site cheio de vídeos, deixam todos com reprodução automática e repetição infinita ativadas
    Eu estava vendo um vídeo na segunda tela, e toda vez que abro o site ele engasga

    • Será um problema do Chrome? No Firefox no Windows, os vídeos não são reproduzidos automaticamente
    • Então talvez tenha sido por isso que meu celular travou ao carregar no Firefox do iPhone
      Só voltou depois de reiniciar a energia
  • Se mostrassem o exemplo de Spirited Away ao Miyazaki, ele provavelmente chamaria de um insulto à própria vida

  • É surpreendente que pareça que não conversaram com um animador 3D antes de escrever este texto. A frase abaixo está simplesmente errada

    The hand-drawn images are usually faithful representations of the world, but only in a qualitative sense, since it is difficult for humans to draw multiple perspectives of an object or scene 3D consistently. Nevertheless, people can easily perceive 3D scenes from inconsistent inputs!
    É verdade que é difícil para artistas humanos manter uma consistência geométrica perfeita. Mas não é por isso que cenas 3D em animação 2D são geometricamente inconsistentes. O motivo é que os artistas estilizam e enfatizam a cena 3D com uma intenção artística específica. Isso vale especialmente para obras surrealistas como SpongeBob, e até King of the Hill tem estilizações como “perspectiva da sala” e “perspectiva da cozinha”. O artista não está tentando fazer parecer realista, mas sim fazer ficar bom visualmente. E também não está tentando fazer o ser humano reconstruir uma imagem 3D perfeita, e sim evocar nossa imaginação 3D. É uma coisa completamente diferente
    A Pixar e outros estúdios de animação 3D de alta qualidade distorcem deliberadamente a geometria real das cenas para obter efeito cinematográfico. Uma criança vista da perspectiva de um adulto pode ser renderizada com um pescoço estranhamente longo e um tronco curto e atarracado, porque o animador exagera de propósito o encurtamento visual para enfatizar o efeito emocional de uma criança pequena. Perspectiva realista é simplesmente entediante. Essas técnicas aparecem por todos os filmes da Pixar, e por isso ficam muito melhores do que o resultado de estúdios baratos que apenas movem uma câmera virtual em um espaço 3D euclidiano
    Não quero entrar nos detalhes técnicos, mas parece que os autores perderam o ponto artístico essencial

    • Como alguém que trabalha nessa área, nunca estive tão perto de levar a mão ao rosto
      Não há problema com o projeto em si. Pesquisa é pesquisa, e eles nem estão apresentando isso como um “problema resolvido”. Mas, entre certos tipos de pessoas da área de tecnologia, ferramentas de imagem por IA provocam uma arrogância totalmente infundada do tipo resolvemos a arte. O resultado é que fazem suposições infundadas sobre princípios artísticos básicos de forma arrogante e, às vezes, até autoritária
      Trabalho há muito tempo com software, e a arrogância do desenvolvimento de software não é nenhuma novidade para mim — e sei que às vezes ela pode até ser útil —, mas acho que raramente vi, dentro do mundo do software, um excesso de confiança coletivo tão intenso em torno de um único assunto
    • É especialmente engraçado quando se pensa que a mesma coisa acontece até com câmeras de TV reais
      Como exemplo simples, muitos cenários de sitcoms que parecem salas quadradas na verdade são trapezoidais, com paredes se encontrando em ângulos obtusos. Quase ninguém percebe isso
    • Mesmo deixando de lado a estilização por razões artísticas específicas, trabalhos nesse contexto sempre acabam sendo distorcidos por causa das necessidades simples da câmera, ou da “câmera”
      Isso era ainda mais verdadeiro em obras anteriores ao HD. Para aproximar a perspectiva o bastante para que expressões faciais e gestos fossem legíveis, pessoas ou personagens precisavam caber de forma bem apertada na tela. Mesmo se você vasculhar as séries mais “realistas” e sóbrias daquela época, acabará encontrando momentos em que móveis, ou até paredes, foram discretamente deslocados para fazer um determinado plano funcionar