Prova virtual - Amazon Nova

Prova virtual

A prova virtual é um caso de uso de inpainting guiada por imagem, no qual o conteúdo de uma imagem de referência é sobreposto sobre uma imagem de origem com base na orientação de uma imagem de máscara. O Amazon Nova Canvas foi ajustado para trajes, acessórios, móveis e objetos relacionados. O modelo também tem uma boa generalização para outros casos, como a inclusão de um logotipo ou texto em uma imagem.

Você pode gerar até cinco imagens com a API de prova virtual. Por padrão, somente uma imagem é gerada.

Para realizar uma prova virtual, você precisa fornecer três imagens:

  • Imagem de origem: a imagem original que você deseja modificar. Por exemplo, pode ser uma imagem de uma pessoa ou uma cena de uma sala.

  • Imagem de referência: a imagem que contém o item, objeto ou artigo que você deseja sobrepor à imagem de origem. Por exemplo, a imagem pode conter uma jaqueta, uma tigela ou um sofá. Para trajes, a imagem de referência pode conter roupas sobre ou fora de um corpo e pode conter vários produtos que representem componentes distintos do traje (como camisas, calças e sapatos em uma única imagem).

  • Imagem de máscara: a imagem que define qual parte da imagem de origem você deseja modificar. Uma imagem de máscara é uma imagem em preto e branco usada para definir qual parte da imagem de origem deve ser modificada. Pixels pretos indicam a área da imagem de origem a ser modificada, enquanto pixels brancos indicam áreas da imagem a serem preservadas. É possível fornecer sua própria imagem de máscara ou deixar que o modelo crie uma para você com base em outros parâmetros de entrada indicados por você.

    A imagem da máscara pode ser retornada como parte da saída, se especificada.

Veja alguns exemplos de como o modelo funciona.

Upper body clothing

As imagens a seguir mostram um exemplo de como o Amazon Nova sobrepõe uma peça de roupa da parte superior do corpo sobre um modelo.

Imagem de origem

Imagem de referência

Saída

Um homem usando óculos escuros, olhando para a esquerda, vestindo uma camisa azul.
Uma camisa de botões rosa-avermelhada.
Um homem usando óculos escuros, olhando para a esquerda, vestindo uma camisa de botões rosa-avermelhada.
Couch in a room

As imagens a seguir mostram um exemplo de como a Amazon Nova sobrepõe um sofá em uma sala de móveis.

Imagem de origem

Imagem de referência

Saída

Um sofá cinza moderno da metade do século passado em uma sala cercado por outras decorações.
Um sofá laranja contra um fundo branco.
Um sofá laranja em uma sala cercado por outras decorações.

Diferentemente de outros tipos de tarefas do Amazon Nova Canvas, a prova virtual não é compatível com um prompt de texto ou um prompt de texto negativo.

Definindo a imagem de máscara

Você pode fornecer diretamente uma imagem de máscara especificando maskType: "IMAGE" ou permitir que o modelo calcule a imagem automaticamente usando entradas auxiliares, como maskType: "GARMENT" ou maskType: "PROMPT".

Quando houver a especificação de um tipo de máscara "GARMENT", o Amazon Nova Canvas criará uma máscara que reconhece trajes com base em um valor de parâmetro de entrada garmentClass que você especifica. Na maioria dos casos, você pode usar uma das seguintes classes de traje de alto nível:

  • "UPPER_BODY": cria uma máscara que inclui o comprimento total do braço.

  • "LOWER_BODY": cria uma máscara que inclui o comprimento total da perna sem espaço entre as pernas.

  • "FOOTWEAR": cria uma máscara que se ajusta ao perfil do sapato demonstrado na imagem de origem.

  • "FULL_BODY": cria uma máscara equivalente à combinação de "UPPER_BODY" e "LOWER_BODY".

Você pode usar o tipo de máscara "PROMPT" para descrever em linguagem natural o item na imagem de origem que deseja substituir. Isso é útil para cenários que não envolvam trajes. Esse recurso utiliza a mesma funcionalidade de mascaramento automático que existe no tipo de tarefa "INPAINTING" por meio do parâmetro maskPrompt.

Atenção

As máscaras criadas com o tipo de máscara "PROMPT" terão adesão firme ao formato do item que você descreve. Isso pode ser problemático em muitos cenários, pois talvez o produto que você está adicionando não tenha a mesma silhueta ou tamanho do item que você está substituindo. Por esse motivo, a API de prova virtual também fornece um parâmetro opcional maskShape que pode ser definido como "BOUNDING_BOX". Recomendamos usar essa configuração (que é a padrão) na maioria dos casos ao usar o tipo de máscara "PROMPT".

Gerar novas poses, mãos ou rostos

Você pode instruir o modelo a manter ou refazer a geração da pose, das mãos ou do rosto da pessoa na imagem de origem. Quando você opta por manter esses elementos, eles são automaticamente removidos da imagem da máscara, independentemente de qual maskType você tenha escolhido.

