• 대한전기학회
Mobile QR Code QR CODE : The Transactions of the Korean Institute of Electrical Engineers
  • COPE
  • kcse
  • 한국과학기술단체총연합회
  • 한국학술지인용색인
  • Scopus
  • crossref
  • orcid

  1. (Dept. of Mechatronics Engineering, Graduate School, Kyungnam University, Republic of Korea.)



CNN, Ensemble learning, blower motor, defective detection, inspection system

1. 서 론

현재 대부분의 품질 관리 방식은 작업자에 의존하고 있으며, 이는 시간과 비용이 많이 소요되고, 오류 발생 가능성 또한 높다. 이러한 문제들을 해결하기 위하여 자동화 검사 시스템의 필요성이 대두되고 있다. 특히, 이미지 기반의 품질 검사 시스템은 정확한 품질 평가가 가능하다는 장점을 가지고 있다[1]. 기존의 머신 비전(Machine Vision) 검사 시스템의 문제는 대상물이 결함이 있을 때 정형화된 문제에는 효과적이지만 비정형 물체에는 적용이 어렵다. 또한, 불량품 데이터 부족으로 머신비전 적용만으로는 커다란 효과를 얻는데 어려움이 있다. 따라서, 딥러닝 알고리즘과 같은 AI 엔진을 활용한 검사 시스템 활용이 요구되고 있다.

최근 딥러닝(Deep Learning) 알고리즘에서는 이미지에서 다양한 객체를 동시에 분류하고 검출하는 기능을 가진 합성곱 신경망(CNN, Convolution Neural Network) 기반으로 한 다양한 연구가 진행되고 있다. [2]에서는 컨볼루션 신경망(CNN)을 이용하여 인쇄 회로 기판(PCB)의 표면 결함을 검출하는 연구를 진행하였으며, 높은 정확도를 달성하였다. [3]에서는 제조 공정에서 발생할 수 있는 다양한 결함을 자동으로 식별하기 위하여 딥러닝 기법을 적용하였고, [4]에서는 제조과정에서 발생하는 용접결함을 조사하고 데이터 수집한 후, 전이 학습을 기반으로 한 합성곱 신경망 모델을 사용하여 용접결함에 대한 분류를 통하여 성능을 확인한다. 이더넷 케이블 불량 검출 자동화를 위한 컴퓨터 비전 기술 등 다양한 산업 분야에서 CNN의 적용 가능성을 확인하였다[5].

블로워 모터(Blower Motor)의 터미널 납땜 공정은 융해된 납이 담긴 납욕(solder bath) 위에 터미널 단자를 순간적으로 찍어 접합하는 방식으로 이루어진다. 이 과정에서 납의 온도, 접촉 시간, 단자의 위치나 각도에 따라 납이 과도하게 묻거나 부족하게 도포되는 문제가 발생할 수 있다. 구체적으로, 납이 과소 도포될 경우 전기적 연결이 불안정해져 정상적으로 작동하지 않거나 접촉 불량으로 고장이 발생할 수 있으며, 반대로 과다 도포된 경우에는 납이 인접 단자와 연결되어 단락을 유발하거나 과열에 따른 납산화 및 기계적 약화로 이어질 수 있다.

기존의 검사 방식은 대부분 작업자의 육안 검토 또는 임계값 기반의 머신 비전 기법을 활용해 왔으나, 이는 비정형 결함이나 미세한 납땜 이상을 검출하는 데 한계가 있다. 특히 육안 검사는 반복 작업에 따른 작업자 피로도 및 주관성의 영향을 받아 오류율이 높으며, 기존 머신 비전은 조도, 그림자 등에 민감하게 반응하여 오탐률이 높은 단점이 있다. 반면, 본 연구에서 제안하는 CNN 기반 딥러닝 모델은 실제 이미지 데이터를 통해 다양한 결함 패턴을 학습하고 일반화하여 다양하고 비정형적인 납땜 결함을 높은 정확도로 검출한다.

2. 블로워 모터 불량 검출 시스템

2.1 자동차 블로워 모터

자동차 산업의 발전에 따라 내연기관 차량과 전기 자동차에서 블로워 모터의 중요성이 점차 부각되고 있다. 차량의 통풍 시트 시스템에서 사용되는 블로워 모터는 시트 내부의 공기 순환을 통해 운전자의 쾌적한 환경을 유지하는 핵심 부품이다. 그림 1은 자동차 통풍 시트에서 사용되는 블로워 모터와 통풍 시트 제어용 ECU(Engine Control Unit)를 보여준다.

