KR101911061B1 - 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법 - Google Patents

비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법 Download PDF

Info

Publication number
KR101911061B1
KR101911061B1 KR1020180034416A KR20180034416A KR101911061B1 KR 101911061 B1 KR101911061 B1 KR 101911061B1 KR 1020180034416 A KR1020180034416 A KR 1020180034416A KR 20180034416 A KR20180034416 A KR 20180034416A KR 101911061 B1 KR101911061 B1 KR 101911061B1
Authority
KR
South Korea
Prior art keywords
product
vector
image
restoration
vectors
Prior art date
Application number
KR1020180034416A
Other languages
English (en)
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 KR1020180034416A priority Critical patent/KR101911061B1/ko
Application granted granted Critical
Publication of KR101911061B1 publication Critical patent/KR101911061B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • 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
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8887Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges based on image processing techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Biochemistry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Quality & Reliability (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 이미지를 구획하고 구획된 이미지를 영역별로 판단하여, 제품의 불량 여부를 판별할 수 있는 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법에 관한 것이다.
본 발명의 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템은, 외부에서 제공되는 제1제품영상을 제품의 규격에 맞게 정렬하는 영상정렬부;
영상정렬부에서 정렬된 제1제품영상을 입력받아, 복수 개의 블록으로 분할한 후, 블록으로부터 복수 개의 제1제품벡터를 추출하고, 복수 개의 제1제품벡터로부터 제1압축벡터를 추출하여 압축하고, 제1압축벡터를 다시 복수 개의 제1제품벡터와 동일한 제1제품복원벡터로 복원한 후, 제1제품복원벡터를 포함하는 블록을 결합해 제1제품영상패턴을 형성하여 저장하고,
영상정렬부에서 정렬된 제2제품영상이 입력되면, 복수 개의 블록으로 분할한 후, 블록으로부터 제2제품벡터를 추출하고, 복수 개의 제2제품벡터로부터 제1제품벡터와 동일한 벡터를 추출하고, 제2제품벡터로부터 제2압축벡터를 추출하여 압축하고, 제2압축벡터를 다시 복수 개의 제2제품벡터와 동일한 제2제품복원벡터로 복원한 후, 제2제품복원벡터를 포함하는 블록을 결합해 제2제품영상패턴으로 형성하고,
제2제품영상패턴과 제1제품영상패턴을 비교하여, 제2제품영상패턴에 제1제품영상패턴이 미포함 하는 제2제품복원벡터를 포함하고 있을 때, 제2제품복원벡터를 제1제품복원벡터로 변환하는 영역별자가부호기부;
영역별자가부호기부와 연결되어, 제2제품복원벡터가 제1제품복원벡터로 변환하며 복원오차값을 생성하며, 복원오차값이 기준결함값 이상이 되면 불량으로 판별하고, 기준결함값 미만이 되면 정상으로 판별하는 판별기준결정부를 포함한다.
그리고 본 발명의 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법은,
제1제품영상을 제품의 규격에 맞게 정렬시켜 영상정렬부에 제공하는 (A)단계;
영상정렬부에서 정렬된 제1제품영상을 입력받아, 복수 개의 블록으로 분할한 후, 블록으로부터 복수 개의 제1제품벡터를 추출하고, 복수 개의 제1제품벡터로부터 제1압축벡터를 추출하여 압축하고, 제1압축벡터를 다시 복수 개의 제1제품벡터와 동일한 제1제품복원벡터로 복원한 후, 제1제품복원벡터를 포함하는 블록을 결합해 제1제품영상패턴을 형성하여 저장하는 (B)단계;
영상정렬부에서 정렬된 제2제품영상이 입력되면, 복수 개의 블록으로 분할한 후, 블록으로부터 제2제품벡터를 추출하고, 복수 개의 제2제품벡터로부터 제1제품벡터와 동일한 벡터를 추출하고, 제2제품벡터로부터 제2압축벡터를 추출하여 압축하고, 제2압축벡터를 다시 복수 개의 제2제품벡터와 동일한 제2제품복원벡터로 복원한 후, 제2제품복원벡터를 포함하는 블록을 결합해 제2제품영상패턴으로 형성하고,
제2제품영상패턴과 제1제품영상패턴을 비교하여, 제2제품영상패턴에 제1제품영상패턴이 미포함 하는 제2제품복원벡터를 포함하고 있을 때, 제2제품복원벡터를 제1제품복원벡터로 변환하는 (C)단계;
영역별자가부호기부와 연결되어, 제2제품복원벡터가 제1제품복원벡터로 변환하며 복원오차값을 생성하며, 복원오차값이 기준결함값 이상이 되면 불량으로 판별하고, 기준결함값 미만이 되면 정상으로 판별하는 (D) 단계를 포함한다.

Description

비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법{System of product defect discrimination using an unsupervised learning based regional convolutional auto-encoder and Method of product defect discrimination using an unsupervised learning based regional convolutional auto-encoder}
본 발명은 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법에 관한 것이다. 보다 구체적으로, 본 발명은 이미지를 구획하고 구획된 이미지를 영역별로 판단하여, 제품의 불량 여부를 판별할 수 있는 시스템 및 방법에 관한 것이다.
소비자들이 많이 찾는 제품들은 대량생산 되고 있다. 대량 생산 과정 중, 일부의 제품은 형태와 크기가 정상 제품과 다르게 생산된다. 일례로, 제품은 생산과정 중, 균열, 깨짐, 포장의 벗겨짐, 소실 등 임의의 형태와 크기로 변형될 수 있다. 즉, 제품은 생산과정에서 불량품으로 바뀔 수 있다.
이러한 불량품이 정상 제품과 함께 출하되는 경우, 제품에 대한 이미지뿐 아니라, 회사에 대한 이미지를 낮출 수 있다. 이에, 제품 생산 회사들은 불량품이 정상제품과 함께 섞여 출하되지 않도록 불량품을 걸러내고 있다.
일례로, 제품 생산 회사는 규칙기반(Rule-based) 불량 판별 방법을 이용해 불량품을 판별하고 있다. 그러나 이러한 규칙기반 불량 판별 방법은 특정 촬영조건 및 불량 유형에 규칙이 한정되는 문제가 있어, 다양한 불량 유형에 유연하게 대처하지 못해, 불량품을 완전히 걸러내지 못하고 있다.
이러한 문제를 해결하고자, 신경회로망(Neural Network)을 통해 대량의 자료를 학습하여 불량품을 추출하는 지도학습 심층학습(deep learning)이 방법이 개발되었다.
그러나 이러한 지도학습 심층학습은 다양한 타입의 불량을 포함하는 데이터를 마련해야 하는 문제가 있으며, 학습 되지 않은 데이터의 불량제품을 감지하였을 때, 이를 불량으로 파악하지 못해 불량품으로 판별하지 못하는 문제가 있다.
대한민국 공개특허 제10-2015-0066160호 (2015.06.16)
이에, 본 발명은 상술한 문제를 해결하기 위한 것으로서, 입력된 이미지의 영역을 분할한 후, 분할된 이미지를 분할된 블록별로 압축하고, 다시 복원하여 정상품의 이미지와 대비해 입력된 제품의 불량 여부를 판별할 수 있는 시스템 및 방법에 관한 것이다.
본 발명의 해결 하고자 하는 과제는 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 해결하고자 하는 과제를 달성하기 위한 본 발명의 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템은,
외부에서 제공되는 제1제품영상을 제품의 규격에 맞게 정렬하는 영상정렬부;
상기 영상정렬부에서 정렬된 제1제품영상을 입력 받아, 복수 개의 블록으로 분할한 후, 상기 블록으로부터 복수 개의 제1제품벡터를 추출하고, 복수 개의 상기 제1제품벡터로부터 제1압축벡터를 추출하여 압축하고, 상기 제1압축벡터를 다시 복수 개의 상기 제1제품벡터와 동일한 제1제품복원벡터로 복원한 후, 상기 제1제품복원벡터를 포함하는 블록을 결합해 제1제품영상패턴을 형성하여 저장하고,
상기 영상정렬부에서 정렬된 제2제품영상이 입력되면, 복수 개의 상기 블록으로 분할한 후, 상기 블록으로부터 제2제품벡터를 추출하고, 복수 개의 상기 제2제품벡터로부터 상기 제1제품벡터와 동일한 벡터를 추출하고, 상기 제2제품벡터로부터 제2압축벡터를 추출하여 압축하고, 상기 제2압축벡터를 다시 복수 개의 상기 제2제품벡터와 동일한 제2제품복원벡터로 복원한 후, 상기 제2제품복원벡터를 포함하는 블록을 결합해 제2제품영상패턴으로 형성하고,
상기 제2제품영상패턴과 상기 제1제품영상패턴을 비교하여, 상기 제2제품영상패턴에 상기 제1제품영상패턴이 미포함 하는 제2제품복원벡터를 포함하고 있을 때, 상기 제2제품복원벡터를 상기 제1제품복원벡터로 변환하는 영역별자가부호기부;
상기 영역별자가부호기부와 연결되어, 상기 제2제품복원벡터가 상기 제1제품복원벡터로 변환하며 복원오차값을 생성하며, 상기 복원오차값이 기준결함값 이상이 되면 불량으로 판별하고, 상기 기준결함값 미만이 되면 정상으로 판별하는 판별기준결정부를 포함한다.
상기 영역별자가부호기부는, 상기 제2제품영상패턴과 상기 제1제품영상패턴 간 차이가 있을 때, 차이가 있는 상기 제2제품복원벡터의 크기 및 방향을 상기 제1제품복원벡터의 크기 및 방향으로 복원할 수 있다.
상기 제1제품영상은 사전 학습되는 정상제품의 영상이 되고, 상기 제2제품영상은 검사가 되는 제품의 영상이 될 수 있다.
상기 제1제품영상의 상기 제1제품벡터를 상기 제1제품영상의 픽셀과 매칭시키며 상기 제1제품영상의 크기 이하가 되는 제1제품영상특징맵으로 변환시키고 상기 제2제품영상의 상기 제2제품벡터를 상기 제2제품영상의 픽셀과 매칭시키며 상기 제2제품영상의 크기 이하가 되는 제2제품영상특징맵으로 변환시키는 컨볼루션필터를 포함할 수 있다.
상기 영역별자가부호기부는, 상기 제1제품영상 및 상기 제2제품영상이 색상을 포함하는 경우 적색채널, 청색채널 그리고 녹색채널로 나누는 인코딩컨볼루션모듈을 포함한다.
상기 인코딩컨볼루션모듈은, 상기 제1제품영상특징맵의 상기 제1제품벡터를 추출하여 일정비율로 축소하여 제1제품축소맵을 형성하고,
상기 제2제품영상특징맵의 제2제품벡터점 추출하여 일정비율로 축소하여 제2제품축소맵을 형성하는 다운샘플링부를 포함할 수 있다.
상기 영역별자가부호기부는,
상기 제1제품축소맵을 분할한 후, 상기 제1제품축소맵의 상기 제1압축벡터를 추출하여 압축하고, 상기 제2제품축소맵을 분할한 후, 상기 제2제품축소맵의 상기 제2압축벡터를 추출하여 압축하는 인코딩 폴리-커넥티드레이어모듈기와
압축된 상기 제1압축벡터를 상기 제1제품복원벡터로 복원하고 압축된 상기 제2압축벡터를 상기 제2제품복원벡터로 복원한 후, 상기 제1제품복원벡터를 포함하는 블록 그리고 상기 제2제품복원벡터를 포함하는 블록을 병합하는 디코딩 풀리-커넥티드레이어모듈기를 포함하는 풀리-커넥티드 레이어모듈을 포함할 수 있다.
상기 영역별자가부호기부는, 상기 디코딩 풀리-커넥티드 레이어모듈기로부터 복원된 이미지를 확대하여, 상기 제1제품축소맵을 상기 제1제품영상특징맵으로 확대하고, 상기 제2제품축소맵을 상기 제2제품영상특징맵으로 확대하는 업샘플링부를 포함할 수 있다.
또한, 상기 해결하고자 하는 과제를 달성하기 위한 본 발명의 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법은,
제1제품영상을 제품의 규격에 맞게 정렬시켜 영상정렬부에 제공하는 (A)단계;
상기 영상정렬부에서 정렬된 제1제품영상을 입력받아, 복수 개의 블록으로 분할한 후, 상기 블록으로부터 복수 개의 제1제품벡터를 추출하고, 복수 개의 상기 제1제품벡터로부터 제1압축벡터를 추출하여 압축하고, 상기 제1압축벡터를 다시 복수 개의 상기 제1제품벡터와 동일한 제1제품복원벡터로 복원한 후, 상기 제1제품복원벡터를 포함하는 블록을 결합해 제1제품영상패턴을 형성하여 저장하는 (B)단계;
상기 영상정렬부에서 정렬된 제2제품영상이 입력 되면, 복수 개의 상기 블록으로 분할한 후, 상기 블록으로부터 제2제품벡터를 추출하고, 복수 개의 상기 제2제품벡터로부터 상기 제1제품벡터와 동일한 벡터를 추출하고, 상기 제2제품벡터로부터 제2압축벡터를 추출하여 압축하고, 상기 제2압축벡터를 다시 복수 개의 상기 제2제품벡터와 동일한 제2제품복원벡터로 복원한 후, 상기 제2제품복원벡터를 포함하는 블록을 결합해 제2제품영상패턴으로 형성하고,
상기 제2제품영상패턴과 상기 제1제품영상패턴을 비교하여, 상기 제2제품영상패턴에 상기 제1제품영상패턴이 미포함 하는 제2제품복원벡터를 포함하고 있을 때, 상기 제2제품복원벡터를 상기 제1제품복원벡터로 변환하는 (C)단계;
상기 영역별자가부호기부와 연결되어, 상기 제2제품복원벡터가 상기 제1제품복원벡터로 변환하며 복원오차값을 생성하며, 상기 복원오차값이 기준결함값 이상이 되면 불량으로 판별하고, 상기 기준결함값 미만이 되면 정상으로 판별하는 (D) 단계를 포함한다.
본 발명에 따른 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법은 정상 제품을 학습하여, 학습 되지 않은 제품의 불량여부를 정확하게 판별할 수 있다.
더욱이, 제품 불량 판별의 알고리즘을 간결화 하여, 알고리즘 설계 구조의 편의를 제공할 수 있다.
또한, 본 발명은 영상의 분할된 영역마다 개별적인 완전 연결단을 갖도록 형성하고, 분할된 블록의 압축과 복원 과정에서의 차 영상(difference image)을 이진화(binarization) 및 중앙값 필터(median filter) 처리한 후, 오차 화소(error pixel)를 계수하여 불량품을 판별함으로써, 제품의 불량 위치를 정확하게 파악할 수 있다.
도 1은 본 발명의 일 실시예에 의한 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템의 블록도이다.
도 2는 도 1의 영역별자가부호부의 데이터 처리과정의 과정도이다.
도 3은 도 1의 영역별자가부호기부를 나타낸 블록도이다.
도 4는 도 2의 영역별자가부호기부의 처리 과정을 통해, 일 실시예의 피검 제품의 불량 여부를 판별하는 과정을 나타낸 도면이다.
도 5는 도 3의 영역별자가부호기부 제품영상에서 제품벡터를 추출하고, 압축 한 후 복원하는 상태를 나타낸 도면이다.
도 6 내지 도 11은 도 4의 영역별자가부호기부가 영상을 블록 단위로 분할하고, 압축하였다가 복원하는 상태를 보다 구체적으로 나타낸 도면이다.
도 12 및 도 13은 도 3의 영역별자가부호부가 산출하는 복원오차값을 도시화한 도면이다.
도 14는 본 발명의 일 실시예에 의한 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법의 처리 과정을 나타낸 순서도이다.
본 발명의 이점 및 특징 그리고 그것들을 달성하기 위한 방법들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예를 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
본 발명의 청구범위는 청구항을 비롯해 청구항을 뒷받침하는 설명에 의해 정의될 수 있다. 아울러, 명세서 전체에 걸쳐 동일 참조부호는 동일 구성요소를 지칭한다.
명세서 전체에 걸쳐 기술된 제품 불량판별을 검사하기 위한 모든 설명은 제품 불량판별 시스템 및 제품 불량판별 방법에 그대로 적용될 수 있다.
그리고 본 명세서에 기술된 복수 개의 수학식 및 인코딩 컨볼루션의 연산, 인코딩 풀리-커넥티드 연산 및 디코딩 풀리-커넥티드 연산 및 디코딩 컨볼루션 연상에 대해서는 문서 1 내지 문서 4에 기재된 내용으로부터 유추될 수 있다.
문서 1. 강우영, ““필기체 인식을 위한 희소 컨볼루션 신경망 모델””, 서울대학교 대학원, 2017년 8월. (http://s-space.snu.ac.kr/bitstream/10371/137446/1/000000145424.pdf)
문서 2. 황인경, ““CNN을 이용한 한글 서체 특징 연구””, 서울대학교 대학원, 2017년 2월. (http://s-space.snu.ac.kr/browse?type=author&sort_by=1&order=ASC&rpp=60&etal=-1&value=%ED%99%A9%EC%9D%B8%EA%B2%BD&page=2&offset=60)
문서 3. 안성인, ““심층 오토인코더를 결합한 신경망 기법의 채널저류층 특성화 연구””, 서울대학교 대학원, 2017년 2월. (http://s-space.snu.ac.kr/bitstream/10371/123532/1/000000141204.pdf)
문서 4. 신동원, 호요성, ““동시적 위치 추정 및 지도 작성에서 Variational Autoencoder를 이용한 루프 폐쇄 검출””, 한국방송미디어공학회 학술발표대회 논문집, 250-253쪽, 2017년
이하, 도 1 내지 도 14를 참조하여 본 발명의 일 실시예에 의한 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법에 대해 상세히 설명한다.
다만, 본 명세서상에서 설명이 간결해질 수 있도록 도 1을 참조하여, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템의 개괄적으로 설명한다. 그리고 도 2를 참조하여, 이러한 비지도 학습기반 영역별 자가부호기를 이용한 불량판별 시스템의 영역별자기부호기부의 데이터 처리과정의 순서에 대해 설명한다.
그리고 이를 바탕으로 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템에 대한 구성요소 그리고 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법에 대해 구체적으로 설명하도록 한다.
도 1은 본 발명의 일 실시예에 의한 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템의 블록도이다.
본 발명의 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템(1)은 정상품의 영상패턴을 기억한 후, 검사되는 제품의 영상패턴을 정상품의 영상패턴으로 복원한다. 이때, 복원과정에서 발생 되는 복원오차값을 통해, 검사되는 제품에 대해 불량 여부를 신뢰도 있게 판별할 수 있다.
이러한 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템(1)은 종래의 방법이 제공하기 어려웠던 임의의 불량 유형에 대해서도 신뢰성 있게 판별할 수 있다.
또한, 본 발명의 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템(1)은 복원오차값으로 제품의 불량 여부를 판별함으로써, 정상품에 대한 학습자료의 양이 방대하지 않아도 되는 장점이 있다. 아울러, 제품의 불량 여부를 판별하는 알고리즘을 간결한 구조로 설계할 수는 장점도 가진다.
이와 같은, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템(1)은 영상정렬부(110), 영역별자가부호기부(120) 및 판별기준결정부(130) 등을 구성요소로 포함한다. 아울러, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템(1)은 영상정렬부(110)에 제품 영상을 제공하는 카메라부(미도시)를 구성요소로 포함할 수 있다.
특히, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템(1)은 불량 판별에 사용되는 영역별자가부호기부(RCAE, 120)를 이용해 외부에서 제공되는 제품영상을 1차적인 판별로 검사될 만한 제품인지 또는 검사될 만한 제품이 아닌지를 구분한다. 이후, 검사된 만한 제품만을 2차적인 판별로 제품이 정상품인지 불량품인지를 판별할 수 있다.
이하, 도 2를 참조하여 영역별자가부호부의 데이터 처리과정에 대해 설명한다. 도 2는 도 1의 영역별자가부호부의 데이터 처리과정의 순서도이다.
이러한 영역별자가부호기부는 도 2에 도시된 바와 같이 영상입력단계. 컨볼루션 레이어를 통한 인코팅 단계, 영상분할단계, 영역별 풀리-커넥티드 레이어를 통한 패턴 매칭 단계, 영상 병합단계 그리고 컨볼루션 레이어를 통한 디코팅 단계 그리고 입력-복원 오차 최소화 파라미터를 탐색하는 단계를 통해 입력되는 영상을 사전 학습할 수 있다.
그리고 영역별자가부호기부 사전 학습 단계 이후, 같이 영상입력단계. 컨볼루션 레이어를 통한 인코팅 단계, 영상분할단계, 영역별 풀리-커넥티드 레이어를 통한 패턴 매칭 단계, 영상 병합단계 그리고 컨볼루션 레이어를 통한 디코팅 단계를 통해 불량을 판별할 수 있다.
여기서, 컨볼루션(convolution)은 합성곱을 의미하고, 인코딩(encoding)은 부호화를 의미하고, 풀리-커넥티드(fully-connected)는 완전연결을 의미하고, 디코딩(decoding)은 복호화를 의미한다.
이와 같은 영역별자가부호기부(120)의 초기학습에는 오로지 정상품 영상만이 사용된다.
영역별자가부호기부(120)는 N개의 인코딩 컨볼루션 레이어, M개의 영역별 인코딩 풀리-커넥티드 레이어, M개의 영역별 디코딩 풀리-커넥티드 레이어, N개의 디코딩 컨볼루션 레이어로 구성될 수 있다.
영역별자가부호기부(120)의 입력 데이터는 위 레이어들에 의해 순차적으로 처리되며, 가장 먼저 1번째 인코딩 컨볼루션 레이어에 입력된다.
인코딩 컨볼루션 레이어의 동작은 컨볼루션, 전이 함수, 영상 축소 순으로 구성된다.
여기서, 인코딩 컨볼루션 레이어는 컨볼루션 파라미터와 바이어스 파라미터를 포함한다. 컨볼루션 동작의 정의는 문서 1의 2장 1.2절(컨볼루션 인공 신경망)의 식 (3)을 따른다. 컨볼루션 동작으로 처리될 입력 데이터는 참조 식의 우항의 x에 해당하며, 컨볼루션 동작에 사용될 컨볼루션 파라미터와 바이어스 파라미터는 각각 참조 식의 우항의 M, b에 해당한다. 컨볼루션 동작으로 처리된 출력 데이터는 참조 식의 좌항의 x이다.
컨볼루션 동작으로 처리된 데이터는 전이 함수에 입력된다. 전이 함수의 경우에는 딥 러닝 분야에서 보편적으로 사용되는 전이 함수를 사용하며 구체적으로는 문서 2의 2.5.1절(Sigmoid Function)의 식 (2.4) 혹은 2.5.2절(Rectified Linear Unit Function)의 식 (2.6)을 예로 들 수 있다. 전이 함수로 처리될 입력 데이터는 식 (2.4)의 우항의 z 혹은 식 (2.6)의 우항의 x에 해당하며, 처리된 출력 데이터는 식 (2.4)의 좌항의 g(z) 혹은 식 (2.6)의 좌항의 f(x)에 해당한다.
전이 함수로 처리된 후의 영상 데이터는 영상 축소 과정을 거친다. 영상 축소는 영상의 가로, 세로 길이를 각각 (1/2)배로 축소하는 동작이다.
전술한 데이터 처리 과정이 N개의 인코딩 컨볼루션 레이어에 걸쳐 반복된다. 즉, n번째 인코딩 컨볼루션 레이어의 출력 데이터는 n+1번째 인코딩 컨볼루션 레이어의 입력 데이터로 사용된다.
영상 데이터는 N번째 인코딩 컨볼루션 레이어를 거친 후 가로 DW 등분, 세로 DH 등분 된다. 이때 분할된 각각의 영상 데이터를‘블록’이라고 지칭한다. 각 블록의 데이터는 해당 블록을 담당하는 인코딩 풀리-커넥티드 레이어에 입력된다.
인코딩 풀리-커넥티드 레이어는 행렬 곱 파라미터와 바이어스 파라미터를 포함한다.
이때, 인코딩 풀리-커넥티드 레이어의 동작은 문서 1의 14p 3장 1절 (컨볼루션 신경망에서의 드랍아웃)의 식 (4) 와 같다. 처리될 입력 데이터는 참조 식의 상단 식의 우항의 o에 해당하며, 행렬 곱에 사용될 행렬 곱 파라미터와 바이어스 파라미터는 각각 참조 식의 상단 식의 우항의 W와 b에 해당한다. 행렬 곱 결과는 참조 식의 상단 식의 좌항의 z에 해당하며, 이는 참조 식의 하단 식의 우항의 f에 해당하는 전이 함수에 입력된다. 전이 함수 처리 결과는 참조 식의 하단 식의 좌항의 o에 해당한다.
전술한 데이터 처리 과정이 M개의 인코딩 풀리-커넥티드 레이어에 걸쳐 반복된다. 즉, m번째 인코딩 풀리-커넥티드 레이어의 출력 데이터는 m+1번째 인코딩 풀리-커넥티드 레이어의 입력 데이터로 사용된다.
인코딩은 1번째 인코딩 컨볼루션 레이어부터 N번째 인코딩 컨볼루션 레이어까지, 1번째 인코딩 풀리-커넥티드 레이어부터 M번째 인코딩 풀리-커넥티드 레이어까지 순차적으로 수행되었으나, 서술 상의 편의를 위해 디코딩은 인코딩의 역순으로 진행한다. 즉, 디코딩은 M번째 디코딩 풀리-커넥티드 레이어부터 1번째 디코딩 풀리-커넥티드 레이어까지, N번째 디코딩 컨볼루션 레이어부터 1번째 디코딩 컨볼루션 레이어까지 인코딩의 역순으로 수행된다.
M번째 인코딩 풀리-커넥티드 레이어의 출력 데이터는 M번째 디코딩 풀리-커넥티드 레이어의 입력 데이터로 사용된다.
디코딩 풀리-커넥티드 레이어는 행렬 곱 파라미터와 바이어스 파라미터를 포함한다.
이때, 디코딩 풀리-커넥티드 레이어의 동작은 인코딩 풀리-커넥티드 레이어의 동작과 동일하며 따라서 문서 1의 3장 1절(컨볼루션 신경망에서의 드랍아웃)의 식 (4)와 같다.
전술한 데이터 처리 과정이 M개의 디코딩 풀리-커넥티드 레이어에 걸쳐 반복된다. 즉, m+1번째 디코딩 풀리 커넥티드 레이어의 출력 데이터는 m번째 디코딩 풀리-커넥티드 레이어의 입력 데이터로 사용된다.
인코딩 풀리-커넥티드 레이어와 디코딩 풀리-커넥티드 레이어는 대칭적인 구조를 갖는다. 즉, m번째 인코딩 풀리-커넥티드 레이어의 입력 데이터와 m번째 디코딩 풀리-커넥티드 레이어의 출력 데이터의 원소 수는 동일하며, m번째 인코딩 풀리-커넥티드 레이어의 출력 데이터와 m번째 디코딩 풀리-커넥티드 레이어의 입력 데이터의 원소 수는 동일하다. 문서 3의 22p 3.2절(심층 오토인코더의 적용)의 그림 3.4 참조.
참조 그림의 좌측 그림에서 중앙에 위치한 데이터(M번째 인코딩 풀리-커넥티드 레이어의 출력이자 M번째 디코딩 풀리-커넥티드 레이어의 입력)를 기준으로 인코딩 풀리-커넥티드 레이어들(중앙으로부터 좌측)과 디코딩 풀리-커넥티드 레이어들(중앙으로부터 우측)이 대칭적인 구조를 갖는 것을 볼 수 있다.
M개의 인코딩 풀리-커넥티드 레이어와 M개의 디코딩 풀리-커넥티드 레이어를 거친 (가로 DW×세로 DH)개의 블록들은 다시 하나의 영상 데이터로 병합된다.
병합된 영상 데이터는 N번째 디코딩 컨볼루션 레이어에 입력된다. 디코딩 컨볼루션 레이어의 동작은 영상 확대, 컨볼루션, 전이 함수 순으로 구성된다. 컨볼루션과 전이 함수의 동작은 인코딩 컨볼루션 레이어에서의 설명과 동일하며, 영상 확대는 영상의 가로, 세로 길이를 각각 2배로 확대하는 동작이다.
디코딩 컨볼루션 레이어는 컨볼루션 파라미터와 바이어스 파라미터를 포함한다.
전술한 데이터 처리 과정이 N개의 디코딩 컨볼루션 레이어에 걸쳐 반복된다. 즉 n+1번째 디코딩 컨볼루션 레이어의 출력 데이터는 n번째 디코딩 컨볼루션 레이어의 입력 데이터로 사용된다.
인코딩 컨볼루션 레이어와 디코딩 컨볼루션 레이어는 대칭적인 구조를 갖는다. 즉, n번째 인코딩 컨볼루션 레이어의 입력 데이터와 n번째 디코딩 컨볼루션 레이어의 출력 데이터의 가로 길이, 세로 길이, 채널 수는 동일하며, n번째 인코딩 컨볼루션 레이어의 출력 데이터와 n번째 디코딩 컨볼루션 레이어의 입력 데이터의 가로 길이, 세로 길이, 채널 수는 동일하다. 문서 4의 3.3절(variational autoencoder 모델 구조)의 그림 5 참조.
참조 그림의 중앙을 기준으로 인코딩 컨볼루션 레이어들(중앙으로부터 상단)과 디코딩 컨볼루션 레이어들(중앙으로부터 하단)이 서로 대칭적인 구조를 갖는 것을 볼 수 있다.
이하, 전술한 과정이 영역별자가부호기부(120)의 데이터 처리 과정이다.
사전 학습 단계에서는 정상품 영상 데이터셋 내에서 인코딩/디코딩 컨볼루션 레이어의 컨볼루션 파라미터와 바이어스 파라미터, 인코딩/디코딩 풀리-커넥티드 레이어의 행렬 곱 파라미터와 바이어스 파라미터가 입력 영상과 복원 영상 사이의 평균 오차를 최소화하는 값을 갖도록 학습 된다.
오차 최소화 방법에 대한 서술은 문서 2의 2.1절(Back-propagation)의 설명으로 대체한다.
입력 영상은 참조 식의 우항의 y(x)에 해당하며 복원 영상은 참조 식의 우항의 a에 해당한다. 레이어들이 갖는 컨볼루션 파라미터와 행렬 곱 파라미터는 참조 식의 좌항의 w에 해당하며 바이어스 파라미터는 참조 식의 좌항의 b에 해당한다. 최소화할 평균 오차는 참조 식의 좌항의 C에 해당하며, 해당 단락에서 비용함수, 손실함수, 평균 제곱 오차 등의 이름으로 설명되었다.
전술한 학습 과정을 통해 영역별 자가부호기는 정상품 영상의 패턴을 기억하고, 입력된 피검 영상을 기억하고 있는 유사한 패턴의 정상품으로 복원하려는 성질을 지니게 된다.
본 발명은 입력된 피검 영상이 불량품이라면 그것은 전혀 학습 되지 않은 패턴이기 때문에, 입력 영상과 복원 영상 사이의 큰 오차를 발생시킨다.
본 발명의 풀리-커넥티드 레이어를 적용하는 영역별자가부호기부(120)는, 영상을 분할하지 않고 풀리-커넥티드 레이어를 적용하는 기존의 자가부호기 방식에 비해, 정상품 영상의 국소적 패턴을 기억하는 능력이 뛰어나다. 이에 본 발명의 풀리-커넥티드 레이어를 적용하는 영역별자가부호기부(120)는 기존의 자가부호기 보다 오차를 더 정밀하게 분석할 수 있다는 장점을 갖는다.
이하, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템(1)의 구성요소에 대해 보다 구체적으로 설명한다.
영상정렬부(110)는 외부에서 제공되는 판별 대상의 될 제품의 이미지를 제품의 규격에 맞게 정렬하는 컴퓨터가 된다. 영상정렬부(110)에는 이미지를 설정된 규격에 맞게 정렬하는 소프트웨어가 설치될 수 있다.
영상정렬부(110)는 수신된 이미지를 설정된 기본값 즉, 규격값에 매칭시켜, 매칭되는 경우 검사될 만한 제품으로 판별하고, 매칭되지 않는 경우 검사될 만한 제품이 아니라고 판별한다. 여기서, 기본값은 제품의 크기, 형태, 배색 등으로 설정되어 있다.
영상정렬부(110)는 설정된 제품의 크기, 형태 및 배색을 기준으로 수신된 제품영상의 제품의 크기, 형태 및 배색을 비교한다. 설정된 값과 수신된 값을 비교하여 수신된 제품영상이 검사될 만한 제품인지 검사될 만한 제품이 아닌지를 구분한다.
이러한 영상정렬부(110)는 검사될 만한 제품이라고 판별된 제품영상 즉, 제1제품영상 및 제2제품영상을 영역별자가부호기부(120)로 전송한다.
본 명세서상에서 제1제품영상은 정상제품에 대한 영상이 될 수도 있고, 제2제품영상은 정상제품에 대한 영상 또는 불량품에 대한 영상 중 어느 하나의 영상을 의미한다. 여기서 제2제품영상은 영상정렬부(110)가 검사하는 기준은 넘어선 불량제품의 영상이 된다.
영역별자가부호기부(120)는 영상의 분할된 영역마다 개별적인 완전연결단(fully connected layer)을 갖도록 변형한다. 이후, 분할된 블록 영상을 병합하여 복원한다. 영역별자가부호기부(120)는 복원된 영상이 규격품일 때는 복원오차값이 적은 복원영상으로 복원하는 반면, 복원된 영상이 규격품이 아닐 때는, 복원오차값을 큰 복원영상을 복원하여, 입력영상과 복원영상 간 큰 복원오차값을 발생시킨다.
이러한 영역별자가부호기부(120)에 대해 보다 구체적으로 설명하면, 영역별자가부호기부(120)는 영상정렬부(110)에서 정렬된 제1제품영상을 입력받아 제1제품영상을 복수 개의 블록으로 분할한다.
영역별자가부호기부(120)는 블록으로부터 복수 개의 제1제품벡터를 추출하고, 복수 개의 제1제품벡터로부터 제1압축벡터를 추출하여 압축한다. 그리고 제1압축벡터를 다시 복수 개의 제1제품벡터와 동일한 제1제품복원벡터로 복원한 후, 제1제품복원벡터를 포함하는 블록을 결합해 제1제품영상패턴을 형성하여 저장한다.
아울러, 영역별자가부호기부(120)는 영상정렬부(110)에서 정렬된 제2제품영상이 입력되면, 제2제품영상을 복수 개의 블록으로 분할한 후, 블록으로부터 제2제품벡터를 추출한다. 그리고 복수 개의 제2제품벡터로부터 제1제품벡터와 동일한 벡터를 추출하고, 제2제품벡터로부터 제2압축벡터를 추출하여 압축한다. 그리고 영역별자가부호기부(120)는 제2압축벡터를 다시 복수 개의 제2제품벡터와 동일한 제2제품복원벡터로 복원한 후, 제2제품복원벡터를 포함하는 블록을 결합해 제2제품영상패턴으로 형성한다.
또한, 영역별자가부호기부(120)는 제2제품영상패턴과 제1제품영상패턴을 비교하여, 제2제품영상패턴에 제1제품영상패턴이 미포함 하는 제2제품복원벡터를 포함하고 있을 때, 제2제품복원벡터를 상기 제1제품복원벡터로 변환한다.
아울러, 영역별자가부호기부(120)는 제2제품영상패턴이 제1제품영상패턴으로 복원될 때, 제2제품복원벡터의 크기 및 방향을 제1제품복원벡터의 크기 및 방향으로 변환시킨다. 그리고 이때, 발생 되는 변화값을 복원오차값으로 형성하고, 이를 판별기준결정부(130)로 전송한다.
판별기준결정부(130)는 기준결합값이 설정되어 있고, 기준결합값과 외부에서 전달되는 값을 연산하는 프로그램이 설치된 연산기기이다.
판별기준결정부(130)는 영역별자가부호기부(120)로부터 제2제품영상패턴이 제1제품영상패턴으로 복원될 때, 제2제품영상패턴과 제1제품영상패턴 간 차이에 대응하여 발생 되는 복원오차값을 전달받는다.
판별기준결정부(130)는 전달받는 복원오차값이 기준결함값 이상이면 불량으로 판별하고, 복원오차값이 기준결함값 미만이면 정상으로 판별할 수 한다.
보다 구체적으로, 판별기준결정부(130)는 복원오차값 즉, 제2제품복원벡터가 제1제품복원벡터로 변화는 변화값이 기준결함값 이상이면 불량으로 판별하고, 기준결함값 미만이면 정상으로 판별한다.
여기서, 편발기준결정부(130)는 제2제품복원벡터를 포함하는 블록과 이러한 제2제품복원벡터를 포함하는 블록과 동일한 위치의 제1제품복원벡터를 포함하는 블록 간 픽셀 차이값이 기준결함값 이상이면 불량으로 판별하고, 기준결함값 미만이면 정상으로 판별할 수 있다.
본 명세서상에서의 모든 벡터는 영상의 픽셀로부터 추출된 이미지의 색상 및 명도의 변화 및 방향의 물리량이 된다.
일례로, 판별기준결정부(130)는 제1제품영상을 X0으로 설정하고, 영역별자가부호기부(120)에 의해 복원된 영상이 RCAE(X0)으로 설정하고, 복원오차값을 E로 설정하면, 아래와 같은 수학식 1을 통해 픽셀 별 오차 및 제2제품복원벡터가 제1제품복원벡터로의 변화값에 대응하는 복원오차값을 산출할 수 있다.
<수학식 1>
Figure 112018029767453-pat00001
여기서, 판별기준결정부(130)는 아래와 같은 수학식 2를 통해 복원오차값 E은 모든 픽셀 값 및 제2제품복원벡터가 제1제품복원벡터로의 변화값을 제곱한 후 합하여 나온 결과값을 기준결함값(Eth)과 비교한다.
이를 통해, 아래와 같은 수학식 2를 통해, 판별기준결정부(130)는 검사되는 제품의 복원오차값이 기준결함값(Eth) 이상이 되면 불량으로 판별하고, 복원오차값이 기준결함값(Eth) 미만이 되면 정상으로 판별할 수 있다.
<수학식 2>
Figure 112018029767453-pat00002
여기서, 기준결함값(Eth)는 영역별자가부호기부(120)가 정상품을 학습하여, 정상품과 불량품을 구별할 때 최적의 값으로 찾은 값이 될 수 있다.
이하, 도 3 내지 도 10을 참조하여, 영역별자가부호기부에 대해 구체적으로 설명한다.
도 3은 도 1의 영역별자가부호기부를 나타낸 블록도이고, 도 4는 도 2의 영역별자가부호기부의 처리 과정을 통해, 일 실시예의 피검 제품의 불량 여부를 판별하는 과정을 나타낸 도면이다. 그리고, 도 5는 도 3의 영역별자가부호기부 제품영상에서 제품벡터를 추출하고 압축한 후 복원하는 상태를 나타낸 도면이고, 도 6 내지 도 11은 도 4의 영역별자가부호기부가 영상을 블록 단위로 분할하고, 압축하였다가 복원하는 상태를 나타낸 도면이다.
본 명세서상에서는 설명이 간결하게 명확해 질 수 있도록, 불량여부가 판별되는 제품에 대해 케이스에 포장된 알약으로 하여, 제품의 불량 여부를 판별하는 과정에 대해 설명한다. 여기서, 설명되는 제품의 하나의 예일 뿐, 제품이 이로써 한정되는 것은 아니다. 본 발명은 알약 이외의 다른 제품도 얼마든지 불량 여부를 판별할 수 있다.
영역별자가부호기부(120)는 인코딩컨볼루션모듈(121), 풀리-커넥티드레이어모듈(122) 및 디코딩컨볼루션모듈(123)을 포함한다.
영역별자가부호기부(120)는 인코팅컨볼루션모듈(121)을 통해 영상정렬부(110)에서 정렬된 제1제품영상을 제1제품축소맵을 축소할 수 있다.
그리고 영역별자가부호기부(120)는 풀리-커넥티드레이어모듈(122)을 통해 인코팅턴볼루션모듈(121)에서 축소된 제1제품영상 및 제1제품축소맵을 복수 개의 블록으로 분할한다. 블록으로부터 영역별자가부호기부(120)는 도 5의 (a)에 도시된 바와 같이, 복수 개의 제1제품벡터(P1)를 추출하여 복수 개의 제1제품벡터(P1)로부터 일부를 추출한다. 이때, 추출되지 못하는 벡터들은 삭제된다. 추출된 제1제품벡터(P1)를 압축하여 제1압축벡터(PF1)로 형성한다.
제1압축벡터(PF1)를 다시 복수 개의 제1제품벡터(P1)와 동일하게 복원하여 제1제품복원벡터(PFR1)를 형성한다. 이후 제1제품복원벡터(PFR1)를 포함하는 블록을 결합해 제1제품영상패턴을 형성하여 저장한다.
그리고, 영역별자가부호기부(120)는 영상정렬부(110)에서 정렬된 제2제품영상 또는 제2제품영상이 인코팅턴볼루션모듈(121)에서 축소되어 제2제품축소맵으로 입력되면, 제2제품영상 또는 제2제품축소맵을 블록으로 분할한다. 블록으로부터 영역별자가부호기부(120)는 도 5의 (b)에 도시된 바와 같이, 복수 개의 제2제품벡터(P2)를 추출한다. 이때, 추출되지 못하는 벡터들은 삭제된다. 그리고 복수 개의 제2제품벡터(P2)로부터 제1제품벡터(P1)와 동일한 제2제품벡터(P2)를 추출하여 압축한 후 제2압축벡터(PF2)를 형성한다. 이후, 제2압축벡터(PF2)를 다시 복수 개의 제2제품벡터(P2)와 동일하게 복원하여 제2제품복원벡터(PFR2)를 형성한다.
이때, 제2제품복원벡터(PFR2)를 포함하는 블록을 결합해 제2제품영상패턴으로 형성한다.
영역별자가부호기부(120)는 형성된 제2제품영상패턴과 제1제품영상패턴을 비교하여, 제2제품영상패턴과 제1제품영상패턴 간 차이가 있을 때, 제2제품영상패턴에 제1제품영상패턴이 미포함 하는 제2제품복원벡터를 포함하고 있을 때, 제2제품복원벡터를 제1제품복원벡터로 변환한다.
영역별자가부호기부(120)는 제2제품복원벡터를 제1제품복원벡터로 변환시킨 후, 디코딩컨볼루션모듈(123)을 통해 제2제품영상패턴을 확대하여 출력한다.
이하, 인코딩컨볼루션모듈(121), 풀리-커넥티드레이어모듈(122) 및 디코딩컨볼루션모듈(123)에 대해 보다 구체적으로 설명한다.
인코딩컨볼루션모듈(121)은 멀티채널부를 포함한다. 인코딩컨볼루션모듈(121)은 도 4의 (a)에 도시된 바와 같이, 제1제품영상 및 제2제품영상이 색상을 포함하는 경우 적색채널(Red channel), 청색채널(Blue channel) 그리고 녹색채널(Green channel)로 제1제품영상 및 제2제품영상을 나눈다.
아울러, 인코딩컨볼루션모듈(121)은 제1제품영상 및 제2제품영상이 흑백인 경우, 제1제품영상 및 제2제품영상 회색채널(Gray channel)로 형성할 수 있다. 여기서, 멀티채널부는 통상적으로 사용되는 MCMK 컨볼루션(multi-channel, multi-kernel convolution)이 될 수 있다. 즉, 멀티채널부는 아래와 같은 수학식 3으로 정의될 수 있다.
<수학식 3>
Figure 112018029767453-pat00003
연산 입력 W는 U×V 크기의 커널 M×N 개로 구성
Figure 112018029767453-pat00004
연산 입력 X는 H×W 크기의 N 채널 영상으로 구성
Figure 112018029767453-pat00005
연산 출력 Y는 H×W 크기의 M 채널 영상으로 구성
Figure 112018029767453-pat00006
Y의 M번째 채널 영상은 X의 N번째 채널 영상과 W의 (M, N)번째 커널 사이의 SCSK(single-channel, single-kernel)컨볼루션을 X의 모든 채널에 대해 수행하여 합한 값으로 정의될 수 있다.
Figure 112018029767453-pat00007
인코딩컨볼루션모듈(121)은 바이어스 덧셈부를 포함하여, 입력된 연산 채널을 합한다. 바이어스 덧셈부는 아래와 같은 수학식 4로 정의될 수 있다.
<수학식 4>
Figure 112018029767453-pat00008
연산 입력 X와 연산 출력 Y는 H×W 크기의 N 채널 영상으로 구성
Figure 112018029767453-pat00009
Figure 112018029767453-pat00010
연산 입력 B는 N개의 값으로 구성
Figure 112018029767453-pat00011
Y의 n번째 채널 영상은 X의 n번째 채널 영상과 B의 n번째 값의 합으로 정의될 수 있다. 이를 통해,
Figure 112018029767453-pat00012
은 아래와 같을 수 있다.
Figure 112018029767453-pat00013
또한, 인코딩컨볼루션모듈(121)은 제1제품영상의 크기 그리고 제2제품영상의 크기보다 작은 크기로 형성된 컨볼루션필터 그리고 컨볼루션필터에서 변환된 데이터를 축소하는 다운샘플링부를 포함한다.
컨볼루션필터는 제품영상의 제품벡터를 제품영상의 픽셀과 매칭시키며 제품영상의 크기 이하가 되는 제품영상특징맵(PPCP)으로 변환시키고, 제품영상특징맵(PPCP)를 제품축소맵(PDSP)로 변환시킬 수 있다.
따라서, 컨볼루션필터는 제1제품영상의 제1제품벡터를 제1제품영상의 픽셀과 매칭시키며 제1제품영상이 크기 이하가 되는 제1제품영상특징맵(PPCP1)으로 변환시키고 제2제품영상의 제2제품벡터를 제2제품영상의 픽셀과 매칭시키며 제2제품영상의 크기 이하가 되는 제2제품영상특징맵으로 변환시킨다. 또한, 인코딩컨볼루션모듈(121)은 다운샘플링부를 통해 제1제품영상특징맵에서 제1제품벡터 중 일부만을 추출하여, 제1제품영상특징맵 보다 작은 크기의 제1제품축소맵을 형성하고, 제2제품영상특징맵에서 제2제품벡터 중 일부만을 추출하여 제2제품영상특징맵 보다 작은 제2제품축소맵을 형성한다.
다운샘플링부는 이미지를 1/S배로 축소한다. 여기서, S는 양의 정수가 될 수 있다.
일례로, 다운샘플링부는 입력되는 가로 H, 세로 W 크기의 이미지에서 추출된 특징을 가로 H/S, 세로 W/S크기의 이미지에 포함되는 블록에 넣으며 이미지를 축소시킬 수 있다. 이때, 축소되는 이미지의 블록에 들어가지 못하는 제품벡터 즉, 제1제품벡터 및 제2제품벡터는 삭제된다.
이와 같이 인코딩컨볼루션모듈(121)은 다운샘플링부를 통해 제1제품영상특징맵을 제1제품축소맵으로 형성하고, 제2제품영상특징맵을 제2제품영상특징맵으로 형성한다. 아울러, 인코딩컨볼루션모듈(121)은 전이함수부(activation function module)를 포함할 수 있다.
전이함수부는 영상특징맵들에 속한 값들이 전술한 일련의 처리과정을 거쳐 입력 영상과 같이 복원될 수 있도록 한다.
전이함수부는 아래와 같은 수학식 5로 정의될 수 있다.
<수학식 5>
Figure 112018029767453-pat00014
여기서, 입력 x와 출력 y는 총 N 개의 원소로 구성된다. 이러한 y의 n번째 값은 아래와 같은 식 즉, x의 n번째 값에 임의의 전이 함수 f를 취한 값의 식으로 정의될 수 있다.
Figure 112018029767453-pat00015
인코딩컨볼루션모듈(121)은 전이함수부를 수행하여 제1제품영상을 제1제품영상특징맵 또는 제1제품축소맵으로 출력하고, 제2제품영상을 제2제품영상특징맵 또는 제2제품축소맵으로 출력할 수 있다.
인코딩컨볼루션모듈(121)은 전술한 데이터 처리 과정을 여러 번 반복하며, 많은 영상 데이터를 출력한다. 그리고 출력된 영상 데이터를 풀리-커넥티드레이어모듈(122)로 전송한다.
풀리-커넥티드레이어모듈(122)은 도 4의 (b)에 도시된 바와 같이 입력된 제1제품축소맵을 분할하여 기본블록을 형성한다. 그리고 각 기본블록으로부터 복수 개의 제품벡터을 추출한 후 각 제품벡터를 압축할 수 있다. 풀리-커넥티드레이어모듈(122)은 제1제품벡터를 압축하여 제1압축벡터를 만들 수 있고, 제2제품벡터를 압축하여 제2압축벡터를 만들 수 있다.
풀리-커넥티드레이어모듈(122)은 이러한 기능을 하는 인코딩 풀리-커넥티드레이어모듈기(1221)를 통해 원활하게 진행한다.
인코딩 풀리-커넥티드레이어모듈기(1221)는 도 6에 도시된 바와 같이 인코딩컨볼루션모듈(121)에서 입력 받은 제1제품영상특징맵을 가로에 대해 D등분으로 나누고, 세로에 대해 D 등분으로 나누어 복수 개의 블록으로 분할한 뒤, 각 블록을 길이의 제품벡터로 재구성한다. 일례로, N번째 채널의 입력데이터를 CN으로 하고, 입력된 데이터의 세로, 가로의 크기를 HN, WN 으로 하고 세로를 DH 등분, 가로를 DW 등분하여 DH×DW개로 할 경우, (HN/DH)×(WN/DW) 크기의 영상 블록으로 분할할 수 있다. 분할된 각 블록은 아래와 같은 행렬식으로 나타날 수 있다.
Figure 112018029767453-pat00016
그리고, 인코딩 풀리-커넥티드레이어모듈기(1221)는 도 7에 도시된 바와 같이 각 블록의 길이에 대한 길이의 벡터 y0를 아래와 같은 수식으로 재구성한다.
Figure 112018029767453-pat00017
인코딩 풀리-커넥티드레이어모듈기(1221)는 제1제품벡터 즉, 길이의 벡터 y0를 입력 받고, 행렬곱(matrix multiplication), 바이어스 덧셈, 전이 함수를 수행하여, 다른 하나의 길이의 벡터 y1를 출력한다.
인코딩 풀리-커넥티드레이어모듈기(1221)는 이 과정을 도 8에 도시된 바와 같이 모든 블록에 수행한다. 아울러, 인코딩 풀리-커넥티드레이어모듈기(1221)는 도 9에 도시된 바와 같이 모든 채널에 수행한다. 이를 통해 FL1 + ~ FLm + 의 영상데이터를 만들어 낼 수 있다.
인코딩 풀리-커넥티드레이어모듈기(1221)는 길이의 벡터 ym 을 아래와 같은 수학식 6을 통해 출력할 수 있다.
Figure 112018029767453-pat00018
여기서, 행렬곱 및 바이어스 덧셈은 아래와 같이 일반적으로 사용되는 수학식 7이 된다.
<수학식 7>
Figure 112018029767453-pat00019
즉, 인코딩 풀리-커넥티드레이어모듈기(1221)는 제1제품축소맵을 분할한 후, 제1제품축소맵의 제1압축벡터를 추출하고, 다시 그 중 일부를 추출하여 압축한다. 그리고 제2제품축소맵을 분할한 후, 제2압축벡터를 추출하고, 다시 그 중 일부를 추출하여 압축할 수 있다.
아울러, 풀리-커넥티드레이어모듈(122)은 압축된 각 블록의 벡터값을 복원하여 병합해 인코딩컨볼루션모듈(121)에서 전송한 영상 데이터로 복원할 수 있다. 풀리-커넥티드레이어모듈(122)은 이러한 기능을 하는 디코딩 풀리-커넥티드레이어모듈기(1222)를 포함한다.
디코딩 풀리-커넥티드레이어모듈기(1222)는 압축벡터를 다시 복수 개의 제품벡터와 동일한 개수로 복원하여 제품복원벡터를 형성한 후, 제품복원벡터를 포함하는 블록을 결합해 제품영상패턴을 형성한다. 즉, 디코딩 풀리-커넥티드레이어모듈기(1222)는 제1압축벡터를 다시 복수 개의 제1제품벡터와 동일한 제1제품복원벡터으로 복원 형성한 후, 제1제품복원벡터를 포함하는 블록을 결합 및 병합해 제1제품영상패턴을 형성한다. 그리고 제1제품영상패턴을 저장한다.
그리고 제2압축벡터를 다시 복수 개의 제2제품벡터와 동일한 제2제품복원벡터으로 복원 형성한 후, 제2제품복원벡터를 포함하는 블록을 결합 및 병합해 제2제품영상패턴으로 형성한다. 여기서, 제1제품영상패턴은 복원되며 제1제품축소맵 동일한 형상의 영상 데이터가 된다. 그리고 제2제품영상패턴은 복원오차를 발생시키며 복원되면서 제1제품영상패턴과 동일한 형상의 데이터가 될 수 있다.
이러한 디코딩 풀리-커넥티드레이어모듈기(1222)는 도 10에 도시된 바와 같이 인코딩 풀리-커넥티드레이어모듈기(1221)의 데이터 처리의 역순으로 데이터를 처리한다. 이때, 디코딩 풀리-커넥티드레이어모듈기(1222)는 길이의 벡터를 입력 받은 후, 행렬곱, 바이어스 덧셈, 전이함수를 수행하여 다른 하나의 길이의 벡터를 출력하며 데이터를 처리한다.
여기서, 디코딩 풀리-커넥티드레이어모듈기(1222)는 길이의 벡터 yM을 입력 받은 경우, 아래와 같은 수학식 8을 통해 yM -1을 산출할 수 있다.
<수학식 8>
Figure 112018029767453-pat00020
디코딩 풀리-커넥티드레이어모듈기(1222)는 전술한 데이터 처리 과정을 여러 단계에 걸쳐 반복할 수 있다. 이를 통해 FLm -~FL1 - 의 영상데이터를 만들어 낼 수 있다.
이를 통해, 디코딩 풀리-커넥티드레이어모듈기(1222)는 도 11에 도시된 바와 같이, (DH/HN) × (DW/WN) 크기의 복원 영상 블록 (B’)으로 재구성할 수 있다. 이때, 복원 영상 블록 (B’)은 영상 블록(B, 도9 참조)과 동일한 크기로 형성될 수 있다.
그리고 이러한 블록을 세로 DH개씩, 가로 DW 개씩 연결하여 세로 HN , 가로 WN크기의 X'N영상 데이터로 병합한다. 분할된 각 블록은 아래와 같은 행렬식으로 나타날 수 있다.
디코딩 풀리-커넥티드레이어모듈기(1222)는 압축된 제1압축벡터점 및 압축된 제2압축벡터를 복원하여 병합한다.
디코딩 풀리-커넥티드레이어모듈기(1222)는 복원하여 병합한 압축벡터점 즉, 제1압축벡터점 및 제2압축벡터를 디코딩컨볼루션모듈(123)로 전송한다.
디코딩컨볼루션모듈(123)은 디코딩 풀리-커넥티드 레이어모듈기(1222)로부터 복원하여 병합한 압축벡터점을 전송받아 MCMK 컨볼루션, 바이어스 덧셈, S배 업-샘플링(up-sampling), 전이 함수를 수행한다.
여기서, S배 업-샘플링은 디코딩컨볼루션모듈(123)에 포함된 업샘플링부를 통해 수행될 수 있다. 디코딩컨볼루션모듈(123)은 MCMK 컨볼루션(multi-channel, multi-kernel convolution), 바이어스 덧셈, S배 업-샘플링(up-sampling), 전이함수를 수행하며 복원된 이미지를 확대하여 출력할 수 있다.
즉, 디코딩컨볼루션모듈(123)은 제1제품축소맵과 제2제품축소맵을 다시 확대할 수 있다. 영역별자가부호기부(120)는 제1제품영상 즉, 정상품 영상데이터에 대해서는 인코딩/디코딩 컨볼루션 레이어모듈의 MCMK 컨볼루션 파라미터와 바이어스 파라미터, 인코딩/디코딩 풀리-커넥티드 컨볼루션 레이어모듈기의 행렬곱 파라미터와 바이어스 파라미터를 통해, 제1제품축소맵과 제2제품축소맵을 모두 제1제품영상특징맵으로 확대할 수 있다.
영역별자가부호기부(120)는 이와 같은 구성요소를 통해, 영상의 분할된 영역마다 개별적인 완전 연결단을 갖도록 형성하고, 분할된 블록의 압축과 복원 과정에서의 차 영상(difference image)을 이진화(binarization) 및 중앙값 필터(median filter) 처리할 수 있다.
이하, 도 12 및 도 13을 참조하여, 영역별자가부호부가 산출하는 복원오차에 대한 과정을 설명한다.
도 12 및 도 13은 도 3의 영역별자가부호부가 산출하는 복원오차값을 도시화한 도면이다.
영역별자가부호기부(120)는 전술한 학습과정을 통해, 레이어모듈들의 파라미터를 통해 제1제품영상패턴을 기억한다.
영역별자가부호기부(120)는 도 12의 (a)에 도시된 바와 같이, 정상제품이 입력되거나, 도 12의 (a)에 도시된 바와 같이, 불량제품이 입력되더라도 도 12의 (b) 및 도 13의 (b)에 도시된 바와 같이, 기억하고 있는 제1제품영상패턴과 유사한 제품영상패턴(도 4 참조)으로 복원한다.
이때, 영역별자가부호기부(120)는 정상제품이 입력되면, 정상제품의 압축, 및 복원 과정이 기억하고 있는 제1제품영상패턴과 정상제품의 제품영상패턴 간 복원오차값을 0에 근사한 복원오차값으로 추출할 수 있다.
반면, 영역별자가부호기부(120)는 불량제품이 입력되면, 압축 및 복원 과정에서 입력된 불량제품 영상을 기억하고 있는 제1제품영상패턴과 유사하게 복원하려는 성질에 따라 제2제품영상패턴의 불량부분벡터 즉, 제2제품복원벡터가 제1제품복원벡터로 복원한다.
영역별자가부호기부(120)는 제2제품복원벡터이 제1제품복원벡터로 복원되는 값에 대응하여 복원오차값을 발생시킨다.
제2제품영상패턴이 제1제품영상패턴으로 복원될 때, 판별기준결정부는 제1제품복원벡터가 추가되는 복원오차값 즉, 복원오차값이 기준결함값 이상이면 입력되는 제품을 불량으로 판별한다. 그리고 복원오차값이 기준결함값 미만이면 입력되는 제품을 정상으로 판별한다.
아울러, 영역별자가부호기부(120)는 도 12의 (C) 대비 도 13의 (C)에서 발생되는 오차 화소(error pixel)를 계수하여 불량품을 판별할 수도 있다. 이를 통해, 제품의 불량 위치를 정확하게 파악할 수 있다.
이하, 지금까지 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템에 대한 설명을 바탕으로 본 발명의 일 실시예에 의한 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법에 대해 설명하도록 한다.
이하 언급되는 구성요소에 대한 구체적인 설명은 별도 언급이 없는 한 전술한 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템에 대한설명으로 대신한다.
본 발명의 일 실시예에 의한 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법에 대한 설명은 도 14를 기준으로 한다.
도 14는 본 발명의 일 실시예에 의한 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법의 처리 과정을 나타낸 순서도이다.
비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법은 후술할 (A)단계에서부터 (D)단계에 이르는 일련의 단계를 통해, 검사되는 제품에 대해 불량 여부를 신뢰도 있게 판별할 수 있다.
이하, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법에 대해 구체적으로 설명한다.
비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법은 제1제품영상을 제품의 규격에 맞게 정렬시켜 영상정렬부에 제공하는 (A)단계로 시작된다(S110). 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법은 (A)단계에서 제공되는 제1제품영상을 정상제품으로 학습하고(S120), 학습 된 데이터를 통해 판별기준을 설정할 수 있다(S130).
이후, 영상정렬부에서 정렬된 제1제품영상 또는 제1제품영상이 축소된 제1제품축소맵을 입력 받아, 제1제품영상 또는 제1제품축소맵을 복수 개의 블록으로 분할한 후, 블록으로부터 복수 개의 제1제품벡터를 추출하고, 복수 개의 제1제품벡터로부터 제1압축벡터를 추출하여 압축하고, 제1압축벡터를 다시 복수 개의 제1제품벡터와 동일한 제1제품복원벡터로 복원한 후, 제1제품복원벡터를 포함하는 블록을 결합해 제1제품영상패턴을 형성하여 저장하는 (B)단계를 진행된다.
이와 같은 (B)단계 이후에는 영상정렬부에서 제2제품영상이 입력되면, 영상정렬부에서 정렬된 제2제품영상이 입력되면, 제2제품영상을 복수 개의 블록으로 분할한 후, 블록으로부터 제2제품벡터를 추출하고, 복수 개의 제2제품벡터로부터 제1제품벡터와 동일한 벡터를 추출하고, 제2제품벡터로부터 제2압축벡터를 추출하여 압축하고, 제2압축벡터를 다시 복수 개의 제2제품벡터와 동일한 제2제품복원벡터로 복원한 후, 제2제품복원벡터를 포함하는 블록을 결합해 제2제품영상패턴으로 형성하고,
제2제품영상패턴과 제1제품영상패턴을 비교하여, 제2제품영상패턴에 제1제품영상패턴이 미포함 하는 제2제품복원벡터를 포함하고 있을 때, 제2제품복원벡터를 제1제품복원벡터로 변환하는 (C)단계를 진행한다.
이와 같은 (C)단계에서 제2제품영상패턴가 제1제품복원벡터로 변환될 때, 제1제품복원벡터의 크기 및 방향으로 변화되는 물리량에 대응하여 제2제품영상에 대한 복원오차값을 계산할 수 있다(S150). 이후, 복원오차값이 기준결함값 이상이면 불량으로 판별하고, 비교값이 기준결합값 미만이면 정상으로 판별하는 (D)단계로 진행된다(S160). (D)단계 이후, 제1제품영상패턴 및 제2제품영상패턴을 확대하여, 제1제품영상과 제2제품영상을 복원 영상으로 출력하는 (F)단계로 진행될 수 있다.
비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법은 후술할 (F)단계를 끝으로, 검사되는 제품에 대해 불량 여부를 신뢰도 있게 판별할 수 있는 일련의 단계를 종료한다.
여기서, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법은 이러한 일련의 단계를 통해, 정상품과 불량품으로 구성된 학습 데이터셋(dataset)을 마련한다. 아울러, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법은 마련된 데이터셋을 통해 정상제품의 영상패턴을 기억한 후, 검사되는 제품의 영상패턴을 정상품의 영상패턴으로 복원한다. 그리고 복원과정에서 발생되는 복원오차값을 통해, 검사되는 제품에 대해 불량 여부를 신뢰도 있게 판별할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야 한다.
1: 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템.
110: 영상정렬부 120: 영역별자가부호기부
121: 인코딩컨볼루션모듈 122: 풀리-커넥티드레이어모듈
1221: 인코딩 풀리-커넥티드레이어모듈기
1222: 디코딩 풀리-커넥티드레이어모듈기
123: 디코딩컨볼루션모듈
130: 판별기준결정부
P1: 제1제품벡터점 P2: 제2제품벡터점
PF1: 제1압축벡터점 PF2: 제2압축벡터점
PFR1: 제1제품복원벡터점 PFR2: 제2제품복원벡터점

Claims (9)

  1. 외부에서 제공되는 제1제품영상을 제품의 규격에 맞게 정렬하는 영상정렬부;
    상기 영상정렬부에서 정렬된 제1제품영상을 입력받아, 복수 개의 블록으로 분할한 후, 상기 블록으로부터 복수 개의 제1제품벡터를 추출하고, 복수 개의 상기 제1제품벡터로부터 제1압축벡터를 추출하여 압축하고, 상기 제1압축벡터를 다시 복수 개의 상기 제1제품벡터와 동일한 제1제품복원벡터로 복원한 후, 상기 제1제품복원벡터를 포함하는 블록을 결합해 제1제품영상패턴을 형성하여 저장하고,
    상기 영상정렬부에서 정렬된 제2제품영상이 입력되면, 복수 개의 상기 블록으로 분할한 후, 상기 블록으로부터 제2제품벡터를 추출하고, 복수 개의 상기 제2제품벡터로부터 상기 제1제품벡터와 동일한 벡터를 추출하고, 상기 제2제품벡터로부터 제2압축벡터를 추출하여 압축하고, 상기 제2압축벡터를 다시 복수 개의 상기 제2제품벡터와 동일한 제2제품복원벡터로 복원한 후, 상기 제2제품복원벡터를 포함하는 블록을 결합해 제2제품영상패턴으로 형성하고,
    상기 제2제품영상패턴과 상기 제1제품영상패턴을 비교하여, 상기 제2제품영상패턴에 상기 제1제품영상패턴이 미포함 하는 제2제품복원벡터를 포함하고 있을 때, 상기 제2제품복원벡터를 상기 제1제품복원벡터로 변환하는 영역별자가부호기부;
    상기 영역별자가부호기부와 연결되어, 상기 제2제품복원벡터가 상기 제1제품복원벡터로 변환하며 복원오차값을 생성하며, 상기 복원오차값이 기준결함값 이상이 되면 불량으로 판별하고, 상기 기준결함값 미만이 되면 정상으로 판별하는 판별기준결정부를 포함하는, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템.
  2. 제1항에 있어서,
    상기 영역별자가부호기부는, 상기 제2제품영상패턴과 상기 제1제품영상패턴 간 차이가 있을 때, 차이가 있는 상기 제2제품복원벡터의 크기 및 방향을 상기 제1제품복원벡터의 크기 및 방향으로 복원하는, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템.
  3. 제1항에 있어서,
    상기 제1제품영상은 사전 학습되는 정상제품의 영상이 되고, 상기 제2제품영상은 검사가 되는 제품의 영상이 되는, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템.
  4. 제1항에 있어서,
    상기 영역별자가부호기부는, 상기 제1제품영상 및 상기 제2제품영상이 색상을 포함하는 경우 적색채널, 청색채널 그리고 녹색채널로 나누는 인코딩컨볼루션모듈을 포함하는, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템.
  5. 제4항에 있어서,
    상기 인코딩컨볼루션모듈은,
    상기 제1제품영상의 상기 제1제품벡터를 상기 제1제품영상의 픽셀과 매칭시키며 상기 제1제품영상의 크기 이하가 되는 제1제품영상특징맵으로 변환시키고 상기 제2제품영상의 상기 제2제품벡터를 상기 제2제품영상의 픽셀과 매칭시키며 상기 제2제품영상의 크기 이하가 되는 제2제품영상특징맵으로 변환시키는 컨볼루션필터를 포함하는, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템.
  6. 제5항에 있어서,
    상기 인코딩컨볼루션모듈은, 상기 제1제품영상특징맵에서 상기 제1제품벡터 중 일부만을 추출하여, 상기 제1제품영상특징맵 보다 작은 크기의 제1제품축소맵을 형성하고,
    상기 제2제품영상특징맵에서 상기 제2제품벡터 중 일부 만을 추출하여 상기 제2제품영상특징맵 보다 작은 제2제품축소맵을 형성하는 다운샘플링부를 포함하는, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템.
  7. 제6항에 있어서,
    상기 영역별자가부호기부는,
    상기 제1제품축소맵을 분할한 후, 상기 제1제품축소맵의 상기 제1압축벡터를 추출하여 압축하고, 상기 제2제품축소맵을 분할 한 후, 상기 제2제품축소맵의 상기 제2압축벡터를 추출하여 압축하는 인코딩 폴리-커넥티드레이어모듈기와
    압축된 상기 제1압축벡터를 상기 제1제품복원벡터로 복원하고 압축된 상기 제2압축벡터를 상기 제2제품복원벡터로 복원한 후, 상기 제1제품복원벡터를 포함하는 블록 그리고 상기 제2제품복원벡터를 포함하는 블록을 병합하는 디코딩 풀리-커넥티드레이어모듈기를 포함하는 풀리-커넥티드 레이어모듈을 포함하는, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템.
  8. 제7항에 있어서,
    상기 영역별자가부호기부는, 상기 디코딩 풀리-커넥티드 레이어모듈기로부터 복원된 이미지를 확대하여, 상기 제1제품축소맵과 상기 제2제품축소맵을 확대하는 업샘플링부를 포함하는, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템.
  9. 제1제품영상을 제품의 규격에 맞게 정렬시켜 영상정렬부에 제공하는 (A)단계;
    상기 영상정렬부에서 정렬된 제1제품영상을 입력 받아, 복수 개의 블록으로 분할한 후, 상기 블록으로부터 복수 개의 제1제품벡터를 추출하고, 복수 개의 상기 제1제품벡터로부터 제1압축벡터를 추출하여 압축하고, 상기 제1압축벡터를 다시 복수 개의 상기 제1제품벡터와 동일한 제1제품복원벡터로 복원한 후, 상기 제1제품복원벡터를 포함하는 블록을 결합해 제1제품영상패턴을 형성하여 저장하는 (B)단계;
    상기 영상정렬부에서 정렬된 제2제품영상이 입력 되면, 복수 개의 상기 블록으로 분할한 후, 상기 블록으로부터 제2제품벡터를 추출하고, 복수 개의 상기 제2제품벡터로부터 상기 제1제품벡터와 동일한 벡터를 추출하고, 상기 제2제품벡터로부터 제2압축벡터를 추출하여 압축하고, 상기 제2압축벡터를 다시 복수 개의 상기 제2제품벡터와 동일한 제2제품복원벡터로 복원한 후, 상기 제2제품복원벡터를 포함하는 블록을 결합해 제2제품영상패턴으로 형성하고,
    상기 제2제품영상패턴과 상기 제1제품영상패턴을 비교하여, 상기 제2제품영상패턴에 상기 제1제품영상패턴이 미포함 하는 제2제품복원벡터를 포함하고 있을 때, 상기 제2제품복원벡터를 상기 제1제품복원벡터로 변환하는 (C)단계;
    영역별자가부호기부와 연결되어, 상기 제2제품복원벡터가 상기 제1제품복원벡터로 변환하며 복원오차값을 생성하며, 상기 복원오차값이 기준결함값 이상이 되면 불량으로 판별하고, 상기 기준결함값 미만이 되면 정상으로 판별하는 (D) 단계를 포함하는, 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법.
KR1020180034416A 2018-03-26 2018-03-26 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법 KR101911061B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180034416A KR101911061B1 (ko) 2018-03-26 2018-03-26 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180034416A KR101911061B1 (ko) 2018-03-26 2018-03-26 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법

Publications (1)

Publication Number Publication Date
KR101911061B1 true KR101911061B1 (ko) 2018-10-23

Family

ID=64101871

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180034416A KR101911061B1 (ko) 2018-03-26 2018-03-26 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법

Country Status (1)

Country Link
KR (1) KR101911061B1 (ko)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190042384A (ko) * 2017-10-16 2019-04-24 한국생산기술연구원 딥러닝과 노이즈 제거 기술을 이용한 표면 결함 검출 장치 및 방법
KR102097743B1 (ko) * 2019-07-25 2020-04-06 주식회사 딥노이드 인공지능 질환 판독 장치 및 방법
KR20200084444A (ko) * 2018-12-26 2020-07-13 한국생산기술연구원 딥러닝 기반 영상 데이터 생성 기술을 이용한 분류 시스템 및 그 제어 방법
KR20210012107A (ko) 2019-07-24 2021-02-03 주식회사 삼오씨엔에스 머신러닝 기반의 비정상 접속상태 판별 방법
KR20210040853A (ko) * 2020-06-30 2021-04-14 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 제품 결함 검출 방법, 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램
CN112997479A (zh) * 2018-11-15 2021-06-18 Oppo广东移动通信有限公司 跨阶段跳跃连接处理图像的方法、系统和计算机可读介质
CN113027696A (zh) * 2019-12-24 2021-06-25 新疆金风科技股份有限公司 液压变桨系统的故障诊断方法和装置
KR20210084576A (ko) * 2018-11-28 2021-07-07 에이조 가부시키가이샤 정보 처리 방법 및 기록 매체에 기록된 컴퓨터 프로그램
KR102302540B1 (ko) * 2020-07-06 2021-09-16 한국생산기술연구원 데이터 페어 생성 기술을 이용한 딥러닝 기반 제품 결함 검사 시스템 및 방법
KR102302541B1 (ko) * 2020-07-06 2021-09-16 한국생산기술연구원 레이블 데이터 변형을 이용한 인공지능 기반 제품 품질 검사 시스템 및 방법
WO2022030088A1 (ja) * 2020-08-04 2022-02-10 Ckd株式会社 検査装置、ブリスター包装機及びブリスターパックの製造方法
JP7046150B1 (ja) 2020-12-03 2022-04-01 Ckd株式会社 基板異物検査装置及び基板異物検査方法
US11727279B2 (en) 2019-06-11 2023-08-15 Samsung Electronics Co., Ltd. Method and apparatus for performing anomaly detection using neural network
KR20230119839A (ko) * 2022-02-08 2023-08-16 주식회사 트윔 뉴럴 네트워크를 이용한 제품 검사 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011087301A (ja) 2009-10-15 2011-04-28 Samsung Electronics Co Ltd 映像データの処理装置、表示システム、及び処理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011087301A (ja) 2009-10-15 2011-04-28 Samsung Electronics Co Ltd 映像データの処理装置、表示システム、及び処理方法

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101992970B1 (ko) 2017-10-16 2019-06-26 한국생산기술연구원 딥러닝과 노이즈 제거 기술을 이용한 표면 결함 검출 장치 및 방법
KR20190042384A (ko) * 2017-10-16 2019-04-24 한국생산기술연구원 딥러닝과 노이즈 제거 기술을 이용한 표면 결함 검출 장치 및 방법
CN112997479B (zh) * 2018-11-15 2022-11-11 Oppo广东移动通信有限公司 跨阶段跳跃连接处理图像的方法、系统和计算机可读介质
CN112997479A (zh) * 2018-11-15 2021-06-18 Oppo广东移动通信有限公司 跨阶段跳跃连接处理图像的方法、系统和计算机可读介质
KR20210084576A (ko) * 2018-11-28 2021-07-07 에이조 가부시키가이샤 정보 처리 방법 및 기록 매체에 기록된 컴퓨터 프로그램
KR102647255B1 (ko) 2018-11-28 2024-03-12 에이조 가부시키가이샤 정보 처리 방법 및 기록 매체에 기록된 컴퓨터 프로그램
KR20200084444A (ko) * 2018-12-26 2020-07-13 한국생산기술연구원 딥러닝 기반 영상 데이터 생성 기술을 이용한 분류 시스템 및 그 제어 방법
KR102179949B1 (ko) * 2018-12-26 2020-11-17 한국생산기술연구원 딥러닝 기반 영상 데이터 생성 기술을 이용한 분류 시스템 및 그 제어 방법
US11727279B2 (en) 2019-06-11 2023-08-15 Samsung Electronics Co., Ltd. Method and apparatus for performing anomaly detection using neural network
KR20210012107A (ko) 2019-07-24 2021-02-03 주식회사 삼오씨엔에스 머신러닝 기반의 비정상 접속상태 판별 방법
KR102097743B1 (ko) * 2019-07-25 2020-04-06 주식회사 딥노이드 인공지능 질환 판독 장치 및 방법
CN113027696A (zh) * 2019-12-24 2021-06-25 新疆金风科技股份有限公司 液压变桨系统的故障诊断方法和装置
CN113027696B (zh) * 2019-12-24 2022-11-15 新疆金风科技股份有限公司 液压变桨系统的故障诊断方法和装置
KR20210040853A (ko) * 2020-06-30 2021-04-14 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 제품 결함 검출 방법, 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램
KR102636381B1 (ko) 2020-06-30 2024-02-13 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 제품 결함 검출 방법, 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램
KR102302540B1 (ko) * 2020-07-06 2021-09-16 한국생산기술연구원 데이터 페어 생성 기술을 이용한 딥러닝 기반 제품 결함 검사 시스템 및 방법
KR102302541B1 (ko) * 2020-07-06 2021-09-16 한국생산기술연구원 레이블 데이터 변형을 이용한 인공지능 기반 제품 품질 검사 시스템 및 방법
JP2022029241A (ja) * 2020-08-04 2022-02-17 Ckd株式会社 検査装置、ブリスター包装機及びブリスターパックの製造方法
TWI781671B (zh) * 2020-08-04 2022-10-21 日商Ckd股份有限公司 檢查裝置、泡鼓包裝機及泡鼓盒的製造方法
JP7241721B2 (ja) 2020-08-04 2023-03-17 Ckd株式会社 検査装置、ブリスター包装機及びブリスターパックの製造方法
WO2022030088A1 (ja) * 2020-08-04 2022-02-10 Ckd株式会社 検査装置、ブリスター包装機及びブリスターパックの製造方法
EP4194350A4 (en) * 2020-08-04 2024-10-02 Ckd Corp INSPECTION DEVICE, BLISTER PACKAGING MACHINE AND BLISTER PACKAGING MANUFACTURING METHOD
JP2022088818A (ja) * 2020-12-03 2022-06-15 Ckd株式会社 基板異物検査装置及び基板異物検査方法
WO2022118523A1 (ja) * 2020-12-03 2022-06-09 Ckd株式会社 基板異物検査装置及び基板異物検査方法
TWI819395B (zh) * 2020-12-03 2023-10-21 日商Ckd股份有限公司 基板異物檢查裝置及基板異物檢查方法
JP7046150B1 (ja) 2020-12-03 2022-04-01 Ckd株式会社 基板異物検査装置及び基板異物検査方法
KR20230119839A (ko) * 2022-02-08 2023-08-16 주식회사 트윔 뉴럴 네트워크를 이용한 제품 검사 방법 및 장치
KR102611480B1 (ko) 2022-02-08 2023-12-08 주식회사 트윔 뉴럴 네트워크를 이용한 제품 검사 방법 및 장치

Similar Documents

Publication Publication Date Title
KR101911061B1 (ko) 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 시스템 및 비지도 학습기반 영역별 자가부호기를 이용한 제품 불량판별 방법
US8995780B2 (en) Compression of digital images of scanned documents
CN109902622B (zh) 一种用于登机牌信息验证的文字检测识别方法
CN108305238B (zh) 图像处理方法、装置、存储介质和计算机设备
WO2019188040A1 (ja) 画像処理装置、画像処理方法および画像処理プログラム
CN111681273A (zh) 图像分割方法、装置、电子设备及可读存储介质
CN113807378B (zh) 训练数据增量方法、电子装置与计算机可读记录介质
CN116051549B (zh) 一种太阳能电池片缺陷分割方法、系统、介质及设备
CN114332008A (zh) 一种基于多层次特征重构的无监督缺陷检测与定位方法
CN114863098A (zh) 用于工业场景的细小微弱缺陷分割方法
CN116152226A (zh) 基于可融合的特征金字塔的换向器内侧图像缺陷检测方法
CN117067112B (zh) 一种水切割机及其控制方法
CN117830781A (zh) 缺陷检测模型的构建方法、缺陷检测方法、装置及设备
CN117853778A (zh) 一种基于改进的htc铸件dr图像缺陷识别方法
CN116403212B (zh) 基于改进U-net网络的金相图像的像素中小颗粒识别方法
CN114596242A (zh) 缺陷检测方法、装置、电子设备及计算机可读存储介质
JP4458429B2 (ja) カラー画像認識方法および装置
US9648208B2 (en) Method and apparatus and using an enlargement operation to reduce visually detected defects in an image
EP3885991A1 (en) Autoencoder-based segmentation mask generation in an alpha channel
Lacroix Raster-to-vector conversion: problems and tools towards a solution a map segmentation application
CN112419208A (zh) 一种基于施工图审查矢量图纸编译方法及系统
CN114067101A (zh) 一种基于信息互补的双流解码器的图像显著性检测方法
CN113947567A (zh) 基于多任务学习的缺陷检测方法
Osina et al. Text detection algorithm on real scenes images and videos on the base of discrete cosine transform and convolutional neural network
CN114049475A (zh) 一种基于ai移动端自动化测试框架的图像处理方法及系统

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant