Resumo do Capítulo
Este capítulo tem por objetivo principal levantar outras abordagens e melhoramentos que podem ser desenvolvidos utilizando-se os algoritmos que foram implementados.
Os códigos desses algortimos desenvolvidos podem
ser encontrados para download na página http://www.ime.usp.br/~incecco/mac499
na parte relacionada à códigos.
3.1 Abordagens alternativas
Agora serão comentadas prováveis abordagens
que podem beneficiar alguns algoritmos implementados. Nosso intuito aqui
não é afirmar que usando alguma técnica comentada
abaixo serão obtidos resultados melhores, apenas citamos métodos
diferenciados que podem ser desenvolvidos sobre os algoritmos feitos, podendo
produzir melhora de resultados.
3.1.1. Taxa de erro em termos de função
É interessante observar que em todos os algoritmos que foram implementados, as taxas de erro usadas nos clusters possui um valor fixo, que foi determinada através de um conjunto de teste específico.
O que se propõe é que esses valores iniciais podem ser mantidos, mas conforme avança o processo de clusterização, as taxas possam ir sendo alteradas por meio de uma função que avalie o cluster atual, inclusive podendo analisar como está a forma atual e altere o valor da taxa de erro, buscando mudar o formato do cluster para o que se deseja. Assim, a taxa de erro poderia variar de acordo com a classificação de cada ponto.
O ganho que se pode obter considerando essa técnica
é que os clusters serão mais flexíveis, quando faltam
pontos daquela característica de face que esteja sendo avaliada,
pois mesmo que a média não mude, a taxa de erro terá
que mudar conforme os pontos estarão sendo classificados como sendo
daquele cluster. Quando um ponto P mais distante da média for analisado,
se a função da taxa de erro determinar que o cluster terá
um formato melhor com a inclusão deste ponto, P será classificado
como sendo desse cluster.
3.1.2. Técnica de Divisão e Conquista para o caso do Forgy usando 4 clusters
A forma como foi feita esse algoritmo já indica o uso de um processo de Divisão e Conquista para o problema de clusterização. Resumidamente, divisão e conquista é uma forma de se trabalhar um problema quando este possui intrinsecamente subproblemas que são exatamente iguais ao inicial.
O nosso problema inicial é achar 4 clusters, dado um cluster maior que consiste na imagem inteira retornada pelo detector de bordas de Sobel. O que devemos fazer é :
O método descrito acima é elegante e provocará uma grande alteração no Forgy usando 4 clusters, pois a única função deste será fazer três chamadas ao Forgy usando 2 clusters, cada chamada desse sendo separada por procedimentos para corrigir a posição da imagem, tal como citado no passo 3.Considerando a imagem do detector de Sobel, separa-se em dois clusters maiores (isso já seria o Forgy usando 2 clusters).Obtidos os dois clusters, chama-se recursivamente o Forgy usando 2 clusters para cada um dos 2 clusters, considerando agora cada cluster como sendo uma sub-imagem da original.
O único cuidado que precisa ser tomado aqui é que para o cluster dos olhos, a sub-imagem que será formada e passada para o Forgy novamente precisa ser rotacionada em 90º pois assim não seria necessário reorganizar as posições das médias dos clusters a serem encontrados. Quanto à sub-imagem do cluster do nariz e boca, não há esse problema, pelo menos a princípio.
A chamada recursiva para os dois clusters termina quando são detectados os quatro clusters, tais como nós queríamos que se obtivesse no final do processo. Vale lembrar que esses quatro clusters mencionados são os dos olhos esquerdo e direito, nariz e boca, e são subconjuntos dos dois clusters obtidos pela primeira chamada ao Forgy usando 2 clusters.
Além disso, garante-se que o novo algoritmo pára, pois o número de chamadas recursivas do Forgy usando 2 clusters é limitado em três. Comentamos isso, pois em um problema qualquer de divisão e conquista, sempre há um fator que determina até quando um problema poderá ser quebrado em subproblemas, garantindo assim que os problemas começarão a ser resolvidos iniciando pelos mais básicos até se chegar no principal.
O único problema que pode ocorrer com essa estratégia
é que as posições iniciais das médias dos 2
clusters usados no Forgy precisem ser alteradas a cada chamada recursiva,
pois caso contrário o resultado da clusterização não
será correto, inclusive pode ocorrer de termos uma média
que na verdade está em uma posição da sub-imagem onde
não há ponto algum próximo para ser classificado.