Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 23, No. 9, pp.1775-1785
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 30 Sep 2022
Received 25 Jul 2022 Revised 14 Sep 2022 Accepted 20 Sep 2022
DOI: https://doi.org/10.9728/dcs.2022.23.9.1775

객체 검출을 활용한 교육적 목적의 웹 기반 브레드보드 전기회로 분석

박세현1 ; 최승호2, *
1숭실대학교 전기공학부 학사과정
2광운대학교 소프트웨어사업단 초빙교수
Web-based Breadboard Electrical Circuit Analysis Using Object Detection for Educational Purpose
Se Hyeon Park1 ; Seoung-Ho Choi2, *
1Undergraduate’s Course, Department of Electrical Engineering, Soongsil University, Seoul 06978, Korea
2Visting Professor, National Program for Excellence in Software, Kwangwoon University, Seoul 018967, Korea

Correspondence to: *Seoung-Ho Choi E-mail: jcn99250@naver.com

Copyright ⓒ 2022 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.

초록

전기전자 이론을 배운 뒤 이를 응용하는 실험에서 학생들은 회로 결선에 어려움이 따른다. 위 어려움을 경감하고자 회로 분석 서비스를 처음 제안한다. 제안 방법은 브레드보드에 결선 된 전기소자들을 레이블링 된 데이터를 학습한 물체 검출 모델을 이용하여 전기소자를 검출한다. 이를 검증하고자 브레드보드 회로에 결선하고 사진을 통해 커스텀 데이터 셋을 만든다. 제안 방법에는 전기소자 예측과 전기소자 위치 검출 두 가지 과정으로 나뉜다. 전기소자 예측 모델은 물체 검출 모델 5개를 이용하여 비교하고 Faster R-CNN 모델이 가장 예측 성능이 좋음을 확인했다. 전기소자 위치 검출기는 물체 검출 모델을 전이 학습을 통해 특징을 추출하여 2개의 좌표 (x1, y1), (x2, y2)를 예측한다. 각 모델을 비교한 결과 ResNet모델이 위치 검출 성능이 좋음을 확인했다. 이를 통해 제안한 방법이 전기전자 관련 실험을 처음 배우는 학생들의 어려움을 경감해주는 것을 확인했다.

Abstract

In an experiment where students learn electrical and electronic theory and apply it, students have difficulty in connecting circuits. To alleviate the above difficulties, we first propose a circuit analysis service. The proposed method detects an electric device using an object detection model in which electric devices connected to a breadboard are labeled with data. To verify this, we connect to the breadboard circuit and create a custom dataset through photographs. The proposed method is divided into two processes: electric device prediction and electric device position detection. The electric device prediction model was compared using five object detection models, and the Faster R-CNN model had the best prediction performance. The electrical device position detector extracts features from the object detection model through transition learning to predict two coordinates (x1, y1), (x2, y2). A comparison of each model confirmed that the ResNet model has good location detection performance. Through this, it was confirmed that the proposed method alleviates the difficulty of first-time students learning electric and electronic experiments.

Keywords:

Electrical and electronic testing, Service, Breadboard, Position detection, Position prediction

키워드:

전기전자 실험, 서비스, 브레드보드, 위치 검출, 위치 예측

Ⅰ. 서 론

전기전자공학 및 관련 학부 진학 시 전공 학습과정에서 필연적으로 전기전자 실험 수업을 수강한다. 일반적으로 학부 2학년 과정에서 회로이론에 대해 학습하며 이를 응용한 실험을 수행한다. 다만 기존의 이론 중심의 고등학교 학습과정으로 인하여 실험에 익숙하지 않은 학부생들은 브레드보드에 올바른 회로를 결선하고 이를 검증하는 과정에서 다소 어려움을 겪는다. 예컨대 설계한 회로가 의도와 다르게 동작하거나 회로를 결선하고자 할 때 정상적인 동작이 이루어지지 않는 상황이 발생할 수 있다. 이때 오류를 확인하고 이를 반영하기 위해서는 회로에 결선된 모든 전선에의 이상 유무를 점검하여야 한다. 아직 이론을 실습에 응용하는 데에 어려움을 겪는 학부생의 경우라면 문제의 발생 원인을 파악하고 이를 해결하는 데 어려움이 있다.

본고는 사용자가 결선한 회로를 사진으로 찍어 소자를 인식하고 이를 회로 다이어그램 및 기본 전압과 전류 계산에 대한 분석을 제공하는 서비스를 모델링하여 사용자가 효과적으로 브레드보드에 회로를 결선하고 검토할 수 있도록 하는 데에 목적이 있다. 본고에서 제안하는 서비스는 전기소자 위치 검출기를 사용하여 연결된 위치를 검출한다. 이를 검증하고자 브레드보드 회로에 결선하고 사진을 통해 커스텀 데이터 셋을 구성한다. 전기소자의 물체 예측과 위치 검출 테스크를 이용하여 제안한 서비스의 타당성을 입증한다. 전기소자 예측은 물체 검출 모델을 학습해 비교 분석한다. 물체 검출 모델 5개를 비교 분석한 결과 Faster R-CNN 모델이 가장 우수하였다. 전기소자 검출은 물체 분류 모델을 전이 학습을 통해 특징을 추출하여 전기소자의 시작 좌표 (x1, y1)와 끝점 좌표 (x2, y2)를 예측한다. 물체 검출 모델 5개에 대하여 연구를 진행한 결과 ResNet모델의 위치 검출 성능이 우수하다는 결과를 바탕으로 논의를 진행한다. 물체 검출 모델에 관한 선행연구를 교육 모델로써 응용하여 전기전자공학 실험과정의 어려움을 경감하고 교육 효과를 제고하는 서비스를 처음으로 제안한다는 점에서 본 연구의 의의가 있다.