그림 1. 자동차 블로워 모터와 제어기

Fig. 1. Blower motor and its controller in a car

../../Resources/kiee/KIEE.2025.74.10.1710/fig1.png

블로워 모터는 BLDC(Brushless DC) 모터와 통풍 시트 제어용 ECU를 결합한 시스템으로, 모터의 회전 운동을 통해 공기를 순환시키고 온도를 제어한다. BLDC 모터는 기존의 브러쉬 모터에 비해 속도 대 토크 특성, 높은 동적 응답, 높은 효율성의 장점이 있다. 내구성이 높고 소음이 적어 다양한 차량에 널리 적용되고 있다[6]. 이러한 모터는 회전 운동을 효율적으로 제어하며, 스마트 시스템과 결합하여 다양한 제어 기능을 제공한다. 통풍 시트 제어용 ECU는 운전자가 설정한 온도와 공기 흐름을 제어하는 역할을 하며, 이를 통해 차량 내 쾌적한 환경을 유지한다.

블로워 모터와 관련된 주요 문제 중 하나는 납땜 공정에서 발생하는 결함이다. 그림 2는 블로워 모터의 주요 부품 중 하나인 납땜 공정에서 발생하는 결함을 보여준다. 납땜 공정에서 발생하는 결함은 크게 두 가지로 구분된다. 첫 번째는 납땜이 충분히 도포되지 않은 경우로, 이는 전기적 연결이 불안정해져 모터의 성능 저하나 고장으로 이어질 수 있다. 두 번째는 납땜이 과도하게 도포된 경우, 불필요한 연결이 발생하거나 납땜 부위의 과열로 인해 모터 성능에 악영향을 미칠 수 있다. 이러한 결함은 시간이 지나면서 모터의 내구성을 저하시켜 장기적인 사용에 문제를 일으킬 수 있다. 결과적으로 이러한 납땜 결함은 블로워 모터의 기능에 큰 영향을 미친다. 블로워 모터 생산 시 발생하는 납땜 문제를 해결하기 위하여 카메라를 통한 CNN 기반의 불량 검출 시스템을 구현한다.

그림 2. 납땜 공정에서의 결함 예시

Fig. 2. Examples of defects in soldering process

../../Resources/kiee/KIEE.2025.74.10.1710/fig2.png

블로워 모터는 차량 내에서 지속적인 회전 및 온도 변화에 노출되는 부품으로, 정밀한 품질 관리가 요구된다. 특히 납땜 부위의 미세한 결함은 초기에는 문제가 없어 보일 수 있으나 장기적인 진동 및 열에 의해 점차 성능 저하로 이어질 수 있다. 본 논문에서 제안한 CNN 기반의 딥러닝 검사 시스템은 이미지 기반의 미세한 시각적 결함을 고정밀로 판별할 수 있어, 이러한 장기적 리스크를 사전에 방지하는 데 최적화되어 있다. 또한 블로워 모터는 구조가 비교적 단순하고 형태가 일정하여 딥러닝 모델 학습 및 추론에 유리한 조건을 가지고 있으며, 대량 생산 체계에서의 실시간 자동 검사 시스템과 높은 호환성을 가진다. 따라서 본 시스템은 블로워 모터 품질 관리에 있어 비용 효율성과 정확성을 동시에 확보할 수 있는 최적의 방법이다.

2.2 데이터 수집 및 구성

그림 3은 블로워 모터 검사 시스템의 구성도를 나타낸다. 이 시스템은 블로워 모터의 전면과 후면 이미지를 촬영하여 결함을 검출하는 데 사용된다. 시스템은 크게 촬영 장치, 조명 장치, 이미지 처리 장치로 구성된다. 검사 대상인 블로워 모터는 중앙에 고정되어 있으며, 이를 기준으로 두 대의 이미지 캡처 카메라가 각각 전면과 후면 이미지를 촬영한다. 카메라 1은 모터의 전면 이미지를 촬영하고, 카메라 2는 후면 이미지를 촬영하여 결함 여부를 확인할 수 있다. 조명은 LED1과 LED2는 각각의 카메라와 대응하여 설치되어 있으며, 안정적인 조명을 제공하여 이미지의 품질을 향상시킨다. LED 조명은 검사 과정에서의 밝기와 균일한 조도를 유지하여, 결함 검출 과정에서 명확한 이미지를 얻도록 돕는다. 촬영된 이미지는 이미지 입력 보드를 통해 산업용 컴퓨터(Industrial Computer)로 전송된다. 산업용 컴퓨터는 전송된 이미지 데이터를 분석하여 불량 여부를 판단하는 역할을 한다, 컴퓨터에 설치된 딥러닝 모델은 이미지를 기반으로 블로워 모터의 결함을 자동으로 탐지하고 분류한다.

