• Nenhum resultado encontrado

5.2 ARQUITETURA CONVOLUTIONAL ENCODER DECODER NETWORK

5.2.3 CEDN × PASCAL Context Encoder Com Pesos Aleatórios e Otimizados

O terceiro e último experimento com a arquitetura CEDN sobre a base PASCAL Context é caracterizado pelo uso da RNC inicializada de maneira aleatória e com todas as partes parti- cipando do processo de otimização dos pesos. Para esse experimento a quantidade de épocas é dobrada para que seja melhor analisado o decorrer do processo de treinamento, uma vez que a inicialização dos pesos é aleatória. Dado as 60 épocas e a quantidade de imagens utilizadas no treinamento (7.605), tem-se um total de 456.300 iterações (60 × 7.605 = 456.300). Para inicialização aleatória dos pesos na parte encoder da RNC, foi utilizado o método de GLOROT; BENGIO (2010), o mesmo utilizado pelos autores para inicialização da parte decoder da RNC. Esse formato de experimento se assemelha ao realizado com a arquitetura HED na Seção 5.1.3. Com essa semelhança e com os resultados expressos com a HED, a expectativa para esse experimento é que os resultados dos modelos de cor sejam semelhantes, sem determinação exata de um modelo se sobressaindo. Dessa forma, a Figura 5.8 apresenta a evolução do processo de treinamento para as medidas ODS (a), OIS (b) e AP (c) a cada 5 épocas (pontos sobre as curvas).

Os resultados expostos na Figura 5.8 correspondem à expectativa de semelhança no decorrer de todo o processo de treinamento com os modelos RGB, LAB, LUV e YO1O2. Os modelos dRdGdB e HSV configuram os piores resultados. É importante ressaltar que, mais uma vez, o modelo HSV teve o maior fator de crescimento, chegando na época 35 a se aproximar dos demais modelos de cor e obtendo seu melhor resultado. Outro ponto importante é que, mais uma vez, houve a ocorrência, especificamente na época 20, de um valor da medida OIS ser inferior ao valor correspondente da medida ODS para o modelo de cor dRdGdB. Maiores detalhes, referente aos valores das medidas para o modelo RGB e a diferença em relação aos demais modelos, são exibidos na Tabela 5.9.

A Tabela 5.9 apresenta o valor das medidas ODS, OIS e AP para os resultados do modelo RGB (terceira coluna). Como se espera para esse experimento, existem diferenças positivas e negativas em relação aos resultados do modelo RGB, mas com valores que não configuram um modelo como melhor escolha, dado os limiares referenciais discutidos na Seção 5.1.2. Para os modelos HSV e dRdGdB, os resultados se mostram inferiores ao comparar o módulo das

5.2. ARQUITETURA CONVOLUTIONAL ENCODER DECODER NETWORK - CEDN 86 Épocas 5 10 15 20 25 30 35 40 45 50 55 60 ODS 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 RGB LAB LUV HSV YO1O2 dRdGdB (a) ODS Épocas 5 10 15 20 25 30 35 40 45 50 55 60 OIS 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.7 RGB LAB LUV HSV YO1O2 dRdGdB (b) OIS Épocas 5 10 15 20 25 30 35 40 45 50 55 60 AP 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 RGB LAB LUV HSV YO1O2 dRdGdB (c) AP

Figura 5.8: Valores das medidas (ODS, OIS e AP) do benchmark BSDS para cada 5 épocas da arquitetura CEDN sobre a base PASCAL Context com inicialização aleatória e

5.2. ARQUITETURA CONVOLUTIONAL ENCODER DECODER NETWORK - CEDN 87

Tabela 5.9: Diferença entre os resultados da arquitetura CEDN sobre a base PASCAL Context com a parte encoder com pesos aleatórios e otimizados.

Época Medida RGB LAB LUV HSV YO1O2 dRdGdB