Ⅱ. 관련 연구

전기이론 교육과 관련된 방식은 직접 보드에 센서 결선 후 동작을 확인하는 방법, 컴퓨터상에 구현된 가상 환경에서의 브레드보드에 회로를 결선하고 시뮬레이션 결과를 확인하는 방법이 있다.

대표적으로 Fritzing [1]이 후자의 방식으로 동작한다. 컴퓨터 공간에서 프로그래밍 된 전기 법칙 아래에서 가상의 브레드보드에 회로를 결선하고 이 결과를 확인한다. 부품을 따로 구매하지 않고 회로를 디자인 할 수 있고 그 결과를 컴퓨터로 예측할 수 있다는 점에서 교육현장에서 채택하고 있다.

SPICE는 집적회로와 보드 등의 회로 디자인의 무결성을 확인하고 회로 동작을 예측하는 고수준의 프로그램이다 [2]. 과도 응답 특성, 트랜지스터와 저항으로 연결된 회로 해석 결과 등을 알 수 있어 전자회로 실험에서 트랜지스터와 관련된 이론 및 응용 실험에서 자주 사용된다.

위 방식들을 정리하면 학생 교육을 위해 소프트웨어를 통해 회로를 디자인하고 시뮬레이션을 통해 회로 동작 과정을 학습하는 것으로 정리 가능하다. 반대로 이미 결선된 회로를 소프트웨어에서 인식하고 사용자가 회로를 올바르게 결선하고 있는지 확인하는 교육용 소프트웨어는 시도가 드문 것으로 파악된다.


Ⅲ. 배경 지식

전이 학습은 모델 학습 시 초기 가중치를 이미 학습된 가중치를 사용하여 설계하고자 하는 새로운 모델에 가중치를 전이하여 학습하는 기법이다. 전이 학습을 사용하면 학습을 빠르게 진행할 수 있다는 장점이 있다. 규모가 큰 이미지 데이터로 만들어진 가중치는 학습할 데이터에 대해 특징을 효과적으로 추출할 수 있다. 따라서 이 부분에 대한 새로운 학습은 별도로 하지 않아도 된다. 또한 적은 이미지 데이터 셋의 과적합을 방지할 수 있다. 적은 데이터 셋으로 모델을 학습하게 되면, 모델이 데이터의 미세한 모든 부분까지 학습할 수 있다. 이것은 과적합이고 일반화 특징을 찾고자 하는 모델의 성능은 떨어질 수 있다. 전이 학습을 사용한다면 이미 학습된 모델은 특징추출기로 사용하고 분류기 부분만 새롭게 설계 후 이 부분만 학습한다면 과한 학습이 이뤄지지 않게 할 수 있다.

전이 학습에는 고정특징추출 방법과 미세조정 방법이 있다. 고정특징추출 방법은 어느 도메인에서 미리 학습된 모델의 가중치를 고정하고 마지막 분류기 레이어를 새롭게 설계하여 이 부분만 학습을 진행한다. 미세조정 방법은 사전에 학습된 특징추출기와 분류기 레이어를 미세하게 조정한다. 이때 특징추출기와 분류기 모두 새롭게 학습을 진행할 수 있고 아니면 분류기 부분만 학습할 수 있다. 전이 학습에서 미세조정을 하고자 할 때 데이터 셋의 크기와 사전 학습된 모델에 사용한 데이터 셋의 유사도를 고려해야 한다 [3].

물체 검출은 입력 영상이 주어졌을 때, 영상 내에 존재하는 모든 카테고리에 대해서 분류 (Classification)와 지역화 (Localization)를 수행한다. 분류는 영상 내에 존재하는 물체의 속성을 알아내는 것이고 지역화는 영상에 있는 물체의 위치를 찾는다.

물체 검출에는 두 가지의 방식이 있다. region proposal 단계와 classification 단계를 동시에 처리하는지 따로 처리하는지에 따라 모델의 구조를 구분한다. 전자의 방식을 1-stage detector라고 한다. 이 구조의 모델은 YOLO계열, SSD 그리고 RetinaNet이 속한다. 후자의 방식은 2-stage detector로 R-CNN 계열 모델에 속한다. 이들은 우선 영상 내에서 region proposal 작업을 거친다. 이렇게 선정된 ROI(Region of Interest)를 컨볼루션 네트워크를 거쳐 Feature map으로 변환한다. 선정된 Feature map은 FC Layer (Fully Connected Layer)를 통과하여 이 결과를 분류 또는 물체의 경계상자 위치 값을 반환한다. 2-stage detector는 1-stage detector에 비해 정확도는 높다. 하지만 ROI를 추출하는 과정과 그 결과를 CNN으로 Feature map 계산량이 많다. 즉, 구조상 특징으로 인한 병목현상이 있어 상대적으로 검출 속도가 오래 걸린다는 문제점이 있다. 1-stage detector는 위 2개의 과정을 통합하여 영상 내에서의 물체 클래스와 위치를 파악한다. 전체 이미지에 대한 특징 추출과 물체 검출이 이뤄지기 때문에 구조가 간단하다. 이런 구조적 특징은 2-stage detector에 비해 실시간 검출에 가깝게 결과를 얻을 수 있다.


Ⅳ. 본 론