그림 3. 블로워 모터 검사 시스템 구성도

Fig. 3. Configuration diagram of blower motor inspection

../../Resources/kiee/KIEE.2025.74.10.1710/fig3.png

본 연구에서는 자동차 시트 통풍을 위한 블로워 모터 터미널의 불량 검출을 위하여 적합한 카메라와 조명을 선택하여 불량 판별 시스템을 구축하고, 이를 통해 수집한 이미지 데이터를 학습과 테스트에 사용하였다. 그림 4와 같이 데이터셋은 OK(정상)와 NG(불량) 두 개의 클래스로 구분되며, 각 클래스에는 해당하는 이미지들이 포함되어 있다. 전체 데이터는 916장으로, 학습 데이터로는 OK 412장과 NG 412장을 사용하였고, 테스트 데이터로는 OK 46장과 NG 46장을 사용하여 모델 성능을 평가하였다.

그림 4. 블로워 모터 OK 및 NG 사진

Fig. 4. OK and NG photos of blower motor

../../Resources/kiee/KIEE.2025.74.10.1710/fig4.png

불량 이미지 데이터는 실제 납땜 결함이 발생한 사례를 바탕으로 수작업 라벨링을 통해 구축되었으며, 다음과 같은 기준에 따라 분류되었다. 첫째, 납땜이 불충분하게 도포되어 금속 단자가 노출되거나 전기적 연결이 불안정하게 보이는 경우. 둘째, 납땜이 과도하게 도포되어 인접 단자 간 브릿지(Bridge) 현상이 발생하거나, 기계적 안정성이 저하된 경우. 셋째, 터미널 단자가 외부 충격 또는 제조 공정 중의 압력으로 인해 휘어진 경우로이다. 이외에도, 납땜 부위가 과도한 열에 의해 접합부가 녹아내려 손상된 경우 역시 불량으로 분류된다. 이러한 기준은 사내 품질관리 메뉴얼을 기반으로 정의되었으며, 모든 데이터는 두 명 이상의 검사자가 독립적으로 확인한 후 라벨링의 일치 여부를 검증하여 데이터의 신뢰성을 확보하였다.

각 이미지는 블로워 모터 터미널의 전면부와 후면부를 촬영하여 결함 여부를 육안으로 확인할 수 있는 구성을 가지고 있으며, 동일한 크기로 조정된 후, 딥러닝 모델에서 일반적으로 사용하는 224x224 크기로 리사이즈하여 학습과 테스트에 활용하였다. 또한, 학습 과정에서 데이터의 순서로 인한 편향을 방지하기 위하여 데이터를 무작위로 셔플링하고 학습 데이터 내의 10%를 검증(Validation) 데이터로 추가 분할하여 모델의 일반화 성능을 평가하였다.

2.3 데이터 증강 및 전이 학습

본 연구는 적은 이미지 데이터와 학습 시간을 줄이기 위하여 데이터 증강과 전이 학습을 사용한다. 데이터 증강은 기존의 이미지 데이터에 다양한 변환을 적용하여 새로운 이미지를 생성함으로써, 모델이 보다 다양한 특성을 학습할 수 있도록 돕는 방법이다. 이를 통해 모델은 제한된 데이터셋으로도 더 많은 변형된 데이터를 학습하여 과적합(Overfitting)을 방지하고, 모델의 일반화 성능을 향상시킬 수 있다[7]. 본 연구에서는 회전(Rotation), 크기 조정(Scaling), 왜곡(Shearing)의 데이터 증강 기법을 적용한다.

전이 학습은 대규모 데이터셋에서 미리 훈련된 모델을 새로운 문제에 맞게 재활용하는 방법으로, 처음부터 모델을 학습할 필요가 없어 학습 시간을 크게 단축할 수 있다. 또한 적은 양의 데이터로도 높은 성능을 기대할 수 있다는 장점이 있다. 전이 학습에서는 기존 모델의 학습된 가중치를 새로운 도메인의 데이터셋에 그대로 사용하거나, 일부 층을 재학습(fine-tuning)하여 문제에 맞는 최적의 성능을 도출할 수 있다[8]. 본 연구에서는 VGG19, Inception, Xception 전이 학습이 적용된 사전 학습 모델들을 사용하였으며, 이들 모델의 성능을 비교하고, 추가적으로 앙상블 기법을 통해 성능을 향상시키고자 하였다.