05 ODS 0,506 +0,007 -0,011 -0,175 -0,008 -0,028 OIS 0,536 +0,008 -0,007 -0,181 -0,005 -0,039 AP 0,450 +0,010 -0,012 -0,210 -0,008 -0,052 10 ODS 0,565 0,000 -0,003 -0,101 -0,002 -0,043 OIS 0,595 -0,001 -0,007 -0,102 -0,006 -0,055 AP 0,531 -0,007 -0,011 -0,120 -0,011 -0,062 15 ODS 0,571 +0,013 +0,006 -0,066 +0,002 -0,039 OIS 0,602 +0,008 +0,003 -0,071 0,000 -0,059 AP 0,544 +0,017 +0,013 -0,073 -0,002 -0,053 20 ODS 0,602 0,000 +0,003 -0,051 +0,004 -0,049 OIS 0,628 +0,001 +0,002 -0,052 +0,003 -0,077 AP 0,591 -0,002 0,000 -0,065 +0,002 -0,067 25 ODS 0,593 +0,009 +0,012 -0,040 +0,006 -0,040 OIS 0,624 +0,007 +0,008 -0,044 +0,003 -0,067 AP 0,566 +0,018 +0,021 -0,045 +0,011 -0,048 30 ODS 0,588 +0,018 +0,005 -0,032 +0,008 -0,030 OIS 0,620 +0,016 +0,003 -0,033 +0,005 -0,059 AP 0,563 +0,026 +0,011 -0,037 +0,012 -0,043 35 ODS 0,603 -0,003 -0,025 -0,032 -0,012 -0,053 OIS 0,631 +0,001 -0,021 -0,031 -0,011 -0,079 AP 0,591 -0,019 -0,062 -0,041 -0,045 -0,091 40 ODS 0,607 -0,008 -0,015 -0,040 -0,008 -0,054 OIS 0,635 -0,005 -0,014 -0,042 -0,008 -0,080 AP 0,583 -0,020 -0,030 -0,034 -0,016 -0,092 45 ODS 0,593 +0,001 +0,003 -0,025 +0,004 -0,033 OIS 0,624 +0,001 +0,003 -0,025 +0,006 -0,053 AP 0,547 0,000 +0,018 0,000 +0,025 -0,032 50 ODS 0,602 -0,001 -0,008 -0,042 -0,006 -0,049 OIS 0,634 0,000 -0,008 -0,042 -0,007 -0,077 AP 0,577 -0,001 -0,018 -0,04 -0,004 -0,070 55 ODS 0,604 -0,005 -0,008 -0,042 +0,002 -0,050 OIS 0,635 -0,004 -0,009 -0,042 +0,001 -0,066 AP 0,568 -0,011 -0,022 -0,043 +0,006 -0,077 60 ODS 0,605 -0,010 -0,020 -0,038 -0,006 -0,051 OIS 0,636 -0,017 -0,033 -0,039 -0,008 -0,067 AP 0,570 -0,055 -0,084 -0,037 -0,020 -0,072

diferenças da medida ODS com o valor 0,014. Dessa forma, os modelos HSV e dRdGdB configuram uma escolha ruim para o presente experimento.

5.2. ARQUITETURA CONVOLUTIONAL ENCODER DECODER NETWORK - CEDN 88

5.2.4 Discussão

Três formatos de experimentos foram conduzidos com a arquitetura CEDN sobre a base de imagens PASCAL Context. No primeiro experimento, a parte decoder da RNC da arquitetura CEDN é inicializada com pesos pré-treinados e não ajustados no decorrer do treinamento. Como esperado, esse formato de experimento gera resultados ruins, para todas as medidas (ODS, OIS e AP), quando o modelo RGB não é utilizado.

O segundo experimento é caracterizado pela inicialização da parte decoder ainda com pesos pré-treinados, mas ajustados no decorrer do processo de treinamento. Esse experimento gerou resultados piores para os modelos diferentes do RGB, mas com menor relevância, em relação às diferenças obtidas no experimento anterior. Para alguns modelos (LUV e YO1O2), essa diferença por pouco não foi considerada irrelevante a ponto de considerar os resultados semelhantes ao modelo RGB.

O terceiro e último experimento é caracterizado pela inicialização aleatória dos pesos da parte decoder da RNC e otimização de toda a rede. Os resultados sugerem semelhança entre os valores das medidas para um grupo de modelos de cor, do qual o RGB faz parte. Além disso, esse terceiro experimento é marcado pelo fato de os valores obtidos para as medidas avaliadoras serem todos inferiores aos resultantes quando se utiliza transferência de aprendizado para a parte encoder da CEDN. Esse comportamento se deve a dificuldade em treinar redes profundas (ERHAN et al., 2009) (GLOROT; BENGIO, 2010), uma vez que a arquitetura CEDN possui sete camadas convolucionais a mais que a HED. Outro ponto que pode ter contribuído para esse comportamento é que a quantidade de imagens, junto com o aumento sintético de imagens, próprio da arquitetura, pode não ter sido o suficiente para a profundidade da arquitetura (PEREZ; WANG, 2017).

