KR102595789B1 - 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법 - Google Patents

전자 회로도 영상의 자동인식 및 네트리스트 변환 방법 Download PDF

Info

Publication number
KR102595789B1
KR102595789B1 KR1020210154704A KR20210154704A KR102595789B1 KR 102595789 B1 KR102595789 B1 KR 102595789B1 KR 1020210154704 A KR1020210154704 A KR 1020210154704A KR 20210154704 A KR20210154704 A KR 20210154704A KR 102595789 B1 KR102595789 B1 KR 102595789B1
Authority
KR
South Korea
Prior art keywords
coordinates
symbols
image
symbol
end point
Prior art date
Application number
KR1020210154704A
Other languages
English (en)
Other versions
KR20230068672A (ko
Inventor
김성영
시종욱
김문년
Original Assignee
금오공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 금오공과대학교 산학협력단 filed Critical 금오공과대학교 산학협력단
Priority to KR1020210154704A priority Critical patent/KR102595789B1/ko
Publication of KR20230068672A publication Critical patent/KR20230068672A/ko
Application granted granted Critical
Publication of KR102595789B1 publication Critical patent/KR102595789B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/12Symbolic schematics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/20Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

전자 회로도 영상의 자동인식 및 네트리스트 변환 방법은 전자 회로도 영상에서 전기소자의 심볼을 객체인식하고 각 심볼의 종류와 회로도에서의 상하좌우의 좌표값을 각각 저장하는 심볼인식단계와, 모든 심볼들을 원본 영상에서 삭제하여 심볼을 연결하는 전선만 존재하는 영상을 생성한 후 전선을 검출하는 전선검출단계와, 상기 전선검출단계의 전선 검출 결과 영상에 해리스코너를 적용하여 코너점의 위치를 검출하는 끝 점 검출단계와, 선의 연결성을 알기 위해서 연결된 전선의 모든 좌표들을 리스트에 넣은 후 중복을 제거하고, 좌표들의 집합에서 같은 좌표의 개수가 1개인 경우에는 이어지는 좌표가 아니므로 끝 점이라 판단하되, 끝점을 하나 선택하여 유클리디안 거리를 계산하여 검출된 심볼들 중 가장 가까운 심볼의 좌표를 찾은 후 선택한 끝 점의 좌표를 심볼의 좌표로 변경하는 네트리스트 변환단계를 포함하는 것을 특징으로 한다.

Description

전자 회로도 영상의 자동인식 및 네트리스트 변환 방법{Automatic recognition of electronic circuit diagram image and netlist conversion method}
본 발명은 전자 회로도 자동인식기술에 관한 것으로서, 더 상세하게는 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법에 관한 것이다.
회로도란 수많은 전선과 전자 소자로 구성된 전기 회로를 그림으로 표시한 것이다. 집을 짓기 위해서는 사전에 설계 도면을 작성하는 것과 같이 전자기기를 제작하기 위해서는 전자 회로도를 작성한다.
이 단계가 전자 기기에 대한 설계 단계인데 회로구현은 전자공학의 관련 지식이 있는 전문 인력, 관련 장비 및 노동력이 필요하다. 전자공학의 기초가 되는 “회로 이론” 과목에서는 간단한 회로도를 이용해 회로망을 해석한다. 이 과정에서 기존에 존재하는 전자 회로도를 동일하게 입력하는 경우가 빈번하게 발생한다.
OrCAD의 PSPICE 등과 같이 전자 회로도를 시뮬레이션하는 소프트웨어를 사용하면 회로망에 대한 분석과 동작 여부를 확인할 수 있다. 이 프로그램은 사용자가 회로상에 전자 소자(이하 심볼로 표기)를 위치시키고 전선을 사용하여 이들을 연결하여 회로도를 구성하면 동작 결과를 시뮬레이션 할 수 있다. 따라서 보드를 설계하기 전 시뮬레이션을 통해 설계된 회로에 대한 검증을 할 수 있게 지원한다는 장점이 있다. 하지만, 이러한 프로그램들은 심볼에 대해 관련 지식이 부족하거나 사용법을 모르는 일반 사용자들의 경우에 사용성이 떨어진다.
또한, 기존의 작성된 회로도를 동일하게 다시 작성하는 작업은 매우 번거로운 과정이다. 따라서 기존에 존재하는 회로도를 디지털화하여 간편하게 시뮬레이션 할 수 있도록 구성하는 기술이 필요하다.
KR 10-0528833 B
본 발명은 상기와 같은 기술적 과제를 해결하기 위해 제안된 것으로, YOLO v3를 사용하여 심볼을 검출하고 영상분석 기술을 활용하여 네트리스트로 변환하는 시스템 및 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법을 제공한다.
상기 문제점을 해결하기 위한 본 발명의 일 실시예에 따르면, 전자 회로도 영상에서 전기소자의 심볼을 객체인식하고 각 심볼의 종류와 회로도에서의 상하좌우의 좌표값을 각각 저장하는 심볼인식단계와, 모든 심볼들을 원본 영상에서 삭제하여 심볼을 연결하는 전선만 존재하는 영상을 생성한 후 전선을 검출하는 전선검출단계와, 상기 전선검출단계의 전선 검출 결과 영상에 해리스코너를 적용하여 코너점의 위치를 검출하는 끝 점 검출단계와, 선의 연결성을 알기 위해서 연결된 전선의 모든 좌표들을 리스트에 넣은 후 중복을 제거하고, 좌표들의 집합에서 같은 좌표의 개수가 1개인 경우에는 이어지는 좌표가 아니므로 끝 점이라 판단하되, 끝점을 하나 선택하여 유클리디안 거리를 계산하여 검출된 심볼들 중 가장 가까운 심볼의 좌표를 찾은 후 선택한 끝 점의 좌표를 심볼의 좌표로 변경하는 네트리스트 변환단계를 포함하는 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법이 제공된다.
또한, 본 발명에서 상기 전선검출단계는, 검출한 모든 심볼들을 원본 영상에서 삭제하여 심볼을 연결하는 전선만 존재하는 영상을 생성하고, 캐니검출 알고리즘을 수행하여 영상의 에지를 검출하고 모폴로지의 침식, 팽창 연산을 통해 윤곽선을 병합하고, 세선화를 이용하여 소정의 픽셀만 남기고 나머지를 제거하고 허프변환으로 전선의 좌표들을 찾는 것을 특징으로 한다.
또한, 본 발명에서 상기 끝 점 검출단계는, 이미 찾은 코너점과 거리가 10 이하인 새로운 코너점은 무시하고, 코너점들의 좌표값들로 연결성을 찾기 위해, 검출된 좌표들을 후처리 과정을 거쳐 10의 배수로 좌표들을 수정하여 연결성을 찾는 것을 특징으로 한다.
또한, 본 발명의 다른 실시예에 따르면, 전자 회로도 영상에서 YOLO v3를 이용하여 전기소자의 심볼을 객체인식하고 각 심볼의 종류와 회로도에서의 상하좌우의 좌표값을 각각 저장하는 심볼인식단계와, 검출한 모든 심볼들을 원본 영상에서 삭제하여 심볼을 연결하는 전선만 존재하는 영상을 생성하고, 캐니 알고리즘을 수행하여 영상의 에지를 검출하고 모폴로지의 침식, 팽창 연산을 통해 윤곽선을 병합하고, 세선화를 이용하여 소정의 픽셀만 남기고 나머지를 제거하고 허프변환으로 전선의 좌표들을 찾는 전선검출단계와, 이미 찾은 코너점과 거리가 10 이하인 새로운 코너점은 무시하고, 코너점들의 좌표값들로 연결성을 찾기 위해, 검출된 좌표들을 후처리 과정을 거쳐 10의 배수로 좌표들을 수정하여 연결성을 찾는 끝 점 검출단계와, 선의 연결성을 알기 위해서 연결된 전선의 모든 좌표들을 리스트에 넣은 후 중복을 제거하고, 좌표들의 집합에서 같은 좌표의 개수가 1개인 경우에는 이어지는 좌표가 아니므로 끝 점이라 판단하되, 끝점을 하나 선택하여 유클리디안 거리를 계산하여 검출된 심볼들 중 가장 가까운 심볼의 좌표를 찾은 후 선택한 끝 점의 좌표를 심볼의 좌표로 변경하는 네트리스트 변환단계를 포함하는 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법이 제공된다.
전자 도면이나 관련 서적에는 회로도가 많이 포함되어 있고 결과를 보기 위해서는 회로 구성 작업이 필요하다. 그런데 실제로 구성하는 것은 비용과 노동력의 낭비가 크기 때문에 컴퓨터 시뮬레이션 프로그램을 많이 사용한다. 하지만 시뮬레이션 프로그램은 사용자가 회로를 배치하고 값을 입력하는 등의 수동적인 작업이 필요하다. 이에 본 발명에서는 전자 회로의 도면 영상을 입력하면 자동으로 PSPICE 네트리스트로 변환하는 기술을 개발하였다. 우선 회로 심볼에 대한 학습을 통해 회로 심볼을 인식하고 인식한 심볼들을 도면에서 제거한다. 그리고 심볼이 제거된 도면에서 영상처리 기술을 활용하여 회로 심볼들을 연결하는 전선 사이의 관계를 분석한다. 마지막으로 심볼 인식 및 전선 분석 정보를 종합하여 PSPICE 네트리스트를 생성한다. 본 발명에서 제안한 방법은 단일 입출력으로 구성된 순환형 전자 회로도에 대해 우수한 성능을 나타내는 것을 확인하였다.
도 1은 PSPICE의 템플릿 네트리스트를 나타낸 예시도
도 2는 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법의 전체 프로세스를 나타낸 도면
도 3은 선 검출 과정을 나타낸 예시도
도 4는 끝 점 검출 과정을 나타낸 예시도
도 5는 각 심볼의 레이블 개수를 나타낸 예시도
도 6은 학습에 사용한 영상 샘플의 예시도
도 7은 모양이 비슷한 심볼의 예시도
도 8은 객체 검출 및 네트리스트 변환 결과를 나타낸 도면
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부한 도면을 참조하여 설명하기로 한다.
본 발명에서는 회로도 영상을 입력으로 하여 출력 결과를 볼 수 있는 시스템을 제안한다. 영상처리와 딥러닝 기술을 사용하여 PSPICE에 적용이 가능한 네트리스트로 변환하는 것에 목표를 둔다.
도 1은 PSPICE의 템플릿 네트리스트를 나타낸 예시도이다. 도 1은 PSPICE를 처음 실행했을 때 출력되는 템플릿을 저장한 네트리스트 파일(.sch)이다. 이 템플릿을 기반으로 필요한 전선이나 심볼을 추가한다.
네트리스트 변환에서의 중점적인 부분은 @parts, @conn 및 @junction이다. @parts는 회로 심볼에 대한 정보, @conn은 선의 좌표가 어느 전선과 연결된 것인지에 대한 라벨링을 나타낸다. @junction은 전선이 어느 좌표에서 어떤 좌표로 연결되는지에 대한 정보를 포함한다. 이 세 부분만을 정확하게 구성하면 프로그램을 통해 시뮬레이션이 가능하다.
본 발명의 실시예에서 제안하는 방법은 영상처리와 딥러닝을 융합한 영상분석 기술을 사용한다.
도 2는 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법의 전체 프로세스를 나타낸 도면이다.
먼저 카메라가 촬영하거나, 스캐너에 의해 스캔된 전자 회로도의 영상에서 심볼을 인식하여 파일로 저장한다. 그런데 심볼을 연결하는 전선과 이들의 끝점을 인식하기 위해 전자 회로도의 영상을 그대로 사용하면 전선과 심볼 내부의 선과 점을 혼동하는 확률이 매우 높다. 따라서 검출된 심볼을 배경색으로 지운 후에 전선과 이들의 끝점을 찾는다. 캐니, 모폴로지, 허프변환 및 세선화의 영상처리 기법을 사용하여 전선의 위치를 찾는다. 끝점의 경우 해리스 코너를 사용하여 검출한 후, 중복 제거 및 전선들의 군집화를 적용한다. 앞의 모든 정보들을 통합하여 PSPICE의 프로그램으로 실행가능하도록 네트리스트로 변환한다.
여기에서 전자 회로도 영상은 카메라 또는 스캐너를 통해 획득할 수 있고, 영상의 자동인식 및 네트리스트 변환과정은 PSPICE 가 설치된 단말장치(컴퓨터)에서 처리된다.
- 심볼 인식
심볼을 검출하고 인식하기 위하여 YOLO v3의 기술을 활용한다. YOLO v3는 클러스터링을 통해 앵커 박스를 생성하여 바운딩 박스를 객체를 예측하는 객체검출기술이다. 본 발명에서는 전자 회로도에서 상대적으로 빈번하게 사용되는 심볼을 선별하여 학습에 사용한다.
<표 1>
표 1은 선별한 13가지의 심볼의 종류를 나타낸다. 심볼이 검출되면 심볼의 종류(0~12)와 회로도에서의 상하좌우의 좌표값을 텍스트 파일에 차례대로 저장한다.
- 전선 검출
도 3은 선 검출 과정을 나타낸 예시도이다.
심볼을 인식한 결과의 좌표는 선 검출에 사용된다. 선 검출의 정확도를 높이기 위해 검출한 모든 심볼들은 원본 영상에서 삭제하여 심볼을 연결하는 전선만 존재하는 영상을 생성한다.
영상의 크기를 (400, 400)으로 고정 후에 캐니 에지 검출 알고리즘을 수행하여 영상의 에지를 검출한다(도 3(a)).
이어서 모폴로지의 침식, 팽창 연산을 통해 윤곽선을 병합한다(도 3(b)).
마지막으로 세선화를 이용하여 최소한의 픽셀만 남기고 나머지를 제거하고(도 3(c)), 허프변환으로 전선의 좌표들을 찾는다(도 3(d)). 검출이 완료되면 입력과 동일한 크기의 영상으로 변환한다.
- 끝 점 검출
도 4는 끝 점 검출 과정을 나타낸 예시도이다.
전선 검출 결과 영상에 해리스코너를 적용하여 코너점의 위치를 검출한다(도 4(a)). 하지만, 제약조건 없이 수행하면 같은 코너에 여러 개의 코너점이 검출되는 문제점이 발생한다.
따라서 본 발명에서는 코너점을 찾을 때 이미 찾았던 코너점과 거리가 10이하인 새로 발견한 코너점은 무시한다(도 4(b)). 또한, 코너점들의 좌표 값들로 연결성을 찾기 위해, 검출된 좌표들을 후처리 과정을 거쳐 10의 배수로 좌표들을 수정한다(도 4(c)).
수정된 좌표들이 같은 행 또는 열에 위치하면 x나 y의 좌표는 동일하게 된다. 이후 수정된 좌표들의 값들을 이용하여 연결성을 찾는다. 먼저 가로 방향의 연결성을 찾기 위해 x좌표가 같고 y좌표가 다른 점들을 찾는다. 이어서 세로 방향을 고려하여 y좌표가 같고 x좌표가 다른 점들을 찾는다.
좌표와의 거리가 가장 작은 좌표 사이에 심볼의 영역이 없다면, 두 좌표 사이에 선을 그리고 그 선의 값을 저장한다. 위의 과정을 모든 좌표들에 대해 완료될 때까지 진행한다. 저장된 선들의 정보들을 활용해, 선의 시작점과 끝 점이 같은 선들을 하나의 선으로 인식하고 연결성을 포함한 내용들을 저장한다(도 4(d)).
- 네트리스트 변환
(1) PSPICE에서의 심볼
심볼의 방향은 수평 및 수직의 두 가지 경우로 가능하며 네트리스트에서는 h, v로 표현한다. 심볼에 대한 최소 경계 사각형의 가로 길이가 더 긴 경우는 수평, 세로 길이가 더 긴 경우 수직으로 인식한다. 심볼의 고정된 크기는 종류별로 상이하며 검출된 심볼의 좌표와는 무관하게 중간값을 사용한다.
따라서 수평의 경우, 좌표는 [좌측, 상하평균], [좌측+크기, 상하평균]이 된다. 그리고 수직의 경우는 [좌우평균, 하측-크기], [좌우평균, 하측]로 표시한다.
심볼이 다르더라도 목적이 같은 경우에 PSPICE에서는 동일한 Class로 분류한다. Class에 따른 심볼 개수를 네트리스트 파일 상단에 기록하며 이는 C, D, V, R 등의 다양한 식별자를 통해 분류된다.
<표 2>
표 2는 PSPICE에서 사용되는 심볼의 이름, 크기 및 클래스를 나타낸다.
(2) 전선의 끝 점 검출
선의 연결성을 알기 위해서는 선의 시작과 코너, 끝을 알아야 한다. 이는 연결된 전선의 모든 좌표들을 모두 리스트에 넣은 후 중복을 제거한다. 좌표들의 집합에서 같은 좌표의 개수가 1인 경우에는 이어지는 좌표가 아니므로 끝 점이라 판단한다.
(3) 끝 점 좌표 수정
끝점의 좌표와 수정된 심볼의 좌표가 정확하게 일치한다고 보장할 수 없다. 따라서 끝점의 좌표를 심볼의 수정된 좌표로 연결시켜야 한다. 이는 끝점을 하나 선택하여 유클리디안 거리를 계산하여 검출된 심볼들 중 가장 가까운 심볼의 좌표를 찾은 후 선택한 끝 점의 좌표를 심볼의 좌표로 변경한다.
수정된 좌표를 이용해 @part와 @conn에 기입한다.
(4) 심볼간의 전선 연결
좌표만 같다고 연결이 되는 것이 아니라 심볼 자체에 전선을 연결하는 기능이 있어야 한다. 이는 네트리스트에서 이러한 부분을 @junction에 기입한다.
해당 junction의 약자인 ‘j’와 심볼에 연결될 좌표를 기입하고 그 아래에 ‘+’라는 문자와 Part의 약자인‘p’를 기입한다. 해당 좌표가 좌측이나 하측인 경우 1, 우측이나 상측인 경우 2를 기입한다. 그리고 그 아래에 해당 연결되는 선을 표시하기 위해 그룹화된 선을 기입한다.
- 성능 평가 및 결과
(1) 심볼 검출
심볼을 검출하기 위해 본 발명에서는 YOLO v3 모델을 사용하여 진행하였다.
도 5는 각 심볼의 레이블 개수를 나타낸 예시도이고, 도 6은 학습에 사용한 영상 샘플의 예시도이다.
도 5는 학습에 사용한 심볼 당 레이블의 개수를 나타낸다. Register(Alt)가 867개로 가장 많았으며 총 4,125개의 심볼 데이터를 이용하여 학습을 진행하였다. 학습에 사용한 회로도 영상은 127장이며(도 6(a)),데이터 증강을 통해 추가로 70장을 생성했다(도 6(b)). 또한, 회로 없이 심볼만 포함된 영상 119장을 포함하여 총 316장을 학습에 사용하였다(도 6(c)).
Ubuntu 18. 04 LTS 환경에서 GTX TITAN Z를 사용하여 학습을 진행하였다. 학습에는 20시간 30분이 소요되었고 최종 Loss는 0.4151이다.
도 7은 모양이 비슷한 심볼의 예시도이다. 도 7은 객체 검출 성능이 낮은 CAPACTOR(a)와 DIRECT(b)의 심볼인데 모양이 매우 비슷하여 서로 오인식하는 경우가 많았다.
<표 3>
표 3은 각 심볼 검출의 정확도를 나타낸다. 0V COMMON, 레지스터 및 배터리에서 90% 이상의 높은 성능을 보인다.
(2) PSPICE 실행 결과
본 발명에서는 제안한 방법을 통해 변환된 네트 리스트를 PSPICE(ver. 9.1)으로 직접 실행하여 성능 평가를 진행하였다. 실행 결과에 대한 정확도를 측정하므로 네트리스트로의 변환(T)뿐만 아니라, 객체 검출이 모두 성공한 상황(O) 및 끝점이 정확하게 검출된 상황(E)에 대한 조건부 확률을 이용해 평가하였다.
<표 4>
표 4는 PSPICE를 실행을 통한 네트리스트 변환 성능을 나타낸 표이다. 표 4는 단일 입출력 심볼로만 구성된 순환적인 회로에서 심볼의 개수(N)에 따라 측정한 결과이다. 성능 평가에는 36장의 회로 영상을 사용하며, 전체적인 성능은 N이 작은 경우에 높게 평가된다.
P(T|O)는 심볼을 정확히 검출했을 때, 변환 성공률을 나타낸 것이며 검출하지 못한 심볼이 있는 4장의 영상이 제외된다. 그리고 P(T|E)은 끝점까지 모두 정확히 검출했을 때의 변환 성공률을 나타낸 것이며, 검출 오류가 있는 3장의 사진이 추가로 제외된다.
실험 결과를 살펴보면 N이 작을수록 성능이 높다. 그런데 단계마다 성능 차이가 큰 것을 보아, 심볼 검출이나 끝점을 제대로 찾는 것이 변환성능이 큰 영향을 주는 것으로 보인다. 이는 영상마다 선의 두께 및 검출된 점의 수가 상이하기 때문이다. 전체 변환 과정에서 오류 없이 성공하면, PSPICE 프로그램 내부에서 회로를 출력한다. 만약 변환에 성공하지 못하면 아무런 출력을 내지 않는다. 변환에 실패한 이유는 매우 다양하며, 대부분은 객체 검출의 오류로 선과 심볼이 연결되지 않았기 때문이다.
도 8은 객체 검출 및 네트리스트 변환 결과를 나타낸 도면이다. 도 8은 네트리스트 변환을 성공한 PSPICE 결과를 나타낸다. 도 8(a)는 객체 검출이 모두 정확히 이루어진 결과를 나타내며, 이를 최종변환에 성공할 시 도 8(b)와 같이 시뮬레이션 회로의 결과가 나타난다.
본 발명에서는 기존에 존재하지 않았던 방식의 전자 회로도 영상 변환 시스템을 제안하였다. YOLO v3를 사용하여 심볼을 검출하고 각종 영상분석 기술을 활용하여 네트리스트로 변환하는 시스템을 제안하였다. 실험 결과로 간단한 회로의 환경 그리고 입출력이 하나인 경우에 변환이 잘 이루어지며, 회로 심볼의 개수에 따라 성능 차이가 있음을 확인하였다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (4)

  1. 카메라 또는 스캐너에 의해 획득된 전자 회로도 영상에서 단말장치가 전기소자의 심볼을 객체인식하고 각 심볼의 종류와 회로도에서의 상하좌우의 좌표값을 각각 저장하는 심볼인식단계;
    상기 단말장치가 모든 심볼들을 원본 영상에서 삭제하여 심볼을 연결하는 전선만 존재하는 영상을 생성한 후 전선을 검출하는 전선검출단계;
    상기 단말장치가 상기 전선검출단계의 전선 검출 결과 영상에 해리스코너를 적용하여 코너점의 위치를 검출하는 끝 점 검출단계;
    상기 단말장치가 선의 연결성을 알기 위해서 연결된 전선의 모든 좌표들을 리스트에 넣은 후 중복을 제거하고, 좌표들의 집합에서 같은 좌표의 개수가 1개인 경우에는 이어지는 좌표가 아니므로 끝 점이라 판단하되, 끝점을 하나 선택하여 유클리디안 거리를 계산하여 검출된 심볼들 중 가장 가까운 심볼의 좌표를 찾은 후 선택한 끝 점의 좌표를 심볼의 좌표로 변경하는 네트리스트 변환단계;를 포함하고,
    상기 전선검출단계는, 검출한 모든 심볼들을 원본 영상에서 삭제하여 심볼을 연결하는 전선만 존재하는 영상을 생성하고, 캐니검출 알고리즘을 수행하여 영상의 에지를 검출하고 모폴로지의 침식, 팽창 연산을 통해 윤곽선을 병합하고, 세선화를 이용하여 소정의 픽셀만 남기고 나머지를 제거하고 허프변환으로 전선의 좌표들을 찾는 것을 특징으로 하는 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 끝 점 검출단계는,
    이미 찾은 코너점과 거리가 10 이하인 새로운 코너점은 무시하고, 코너점들의 좌표값들로 연결성을 찾기 위해, 검출된 좌표들을 후처리 과정을 거쳐 10의 배수로 좌표들을 수정하여 연결성을 찾는 것을 특징으로 하는 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법.
  4. 카메라 또는 스캐너에 의해 획득된 전자 회로도 영상에서 단말장치가 YOLO v3를 이용하여 전기소자의 심볼을 객체인식하고 각 심볼의 종류와 회로도에서의 상하좌우의 좌표값을 각각 저장하는 심볼인식단계;
    상기 단말장치가 검출한 모든 심볼들을 원본 영상에서 삭제하여 심볼을 연결하는 전선만 존재하는 영상을 생성하고, 캐니 알고리즘을 수행하여 영상의 에지를 검출하고 모폴로지의 침식, 팽창 연산을 통해 윤곽선을 병합하고, 세선화를 이용하여 소정의 픽셀만 남기고 나머지를 제거하고 허프변환으로 전선의 좌표들을 찾는 전선검출단계;
    상기 단말장치가 이미 찾은 코너점과 거리가 10 이하인 새로운 코너점은 무시하고, 코너점들의 좌표값들로 연결성을 찾기 위해, 검출된 좌표들을 후처리 과정을 거쳐 10의 배수로 좌표들을 수정하여 연결성을 찾는 끝 점 검출단계; 및
    상기 단말장치가 선의 연결성을 알기 위해서 연결된 전선의 모든 좌표들을 리스트에 넣은 후 중복을 제거하고, 좌표들의 집합에서 같은 좌표의 개수가 1개인 경우에는 이어지는 좌표가 아니므로 끝 점이라 판단하되, 끝점을 하나 선택하여 유클리디안 거리를 계산하여 검출된 심볼들 중 가장 가까운 심볼의 좌표를 찾은 후 선택한 끝 점의 좌표를 심볼의 좌표로 변경하는 네트리스트 변환단계;
    를 포함하는 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법.
KR1020210154704A 2021-11-11 2021-11-11 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법 KR102595789B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210154704A KR102595789B1 (ko) 2021-11-11 2021-11-11 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210154704A KR102595789B1 (ko) 2021-11-11 2021-11-11 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법

Publications (2)

Publication Number Publication Date
KR20230068672A KR20230068672A (ko) 2023-05-18
KR102595789B1 true KR102595789B1 (ko) 2023-10-27

Family

ID=86545349

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210154704A KR102595789B1 (ko) 2021-11-11 2021-11-11 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법

Country Status (1)

Country Link
KR (1) KR102595789B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086722A (ja) * 2002-08-28 2004-03-18 Casio Comput Co Ltd 情報処理装置及び画像取込みプログラム
JP2006513560A (ja) * 2002-12-17 2006-04-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 集積回路診断方法、システム、およびプログラム・プロダクト

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3458574B2 (ja) * 1996-01-18 2003-10-20 日産自動車株式会社 回路図作成装置
KR100528833B1 (ko) 2005-03-31 2005-11-15 주식회사 이디 실사 회로도를 이용한 회로 시뮬레이션 프로그램이 수록된 컴퓨터로 읽을 수 있는 기록매체
KR101885356B1 (ko) * 2016-05-04 2018-08-03 임재형 대상물의 위치 정보 측정 장치 그리고 그 제어 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086722A (ja) * 2002-08-28 2004-03-18 Casio Comput Co Ltd 情報処理装置及び画像取込みプログラム
JP2006513560A (ja) * 2002-12-17 2006-04-20 インターナショナル・ビジネス・マシーンズ・コーポレーション 集積回路診断方法、システム、およびプログラム・プロダクト

Also Published As

Publication number Publication date
KR20230068672A (ko) 2023-05-18

Similar Documents

Publication Publication Date Title
US11195007B2 (en) Classification of piping and instrumental diagram information using machine-learning
CN112580623B (zh) 图像生成方法、模型训练方法、相关装置及电子设备
Ravikiran et al. Finger detection for sign language recognition
CN114641753A (zh) 使用机器学习从楼层平面图图纸进行合成数据生成和建筑信息模型(bim)要素提取
CN109508676A (zh) 一种逻辑电路图信息提取的机器视觉检测算法
CN111124888B (zh) 录制脚本的生成方法和装置及电子装置
JP2000227941A (ja) 手書き情報処理システムおよび方法
Chiang et al. Recognition of multi-oriented, multi-sized, and curved text
CN109447007A (zh) 一种基于表格节点识别的表格结构补全算法
CN111340020A (zh) 一种公式识别方法、装置、设备及存储介质
CN111738252B (zh) 图像中的文本行检测方法、装置及计算机系统
CN111783561A (zh) 审图结果修正方法、电子设备及相关产品
CN109656652B (zh) 网页图表绘制方法、装置、计算机设备和存储介质
CN113610809A (zh) 骨折检测方法、装置、电子设备以及存储介质
KR102595789B1 (ko) 전자 회로도 영상의 자동인식 및 네트리스트 변환 방법
CN112084103B (zh) 界面测试方法、装置、设备和介质
CN114387600A (zh) 文本特征识别方法、装置、计算机设备和存储介质
CN114519213A (zh) 使用机器学习从标记中实现计算机辅助绘制图自动化
CN114049686A (zh) 签名识别模型训练方法、装置及电子设备
CN113849118A (zh) 一种应用于电子白板的图像识别方法及相关装置
Bayer et al. Instance segmentation based graph extraction for handwritten circuit diagram images
Chu et al. Automated GUI testing for android news applications
JP4648084B2 (ja) 記号認識方法及び装置
JP2004259076A (ja) 画像認識方法及び装置
CN114663414B (zh) 一种基于unet卷积神经网络的岩矿识别提取系统及方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant