Korean Institute of Information Technology

The Journal of Korean Institute of Information Technology - Vol. 22 , No. 11

[ Article ]
The Journal of Korean Institute of Information Technology - Vol. 22, No. 11, pp. 47-52
Abbreviation: Journal of KIIT
ISSN: 1598-8619 (Print) 2093-7571 (Online)
Print publication date 30 Nov 2024
Received 29 Oct 2024 Revised 14 Nov 2024 Accepted 17 Nov 2024
DOI: https://doi.org/10.14801/jkiit.2024.22.11.47

CNN 기반 인코더와 Transformer 기반 인코더의 이미지 캡셔닝 성능 비교 분석
남기훈*
*서경대학교 전자컴퓨터공학과 부교수

Comparison Analysis of Image Captioning Performance between CNN-based Encoder and Transformer-based Encoder
Ki-Hun Nam*
Correspondence to : Ki-Hun Nam Dept of Electronics and Computer Engineering, SeoKyeong University, 4-dong, Jeongneung, Seongbuk-gu, Seoul, Korea Tel.: +82-2-940-7667, Email: namkh@skuniv.ac.kr

Funding Information ▼

초록

이미지 캡셔닝은 이미지의 특징을 추출하여 이미지를 인식하고 자연어 처리와 결합하여 이미지에 대한 설명을 생성하는 작업이다. 이미지 캡셔닝 결과는 때때로 부자연스러운 텍스트를 생성한다. 이러한 문제의 원인을 정확하게 파악하기 위해 인코더들의 성능을 비교 실험한다. 이미지 캡션 생성 과정은 인코더, 디코더 구조를 가진다. 인코더에서 얻어지는 이미지 특징 추출 결과에 따라 디코더에서 생성되는 텍스트에 많은 영향을 미친다. 그에 따라 CNN 계열의 Resnet50, VGG-16과 트랜스포머 계열의 비전 트랜스포머, 스윈 트랜스포머 인코더의 성능을 비교하여 캡션 생성에 있어서 결정적인 영향을 주는지를 분석한다. 정성 및 정량 평가한 결과를 수치화하고 그래프 및 표로 제시하여 CNN 계열과 트랜스포머 계열의 인코딩 결과를 비교 분석하였다.

Abstract

Image captioning involves extracting features from an image to recognize its content and combining them with natural language processing to generate a description of the image. However, the results of image captioning sometimes generate unnatural text. To accurately identify the cause of this issue, a comparative experiment of various encoders’ performance is conducted. The image caption generation process employs an encoder-decoder architecture. Since the text generated by the decoder is heavily influenced by the results of image feature extraction obtained from the encoder. This study compares the performance of CNN-based encoders, such as ResNet50 and VGG-16, with Transformer-based encoders, like Vision Transformer and Swin Transformer, to analyze whether they have a decisive impact on caption generation. This study quantified the results of the qualitative and quantitative evaluation and presented them in graphs and tables to compare and analyze the encoding performance between CNN-based and Transformer-based models.


Keywords: image captioning, residual network 50, visual geometry group-16, vision transformers, shifted window transformer

Ⅰ. 서 론

이미지 캡셔닝(Image captioning)은 이미지의 특징을 추출하여 이미지를 인식하고 자연어 처리와 결합하여 이미지에 대한 설명을 생성하는 작업이다. 이미지 캡셔닝 기술 활용 영역은 의료 영상 자막 자동 생성, 비디오 영상 내용 요약, 자동차 주행 시 상황 설명, 시각 장애인 스마트 서비스, 문장을 기반으로 영상 검색, 감시 카메라 상황 판독 등 실생활에 많은 영향을 줄 수 있다[1][2]. 이미지 캡셔닝 결과는 때때로 객관적인 인식한계, 데이터 편향, 문맥 이해 부족, 부자연스러운 언어 생성과 같은 문제점을 가지고 있다. ‘CVPR2023’ 이미지 캡셔닝 워크숍에서 “편견과 고정관념을 지우고 상식 및 지식과 맥락(Context)을 파악하는 이미지 캡셔닝 기술로 진화시켜야 한다.”라는 필요성을 강조하고 있다. 인공지능이 생성한 이미지 캡션의 문맥은 다소 이해하기 복잡하며, 이미지 캡셔닝 평가가 어려운 이유는 인공지능 언어 모델의 문제일 수도 있고 데이터나 다른 요소들로 문제가 발생할 수 있기 때문이다[3].

