DOI QR코드

DOI QR Code

A Study on the Analysis of Structural Textures using CNN (Convolution Neural Network)

합성곱신경망을 이용한 구조적 텍스처 분석연구

  • Lee, Bongkyu (Dept. of Computers&Statistics, Jeju National University)
  • 이봉규 (제주대학교 전산통계학과)
  • Received : 2020.07.08
  • Accepted : 2020.08.07
  • Published : 2020.08.31

Abstract

The structural texture is defined as a form which a texel is regularly repeated in the texture. Structural texture analysis/recognition has various industrial applications, such as automatic inspection of textiles, automatic testing of metal surfaces, and automatic analysis of micro images. In this paper, we propose a Convolution Neural Network (CNN) based system for structural texture analysis. The proposed method learns texles, which are components of textures to be classified. Then, this trained CNN recognizes a structural texture using a partial image obtained from input texture. The experiment shows the superiority of the proposed system.

Ⅰ. 서론

텍스처는 상호 관련된 요소들로 구성된 물체 표면의 조직구조를 의미하는 것으로, 영상 내의 부드러움 (Smoothness), 거침 (Coarseness), 규칙성 (Regularity) 등으로 영상의 표면을 규정하는 방법으로. 특정 패턴을 분류/인식하는 특징으로 효과적으로 사용될 수 있다. 영상처리/인식 분야에서 텍스처는 무작위 패턴과 구조적인 패턴으로 구분한다[1,2]. 이중에 구조적인 텍스처는 그림 1에서 보듯이 텍스처를 구성하는 기본요소인 텍셀 (texel)이 규칙적으로 반복되는 형태로 정의되며, 반복되는 규칙에 따라서 텍셀간의 공간적인 관계인 근접성, 거리 및 주기가 결정된다. 직물류 (woven fabric), 가구류 문양 등은 대표적인 구조적 텍스처의 예이다. 또한 전자빔을 사용한 금속표면에 대한 마이크로 이미지나 사람의 내피 (endothelium) 영상은 대표적인 구조적 텍스처이다. 따라서 구조적 텍스처 분석/인식은 직물류의 자동검사, 금속표면 자동테스트 및 마이크로 이미지의 자동 분석 등, 산업적인 응용이 다양하다.

OTNBBE_2020_v20n4_201_f0001.png 이미지

그림 1. 구조적 텍스처 예

Fig. 1. Examples of structural textures

구조적인 텍스처를 분석하는 방법으로는 통계적 방법과 구조적 방법이 있다[3]. 통계적인 접근 방법은 텍스처를 특정패턴을 구성하는 무작위 형태의 문양적인 패턴으로 인식한다. 반면에 구조적 접근방식에서는 텍스처를 구조화된 현상으로 파악하는 방법이다. 따라서 구조적인 접근방법에서는 텍셀 (texel) 로 정의되는 기본적인 요소를 정의하고 텍셀의 공간적인 관계를 분석하여 텍스처를 분석하는 방법이다. 그러나 텍셀을 정의하는 것이 어려운 일이기 때문에 텍셀을 정의할 필요가 없는 MRSAR[4]과 같은 통계적인 방법을 통하여 구조적인 텍스처를 분석하는 것이 일반적으로 사용되고 있다[5]. 그러나 무작위 패턴과는 달리 텍셀이 분류/인식에 매우 중요한 구조적 텍스처에서는 기존의 통계적인 기법이 좋은 성능을 보이지 못하는 단점을 보이고 있기 때문에 텍셀의 유사성을 잘 반영할 수 있는 구조적 분석방법이 필요하다[6].

이에 따라서 학습을 통하여 텍스처를 자동으로 분류하는 기능을 가진 신경망을 사용하는 방법이 연구되었다[7,8]. 그러나 신경망 기반의 구조적 텍스처를 위해서는 학습으로 사용될 텍셀에서 나타나는 문제점을 해결해야 한다. 일반적으로 텍셀의 연속성 때문에 측정되는 위치에 따라서 다양한 변형이 나타난다. 그림 2에서 보듯이 같은 구조적 텍스처에서는 4방향 순환 (warp-around) 기하학 변형이 발생할 수 있다. 이런 변형에 무관하게 신경망을 학습시키기 위해서는 대규모의 학습데이터를 사용하는 방법이 있으나, 현실적으로 불가능한 방법이다. 실제 구현 가한 방법으로는 가적 윈도우와 텍셀 영상의 이차특징을 이용한 구조적 텍스처 분석 방법이 제안되었다[9]. 그러나 이차신경망을 위한 특징추출 단계 및 복잡한 전처리 과정을 필요로 하는 단점이 있다.

