Exercício TP2 - Granulometria Aplicada a Classificação de Texturas

Aluno: Rodrigo Senra

Introdução

No contexto da disciplina MO815, ministrada pelo Prof. Neucimar J. Leite, este segundo trabalho teve por objetivo validar ou não o coeficiente de Cross-Correlação Normalizada de Média Zero como um parâmetro descritor de similaridade de textura quando aplicado a dois espectros granulométricos de imagens nível-de-cinza .

O Experimento

O espectro granulométrico foi calculado sobre um banco de 62 imagens de texturas disponíveis em http://sipi.usc.edu/services/database/database.cgi?volume=textures .

Cada imagem foi convertida para a resolução de 512x512 pixels e também para 64x64 pixels.

Para o bloco de imagens de resolução 64x64 foram aplicados três elementos estruturantes simétricos distintos (elipse, cruz e retângulo) em um espectro de parâmetro 3 a 61.

Para o bloco de imagens de resolução 512x512 foi aplicado somente o elemento estruturante simétrico elipse em um espectro de parâmetro 3 a 23.

Este é um espectro estreito para economizar tempo computacional no processamento de sucessivas aberturas, sendo considerado razoável no contexto deste exercício. Entretanto, no contexto de um trabalho científico almejando publicação, tanto a largura do espectro quanto a resolução das imagens deveriam ser aumentadas e o experimento repetido.

O experimento foi implementado em Python e em C fazendo uso da biblioteca OpenCV.

Base de Dados Experimental





Resultados Experimentais

Comparações Utilizando Imagens 64x64 com Elemento Estruturante Elipse

Grupo1 vs Grupo 2

1.2.01 1.2.02 1.2.03 1.2.04 1.2.05 1.2.06 1.2.07 1.2.08 1.2.09 1.2.10 1.2.11 1.2.12 1.2.13
1.1.01 0.9978 0.9913 0.9965 0.9647 0.9768 0.9897 0.9935 0.9892 0.9881 0.9870 0.9918 0.9856 0.9719
1.1.02 0.9880 0.9908 0.9872 0.9476 0.9616 0.9847 0.9819 0.9832 0.9801 0.9687 0.9824 0.9688 0.9541
1.1.03 0.9887 0.9782 0.9973 0.9525 0.9601 0.9848 0.9863 0.9835 0.9843 0.9764 0.9798 0.9715 0.9565
1.1.04 0.9898 0.9908 0.9828 0.9952 0.9955 0.9953 0.9958 0.9942 0.9967 0.9939 0.9946 0.9942 0.9951
1.1.05 0.9853 0.9859 0.9732 0.9967 0.9995 0.9894 0.9915 0.9900 0.9888 0.9935 0.9931 0.9944 0.9988
1.1.06 0.9922 0.9928 0.9887 0.9858 0.9899 0.9998 0.9961 0.9984 0.9958 0.9912 0.9957 0.9890 0.9877
1.1.07 0.9890 0.9869 0.9933 0.9626 0.9672 0.9910 0.9882 0.9889 0.9904 0.9773 0.9840 0.9742 0.9635
1.1.08 0.9781 0.9667 0.9866 0.9222 0.9368 0.9658 0.9695 0.9649 0.9653 0.9564 0.9637 0.9534 0.9296
1.1.09 0.9855 0.9746 0.9963 0.9619 0.9624 0.9844 0.9870 0.9823 0.9897 0.9801 0.9781 0.9753 0.9625
1.1.10 0.9924 0.9874 0.9859 0.9908 0.9947 0.9910 0.9958 0.9902 0.9918 0.9997 0.9948 0.9965 0.9947
1.1.11 0.9930 0.9898 0.9938 0.9539 0.9669 0.9884 0.9881 0.9868 0.9839 0.9769 0.9872 0.9754 0.9609
1.1.12 0.9859 0.9787 0.9790 0.9942 0.9940 0.9876 0.9928 0.9885 0.9901 0.9945 0.9900 0.9967 0.9958
1.1.13 0.9841 0.9809 0.9752 0.9979 0.9974 0.9885 0.9924 0.9890 0.9901 0.9950 0.9911 0.9949 0.9994

Grupo1 vs Grupo 3