문제가 되는 원인을 확인하고자 첫 단계이며 핵심이 되는 이미지의 특징을 추출하는 인코더 과정을 정밀하게 검토분석 하려 한다. 인코딩에서 가장 많이 다루어지고 있는 CNN(Convolutional Neural Network) 기반의 인코더와 트래스포머(Transformer) 기반의 인코더들의 성능 및 차이를 비교 분석하는 연구를 제안한다.

본 논문에서는 CNN 기반 모델 Resnet50, VGG-16과 트랜스포머 기반 모델 비전 트랜스포머, 스윈 트랜스포머를 대상으로 인코딩 성능 비교 실험을 하였다. 2장은 캡셔닝에 사용될 인코더들과 디코더 과정을 설명하며, 3장에서는 모델들의 실험 방법 및 결과를 도출하고 4장에서 결론을 기술한다.


Ⅱ. 인코더 모델들과 GRU 디코더

이미지 캡션 생성 과정은 크게 인코더 구조와 디코더 구조로 나뉜다. 인코딩은 CNN, 트랜스포머 계열들의 모델을 디코딩은 RNN(Recurrent Neural Network)과 LSTM(Long Short Term Memory)을 합친 형태 또는 GRU(Gated Recurrent Unit)를 주로 사용한다.

그림 1은 CNN 인코딩 구조이다. 이미지를 텐서(Tensor)로 다차원 배열화한다. 텐서는 이미지 세로 방향 픽셀 수의 높이 값, 이미지 세로 방향 픽셀 수의 너비 값, 각각의 픽셀이 표현하는 색상 또는 데이터 종류의 채널 수로 표시한다. 이미지 텐서 값을 CNN에 입력하고 합성곱(Convolution) 연산으로 데이터의 공간적인 특징들을 추출한다. 합성곱에서 얻은 특징 맵 차원을 줄이기 위해 최대 풀링(Max pooling) 연산한다. ReLU(Rectified Linear Init) 활성화 함수(Activation function)는 모델의 복잡한 패턴 학습을 위해 필터를 사용하여 입력 배열에서 데이터의 특징을 추출하고, 활성화 함수를 통해 비선형을 추가한다. 임베딩 이미지 특징 벡터를 생성하여 디코더로 전달한다[4][5].


Fig. 1. 
CNN encoder architecture

CNN은 이미지 데이터에 대한 다양한 문제를 효율적으로 해결할 수 있는 장점이 있다. 이미지와 같은 고차원 데이터의 특징을 효과적으로 추출하고 정확한 예측을 수행하는 데 유리한 모델이지만, 훈련 과정에서 높은 계산 자원이 요구되는 단점도 있다. CNN 기반 모델 중 기울기 소실 문제를 해결한 Resnet50와 상대적으로 단순한 구조와 작은 커널을 여러 개 쌓아 사용한 것이 VGG-16이다[6]. 그 외에도 VGG-19, Inception(GoogLeNet), Xception(Extreme Inception), DenseNet (Densely Connected Convolutional Network), EfficientNet, MobileNet, NASNet (Neural Architecture Search Network) 등의 인코더들이 있다.

CNN을 대체하거나 다른 솔루션 방향성을 제안한 방법이 트랜스포머이다.

트랜스포머는 주로 자연어 처리(Natural language processing)를 위해 사용되었으며, 어텐션 메커니즘(Attention mechanism) 통해 문장 내 단어 간의 관계를 분석하여 문맥에서 단어의 의미를 효과적으로 추출한다[7].

이미지로 처리하는 모델을 적용한 것이 비전 트랜스포머(Vision transformer)이며, 셀프 어텐션(Self attention)을 사용하여 이미지 간의 관계를 학습한다.

