KR20210098106A - 딥러닝 기반 자동 결함 검사 장치 및 방법 - Google Patents

딥러닝 기반 자동 결함 검사 장치 및 방법 Download PDF

Info

Publication number
KR20210098106A
KR20210098106A KR1020200011885A KR20200011885A KR20210098106A KR 20210098106 A KR20210098106 A KR 20210098106A KR 1020200011885 A KR1020200011885 A KR 1020200011885A KR 20200011885 A KR20200011885 A KR 20200011885A KR 20210098106 A KR20210098106 A KR 20210098106A
Authority
KR
South Korea
Prior art keywords
image
feature extractor
input
input data
images
Prior art date
Application number
KR1020200011885A
Other languages
English (en)
Other versions
KR102372714B1 (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 KR1020200011885A priority Critical patent/KR102372714B1/ko
Publication of KR20210098106A publication Critical patent/KR20210098106A/ko
Application granted granted Critical
Publication of KR102372714B1 publication Critical patent/KR102372714B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

이미지를 미리 결정된 방향을 따라 일정한 간격으로 분할하여 N개의 서브이미지들을 생성하는 단계, N개의 서브이미지들로부터 특징 추출기에 입력하기 위한 입력데이터를 생성하는 단계, 및 특징 추출기에 입력데이터를 입력하여 이미지의 특징을 추출하는 단계를 포함하는 방법을 공개한다. 입력데이터의 디멘젼의 차원값은, CNN으로 구성된 다른 특징 추출기를 이용하여 이미지의 특징을 추출하기 위하여 이미지로부터 다른 특징 추출기에 입력하기 위해 생성되는 비교입력데이터의 디멘젼의 차원값보다 1만큼 크다.

Description

딥러닝 기반 자동 결함 검사 장치 및 방법{Automatic defect inspection system based on deep learning}
본 발명은 딥러닝을 이용한 제품의 결함 검사 시스템에 관한 것이다.
최근 스마트 팩토리 구현을 위한 다양한 기술들이 집중 연구되고 있다. 스마트 팩토리 구현을 위해서는 원료량, 원료 품질, 제조 공정 데이터 (온도, 습도 등), 설비 운전 조건 등의 다양한 공정 데이터가 필요하고 그 결과로 나타나는 제품의 품질 데이터가 DB화 되어 있어야 한다. 즉 입력(input)과 출력(output)의 상관관계를 분석하여 품질을 예측하고, 대량 결함 발생을 사전에 방지하고, 설비 고장을 사전에 예측하여 선제적으로 대응할 수 있어야 한다. 이러한 스마트 팩토리 구현을 위해 결함을 실시간 검사하고 제품 품질을 판정하는 결함 검사 시스템은 핵심 기술이다.
일반적인 결함 검사를 위한 비전 시스템의 구성은 다음과 같다.
제품의 상태를 영상화 하는 조명과 카메라로 구성된 광학 모듈, 영상에서 결함의 위치와 종류를 자동 판단하는 인식 모듈, 그리고 마지막으로 제품의 영상과 판단 결과를 저장하는 DB로 크게 3개로 구성된다.
특히 영상에서 결함의 위치와 종류를 판단하는 인식 모듈이 결함 검사 성능에 영향을 미치는 주요 요소이다. 예전에는 정상과 결함을 판단하기 위해, 개발자의 경험적 판단으로 규칙-기반(rule-base) 방법에 의존하여 특징의 주요 인자를 추출하는 알고리즘 개발 방법으로 시스템을 개발하였지만, 이러한 방법은 개발 기간이 길어지고, 제품과 결함에 따라 매번 주요 인자 주출 알고리즘을 개발해야하는 단점과 그에 따른 인식 성능 저하가 나타났다. 따라서 최근에는 결함 검출 및 분류를 위한 특징 추출을 스스로 할 수 있는 딥러닝 기술을 이용하여 인식 알고리즘을 개발하는 추세이다.
하지만 일반적인 딥러닝 방법을 사용하면 결함의 특징은 유사하지만, 결함의 주변 상태에 따라 결함 유무가 결정되는 상황에서는 오검출이 발생한다. 즉 연속적으로 생산되는 스트립(strip)과 같은 제품의 경우 제품 생산 방향, 즉 제품이 움직이는 방향으로 주기적으로 발생하는 찍힘과 같은 결함은 결함이지만, 찍힘과 동일하게 영상에서 표현이 되어도 간헐적으로 발생하는 부분은 결함이 아니다. 반대로 제품의 움직이는 방향으로 노이즈처럼 발생되는 부분은 결함처럼 보여도 결함이 아니지만 동일한 형태와 색상이 깨끗한 표면에서 한번 발생되면 결함인 경우가 있다. 이렇게 결함의 형태와 색상등의 특징이 동일하여도 특정 방향(제품의 생산 방향)의 특징에 따라 결함 유무가 달라지는 경우에 대해 결함 검출 성능을 획기적으로 높일 수 있는 기술이 요구된다.
본 발명에서는 딥러닝을 이용한 결함 검사 기술을 이용하여, 다양한 제조업의 제품에 대한 품질 정량화와 실시간 자동 결함 검사가 이루어질 수 있도록 하고자 한다. 또한 본 발명에 따르면 오검출과 오분류를 효과적으로 줄일 수 있는 노이즈 제거 기술을 제공하고자 한다.
본 발명의 일 관점에 따라 딥러닝을 이용한 제품의 결함 검사 시스템을 제공할 수 있다. 이 시스템은 특정 방향 정보를 효과적으로 추출할 수 있는 딥러닝 구조를 가질 수 있다. 딥러닝을 이용하여, 영상 특징은 동일하더라도 주변의 특징 정보를 이용하여 적응적으로 결함을 판단할 수 있는 결함 검사 시스템을 제공할 수 있다.
본 발명의 일 관점에 따라 제공되는 제품의 결함 검사 시스템은, 영상에서 특징추출 후 머신러닝(SVM, NN, Decision tree)으로 분류하는 결함 기술이 아닌 딥러닝이 스스로 신호에서 고장의 특징을 추출하고 학습하는 기술이다.
본 발명의 일 관점에 따라 제공되는 제품의 결함 검사 시스템은 입력 영상의 차원을 확장하여 특정 방향의 정보를 효과적으로 추출할 수 있는 딥러닝 구조를 포함할 수 있다.
본 발명의 일 관점에 이 발명에서는 입력 영상을 높이(height) 방향(본 명세서에서는 제품 생산 방향을 의미함)으로 특정 구간으로 나누어 채널(channel) 방향으로 재구성하여 입력하게 된다. 즉, 본 발명의 일 관점에 따른 제품의 결함 검사 시스템은 크게 입력 영상 재구성 모듈(입력 데이터 차원 확장 모듈) 및 딥러닝 모듈(특징 추출기 -> 해상도 조정 -> 분류기) 로 구성된다.
상기 입력 영상 재구성 모듈은 입력 데이터 차원 확장 모듈로 지칭될 수 있다. 그리고 상기 딥러닝 모듈은 특징 추출기, 해상도 조정기, 및 분류기를 포함하여 구성될 수 있다.
<입력 영상 재구성 모듈 (입력 영상 차원 확장 모듈)>
도 1은 본 발명의 일 실시에에 따라, 촬영된 이미지를 표현하는 2차원 배열 데이터를 복수 개의 채널로 이루어진 3차원 배열 데이터로 변환하는 방법을 나타낸 것이다.
우선 촬영된 한 장의 이미지(110)를 준비할 수 있다. 상기 이미지(110)는 디지털 정보처리에 이해 2차원 배열 데이터(120)로 제시될 수 있다.
도 1에 제시된 바와 같이 높이 방향(D1)이 제품 생산 방향일 때, 높이 방향(D1)으로 N개의 서브영상(111, 112, 113, 114)으로 분할할 수 있다. 상기 제품 생산 방향은 예컨대 컨베이어 벨트가 이동하는 방향일 수 있다.
분할된 영상은 도 1과 같이 채널 방향(D3)으로 재구성될 수 있다. 즉 입력이 2차원 배열 데이터(120)에서 3차원 배열 데이터(121)로 차원이 1만큼 확장될 수 있다.
상기 3차원 배열 데이터(121) 중 1개 차원은 채널을 의미한다. 1개의 채널은 한 개의 2차원 배열 데이터로 이루어질 수 있다. 상기 한 개의 2차원 배열 데이터는 상기 촬영된 이미지의 일부를 잘라낸 이미지에 대응할 수 있다.
<딥러닝 특징 추출기>
본 발명에서는 차원이 확장된 신호의 특징을 추출하기 위해 CNN(Convolutional Neural Network)으로 구성된 특징 추출기를 이용한다. 채널 방향으로의 특징을 보기 위해 콘볼루션(convolution)은 각 픽셀(pixel)에 대해 채널 방향으로 모두 계산이 된다. 이렇게 특징을 추출할 시 채널 방향의 정보를 같이 보기 때문에 주기적 특성 등과 같은 제품 생산 방향의 특징을 포함할 수 있다. 특징 추출기는 콘볼루션과 풀링(pooling)으로 구성된 딥러닝 모듈을 연속적으로 배치된 구조이다. 특징 추출기의 최종 출력은 입력 영상에 비해 크기가 줄어든다.
도 2는 도 1에 나타낸 3차원 배열 데이터를 이용하여 채널 방향으로 각 픽셀에 대해 콘볼루션 결과를 모두 계산하는 개념을 나타낸 것이다.
<특징맵 해상도 확장기>
줄어든 특징맵으로는 결함의 정확한 위치를 찾기 어렵기 때문에, 특징맵의 크기를 입력 영상의 크기와 동일하게 확정해야 한다. 본 발명에서는 이를 위해 디콘볼루션 레이어(Deconvolution layer)(132)와 콘볼루션 레이어(convolution layer)(131)로 구성된 모듈을 연속적으로 배치한 CNN을 이용할 수 있다.
도 3은 3차원 배열 데이터를 콘볼루션 레이어 및 디콘볼루션 레이어에 통과시켜 최종 특징맵(122)을 생성하는 개념을 도시한 것이다.
<결함 검출 및 분류기>
본 발명에서는 상기 최종 특징맵(122)의 각 화소별로 소프트맥스 펑션(softmax function)을 통과하여 각 화소가 결함인지 아닌지 그리고 결함이면 어떤 결함인지 분류할 수 있다.
<모포로지컬 오퍼레이션(Morphological operation)>
본 발명에서는 모포로지컬 오퍼레이션을 이용하여 인접한 픽셀은 하나의 결함으로 인식하게 할 수 있다. 오픈(open) 연산으로 작은 노이즈는 제거하고, 클로즈(close) 연산으로 인근 픽셀을 연결할 수 있다.
본 발명은, 제품의 특정 방향 정보를 추출할 수 있어서 결함 검사 성능을 획기적으로 높일 수 있다. 본 발명을 이용하면 주기적 특성을 지닌 결함, 영상에서 동일하게 표현이 되지만 주변 상황에 따라 결함 여부를 판단해야 하는 결함 등의 검출하기 어려운 제품에 대해서도 효과적으로 결함 검출 할 수 있다.
본 발명에 따라 개발된 딥러닝을 활용한 결함 검사 기술은 다양한 제품의 결함 검사 핵심 기술로 사용될 수 있다. 제품의 상태를 분석할 수 있도록, 영상을 인식하는 기술은 결함 검사뿐만 아니라, 비파괴 검사와 같은 진단 분야에도 사용 될 수 있다. 또한 스마트 팩토리(Smart Factory) 구현의 필수기술로, 생산 조업 조건에 따른 제품의 상태를 판정하고 제품 품질과 공정 조건과의 관계를 파악하여 생산 조건을 최적화하는 기술에도 응용 가능하다.
본 발명의 일 관점에 따라 CNN으로 구성된 특징 추출기를 이용하여, 이미지의 특징을 추출하는 방법이 제공될 수 있다. 이 방법은, 상기 이미지를 미리 결정된 방향을 따라 일정한 간격으로 분할하여 N개의 서브이미지들을 생성하는 단계; 상기 N개의 서브이미지들로부터 상기 특징 추출기에 입력하기 위한 입력데이터를 생성하는 단계; 및 상기 특징 추출기에 상기 입력데이터를 입력하여 상기 이미지의 특징을 추출하는 단계;를 포함한다. 이때, 상기 입력데이터의 디멘젼의 차원값은, CNN으로 구성된 다른 특징 추출기를 이용하여 상기 이미지의 특징을 추출하기 위하여 상기 이미지로부터 상기 다른 특징 추출기에 입력하기 위해 생성되는 비교입력데이터의 디멘젼의 차원값보다 1만큼 크다.
본 발명의 다른 관점에 따라, CNN으로 구성된 특징 추출기를 이용하여, 이미지의 특징을 추출하여 제품의 결함을 자동으로 검사하는 자동 결함 검사 장치가 제공될 수 있다. 상기 자동 결함 검사 장치는 연산부 및 저장부를 포함한다. 상기 연산부는, 상기 이미지를 상기 저장부로부터 획득하는 단계; 상기 이미지를 미리 결정된 방향을 따라 일정한 간격으로 분할하여 N개의 서브이미지들을 생성하는 단계; 상기 N개의 서브이미지들로부터 상기 특징 추출기에 입력하기 위한 입력데이터를 생성하는 단계; 및 상기 특징 추출기에 상기 입력데이터를 입력하여 상기 이미지의 특징을 추출하는 단계;를 수행하도록 되어 있다. 그리고 상기 입력데이터의 디멘젼의 차원값은, CNN으로 구성된 다른 특징 추출기를 이용하여 상기 이미지의 특징을 추출하기 위하여 상기 이미지로부터 상기 다른 특징 추출기에 입력하기 위해 생성되는 비교입력데이터의 디멘젼의 차원값보다 1만큼 크다.
본 발명의 또 다른 관점에 따라, CNN으로 구성된 특징 추출기를 이용하여, 이미지의 특징을 추출하여 제품의 결함을 자동으로 검사하는 자동 결함 검사 장치를 동작시키기 위한 명령 코드들을 포함하는 프로그램이 기록된 비휘발성 저장매체가 제공될 수 있다. 상기 명령 코드들은 상기 자동 결함 검사 장치로 하여금, 상기 이미지를 미리 결정된 방향을 따라 일정한 간격으로 분할하여 N개의 서브이미지들을 생성하는 단계; 상기 N개의 서브이미지들로부터 상기 특징 추출기에 입력하기 위한 입력데이터를 생성하는 단계; 및 상기 특징 추출기에 상기 입력데이터를 입력하여 상기 이미지의 특징을 추출하는 단계;를 수행하도록 되어 있다. 그리고 상기 입력데이터의 디멘젼의 차원값은, CNN으로 구성된 다른 특징 추출기를 이용하여 상기 이미지의 특징을 추출하기 위하여 상기 이미지로부터 상기 다른 특징 추출기에 입력하기 위해 생성되는 비교입력데이터의 디멘젼의 차원값보다 1만큼 크다.
이때, 상기 이미지는 상기 미리 결정된 방향을 따라 제조된 물품 또는 중간재를 촬영한 이미지일 수 있다.
이때, 상기 N개의 서브이미지들은 모두 동일한 이미지 획득 시점에 촬영된 것일 수 있다.
이때, 상기 각각의 서브이미지로부터 상기 특징 추출기에 입력되는 서로 다른 채널의 데이터를 생성하도록 되어 있을 수 있다.
본 발명에 따른 딥러닝을 이용한 결함 검사 기술을 이용하면, 다양한 제조업의 제품에 대한 품질 정량화와 실시간 자동 결함 검사가 이루어질 수 있다. 또한 본 발명에 따르면 오검출과 오분류를 효과적으로 줄일 수 있는 노이즈 제거 기술을 제공할 수 있다.
본 발명은 인공지능, 검사장비, 비파괴 검사, 고장진단 예측에 응용될 수 있다.
도 1은 본 발명의 일 실시에에 따라, 촬영된 이미지를 표현하는 2차원 배열 데이터를 복수 개의 채널로 이루어진 3차원 배열 데이터로 변환하는 방법을 나타낸 것이다.
도 2는 도 1에 나타낸 3차원 배열 데이터를 이용하여 채널 방향으로 각 픽셀에 대해 콘볼루션 결과를 모두 계산하는 개념을 나타낸 것이다.
도 3은 3차원 배열 데이터를 콘볼루션 레이어 및 디콘볼루션 레이어에 통과시켜 최종 특징맵을 생성하는 개념을 도시한 것이다.
도 4는 본 발명의 일 실시예에 따라 CNN으로 구성된 특징 추출기를 이용하여, 이미지의 특징을 추출하는 방법을 나타낸 순서도이다.
도 5는 본 발명의 일 실시예에 따라 제공되는 컴퓨팅 장치의 구조를 나타낸 것이다.
본 명세서에 공개된 본 발명의 실시예들에서 제시된 구조 및 기능은 단지 본 발명의 이해를 돕기 위해 예시된 것으로서, 본 발명이 여기 공개된 실시예들에 한정되는 것으로 해석되어서는 안된다. 본 발명은 본 명세서에 예시되지 않은 다른 실시 형태에 의해서도 실시될 수 있다. 본 명세서에 공개된 실시예에는 다양한 변경을 가할 수 있다. 본 명세서에서는 본 발명의 특정 실시예들을 도면과 함께 상세하게 설명하고자 한다. 본 발명은 본 명세서에 기재된 본 발명의 실시예들에 의해 제시되는 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명의 일 실시예는 일반적인 CNN을 이용하는 기술로서, CNN에 대한 기본적인 이해가 필요하다. 본 발명에서 CNN은 종래기술로서 간주될 수 있다.
<CNN의 일반적 특징>
전연결(fully connected, FC) 레이어 1개만으로 구성된 인공 신경망의 입력 데이터는 1차원 배열형태로 한정된다. 한 장의 컬러 사진은 3차원 데이터입니다. 배치 모드에 사용되는 여러 장의 사진은 4차원 데이터이다. 입니다. 사진 데이터로 전연결 신경망을 학습시켜야 할 경우에, 3차원 사진 데이터를 1차원으로 평면화시켜야 한다. 사진 데이터를 평면화 시키는 과정에서 공간 정보가 손실될 것이고, 결과적으로 이미지 공간 정보 유실로 인한 정보 부족으로 인공 신경망이 특징을 추출 및 학습이 비효율적이고 정확도를 높이는데 한계가 있다. CNN(Convolutional Neural Network)은 이미지의 공간 정보를 유지한 상태로 학습이 가능한 모델이다.
CNN은 기존 FC 신경망과 비교하여, 첫째, 각 레이어의 입출력 데이터의 형상 유지할 수 있고, 둘째, 이미지의 공간 정보를 유지하면서 인접 이미지와의 특징을 효과적으로 인식할 수 있으며, 셋째, 복수의 필터로 이미지의 특징 추출 및 학습가능하고, 넷째, 추출한 이미지의 특징을 모으고 강화하는 풀링(Pooling) 레이어가 존재하며, 다섯째, 필터를 공유 파라미터로 사용하기 때문에, 일반 인공 신경망과 비교하여 학습 파라미터가 매우 적다는 장점이 있다.
CNN은 이미지의 특징을 추출하는 부분과 클래스를 분류하는 부분으로 나눌 수 있다. 특징 추출 영역은 콘볼루션 레이어와 풀링 레이어를 여러 겹 쌓는 형태로 구성된다.
콘볼루션 레이어는 입력 데이터에 필터를 적용 후 활성화 함수를 반영하는 필수 요소이다. 콘볼루션 레이어 다음에 위치하는 풀링 레이어는 선택적인 레이어이다. CNN 마지막 부분에는 이미지 분류를 위한 전연결(Fully Connected) 레이어가 추가된다. 이미지의 특징을 추출하는 부분과 이미지를 분류하는 부분 사이에 이미지 형태의 데이터를 배열 형태로 만드는 평탄화(Flatten) 레이어가 배치된다.
CNN은 이미지 특징 추출을 위하여 입력데이터를 필터가 순회하며 합성곱을 계산하고, 그 계산 결과를 이용하여 피쳐맵(Feature map)을 만든다. 콘볼루션 레이어는 필터 크기, 스트라이드(Stride), 패딩(Padding) 적용 여부, 맥스 풀링(Max Pooling) 크기에 따라서 출력 데이터의 모양(Shape)이 변경된다.
CNN에는 콘볼루션(Convolution, 합성곱), 채널(Channel), 필터(Filter), 커널(Kernel), 스트라이드(Stride), 패딩(Padding), 피처 맵(Feature Map), 액티베이션 맵(Activation Map), 풀링(Pooling) 레이어와 같은 용어가 사용된다.
'콘볼루션' 연산은 두 함수 f, g 가운데 하나의 함수를 반전(reverse), 전이(shift)시킨 다음, 다른 하나의 함수와 곱한 결과를 적분하는 것을 의미한다. 콘볼루션 처리 결과로 부터 피처맵을 만들 수 있다.
이미지 픽셀 하나하나는 실수이다. 컬러 사진은 천연색을 표현하기 위해서, 각 픽셀을 RGB 3개의 실수로 표현한 3차원 데이터이다. 컬러 이미지는 3개의 '채널'로 구성되는 반면, 흑백 명암만을 표현하는 흑백 사진은 2차원 데이터로 1개 채널로 구성된다. 예컨대 높이가 39 픽셀이고 폭이 31 픽셀인 컬러 사진 데이터의 모양(shape)은 (39, 31, 3)으로 표현할 수 있다. 반면에 높이가 39픽셀이고 폭이 31픽셀인 흑백 사진 데이터의 모양은 (39, 31, 1)로 표현될 수 있다.
콘볼루션 레이어에 유입되는 입력 데이터에는 한 개 이상의 필터가 적용된다. 1개 필터는 피처맵의 채널이 된다. 콘볼루션 레이어에 n개의 필터가 적용된다면 출력 데이터는 n개의 채널을 갖게 된다.
'필터'는 이미지의 특징을 찾아내기 위한 공용 파라미터이다. 필터를 커널(Kernel)이라고 지칭하기도 한다. CNN에서 펄터와 커널은 같은 의미이다. 필터는 일반적으로 (4, 4)이나 (3, 3)과 같은 정사각 행렬로 정의될 수 있다. CNN에서 학습의 대상은 필터 파라미터이다. 입력 데이터를 지정된 간격으로 순회하며 채널별로 콘볼루션을 하고 모든 채널(컬러의 경우 3개)의 합성곱의 합을 피처맵으로 만둘 수 있다. 필터는 지정된 간격으로 이동하면서 전체 입력데이터와 콘볼루션하여 피처맵을 만든다.
필터는 입력 데이터를 지정한 간격으로 순회하면서 콘볼루션을 계산한다. 여기서 지정된 간격으로 필터를 순회하는 간격을 '스트라이드'라고 한다.
입력 데이터가 여러 채널을 가질 경우 필터는 각 채널을 순회하며 합성곱을 계산한 후, 채널별 '피처맵'을 만든다. 그리고 각 채널의 피처맵을 합산하여 최종 피처맵으로 반환한다. 입력 데이터는 채널 수와 상관없이 필터 별로 1개의 피처맵이 만들어진다.
하나의 콘볼루션 레이어에 크기가 같은 여러 개의 필터를 적용할 수 있다. 이 경우에 피처맵에는 필터 갯수 만큼의 채널이 만들어진다. 입력데이터에 적용한 필터의 개수는 출력 데이터인 피처맵의 채널이 된다.
콘볼루션 레이어의 입력 데이터를 필터가 순회하며 콘볼루션을 통해서 만든 출력을 피처맵 또는 액티베이션 맵이라고 지칭한다. 피처맵은 콘볼루션 계산으로 만들어진 행렬이다. 액티베이션 맵은 피처맵 행렬에 활성 함수를 적용한 결과이다. 즉 콘볼루션 레이어의 최종 출력 결과가 액티베이션 맵이다.
콘볼루션 레이어에서 필터와 스트라이드에 작용으로 피처맵 크기는 입력데이터 보다 작다. 콘볼루션 레이어의 출력 데이터가 줄어드는 것을 방지하는 방법이 '패딩'이다. 패딩은 입력 데이터의 외각에 지정된 픽셀만큼 특정 값으로 채워 넣는 것을 의미한다. 보통 패딩 값으로 0으로 채워 넣을 수 있다. 패딩을 통해서 콘볼루션 레이어의 출력 데이터의 사이즈를 조절하는 기능이 외에, 외각을 "0"값으로 둘러싸는 특징으로 부터 인공 신경망이 이미지의 외각을 인식하는 학습 효과도 있다.
'풀링 레이어'는 콘볼루션 레이어의 출력 데이터를 입력으로 받아서 출력 데이터(Activation Map)의 크기를 줄이거나 특정 데이터를 강조하는 용도로 사용된다. 풀링 레이어를 처리하는 방법으로는 맥스 풀링(Max Pooling)과 에버리지 풀링(Average Pooling), 민 풀링(Min Pooling)이 있다. 정사각 행렬의 특정 영역 안에 값의 최댓값을 모으거나 특정 영역의 평균을 구하는 방식으로 동작한다. 일반적으로 풀링 크기와 스트라이드를 같은 크기로 설정하여 모든 원소가 한 번씩 처리 되도록 설정할 수 있다.
풀링 레이어는 콘볼루션 레이어와 비교하여, 첫째, 학습대상 파라미터가 없고, 둘째, 풀링 레이어를 통과하면 행렬의 크기 감소하며, 셋째, 풀링 레이어를 통해서 채널 수 변경이 없으며, 넷째, CNN에서는 주로 맥스 풀링을 사용한다는 특징이 있다.
콘볼루션 레이어 다음에 풀링 레이어가 온다면, 피처맵의 행과 열 크기는 풀링 크기의 배수여야 한다. 이 조건을 만족하도록 필터의 크기, 스트라이드의 간격, 풀링 크기 및 패딩 크기를 조절할 수 있다.
풀링 레이어에서 일반적인 풀링 사이즈는 정사각형이다. 풀링 사이즈를 스트라이드와 같은 크기로 만들어서, 모든 요소가 한 번씩 풀링 되도록 만들 수 있다. 입력 데이터의 행 크기와 열 크기는 풀링 사이즈의 배수여야 합니다. 결과적으로 풀링 레이어의 출력 데이터의 크기는 행과 열의 크기를 풀링 사이즈로 나눈 몫이다.
전형적인 CNN은 콘볼루션 레이어와 맥스 풀링 레이어를 반복적으로 스택(stack)을 쌓는 특징 추출(Feature Extraction) 부분과 전연결 레이어를 구성하고 마지막 출력층에 소프트맥스(Softmax)를 적용한 분류 부분으로 나뉜다.
CNN은 이미지의 공간 정보를 유지하면서 인접 이미지와의 특징을 효과적으로 인식하고 강조하는 방식으로 이미지의 특징을 추출하는 부분과 이미지를 분류하는 부분으로 구성된다. 특징 추출 영역은 필터를 사용하여 공유 파라미터 수를 최소화하면서 이미지의 특징을 찾는 콘볼루션 레이어와 특징을 강화하고 모으는 풀링 레이어로 구성됩니다.
CNN은 필터의 크기, 스트라이드, 패딩과 풀링 크기로 출력 데이터 크기를 조절하고, 필터의 개수로 출력 데이터의 채널을 결정할 수 있다.
CNN는 같은 레이어 크기의 전연결 신경망과 비교해 볼 때, 학습 파라미터양은 1/5 규모이다. 은닉층이 깊어질수록 학습 파라미터의 차이는 더 벌어진다. CNN은 전연결 신경망과 비교하여 더 작은 학습 파라미터로 더 높은 인식률을 제공한다.
<실시예>
도 4는 본 발명의 일 실시예에 따라 CNN으로 구성된 특징 추출기를 이용하여, 이미지의 특징을 추출하는 방법을 나타낸 순서도이다.
이하 도 4를 참조하여 설명한다.
상기 이미지의 특징을 추출하는 방법은 다음 단계들을 포함할 수 있다.
단계(S10)에서, 컴퓨팅 장치는, 상기 이미지(110)를 미리 결정된 방향(D1)을 따라 일정한 간격으로 분할하여 N개의 서브이미지들(111, 112, 113, 114)을 생성할 수 있다.
단계(S20)에서, 상기 컴퓨팅 장치는, 상기 N개의 서브이미지들(111, 112, 113, 114)로부터 상기 특징 추출기에 입력하기 위한 입력데이터를 생성할 수 있다.
이때, 상기 입력데이터의 디멘젼의 차원값은, CNN으로 구성된 다른 특징 추출기를 이용하여 상기 이미지의 특징을 추출하기 위하여 상기 이미지로부터 상기 다른 특징 추출기에 입력하기 위해 생성되는 비교입력데이터의 디멘젼의 차원값보다 1만큼 크다.
단계(S30)에서, 상기 특징 추출기에 상기 입력데이터를 입력하여 상기 이미지의 특징을 추출할 수 있다.
이때, 상기 이미지는 상기 미리 결정된 방향을 따라 제조된 물품 또는 중간재를 촬영한 이미지일 수 있다. 예컨대 상기 미리 결정된 방향은 상기 물품 또는 중간재의 생성과정에서 이용되는 컨베이어 벨트의 이송방향일 수 있다.
이때, 상기 N개의 서브이미지들은 모두 동일한 이미지 획득 시점에 촬영된 것일 수 있다. 즉, 상기 한 개의 이미지는 일 시점에 한 개의 촬영장치에 의해 촬영된 한 장의 이미지일 수 있다.
이때, 상기 각각의 서브이미지로부터 상기 특징 추출기에 입력되는 서로 다른 채널의 데이터가 생성될 수 있다.
즉, 상술한 본 발명의 일 실시예에 따르면, 주어진 하나의 이미지에 관한 정보를 CNN에 입력하기 위하여 변환함에 있어서, 상기 하나의 이미지를 특정 방향으로 분할하여 복수 개의 서브이미지를 생성한 이후에, 상기 각각의 서브이미지를 CNN을 위한 별개의 채널로 삼는다는 점에 특징이 있다.
이에 따르면, 콘볼루션 회수가 채널수에 비례하여 증가할 수 있으며, 증가된 채널 수에 따라 생성되는 채널별 피처맵의 개수가 증가할 수 있다. 증가된 개수의 피처맵들을 합산하여 최종 피처맵을 생성할 수 있다.
도 5는 본 발명의 일 실시예에 따라 제공되는 컴퓨팅 장치의 구조를 나타낸 것이다.
컴퓨팅 장치(300)는 연산부(310), 프로그램 저장부(320), 주변장치 인터페이스트(330), 사용자 인터페이스(340), 전원부(350), 네트워크 인터페이스(360)를 포함할 수 있다.
연산부(310)는 연산부(310)에 로딩되는 명령어들을 처리하는 예컨대 CPU, GPU, 및 AP 등일 수 있다.
저장부(320)는 상기 명령어들의 집합으로 구성되는 프로그램 코드 및/또는 상기 입력행렬에 관한 정보를 저장하는 비휘발성 메모리일 수 있다. 예컨대 HDD, 및 SDD 등일 수 있다.
주변장치 인터페이스부(330)는 프린터, SD카드와 같은 외부 저장장치를 연결하는 인터페이스일 수 있다. 또한 상기 외부 저장장치는 상기 저장부(320)의 역할을 대신할 수도 있다.
사용자 인터페이스(340)는 키보드, 마우스, 디스플레이 장치 등일 수 있다.
전원부(350)는 컴퓨팅 장치(300)의 동작전원을 공급하는 장치로서, 배터리를 포함하는 것일 수도 있다.
네트워크 인터페이스(360)는 컴퓨팅 장치(300)와 구분되는 외부의 장치와의 통신을 위해 제공되는 장치일 수 있다. 상기 이미지에 관한 정보는 네트워크 인터페이스(360)를 통해 제공될 수도 있다.
이때, 도 5에 나타낸 컴퓨팅 장치(300)는 이미지 특징 추출 장치, 또는 자동 결함 검사 장치로 지칭될 수도 있다.
도 3에 나타낸 콘볼루션 레이어(131) 및 디콘볼루션 레이어(132)는 프로그램 코드가 연산부(310)에 로딩되어 실행됨으로써 형성되는 기능적 구성을 개념화하여 나타낸 것일 수 있다.
발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. CNN으로 구성된 특징 추출기를 이용하여, 이미지의 특징을 추출하는 방법으로서,
    상기 이미지를 미리 결정된 방향을 따라 일정한 간격으로 분할하여 N개의 서브이미지들을 생성하는 단계;
    상기 N개의 서브이미지들로부터 상기 특징 추출기에 입력하기 위한 입력데이터를 생성하는 단계; 및
    상기 특징 추출기에 상기 입력데이터를 입력하여 상기 이미지의 특징을 추출하는 단계;
    를 포함하며,
    상기 입력데이터의 디멘젼의 차원값은, CNN으로 구성된 다른 특징 추출기를 이용하여 상기 이미지의 특징을 추출하기 위하여 상기 이미지로부터 상기 다른 특징 추출기에 입력하기 위해 생성되는 비교입력데이터의 디멘젼의 차원값보다 1만큼 큰,
    이미지 특징 추출방법.
  2. 제1항에 있어서, 상기 이미지는 상기 미리 결정된 방향을 따라 제조된 물품 또는 중간재를 촬영한 이미지인, 이미지 특징 추출방법.
  3. 제1항에 있어서, 상기 N개의 서브이미지들은 모두 동일한 이미지 획득 시점에 촬영된 것인, 이미지 특징 추출방법.
  4. 제1항에 있어서,
    상기 각각의 서브이미지로부터 상기 특징 추출기에 입력되는 서로 다른 채널의 데이터를 생성하도록 되어 있는,
    이미지 특징 추출방법.
  5. CNN으로 구성된 특징 추출기를 이용하여, 이미지의 특징을 추출하여 제품의 결함을 자동으로 검사하는 자동 결함 검사 장치로서,
    연산부 및 저장부를 포함하며,
    상기 연산부는,
    상기 이미지를 상기 저장부로부터 획득하는 단계;
    상기 이미지를 미리 결정된 방향을 따라 일정한 간격으로 분할하여 N개의 서브이미지들을 생성하는 단계;
    상기 N개의 서브이미지들로부터 상기 특징 추출기에 입력하기 위한 입력데이터를 생성하는 단계; 및
    상기 특징 추출기에 상기 입력데이터를 입력하여 상기 이미지의 특징을 추출하는 단계;
    를 수행하도록 되어 있으며,
    상기 입력데이터의 디멘젼의 차원값은, CNN으로 구성된 다른 특징 추출기를 이용하여 상기 이미지의 특징을 추출하기 위하여 상기 이미지로부터 상기 다른 특징 추출기에 입력하기 위해 생성되는 비교입력데이터의 디멘젼의 차원값보다 1만큼 큰 것을 특징으로 하는,
    자동 결함 검사 장치.
  6. 제5항에 있어서, 상기 이미지는 상기 미리 결정된 방향을 따라 제조된 물품 또는 중간재를 촬영한 이미지인, 자동 결함 검사 장치.
  7. 제5항에 있어서, 상기 N개의 서브이미지들은 모두 동일한 이미지 획득 시점에 촬영된 것인, 자동 결함 검사 장치.
  8. 제5항에 있어서,
    상기 각각의 서브이미지로부터 상기 특징 추출기에 입력되는 서로 다른 채널의 데이터를 생성하도록 되어 있는,
    자동 결함 검사 장치.
  9. CNN으로 구성된 특징 추출기를 이용하여, 이미지의 특징을 추출하여 제품의 결함을 자동으로 검사하는 자동 결함 검사 장치를 동작시키기 위한 명령 코드들을 포함하는 프로그램이 기록된 비휘발성 저장매체로서,
    상기 명령 코드들은 상기 자동 결함 검사 장치로 하여금,
    상기 이미지를 미리 결정된 방향을 따라 일정한 간격으로 분할하여 N개의 서브이미지들을 생성하는 단계;
    상기 N개의 서브이미지들로부터 상기 특징 추출기에 입력하기 위한 입력데이터를 생성하는 단계; 및
    상기 특징 추출기에 상기 입력데이터를 입력하여 상기 이미지의 특징을 추출하는 단계;
    를 수행하도록 되어 있으며,
    상기 입력데이터의 디멘젼의 차원값은, CNN으로 구성된 다른 특징 추출기를 이용하여 상기 이미지의 특징을 추출하기 위하여 상기 이미지로부터 상기 다른 특징 추출기에 입력하기 위해 생성되는 비교입력데이터의 디멘젼의 차원값보다 1만큼 큰 것을 특징으로 하는,
    비휘발성 저장매체.
  10. 제9항에 있어서,
    상기 각각의 서브이미지로부터 상기 특징 추출기에 입력되는 서로 다른 채널의 데이터를 생성하도록 되어 있는 것을 특징으로 하는,
    비휘발성 저장매체.
KR1020200011885A 2020-01-31 2020-01-31 딥러닝 기반 자동 결함 검사 장치 및 방법 KR102372714B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200011885A KR102372714B1 (ko) 2020-01-31 2020-01-31 딥러닝 기반 자동 결함 검사 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200011885A KR102372714B1 (ko) 2020-01-31 2020-01-31 딥러닝 기반 자동 결함 검사 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20210098106A true KR20210098106A (ko) 2021-08-10
KR102372714B1 KR102372714B1 (ko) 2022-03-10

Family

ID=77315904

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200011885A KR102372714B1 (ko) 2020-01-31 2020-01-31 딥러닝 기반 자동 결함 검사 장치 및 방법

Country Status (1)

Country Link
KR (1) KR102372714B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102465045B1 (ko) * 2021-09-14 2022-11-09 주식회사 파워인스 인공지능 모델을 이용한 비파괴검사시스템 및 비파괴검사 방법
KR102670085B1 (ko) * 2023-07-31 2024-05-28 (주)바질컴퍼니 신경망 모델을 이용하여 물품의 결함 여부를 예측하기 위한 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095171A (ja) * 2009-10-30 2011-05-12 Sumitomo Chemical Co Ltd 欠陥検査システム、並びに、それに用いる、欠陥検査用撮影装置、欠陥検査用画像処理装置、欠陥検査用画像処理プログラム、記録媒体、および欠陥検査用画像処理方法
KR20190011199A (ko) * 2017-07-24 2019-02-01 스미또모 가가꾸 가부시키가이샤 결함 검사 시스템 및 결함 검사 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011095171A (ja) * 2009-10-30 2011-05-12 Sumitomo Chemical Co Ltd 欠陥検査システム、並びに、それに用いる、欠陥検査用撮影装置、欠陥検査用画像処理装置、欠陥検査用画像処理プログラム、記録媒体、および欠陥検査用画像処理方法
KR20190011199A (ko) * 2017-07-24 2019-02-01 스미또모 가가꾸 가부시키가이샤 결함 검사 시스템 및 결함 검사 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Product Surface Defect Detection Based on Deep Learning", 2018 IEEE, 2018.08.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102465045B1 (ko) * 2021-09-14 2022-11-09 주식회사 파워인스 인공지능 모델을 이용한 비파괴검사시스템 및 비파괴검사 방법
KR102670085B1 (ko) * 2023-07-31 2024-05-28 (주)바질컴퍼니 신경망 모델을 이용하여 물품의 결함 여부를 예측하기 위한 방법

Also Published As

Publication number Publication date
KR102372714B1 (ko) 2022-03-10

Similar Documents

Publication Publication Date Title
US10963676B2 (en) Image processing method and apparatus
EP3333768A1 (en) Method and apparatus for detecting target
CN113592845A (zh) 一种电池涂布的缺陷检测方法及装置、存储介质
CN113808138B (zh) 一种基于人工智能的电线电缆表面缺陷检测方法
CN112150460B (zh) 检测方法、检测系统、设备和介质
KR102372714B1 (ko) 딥러닝 기반 자동 결함 검사 장치 및 방법
US11348349B2 (en) Training data increment method, electronic apparatus and computer-readable medium
Rajevenceltha et al. An efficient approach for no-reference image quality assessment based on statistical texture and structural features
CN115841447A (zh) 一种磁瓦表面缺陷的检测方法
CN114581456B (zh) 一种多图像分割模型的构建方法、图像检测方法及装置
CN112200790B (zh) 布料缺陷检测方法、设备和介质
CN116342536A (zh) 基于轻量化模型的铝带材表面缺陷检测方法、系统及设备
CN117576014A (zh) 陶瓷基板质量检测方法、系统、电子设备及存储介质
CN115994900A (zh) 基于迁移学习的无监督缺陷检测方法和系统、存储介质
CN115239672A (zh) 缺陷检测方法及装置、设备、存储介质
CN116740728A (zh) 一种用于晶圆读码器动态获取方法和系统
CN114663391A (zh) 一种基于无监督深度学习算法的工业图像缺陷检测方法
Padsumbiya et al. Automatic crack detection using convolutional neural network
JP7338779B2 (ja) 画像認識装置、画像認識方法、及び、プログラム
JP7415286B2 (ja) カラーフィルタ検査装置、検査装置、カラーフィルタ検査方法および検査方法
CN115861259A (zh) 一种基于模板匹配的引线框架表面缺陷检测方法及装置
KR20230082346A (ko) 오토인코더 및 합성곱 심층 신경망을 활용한 고해상도 영상 기반 제조품 결함 탐지 방법
García et al. A configuration approach for convolutional neural networks used for defect detection on surfaces
JP7070308B2 (ja) 推定器生成装置、検査装置、推定器生成方法、及び推定器生成プログラム
CN113837173A (zh) 目标对象检测方法、装置、计算机设备和存储介质

Legal Events

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