제안 방법의 첫 번째 장점으로 브레드보드에 구성한 회로를 인식하여 회로 다이어그램으로 표현하고 간단한 회로 수정을 통해 분석 결과를 받을 수 있다. 이 결과를 확인하고 전기전자지식이 초보적인 학생들에게 회로 결선에 대한 이해를 높일 수 있다.

두 번째 장점으로 사용자는 잘못된 회로를 결선하면 해당 부분을 확인하고 바로잡을 수 있고 잘못된 부분에 대한 즉각적인 수정이 가능하다.

4-1 웹서비스 구현 및 내부 동작

플랫폼 제약을 받지 않는 웹서비스 구조로 설계하여 사용자는 운영체제, 모바일 그리고 데스크톱에서도 회로 분석 서비스를 사용할 수 있다. 딥러닝 프레임워크 TensorFlow와 간단히 연결하기 위해 파이썬 기반 마이크로 웹 프레임워크 Flask를 웹 애플리케이션 서비스로 구성한다. 웹서버는 사용자 입력 그리고 데이터에 대한 처리 및 예측 정보 흐름이 많아 이들을 따로 관리해야 할 필요가 있다. 따라서 JavaScript Framework인 VueJS를 사용하여 구성했다.

본 서비스의 구성도는 <그림 1>과 같다. 사용자는 브라우저를 통해 서비스에 접근한다. 브라우저에 접속한 사용자는 <그림 1.⓵>을 거쳐 <그림 2.(a)> 화면에 접속한다. 이 화면에서 사용자는 정면에서 찍은 브레드보드 이미지와 회로의 공급 전압값 그리고 브레드보드 영역 포인트를 입력한다. 브레드보드 영역 포인트는 사용자가 찍은 이미지가 최대한 정면에서 찍더라도 정확하게 정면으로 나오지 않을 가능성이 있어서 직접 브레드보드 꼭짓점을 선택해야 한다.

Fig. 1.

System architecture

Fig. 2.

Webpage configuration and operation, (a) Circuit picture, supply voltage value and breadboard vertex selection screen, (b) Circuit detection analysis result and circuit diagram confirmation screen, (c) Wrong electric element area correction screen, (d) Wrong resistance value correction screen

입력을 마치면 웹서버는 <그림 1.②>을 거쳐 웹 애플리케이션 서비스를 호출한다. 입력 데이터는 JSON 형태로 변환하여 입력받은 데이터를 전기소자 예측 모델로 전달한다<그림 1.③>.

전기소자 예측 모델은 회로 이미지에서 결선된 저항, 전선 그리고 전선 끝점을 사각 경계 박스 형태로 검출한다. 이 데이터는 <그림 1.⑤>로 이동하여 서비스 향후 검출 성능을 올리기 위한 새로운 데이터로 축적한다.

전기소자 예측 모델의 결과는 브레드보드에서 전기소자가 어떤 핀에 연결되었는지 확인하는 전기소자 위치 검출기에 전달되고 “A13”, “H10”과 같은 정확한 위치를 판단한다.

첫 번째로 전기소자의 영역을 예측하고 이후 이 결과로 검출된 핀 위치 좌표 등은 브라우저 로컬스토리지에 저장되고<그림 1.⑥> 웹 애플리케이션 서비스에서 회로 네트워크 구성을 분석한다. 회로 네트워크란 어떤 회로에서 전기소자 간 계층적 관계를 분석한 것을 의미한다.이 정보는 내부 데이터베이스에 저장되고<그림 1.⑦> 웹 애플리케이션 서비스에 의해 최종 분석된 결과를 웹 서버로 전달 받아<그림 1.⓼> 브라우저를 통해 확인할 수 있다<그림 1.⑨>.

사용자가 접속하는 첫 화면은 <그림 2.(a)>이다. 이 화면에서는 원근 변환에 필요한 4개의 점, 전압과 이미지를 입력한다. 이후 전송 버튼을 눌러 회로 분석 결과를 확인한다. 회로 분석 결과 화면은 <그림 2.(b)>이다. 사용자가 입력한 회로 정보들은 내부 서버 처리를 거쳐서 전기소자 예측 모델이 판단한 전기소자들의 경계 영역과 핀 위치를 표시한 이미지와 회로도 그리고 노드의 전압, 전류 계산값과 합성저항 값을 확인할 수 있다.

만약 모델이 분석 결과를 잘못 반환한다면 검출되지 않은 전기소자와 핀 위치를 보정할 수 있다 <그림 2. (c)>. 저항값에 변화에 따른 노드 전압과 전류를 확인하려면 검출된 저항값을 조절하여 전류, 전압 변화를 확인 할 수 있다<그림 2.(d)>.

4-2 구현 제한사항

전기소자 예측 및 위치 검출의 정확도와 구현 난이도의 한계로 다음과 같이 결선된 회로에 대해서만 인식을 목표로 한다.

첫 번째, 회로는 단순 저항 회로로 제한하고 결선할 수 있는 회로의 종류를 제한한다. 회로에는 최대 3개의 직렬 등가저항, 한 개의 등가저항은 최대 3개의 저항이 병렬 연결되도록 한다.

두 번째, 전선과 소자들 결선 시 최대한 소자끼리 가리지 않게 결선한다.

세 번째, 세라믹 인덕터의 경우 커패시터와 동일한 형태인 것도 있어 정확하게 구분하여 검출하기 어렵다. 따라서 인덕터와 커패시터 검출은 배제한다.