그림 2는 기존의 트랜스포머 구조를 활용한 비전 트랜스포머 인코딩 구조이다. 이미지를 작은 단위로 패치(Patch)하여 토큰화한다. 토큰을 임베딩 벡터(Embedding vector)로 변환하고 위치 정보(Position)를 임베딩 벡터에 추가 합산한다. 멀티 헤드 어텐션(Multi head attention)을 통해 다른 시각적 관점으로 임베딩 벡터 간의 상관관계를 학습한다[8].


Fig. 2. 
Vision transformer encoder architecture

스윈 트랜스포머는 전환된 윈도우(Shifted window) 방식을 사용하여 이미지 패치를 구역별로 나눈 후 겹치면서 전역적 학습하며, 계층적 특징 맵을 구성하여 이미지 크기에 따라 선형 복잡도를 가져 작은 패치부터 큰 패치로 점차 확대해 더 넓은 정보를 학습한다[9]. 그 외에도 DETR(DEtection TRansformer), CrossViT(Cross-Attention Vision Transformer), BEiT(Bidirectional Encoder representation from Image Transformers), Florence, Perceiver IO, MAE(Masked Autoencoder), CLIP(Contrastive Language Image Pretraining) 등의 인코더가 사용되고 있다.

디코더는 순환 신경망 계열의 RNN(Recurrent Neural Network), LSTM(Long Short Term Memory), GRU(Gated Recurrent Unit) 구조들이 사용되어 이미지에 대한 정보를 텍스트로 생성한다. RNN은 시퀀스가 길면 앞단의 스텝 정보가 뒤로 전달되지 못하는 장기 의존성 문제가 발생한다. 문제점을 개선하고자 LSTM을 사용하게 되었으며 LTMS의 간소화한 형태 GRU 구조를 사용하면 계산량을 줄이고 빠른 학습 훈련이 가능하다[10].

그림 3은 GRU의 구조이다. GRU는 업데이트 게이트와 리셋 게이트를 활용하여 이전 단어와 현재 단어의 관계를 조절하는데 업데이트 게이트가 이전 상태를 얼마나 유지할지, 리셋 게이트가 새로운 입력을 반영할지를 결정해 문맥 정보를 효율적으로 학습한다. 첫 번째 단어가 생성된 후 이를 입력으로 받아 다음 단어를 생성하는 과정을 반복하여 단어의 순서를 예측하며 전체 캡션을 생성한다[11].


Fig. 3. 
Structure of GRU


Ⅲ. 실험 및 결과

본 연구는 실험을 위해서 컴퓨터 비전 및 자연어 처리 분야에서 모델 연구에 자주 활용되는 Flickr8k 데이터셋을 사용한다. Flickr8k 데이터셋은 이미지 캡셔닝 연구를 위해 널리 사용되는 데이터셋으로, 총 8,000장의 이미지와 각 이미지에 대한 다섯 개의 텍스트 캡션으로 구성되어 있다. 이미지의 시각적 특징을 기반으로 적절한 텍스트 설명을 생성하거나, 주어진 설명에 맞는 이미지를 검색하는 등의 연구에 활용된다. ImageNet-1K 데이터셋에 대하여 사전학습된 모델들을 CNN 기반의 Resnet50, VGG-16과 트랜스포머 기반의 비전 트랜스포머, 스윈 트랜스포머를 순차적으로 적용하였으며 디코더는 GRU를 사용하여 그림 4와 같은 절차로 학습 실험을 진행한다.


Fig. 4. 
Image captioning framework

실험에 사용된 도구로는 Visual Studio Code(IDE), Python(Language), Pytorch(Deep Learning Library), Matplotlib(Visualization)을 사용했으며, 딥러닝 학습 환경은 CPU – AMD Ryzen Threadripper 3990X, RAM – 251GB, GPU – Nvidia RTX Quadro 8000을 2개 사용한다.