OTNBBE_2020_v20n4_201_f0002.png 이미지

그림 2. 단일 텍스처로부터 획득되는 패턴들

Fig. 2. Patterns obtained from a single texture

본 논문에서는 합성곱신경망 (Convolution Neural Network, CNN)을 통하여 구조적 텍스처를 인식하는 새로운 방법을 제안한다. 제안하는 방법은 구조적 텍스처에서 발생하는 순환 기하학 변형을 학습하기 위해 5개의 텍셀영상 (1개의 원래 텍셀과 4가지의 순환 기하학적 변형이 발생된 텍셀)을 이용한다. 합성곱신경망의 경우는 합성곱 층에서 다단계 필터를 사용하기 때문에 기존 신경망에 비하여 인식/분류 능력이 높기 때문에 기존의 신경망 모델에서 찾기 어려운 텍스처 패턴 변화를 5개의 학습 데이터로부터 감지할 수 있다. 제안 방법이 실제 학습 가능한지 여부와 인식 성능 평가를 위해 Brodatz 텍스처 데이터베이스[10] 에 있는 영상을 이용한 실험을 수행한다.

Ⅱ. 합성곱신경망과 텍스처 분석

영상패턴 분류를 위한 기존의 인공신경망은 주어진 영상으로부터 분류에 필요한 특징을 사람이 수작업으로 데이터 전처리 및 가공을 통해 사전에 추출한 후, 이 특징을 입력으로 하여 분류기만을 기계 학습한다. 따라서 학습데이터가 방대할 경우, 효과적으로 패턴인식 시스템을 설계하는 것이 매우 어려운 일이다. 이런 문제점을 해결하기 위해 그림 3.에서 보듯이 합성곱신경망은 특징추출과 인식을 통합하여 처리하는 형태를 가진 새로운 신경망이다. 합성곱신경망은 입력 영상을 그대로 입력 층에 제공함으로써 별도의 특징추출 과정이 필요 없다[11,12].

OTNBBE_2020_v20n4_201_f0003.png 이미지

그림 3. 합성곱신경망과 기본신경망

Fig. 3. CNN and Traditional NN

합성곱신경망의 구조는 내부특징추출을 목적으로 하는 다수의 합성곱 층과, 합성곱 층으로부터 추출한 특징을 인식하는 1개의 인식 층 (3층 구조의 다층신경망)로 그림 4와 같이 구성된다. 개개의 합성곱 층은 입력 영상에 대한 특징추출을 위한 필터연산을 수행하는 단층 신경망과 필터연산 결과의 크기를 재조정(Subsampling) 하는 단층 신경망으로 구성된다. 1개의 인식 층은 완전연결 층(Full connection) 구조를 가지는 다층 신경망의 구조를 가진다. 입력된 영상은 복수의 합성곱 층에 의해서 다양한 형태의 특징으로 변환되며 최종 변환과정을 거친 특징은 완전연결 인식 층에 사용된다.

OTNBBE_2020_v20n4_201_f0004.png 이미지

그림 4. 합성곱신경망 구조

Fig. 4. Te architecture of CNN

합성곱신경망의 학습은 기존의 신경망에서 사용하는 오류 역전파 알고리즘이 사용된다. 그러나 합성곱신경망에서 사용하는 오류역전파 학습은 기존의 신경망과는 차이가 있다. 기존의 인공신경망에서는 초기 가중치 설정에 대한 명확한 근거가 없었기 때문에 효율적인 학습이 이루어지지 못하였다. 이에 비해 합성곱신경망은 초기 가중치를 효율적으로 추정하는 최적화(Optimization) 알고리즘을 사용하여 최적의 초기 가중치를 추정할 수 있는 장점이 있다[13,14].

합성곱신경망은 다양한 텍스처에 대해서 일반화하여 사용이 가능한 방법으로 인식된다. 학습을 통하여 텍스처 분석과 분류를 하나의 구조에서 구현이 가능하면서 우수한 분류능력을 보이고 있다. 이런 배경을 바탕으로 합성곱신경망인 LeNet-5에 기반을 둔 CoNN(Convolutional Neural Network)을 이용한 텍스처를 분석하는 방법이 제안되었다[14]. 제안된 CoNN은 Brodatz 데이터베이스에 있는 이미지를 대상으로 한 분류실험에서 일반화가 가능하면서도 기존의 분석적인 방법과 유사한 성능을 나타내고 있다. 또한 Luiz G. Hafemann는 합성곱신경망으로 산림의 종류를 분류하는 합성곱신경망을 제안하고 성능을 보임으로써 합성곱신경망의 우수성을 보였다[15]. 이렇게 합성곱신경망은 기존의 방법에서 찾을 수 없는 일반화 기능을 가지면서 분류 능력 역시 우수한 것으로 나타난다.

Ⅲ. 구조적 텍스처 분석을 위한 합성곱신경망

그림 5.에서 본 논문에서 제안한 합성곱신경망의 구조를 보여준다. 제안신경망의 입력 노드 수는 입력되는 영상의 크기에 따라서 구현에서 가변적으로 구현되어야 한다. 그러나 구조에 대한 구체적인 기술을 위하여 n×n크기의 입력영상에 대해서 n이 30인 경우로 구조를 설명한다. 제안된 합성곱신경망은 입력 층의 노드는 900 (30×30)개이고 출력층은 분류하고자 하는 텍스처의 클래스 수가 된다. 입출력 층 사이에는 3개의 합성곱 층과 1개의 인식 층이 존재한다. 첫 번째 합성곱 층은 합성곱을 수행하는 층과 풀링 층 2개로 구성된다. 첫 번째 합성곱 층은 입력 이미지를 3×3 크기의 필터 32개를 통해 합성곱 연산을 수행하여 32개의 내부 특정 맵을 구성한다. 첫 번째 합성곱 층에 연결된 풀링 층은 2×2의 블록 단위로 합성곱 결과 맵의 크기를 15 × 15 크기의 32개 특징 맵으로 만든다. 두 번째 합성곱 층에서는 3×3크기의 필터 64개를 사용해서 15 × 15크기의 특징 맵 64개를 만든다. 세 번째 합성곱 층은 3×3크기의 필터 64개로 구성된다. 이런 구조를 가지는 합성곱 층을 모두 통과하여 얻어지는 최종결과는 64개의 15 × 15크기의 특징 맵으로 나타난다.이런 다양한 합성곱의 변환을 통하여 순환 기하학 변환을 해결하는 것이 본 논문에서의 핵심다. 최종적으로 얻어진 64개의 15 × 15크기 특징 맵은 일차원 배열로 변환(Flatten)되어 인식을 담당하는 완전 연결된 3층 구조의 (입력, 은닉, 출력) 다층신경망 (Multi-Layer Perceptron, MLP)에 입력되어 입력된 텍스처를 분류하는 역할을 한다.

OTNBBE_2020_v20n4_201_f0005.png 이미지

그림 5. 제안된 합성곱신경망 구조

Fig. 5. The architecture of the proposed CNN

그림 6.에서 실제 인식대상에 대해서 학습이 완료된 합성곱 산경망의 인식과정에 대한 알고리즘을 보여준다. 먼저 m개의 구조적 텍스처 중에서 현재 인식 대상이 되는 하나의 구조적 텍스처에 대해서 정해진 크기의 윈도우를 이용하여 텍셀정보를 추출하여 실제 합성곱신경망의 입력을 구성한다. 신경망의 실제 입력 이미지는 순환 변형이 포함될 가능성이 있는 특정 텍스처를 구성하는 텍셀 이미지이다. 비록 순환 변형이 존재하더라도 학습된 합성곱신경망의 일반화 능력에 의해서 올바른 인식이 기능할 것으로 판단한다. 입력된 텍셀정보를 합성곱신경망의 합성곱 층에 의해서 내부 변형된 패턴은 인식 층에 전달되어 인식결과를 낸다. 인식 층의 출력 노드 중 가장 큰 값을 가지는 노드의 번호 (인식된 텍스처 id)와 출력 값을 저장한다. 이러한 인식과정을 분류를 위한 텍스처들에 대해서 l번 반복하면서 인식을 수행한다.