네 번째, 저항 소자의 띠 인식은 배제하고 저항값은 사용자가 직접 입력하게 한다. 전기소자 예측, 위치 검출 그리고 회로 다이어그램 표현 구현을 목표로 한다.

다섯 번째, 검출의 용이성을 위해 전압은 공급받는 곳은 브레드보드의 “+”와 “-” 단자로 고정한다.

4-3 커스텀 데이터 셋 구축

1) 초기 데이터 생성

학습에 필요한 회로의 전선 및 저항 데이터를 취득하기 위해 브레드보드에 회로를 결선하여 이미지 데이터를 취득한다. 이미지는 한 회로당 정면에서 찍은 사진과 상, 하, 좌, 우에서 각각 5개의 사진을 찍는다. <표 1>과 같이 LabelMe [4]를 사용하여 레이블링한다. 이렇게 수집한 데이터를 최종 320장을 축적한다.

Custom Data Labeling list

2) 전기소자 예측을 위한 데이터 전처리

웹 기반 데이터 전처리 및 데이터 증강 서비스 Roboflow [5]를 사용하여 COCO 형태 데이터 구조로 변환한다. <표 2>와 같이 구축한 데이터 셋은 최종 635장으로 증강하고 전기소자 예측 모델 학습, 검증 및 테스트를 진행한다.

Data preprocessing list

3) 전기소자 위치 검출을 위한 데이터 전처리

전기소자 위치 검출 모델을 학습하기 위한 데이터 셋은 정확한 핀 위치 검출을 위해 원근 변환 이미지로 재구성한다. <그림 3.(a)>는 이미지를 원근 변환하기 전이다. 모든 이미지에는 각기 다른 왜곡을 가지고 있어 직선의 성질을 유지하고 사각형을 임의의 직각사각형, <그림 3.(b)>로 변환한다. <그림 3.(c)>는 저항의 영역 주위로 가로세로 300 px 크기의 이미지로 만들고 그에 해당하는 픽셀 위치를 매핑한다.

Fig 3.

Acquisition data transformation process for training electric device position detection model, (a) Bread-board Vertex Selection, (b) Perspective image by vertex, (c) Visualization of training data for electric element position detection model, (d) Training data structure of Electric element position detection model

4-4 전기소자 예측 및 위치 검출

전기소자 예측 모델은 전선, 전선 끝점 그리고 저항 소자를 검출한다. 전기소자를 검출하면 다음 단계인 전기소자 위치 검출 모델에서 브레드보드에 연결된 핀 위치 좌표를 검출한다.

전기소자 예측 모델에서는 1-stage detector 계열 모델인 SSD [7], RetinaNet [8], YOLOX [9]를, 2-stage detector 계열 모델인 Faster R-CNN [10], 그리고 Cascade R-CNN [11] 모델을 사용한다. 학습 횟수는 12번으로 고정하고 검출 결과의 성능 평가[12]는 mAP, AP50:.05:95와 테스트 데이터 검출 결과를 고려하여 본 논문의 검출 모델로 선정한다.

전기소자 위치 검출 모델은 ResNet [13], DenseNet [14], Xception [15], Inception [16], EfficientNet [17], MobileNet [18]을 전이 학습한다. 모델의 성능평가는 Accuracy, Mean Sqaure Error (MSE), Mean Absolute Error (MAE), 그리고 R2 Score를 종합적으로 고려하여 Feature Extractor로 선정한다. 전기소자 위치 검출 모델의 분류기는 (x1, y1, x2, y2) 총 4개의 회귀 결과를 출력한다. 이후 검출 결과는 브레드보드의 핀 좌표는 불연속점으로 검출된 픽셀 (x, y) 좌표는 브레드보드에서의 핀 좌표와 가장 가까운 점으로 변환된다.

4-5 회로 네트워크 분석 결과 활용

앞선 과정의 결과들은 전원 ‘+’에서 전기소자들을 거쳐 ‘-’로 완전하게 연결된 폐회로 구성 데이터, 회로 네트워크를 알 수 있다. 해당 결과를 가지고 각 노드에 흐르는 전류와 전압 그리고 합성저항을 이론적으로 계산할 수 있다.

여기서 구성된 데이터는 SPICE 프로그램 스크립트로 변환된다. <그림 4>는 회로 네트워크 분석 결과를 스크립트로 변환한 결과를 보여주고 있다. 이 스크립트는 디자인한 회로 동작을 시뮬레이션 할 수 있다. 회로가 현실세계에서도 정상적으로 동작할 수 있는지 알아보고 각 부하에 전달되는 전류의 파형 확인이 가능하다.

Fig. 4.

SPICE code of detected circuit, (a) Prediction and the location detection result of electric element, (b) Circuit network configuration result, (c) SPICE code


Ⅴ. 실험 결과

5-1 전기소자 예측 모델 결과

<표 3>은 테스트 데이터에 대한 각 모델의 평가 지표를 나타낸다. R-CNN 계열(Faster R-CNN, Cascade R-CNN) 모델 성능이 가장 탁월한 것을 확인했다. 이들은 mAP 97%의 성능을 보여주며 mAP, AP50, AP75, APS APM APL 지표가 1-stage detector 계열보다 좋음을 확인했다. 하지만 압도적으로 어떤 모델이 좋은지를 판단할 수 없다.

Quantitative analysis result of electric device prediction model

Fig. 5.