Talvez você queira preservar a pose, as mãos ou o rosto nas seguintes situações:

  • Você está desenvolvendo uma aplicação que permite que os usuários finais desenhem suas próprias máscaras. A preservação desses recursos evita que os usuários finais incluam acidentalmente as mãos ou o rosto na máscara.

  • Você está usando maskShape: BOUNDING_BOX, mas não quer gerar novas mãos ou rosto. Com preserveFace: ON ou preserveHands: ON, esses recursos são removidos automaticamente da máscara.

  • Você está usando maskType:GARMENT e maskShape: BOUNDING_BOX com um modelo que não está em uma postura ereta. Nesse caso, a máscara da caixa delimitadora pode se sobrepor ao rosto e recomendamos usar preserveFace: ON.

Por outro lado, talvez você queira refazer a geração da pose, das mãos ou do rosto nas seguintes situações:

  • Para trajes que cobrem o pescoço, preserveFace: ON pode excluir um pedaço suficiente do pescoço para ter um impacto negativo na saída.

  • Quando a modelo estiver usando sapatos de salto alto e a imagem de referência for de sapatos de salto baixo, ou vice-versa. Nesse caso, preservar a postura corporal criará resultados com aparência não natural.

  • Semelhante ao ponto anterior, ao provar bolsas ou outros acessórios, a geração de novas poses ou mãos pode gerar resultados com aparência mais natural.

Dicas de estilo

O parâmetro garmentStyling permite preservar ou alterar dicas específicas de estilo de traje que você poderia encontrar em uma sessão de fotos. Por exemplo, o Amazon Nova Canvas pode modificar o estilo de uma camisa para que suas mangas fiquem dobradas para cima ou para baixo ou pode modificar a camisa para que fique dentro ou fora da calça. As seguintes opções estão disponíveis:

  • "longSleeveStyle": controla se as mangas de uma camisa de manga comprida estão dobradas para cima ou para baixo.

    • "SLEEVE_DOWN": pode ser aplicado quando a imagem de origem estiver usando uma camisa de manga comprida (mangas para cima ou para baixo), camisa de manga curta ou camisa sem manga.

    • "SLEEVE_UP": pode ser aplicado quando a imagem de origem estiver usando uma camisa de manga comprida com as mangas para cima, camisa de manga curta ou camisa sem manga.

  • "tuckingStyle": controla se um traje da parte superior do corpo aparece por dentro ou por fora da calça.

    • "UNTUCKED": pode ser aplicado independentemente de a imagem de origem ter a camisa dentro ou fora da calça.

    • "TUCKED": pode ser aplicado quando a imagem de origem estiver com a camisa dentro da calça.

  • "outerLayerStyle": controla se um traje da parte superior do corpo é estilizada como aberta ou fechada. O padrão é "CLOSED", que é apropriado para a maioria das roupas (como camisas e suéteres). Para trajes externas, como jaquetas, definir esse valor para "OPEN" garante que o traje original da parte superior do corpo da imagem de origem seja mantido com o novo traje externo sobreposto sobre ele. Usar um valor de "CLOSED" com um traje externo nem sempre faz com que o traje fique fechado. Isso ocorre porque um valor de "CLOSED" garante apenas que todos os trajes da parte superior do corpo na imagem de origem serão substituídas e, ocasionalmente, pode resultar em uma camada externa aberta com uma nova camada inferior visível abaixo.

    • "CLOSED"

    • "OPEN"

Para obter mais informações, consulte os parâmetros garmentStyling em Estrutura de solicitação e resposta para geração de imagens.

Costura de imagens

A prova virtual permite que você determine como as imagens são costuradas para criar a imagem final. Você pode escolher entre "BALANCED", "SEAMLESS" e "DETAILED". Cada estilo de mesclagem adota uma abordagem diferente na forma de costurar os elementos para criar a imagem final, cada um com seus benefícios e desvantagens.

  • "BALANCED": protege todos os pixels não mascarados na imagem original, garantindo que eles permaneçam 100% precisos em relação à imagem original. Em alguns casos, haverá uma leve incompatibilidade perceptível de cor ou textura na imagem de saída que se apresenta como uma espécie de imagem “fantasma” do formato da máscara. É mais provável que isso ocorra quando a imagem mostrar uma pessoa em pé contra um fundo de cor sólida ou com textura uniforme. Para evitar isso, você poderá usar o estilo de mesclagem "SEAMLESS" como alternativa.

  • "SEAMLESS": garante que nunca haja uma costura perceptível entre as áreas das imagens mascaradas e não mascaradas na imagem final. A desvantagem é que todos os pixels na imagem mudam um pouco e, ocasionalmente, os detalhes refinados são reduzidos nas áreas não mascaradas da imagem.

  • "DETAILED": pode melhorar muito detalhes refinados, como logotipos e texto, especialmente quando a área mascarada for relativamente pequena em comparação com a imagem geral. O modelo consegue isso realizando inpainting em uma versão bem recortada e de alta resolução da imagem original, que inclui apenas a área mascarada. Em seguida, ele mescla o resultado de volta com a imagem original. Assim como no uso do modo "BALANCED", ocasionalmente esse modo pode resultar em uma costura visível.