4.3 Ferramentas computacionais
4.4.1 Segmentação das imagens
Cenas naturais exigem que o algoritmo de segmentação considere a cor dos elementos pois, como foi visto, vários elementos da cena agrícola podem ser distinguidos pela cor, como por exemplo os frutos. Além da cor, a textura dos elementos também é importante, pois imagens de cenas naturais podem ser formadas por regiões de cor não homogênea. Imagens com regiões de cor homogênea podem ser segmentadas usando-se um algoritmo para formar agrupamentos no espaço de cores (MOREIRA; COSTA, 1996;COMANICIU; MEER, 1997;TIAN; SLAUGHTER, 1998). Uma das maneiras de segmentar imagens com texturas é considerar a disposição espacial dos pixelsusando uma técnica de crescimento de região, onde um critério de homogeneidade é defi- nido e os pixels que satisfazem este critério são agrupados à região (GONZALEZ; WINTZ, 1987).
Além disso, para segmentar imagens com texturas é importante considerar diferentes escalas da imagens. Faz-se necessário, portanto, escolher um algoritmo de segmentação adequado para imagens de cenas naturais em cores e com texturas. Este algoritmo deve ser automático, ou seja, não exigir ajustes dos parâmetros para cada imagem, pois assim não será necessária a in- terferência do usuário. Também, o algoritmo deve considerar as texturas de forma simples. O algoritmo JSEG foi escolhido, pois tem tais características. Os autores do JSEG reportam na literatura da área, que o algoritmo segmenta adequadamente imagens de cenas naturais.
O algoritmo JSEG segmenta as imagens em três etapas: quantização do espaço de cores, crescimento de regiões e junção das regiões com cores semelhantes, como mostrado na Figura 31. Na primeira etapa, o espaço de cores é quantizado com pouca degradação usando o algo- ritmo perceptivo de quantização (DENG et al., 1999). O objetivo desta etapa é definir as regiões
da imagem utilizando um mínimo de cores. Cada cor é associada a uma classe. A imagem original tem os pixels substituídos pelas classes, o que dá origem ao mapa de classes que será
usado na próxima etapa.
Figura 31: Etapas de processamento do algoritmo de segmentação JSEG. Figura adap- tada (DENG; MANJUNATH; SHIN, 1999).
Antes de realizar o crescimento das regiões, a J-imagem deve ser criada. Os valores dos pixelsda J-imagem serão usados como critério de similaridade pelo algoritmo de crescimento de região. Os valores dos pixels da J-imagem são chamados de valores J. Estes valores são calculados a partir de uma janela posicionada sobre o mapa de classes, onde o valor J a ser calculado é o do pixel no centro da janela. Para calcular um valor J, primeiro define-se Z como o conjunto de todos os pontos do mapa de classes, então faz-se z = (x,y) com z ∈ Z e m é a média de todos os elementos em Z. C é o número de classes obtido na quantização. Então,
4.4 Métodos 115
Z é classificado em C classes. Os Zi são os elementos de Z que pertencem à classes i, onde
i= 1, . . . ,C; misão as médias dos elementos em Zi. O valor de J é calculado com a equação 4.1,
onde ST = ∑z∈Z||z − m||2e SW = ∑Ci=1∑z∈Z||z − mi||2. J= SB SW = (ST− SW) SW (4.1) São usados diversos tamanhos de janelas; janelas maiores detectam as fronteira de regiões com texturas. Janelas menores detectam mudanças de cores e/ou de intensidade da luz. Cada tamanho de janela está associado a uma escala de análise da imagem. O conceito de J-imagem juntamente com as diversas escalas torna possível a segmentação de regiões com texturas.
As regiões da J-imagem com os menores valores são chamadas de vales. Os menores valores são encontrados com uma heurística proposta pelos autores, na qual são considerados vales regiões com valores J menor que um limiar. Este limiar leva em consideração a média mais uma fração do desvio padrão dos valores J em uma região. Assim é possível determinar os pontos iniciais do crescimento de forma eficiente. Então, o algoritmo agrega as regiões que são mais semelhantes aos vales. O fim do algoritmo ocorre quando não há mais pixels para serem agregados às regiões.
A J-imagem é recalculada para cada uma das novas regiões com uma janela menor que a usada anteriormente. Após o uso da menor janela o algoritmo agrupa as regiões com cores semelhantes. O algoritmo utiliza como característica dos segmentos o histograma das cores quantizadas que foram obtidas anteriormente. A distância euclidiana é usada para criar uma tabela que contém as distâncias entre as características dos segmentos vizinhos. As regiões com distância menor que um limiar são agrupadas, então, a tabela de distâncias é recalculada e as demais regiões são agrupadas. Este processo é repetido até que não existam regiões com distância menor que o limiar.
Este algoritmo necessita de apenas três parâmetros para funcionar: o primeiro é o limiar do algoritmo de quantização das cores, que está relacionado com a quantidade de cores que serão usadas; o segundo é o número de escalas, este influência como o JSEG trata os detalhes
das imagens e o último é o limiar usado pelo algoritmo para agrupar as regiões com cores semelhantes.
Como a segmentação da imagem é um processo subjetivo, escolher os parâmetros ótimos é uma tarefa difícil, por isto os parâmetros e a resolução da imagem foram escolhidos manual- mente neste trabalho com o auxílio da inspeção visual das imagens segmentadas. Os parâmetros e a resolução que resultam na segmentação das regiões de folhas, céu e frutos foram adotados. Neste processo, os frutos determinam os parâmetros e a resolução, pois estes podem ser os menores elementos que devem ser segmentados.
O valor escolhido para o limiar da quantização é o 10. A escala inicial é a dois e a final é a um, que correspondem respectivamente às janelas com 17 × 17 pixels e com 9 × 9 pixels. A resolução espacial das imagens é de 2.048 × 1.536 pixels. Optou-se por não executar o algoritmo de fusão de regiões, pois os segmentos serão classificados posteriormente, o que resultará na fusão dos segmentos que pertencem a mesma classe.
Devido à resolução espacial adotada e à limitação da quantidade de memória do micro- computador usado neste trabalho foi necessário segmentar as imagens por partes. As imagens foram divididas em partes com tamanho de 512 × 384 pixels, as quais foram submetidas ao algoritmo de segmentação. Os segmentos vizinhos que estão nas bordas das partes são unidos após a classificação dos segmentos.