Comparison of detection performance of electric device prediction model, (a) PR curve, mAP=97.06%, Faster R-CNN – Res50 – FPN, (b) PR curve, mAP=97.02%, Cascade R-CNN – Res50 – FPN, (c) PR curve, mAP=97.50%, YOLOX-small – 8X8 grid, (d) PR curve, mAP=86.99%, SSD – VGG16, (e) PR curve, mAP=51.72%, RetinaNet – Res50 – FPN

Faster R-CNN과 Cascade R-CNN의 mAP는 0.97 이상의 수치를 확인했다. 하지만 AP75, APS, APM, 그리고 APL에서 Cascade R-CNN이 좋음을 확인할 수 있다. 일반적으로 2-stage detector가 검출 결과가 1-stage detector에 비해 우수하다. 하지만 YOLOX의 mAP 지표는 오히려 R-CNN 계열보다 좋음을 확인할 수 있다. 따라서 R-CNN 계열 모델과 YOLOX 모델 간 검출 성능 평가가 필요하다.

모델 검출 성능 평가에는 전선(A~F) 6개, 전선 끝점(㉠~㉫) 12개 그리고 저항 3개로 구성된 회로 이미지를 사용한다.

<그림 6.(a)>는 테스트 데이터의 정답 값을 보여준다. 각 그림에서 사각형 테두리는 GroundTruth(초록색), 모델이 올바르게 검출한 영역(빨간색) 그리고 검출하지 못한 영역(파란색)을 나타낸다. 후보 모델들이 6개의 ‘line-area’와 12개의 ‘line-endpoint’, 각각 3개의 ‘Resistor-area’와 ‘Resistor-body’ 레이블의 검출 정확도와 IoU가 높은 모델을 최적 모델로 선택한다. ‘line-area’는 전선 여러개가 동일한 위치에서 겹치고 ‘line-endpoint’의 영역 ㉪은 전선에 가려져 있다.

Fig. 6.

Overlapping wire detection test, (a) Ground Truth, (b) Faster R-CNN – Res50 – FPN, (c) Cascade R-CNN – Res50 – FPN, (d) YOLOX-small – 8X8 grid, (e) SSD – VGG16, (f) RetinaNet – Res50 – FPN

<그림 6.(b)~(f)>는 테스트 데이터에 대한 Intersec tion over Union (IoU)가 0.5 이상인 전기소자 예측 모델의 검출 결과를 나타낸다. <표 4>, <표 5>, <표 6>은 각 모델들의 전체 클래스 검출 개수, ‘line-area’과 ‘line-endpoint’ 레이블의 검출 성공과 실패 여부를 나타낸다. ‘line-area’ 레이블에 대해 Faster R-CNN, Cascade R-CNN, 그리고 YOLOX 모델 모두 A영역 검출은 실패했다. 다만 Faster R-CNN 모델은 ‘line-area’ 클래스를 IoU값이 0.8 이상을 반환한다. YOLOX 모델이 ‘line-area’를 검출 개수가 많아도 같은 영역에 대한 제안영역이 많아 부정확한 검출 결과를 보였다. 반면 R-CNN 계열은 제안 영역은 적고 정답 데이터와 유사한 영역을 검출한 것을 알 수 있다. ‘line-endpoint’에 대해선 위 세 개의 모델 모두 동일하게 영역 ㉪을 검출하지 못한 것을 확인된다. AP 성능과 테스트 데이터에 대한 정확도를 종합해봤을 때 Faster R-CNN 모델이 적합한 모델로 판단된다.

Detection results of each model on the test data

line-area detailed detection result

line-endpoint detailed detection result

5-2 전기소자 위치 검출 모델 결과

<표 7>는 특징추출기 조합의 검출 성능 점수를 나타낸다. ResNet과 DenseNet은 Accuracy, MSE, MAE, 그리고 R2 Score에서 성능 점수에서 유사한 결과를 보여주고 있다. 이들은 ResNet 계열 모델 특징인 Residual module의 존재로 위 모델들의 성능이 좋은 것으로 추측한다.

Electrical element (resistance) position detection model performance results according to the com bination of feature extractors

<그림 7>은 특징추출기별 MSE 점수 중앙값 기준의 검출 분포를 나타내고 있다. 0은 가장 이상적으로 검출한 수치이다. MobileNet의 경우 핀 좌표 자체를 찾지 못하고 있음을 확인할 수 있다. 6개의 특징추출기 모두 저항소자 영역이 길고 대각선으로 구성되어있는 형태에 대한 핀의 위치 검출 성능은 떨어졌다.

Fig. 7.

Distribution of pin coordinates detection based on median by feature extractor, (a) ResNet152V2, (b) DenseNet169, (c) Xception, (d) InceptionResNetV2, (e) EfficientNetV2B3, (f) MobileNetV2

<그림 8>은 정상적으로 검출한 결과와 그렇지 못한 결과를 보여주고 있다. 빨간색 점과 파란색 점은 각각 모델이 검출한 지점을 표시하고 있고 초록색 점은 해당 데이터 셋의 정답 데이터이다.

Fig. 8.

Detection success and failure results of electric element position detector for each feature extractor, (a) ResNet 152V2 detection success, (b) ResNet152V2 detection failure, (c) DenseNet169 detection success, (d) DenseNet 169 detection failure, (e) Xception detection success, (f) Xception detection failure, (g) InceptionResNetV2 detection success, (h) InceptionResNetV2 detection failure, (i) EfficientNetV2B3 detection success, (j) EfficientNet V2B3 detection failure, (k) MobileNetV2 detection success, (l) MobileNetV2 detection failure