Os resultados para o primeiro e último experimento, como já comentado, eram esperados. Para o segundo experimento, o resultado era uma incógnita, uma vez que a configuração do experimento não era, por completo, um ajuste de pesos pré-treinados, conforme experimento da Seção 5.1.3, dado que a parte decoder foi iniciada de maneira aleatória.

Nesse contexto, corrobora-se a expectativa que o uso de modelos diferentes nas imagens de entrada da RNC, no cenário de uma inicialização aleatória dos pesos e de ajuste de toda a rede no processo de treinamento, aparenta não trazer diferença satisfatória, obtendo resultados semelhantes ao uso do modelo RGB ou inferior. Essa sugestão é decorrente dos resultados sobre a arquitetura HED (Seção 5.1.3) e CEDN (Seção 5.2.3), contudo, ainda existe a necessidade de uma comprovação estatística.

No que diz respeito a tempo, para o treinamento da arquitetura CEDN foi mensurado o tempo médio gasto para uma época quando apenas a parte decoder participa da otimização dos pesos (primeira coluna da Tabela 5.10) e quando toda a rede é otimizada (segunda coluna da Tabela 5.10), dessa forma, basta multiplicar pelo número de épocas utilizadas para obtenção do tempo total de treinamento. O tempo de execução, ou seja, o tempo médio para submeter uma

5.3. CONCLUSÃO 89 imagem, que já esteja em memória, à arquitetura CEDN para detecção de bordas é informado na terceira coluna da Tabela 5.10 para uma imagem de tamanho, em média, igual a 387 × 470. Os tempos relatados na Tabela 5.10 são obtidos com o uso da placa gráfica Nvidia TITAN Xp.

Tabela 5.10: Tempo de treinamento e execução da arquitetura CEDN.

Modelo Tempo de treinamento para 1 época otimizando a parte decoder Tempo de treinamento para 1 época otimizando toda a rede Tempo de execução para uma imagem de

387 × 470

RGB 34,9 minutos 52,0 minutos 67 milissegundos

LAB 38,7 minutos 55,4 minutos 82 milissegundos

LUV 37,7 minutos 54,4 minutos 70 milissegundos

HSV 36,6 minutos 53,4 minutos 70 milissegundos

YO1O2 34,8 minutos 51,7 minutos 69 milissegundos

dRdGdB 37,5 minutos 52,5 minutos 69 milissegundos

No quesito tempo de treinamento, para os experimentos com transferência de aprendizado para a parte encoder além do modelo RGB ser a melhor opção em qualidade de resultado, ele também é a melhor opção no quesito tempo. Para o treinamento considerando inicialização aleatória dos pesos, tem-se uma equivalência entre os modelos, desse modo, tendo como critério de desempate o tempo de treinamento, o aconselhável é o uso do modelo RGB ou YO1O2.

5.3 CONCLUSÃO

Em posse das avaliações de cada experimento, algumas conclusões podem ser extraídas e alguns pontos podem ser discutidos.

O primeiro ponto a ser discutido traz a sugestão dada pelos experimentos desenvolvidos com as arquiteturas HED (Seção 5.1.3) e CEDN (Seção 5.2.3). Em um processo de treinamento inicial, ou seja, quando a Rede Neural Convolucional está sendo treinada pela primeira vez, com inicialização aleatória de pesos, o uso de modelos de cor diferentes do RGB aparenta não proporciona melhoria nos resultados do processo de detecção de bordas, ao menos quando se tem como método avaliador o benchmark BSDS. Os valores das medidas avaliadoras dos modelos, quando comparadas com as resultantes do uso do modelo RGB, tendem a ser semelhantes ou, para alguns modelos em específico, piores. Essa aparência de semelhança nas medidas, nesse formato de experimento, se deve à capacidade das RNCs em adaptar os filtros de convolução ao formato de descrição dos modelos de cor. Para confirmação dessa aparente semelhança no uso dos modelos, faz-se necessário uma análise estatística para comprovação, dado um certo grau de confiança. No presente trabalho, não foi realizado essa análise, pelo tempo necessário para retreinar várias vezes as arquiteturas.

