송전선로 설비 탐지의 기술적 도전 과제
전력 시스템의 안정적인 운영을 위해서는 송전선로의 핵심 설비인 애자, 금구류, 방진 단자 등의 상태를 실시간으로 모니터링하는 것이 필수적입니다. 하지만 야외 환경의 복잡한 배경, 조명 변화, 설비의 미세한 크기 차이로 인해 전통적인 영상 처리 방식으로는 한계가 있습니다. 본 아티클에서는 최신 객체 탐지 알고리즘인 YOLO11과 경량화 백본인 FasterNet을 결합하여 고성능과 효율성을 동시에 확보한 설비 식별 시스템 구축 방법을 다룹니다.
YOLO11-FasterNet 아키텍처 설계
제안하는 모델은 YOLO11의 강력한 탐지 헤드와 FasterNet의 효율적인 특징 추출 능력을 결합한 구조입니다. FasterNet은 PConv(Partial Convolution)를 사용하여 중복 계산을 줄이고 메모리 접근 효율을 극대화함으로써, 임베디드 장치에서도 높은 FPS를 보장합니다.
- Backbone: FasterNet을 활용하여 연산량을 최소화하면서도 고차원 특징을 효과적으로 추출합니다.
- Neck: 다중 스케일 특징 융합을 위해 FPN(Feature Pyramid Network) 구조를 채택하여 다양한 크기의 설비를 탐지합니다.
- Head: YOLO11의 Decoupled Head를 사용하여 분류(Classification)와 회귀(Regression)의 정확도를 높였습니다.
성능 비교 실험 결과
기존 모델들과의 비교 실험을 통해 YOLO11-FasterNet의 우수성을 검증한 결과는 다음과 같습니다.
| 모델 알고리즘 | mAP (%) | 파라미터 (M) | 추론 속도 (FPS) |
|---|---|---|---|
| YOLOv5s | 42.3 | 7.2 | 142 |
| YOLOv8s | 44.9 | 11.2 | 156 |
| YOLO11-FasterNet | 47.0 | 9.4 | 178 |
| Faster R-CNN | 45.6 | 135.6 | 18 |
데이터셋 구축 및 전처리 전략
송전선로 설비 탐지를 위해 약 10,000장의 고해상도 이미지를 기반으로 데이터셋을 구성했습니다. 주요 클래스는 애자(Insulator), 전선(Conductor), 금구류(Fittings), 방진 단자(Vibration Damper)로 분류됩니다.
데이터 증강(Data Augmentation) 구현
다양한 환경 조건에 대응하기 위해 Albumentations 라이브러리를 활용하여 다음과 같은 증강 파이프라인을 구축했습니다.
import albumentations as A
from albumentations.pytorch import ToTensorV2
def get_inspection_transforms(img_size=640):
return A.Compose([
A.Resize(img_size, img_size),
A.HorizontalFlip(p=0.5),
A.RandomBrightnessContrast(brightness_limit=0.2, contrast_limit=0.2, p=0.3),
A.GaussNoise(var_limit=(10.0, 50.0), p=0.2),
A.Rotate(limit=20, p=0.4),
A.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
ToTensorV2()
])
모델 학습 및 최적화 기법
학습 시에는 CIoU(Complete IoU) 손실 함수를 사용하여 바운딩 박스 회귀의 정확도를 높였으며, Focal Loss를 통해 클래스 불균형 문제를 해결했습니다. 또한 Cosine Annealing 스케줄러를 적용하여 학습의 안정성을 확보했습니다.
학습 루프 핵심 로직
def execute_training_step(model, batch_data, optimizer, scaler, criterion):
images, labels = batch_data
images = images.to(device)
labels = labels.to(device)
optimizer.zero_grad()
with torch.cuda.amp.autocast():
outputs = model(images)
total_loss = criterion(outputs, labels)
scaler.scale(total_loss).backward()
scaler.step(optimizer)
scaler.update()
return total_loss.item()
엣지 디바이스 배포 최적화
현장 무인기(UAV) 및 고정형 모니터링 카메라에 배포하기 위해 TensorRT를 활용한 모델 최적화를 진행했습니다. FP16 양자화를 통해 모델 크기를 줄이면서도 정확도 손실을 최소화했습니다.
- 모델 경량화: FasterNet의 PConv 레이어를 활용하여 플롭스(FLOPs)를 획기적으로 절감했습니다.
- TensorRT 가속: NVIDIA Jetson Xavier NX 환경에서 TensorRT 엔진으로 변환하여 실시간성(25 FPS 이상)을 확보했습니다.
- 동적 해상도 지원: 다양한 입력 소스에 대응할 수 있도록 입력 크기에 유연하게 대응하는 추론 인터페이스를 설계했습니다.
추론 전처리 함수
def prepare_input_tensor(raw_image, target_dims=(640, 640)):
# 이미지 리사이징 및 색상 공간 변환
resized = cv2.resize(raw_image, target_dims)
rgb_img = cv2.cvtColor(resized, cv2.COLOR_BGR2RGB)
# 정규화 및 차원 확장
input_tensor = rgb_img.astype(np.float32) / 255.0
input_tensor = np.transpose(input_tensor, (2, 0, 1))
input_tensor = np.expand_dims(input_tensor, axis=0)
return torch.from_numpy(input_tensor)
결론 및 향후 전망
YOLO11-FasterNet 모델은 기존 모델 대비 적은 파라미터로도 높은 mAP를 달성하여 실제 전력 설비 점검 현장에서의 활용 가능성을 입증했습니다. 특히 복잡한 배경 속에서도 작은 부품인 방진 단자와 금구류를 정확하게 식별하는 성능을 보였습니다. 향후에는 적외선 열화상 이미지와의 멀티모달 융합을 통해 설비의 외형적 결함뿐만 아니라 내부 과열 상태까지 진단할 수 있는 통합 시스템으로 발전시킬 계획입니다.