1.3.01 1.3.02 1.3.03 1.3.04 1.3.05 1.3.06 1.3.07 1.3.07 1.3.09 1.3.10 1.3.11 1.3.12 1.3.13
1.1.01 0.9821 0.9951 0.9941 0.9844 0.9911 0.9913 0.9903 0.9903 0.9896 0.9765 0.9843 0.9781 0.9811
1.1.02 0.9730 0.9935 0.9807 0.9712 0.9901 0.9788 0.9889 0.9889 0.9804 0.9569 0.9641 0.9740 0.9714
1.1.03 0.9737 0.9913 0.9935 0.9705 0.9870 0.9777 0.9941 0.9941 0.9921 0.9626 0.9730 0.9819 0.9754
1.1.04 0.9994 0.9860 0.9828 0.9961 0.9908 0.9940 0.9842 0.9842 0.9643 0.9948 0.9908 0.9839 0.9982
1.1.05 0.9961 0.9738 0.9752 0.9971 0.9827 0.9934 0.9723 0.9723 0.9525 0.9974 0.9924 0.9746 0.9945
1.1.06 0.9959 0.9880 0.9882 0.9930 0.9967 0.9933 0.9927 0.9927 0.9744 0.9873 0.9885 0.9888 0.9965
1.1.07 0.9827 0.9954 0.9884 0.9748 0.9927 0.9810 0.9953 0.9953 0.9826 0.9674 0.9715 0.9861 0.9835
1.1.08 0.9507 0.9833 0.9813 0.9503 0.9713 0.9618 0.9795 0.9795 0.9867 0.9379 0.9524 0.9619 0.9508
1.1.09 0.9785 0.9905 0.9940 0.9713 0.9863 0.9777 0.9934 0.9934 0.9904 0.9685 0.9758 0.9838 0.9796
1.1.10 0.9934 0.9823 0.9876 0.9964 0.9863 0.9968 0.9799 0.9799 0.9714 0.9964 0.9968 0.9752 0.9923
1.1.11 0.9763 0.9946 0.9894 0.9760 0.9918 0.9842 0.9917 0.9917 0.9888 0.9650 0.9738 0.9771 0.9758
1.1.12 0.9930 0.9745 0.9825 0.9932 0.9805 0.9918 0.9752 0.9752 0.9619 0.9962 0.9944 0.9743 0.9934
1.1.13 0.9958 0.9730 0.9795 0.9954 0.9812 0.9923 0.9730 0.9730 0.9562 0.9983 0.9939 0.9758 0.9948

Grupo2 vs Grupo 3

1.3.01 1.3.02 1.3.03 1.3.04 1.3.05 1.3.06 1.3.07 1.3.07 1.3.09 1.3.10 1.3.11 1.3.12 1.3.13
1.2.01 0.9885 0.9941 0.9925 0.9914 0.9910 0.9967 0.9871 0.9871 0.9817 0.9869 0.9897 0.9771 0.9874
1.2.02 0.9896 0.9908 0.9806 0.9913 0.9945 0.9941 0.9851 0.9851 0.9719 0.9817 0.9833 0.9755 0.9869
1.2.03 0.9829 0.9922 0.9967 0.9815 0.9908 0.9872 0.9945 0.9945 0.9935 0.9765 0.9854 0.9841 0.9836
1.2.04 0.9948 0.9677 0.9700 0.9916 0.9761 0.9862 0.9675 0.9675 0.9444 0.9961 0.9881 0.9724 0.9942
1.2.05 0.9946 0.9740 0.9754 0.9980 0.9822 0.9948 0.9709 0.9709 0.9540 0.9972 0.9933 0.9717 0.9926
1.2.06 0.9957 0.9900 0.9888 0.9926 0.9970 0.9933 0.9934 0.9934 0.9762 0.9867 0.9882 0.9887 0.9962
1.2.07 0.9953 0.9919 0.9936 0.9951 0.9930 0.9972 0.9896 0.9896 0.9795 0.9925 0.9939 0.9848 0.9949
1.2.08 0.9951 0.9869 0.9896 0.9931 0.9958 0.9930 0.9921 0.9921 0.9769 0.9859 0.9897 0.9911 0.9961
1.2.09 0.9967 0.9916 0.9902 0.9909 0.9939 0.9909 0.9925 0.9925 0.9764 0.9883 0.9882 0.9901 0.9970
1.2.10 0.9930 0.9824 0.9891 0.9957 0.9857 0.9965 0.9804 0.9804 0.9723 0.9965 0.9970 0.9762 0.9924
1.2.11 0.9938 0.9889 0.9871 0.9962 0.9927 0.9988 0.9846 0.9846 0.9736 0.9922 0.9927 0.9772 0.9919
1.2.12 0.9929 0.9822 0.9849 0.9961 0.9841 0.9966 0.9771 0.9771 0.9691 0.9958 0.9964 0.9727 0.9911
1.2.13 0.9945 0.9705 0.9750 0.9956 0.9796 0.9923 0.9690 0.9690 0.9510 0.9983 0.9929 0.9708 0.9929

