Desenhe o restante de uma coruja com base em redes neurais

A idéia de completar uma coruja a partir de círculos foi realizada com a ajuda de redes neurais.

imagem


Baseado no aprendizado de máquina e em uma rede neural, o desenvolvedor Christopher Hesse criou um serviço online que pode "esboçar" esboços para fotografias coloridas.

O site http://affinelayer.com/pixsrv/index.html Christopher Hesse apresenta uma rede neural que pode acabar com gatos.

O usuário é convidado a desenhar um esboço do gato na janela esquerda, clique em "processo" e veja como a rede neural desenha a ilustração. A página mostra um exemplo tão bonito:

imagem


Aparentemente, quanto mais linhas forem usadas no esboço e quanto mais ele parecer um gato de um conjunto de treinamento, melhor a rede neural criará um desenho completo com base nele.

Aqui está o que o próprio autor escreve:

Recentemente, criei uma porta pix2pix do Tensorflow em Isola et al, discutida no artigo Tradução de imagem em imagem no Tensorflow . Peguei alguns modelos criados anteriormente e criei uma página da web interativa para teste. Um navegador Chrome é recomendado para visualização.
O modelo pix2pix funciona treinando em pares de imagens, como um esboço da fachada do edifício e uma imagem completa das fachadas do edifício e, em seguida, tenta gerar a imagem de saída apropriada para qualquer imagem transmitida de entrada. Esta ideia é originada no artigo pix2pix , recomendado para leitura.

Fachadas
O modelo foi treinado em amostras de esboços de fachadas de edifícios para imagens completas de fachadas. É improvável que esse modelo funcione em esboços com uma grande área vazia, mas se você desenhar um número suficiente de janelas no esboço, geralmente o modelo fornecerá bons resultados. Na figura de desenho, os elementos da fachada são desenhados com retângulos coloridos para indicar não apenas as bordas, mas também os elementos inteiros.

Eu não tinha o nome das várias partes das fachadas dos edifícios, então apenas as designei.

edge2cats
O treinamento ocorreu em aproximadamente 2.000 fotografias de gatos e esboços com bordas geradas automaticamente para essas fotografias. O modelo cria imagens coloridas de gatos a partir de esboços, mas alguns encontram resultados de pesadelo. Um deles eu vi aqui .
Algumas fotos parecem especialmente assustadoras, eu acho, porque os gatos não foram desenhados corretamente, principalmente por trás dos olhos. O procedimento para gerar automaticamente bordas não era de alta qualidade e, em muitos casos, não revelava os olhos de um gato, o que afeta a qualidade do banco de dados de imagens preparado para o treinamento do modelo.

edge2shoes
O treinamento foi realizado com base em aproximadamente 50 mil imagens de calçados coletados na Zappos , bem como com bordas de contorno geradas automaticamente para essas imagens. Se você realmente desenhar bem as bordas dos sapatos, tente criar um novo design. Lembre-se de que o modelo foi treinado em objetos reais; portanto, se você conseguir desenhar um esboço 3D melhor, o resultado será melhor.

edge2handbags
Por analogia com as anteriores, o treinamento foi realizado com base em aproximadamente 137 mil fotografias de sacolas coletadas na Amazônia, com bordas de contorno geradas automaticamente para essas fotografias. Se você desenhar um sapato aqui em vez de uma bolsa, terá uma textura muito estranha.

Implementação
O treinamento e a exportação de modelos foram realizados usando o script pix2pix.py do pix2pix-tensorflow . Uma demonstração interativa é feita com base no JavaScript, usando a API Canvas, que interage com um servidor que transmite imagens do Tensorflow. O servidor pode iniciar o próprio Tensorflow ou encaminhar solicitações aos serviços do Google Tensorflow Cloud Cloud .
Modelos treinados estão disponíveis na seção Conjuntos de dados do GitHub. Os modelos que acompanham a implementação original do pix2pix também devem estar disponíveis. Os modelos podem ser exportados a partir de exemplos treinados usando o script pix2pix.py e os links para modelos exportados estão no arquivo README no servidor GitHub.
As bordas para fotos de gatos foram obtidas usando o algoritmo de detecção de borda aninhada holisticamente e essa funcionalidade foi adicionada ao script process.py e as dependências correspondentes foram adicionadas à imagem do Docker .

Source: https://habr.com/ru/post/pt401835/


All Articles