이미지 분할 모델을 이용한 Mask R-CNN 모델 정확도 향상 기법
Copyright ⓒ 2021 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
초록
본 논문은 도로노면을 찍은 컴퓨터 영상의 인공지능 분석정확도를 향상시키는 방법을 제안한다. 과거에는 도로노면 이미지 분석을 위해 크기를 축소한 뒤 처리하는 과정을 거쳤다. 이 과정에서 도로노면 분석결과이미지의 품질이 저하되고 도로노면의 미세균열이 사라지는 문제가 발생하였다. 상기 문제를 해결하기 위해 인공지능 모델의 전처리 단계에서 이미지 분할 및 이미지 병합 모델을 접목하여 해상도의 손실을 제거하였고 데이터 스케일 변환과 균열패턴 중요도에 따른 학습 데이터 수 조정을 통해 미세균열 패턴을 효과적으로 검출했다. 마지막으로 과거의 이미지 스케일 축소방법과 비교한 결과 제안 방법을 통해 분석했을 때 정확도가 향상된 것을 확인하였다.
Abstract
This paper proposes a method to improve the accuracy of artificial intelligence analysis of computer images of road surfaces. In the past, to analyze the road surface image, the size was reduced and then processed. In this process, as a result of road surface analysis, there was a problem that the quality of the image was degraded and the micro-crack on the road surface disappeared. In order to solve the above problem, in this paper, image segmentation and image cropping-merging models were combined in the preprocessing stage of the artificial intelligence model to eliminate the loss of resolution, and the micro-crack pattern was created through data scale conversion and adjustment of the number of training data according to the importance of crack patterns. Effectively detected. Finally, as a result of comparing with the previous image scale reduction method, it was confirmed that the accuracy was improved when analyzed through the proposed method.
Keywords:
Pavement Surface, Image Cropping, Image Merge, Image Analysis, Accuracy Enhancement키워드:
도로노면, 이미지 분할, 이미지 병합, 이미지 분석, 정확도 향상Ⅰ. 서 론
최근 기계학습에 대한 연구가 늘어나고 상용화가 진행되어감에 따라 컴퓨터 비전, 자연어 처리, 미래 예측 등 많은 공학 분야에 기계학습 기술이 적용되고 있다. 대부분의 산업분야에서 기계학습이 적용되어가고 있으며 이에 따라 기존 인간이 하던 일들이 점진적으로 자동화 소프트웨어로 대체되고 있다. 이러한 자동화 추세는 특히 컴퓨터 비전 분야에서 두드러진다.
토목건설 분야에서도 컴퓨터 비전 기술을 점차 사용하고 있다. 과거 도로품질평가, 균열의 존재유무 확인 등의 작업은 육안으로 도로이미지를 확인하며 진행하였다. 그러나 최근에는 이러한 일들을 컴퓨터 비전 기술을 활용해 자동화하는 연구가 활발하게 진행되고 있다[1][2].
컴퓨터 이미지에서 원하는 영역만을 추출해내는 대표적인 인공지능 방법으로 Mask R-CNN을 사용한다. 그러나 기존에 존재하는 Mask R-CNN 모델이 처리 가능한 입력 이미지의 크기는 특정 사이즈로 규정되어 있다. 즉, 특정한 크기를 갖지 않는 다른 이미지의 경우 처리할 수 없다. 따라서 해당 모델을 활용하기 위해 이미지를 축소 및 확대하는 경우 해상도의 손실이 발생하고 미세하고 작은 패턴을 갖는 균열 객체를 검출하지 못하게 되어 분석 결과물의 정확도 또한 기준치에 미달하게 된다[3].
본 논문에서는 이미지 분할과 병합 알고리즘을 적용하여 Mask R-CNN 모델에서 요구하는 입력 이미지보다 크기가 큰 이미지를 스케일 축소나 확대 없이 모델에 입력하는 입력방법과 미세 균열 패턴을 효율적으로 학습하는 방법을 결합한 모델을 제안한다. 도로 노면 이미지에 대해 모델에서 요구하는 크기와 동일하도록 이미지 분할과정을 진행하고, 모델을 통과시킨 뒤 결과 이미지를 다시 병합한다. 결과적으로 보다 정밀하게 원하는 객체를 식별하고 그 영역만을 마스킹 하는 것을 목표로 한다.
연구를 통해 제안 방법을 기존의 방법과 속도와 정확도 측면에서 비교하여 성능이 향상된 것을 확인하였다. 마지막으로 향후에는 Mask R-CNN 외의 모델에의 적용을 통한 확장 등의 발전 가능성을 제시한다.
Ⅱ. 관련 연구
R-CNN계열 모델은 R-CNN, Fast R-CNN, Faster R-CNN, 그리고 Mask R-CNN까지 크게 4가지 종류가 있다.
2-1 R-CNN[4]
R-CNN이란 Region proposals with CNN의 줄임으로 이미지 안에 어떤 객체들이 있는지 찾아내는 것을 목적으로 한다.
모델 내에 투입한 이미지 내에서 객체에 대해 2,000개 정도의 가능성 영역(Region Proposals)을 추출하여 CNN을 통과시켜 각 객체를 분류한다. 그러나 생성된 가능성 영역 마다 CNN 연산을 수행하여야 하므로 훈련 단계가 복잡하여 많은 시간을 소요한다.
2-2 Fast R-CNN[5]
Fast R-CNN은 R-CNN의 연산속도 개선을 위해 R-CNN에서 발생하는 병목현상의 해소에 집중하였다. 각 가능성 영역들이 모두 CNN을 통과하는 것이 아닌 전체 이미지를 통과해 출력된 특성 맵에서 객체를 탐지하여 속도를 개선하였다.
그러나 가능성 영역 탐색을 수행할 때 CNN이 아닌 선택적 탐색(Selective Search) 외부 알고리즘을 사용하여 병목현상이 발생할 수 있다.
2-3 Faster R-CNN[6]
Faster R-CNN은 CNN을 기반으로 한 Region Proposal Network(RPN)을 도입하여 가능성 영역 탐색 과정에서 발생하는 병목을 해소하였다.
Box boundary regression을 수행할 때에는 최종적으로 출력된 특성 맵에서 슬라이드 윈도우를 이용해 각 지점마다 가능한 박스의 좌표와 그 점수를 계산한다. 이 때 box는 1:1, 1:2, 2:1 등 임의의 3개 비율과 임의의 3개 크기, 즉, 9종류의 지점 박스를 활용한다.
2-4 Mask R-CNN[7]
Mask R-CNN의 경우 다른 R-CNN계열의 기술과는 다르게 인스턴스 세그멘테이션을 목적으로 한다. 이를 위해서는 객체 검출과 세멘틱 세그멘테이션을 동시에 해야 한다. Mask R-CNN의 경우 객체검출은 Faster R-CNN을 활용하며 각각의 ROI(Region of Interest)에 FCN(Fully Convolutional Network)을 추가하여 세멘틱 세그멘테이션을 수행한다.
또한 Mask R-CNN은 FCN 과정에 있어 ROI Align을 활용해 정확도를 개선한다. 기존 Faster R-CNN은 객체검출을 위한 모델이었으므로 ROI pooling 과정에서 정확한 원본 위치정보를 담는 것은 크게 중요하지 않았으나 Mask R-CNN은 픽셀과 픽셀 단위의 원본 위치정보가 중요시된다. ROI의 bin 위에 샘플링 포인트를 설정하고 bin 내부에 존재하는 각각의 feature의 값과 비율을 곱한 뒤 Max Pooling 을 통해 각 포인트의 값을 계산한다. 이를 통해 마스킹 영역의 정확도를 큰 폭으로 개선하였다.
Ⅲ. 제안 방법
3-1 목적
도로노면 이미지에서 나타나는 균열은 그림 3과 같이 시각적으로 명백하게 확인이 가능한 균열패턴도 있지만 분간하기 어려운 균열패턴도 존재한다. 그 예로 그림 4와 같이 검은 도로 위의 검은 균열, 미세 거북등 균열, 흰색 도로 위의 흰색 균열, 미세 선형균열 등 불명확한 균열 패턴으로 이루어진 균열들이 존재한다. 이 경우 인공지능 학습을 위한 다각형 형태의 세그멘테이션 학습 자료를 구성하기 어려운 문제가 발생한다. 또한 해상도가 낮은 이미지에서는 이러한 패턴을 검출하기가 어렵다.
이 문제는 도로노면 분석 후 결과 이미지의 검출율과 정확도의 문제가 생기게 된다. 이와 같은 문제를 해결하기 위해서는 고해상도 상태의 이미지 품질 유지와 미세패턴 학습이 필요하다.
따라서 본 논문에서는 고해상도 상태의 이미지 품질 유지를 위해 투입 이미지의 사이즈가 인공지능 모델이 요구하는 입력 이미지 사이즈보다 클 경우, 모델을 수정하지 않고 이미지를 수정하여 결과물을 얻어내는 것과 학습 데이터 셋의 특수처리를 이용한 미세패턴 학습을 수행하는 것을 목적으로 한다.
Ⅲ장에서는 인스턴스 세그멘테이션 과정에서 입력 이미지의 크기가 표준화되어 있지 않을 때, 이를 이미지 분할 모델을 통해 자동적으로 모델이 요구하는 크기로 분할한 뒤 모델을 통과한 출력 이미지를 병합하는 방안을 제시한다. 이는 별도의 하드웨어 성능향상을 요구하지 않으며 다양한 모델을 복합적으로 활용해 결과물을 도출하는 경우에 활용될 수 있다.
3-2 방법 및 구조
제안 방법의 흐름도는 그림 5와 같다. 하나의 입력 이미지는 별도로 제작된 이미지 분할 모델을 통과하여 모델이 요구하는 사이즈에 적합한 분할이미지로 분리된다.
분리된 이미지들은 각각이 영상처리 모델을 통과하게 되며 모델에 대한 출력 이미지는 다시 이미지 병합 모델을 통과하여 원본과 동일한 크기의 이미지가 출력된다.
3-3 세부방법[8]
본 논문에서 그림 6과 같은 가로 세로 기준 약 10,000 * 3,404 픽셀 크기의 정밀 도로 촬영 이미지에 대한 분석을 진행하였다.
분석을 진행할 인공지능 모델의 경우 Mask R-CNN 모델을 사용하였으며 해당 모델은 가로 세로 기준 1,024*1,024픽셀 사이즈의 이미지를 통과시킨다.
해당 모델의 구조를 변형하지 않고 대형 이미지를 분석하기 위한 방법으로써 이미지 분할 및 병합 모델과 이미지 크기 재조정 모델을 설계하여 각각을 Mask R-CNN 모델과 병합했다.
이미지 분할 모델의 경우 좌상단부터 가로 세로 기준 1,024*1,024픽셀 크기로 분할했다.
그러나 10,000 와 3,404 는 1024의 정수배가 되는 수가 아니므로 정확히 나뉘지 않는 현상이 발생한다.
이 문제를 해결하기 위해 추가적으로 zero-padding을 생성하여 기저 이미지로 사용한다[9]. 기저 이미지는 분할 이미지를 병합할 시, 원본 크기와 좌표를 제공하는 프레임으로써, 분할 이미지가 기저 이미지 위에 덧씌워지는 형식으로 병합이 진행된다.
분석을 위한 원본 도로 이미지는 4가지 영역으로 분리하여 분할 분석하였으며 4가지 영역에 대한 정의와 병합 규칙은 아래와 같다.
1번 영역은 가로 세로 10,000 * 3,404 픽셀 수준의 이미지 정보를 1,024 * 1,024 픽셀로 나누었을 때 부족하지 않게 분할되는 영역을 의미한다.
2번 영역은 이미지 병합 시 우측 변두리에 해당하는 영역으로, 기존 병합방식과 반대로 우측 끝에서 1,024 픽셀거리에 해당하는 영역까지 병합한 영역을 의미한다.
3번 영역은 이미지 병합 시 좌측 하단 변두리에 해당하는 영역으로 기존 병합방식과 반대로 좌측 하단 끝에서부터 1,024 픽셀 거리에 해당하는 영역까지 병합한 영역을 의미한다.
4번 영역은 이미지 병합 시 우측 하단 변두리에 해당하는 영역으로 기존 병합방식과 반대로 우측 하단 끝에서부터 1,024 픽셀거리에 해당하는 영역까지 병합한 영역을 의미한다.
이미지 크기 재조정 모델의 경우 도로 균열 이미지의 특성 상 이미지의 축소 시 feature의 손실이 크다. 이 과정에서 feature의 손실을 최소화하기 위하여 anti-aliasing을 적용하였다[10]. 이미지의 축소 전 평균값 필터를 활용하여 뷰러 효과를 준 뒤 이중선형보간법을 이용한 필터링을 통해 축소를 진행하였다. Mask R-CNN 모델을 통과한 뒤 검출된 균열 영역에 대해서는 별도의 처리속도를 최소화하기 위하여 픽셀크기 재조정 방식을 활용하였다.
두 모델 모두 Mask R-CNN 모델의 변형 없이 부가적인 모델을 추가하는 형태로 제작하였으며 모델을 균열에 대해 학습시키기 위한 데이터는 이미지 분할모델과 이미지 크기 재조정 모델을 통과한 데이터 각각을 활용하여 학습시켰다.
Ⅳ. 실 험
4-1 전처리 과정
논문에서 제안하는 방법은 파이썬 환경에서 딥러닝 라이브러리인 텐서플로우를 이용하여 구현하였다. 학습 데이터 셋은 직접 제작한 데이터를 이용하였으며, 가로 세로1,024 * 1,024 픽셀 사이즈 규격의 이미지를 기준으로 총 5,000장의 데이터 이미지 중 95%인 4,750장은 학습 데이터, 나머지 5%인 250장은 평가 데이터로 이용하였다. 인식 정확도에 대한 평가 지표로 mAP(Mean Average Precision)를 이용하였다. mAP는 클래스 별 평균 인식 정확도를 전체 클래스에 대해 계산한 평균이다.
한 장의 도로 이미지 데이터는 가로 세로 기준 10,000 * 3,404픽셀 사이즈의 규격을 가지고 있다. 이 도로 이미지 500장에 대해 분할하여 최종적으로 1,024 * 1,024 픽셀 사이즈 규격의 도로노면 이미지를 산출해내었고 검수과정을 거쳐 최종적으로 5,000장을 활용하였다.
이미지 분할 모델을 활용한 경우와 이미지 크기 재조정 모델을 활용한 경우 각각의 모델을 통과한 데이터를 Mask R-CNN 모델 학습에 활용하였다.
해당 이미지는 자체적으로 개발한 툴을 활용하여 이미지 내의 균열 영역에 대한 주석처리를 진행하였다. 균열 영역의 특징을 포함하도록 객체의 외부 경계를 따라 객체의 영역을 설정하였고 이를 균열이라 라벨링하였다.
라벨링한 데이터는 훈련 데이터와 검증 데이터로 구분하였고, 각각의 데이터는 json 파일 형태로 저장하였다. json 파일은 이미지 정보와 라벨링된 객체의 좌표정보를 메타데이터의 형태로 포함했다. 그림 9는 도로노면 이미지에서 균열 영역을 라벨링 하는 과정을 나타낸 것이다.
4-2 실험 및 고찰
본 논문에서는 아래와 같이 두 가지 경우의 수에 대한 결과 이미지 데이터를 비교 분석하여 도로노면 분석에 대한 최적화 모델을 선정하는 것을 목표로 한다. 1. 이미지 크기 재조정을 통한 세그멘테이션 모델 학습 및 실행, 2. 이미지 분할 및 학습 데이터 특수처리(미세균열 비율 조정 및 학습)를 통한 세그멘테이션 모델 학습 및 실행
그림 9와 같은 라벨링 툴을 이용하여, 실험에서 사용되는 두 가지 모델 각자의 맞춤형 학습 데이터 셋 5,000장을 제작하여 각 100회의 학습을 수행한 모델 데이터를 이용하여 비교분석에 사용한다.
각 모델 별로 학습 데이터 제작 방식이 다르며, 각자의 방식은 다음과 같다.
과거로부터 사용된 이미지 크기 재조정 모델의 경우 별다른 전처리 과정 없이 원본 이미지 크기에서 라벨링 진행을 통해 학습 데이터 셋을 제작한다.
본 논문에서 제안하는 이미지 분할과 특수처리 된 학습 데이터를 적용하는 모델의 경우 원본 이미지를 가로 세로 1,024 * 1,024 픽셀 크기의 이미지로 분할한 뒤, 그림 11과 같은 방식을 통해 학습 데이터에 대해 미세균열 비율을 조정하여 학습한다.
학습데이터는 데이터 회전 방법을 이용한 데이터 증폭과정이 포함된다. 라벨링 된 이미지에서 그림 10과 같이 90 도, 180 도, 270 도 회전된 데이터 셋을 추가로 생성하여 학습 데이터 셋으로 사용한다.
앞서 언급한 이미지 데이터 스케일 변환을 통한 데이터 증폭 과정에서는 이미 라벨링 된 분할 이미지에서 1/2배 크기로 스케일 변환을 수행한다. 또한 학습 데이터 셋의 규격에 맞추기 위해 그림 9와 같이 동일 스케일로 변환된 이미지들을 이어붙인 합성 이미지를 제작을 통해 학습 데이터 셋을 구축한다.
마지막으로 패턴 별 학습 데이터 수의 비율을 조정하였다. 도로노면 위의 균열 패턴 중 흐리거나, 시각적으로 인식하기 어려운 패턴을 담고 있는 데이터 셋의 비율을 높이고 명백하고 인식하기 쉬운 데이터 셋의 비율을 낮추어 전체 학습 데이터 셋 안에서 패턴에 대한 비율 조정을 통해 중요도 가중치를 준다.
Ⅴ. 결 론
본 논문에서는 기존 Mask R-CNN 모델로는 처리가 어려운 크기가 다른 입력 이미지에 대해 이미지 분할을 적용하여 결과적으로 결과 이미지의 품질을 개선하는 방법을 제안하였고 학습 진행 시 다양한 증폭 데이터를 학습하여서 인공지능 모델의 정확도를 향상시켰다.
과거로부터 사용된 이미지 크기 재조정 모델의 경우 크기 재조정 과정에서 발생하는 feature의 손실이 커 결과적으로 인식 정확도가 떨어진다. 이러한 손실은 입력 이미지의 사이즈가 클수록 더 많아져 결과적으로 실제 도로균열이미지에 대한 균열판정을 진행하는 상황에서는 사용하기 어렵다.
본 논문에서 제안한 데이터 증폭 및 이미지 분할 모델은 이미지를 모델에 적합한 입력사이즈로 분할한다. 분할된 이미지를 모델에 통과시키고 각 입력별 결과를 병합하는 방법을 제안하였다. 이를 통해 별도로 모델을 수정하거나, 이미지를 크기 재조정하여 도로 이미지 해상도가 손실되는 일이 없이 정확도 높은 결과물을 얻을 수 있었다.
제안 방법에서는 특수처리를 진행한 학습 데이터 셋을 학습시킨 뒤 이미지 분할 및 병합 모델과 Mask R-CNN 모델을 병합하여 이미지의 모든 영역에 대한 분석을 진행하도록 하였다.
향후에는 이미지 분할 전 단계에 분할할 영역을 Fast R-CNN과 같이 가능성 영역을 찾아내어 적용하게 될 경우 처리해야 하는 분할 이미지의 양이 줄어들게 된다. 결과적으로 대형 이미지에 대해서는 본 제안 방법이 한 마스킹처리속도를 획기적으로 개선할 수 있을 것으로 기대된다. 향후에는 Mask R-CNN 외 다른 구조의 모델에도 제안 방법을 적용하여 성능을 확인할 것이다. 또한 본 실험에서는 CPU만으로 연산을 처리하였으나 각 분할 이미지 별로 처리하는 과정에 있어 GPU를 활용하게 될 경우 제안하는 방법과 동일한 조건에서 성능이 더욱 향상될 것으로 기대된다.
Acknowledgments
본 연구는 국토교통부의 연구비지원(과제명 : 2020년 도로포장관리시스템(PMS) 운영업무대행))에 의해 수행되었습니다. 이에 감사드립니다.
References
- SeungHyun Choi, MyeongSik Do, ChangHee Yu, ChangSuck Jo, “Determination of Visual Based Asphalt Pavement Crack Condition Using Deep Learning”, International journal of highway engineering, 2018
- MinHyae Lee, GwangWu Nam, ChangWu Lee, “Crack Detection on the Road in Aerial Image using Mask R-CNN”, Journal of the Korea Industrial Information Systems Research 24(3), 2019
- SeungJoon Lee, Suk-Ju Kang, “The image resizing optimization method considering preservation of Region of interest (ROI)”, Journal of the Korean Society Of Broad Engineers, 2018
- Ross Girshick, Jeff Donahue, Trevor Darrell, and Jitendra Malik, “Rich feature hierarchies for accurate object detection and semantic segmentation”, Computer Vision and Pattern Recognition, 2014 [https://doi.org/10.1109/CVPR.2014.81]
- Ross Girshick, “Fast R-CNN” , Microsoft Research, 2015 [https://doi.org/10.1109/ICCV.2015.169]
- Shaoqing Ren, Kaiming He, Ross Girshick, and Jian Sun, “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”,
- Kaiming He, Georgia Gkioxari, Piotr Dollar, and Ross Girshick, “Mask R-CNN”, Facebook AI Research (FAIR), 2018
- Yan Liu, Qirui Ren, Jiahui Geng, Meng Ding, Jiangyun Li, “Efficient Patch-Wise Semantic Segmentation for Large-Scale Remote Sensing Images”, Sensors, 2018. [https://doi.org/10.3390/s18103232]
- Saad Albawi, Tareq Abed Mohammed, and Saad Al-Zawi, “Understanding of a convolutional neural network”, International Conference on Engineering and Technology (ICET), 2017 [https://doi.org/10.1109/ICEngTechnol.2017.8308186]
- Jun-Young Ji, Myoung-Sin Kim, Sung-Tae Lee, Pan-Koo Kim, Yun-Bae Lee, “Design of A New Anti - Aliasing Algorithm for Computer Graphics Images”, Journal of the Korean Institute of Information Scientists and Engineers, 2000
- G. Rossum, “Python tutorial”, Technical Report CS-R9526, Centrum voor Wiskunde en Informatica(CWI), Amsterdam, 1995.
- M. Abadi et al, “TensorFlow: Large-scale machine learning on heterogeneous systems”, Software available from tensorflow.org, 2015.
저자소개
2012년 : 인하대학교 토목공학 학사
2014년 : 인하대학교 토목공학 석사
2019년~현재 : 인하대학교 토목공학 박사과정
2015년~현 재: 한국건설기술연구원 전임연구원
※관심분야: 도로포장관리시스템(PMS), 인공지능(AI), 차선도색, 균열분석 등
2003년 : 서울과학기술대학교 토목공학 학사
2006년 : 서울과학기술대학교 토목공학 석사
2017년~현재 : 인하대학교 토목공학 박사과정
1994년~현 재 : 한국건설기술연구원 수석연구원
※관심분야: 도로포장관리시스템(PMS), 인공지능(AI), 차선도색, 균열분석 등
2020년 : 숭실사이버대학교 토목공학 학사
2002년~현 재: 한국건설기술연구원 전임기술원
※관심분야: 도로포장관리시스템(PMS), 인공지능(AI), 차선도색, 균열분석 등
2001년 : 강원대학교 지역기반공학 학사
2003년 : 강원대학교 지역기반공학 석사
2010년 : 강원대학교 지역기반공학 박사
2002년~현 재: 한국건설기술연구원 수석연구원
※관심분야: 도로포장관리시스템(PMS), 인공지능(AI), 차선도색, 균열분석 등