KR20230109937A - 제품 이미지 패턴 군집화를 기반한 비전검사 인공지능 장치 및 그 방법 - Google Patents

제품 이미지 패턴 군집화를 기반한 비전검사 인공지능 장치 및 그 방법 Download PDF

Info

Publication number
KR20230109937A
KR20230109937A KR1020220005796A KR20220005796A KR20230109937A KR 20230109937 A KR20230109937 A KR 20230109937A KR 1020220005796 A KR1020220005796 A KR 1020220005796A KR 20220005796 A KR20220005796 A KR 20220005796A KR 20230109937 A KR20230109937 A KR 20230109937A
Authority
KR
South Korea
Prior art keywords
product
learning
types
artificial intelligence
processor
Prior art date
Application number
KR1020220005796A
Other languages
English (en)
Inventor
고영산
강병준
김상윤
현지호
김승환
Original Assignee
주식회사 Lg 경영개발원
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 주식회사 Lg 경영개발원 filed Critical 주식회사 Lg 경영개발원
Priority to KR1020220005796A priority Critical patent/KR20230109937A/ko
Publication of KR20230109937A publication Critical patent/KR20230109937A/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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 실시 예에 따른 인공 지능 장치는 제품에 상응하는 제품 이미지를 구성하는 복수의 분할 이미지들 각각으로부터 양품 또는 불량품에 대한 세부 유형을 결정하는 제품 분류 모델을 저장하는 메모리 및 각 분할 이미지의 특징 벡터를 추출하고, 상기 제품 분류 모델을 이용하여 상기 세부 유형이 복수의 불량품 유형들 중 어느 하나에 속하는 경우, 상기 제품을 불량품으로 판정하는 프로세서를 포함할 수 있다.

Description