3. 제안한 CNN 모델

3.1 단일 CNN 모델

CNN 모델은 이미지나 영상 데이터를 분석하는데 매우 효과적인 딥러닝 모델이다. CNN은 이미지의 공간적 구조를 유지하면서 패턴을 학습하는 능력이 뛰어나며, 이미지 분류, 객체 탐지, 이미지 생성 등 다양한 작업에서 사용된다. CNN은 크게 입력층(Input Layer), 합성곱층(Convolutional Layer), 풀링층(Pooling Layer), 완전 연결층(Fully Connected Layer) 네 가지 층으로 구성된다. 각 층은 차례로 쌓여 이미지 데이터를 처리하며 패턴을 학습한다. 그림 5는 CNN의 전형적인 구조를 시각적으로 나타낸 것이다. CNN은 이미지의 지역적 패턴을 학습 하기 위하여 각 층에서 특징을 단계적으로 추출한다. 합성곱층에서는 이미지의 낮은 수준 특징을 추출하고, 풀링층은 데이터를 축소해 더 중요한 패턴만 남기며, 완전 연결층에서는 이 특징을 바탕으로 최종 결과를 도출한다[9]. 각 층은 활성화 함수를 사용해 비선형성을 부여하며, 이를 통해 복잡한 데이터도 효과적으로 학습할 수 있게 된다. 이러한 CNN 구조를 기반으로 다양한 변형 모델들이 개발되어왔으며, 그중에서 VGG19, Inception, Xception 모델들이 대표적이다. 각 모델은 CNN의 기본 구조를 유지하면서도 특정한 문제를 해결하기 위한 고유한 특징을 지니고 있다.

그림 5. CNN의 전형적인 구조

Fig. 5. Typical structure of CNN

../../Resources/kiee/KIEE.2025.74.10.1710/fig5.png

VGG19는 간단하면서도 깊은 구조로, 작은 3×3 필터를 많이 쌓아 이미지를 세세하게 분석하는 모델이다[10]. Inception은 다양한 크기의 필터를 동시에 사용하여 여러 스케일의 특징을 효과적으로 학습하며, 효율성을 높일 수 있는 구조로 설계되었다[11]. Inception은 여러 크기의 필터를 병렬로 사용하여 이미지 내 다양한 특징을 추출할 수 있어 효율적인 특성 학습을 자랑한다. Xception은 Inception의 확장형으로,심층 분리 합성곱(Depthwise separable convolution)을 사용해 공간적 및 채널별 특성을 독립적으로 학습하면서 연산 비용을 줄이는 동시에 높은 성능을 유지한다[12]. 본 연구에서는 불량 검출을 위하여 VGG19, Inception, Xception과 같은 단일 CNN 모델들을 활용하였다.

3.2 앙상블(Ensemble) CNN 기법

앙상블 기법(Ensemble Learning)은 여러 개의 기본 모델(base model)을 활용하여 하나의 새로운 모델로 만들어 내는 것이다. 기본 모델들을 결합하여, 각각의 기본적인 모델의 결과를 합쳐서 하나의 결과를 만들어 내는 것이 바로 앙상블 모델이다[13]. 앙상블 기법에는 보팅(voting), 배깅(bagging), 부스팅(boosting), 스태킹(stacking) 등이 있다.

보팅은 여러 모델의 예측을 결합하는 방식으로, 모델들이 독립적으로 예측한 결과를 종합하여 최종 결정을 내린다. 본 연구에서는 소프트 보팅을 선택하였으며, 이는 각 모델이 예측한 클래스에 대한 확률 값을 결합하여 최종 결과를 도출하는 방식이다[14]. 소프트 보팅은 모델의 예측 확률을 평균하여 최종 클래스를 결정하는데, 수식으로 표현하면 식(1)과 같다.

(1)
$P(C_{k})=\dfrac{1}{n}\sum_{i=1}^{n}P_{i}(C_{k})$

$P(C_{k})$는 클래스 $C_{k}$에 대한 최종 예측 확률이며, $n$은 앙상블에 참여하는 모델의 수, $P_{i}(C_{k}) $는 모델 $i$가 클래스 $C_{k}$에 대해 예측한 확률이다. 하드 보팅이 단순히 최다 득표 결과를 선택하는 방식이라면, 소프트 보팅은 각 모델의 출력 확률을 활용하여 더 안정적이고 신뢰성 있는 결과를 도출할 수 있다.

배깅은 동일한 모델을 여러 번 학습시키되 각기 다른 샘플을 사용하여 학습하는 방법으로, 과적합 방지에 유리하다. 그러나 배깅은 모델 간 협력이 부족할 수 있다는 단점이 있다. 부스팅은 이전 모델이 잘못 예측한 데이터를 다음 모델이 더 잘 학습하도록 개선하는 방식이지만, 학습 시간이 길어질 수 있다.

스태킹은 기본 모델들의 예측 결과를 새로운 데이터로 간주하여 메타 모델(meta-model)을 학습시키는 방식이다. 스태킹 기법은 각 기본 모델들의 출력값(예측 확률)을 특징으로 사용하며, 메타 모델은 이를 학습하여 최종 예측을 수행한다. 스태킹의 수식은 다음과 같다.

(2)
$P_{i}(C_{k})=M_{i}(X)$

여기서 $P_{i}(C_{k})$는 $i$번째 모델이 클래스 $C_{k}$에 대해 예측한 확률이고, $M_{i}$는 $i$번째 기본 모델을 나타나며 $X$는 입력 데이터를 나타낸다. 이후 각 기본 모델은 테스트 데이터를 사용하여 샘플별로 클래스 확률을 출력하며, 이 출력값들은 스택 특징 행렬 $Z$를 구성하는 입력 데이터가 된다. 스택 특징 행렬 $Z$는 다음 식 (3)과 같다.

(3)
\[ Z = \begin{bmatrix} P_1(C_1) & P_1(C_2) & \cdots & P_n(C_1) & P_n(C_2) \\ P_2(C_1) & P_2(C_2) & \cdots & P_n(C_1) & P_n(C_2) \\ \vdots & \vdots & & \vdots & \vdots \\ P_m(C_1) & P_m(C_2) & \cdots & P_n(C_1) & P_n(C_2) \end{bmatrix} \]

여기서 $Z$는 스택 특징 행렬을 나타내며, $m$은 테스트 데이터 샘플 수를, $n$은 기본 모델의 수를 의미한다. 마지막으로, 스택 특징 행렬 $Z$는 메타 모델의 입력으로 사용되며, XGBoost 메타 모델은 이를 학습하여 최종 클래스를 예측한다. 메타 모델의 예측 과정은 다음 식 (4)와 같다.

(4)
$\hat{y}=M_{m\eta}(Z)$

여기서 $\hat{y}$는 최종 예측 클래스이고 $M_{m\eta }$는 XGBoost로 구현된 메타 모델을 나타낸 것이다.

스태킹은 각 기본 모델의 장점을 통합하여 높은 성능을 얻을 수 있는 방법으로, 본 논문에서는 CNN 모델들의 출력값을 결합하여 메타 모델로 XGBoost를 사용하였다. XGBoost는 부스팅 기법을 활용한 강력한 그래디언트 부스팅 알고리즘으로, 성능이 뛰어나고 학습 속도가 빠르다는 장점을 가지고 있다[15].

소프트 보팅과 스태킹은 각각의 장점을 가지고 있으며, 본 연구에서는 이 두 기법을 블로워 모터 불량 검출에 적용하여 성능을 비교하였다. 그림 6은 입력 데이터를 기반으로 각각의 CNN 모델인 Inception, Xception, VGG19 들이 독립적으로 예측을 수행한 뒤, 각 예측 확률을 소프트 보팅 방식으로 결합하여 최종 클래스를 결정하는 과정을 시각적으로 나타낸다. 그림 7은 스태킹 앙상블 구조를 보여준다. 각 CNN 모델이 생성한 예측 확률값은 새로운 입력 데이터로 결합되며, 이 데이터는 메타 모델인 XGBoost에서 학습되어 최종 클래스를 도출한다. 스태킹 구조는 기본 모델 간의 상로 보완성을 활용하여 더 높은 예측 성능을 제공할 수 있다.

그림 6. 소프트 보팅 기반의 CNN 앙상블 구조

Fig. 6. Soft voting-based CNN ensemble structure

../../Resources/kiee/KIEE.2025.74.10.1710/fig6.png

그림 7. 스태킹 기반의 CNN 앙상블 구조

Fig. 7. Stacking-based CNN ensemble structure

../../Resources/kiee/KIEE.2025.74.10.1710/fig7.png

4. 실험 및 결과

4.1 실험 환경