O segundo ponto importante está na melhoria nos valores das medidas de avaliação, para a arquitetura HED, quando se utiliza transferência de aprendizado e se ajusta os pesos da rede

5.3. CONCLUSÃO 90 apresentando imagens descritas com modelos como LUV e LAB (Seção 5.1.3). Mesmo que os pesos pré-treinados não tenham sido ajustados usando estes modelos, o ajuste dos pesos da RNC se mostrou melhor. Em caso de um ambiente de dados saturado, ou seja, próximo ao próprio limiar de concordância humana (Seção 4.3.1) sobre o que é ou não borda, o uso de modelos diferentes do RGB mostrou, ao menos, gerar resultados semelhantes para o processo de detecção de bordas.

Ainda seguindo a linha da transferência de aprendizado e do ajuste de todos os pesos com imagens descritas em modelos diferentes do RGB, os experimentos realizados com a arquitetura CEDN (Seção 5.2.2) não geraram resultados com valores de medidas superiores aos do modelo RGB. Dois pontos podem ser o motivo para o ocorrido. Primeiro que a RNC da arquitetura CEDN é dividida em duas partes (encoder e decoder) das quais apenas uma (encoder) é inicializada com pesos pré-treinados, a outra parte da rede é inicializada de maneira aleatória. O segundo, e mais importante ponto, está nas saídas laterais da arquitetura HED. Nos experimentos de ambas as arquiteturas, nenhum processo de regularização foi utilizado. Contudo, as saídas laterais da arquitetura HED, que são baseadas no método DSN (LEE et al., 2015), constituem uma forma de regularização, como propõe o próprio método DSN. O ponto a se considerar é que a constituição do resultado da arquitetura HED, por meio de saídas laterais, força as camadas mais próximas à entrada a se adaptarem ao ponto de conseguirem, mesmo que com qualidade inferior às mais profundas, gerar resultado de boa qualidade. Essa regularização natural é o ponto chave para o bom resultado com a arquitetura HED. Para a arquitetura CEDN, o uso de saídas laterais como forma de regularização, pode trazer benefícios, não só para a rede, mas para o uso de modelos diferentes do RGB. Dessa forma, fica aberto um ponto de estudo ao final deste trabalho.

O terceiro ponto a ser analisado, diz respeito ao processo de avaliação do benchmark BSDS. Nos experimentos descritos nas Seções 5.2.1 e 5.2.2 em alguns resultados a medida OIS, para o modelo dRdGdB, apresentou valor inferior ao resultado da medida ODS, o que conceitu- almente não era esperado. Dessa forma, cabe uma investigação a respeito desse fenômeno que só aconteceu com os resultados da detecção de borda utilizando o modelo dRdGdB.

Outro ponto que diz respeito ao modelo dRdGdB é a expectativa de obtenção de bons resultados com uso deste modelo. Essa expectativa se deve ao fato do dRdGdB ter sido criado com foco no processo de detecção de bordas. Contudo, os resultados obtidos mostram o dRdGdB como uma escolha ruim. Isso é decorrente do objetivo do modelo que visa salientar melhor as bordas presentes na imagem, o que de fato acontece, conforme é visto nas imagens da Figura 5.2.g e Figura 5.4.g, mas ocorre a geração de muito ruído. O ponto chave é que em COSTA; MELLO; SANTOS (2013) existe todo um pré-processamento para supressão de ruído, coisa que não foi feita para a análise por fugir do escopo da dissertação. Em relação ao modelo de cor YO1O2, mesmo sendo concebido para utilização em um método de segmentação, o foco de uso do modelo não é especificamente a segmentação por detecção de bordas.

5.3. CONCLUSÃO 91 base PASCAL Context, com transferência de aprendizado, também se mostrou vantajoso no que diz respeito a tempo de treinamento, quando comparado com o modelo RGB que só alcançou o mesmo valor de ODS quando treinado sem transferência de aprendizado e na iteração de número 60.000. Para a arquitetura CEDN além de obter resultados melhores, o modelo RGB, no que diz respeito ao tempo de treinamento, ainda é a melhor opção.