새로운 데이터에 대해서도 동일하게 동작하는지 확인하기 위해 <그림 9>와 같이 핀 좌표를 찾지 못하는 데이터에 형태를 파악했다. 이들 데이터의 형태는 대각선 형태로 길게 결선된 것을 확인했다.

Fig. 9.

ResNet 152V2 model detection failure image, (a) No. 1 detection failure image, (b) No. 2 detection failure image, (c) No. 3 detection failure image, (d) No. 4 detection failure image, (e) No. 5 detection failure image, and (f) No. 6 detection failure image

이상적인 상황에서의 테스트를 위해 수직으로 결선한 저항회로를 사용했다. 2개의 회로를 테스트했고 모두 3개의 노드로 이루어진 회로이다.

최종 ResNet152V2 모델을 선택한다.

<그림 10>은 특징추출기로 ResNet152V2 선택했을 때의 전기소자 위치 검출 모델의 결과를 보여준다. <그림 10.(a)>에서 모든 저항 소자의 핀 위치를 정확하게 검출한 것을 확인할 수 있다. 하지만 <그림 10.(b)>에서 실제로 소자는 J10-J14 핀에 연결되어 있지만 J13으로 오검출이 확인된다.

Fig. 10.

Circuit detection result, (a) Position detection result for the electrical circuit 1-1-2 configuration, (b) Position detection result for the electrical circuit 1-2-1 configuration


Ⅵ. 결 론

초보 전기전자공학도 입장에서 회로 결선 작업은 헷갈릴 수 있다. 복잡하게 엉켜있는 전선을 읽고 전기소자에 대한 특성 이해가 부족하면 결선한 회로가 정상적으로 동작하는지 예측하기 어렵다.

문제점을 해결하기 위해 물체 검출 모델과 전이 학습을 사용하여 웹서비스 형태의 회로 결선 분석과 간단한 전기회로 계산을 제공하는 서비스를 제안했다. 정면에 인식률에 관련되어서 전선과 저항 소자 등을 짧게 잘라 결선한다면 인식률이 더 정확해질 수 있다. 하지만 실제로 사용할 수 있는 환경에서의 동작을 할 수 있게 전선과 전기소자를 짧게 자르지 않고 해결하고자 했다.

본 논문에서 제안한 방식은 브레드보드 상의 연결된 센서와 소프트웨어간 통신을 통해 특수 제작된 장비 없이 일반적인 소자로도 인식 가능하다는 장점이 있다. 또한 학습을 위해 회로를 결선하는 상황에서 사용자가 어느 부분에서 회로를 제대로 결선하고 있는지 파악 가능하다.

회로에 결선된 전기소자와 전선들의 관계 그리고 이들의 위치를 파악하기 위해 우선 전기소자들을 예측하고 그 결과를 바탕으로 위치 검출을 진행했다. 첫 번째 테스크의 경우 mAP, AP50, AP75, APS, APM 그리고 APL 지표 비교 결과 YOLOX와 R-CNN 계열 모델들이 성능이 좋음을 확인했지만 여러 전선이 엉켜있는 테스트셋의 검출 결과를 살펴봤을 때 Faster R-CNN이 우수함을 확인했다. 두 번째 테스크에는 5개의 모델을 특징추출기로 사용하여 브레드보드에서의 전기소자 위치 검출을 진행하고 Accuracy, MAE, MSE 그리고 R2 Score 지표 비교 분석 시 ResNet모델의 성능이 좋음을 확인했다.

전기소자 위치 검출의 경우 테스트 결과 수직, 수평으로 연결된 소자에 대해서는 약 85%의 정확도를 보이지만 소자들이 대각선으로 연결되어 있거나 사진 각도가 달라지면 일부 잘못된 검출을 확인할 수 있었다. 학습 데이터 중 복잡하게 구성된 사진은 전기소자들이 다른 소자들에 가려져 있는 부분도 있었지만, 그것을 그대로 학습데이터에 넣었다. 이 부분에서 데이터 오염이 증가했다. <그림 9>와 같은 경우이며 재학습 시 데이터를 선별할 필요가 있어 보인다.

저항이 결선된 회로만 분석이 가능하다는 제약은 다양한 회로를 분석하고자 할 때 걸림돌이 될 수 있다. 저항 띠 분석은 차후 커패시터와 인덕터의 분석까지 포함하는 것으로 설계 확장이 가능하다. 커패시터에는 페럿(F)이, 인덕터에는 헤리(H) 값이 소자 겉에 글씨로 쓰여있다. 전기소자 예측은 두 개의 소자 이미지 데이터 셋을 확보하고, 소자값은 광학 문자 인식 기술을 활용하여 값을 읽을 수 있을 것이다. 커패시터와 인덕터의 검출이 가능해지면 회로의 구성을 SPICE에서 지원하는 스크립트로 자동 변환되어 회로 파형 분석 기능까지 확장 가능해진다.

모델의 정확한 검출 성능과 서비스의 더 많은 기능 구현을 위해 해당 프로젝트의 코드를 공개하여 사람들의 참여를 독려하고자 한다. 해당 소스코드는 깃허브 [19]에서 확인할 수 있다.