제품 이미지 패턴 군집화를 기반한 비전검사 인공지능 장치 및 그 방법{ARTIFICIAL INTELLIGENCE APPARATUS FOR VISION INSPECTION BASED ON PRODUCT IMAGE PATTERN CLUSTERING AND METHOD THEREOF}
본 발명은 비전 검사를 위한 인공 지능 장치에 관한 것이다.
비전검사가 적용되는 제품에서는 작은 영역에서 발생되는 불량이 많으며, 이를 분류하기 위해 고해상도 영상으로 제품을 촬영한다.
고해상도 영상을 사용하여 딥러닝 판정모델을 학습하기에는 처리속도 측면에서 효율적이지 못하기 때문에 고해상도 영상을 분할하여 딥러닝 판정모델을 학습하는데 사용한다.
하지만 분할된 영상은 제품의 파트별로 형상이 다르고, 이는 불량이 발생했을 때의 패턴보다 파트별 형상이 더 다르게 보일 수 있다. 이는 양품과 불량품을 구분하는 분류기를 학습하는데 있어 성능 저하로 이어질 수 있는 문제가 있다.
본 발명은 양품과 불량품을 구분하는 분류기의 성능을 향상시키고자 하는 것을 그 목적으로 한다.
본 발명은 제품의 파트 별 형상이 다른 경우에도 양품과 불량품을 잘 구분할 수 있도록 하는 것을 그 목적으로 한다.
본 발명의 실시 예에 따른 인공 지능 장치는 제품에 상응하는 제품 이미지를 구성하는 복수의 분할 이미지들 각각으로부터 양품 또는 불량품에 대한 세부 유형을 결정하는 제품 분류 모델을 저장하는 메모리 및 각 분할 이미지의 특징 벡터를 추출하고, 상기 제품 분류 모델을 이용하여 상기 세부 유형이 복수의 불량품 유형들 중 어느 하나에 속하는 경우, 상기 제품을 불량품으로 판정하는 프로세서를 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 양품에 속한 이미지의 형상 차이가 심한 경우도 양품 여부를 제대로 구분하여, 양품과 불량품을 구분하는 성능이 크게 향상될 수 있다.
도 1은 본 개시의 일 실시 예에 따른 인공 지능 장치를 나타낸다.
도 2는 본 개시의 일 실시 예에 따른 인공 지능 서버를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 인공 지능 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시 예에 따라 학습용 데이터 세트를 획득하는 과정을 설명하는 도면이다.
도 5는 본 발명의 실시 예에 따라 분할 이미지들이 대조 학습을 통해 분류된 상태를 설명하는 도면이고, 도 6은 본 발명의 일 실시 예에 따라 서로 다른 유형들을 군집화한 상태를 설명하는 도면이다.
도 7은 본 발명의 비전 검사를 통한 양품과 불량품을 판정하기 위한 학습 과정을 도식화한 도면이다.
도 8은 본 발명의 일 실시 예에 따라 제품 이미지로부터 양품 및 불량품을 판정하는 과정을 설명하는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
<인공 지능(AI: Artificial Intelligence)>
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
손실 함수는 실제 값과 예측 값의 차이(loss 또는 cost)를 수치화해주는 함수일 수 있다. 실제 값과 예측 값의 차이가 클수록 손실 함수의 값이 크고, 실제 값과 예측 값의 차이가 작을수록 손실 함수의 값이 작아질 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다. 비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다. 강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
도 1은 본 개시의 일 실시 예에 따른 인공 지능 장치를 나타낸다.
인공 지능(AI) 장치(100)는 TV, 프로젝터, 휴대폰, 스마트폰, 데스크탑 컴퓨터, 노트북, 디지털방송용 단말기, PDA(personal digital assistants), PMP(portable multimedia player), 네비게이션, 태블릿 PC, 웨어러블 장치, 셋톱박스(STB), DMB 수신기, 라디오, 세탁기, 냉장고, 데스크탑 컴퓨터, 디지털 사이니지, 로봇, 차량 등과 같은, 고정형 기기 또는 이동 가능한 기기 등으로 구현될 수 있다.
도 1을 참조하면, 단말기(100)는 통신부(110), 입력부(120), 러닝 프로세서(130), 센싱부(140), 출력부(150), 메모리(170) 및 프로세서(180) 등을 포함할 수 있다.
통신부(110)는 유무선 통신 기술을 이용하여 다른 AI 장치나 AI 서버(200) 등의 외부 장치들과 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 센서 정보, 사용자 입력, 학습 모델, 제어 신호 등을 송수신할 수 있다.
이때, 통신부(110)가 이용하는 통신 기술에는 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), 5G, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등이 있다.
입력부(120)는 다양한 종류의 데이터를 획득할 수 있다.
이때, 입력부(120)는 영상 신호 입력을 위한 카메라, 오디오 신호를 수신하기 위한 마이크로폰, 사용자로부터 정보를 입력 받기 위한 사용자 입력부 등을 포함할 수 있다. 여기서, 카메라나 마이크로폰을 센서로 취급하여, 카메라나 마이크로폰으로부터 획득한 신호를 센싱 데이터 또는 센서 정보라고 할 수도 있다.
입력부(120)는 모델 학습을 위한 학습 데이터 및 학습 모델을 이용하여 출력을 획득할 때 사용될 입력 데이터 등을 획득할 수 있다. 입력부(120)는 가공되지 않은 입력 데이터를 획득할 수도 있으며, 이 경우 프로세서(180) 또는 러닝 프로세서(130)는 입력 데이터에 대하여 전처리로써 입력 특징점(input feature)을 추출할 수 있다.
러닝 프로세서(130)는 학습 데이터를 이용하여 인공 신경망으로 구성된 모델을 학습시킬 수 있다. 여기서, 학습된 인공 신경망을 학습 모델이라 칭할 수 있다. 학습 모델은 학습 데이터가 아닌 새로운 입력 데이터에 대하여 결과 값을 추론해 내는데 사용될 수 있고, 추론된 값은 어떠한 동작을 수행하기 위한 판단의 기초로 이용될 수 있다.
이때, 러닝 프로세서(130)는 AI 서버(200)의 러닝 프로세서(240)과 함께 AI 프로세싱을 수행할 수 있다.
이때, 러닝 프로세서(130)는 AI 장치(100)에 통합되거나 구현된 메모리를 포함할 수 있다. 또는, 러닝 프로세서(130)는 메모리(170), AI 장치(100)에 직접 결합된 외부 메모리 또는 외부 장치에서 유지되는 메모리를 사용하여 구현될 수도 있다.
센싱부(140)는 다양한 센서들을 이용하여 AI 장치(100) 내부 정보, AI 장치(100)의 주변 환경 정보 및 사용자 정보 중 적어도 하나를 획득할 수 있다.
이때, 센싱부(140)에 포함되는 센서에는 근접 센서, 조도 센서, 가속도 센서, 자기 센서, 자이로 센서, 관성 센서, RGB 센서, IR 센서, 지문 인식 센서, 초음파 센서, 광 센서, 마이크로폰, 라이다, 레이더 등이 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시킬 수 있다.
이때, 출력부(150)에는 시각 정보를 출력하는 디스플레이부, 청각 정보를 출력하는 스피커, 촉각 정보를 출력하는 햅틱 모듈 등이 포함될 수 있다.
메모리(170)는 AI 장치(100)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 예컨대, 메모리(170)는 입력부(120)에서 획득한 입력 데이터, 학습 데이터, 학습 모델, 학습 히스토리 등을 저장할 수 있다.
프로세서(180)는 데이터 분석 알고리즘 또는 머신 러닝 알고리즘을 사용하여 결정되거나 생성된 정보에 기초하여, AI 장치(100)의 적어도 하나의 실행 가능한 동작을 결정할 수 있다. 그리고, 프로세서(180)는 AI 장치(100)의 구성 요소들을 제어하여 결정된 동작을 수행할 수 있다.
이를 위해, 프로세서(180)는 러닝 프로세서(130) 또는 메모리(170)의 데이터를 요청, 검색, 수신 또는 활용할 수 있고, 상기 적어도 하나의 실행 가능한 동작 중 예측되는 동작이나, 바람직한 것으로 판단되는 동작을 실행하도록 AI 장치(100)의 구성 요소들을 제어할 수 있다.
이때, 프로세서(180)는 결정된 동작을 수행하기 위하여 외부 장치의 연계가 필요한 경우, 해당 외부 장치를 제어하기 위한 제어 신호를 생성하고, 생성한 제어 신호를 해당 외부 장치에 전송할 수 있다.
이때, 프로세서(180)은 영상 입력을 이미지 단위로 이미지 군집화 엔진을 통해 유사한 패턴을 가진 이미지를 군집화하거나, 이미지 특징 추출 네트워크를 포함한 이미지 분류 엔진을 통해 이미지의 특징을 추출하여 특정 응용 분야에서 의도한 이미지 분류를 할 수 있다.
이때, 이미지 군집화 엔진 또는 이미지 특징 추출 네트워크를 포함한 이미지 분류 엔진 중에서 적어도 하나 이상은 적어도 일부가 머신 러닝 알고리즘에 따라 학습된 인공 신경망으로 구성될 수 있다. 그리고, 이미지 군집화 엔진 또는 이미지 특징 추출 네트워크를 포함한 이미지 분류 엔진 중에서 적어도 하나 이상은 러닝 프로세서(130)에 의해 학습된 것이나, AI 서버(200)의 러닝 프로세서(240)에 의해 학습된 것이거나, 또는 이들의 분산 처리에 의해 학습된 것일 수 있다.
프로세서(180)는 AI 장치(100)의 동작 내용이나 동작에 대한 사용자의 피드백 등을 포함하는 이력 정보를 수집하여 메모리(170) 또는 러닝 프로세서(130)에 저장하거나, AI 서버(200) 등의 외부 장치에 전송할 수 있다. 수집된 이력 정보는 학습 모델을 갱신하는데 이용될 수 있다.
프로세서(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, AI 장치(100)의 구성 요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(180)는 상기 응용 프로그램의 구동을 위하여, AI 장치(100)에 포함된 구성 요소들 중 둘 이상을 서로 조합하여 동작시킬 수 있다.
도 2는 본 개시의 일 실시 예에 따른 인공 지능 서버를 나타낸다.
도 2를 참조하면, 인공 지능 서버(200)는 머신 러닝 알고리즘을 이용하여 인공 신경망을 학습시키거나 학습된 인공 신경망을 이용하는 장치를 의미할 수 있다. 여기서, AI 서버(200)는 복수의 서버들로 구성되어 분산 처리를 수행할 수도 있고, 5G 네트워크로 정의될 수 있다. 이때, AI 서버(200)는 AI 장치(100)의 일부의 구성으로 포함되어, AI 프로세싱 중 적어도 일부를 함께 수행할 수도 있다.
AI 서버(200)는 통신부(210), 메모리(230), 러닝 프로세서(240) 및 프로세서(260) 등을 포함할 수 있다.
통신부(210)는 AI 장치(100) 등의 외부 장치와 데이터를 송수신할 수 있다.
메모리(230)는 모델 저장부(231)를 포함할 수 있다. 모델 저장부(231)는 러닝 프로세서(240)을 통하여 학습 중인 또는 학습된 모델(또는 인공 신경망, 231a)을 저장할 수 있다.
러닝 프로세서(240)는 학습 데이터를 이용하여 인공 신경망(231a)을 학습시킬 수 있다. 학습 모델은 인공 신경망의 AI 서버(200)에 탑재된 상태에서 이용되거나, AI 장치(100) 등의 외부 장치에 탑재되어 이용될 수도 있다.
학습 모델은 하드웨어, 소프트웨어 또는 하드웨어와 소프트웨어의 조합으로 구현될 수 있다. 학습 모델의 일부 또는 전부가 소프트웨어로 구현되는 경우 학습 모델을 구성하는 하나 이상의 명령어(instruction)는 메모리(230)에 저장될 수 있다.
프로세서(260)는 학습 모델을 이용하여 새로운 입력 데이터에 대하여 결과 값을 추론하고, 추론한 결과 값에 기초한 응답이나 제어 명령을 생성할 수 있다.
도 3은 본 발명의 일 실시 예에 따른 인공 지능 장치의 동작 방법을 설명하기 위한 흐름도이다.
도 3을 참조하면, 인공 지능 장치(100)의 프로세서(180)는 학습용 제품 이미지로부터 학습용 데이터 세트를 획득한다(S301).
학습용 데이터 세트는 하나의 제품 이미지를 복수 개로 분할한 분할 이미지들을 포함할 수 있다.
학습용 데이터 세트를 획득하는 과정을 도 4를 참조하여 설명한다.
도 4는 본 발명의 일 실시 예에 따라 학습용 데이터 세트를 획득하는 과정을 설명하는 도면이다.
도 4를 참조하면, 고 해상도의 제품 이미지(400)가 도시되어 있다.
인공 지능 장치(100)의 입력부(120)는 비전 검사용 카메라(미도시)를 구비할 수 있고, 카메라를 통해 제품 이미지(400)를 촬영할 수 있다.
프로세서(180)는 촬영된 제품 이미지(400)를 복수 개로 분할하여 분할 이미지들을 획득할 수 있다.
프로세서(180)는 제품 이미지(400)를 기 설정된 모양을 갖는 박스 형태로 분할하여, 분할 이미지(401)를 획득할 수 있다.
프로세서(180)는 복수의 분할 이미지들을 유형을 구분하기 위한 학습용 데이터 세트로 구축할 수 있다.
다시 도 3을 설명한다.
인공 지능 장치(100)의 프로세서(180)는 획득된 학습용 데이터 세트를 이용하여 대조 학습(contrastive learning)을 통해 특징 추출 모델을 학습한다(S303).
특징 추출 모델은 학습용 데이터 세트에 포함된 복수의 분할 이미지들 각각의 특징을 추출하기 위한 인공 신경망 기반의 모델일 수 있다. 특징 추출 모델은 인공 지능 장치(100)의 메모리(170)에 저장되어 있을 수 있다.
특징 추출 모델은 복수의 분할 이미지들 각각의 특징 벡터를 추출할 수 있다.
특징 추출 모델은 메모리(170)에 저장되어 인공 지능 장치(100)의 러닝 프로세서(130) 또는 프로세서(180)에 의해 학습될 수 있다.
또 다른 예로, 특징 추출 모델은 AI 서버(200)로부터 수신될 수 있다. 이 경우, 인공 지능 장치(100)는 학습용 데이터 세트를 AI 서버(200)에 전송하고, AI 서버(200)의 러닝 프로세서(240) 또는 프로세서(260)에 의해 학습된 특징 추출 모델을 통신부(110)를 통해 수신할 수 있다.
프로세서(180)는 대조 학습(contrastive learning)을 통해 특징 추출 모델을 학습할 수 있다.
대조 학습은 동일한 유형(또는 클래스(Class))의 이미지에 대해서는 특징 벡터들의 거리가 가까워지도록(유사해지도록) 학습을 하고, 다른 유형(또는 클래스(Class))의 이미지에 대해서는 특징 벡터들의 거리가 멀어지도록 학습하는 것일 수 있다.
한편, 대조 학습은 동일한 이미지에 대해 서로 다른 augmentation을 가한 뒤, 두positive pair의 특징 벡터들의 거리가 가까워지도록(유사해지도록) 학습을 하고, 다른 이미지에 대해 서로 다른 augmentation을 가한 뒤, 두 negative pair의 특징 벡터들의 거리가 멀어지도록 학습하는 것일 수 있다.
러닝 프로세서(130)는 동일한 유형의 분할 이미지들의 특징 벡터들 간의 거리는 가깝게, 서로 다른 유형의 분할 이미지들의 특징 벡터들 간의 거리는 서로 멀어지도록 대조 학습을 이용하여 특징 추출 모델을 학습할 수 있다.
인공 지능 장치(100)의 러닝 프로세서(130)는 특징 추출 모델의 학습이 종료되었는지를 판단한다(S305).
러닝 프로세서(130)는 특징 추출 모델의 하이퍼 파라미터들에 대해 반복 학습을 진행할 수 있다.
인공 지능 장치(100)의 프로세서(180)는 학습이 종료된 특징 추출 모델을 이용하여 추출된 복수의 특징 벡터들을 복수의 유형들로 군집화하고(S307), 군집화된 복수의 유형들 각각을 세분화하여 복수의 세부 유형들을 획득한다(S309).
특징 추출 모델의 학습이 완료되면 동일한 유형 내의 분할 이미지들의 특징 벡터들은 비슷한 분포를 가지고, 서로 다른 유형 내의 분할 이미지들의 특징 벡터들은 서로 다른 분포를 가질 수 있다.
도 5는 본 발명의 실시 예에 따라 분할 이미지들이 대조 학습을 통해 분류된 상태를 설명하는 도면이고, 도 6은 본 발명의 일 실시 예에 따라 서로 다른 유형들을 군집화한 상태를 설명하는 도면이다.
도 5를 참조하면, 특징 벡터들의 분포를 나타내기 위한 특징 공간(500)이 도시되어 있다.
프로세서(180)는 특징 추출 모델을 통해 복수의 분할 이미지들(501 내지 505, 511, 531) 각각의 특징 벡터들을 추출할 수 있다.
제1 분할 이미지(501), 제2 분할 이미지(503), 제3 분할 이미지(505), 제4 분할 이미지(511), 제5 분할 이미지(531) 각각에 상응하는 특징 벡터들은 특징 공간(500) 상에 분포될 수 있다.
특징 추출 모델의 학습이 완료되면, 같은 유형(또는 클래스)인 제1 분할 이미지(501), 제2 분할 이미지(503) 및 제3 분할 이미지(505)들의 특징 벡터들은 비슷한 분포를 가지게 되고 다른 유형(또는 클래스)인 제4 분할 이미지(511)와 제5 분할 이미지(531)은 서로 다른 분포를 가지게 된다. 즉 유형(또는 클래스)별로 서로 다른 분포를 가지도록 학습이 된다.
프로세서(180)는 복수의 특징 벡터들을 거리(K-Means, K-평균 알고리즘 방식) 또는 밀도(DBSCAN 방식)에 따라 유형(또는 클래스)별로 군집화할 수 있다.
같은 유형 내에서도 서로 다른 패턴을 가지고 있기 때문에 특징 벡터 입력으로부터 K-평균 알고리즘 또는 DBSCAN 알고리즘을 통해 도 6과 같이 비슷한 패턴을 가진 세부 유형으로 군집화할 수 있다.
즉, 도 6을 참조하면, 제1 분할 이미지 그룹(610), 제2 분할 이미지 그룹(630) 및 제3 분할 이미지 그룹(650) 각각은 서로 다른 양품 유형으로 분류될 수 있다.
즉, 제1 분할 이미지 그룹(610)은 양품 A형으로, 제2 분할 이미지 그룹(630)은 양품 B형으로, 제3 분할 이미지 그룹(650)은 양품 C형으로, 각각 분류될 수 있다.
한편, 불량품도 상기 방법에 의해 세부 유형 별로 분류될 수 있다. 불량1 유형의 A형, B형, C형의 형식으로 각각 분류될 수 있다.
복수의 유형들은 복수의 양품 유형들 및 복수의 불량품 유형들을 포함할 수 있다.
각 양품 유형은 복수의 하위 양품 유형들을 포함하고, 각 불량품 유형은 복수의 하위 불량 유형들을 포함할 수 있다.
다시, 도 3을 설명한다.
인공 지능 장치(100)의 러닝 프로세서(130)는 복수의 특징 벡터들 각각과 복수의 세부 유형들 각각을 트레이닝 세트로 하여 제품 분류 모델을 학습한다(S311).
제품 분류 모델은 특징 벡터와 특징 벡터에 라벨링된 세부 유형을 트레이닝 세트로 하여 학습될 수 있다. 세부 유형은 복수의 양품 유형들 및 복수의 불량품들 중 어느 하나의 유형일 수 있다.
즉 러닝 프로세서(130)는 제품 이미지의 특징벡터를 라벨링된 세부 유형을 분류하는 모델을 지도 학습할 수 있다. 예를 들면, 분류 모델에서 흔히 사용되는 손실함수인 Cross Entropy Loss를 최소화하는 방향으로 학습할 수 있다.
기존의 방식에 따르면, 양품의 유형들 간의 형상 차이가 심해지는 경우, 양품임에도 불구하고, 이를 불량품으로 인식하는 경우가 발생된다.
그러나, 본 발명의 실시 예에 따르면, 양품에 속한 이미지의 형상 차이가 심한 경우도 양품으로 구분할 수 있어, 양품과 불량품을 구분하는 성능이 크게 향상될 수 있다.
도 7은 본 발명의 비전 검사를 통한 양품과 불량품을 판정하기 위한 학습 과정을 도식화한 도면이다.
먼저, 양품 데이터 그룹(OK data), 제1 불량품 데이터 그룹(NG1 data) 및 제2 불량품 데이터 그룹(NG2 data)은 대조 학습(Contrastive Learning)을 통해 추출된 특징 벡터로부터 복수의 유형들로 군집화(Clustering)될 수 있다.
양품 데이터 그룹(OK data), 제1 불량품 데이터 그룹(NG1 data) 및 제2 불량품 데이터 그룹(NG2 data)은 도 4에 도시된 바와 같이, 하나의 제품 이미지(400)로부터 얻어진 복수의 분할 이미지들일 수 있다.
양품 데이터 그룹(OK data)은 양품에 해당하는 분할 이미지들을 포함할 수 있다.
제1 불량품 데이터 그룹(NG1 data)은 제1 불량 유형에 해당하는 분할 이미지들을 포함할 수 있다.
제2 불량품 데이터 그룹(NG2 data)은 제2 불량 유형에 해당하는 분할 이미지들을 포함할 수 있다.
양품 데이터 그룹(OK data)에 포함된 분할 이미지들은 군집화 과정을 통해 양품 A형(OK_1), 양품 B형(OK_2) 및 양품 C형(OK_3)으로 분류될 수 있다.
제1 불량품 데이터 그룹(NG1 data)에 포함된 분할 이미지들은 군집화 과정을 통해 불량품 A-1형(NG1_1), 불량품 A-2형(NG1_2) 및 불량품 A-3형(NG1_3)으로 분류될 수 있다.
제2 불량품 데이터 그룹(NG2 data)에 포함된 분할 이미지들은 군집화 과정을 통해 불량품 B-1형(NG2_1), 불량품 B-2형(NG2_2) 및 불량품 B-3형(NG2_3)으로 분류될 수 있다.
제품 이미지의 특징벡터를 세부 유형을 분류하는 분류기(Classifier, 프로세서(180)에 포함됨)를 통해 새로 입력된 분할 이미지에 상응하는 세부 유형(복수의 양품 유형들 중 어느 하나 또는 복수의 불량품 유형들 중 어느 하나)을 결정할 수 있다.
도 8은 본 발명의 일 실시 예에 따라 제품 이미지로부터 양품 및 불량품을 판정하는 과정을 설명하는 흐름도이다.
인공 지능 장치(100)의 프로세서(180)는 제품 이미지로부터 복수의 분할 이미지들을 획득한다(S801).
프로세서(180)는 도 4에 도시된 바와 같이, 비전검사를 위한 카메라를 이용하여 제품 이미지를 촬영하고, 촬영된 제품 이미지로부터 복수의 분할 이미지들을 획득할 수 있다.
제품 이미지 당 분할 이미지의 개수는 기 설정된 개수이고, 각 분할 이미지의 크기는 서로 동일할 수 있다.
인공 지능 장치(100)의 프로세서(180)는 복수의 분할 이미지들 및 제품 분류 모델을 이용하여 각 분할 이미지의 세부 유형을 결정한다(S803).
프로세서(180)는 지도 학습을 통해 기 학습된 제품 분류 모델을 이용하여 각 분할 이미지에 대한 세부 유형을 추론할 수 있다.
프로세서(180)는 특징 추출 모델을 통해 분할 이미지의 특징 벡터를 추출하고, 추출된 특징 벡터를 제품 분류 모델에 입력하여, 특징 벡터에 상응하는 세부 유형을 결정할 수 있다.
세부 유형은 복수의 양품 유형들 중 어느 하나 또는 복수의 불량품 유형들 중 어느 하나일 수 있다.
인공 지능 장치(100)의 프로세서(180)는 결정된 세부 유형에 기초하여 제품의 양품 여부를 판정한다(S805).
프로세서(180)는 복수의 분할 이미지들에 상응하는 복수의 세부 유형들 중 어느 하나가 불량 유형으로 결정된 경우, 해당 제품 이미지에 상응하는 제품을 불량품으로 결정할 수 있다.
프로세서(180)는 복수의 분할 이미지들에 상응하는 복수의 세부 유형들 모두가 양품 유형으로 결정된 경우, 해당 제품 이미지에 상응하는 제품을 양품으로 결정할 수 있다.
프로세서(180)는 제품의 양품 여부에 대한 판정 결과를 출력부(150)를 통해 출력할 수 있다.
본 발명의 일 실시예에 의하면, 전술한 방법은, 프로그램이 기록된 매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다.

Claims (7)

  1. 인공 지능 장치에 있어서,
    제품에 상응하는 제품 이미지를 구성하는 복수의 분할 이미지들 각각으로부터 양품 또는 불량품에 대한 세부 유형을 결정하는 제품 분류 모델을 저장하는 메모리; 및
    각 분할 이미지의 특징 벡터를 추출하고, 상기 제품 분류 모델을 이용하여 상기 세부 유형이 복수의 불량품 유형들 중 어느 하나에 속하는 경우, 상기 제품을 불량품으로 판정하는 프로세서를 포함하는
    인공 지능 장치.
  2. 제1에 있어서,
    상기 프로세서는
    학습용 제품 이미지로부터 복수의 학습용 분할 이미지들을 획득하고, 상기 메모리에 저장된 특징 추출 모델을 이용하여 상기 복수의 학습용 분할 이미지들의 특징 벡터들을 추출하고, 추출된 특징 벡터들을 복수의 유형들로 군집화하는
    인공 지능 장치.
  3. 제2에 있어서,
    상기 프로세서는
    대조 학습(Contrastive learning)을 통해 동일한 유형의 학습용 분할 이미지들의 특징 벡터들 간의 거리는 가깝게, 서로 다른 유형의 학습용 분할 이미지들의 특징 벡터들 간의 거리는 서로 멀어지도록 특징 벡터들을 학습하여 유형별로 복수의 세부 유형들로 군집화하는
    인공 지능 장치.
  4. 제3에 있어서,
    상기 프로세서는
    상기 복수의 유형들을 복수의 세부 유형들로 분류하고,
    상기 복수의 세부 유형들은 복수의 양품 유형들 및 상기 복수의 불량품 유형들을 포함하는
    인공 지능 장치.
  5. 제4에 있어서,
    상기 프로세서는
    상기 특징 벡터와 상기 특징 벡터에 라벨링된 세부 유형을 트레이닝 세트로 하여 상기 제품 분류 모델을 지도 학습하는
    인공 지능 장치.
  6. 인공 지능 장치의 동작 방법에 있어서,
    제품에 상응하는 제품 이미지를 구성하는 복수의 분할 이미지들 각각으로부터 양품 또는 불량품에 대한 세부 유형을 결정하는 제품 분류 모델을 저장하는 단계;
    각 분할 이미지의 특징 벡터를 추출하는 단계; 및
    상기 제품 분류 모델을 이용하여 상기 세부 유형이 복수의 불량품 유형들 중 어느 하나에 속하는 경우, 상기 제품을 불량품으로 판정하는 단계를 포함하는
    인공 지능 장치의 동작 방법.
  7. 인공 지능 장치의 동작 방법을 실행하기 위한 컴퓨터로 읽을 수 있는 프로그램이 저장된 기록매체에 있어서,
    상기 동작 방법은
    제품에 상응하는 제품 이미지를 구성하는 복수의 분할 이미지들 각각으로부터 양품 또는 불량품에 대한 세부 유형을 결정하는 제품 분류 모델을 저장하는 단계;
    각 분할 이미지의 특징 벡터를 추출하는 단계; 및
    상기 제품 분류 모델을 이용하여 상기 세부 유형이 복수의 불량품 유형들 중 어느 하나에 속하는 경우, 상기 제품을 불량품으로 판정하는 단계를 포함하는
    기록 매체.
KR1020220005796A 2022-01-14 2022-01-14 제품 이미지 패턴 군집화를 기반한 비전검사 인공지능 장치 및 그 방법 KR20230109937A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220005796A KR20230109937A (ko) 2022-01-14 2022-01-14 제품 이미지 패턴 군집화를 기반한 비전검사 인공지능 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220005796A KR20230109937A (ko) 2022-01-14 2022-01-14 제품 이미지 패턴 군집화를 기반한 비전검사 인공지능 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20230109937A true KR20230109937A (ko) 2023-07-21

Family

ID=87430081

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220005796A KR20230109937A (ko) 2022-01-14 2022-01-14 제품 이미지 패턴 군집화를 기반한 비전검사 인공지능 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20230109937A (ko)

Similar Documents

Publication Publication Date Title
US11216694B2 (en) Method and apparatus for recognizing object
US11449733B2 (en) Neural network learning method and device for recognizing class
US10438068B2 (en) Adapting to appearance variations of a target object when tracking the target object in a video sequence
EP3673417B1 (en) System and method for distributive training and weight distribution in a neural network
JP2023156308A (ja) ネットワーク計算エッジにわたってアプリケーションを連続して操作する、人工知能および深層学習においてメモリで境界された継続学習を可能にするシステムおよび方法
US20210133932A1 (en) Color restoration method and apparatus
US20180268292A1 (en) Learning efficient object detection models with knowledge distillation
KR20190094133A (ko) 객체를 인식하는 인공 지능 장치 및 그 방법
US11651214B2 (en) Multimodal data learning method and device
US11825278B2 (en) Device and method for auto audio and video focusing
US11710036B2 (en) Artificial intelligence server
US20190228294A1 (en) Method and system for processing neural network model using plurality of electronic devices
De Rosa et al. Online open world recognition
KR20220024579A (ko) 인공지능 서버
Pavel et al. Object class segmentation of RGB-D video using recurrent convolutional neural networks
US11769047B2 (en) Artificial intelligence apparatus using a plurality of output layers and method for same
US20230419170A1 (en) System and method for efficient machine learning
KR20190094134A (ko) 인공지능을 이용한 사물 인식 학습에서 아웃라이어를 분류하는 방법 및 분류장치와 로봇
US10917721B1 (en) Device and method of performing automatic audio focusing on multiple objects
US20230410465A1 (en) Real time salient object detection in images and videos
WO2021085785A1 (en) Electronic apparatus and method for controlling thereof
KR20230109937A (ko) 제품 이미지 패턴 군집화를 기반한 비전검사 인공지능 장치 및 그 방법
US20210110158A1 (en) Method and apparatus for estimating location in a store based on recognition of product in image
US20240160929A1 (en) Device for training and managing a visual scene graph model and control method thereof
KR20230138335A (ko) 제품 이미지를 기반으로 불량 제품을 감지하는 인공 지능 장치 및 그 방법