실험 결과는 정량 평가와 정성 평가를 하였다. 평가 주요 성능 지표로는 생성된 텍스트와 참조 텍스트 간의 개별 단어가 얼마나 겹치는지를 측정하기 위한 BLEU(Bilingual Evaluation Understudy Score)-1, 1개 단어부터 4개 단어까지의 일치율을 고려하는 BLEU-4를 구하였으며, BLEU의 단점을 보완한 조화평균(Harmonic Mean)을 구하는 METEOR(Metric for the Evaluation of machine Translation Output Rate), 참조 텍스트와 생성된 텍스트 간의 공통 단어의 비율을 계산하는 ROUGE(Recall Oriented Understudy for Gisting Evaluation), TF-IDF 가중치를 사용하여 추정하는 CIDEr(Consensus based Image Description Evaluation)들을 사용하여 성능을 평가한다[12].

표 1의 결과를 보면 에포크(Epoch) 횟수에 따라 학습 결과가 향상되거나 저하되는 점이 관찰된다. 6에포크까지는 비교적 트랜스포머 계열이 CNN 계열 인코더 보다 다소 우수함을 나타낸다.

Table 1. 
Comparison of encoding image feature extraction performance
MODEL EPOCH BLEU1 BLEU2 BLEU3 BLEU4 METEOR ROUGE CIDEr
Resnet50 1 0.378 0.197 0.108 0.053 0.177 0.383 0.648
2 0.404 0.238 0.161 0.115 0.182 0.389 1.044
3 0.401 0.235 0.156 0.107 0.196 0.393 1.041
VGG-16 1 0.363 0.194 0.108 0.058 0.169 0.349 0.693
2 0.374 0.190 0.121 0.082 0.170 0.355 0.668
3 0.368 0.237 0.103 0.061 0.160 0.372 0.631
ViTs 1 0.410 0.224 0.148 0.093 0.187 0.407 0.831
2 0.384 0.290 0.142 0.086 0.176 0.378 0.824
3 0.451 0.169 0.195 0.123 0.211 0.468 1.316
Swin
transformer
1 0.368 0.091 0.091 0.056 0.158 0.355 0.664
2 0.406 0.149 0.149 0.096 0.201 0.420 0.944
3 0.429 0.266 0.187 0.138 0.209 0.451 1.570

그림 5에서는 10 에포크까지 학습을 수행한 결과 6 에포크까지는 트랜스포머 계열의 인코더들이 우수한 성능을 보이지만, 그 이상의 에포크부터는 CNN 기반의 모델들이 더 우수한 성능을 보이는 것으로 확인된다. 시각화 자료를 6 에포크까지만 수행하는 것을 제안하고 학습을 진행하던지, 일정 에포크부터는 과적합 문제에 따른 해결 방안을 제시하고 학습해야 될 것으로 보인다.


Fig. 5. 
Performance metrics graph

표 2는 3 에포크까지 학습을 진행한 정성 평가 이미지 캡셔닝 결과이다. 문맥들이 실측 자료(Ground truth)보다 부족한 문장이 생성되는 점을 볼 수 있다. 세 번째 이미지에서는 인코더들이 마우스가드 특징을 추출하지 못한 문장을 구성하였으며 Resnet-50은 부정확한 옷 색깔에 초점을 두고 있다. 스윈 트랜스포머 방식이 조금이나마 상황 설명에 맞는 문맥을 구성하고 있음이 확인되었다.

Table 2. 
Result of image captioning
Image Model Context
Ground truth small asianboy leans over bridge railing while being held
Resnet50 a young asianboy is climbing a wooden bridge over a wooden bridge
Swin trans. a young boy wearing a gray shirt and shorts is sitting on a bridge
Ground truth three little girls look on as a boy plays the harmonica with an adult guiutarist sitting beside him
Resnet50 a group of children playing instruments
Swin trans. a group of children play music in a parade
Ground truth young football players with mouthguards
Resnet50 a boy in a red shirt is holding a football and a boy in a red shirt and a white shirt
Swin trans. two boys are playing football


Ⅳ. 결론 및 향후 과제

이미지 캡셔닝 처리를 위해 CNN 기반과 트랜스포머 기반 인코더들의 성능을 관찰하였다. CNN 기반의 인코더들은 지역적 특징 추출에 강점을 보인 반면, 트랜스포머 계열의 인코더들은 전역적인 정보 처리에 강점을 지닌다. 본 연구에서 학습량이 적은 편일 때에는 트랜스포머 계열의 인코더 모델들이 다소 우수한 성능을 보이지만 학습 횟수가 많아지면 이미지 데이터 크기와 구성의 차이로 CNN 계열이 탁월한 결과를 나타냄을 확인하였다.