본 실험을 위하여 다음과 같이 실험 환경을 구성하였다. 사용한 컴퓨터의 운영체제는 Windows 11이고, CPU는 AMD Ryzen Threadripper PRO 5975WX, GPU는 NVIDIA GeForce RTX 4090, 메모리는 512GB, 딥러닝 프레임 워크는 Tensorflow 2.16.1을 사용하였다. 실험에 사용한 하이퍼파라미터(Hyperparameter)는 학습률(Learning rate)은 0.0001로 하였고, 모델 학습에 사용된 옵티마이저는 Adam을 사용하였다. 에포크는 50을 용하였으며, 배치 크기(batch size)는 16으로 하였고, 과적합을 방지하기 위하여 일부 뉴런을 무작위로 비활성화 하는 드롭아웃 비율(Dropout rate)은 0.3으로 하였다.

4.2 불량 검출 모델 성능 평가

분류 및 불량 검출의 모델을 평가하기 위하여 주로 혼동 행렬(Confusion Matrix)을 기반으로 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F1-score를 사용한다. 식 (5), (6). (7), (8)은 정확도, 정밀도, 재현율, F1-score를 나타낸다.

(5)
Accuracy = $\dfrac{TP+TN}{TP+TN+FP+FN}$
(6)
Precision = $\dfrac{TP}{TP+FP}$
(7)
Recall = $\dfrac{TP}{TP+FN}$
(8)
F1-score = $2\times\dfrac{Precision\times Recall}{ Precision+Recall}$

TP(True Positive)는 긍정(Positive) 클래스로 예측하였으며, 실제로도 긍정인 경우를 나타내고, TN(True Negative)은 모델이 부정(Negative) 클래스로 예측하였으며, 실제로도 부정인 경우이다. FP(False Positive)는 모델이 긍정 클래스로 예측하였지만, 실제로는 부정인 경우를 나타낸 것이고, FN(False Negative)은 모델이 부정 클래스로 예측하였지만, 실제로는 긍정인 경우를 나타낸다. 정확도는 분류 및 검출 모델에서 정답을 예측한 비율이고, 정밀도는 긍정 클래스로 예측한 것 중에 실제로 정답이 긍정인 경우의 비율이다. 그리고, 재현율은 실제 정답이 긍정인 것 중에서 긍정이라고 예측한 비율을 나타내었으며, F1-score는 정밀도와 재현율의 조화평균으로 나타낸다.

본 연구에서는 Inception, Xception, VGG19, 소프트 보팅, 그리고 스태킹 앙상블 모델을 사용하여 블로워 모터 결함 검출 실험을 수행하였으며, 혼동 행렬을 기반으로 정확도, 정밀도, 재현율, 그리고 F1-score를 평가하였다.

그림 8(a)는 Inception V3 모델의 혼동 행렬을 나타낸다. Inception V3 모델은 OK 테스트 데이터 중 15개와 NG 테스트 데이터 중 45개를 정확하게 예측하였으며, 31개의 정상 테스트 데이터를 불량으로, 1개의 불량 테스트 데이터를 정상으로 잘못 예측하였다.

그림 8. 모델별 혼동 행렬 결과

Fig. 8. Confusion matrix results of 5 CNN models

../../Resources/kiee/KIEE.2025.74.10.1710/fig8.png

그림 8(b)는 Xception 모델의 혼동 행렬을 나타낸다. OK 테스트 데이터 중 36개와 NG 테스트 데이터 중 39개를 정확하게 예측하였으며, 10개의 정상 테스트 데이터를 불량으로, 7개의 불량 테스트 데이터를 정상으로 잘못 예측하였다. 그림 8(c)는 VGG19 모델의 혼동 행렬을 나타낸다. OK 테스트 데이터 중 35개와 NG 테스트 데이터 중 44개를 정확하게 예측하였으며, 11개의 정상 테스트 데이터를 불량으로, 2개의 불량 테스트 데이터를 정상으로 잘못 예측하였다. 그림 8(d)는 소프트 보팅 기법을 적용한 앙상블 모델의 혼동 행렬을 나타낸다. OK 테스트 데이터 중 26개와 NG 테스트 데이터 중 45개를 정확하게 예측하였으며, 20개의 정상 테스트 데이터를 불량으로, 1개의 불량 테스트 데이터를 정상으로 잘못 예측하였다. 그림 8(e)는 스태킹 기법을 적용한 앙상블 모델의 혼동 행렬을 나타낸다. OK 테스트 데이터 중 45개와 NG 테스트 데이터 중 45개를 정확하게 예측하였으며, 1개의 정상 테스트 데이터를 불량으로, 1개의 불량 테스트 데이터를 정상으로 잘못 예측하였다.