OTNBBE_2020_v20n4_201_f0006.png 이미지

그림 6. 인식 단계에 대한 알고리즘

Fig. 6. The algorithm for recognition

(l : a number of iterations per Ti)

Ⅳ. 구현 및 실험 결과 분석

제안한 합성곱신경망은 Ubuntu 16.04.6 LTS 운영체제 기반의 GPU (Graphics Processing Unit)가 설치된 워크스테이션에서 구현된다. 입력 영상을 위한 전처리 및 합성곱신경망의 구현은 Python 2.7.15rc1 프로그래밍 언어와 텐서플로우 1.13.1 (Tensorflow 1.13.1)을 이용한다. 제안하는 합성곱신경망의 성능 비교를 위하여 기존의 텍스처 분석에 사용된 두 개의 합성곱신경망인 Alexnet[16]과 VGG16[17]을 구현하고 사용한다. 비교 시스템은 전체적인 구조는 유지하면서 입력층과 최종 출력층의 구조는 입력영상에 맞게 수정한다. 제안시스템과 비교 시스템 모두 활성화 함수로 ReLU를 사용하며, 이웃 커널 값을 고려하여 성곱 결과를 조정하는 지역 반응 정규화와 과적합 방지를 위해 드롭아웃 (Dropout)을 사용한다.

제안한 시스템의 성능분석을 위하여 Brodatz 앨범에 포함된 256 × 256 크기의 20개의 구조적 텍스처 (그림 7)를 사용한다. 학습을 위해서 각 텍스처로부터 3 × 30 크기의 텍셀 원형 1개와 4방향 순환 변형이 발생한 패턴 4개를 수동으로 추출하여 학습에 사용한다. 이렇게 선택된 100개의 학습 패턴들을 제안 신경망과 비교 시스템을 모두 학습시킨다.

OTNBBE_2020_v20n4_201_f0007.png 이미지

그림 7. 실험용 텍스처와 구성 텍셀

Fig. 7. Textures and their texels for the experiment

제안 신경망의 일반화에 대한 테스트를 위하여 각 텍스처마다 임의의 위치에서 추출한 30개의 30 × 30 부분 이미지를 (총 600개) 학습된 신경망에 입력한 후 인식 성능을 확인한다. 테스트 결과 3가지의 합성곱신경망 모두 5개의 패턴만을 통하여 학습함에도 불구하고 99%의 인식률을 나타냈다. 이런 현상은 기존의 단순 신경망에서 볼 수 없는 일반화 능력을 합성곱신경망이 가지고 있음을 보이는 것이다. 인식률 측면에서는 3가지 시스템 중에서 제안시스템이 다른 비교시스템에 비교하여 가장 낮게 나타났다. 그러나 제안 시스템의 경우는 단순하고 효율적인 구조를 가짐으로써 비교 시스템에 비하여 학습 및 인식에 요구되는 시간이 가장 작으면서도 유사한 인식 성능을 나타냈다. 이를 통하여 제안시스템이 순환변형을 가지는 텍셀에 대해 효과적인 학습을 하는 구조인 것이 확인되었다. 즉 제안 시스템은 다양한 구조적 텍스처 분류/인식에 효과적으로 사용될 수 있다.

표 1. 실험결과

Table 1. The experimental results

OTNBBE_2020_v20n4_201_t0001.png 이미지

Ⅴ. 결론

본 논문에서는 텍셀기반의 학습을 통하여 구조적 텍스처의 분류하는 합성곱신경망 기반의 새로운 방법을 제안했다. 제안한 방법은 구조적 텍스처를 구성하는 각 텍셀의 순환 변형을 고려한 데이터를 통한 학습을 통하여 제안한 구조의 합성곱신경망을 학습시킨다. 학습된 합성곱 신경망은 인식대상인 텍스처로부터 얻어지는 텍셀크기의 부분 영상을 이용하여 분류/인식을 수행한다. 다양한 구조적 텍스처를 이용한 실험을 통하여 제안된 합성곱신경망과 기존의 텍스처 분석에 사용된 합성곱신경망 방법과 비교를 통하여 제안 방법의 효과를 보였다.