향후 과제로는 자연스러운 표현 즉, 진화된 이미지 캡셔닝 결과를 도출하기 위해서는 CNN과 트랜스포머 인코더를 선택적으로 사용할 수 있는 선택 구조 모델을 설계하거나 CNN과 트랜스포머 인코더들을 조합하여 하나의 표현 벡터로 통합하여 처리할 수 있는 하이브리드 이미지 인코더(Hybrid Image Encoder)의 연구 개발이 필요해 보인다.


Acknowledgments

This work was supported by Seokyeong University in 2023


References
1. S. Wu, J. Wieland, O. Farivar, and J. Schiller, "Automatic alt-text: Computer generated image descriptions for blind users on a social network service", Proc. of the 2017 ACM Conference on Computer Supported Cooperative Work and Social Computing, Portland Oregon USA, pp. 1180-1192, Feb. 2017.
2. P.-H. Ye and C.-H. Son, "Image Captioning via Swmantic Visual Feature Matching in Heavy Rain Condition", Journal of KIIT, Vol. 19, No 5, pp. 19-29, May. 2021.
3. https://m.dongascience.com/news.php?idx=60292 [accessed: Nov. 06. 2023]
4. M. Jogin, Mohana, M. S. Madhulick, G. D. Divya, R. K. Meghana, and S. Apoorva, "Feature Extraction using Convolution Neural Networks (CNN) and Deep Learning", IEEE International Conference on Recent Trends in Electronics Information & Communication Technology, Bangalore, India, Vol. 4, pp. 2319-2323, May. 2018.
5. A. Krizhevsky, I. Sutskever, and G. E. Hinton, "ImageNet Classification with Deep Convolutional Neural Networks", Communications of the ACM, Vol. 60, No. 6, pp. 84-90, May. 2017.
6. K. Simonyan and A. Zisserman, "Very Deep Convolutional Networks for Large-Scale Image Recognition", Computer Vision and Pattern Recognition, Sep. 2014.
7. A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, and I. Polosukhin, "Attention Is All You Need", Conference on Neural Information Processing Systems, pp. 6000-6010, Jun. 2017.
8. A. Hatamizadeh, G. Heinrich, H. Yin, A. Tao, J. M. Alvarez, J. Kautz, and P. Molchanov, "FasterViT: Fast Vision Transformers with Hierarchical Attention", Conference paper at ICLR, Jan. 2024.
9. Z. Liu, Y. Lin, Y. Cao, H. Hu, Y. Wei, Z. Zhang, S. Lina, and B. Guo, "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows", IEEE/CVF International Conference on Computer Vision, Montreal, QC, Canada, pp. 9992-10002, Oct. 2021.
10. J. Chung, C. Gulcehre, K. H. Cho, and Y. Bengio, "Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling", Deep Learning and representation Learning Workshop, Dec. 2014.
11. H. Parikh, H. Sawant, B. Parmar, R. Shah, S. Chapaneri, and D. Jayaswal, "Encoder-Decoder Architecture for Image Caption Generation", International Conference on Communication System, Computing and IT Applications, Mumbai, India, Apr. 2020.
12. K. Papineni, S. Roukos, T. Ward, and W.-J. Zhu, "BLEU: a method for automatic evaluation of machine translation", Proc. of the 40th annual meeting of the Association for Computational Lin-guistics, Philadelphia Pennsylvania, pp. 311-318, Jul. 2002.

저자소개
남 기 훈 (Ki-Hun Nam)

2001년 2월 : 서경대학교 컴퓨터과학과(이학석사)

2006년 2월 : 서경대학교 컴퓨터과학과(이학박사)

2017년 2월 ~ 현재 : 서경대학교 전자컴퓨터공학과 부교수

관심분야 : 임베디드시스템, 인공지능, 사물인터넷(IoT)