Comparações Utilizando Imagens 512x512 com Elemento Estruturante Elipse

Grupo1 vs Grupo 2

1.2.01 1.2.02 1.2.03 1.2.04 1.2.05 1.2.06 1.2.07 1.2.08 1.2.09 1.2.10 1.2.11 1.2.12 1.2.13
1.1.01 0.9952 0.9977 0.9950 0.9670 0.9986 0.9987 0.9928 0.9986 0.9962 0.9919 0.9988 0.9988 0.9938
1.1.02 0.9481 0.9871 0.9477 0.8876 0.9781 0.9657 0.9411 0.9613 0.9813 0.9483 0.9633 0.9623 0.9930
1.1.03 0.9860 1.0000 0.9857 0.9472 0.9981 0.9943 0.9821 0.9925 0.9976 0.9839 0.9935 0.9929 0.9992
1.1.04 0.9929 0.9979 0.9925 0.9638 0.9981 0.9962 0.9917 0.9967 0.9959 0.9928 0.9979 0.9976 0.9943
1.1.05 0.9665 0.9953 0.9662 0.9134 0.9912 0.9820 0.9616 0.9774 0.9937 0.9679 0.9799 0.9779 0.9982
1.1.06 0.9994 0.9846 0.9996 0.9861 0.9889 0.9966 0.9967 0.9982 0.9838 0.9894 0.9959 0.9973 0.9769
1.1.07 0.9642 0.9945 0.9636 0.9110 0.9896 0.9790 0.9601 0.9751 0.9919 0.9676 0.9782 0.9763 0.9976
1.1.08 0.9824 0.9994 0.9822 0.9411 0.9956 0.9915 0.9770 0.9897 0.9953 0.9782 0.9898 0.9899 0.9996
1.1.09 0.9298 0.9768 0.9294 0.8598 0.9703 0.9543 0.9243 0.9460 0.9769 0.9365 0.9509 0.9469 0.9844
1.1.10 0.9868 0.9941 0.9860 0.9543 0.9972 0.9920 0.9885 0.9915 0.9961 0.9953 0.9953 0.9925 0.9904
1.1.11 0.9694 0.9965 0.9691 0.9190 0.9917 0.9831 0.9646 0.9796 0.9935 0.9699 0.9816 0.9804 0.9991
1.1.12 0.9697 0.9966 0.9694 0.9199 0.9912 0.9829 0.9646 0.9797 0.9926 0.9693 0.9814 0.9806 0.9991
1.1.13 0.9777 0.9986 0.9775 0.9328 0.9940 0.9884 0.9720 0.9861 0.9943 0.9741 0.9866 0.9864 0.9999

Grupo1 vs Grupo 3

1.3.01 1.3.02 1.3.03 1.3.04 1.3.05 1.3.06 1.3.07 1.3.07 1.3.09 1.3.10 1.3.11 1.3.12 1.3.13
1.1.01 0.9838 0.9735 0.9801 0.9983 0.9673 0.9977 0.9368 0.9368 0.9553 0.9376 0.9761 0.9698 0.9880
1.1.02 0.9978 0.9999 0.9991 0.9773 0.9951 0.9860 0.9914 0.9914 0.9951 0.9906 0.9999 0.9998 0.9973
1.1.03 0.9939 0.9871 0.9915 0.9971 0.9821 0.9998 0.9587 0.9587 0.9722 0.9586 0.9889 0.9845 0.9964
1.1.04 0.9858 0.9760 0.9826 0.9970 0.9696 0.9981 0.9407 0.9407 0.9587 0.9416 0.9783 0.9723 0.9894
1.1.05 0.9996 0.9967 0.9985 0.9870 0.9951 0.9952 0.9778 0.9778 0.9840 0.9758 0.9973 0.9951 0.9993
1.1.06 0.9589 0.9441 0.9530 0.9920 0.9359 0.9844 0.8966 0.8966 0.9218 0.8987 0.9481 0.9395 0.9662
1.1.07 0.9998 0.9976 0.9994 0.9854 0.9950 0.9945 0.9800 0.9800 0.9865 0.9786 0.9980 0.9960 0.9994
1.1.08 0.9949 0.9901 0.9933 0.9968 0.9834 0.9986 0.9655 0.9655 0.9784 0.9660 0.9919 0.9881 0.9978
1.1.09 0.9944 0.9959 0.9949 0.9612 0.9995 0.9773 0.9886 0.9886 0.9851 0.9837 0.9949 0.9957 0.9903
1.1.10 0.9846 0.9733 0.9806 0.9894 0.9720 0.9957 0.9359 0.9359 0.9514 0.9351 0.9751 0.9686 0.9861
1.1.11 0.9994 0.9967 0.9987 0.9894 0.9930 0.9962 0.9776 0.9776 0.9855 0.9766 0.9974 0.9951 0.9999
1.1.12 0.9991 0.9968 0.9986 0.9900 0.9920 0.9960 0.9782 0.9782 0.9867 0.9776 0.9976 0.9953 1.0000
1.1.13 0.9968 0.9932 0.9957 0.9947 0.9870 0.9977 0.9713 0.9713 0.9825 0.9715 0.9946 0.9915 0.9990