구조적 텍스처 인식은 산업적으로 활용이 많은 영역으로, 다양한 응용이 가능하다. 따라서 텍셀의 인식에서 발생하는 기본 문제를 해결하는 제안 방법은 산업적으로 활용이 가능할 것으로 판단된다.향후 하나 이상의 텍셀로 구성된 텍스처를 인식하기 위한 추가 연구를 진행하여 효용성을 높일 것이다.

References

  1. A.K. Jain, Fundamentals of digital image processing, Prentice Hall, 1989.
  2. Jin-Young Lee, Jongho Kim, "Evaluation of Marker Images based on Analysis of Feature Points for Effective Augmented Reality", Hournal of the Korea Academia-Industrial cooperation Society, Vol. 20, No. 9, pp. 49-55, 2019. DOI: https://doi.org/10.5762/KAIS.2019.20.9.49.
  3. Y.Q. Chen, M.S. Nixon, D.W. Thomas, “Statistical geometrical features for texture classification,” Pattern Recognition , Vol. 24, No. 4, pp. 537-552, 1995.
  4. J. Mao, A.K. Jain, “Texture Classification and segmentation using multiresolution simultaneous autoregressive models,” Pattern Recognition, Vol. 25, No. 2, pp. 173-188, 1992.
  5. M. Unser, M. Eden, “Multiresolution feature extraction and selection for texture segmentation,” IEEE Trans. on PAMI , Vol. 11, No. 7, pp. 717-728, 1989.
  6. F. Liu, R.W. Picard, "Periodicity, Directionality and Randomness: Wold features for image modeling and retrieval," IEEE Trans. on PAMI Vol. 18, No. 7, pp. 722-733, 1996.
  7. N.R. Dupaguntla, V. Vemuri, "A neural network architecture for texture segmentation and labeling," Proc. IJCNN'89 , Vol. I, pp. 127-133, 1989.
  8. V. Ari, "A texture classifier based on neural network principles," Proc. IJCNN '90 , Vol. I, pp. 491-496, 1990.
  9. Bongkyu Lee, "A New Method for Classification of Structural Textures", International Journal of Control, Automation and Systems, Vol. 2, No. 1, 2004.
  10. Phil. Brodatz, Texture: A photographic album for artists and designers, Dover Pubns, 1966.
  11. Donggu Lee, Young-Ghyu Sun, Soo-Hyun Kim, Issac Sim, Kye-San Lee, Myoung-Nam Song, Jin-Young Kim, "CNN-based Image Rotation Correction Algorithm to improve Image Rotation Rate", The Journal of IIBC, Vol. 20, No. 1, pp. 225-229, 2020.
  12. Yann LeCun, Leon Bottou, Yoshua Bengio, Patrick Haffner, "Gradient-based learning applied to document recognition", Proceedings of the IEEE Vol. 86, No 11, pp. 2278-2324, 1998.
  13. Gwon-dong Lee, Juhyung Maeng, Seokil Song, "Mobility Mode Classification Method for Trajectory Data Using CNN", Journal of KIIT, Vol. 17, No. 12, pp. 13-20, Dec, 2019. DOI: http://dx.doi.org/10.14801/jkiit.2019.17.12.13.
  14. F. H. C. Tivive, A. Bouzerdoum, "Texture classification using convolutional neural networks", in TENCON 2006-2006 IEEE Region 10 Conference, pp. 1-4, 2006.
  15. Luiz G.. Hafemann, L. S. Oliveira, P. Cavalin, "Forest species recognition using deep convolutional neural networks" Proceedings of 22nd International Conference on Pattern Recognition, pp. 1103-1107. 2014.
  16. Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, "ImageNet Classification with Deep Convolutional Neural Networks", Proceedings of the 25th International Conference on Neural Information Processing Systems, Vol. 1, pp. 1097-1105, 2011.
  17. Karen Simonyan, Andrew Zisserman, "Very Deep Convolutional Networks for Large-Scale Image Recognition", a conference at ICLR, pp. 1-14, 2015.