표 1은 다양한 CNN모델 각각의 혼동 행렬을 기반으로 성능 평가 지표를 보여준다. 성능의 일관성과 통계적 유의성을 확인하기 위해 Inception, Xception, VGG19, 소프트 보팅, 스태킹 모델의 각각에 대해 5회 반복 학습을 수행하였다. 반복 실험 결과, 스태킹 모델의 평균 F1-score는 0.9768, 표준편차는 ±0.0019로 측정되었으며, 이는 단일 모델 중 가장 높은 성능을 보인 VGG19 모델과 비교하였을 때 유의미한 성능 차이를 보였다.

표 1 모델별 성능 평가 지표 결과

Table 1 Performance evaluation indicator results by model

Model

Accuracy

Precision

Recall

F1-score

Inception

0.652

0.7648

0.6522

0.6108

Xception

0.8152

0.8166

0.8152

0.815

VGG19

0.8587

0.873

0.8587

0.8573

Soft-voting

0.7717

0.8276

0.7717

0.7616

Stacking

0.9783

0.9783

0.9783

0.9783

또한, 스태킹 기법을 적용한 앙상블 모델의 정확도는 0.9783, 정밀도는 0.9783, 재현율은 0.9783, F1-score 역시 0.9783으로 측정되어 전반적인 성능에서 가장 우수한 결과를 보였다. 이는 단일 모델 중 가장 높은 정확도를 기록한 VGG19 모델과 비교해도 약 10% 이상 향상된 수치로, 제언한 앙상블 기법의 효과를 보였다.

데이터 증강의 효과를 확인하기 위해 동일한 조건에서 증강 전 원본 데이터만으로 학습한 경우와 증강된 데이터를 포함한 경우의 성능을 비교하였다. 증강 데이터를 포함하지 않은 VGG19 모델의 F1-score는 0.7945로 측정되었으나, 데이터 증강을 적용한 경우 0.8573까지 상승하여 약 6.3%의 성능 향상이 있었음을 확인하였다. 이는 데이터 증강이 모델의 일반화 능력을 향상시키고 과적합을 방지하는데 기여함을 의미한다.

그림 9표 1을 기반으로 시각화한 결과로, InceptionV3, Xception, VGG19와 소프트 보팅, 스태킹 기법 간 성능 차이를 한눈에 비교할 수 있도록 나타내었다. 스태킹 기법이 블로워 모터 불량 검출 문제에서 가장 우수한 성능을 보였으며, 이는 개별 모델의 약점을 보완하고 강점을 통합할 수 있는 앙상블 기법의 장점을 보여준다.

그림 9. 모델별 결과 레이더 차트

Fig. 9. Radar chart of performance Results

../../Resources/kiee/KIEE.2025.74.10.1710/fig9.png

본 논문에서 제안한 스태킹 기법은 Inception, Xception, VGG19 모델의 예측 확률을 결합하여 메타 모델인 XGBoost를 통해 최종 예측을 도출하는 방식으로, 데이터 불균형 및 개별 모델의 예측 불확실성을 효과적으로 처리하였다.

5. 결 론

본 연구에서는 자동차 블로워 모터 제조 과정에서 발생할 수 있는 결함을 효과적으로 검출하기 위해 딥러닝 기반의 검사 시스템을 개발하였다. 기존 머신 비전 검출 방법의 한계를 극복하기 위해 Inception, Xception, VGG19 아키텍처를 활용한 소프트 보팅과 스태킹 기법을 적용한 앙상블 모델을 사용하여 블로워 모터 결함 검출 실험을 수행하였다. 제안된 스태킹 기법을 사용한 앙상블 모델은 각 단일 모델의 예측 확률을 결합하여 메타 모델인 XGBoost를 통해 최종 예측을 도출하였다. 결과의 성능지표로 정확도, 정밀도, 재현율, F1-score을 사용하였고, 스태킹 기법을 사용한 앙상블 모델은 모든 지표에서 가장 우수한 성능을 보여주었다. 이러한 결과는 스태킹 기법을 통해 개별 모델의 약점을 보완하고, 데이터 불균형과 예측 불확실성을 효과적으로 해결할 수 있음을 보여주었다.

Acknowledgements

본 과제(결과물)는 교육부와 경상남도의 재원으로 지원을 받아 수행된 경상남도 지역혁신중심 대학지원체계(RISE)의 연구결과 입니다.

References