References

  • A. Knörig, R. Wettach, and J. Cohen, ”Fritzing: a tool for advancing electronic prototyping for designers”, In Proceedings of the 3rd International Conference on Tangible and Embedded Interaction (TEI '09), Cambridge, United Kingdom, pp. 351–358, Feb 2009. [https://doi.org/10.1145/1517664.1517735]
  • L. W. Nagel, and D. O. Pederson, ”SPICE (Simulation Program with Integrated Circuit Emphasis)”, EECS Department, University of California, Berkeley, Technical Report No. UCB/ERL M382, April 1973.
  • CS231n Convolutional Neural Networks for Visual Recognition. Transfer Learning[Internet]. Available: https://cs231n.github.io/transfer-learning/
  • B.C. Russell et al.,”LabelMe: A Database and Web-Based Tool for Image Annotation”, International Journal of Computer Vision, Vol. 77, No. 1-3, pp. 157–173,May 2008. [https://doi.org/10.1007/s11263-007-0090-8]
  • Roboflow: Give your software the power to see objects in images and video[Internet]. Available: https://roboflow.com/
  • K. He, X. Zhang, S. Ren and J. Sun,"Deep Residual Learning for Image Recognition", in Proceeding of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas: NV, pp. 770-778, June 2016. [https://doi.org/10.1109/CVPR.2016.90]
  • W. Liu, B. Leibe, J. Matas, N. Sebe, and M. Welling, “SSD: Single Shot MultiBox Detector”, in Proceeding of the Computer Vision - ECCV 2016: 14th European Conference, Amsterdam, Netherlands, pp. 21-37, Oct 2016. [https://doi.org/10.1007/978-3-319-46448-0_2]
  • T. -Y. Lin, P. Goyal, R. Girshick, K. He and P. Dollár, "Focal Loss for Dense Object Detection", in Proceeding of the 2017 IEEE International Conference on Computer Vision (ICCV), Venice, Italy, pp. 2999-3007, Oct 2017. [https://doi.org/10.1109/ICCV.2017.324]
  • YOLOX: Exceeding YOLO Series in 2021. Available: https://github.com/Megvii-BaseDetection/YOLOX
  • S. Ren, K. He, R. Girshick, and J. Sun, “Faster R-CNN: towards real-time object detection with region proposal networks”, In Proceedings of the 28th International Conference on Neural Information Processing Systems - Volume 1 (NIPS'15). MIT Press, pp. 91–99, 2015.
  • Z. Cai, and N. Vasconcelos, “Cascade R-CNN: High Quality Object Detection and Instance Segmentation”, in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Salt Lake City: UT, pp. 6154-6162, June 2018. [https://doi.org/10.1109/CVPR.2018.00644]
  • R. Padilla, and W. Passos, and T. B.Dias, and S L. Netto, and E. B. da Silva, “A Comparative Analysis of Object Detection Metrics with a Companion Open-Source Toolkit”, Electronics, Vol. 10, No. 3:279, Jan 2021. [https://doi.org/10.3390/electronics10030279]
  • K. He, X. Zhang, S. Ren and J. Sun, "Deep Residual Learning for Image Recognition", in Proceeding of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas: NV, pp. 770-778, June 2016. [https://doi.org/10.1109/CVPR.2016.90]
  • G. Huang, Z. Liu, L. Van Der Maaten, and K. Q. Weinberger,"Densely Connected Convolutional Networks", in Proceeding of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu: HI, USA, pp. 2261-2269, July 2017. [https://doi.org/10.1109/CVPR.2017.243]
  • F. Chollet,"Xception: Deep Learning with Depthwise Separable Convolutions", in Proceedings of the IEEE conference on Computer Vision and Pattern Recognition (CVPR), Honolulu: HI, pp. 1251-1258, July 2017 [https://doi.org/10.1109/CVPR.2017.195]
  • C. Szegedy, S. Ioffe, V. Vanhoucke, and A. Alemi, "Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning", in Proceedings of the AAAI Conference on Artificial Intelligence 31, San Francisco: CA, pp. 4278–4284, Feb 2017. [https://doi.org/10.1609/aaai.v31i1.11231]
  • M. Tan and Q. V. Le,“EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks”, in Proceeding of the International Conference on Machine Learning, Long Beach, California, USA, pp. 6105-6114, June 2019. [https://doi.org/10.48550/arXiv.1905.11946]
  • M. Sandler, A. Howard, M. Zhu, A. Zhmoginov and L.-C. Chen,“MobileNetV2: Inverted Residuals and Linear Bottlenecks”, in Proceeding of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Salt Lake City: UT, pp. 4510-4520, June 2018. [https://doi.org/10.48550/arXiv.1801.04381]
  • CreativeBreadboard source code. Available: https://github.com/CreativeBreadboard

저자소개

박세현(Se-Hyeon Park)

2022년: 숭실대학교 학사과정

2014년~2017년: 한국디지털미디어고등학교

2017년~현 재: 숭실대학교 전기공학부 학사과정

2018년~현 재: 숭실대학교 컴퓨터학부 복수전공

※관심분야 : 컴퓨터 비전, 컴퓨터 그래픽스, 3D 모델링, 데이터 분석

최승호(Seoung-Ho Choi)

2018년 : 한성대학교 전자정보공학과 (공학사)

2020년 : 한성대학교 전자정보공학과 (공학석사)

2021년~현 재: 한성대학교 기초교양학부 시간강사

2021년~현 재: 숭실대학교 컴퓨터공학과 시간강사

2022년~현 재: 광운대학교 소프트웨어사업단 초빙교수

※관심분야 : 딥러닝(Deep Learning), 컴퓨터 비전(Computer Vision) 등

Fig. 1.

Fig. 1.
System architecture

Fig. 2.

Fig. 2.
Webpage configuration and operation, (a) Circuit picture, supply voltage value and breadboard vertex selection screen, (b) Circuit detection analysis result and circuit diagram confirmation screen, (c) Wrong electric element area correction screen, (d) Wrong resistance value correction screen

Fig 3.

Fig 3.
Acquisition data transformation process for training electric device position detection model, (a) Bread-board Vertex Selection, (b) Perspective image by vertex, (c) Visualization of training data for electric element position detection model, (d) Training data structure of Electric element position detection model

Fig. 4.

Fig. 4.
SPICE code of detected circuit, (a) Prediction and the location detection result of electric element, (b) Circuit network configuration result, (c) SPICE code

Fig. 5.

Fig. 5.
Comparison of detection performance of electric device prediction model, (a) PR curve, mAP=97.06%, Faster R-CNN – Res50 – FPN, (b) PR curve, mAP=97.02%, Cascade R-CNN – Res50 – FPN, (c) PR curve, mAP=97.50%, YOLOX-small – 8X8 grid, (d) PR curve, mAP=86.99%, SSD – VGG16, (e) PR curve, mAP=51.72%, RetinaNet – Res50 – FPN

Fig. 6.

Fig. 6.
Overlapping wire detection test, (a) Ground Truth, (b) Faster R-CNN – Res50 – FPN, (c) Cascade R-CNN – Res50 – FPN, (d) YOLOX-small – 8X8 grid, (e) SSD – VGG16, (f) RetinaNet – Res50 – FPN

Fig. 7.

Fig. 7.
Distribution of pin coordinates detection based on median by feature extractor, (a) ResNet152V2, (b) DenseNet169, (c) Xception, (d) InceptionResNetV2, (e) EfficientNetV2B3, (f) MobileNetV2

Fig. 8.

Fig. 8.
Detection success and failure results of electric element position detector for each feature extractor, (a) ResNet 152V2 detection success, (b) ResNet152V2 detection failure, (c) DenseNet169 detection success, (d) DenseNet 169 detection failure, (e) Xception detection success, (f) Xception detection failure, (g) InceptionResNetV2 detection success, (h) InceptionResNetV2 detection failure, (i) EfficientNetV2B3 detection success, (j) EfficientNet V2B3 detection failure, (k) MobileNetV2 detection success, (l) MobileNetV2 detection failure

Fig. 9.

Fig. 9.
ResNet 152V2 model detection failure image, (a) No. 1 detection failure image, (b) No. 2 detection failure image, (c) No. 3 detection failure image, (d) No. 4 detection failure image, (e) No. 5 detection failure image, and (f) No. 6 detection failure image

Fig. 10.

Fig. 10.
Circuit detection result, (a) Position detection result for the electrical circuit 1-1-2 configuration, (b) Position detection result for the electrical circuit 1-2-1 configuration

Table 1.

Custom Data Labeling list

Class name Detail
Line-area Area of line in the breadboard
Line-vector End of line points
Line-endpoint Area of line’s end object
Resistor-area Area of resistor in the breadboard
Resistor-body Area of resistor value expression with color
Resistor-vector End of resistor point

Table 2.

Data preprocessing list

Pre process Detail
Image resize (640, 640), padding: black
Image Normalization Histogram equalization
Image mirroring Randomly Vertical, Horizontal variation
Image rotating Randomly ±15° rotating
Image color ±25% change in Hue, Saturation, and Exposure
Image blur 0px ~ 0.25px randomly variation
Cut-out Randomly crop up to 3 of the 5% area of the image in the form of a rectangle

Table 3.

Quantitative analysis result of electric device prediction model

Model mAP AP50 AP75 APS APM APL
Faster R-CNN 0.9706 0.9668 0.6034 0.4438 0.5199 0.5898
Cascade R-CNN 0.9702 0.9638 0.6499 0.4827 0.5580 0.7233
YOLOX 0.9750 0.9692 0.5958 0.4555 0.5410 0.6287
SSD 0.8699 0.8626 0.2139 0.2774 0.4074 0.3910
RetinaNet 0.5172 0.5106 0.1334 0.1649 0.2778 0.1825

Table 4.

Detection results of each model on the test data

Line
area
Line
endpoint
Resistor
area
Resistor
body
Faster R-CNN 5 11 3 3
Cascade R-CNN 4 11 3 3
YOLOX 13 12 6 7
SSD 10 12 4 3
RetinaNet 8 8 2 3
Ground Truth 6 12 3 3

Table 5.

line-area detailed detection result

A B C D E F
Faster R-CNN 0 1 1 0 1 2
Cascade R-CNN 0 1 1 0 1 1
YOLOX 0 1 2 3 3 4
SSD 1 1 2 2 2 2
RetinaNet 1 1 1 1 1 3

Table 6.

line-endpoint detailed detection result

a b c d e f g h i j k l
Faster R-CNN 1 1 1 1 1 1 1 1 1 1 0 1
Cascade R-CNN 1 1 1 1 1 1 1 1 1 1 0 1
YOLOX 1 1 1 1 1 1 1 1 1 1 0 2
SSD 1 1 1 1 1 1 1 1 2 1 0 1
RetinaNet 1 1 0 1 1 0 1 1 1 1 0 0

Table 7.

Electrical element (resistance) position detection model performance results according to the com bination of feature extractors

Accuracy MAE MSE R2 Score
ResNet152V2 0.91 25.8 1600.354 0.6899
DenseNet169 0.897 24.9 1610.34 0.6891
Xception 0.897 28.28 2002.00 0.6113
Inception ResNetV2 0.91 27.98 2070.113 0.604
EfficientNet V2B3 0.897 32.5 2500.611 0.511
MobileNetV2 0.372 70.81 6594.416 -0.259