Por fim, dado o interesse em experimentar o uso de modelos de cor, diferentes do modelo RGB, para utilização no processo de detecção de bordas, por meio de arquiteturas baseadas no uso de Redes Neurais Convolucionais, considerando os modelos utilizados neste trabalho, aconselha-se, no geral, a experimentação dos modelos uniformes LAB e LUV. O modelo YO1O2 se mostrou uma opção intermediária, enquanto que o modelo dRdGdB se mostrou uma opção ruim. O modelo HSV, por mais que em um experimento tenha obtido um dos melhores resultados, em linhas gerais, os valores das medidas retornadas pelo BSDS ficaram atrás dos modelos LAB, LUV e YO1O2.

92 92 92

6

CONCLUSÃO

A presente dissertação apresentou uma análise da influência dos modelos de cor sobre o resultado de algoritmos de detecção de bordas que tenham como base o uso de Redes Neurais Convolucionais (RNC). Para realização dessa análise, experimentos foram conduzidos em duas arquiteturas com modelos de RNC totalmente convolucionais: a Holistically-Nested Edge Detection(HED) e a Convolutional Encoder Decoder Network (CEDN). Cada resultado foi avaliado quantitativamente pelo Berkeley Segmentation Data Set and Benchmarks (BSDS) através dos valores das medidas ODS, OIS e AP que proveem, respectivamente, o F-measure considerando um único nível de limiarização para todos os mapas de borda de entrada, F-measure considerando um nível de limiarização ótimo para cada mapa de borda e, por fim, o valor da precisão média. Utilizando as bases BSDS500 e PASCAL Context como fonte de imagens coloridas com cenas do mundo real, seis modelos de cor foram utilizados para descrever cada imagem de entrada: o modelo RGB, os modelos perceptualmente uniformes LAB e LUV, o modelo perceptual HSV e dois modelos recentes do estado da arte, o YO1O2 e dRdGdB.

Um total de seis experimentos foram conduzidos, três para cada arquitetura. Esses experimentos visaram comparar os valores das medidas ODS, OIS e AP obtidos com o uso do modelo de cor RGB aos obtidos pelos demais modelos. A relevância das diferenças entre os valores obtidos com uso de cada modelo, em relação ao uso do RGB, é determinada pela evolução do estado da arte sobre a base de imagens do experimento em questão. A variação nos experimentos para cada arquitetura é marcada pela forma de inicialização dos pesos, focando no uso de transferência de aprendizado, através da inicialização com pesos pré-treinados, ou na inicialização aleatória.

O primeiro experimento com a arquitetura HED foi caracterizado pelo uso da base de imagens BSDS500. A RNC da arquitetura HED teve os pesos da camada convolucional, oriunda da VGG-16, inicializados com valores pré-treinados (transferência de aprendizado). Os resultados mostram semelhança entre os valores das medidas obtidos com o uso dos modelos RGB, LAB e LUV. O uso dos modelos HSV e dRdGdB gerou valores inferiores aos do modelo RGB. O segundo experimento com a arquitetura HED utiliza o mesmo formato do experimento anterior, exceto pelo uso da base PASCAL Context no lugar da BSDS500. Os resultados colocam os modelos LUV, LAB e HSV como melhores escolha para o formato de experimento, obtendo melhoria relevante em relação aos valores obtidos pelo uso modelo RGB. Os modelos dRdGdB e YO1O2 obtiveram valores inferiores aos das medidas geradas pelo uso do RGB. O terceiro e último experimento foi caracterizado pela inicialização aleatória dos pesos da camada convolucional, oriunda da VGG-16, resultando em semelhança entre os resultados dos modelos RGB, LAB e LUV e inferioridade, em relação ao RGB, para os modelos YO1O2 e dRdGdB.

A arquitetura CEDN é composta por duas partes de camadas convolucionais: encoder e decoder. A parte encoder funciona como extrator de característica e a decoder utiliza essas

