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:
- Image Retrieval Using Greyscale Granulometries . Marcos Cordeiro D'Ornellas e Niels J. Nes.
- Color Image Texture Indexing . Marcos Cordeiro D'Ornellas e Niels J. Nes.
- Visual Information Retrieval . Alberto Del Bimbo