KR 웹진 194호
- 2021년 12월
- 2021년 11월
- 2021년 10월
- 2021년 09월
- 2021년 08월
- 2021년 07월
- 2021년 06월
- 2021년 05월
- 2021년 04월
- 2021년 03월
- 2021년 02월
- 2021년 01월
- 2020년 12월
- 2020년 11월
- 2020년 10월
- 2020년 09월
- 2020년 08월
- 2020년 07월
- 2020년 06월
- 2020년 05월
- 2020년 04월
- 2020년 03월
- 2020년 02월
- 2020년 01월
- 2019년 12월
- 2019년 11월
- 2019년 10월
- 2019년 09월
- 2019년 08월
- 2019년 07월
- 2019년 06월
- 2019년 05월
- 2019년 04월
- 2019년 03월
- 2019년 02월
- 2019년 01월
- 2018년 12월
- 2018년 11월
- 2018년 10월
- 2018년 09월
- 2018년 08월
- 2018년 07월
- 2018년 06월
- 2018년 05월
- 2018년 04월
- 2018년 03월
- 2018년 02월
- 2018년 01월
- 2017년 12월
- 2017년 11월
- 2017년 10월
- 2017년 09월
- 2017년 08월
- 2017년 07월
- 2017년 06월
- 2017년 05월
- 2017년 04월
- 2017년 03월
- 2017년 02월
- 2017년 01월
- 2016년 12월
- 2016년 11월
- 2016년 10월
- 2016년 09월
- 2016년 08월
- 2016년 07월
- 2016년 06월
- 2016년 05월
- 2016년 04월
- 2016년 02월
- 2016년 01월
- 2015년 12월
- 2015년 11월
- 2015년 10월
- 2015년 09월
- 2015년 08월
- 2015년 07월
- 2015년 06월
- 2015년 05월
- 2015년 04월
- 2015년 03월
- 2015년 02월
- 2015년 01월
- 2014년 12월
- 2014년 11월
- 2014년 10월
- 2014년 09월
- 2014년 08월
- 2014년 07월
- 2014년 06월
- 2014년 05월
- 2014년 04월
- 2014년 03월
- 2014년 02월
- 2014년 01월
- 2013년 12월
- 2013년 11월
- 2013년 10월
- 2013년 09월
- 2013년 08월
- 2013년 07월
- 2013년 06월
- 2013년 05월
- 2013년 04월
- 2013년 03월
- 2013년 01월
- 2012년 12월
- 2012년 11월
- 2012년 10월
- 2012년 09월
- 2012년 08월
- 2012년 07월
- 2012년 06월
- 2012년 05월
- 2012년 04월
- 2012년 03월
- 2012년 02월
- 2012년 01월
- 2011년 02월
- 2011년 12월
- 2011년 11월
- 2011년 10월
- 2011년 09월
- 2011년 08월
- 2011년 07월
- 2011년 06월
- 2011년 05월
- 2011년 04월
- 2011년 03월
- 2011년 01월
- 2010년 12월
- 2010년 11월
- 2010년 10월
- 2010년 09월
- 2010년 08월
- 2010년 07월
- 2010년 06월
- 2010년 05월
- 2010년 04월
- 2010년 03월
- 2010년 02월
- 2010년 01월
- 2009년 12월
- 2009년 11월
- 2009년 10월
- 2009년 09월
- 2009년 08월
- 2009년 07월
- 2009년 06월
- 2009년 05월
- 2009년 04월
- 2009년 03월
- 2009년 02월
- 2009년 01월
- 2008년 12월
- 2008년 11월
- 2008년 10월
- 2008년 09월
- 2008년 08월
- 2008년 07월
- 2008년 06월
- 2008년 05월
- 2008년 04월
- 2008년 03월
- 2008년 02월
- 2008년 01월
- 2007년 12월
- 2007년 11월
- 2007년 10월
- 2007년 09월
- 2007년 08월
- 2007년 07월
- 2007년 06월
- 2007년 05월
- 2007년 04월
- 2007년 03월
- 2007년 02월
- 2007년 01월
- 2006년 12월
- 2006년 11월
- 2006년 10월
- 2006년 09월
- 2006년 08월
- 2006년 07월
- 2006년 06월
- 2006년 05월
- 2006년 04월
- 2006년 03월
- 2006년 02월
- 2006년 01월
- 2005년 12월
- 2005년 11월
- 2005년 10월
- 2005년 09월
- 2005년 08월
- 2005년 07월
- 2005년 06월
- 2005년 05월
- 2005년 04월
- 2005년 03월
- 2005년 02월
- 2005년 01월
- 2004년 12월
- 2004년 11월
01
2021년 01월
자율운항선박 기술 개발 수요가 증가하면서 선박 상태 검사 또한 디지털화 되어야 한다는 이슈가 대두되었습니다. 이에 따라 선박 상태 관련 수치 및 영상 데이터를 수집하고 이를 분석하여 상태를 진단하는 기술 개발이 진행되고 있습니다. 특히 원격 검사의 필요성이 증가되고 있는 시대에 영상 기반 손상 검출 기술은 필수적입니다.
영상에서의 사물 검출 기술은 이미 다양한 분야에서 활용되고 있습니다. 물체 인식 및 검출, 얼굴 인식, 장소 인식, 사람의 자세 인식 및 검출 등 이미지에서 대상을 추출하는 기술은 컴퓨터의 성능이 향상되고 GPU
컴퓨팅이 보편화되면서 복잡한 모델의 계산이 가능해짐에 따라 급속도로 발전해왔습니다. 마찬가지로 선박 성태 검사 분야 또한 앞서 얘기한바와 같이 디지털화를 위해 개발을 진행하였습니다. 특히, 여러 선체 손상 중 균열(Crack)을 검출하기 위한 알고리즘 개발에 집중하였습니다. 딥러닝 프레임워크를 이용하여 CNN(Convolutional Neural Network) 모델을 자체 개발/테스트했고, 성능이 우수하다고 알려진 YOLOv5 모델을 활용 등을 통해 선박 상태 검사의 디지털화 가능성을 확인해보았습니다.
학습 데이터셋을 구축하기 위해 선체 손상 사진 약 5,300여장을 수집하였으며, 이 중 1차 점검을 통해 걸러진 균열의 사진은 629장이었습니다. 학습 데이터 개수가 부족한 문제를 해결하기 위해 일정 크기와 간격으로
잘라 저장하여 개수를 증가시켰습니다. 또한, 촬영 환경 조건 상 대부분의 이미지가 어두운 환경에서 촬영
되어 히스토그램 평활화(Histogram Equalization)을 통해 각 이미지의 픽셀 명암 값 분포를 재분배하였습니다.
마지막으로 자체 개발한 CNN 모델인 KR 모델과 YOLOv5 모델의 문제 해결 목적에 따라 학습 데이터 셋을
각각 다르게 구성하였습니다.
|
목표
|
Labeling
|
크기
|
학습 이미지
|
검증 이미지
|
합계 이미지
|
KR 모델
|
결함 종류
|
X
|
256x256
|
균열:840장
|
균열:240장
|
2,160장
|
YOLOv5 모델
|
객체 검출 및
|
O
|
512x512
|
균열:2,403장
|
기타:601장
|
3,004장
|
표 1. 모델 별 학습 데이터 셋 제원
KR 모델은 자체적으로 개발한 CNN 모델이며, 이미지가 입력 시 균열 여부를 추정하는 문제 해결에 목적을 두고 있습니다. 이미지 특징 추출을 위한 3개의 Convolutional 상자와 Concatenate 층, Flatten, Dense 층으로 이루어져 있습니다. 32개의 필터에서 128개, 512개로 증가하다가 Dense 층의 Node 개수를 줄이면서 최종적으로는 2개의 결과(Crack, Non-Crack)로 연결됩니다. 활성함수로는 Gradient Vanishing 문제를 방지하기
위해 relu를 사용하였고, 마지막 결과를 0~1 사이의 값으로 정규화를 위해 softmax 활성함수를 사용하였습니다.
그림 1. KR 모델 구조(왼쪽), 학습 및 검증 Accuracy 그래프(오른쪽 위)와 Loss 그래프(오른쪽 아래)
YOLOv5 모델은 크게 Backbone과 Head 부분으로 구성되어있습니다. Backbone은 Feature Map을 추출하는 부분, Head는 Feature Map을 바탕으로 물체의 위치를 찾는 부분입니다. 미리 설정한 Anchor Box를 이용하여 최종적인 경계 상자를 생성하게 됩니다. 기본적으로 각 Feature의 크기별(8px, 16px, 32px) 인식을 위해 각
크기에서 3개의 Anchor Box를 사용하여 총 9개의 Anchor Box로 구성됩니다. 이 밖에도 Focus, BottleneckCSP, SPP, Upsampling 등의 다양한 층을 거치며 영상의 특성을 추출해냅니다.
KR 모델 학습 계산에 사용된 그래픽카드는 Quadro RTX8000 1개로 수행되었습니다. 또한, 이미지의 크기와 용량이 크지 않기 때문에 1회 Epoch에 들어가는 사진의 Batch 크기는 128, Learning Rate는 로 설정하였고, 학습 경향을 빠르게 파악하고 계산 속도를 고려하여 최소 학습 횟수로 판단한 총 60회의 Epoch를 거쳐 학습하였습니다. 20번째 Epoch를 지나면서 검증 Accuracy와 Loss가 안정되지 못한 모습은 모델이 학습 데이터로부터 충분한 특징을 추출해낼 다양성이 부족해서 나타나는 모습으로 보이지만, 대체적으로 경향을 따라가고 있음을 알 수 있습니다. 최종 60번째 Epoch에서 학습 Accuracy 0.9393, 학습 Loss 0.1563, 검증 Accuracy 0.8896, 검증 Loss 0.2857을 기록하였습니다. 학습과 검증에 사용되지 않은 균열과 기타 결함 사진 240장을 통해 얻어낸 가중치 값을 활용하여 추론하여 평가한 결과 Accuracy 0.8583을 기록하였습니다.
YOLOv5 모델 학습 계산에 사용된 그래픽카드는 Quadro RTX8000 4개로 수행되었습니다. Batch 크기는 64, Learning Rate는 로 설정하였고, 모델의 특성과 학습 경향을 고려하여 총 1000회의 Epoch를 거쳐 학습하였습니다. 그래프를 보면 정밀도가 학습 10분 이후부터 조금씩 상향하는 모습을 보이다가 학습 80분 이후부터 내려가고 있는 양상을 보여주었습니다. 이는 학습 데이터가 과적합되면서 학습에 참여하지 않은 데이터에
대한 정밀도가 떨어지는 것으로 확인됩니다. 즉, 균열 결함 사진의 특징을 충분히 학습시킬 만큼의 다양성이 부족하다는 것입니다. 그래프에서 재현율의 수치가 학습 80분 이후 증가하는 양상을 볼 수 있는데, 이는 Confusion Matrix에 따른 실제 True인 것을 모델이 True라고 예측한 수와 실제 False인 것을 모델이 True
라고 예측한 수가 높아짐에 따라 검증 데이터의 정밀도가 내려가게 됩니다. 즉, 검증 데이터의 한정된 개수에 따른 Trade-off 관계로 볼 수 있습니다. 최종적으로 검증 데이터 601장을 이용하여 정밀도는 0.713,
재현율은 0.581을 기록하였습니다.
그림 2. YOLOv5 모델 Precision 그래프(왼쪽 위)와 Recall 그래프(왼쪽 아래), 균열 검출(경계 생성) 예(오른쪽)
단순 영상 데이터 예측, 분류 목적의 KR 모델과 객체 검출을 통한 경계 상자 생성 능력을 파악하기 위한 YOLOv5를 활용하여 학습 후 성능을 평가하였습니다. 문제 해결의 목적이 다른 두 모델의 성능 지표를 객관으로 비교하기는 어렵지만, 두 모델 모두 본래의 목적에 부합하는 결과를 확인할 수 있었습니다. 하지만 해당 결과들은 데이터 개수와 품질의 한계로 인해 모델이 학습 데이터에 과적합 되는 양상을 보여주었습니다. 즉, 절대적인 데이터 수 증가와 양질의 데이터 셋 구축과 다양한 CNN 모델 비교, 분석을 통해 모델의 개발 및
확장 그리고 현장에서의 실제 테스트를 통한 피드백 적용 등으로 개선이 필요할 것으로 사료됩니다.