1 
H. P. Birari et al., “Advancements in Machine Vision for Automated Inspection of Assembly Parts: A Comprehensive Review,” International Research Journal on Advanced Science Hub, vol. 5, no. 10, pp. 365-371, 2023. DOI:10.47392/IRJASH.2023.065DOI
2 
Z. Zheng et al., “Surface Defect Detection of Electronic Components Based on FaSB R-CNN,” in Proceedings of the International Conference on Cognitive Systems and Signal Processing, Singapore: Springer Nature, pp. 555-569, 2022. DOI:10.1007/978-981-99-0617-8_40DOI
3 
Y. Sun, Y. Cai, Y. Li and Y. Zhao, “Defect Detection of Production Surface Based on CNN,” in Green, Pervasive, and Cloud Computing: 15th International Conference, GPC 2020, Xi'an, China, November 13–15, 2020, Proceedings, Springer International Publishing, pp. 405-412, 2020. DOI:10.1007/978-3-030-64243-3_30DOI
4 
G. Son and B. Shin, “A Study on Weld Defects Classification Using CNN to Enhance Non-destructive Testing,” Journal of the Korean Society for Next Generation Computing, vol.20, no.2, pp. 30-38, 2024. DOI:10.23019/kingpc.20.2.202404.003DOI
5 
D. H. Kim, “Implementation of an AI Deep Learning-based Inspection System for Detecting Defective Vehicle Action Loaders,” The Transactions of the Korean Institute of Electrical Engineers, vol. 72, no. 12, pp. 1714-1721, 2023.URL
6 
P. Yedamale, “Brushless DC (BLDC) Motor Fundamentals,” Microchip Technology Inc., pp. 3-15, 2003.URL
7 
C. Shorten and T. M. Khoshgoftaar, “A survey on image data augmentation for deep learning,” Journal of Big Data, vol. 6, no. 1, pp. 1-48, 2019. DOI:10.1109/TKDE.2009.191DOI
8 
S. J. Pan and Q. Yang, “A survey on transfer learning,” IEEE Transactions on Knowledge and Data Engineering, vol. 22, no. 10, pp. 1345-1359, 2010. DOI:10.1109/TKDE.2009.191DOI
9 
MathWorks, “Convolutional Neural Network,” 2024. [Online]. Available: https://kr.mathworks.com/discovery/convolutional- neural-network.html. [Accessed: 16-Oct-2024].URL
10 
K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” arXiv preprint arXiv:1409.1556, 2014. DOI:10.48550/arXiv.1409.1556DOI
11 
C. Szegedy et al., “Rethinking the inception architecture for computer vision,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 2818-2826, 2016. DOI:10.1109/CVPR.2016.308DOI
12 
F. Chollet, “Xception: Deep learning with depthwise separable convolutions,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1251-1258, 2017. DOI:10.1109/CVPR.2017.195DOI
13 
T. G. Dietterich, “Ensemble methods in machine learning,” in Proceedings of the International Workshop on Multiple Classifier Systems, pp. 1-15, 2000. DOI:10.1007/3-540-45014-9_1DOI
14 
M. U. Salur and İ. Aydın, “A soft voting ensemble learning-based approach for multimodal sentiment analysis,” Neural Computing and Applications, vol. 34, pp. 18391-18406, 2022. DOI:doi.org/10.1007/s00521-022-07451-7DOI
15 
Chen, T. & Guestrin, C., “XGboost: A scalable tree boosting system,” In Proceedings of the 22nd acm sigkdd international conference on knowledge discovery and data mining, pp. 785-794, 2016 DOI:10.1145/2939672.2939785DOI

저자소개

전병주(Byoung Ju Jeon)
../../Resources/kiee/KIEE.2025.74.10.1710/au1.png

He received his B.S. degree in Electrical Engineering, Kyungnam University, Korea, in 2022. Currently, he is pursuing his M.Sc. degree in Mechatronics Engineering at Kyungnam University. His research interests include AI-based defect detection and classification and intelligent robot control.

김동헌(Dong Hun Kim)
../../Resources/kiee/KIEE.2025.74.10.1710/au2.png

He received his BS, MS and PhD degrees from the Department of Electrical Engineering, Hanyang University, Korea, in 1995, 1997 and 2001, respectively. From 2001 to 2003, he was a Research Associate under several grants in the Department of Electrical and Computer Engineering, Duke University, NC, USA. In 2004, he was engaged in Post-doctoral Research at the School of Information Science and Technology, University of Tokyo, Japan. Currently, he is a Professor with the department of Electrical Engineering, Kyungnam University, South Korea. His research interests include AI-based automation, swarm intelligence, mobile robot, and intelligent control.