6.1. CONTRIBUIÇÕES 93 características para compor, de maneira gradativa, o resultado final da detecção de bordas. Os três experimentos realizados com a CEDN foram conduzidos com a base PASCAL Context com variação no formato de inicialização dos pesos da parte encoder. Na primeira variação, a parte encoderfoi inicializada com pesos pré-treinados e não participou do processo de treinamento. Na segunda variação, continuou sendo inicializada com pesos pré-treinados, mas participou do processo de otimização dos pesos. Por fim, na terceira variação, toda a rede foi inicializada de maneira aleatória e completamente otimizada. Os resultados da terceira variação sugerem semelhança entre os valores das medidas para o uso dos modelos RGB, LAB, LUV e YO1O2, com os modelos dRdGdB e HSV obtendo resultados aparentemente inferiores. Por outro lado, para a primeira e segunda variação, o uso do modelo RGB é a melhor escolha, gerando os melhores resultados com valores ainda mais acentuados na primeira variação do experimento.

6.1 CONTRIBUIÇÕES

Para ambas as arquiteturas (HED e CEDN), os resultados obtidos, quando se utiliza a inicialização aleatória dos pesos, sugerem que, para grande parte dos modelos de cor, os resultados tendem a ser semelhantes, com alguns casos obtendo valores inferiores nas medidas, como os do modelo YO1O2 e dRdGdB. Embora ainda haja a necessidade de uma comprovação estatística, o presente trabalho sugere que, para novas arquiteturas de detecção de bordas em que o processo de treinamento ocorra sem transferência de aprendizado, a utilização de modelos distintos do RGB não trará ganho significativo, podendo gerar resultados inferiores em alguns casos.

Para a arquitetura CEDN, os resultados dos experimentos com a parte encoder inici- alizada com pesos pré-treinados, mas não otimizados durante o processo de treinamento, só corroboraram o senso comum de que a utilização de modelos de cor diferentes do utilizado no pré-treinamento da parte encoder prejudicaria o treinamento, gerando resultados inferiores.

Para o caso de inicialização com utilização de pesos pré-treinados, para a arquitetura HED, conseguiu-se obter resultados semelhantes (base BSDS500) ou melhores (base PASCAL Context). Contudo, a inicialização da parte encoder da RNC da arquitetura CEDN com pesos pré-treinados e participação no processo de otimização não gerou nem ao menos resultados semelhantes. Dessa forma, não se pode garantir que o uso de modelos de cor diferentes do RGB possa melhorar o resultado, mas a relevância da melhora dos resultados da arquitetura HED, quando utilizado outros modelos de cor, traz a necessidade de experimentar o uso de diferentes modelos ao conceber uma nova arquitetura de detecção de bordas baseada em Redes Neurais Convolucionais.

Nesse cenário, o presente trabalho ainda sugere que, em caso de experimentação de modelos de cor para representação das imagens de entrada de uma RNC, em uma arquitetura de detecção de bordas, além do tradicional RGB, os modelos LAB e LUV sejam analisados. Essa escolha é baseada no fato do uso desses modelos conseguirem ter gerado resultados melhores e,

6.2. TRABALHOS FUTUROS 94 mesmo para os experimentos em que o uso do RGB foi a melhor escolha, os modelos LAB e LUV foram, no geral, os que tiveram a menor diferença ao RGB, em relação aos valores das medidas analisadas.

6.2 TRABALHOS FUTUROS

Como já comentado, a inicialização da parte encoder da RNC da arquitetura CEDN com pesos pré-treinados e participação no processo de treinamento gerou resultados inferiores para modelos diferentes do RGB. Esse resultado contraria os obtidos com o experimento semelhante na arquitetura HED, no qual os modelos LAB, LUV e HSV geraram melhores resultados que o modelo RGB. Dois pontos podem ser o motivo desse ocorrido: (i) o fato de apenas a parte encoder da RNC ter sido inicializada com pesos pré-treinados e (ii) não ter sido utilizado nenhuma forma de regularização, em contrapartida da arquitetura HED que tem em suas saídas laterais uma forma natural de regularização. Nesse sentido, esses dois pontos abrem a possibilidade para trabalhos futuros, principalmente com o uso do método Deeply-Supervised Nets(saída lateral da arquitetura HED) na arquitetura CEDN, podendo gerar resultados que avancem com o estado da arte, no que diz respeito a melhora das medidas do BSDS da arquitetura.

O presente trabalho utilizou em seus experimentos modelos de cor descritos por três canais. Um outro ponto a ser abordado é a utilização de modelos com outras quantidades de

Documentos relacionados