Grupo2 vs Grupo 3

1.3.01 1.3.02 1.3.03 1.3.04 1.3.05 1.3.06 1.3.07 1.3.07 1.3.09 1.3.10 1.3.11 1.3.12 1.3.13
1.2.01 0.9616 0.9471 0.9562 0.9929 0.9381 0.9864 0.9003 0.9003 0.9258 0.9027 0.9509 0.9423 0.9686
1.2.02 0.9935 0.9868 0.9912 0.9974 0.9812 0.9998 0.9582 0.9582 0.9721 0.9583 0.9886 0.9841 0.9962
1.2.03 0.9611 0.9467 0.9557 0.9930 0.9377 0.9860 0.8999 0.8999 0.9254 0.9024 0.9506 0.9420 0.9683
1.2.04 0.9066 0.8859 0.8993 0.9633 0.8713 0.9482 0.8242 0.8242 0.8613 0.8297 0.8914 0.8792 0.9179
1.2.05 0.9884 0.9782 0.9845 0.9952 0.9762 0.9989 0.9427 0.9427 0.9574 0.9417 0.9802 0.9744 0.9907
1.2.06 0.9776 0.9653 0.9726 0.9963 0.9611 0.9947 0.9245 0.9245 0.9434 0.9245 0.9683 0.9613 0.9821
1.2.07 0.9571 0.9404 0.9511 0.9876 0.9335 0.9837 0.8898 0.8898 0.9158 0.8915 0.9441 0.9347 0.9632
1.2.08 0.9731 0.9605 0.9683 0.9967 0.9533 0.9928 0.9183 0.9183 0.9402 0.9198 0.9638 0.9563 0.9788
1.2.09 0.9912 0.9816 0.9874 0.9924 0.9820 0.9986 0.9483 0.9483 0.9601 0.9460 0.9832 0.9781 0.9922
1.2.10 0.9645 0.9483 0.9587 0.9842 0.9456 0.9863 0.8998 0.8998 0.9218 0.9000 0.9511 0.9421 0.9681
1.2.11 0.9762 0.9630 0.9713 0.9949 0.9582 0.9945 0.9203 0.9203 0.9406 0.9208 0.9658 0.9583 0.9805
1.2.12 0.9741 0.9616 0.9696 0.9965 0.9541 0.9934 0.9197 0.9197 0.9417 0.9212 0.9647 0.9573 0.9796
1.2.13 0.9971 0.9927 0.9956 0.9946 0.9877 0.9985 0.9694 0.9694 0.9804 0.9691 0.9941 0.9908 0.9990

Análise de Resultados

Não houve diferenças significativas alterando-se o elemento estruturante de elipse, para retângulo ou cruz.

O ZNCC teve pior desempenho de similaridade esperado na resolução 512x512 do que na resolução 64x64, porém o comprimento dos espectros granulométricos foram diferentes. O experimento deveria ser repetido para curvas granulométricas de mesmo comprimento.

O coeficiente ZNCC aparentemente não é uma boa métrica de similaridade de textutras.

Referências Bibliográficas

Fora as referências mencionadas pelo Prof.Neucimar em sala de aula, gostaria de acrescentar: