KR102621884B1 - 상품불량 선별을 위한 딥러닝 기반의 이미지 분석 방법 및 이를 위한 시스템 - Google Patents

상품불량 선별을 위한 딥러닝 기반의 이미지 분석 방법 및 이를 위한 시스템 Download PDF

Info

Publication number
KR102621884B1
KR102621884B1 KR1020200162053A KR20200162053A KR102621884B1 KR 102621884 B1 KR102621884 B1 KR 102621884B1 KR 1020200162053 A KR1020200162053 A KR 1020200162053A KR 20200162053 A KR20200162053 A KR 20200162053A KR 102621884 B1 KR102621884 B1 KR 102621884B1
Authority
KR
South Korea
Prior art keywords
defective
cropped
image
area
areas
Prior art date
Application number
KR1020200162053A
Other languages
English (en)
Other versions
KR20220074021A (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 KR1020200162053A priority Critical patent/KR102621884B1/ko
Publication of KR20220074021A publication Critical patent/KR20220074021A/ko
Application granted granted Critical
Publication of KR102621884B1 publication Critical patent/KR102621884B1/ko

Links

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
    • G06T7/001Industrial image inspection using an image reference approach
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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]
    • 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/20112Image segmentation details
    • G06T2207/20132Image cropping
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

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

Abstract

본 발명은 이미지 분석 방법 및 이를 위한 시스템에 관한 것으로, 더 구체적으로는 상품의 불량 여부를 딥러닝 기술에 기반한 이미지 분석을 이용하여 선별하는 방법 및 시스템에 관한 것이다.

Description

상품불량 선별을 위한 딥러닝 기반의 이미지 분석 방법 및 이를 위한 시스템{DEEP LEARNING-BASED IMAGE ANALYSIS METHOD FOR SELECTING DEFECTIVE PRODUCTS AND A SYSTEM THEREFOR}
본 발명은 이미지 분석 방법 및 이를 위한 시스템에 관한 것으로, 더 구체적으로는 상품의 불량 여부를 딥러닝 기술에 기반한 이미지 분석을 이용하여 선별하는 방법 및 시스템에 관한 것이다.
최근 IoT 기술의 발전 및 인프라 확충에 따라 스마트 팩토리에 대한 인식 및 수요가 증가하고 있었으며, 또한 코로나 시대를 맞이하면서는 제품 생산 현장에서의 스마트 팩토리 전환에 대한 요구가 더욱더 증가하고 있다. 이에 따라, 브랜드 이미지 제고와 제품의 고객 클레임으로 인한 기업 가치 손실을 방지하기 위한 빠르고 효과적인 품질 향상 방법론의 필요성이 대두되고 있다.
한편, 종래 팩토리 운영은 인력을 위주로 이루어져 왔으며, 생산성을 높이기 위해서는 인력을 더 모집하여 투입하는 것이 일반적이었다. 그러나 다품종·소량생산 방식으로 변해가는 산업 발전 추세에서는 단순히 추가 인력을 투입하는 것만으로는 효과적인 해결책이 될 수 없으며, 오히려 단순 인력 투입은 과도한 비용으로 이어져 팩토리 운영의 효율성을 떨어트리는 문제를 야기할 수도 있다. 이러한 문제점을 극복하기 위해 상품 생산 과정에서 부가적으로 발생하는 상품 이미지와 같은 비정형 데이터를 활용하여 유의미한 정보를 자동적으로 추출하고, 나아가 별도의 공수 없이 최종 불량 여부를 자동으로 선별해낼 수 있는 기술에 대한 수요가 증가하고 있다.
다른 한편, 종래 팩토리에서의 문제점을 상품불량 선별 측면에서 살펴볼 때, 종래 팩토리에서는 공정 라인에서 생산된 각 상품들을 수작업으로 확인하여 왔는데, 이렇게 불량품을 선별한 뒤 걸러내는 방식은 현실적으로 사람의 수동적인 작업에 의지할 수 밖에 없어 불량품 선별 작업의 정확성, 신속성, 효율성 등에서 일정 수준 이상을 넘지 못하는 한계가 있었다. 이러한 한계를 극복하고자 많은 팩토리 운영 주체들은 머신 비전 시스템을 도입하여 상품의 면적을 측정하거나, 불량의 위치를 탐색하는 등의 새로운 상품불량 선별 방식을 모색하였으나, 전자의 경우 선별자의 주관적인 기준이 개입하여 동일한 품질을 보장하기 어려운 문제(예. 상품의 포장지가 약간 찢어져 있을 때 '약간'의 기준이 사람마다 달라 양품/불량품에 대한 기준이 달라지는 문제; 소위 결정 경계가 상이한 문제), 후자의 경우 지극히 제약적인 상황에서만 활용 가능한 방식이라는 문제(예. '두부'나 '우동 면'과 같은 식품군은 생산 중 상품과 불량의 형태가 다양하여 단순 룰 기반으로 하는 전통적인 머신 비전으로는 불량품 선별이 어려운 문제)가 새로이 발생하였다.
본 발명은 이와 같은 문제점에 착안하여 제안된 것으로, 인공지능 알고리즘 및 딥러닝 기술에 기반한 이미지 분석을 활용하여 상품의 불량 여부를 빠르고 정확하게 판단할 수 있게 방법, 그리고 시스템에 관한 것이다. 또한, 본 발명은 위의 기술적 문제점을 해소시키는 것 외에도 본 기술분야에서 통상의 지식을 가진 자가 용이하게 발명할 수 없는 추가적인 기술요소들을 제공하기 위해 발명되었다.
대한민국 공개특허 제10-2020-0103150호(2020.09.02. 공개)
본 발명은 인공지능 알고리즘 및 딥러닝 기반의 이미지 분석을 통해 상품불량 선별이 보다 정확하고 신속하게 이루어질 수 있게 하는 것을 목적으로 한다.
또한 본 발명은 인공지능 알고리즘의 딥러닝을 위한 학습용 데이터들을 증강(augmentation)시킴으로써 상품불량 능력을 향상시키는 것을 목적으로 한다.
또한 본 발명은 학습용 데이터의 증강 방식, 인공지능 알고리즘의 학습 방식, 상품불량 선별 방식 등이 상품 이미지의 해상도에 따라 달리 적용되게 함으로써 상황에 맞는 상품불량 선별 작업이 수행될 수 있게 하는 것을 목적으로 한다.
한편, 본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명은 위와 같은 문제점을 해결하기 위한 것으로, 본 발명에 따른 상품불량 선별을 위한 인공지능 알고리즘의 학습용 데이터를 생성하는 방법은, 샘플 이미지로부터 불량영역을 식별하는 단계; 상기 샘플 이미지로부터 상기 불량영역을 포함하는 임의의 영역을 크로핑(cropping)하는 단계; 및 상기 크로핑 된 영역을 기초로 학습용 데이터를 생성하는 단계;를 포함할 수 있다.
또한, 상기 학습용 데이터를 생성하는 방법은 상기 크로핑 하는 단계 이후, 크로핑 된 영역 중 적어도 일부 영역을 이미지 변형하는 단계;를 더 포함할 수 있다.
또한, 상기 학습용 데이터를 생성하는 방법에 있어서 상기 크로핑하는 단계 이후에는, 상기 크로핑 된 영역 내에 포함되어 있는 불량영역에 관한 적어도 하나 이상의 레이블 정보들을 획득하는 단계;를 더 포함하고, 상기 학습용 데이터를 생성하는 단계는, 상기 크로핑 된 영역 및 상기 레이블 정보들을 기초로 학습용 데이터를 생성하는 것을 특징으로 할 수 있다.
또한, 상기 학습용 데이터를 생성하는 방법에 있어서, 상기 크로핑 하는 단계는, 상기 샘플 이미지 내 불량영역을 포함하는 임의의 영역들을 적어도 2 이상 크로핑 하는 단계이고, 각 영역들 내에서의 불량영역 위치는 모두 상이한 것을 특징으로 할 수 있다.
한편 본 발명의 또 다른 실시예에 따른 상품불량 선별을 위한 인공지능 알고리즘의 학습용 데이터를 생성하는 방법은, 임의로 선택된 상품 이미지 및 임의로 선택된 불량형상 이미지를 합성하는 단계; 합성된 이미지를 기초로 학습용 데이터를 생성하는 단계;를 포함할 수 있다.
또한, 상기 학습용 데이터를 생성하는 방법에 있어서, 상기 상품 이미지는, 저장되어 있는 복수 개의 상품 이미지들 중 어느 하나의 상품 이미지인 것을 특징으로 할 수 있으며, 상기 불량형상 이미지는, 복수 개의 불량상품 이미지들로부터 추출되어 저장된 복수 개의 불량형상 이미지들 중 어느 하나의 불량형상 이미지인 것을 특징으로 할 수 있다.
또한, 상기 학습용 데이터를 생성하는 방법에 있어서, 상기 상품 이미지 및 불량형상 이미지를 합성하는 단계는, 상기 상품 이미지 또는 불량형상 이미지 중 적어도 하나를 이미지 처리하는 단계;를 포함할 수 있다.
또한, 상기 학습용 데이터를 생성하는 방법에 있어서, 상기 상품 이미지 상에 상기 불량형상 이미지를 합성하는 단계 이후, 상기 합성된 이미지 내에 포함되어 있는 불량형상 이미지에 관한 적어도 하나 이상의 레이블 정보들을 획득하는 단계;를 더 포함하고, 상기 학습용 데이터를 생성하는 단계는, 상기 합성된 이미지 및 상기 레이블 정보들을 기초로 학습용 데이터를 생성하는 것을 특징으로 할 수 있다.
한편, 본 발명의 또 다른 실시예에 따른 상품불량 선별을 위한 인공지능 알고리즘의 학습 방법은, 기 생성된 학습용 데이터가 인공지능 알고리즘에 입력되는 단계; 상기 학습용 데이터에 포함된 불량영역이 크로핑 되는 단계; 및 상기 크로핑 된 불량영역 및 상기 학습용 데이터의 레이블링 정보를 참조하여 크롭 영역 기반 학습(Crop based training)을 수행하는 단계;를 포함할 수 있다.
또한, 상기 인공지능 알고리즘 학습 방법에 있어서, 상기 학습용 데이터는 4000 X 4000 pixel 이상의 고해상도 이미지인 것을 특징으로 할 수 있다.
한편, 본 발명의 또 다른 실시예에 따른 상품불량 선별을 위한 인공지능 알고리즘의 학습 방법은, 기 생성된 학습용 데이터가 인공지능 알고리즘에 입력되는 단계; 상기 학습용 데이터에 포함된 상품영역이 크로핑 되는 단계; 및 상기 크로핑 된 상품영역 및 상기 학습용 데이터의 레이블링 정보를 참조하여 전체 이미지 기반 학습(Full image based training)을 수행하는 단계;를 포함할 수 있다.
한편, 본 발명의 또 다른 실시예에 따른 상품불량을 선별하기 위한 인공지능 알고리즘을 이용하여 이미지를 분석하는 방법은, 임의의 검사대상 이미지를 입력 받는 단계; 및 상기 인공지능 알고리즘을 이용하여 상기 검사대상 이미지로부터 불량후보를 탐색하는 단계; 를 포함할 수 있다.
또한, 상기 상품불량을 선별하기 위한 인공지능 알고리즘을 이용하여 이미지를 분석하는 방법은 상기 탐색하는 단계 이후, 탐색된 불량후보의 위치정보를 획득하는 단계; 상기 획득된 위치정보를 시각화 하는 단계; 를 더 포함할 수 있다.
또한, 상기 상품불량을 선별하기 위한 인공지능 알고리즘을 이용하여 이미지를 분석하는 방법에 있어서, 결정트리 알고리즘을 이용하여 상기 탐색된 불량후보에 대해 최종 불량여부를 판단하는 단계; 를 더 포함하는 것을 특징으로 할 수 있다.
본 발명에 따르면 종래 팩토리에 비하여 상품불량 선별 작업이 정확하고 신속하게 이루어질 수 있게 되는 효과가 있다.
또한 본 발명에 따르면 학습용 데이터를 대량으로 증강시킬 수 있으므로 그만큼 인공지능 알고리즘의 성능을 높일 수 있고, 이에 따라 상품불량 선별 성능도 함께 높일 수 있는 효과가 있다.
또한 본 발명에 따르면 초고해상도, 일반해상도 등과 같이 상품 이미지가 가지는 해상도에 따라 이미지 분석 방법을 달리 적용할 수 있게 되므로 보다 효율적인 상품불량 선별이 가능하게 되는 효과가 있다.
한편, 본 발명에 의한 효과는 이상에서 언급한 것들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따라 상품불량을 선별하기 위한 인공지능 알고리즘을 이용하여 이미지를 분석하는 방법의 전체 과정을 도시한 것이다.
도 2는 인공지능 알고리즘의 딥러닝에 필요한 학습용 데이터를 준비하는 과정, 및 인공지능 알고리즘의 학습 과정을 개념적으로 도시한 것이다.
도 3은 임의의 검사대상 이미지기 입력되었을 때 인공지능 알고리즘에 의해 불량후보가 탐색된 모습을 도시한 것이다.
도 4는 도 3에서의 이미지 분석 방법 중 특히 학습용 데이터를 생성하는 방법의 제1 실시예를 도시한 것이다.
도 5는 이미지 정렬 단계를 설명하기 위한 도면이다.
도 6은 샘플 이미지 내에서 불량영역이 포함된 임의의 영역들을 크로핑(cropping)하는 단계를 설명하기 위한 도면이다.
도 7은 도 3에서의 이미지 분석 방법 중 특히 학습용 데이터를 생성하는 방법의 제2 실시예를 도시한 것이다.
도 8은 임의로 선택된 상품 이미지 및 임의로 선택된 불량형상 이미지를 합성하는 단계를 설명하기 위한 도면이다.
도 9는 레이블링 정보를 획득하는 과정을 설명하기 위한 도면이다.
도 10은 기 설정값 이상의 해상도를 가지는 소위 초고해상도 학습용 데이터를 기초로 인공지능 알고리즘이 학습하는 과정을 도시한 것이다.
도 11은 기 설정값 미만의 해성도를 가지는 소위 일반해상도 학습용 데이터를 기초로 인공지능 알고리즘이 학습하는 과정을 도시한 것이다.
도 12는 실제 상품불량 선별을 위한 이미지 분석 과정을 도시한 것이다.
본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하의 상세한 설명에 의해 보다 명확하게 이해될 것이다. 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.
본 명세서에서 개시되는 실시예들은 본 발명의 범위를 한정하는 것으로 해석되거나 이용되지 않아야 할 것이다. 이 분야의 통상의 기술자에게 본 명세서의 실시예를 포함한 설명은 다양한 응용을 갖는다는 것이 당연하다. 따라서, 본 발명의 상세한 설명에 기재된 임의의 실시예들은 본 발명을 보다 잘 설명하기 위한 예시적인 것이며 본 발명의 범위가 실시예들로 한정되는 것을 의도하지 않는다.
도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한, 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록들 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성들의 조합일 수 있다.
또한, 어떤 구성요소들을 포함한다는 표현은 “개방형”의 표현으로서 해당 구성요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성요소들을 배제하는 것으로 이해되어서는 안 된다.
나아가 어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급될 때에는, 그 다른 구성요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 한다.
본 발명은 상품불량 선별을 위한 딥러닝 기반의 이미지 분석 방법 및 이를 위한 시스템에 관한 것으로, 도 1 내지 도 3에는 본 발명의 전체 과정을 개념적으로 이해하기 위한 도면들이 도시되어 있다.
도 1에 따를 때, 본 발명에 따른 인공지능 알고리즘을 이용하여 이미지를 분석하는 방법은 크게 3 단계로 나뉠 수 있는데, 구체적으로는 학습용 데이터를 생성하는 단계(S10), 인공지능 알고리즘의 학습 단계(S20), 그리고 상품불량 선별 단계(S30)로 나뉠 수 있다. 이 중 학습용 데이터 생성 단계(S10)와 인공지능 알고리즘 학습 단계(S20)는 도 2에, 그리고 상품불량 선별 단계(S30)는 도 3에 각각 개념을 이해하기 위한 도면이 도시되어 있다.
먼저 도 2를 참고할 때, 본 발명은 인공지능 알고리즘으로 하여금 충분한 양의 학습용 데이터를 기반으로 딥러닝을 할 수 있게 하기 위하여 복수 개의 학습용 데이터를 생성, 또는 증강하는 단계를 포함할 수 있다. 앞서에서도 언급하였듯 본 단계는 상품 상에 발생할 수 있는 불량의 유형을 다양화 한 학습용 데이터를 임의로 생성해 내기 위한 단계로, 일반적으로 팩토리 내에서 생산되는 상품들은 불량률이 낮아 인공지능 알고리즘이 학습할 수 있을 만한 정도의 데이터를 수집하기가 어려운 점, 특히 다양한 불량 유형들에 대한 데이터를 수집하기가 어려운 점이 있어 이미지 처리 기술을 이용해 임의로 다양한 불량 유형의 학습용 데이터를 대량으로 생성하는 단계로 이해될 수 있다. 본 상세한 설명에서는 이러한 취지의 S10 단계를 학습용 데이터 생성 단계라고 지칭하고 있으나, 또 다른 용어로는 학습용 데이터 증강(augmentation) 단계라 할 수도 있다.
다시 도 2를 참고할 때, 도 2의 좌측에는 학습용 데이터 생성(증강)을 위해 입력되는 이미지들이 도시되어 있는데, 이 중에는 불량영역(150)이 포함되어 있는 샘플 이미지(100), 상품 이미지(200), 또는 불량형상 이미지(250)가 포함될 수 있다. 뒤에서 더 자세히 설명하겠지만, 샘플 이미지(100)는, 상기 샘플 이미지(100)가 기준값 이상의 픽셀값을 가지는 고해상도(초고해상도) 이미지일 때 크로핑(cropping) 기술을 활용하여 복수 개의 학습용 데이터를 생성해 내는 데에 활용되는 것이며, 상품 이미지(200) 및 불량형상 이미지(250)들은 픽셀값에 관계 없이 두 이미지의 합성을 통해 다양한 유형의 불량 형상을 가지는 학습용 데이터를 생성해 내는 데에 활용되는 것들이다.
한편, 다시 도 2를 참고할 때, 학습용 데이터들이 복수 개 생성된 이후에는 이들 학습용 데이터를 이용한 인공지능 알고리즘 학습, 즉 딥러닝이 이루어질 수 있는데, 이 과정 역시 해상도에 따라 크롭 영역 기반 학습(Crop based training) 또는 전체 이미지 기반 학습(Full image based training), 이렇게 두 가지로 진행될 수 있다.
다음으로 도 3은 상품불량을 선별하는 단계(S30)를 이해하기 위한 도면으로, 본 단계에서는 검사의 대상이 되는 이미지들, 즉 검사대상 이미지(300)가 인공지능 알고리즘에 입력되고, 학습된 상태의 인공지능 알고리즘이 실행되어 최종적으로 탐색된 불량후보(350), 또는 불량후보(350)의 위치, 불량후보(350)가 실제 불량일 확률 등의 정보를 출력으로 내는 실시예를 도시한 것이다. 쉬운 예로, 두부 상품을 촬영한 이미지(검사대상 이미지)가 컴퓨팅 장치에 입력되면, 컴퓨팅 장치에 의해 실행되는 인공지능 알고리즘이 위 두부 이미지에 대한 상품불량 선별 작업을 수행하게 되며, 수행 결과 상기 두부 이미지 내에 어느 영역이 불량후보에 해당하는지, 탐색된 불량후보가 실제 불량일 가능성은 얼마나 되는지, 불량후보의 이미지 내 위치(좌표)는 어디인지 등이 화면을 통해 보여질 수 있다.
이상 도 1 내지 도 3을 참고하여 본 발명에 따른 이미지 분석 방법의 개요에 대해 살펴 보았다. 이하에서는 각 단계들에 대해 도면을 참고하여 더 자세히 알아보기로 한다.
참고로 본 상세한 설명에서 언급되는 단계들은 중앙처리유닛 및 메모리를 갖춘 컴퓨팅 장치에 의해 실행되는 것을 전제로 한다. 이 때 중앙처리유닛은 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 불릴 수 있다. 또한 중앙처리유닛은 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있는데, 하드웨어를 이용하여 구현하는 경우에는 ASIC(application specific integrated circuit) 또는 DSP(digital signal processor), DSPD(digital signal processing device), PLD(programmable logic device), FPGA(field programmable gate array) 등으로, 펌웨어나 소프트웨어를 이용하여 구현하는 경우에는 위와 같은 기능 또는 동작들을 수행하는 모듈, 절차 또는 함수 등을 포함하도록 펌웨어나 소프트웨어가 구성될 수 있다. 또한, 메모리는 ROM(Read Only Memory), RAM(Random Access Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래쉬(flash) 메모리, SRAM(Static RAM), HDD(Hard Disk Drive), SSD(Solid State Drive) 등으로 구현될 수 있다.
또한, 본 상세한 설명에서 언급되는 인공지능 알고리즘이란 뉴럴 네트워크라는 프레임워크 상에서 일련의 연산과정을 수행할 수 있는 것으로, 여기서 뉴럴 네트워크는 생물학적인 뉴런의 기능을 단순화 시킨 인공 뉴런들이 이용되고, 인공 뉴런들은 연결 가중치(connection weight)를 가지는 연결선을 통해 상호 연결되는 환경을 의미할 수 있다. 상기 뉴럴 네트워크는 복수 개의 층들을 포함할 수 있으며, 예를 들어 입력층(input layer), 은닉층(hidden layer), 출력층(output layer)을 포함할 수 있다. 입력층은 학습을 수행하기 위한 입력을 수신하여 은닉층에 전달할 수 있고, 출력층은 은닉층의 노드들로부터 수신한 신호에 기초하여 출력을 생성할 수 있다. 은닉층은 입력층과 출력층 사이에 위치하고, 입력층을 통해 전달된 학습 데이터를 예측하기 쉬운 값으로 변화 시킬수 있다. 입력층과 은닉층에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결되고, 은닉 층과 출력 층에 포함된 노드들에서도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 입력층, 은닉층 및 출력층은 복수의 노드들을 포함할 수 있다. 한편, 상기 뉴럴 네트워크는 복수의 은닉층들을 포함할 수 있는데, 이러한 것을 딥 뉴럴 네트워크라 하고, 이러한 뉴럴 네트워크를 학습시키는 것을 딥 러닝이라 한다. 본 상세한 설명에서 언급되는 인공지능 알고리즘이란 바로 이와 같은 뉴럴 네트워크 환경에서 딥 러닝이 가능한 알고리즘 모델인 것으로 이해될 수 있다.
도 4는 전체 이미지 분석 방법 중 학습용 데이터를 생성하는 방법의 제1 실시예를 도시한 것이다. 제1 실시예는 쉽게 말해 크로핑(cropping) 기술을 활용하여 하나의 샘플 이미지(100)로부터 복수 개의 학습용 데이터를 생성하기 위한 것이다. 도 4를 참고할 때, 제1 실시예에 따른 학습용 데이터 생성 방법은 가장 먼저 샘플 이미지 또는 샘플 이미지 내 상품영역을 정렬(align)하는 단계(S101)로부터 시작될 수 있다. 상품이 가지런하게 정렬이 되어 있는 상태에서 촬영된 샘플 이미지라면 굳이 본 단계가 수행될 필요가 없겠으나, 일부 촬영 대상이 되는 상품이 카메라 화각 내에서 비뚤어지게 놓여지는 경우가 존재할 때에는 본 단계가 수행될 수 있다. 본 단계는 머신 비전 기술 또는 더 포괄적 의미에서는 이미지 처리 기술이 활용될 수 있으며, 예를 들어 샘플 이미지 자체를 로테이트 및/또는 쉬프트 시킴으로써 정렬하는 방식, 또는 샘플 이미지 내 상품영역만을 크로핑 한 후 크로핑 된 상품영역만 로테이트 및/또는 쉬프트 시킴으로써 정렬하는 방식이 존재할 수 있다.
도 5에는 우동면을 촬영한 이미지(샘플 이미지)들의 정렬 과정이 도시되어 있는데, (a)에는 샘플 이미지 내 상품들이 제대로 정렬되어 있지 않은 상태의 모습이 도시되어 있으며, (b)에는 샘플 이미지 내 상품영역만을 식별 및 크로핑하는 과정이, 그리고 (c)에는 크로핑 된 상품영역이 로테이트 및 쉬프트 되어 각 이미지 프레임의 중심에 정렬된 모습이 도시되어 있다. 참고로, 샘플 이미지 내 상품영역만을 식별하는 과정 및 크로핑 과정은 정해진 알고리즘에 의해 실행될 수 있으며, 그 알고리즘은 예를 들어 상품영역을 결정하기 위해 샘플 이미지 내에서 복수 개의 꼭지점들을 정의하는 과정, 꼭지점들을 이었을 때 형성되는 상품영역을 결정하는 과정, 그리고 그 상품영역을 크로핑하는 과정 등이 실행되도록 하는 명령어들을 포함할 수 있다.
한편, 이미지 정렬 단계가 수행된 후에는 해당 샘플 이미지 내로부터 불량영역을 식별하는 단계(S102)가 수행될 수 있다. 본 단계는, 샘플 이미지 내에서 픽셀값들의 분석을 통해 자동으로 기 설정 범위를 벗어난 픽셀들을 포함한 불량영역을 찾아내도록 고안된 알고리즘을 통한 방식으로 실행될 수 있거나, 또는 상기 샘플 이미지 상에서 사용자가 임의로 선택입력 한 것을 수신(이 때 상기 사용자에 의해 입력된 불량영역 관련 레이블링 정보도 함께 수신될 수 있음)하는 방식으로 실행될 수 있다. 즉, 본 단계는 정해진 알고리즘에 따라 샘플 이미지 내에서 자동으로 불량영역을 식별하는 방식, 또는 사용자에 의해 선택입력된 영역을 불량영역으로 식별하는 방식 등으로 이루어질 수 있다.
샘플 이미지로부터 불량영역이 식별된 후에는, 상기 불량영역을 포함하는 적어도 1개 이상의 임의 영역을 크로핑 하는 단계(S103)가 수행될 수 있다. 본 단계를 도 6을 참고하여 설명하면, 도 6의 우동면 상품 이미지(100; 샘플 이미지) 내에는 식별된 불량영역이 좌측 상단에 존재할 수 있으며, S103 단계에서는 위 불량영역(150)을 포함하는 4개의 영역들(111, 112, 113, 114)이 크로핑 될 수 있다. 도 6에서의 각 4개 영역들은 모두 불량영역을 포함하고 있으나, 각 영역 내에서의 불량영역이 위치하는 좌표는 모두 상이함을 알 수 있다. 즉, 본 단계에서는 하나의 불량영역을 기준으로 여러 개의 학습용 데이터를 생성해 내기 위해 복수 개의 영역들을 크로핑 하되, 이 때 크로핑 된 각 영역 내에서는 불량영역이 서로 다른 위치에 배치되게 함으로써 여러 개의 학습용 데이터를 만들어 내는 것을 하나의 특징으로 한다.
S103단계 이후에는 상기 크로핑 된 영역 내 포함되어 있는 불량영역에 관한 적어도 하나 이상의 레이블 정보들을 획득하는 단계(S104)가 수행될 수 있다. 레이블 정보란, 향후 인공지능 알고리즘이 지도학습을 할 수 있게 하는 정보로, 본 단계에서의 레이블 정보에는 예를 들어, 크로핑 된 이미지의 x축 최소값, 크로핑 된 이미지의 y축 최소값, 사용자에 의해 입력된 레이블링 된 불량영역의 x축 최소값, 사용자에 의해 입력된 레이블링 된 불량영역의 y축 최소값 등의 4가지 정보가 포함될 수 있다. 참고로, 레이블 정보에는 앞서 언급된 것들 외에 더 다양한 파라미터들이 존재할 수 있으며, 레이블 정보에는 상기 크로핑 된 이미지 내 불량영역을 특정할 수 있는 파라미터에 해당한다면 어느 것이라도 포함될 수 있음을 이해해야 할 것이다.
S104단계 이후에는 상기 크로핑 된 영역을 기초로 학습용 데이터를 생성하는 단계(S105)가 수행될 수 있다. 본 단계는 앞서 크로핑 된 영역을 인공지능 알고리즘으로 입력시키기에 적합한 포맷으로 변환하는 과정 또는 상기 S104단계에서 획득된 레이블 정보들을 태깅하는 과정 등이 포함될 수 있다.
한편, 제1 실시예에 따른 학습용 데이터 생성 방법에는, 상기 샘플 이미지로부터 임의 영역이 크로핑 된 이후, 크로핑 된 영역 중 적어도 일부를 이미지 변형하는 단계가 더 포함될 수 있다. 본 단계는 도 4에 도시되어 있지 않으나, 필요에 따라 크로핑 된 영역에 대해 이미지 처리를 하여야 하는 경우가 존재할 수 있으며, 또는 크로핑 된 영역 내 불량영역에 대해 추가적인 이미지 처리 과정을 더함으로써 크로핑 된 영역으로부터 파생된 또 다른 불량유형 이미지를 얻는 효과를 꾀할 수 있다. 예를 들어, 도 6에는 4개의 크로핑 된 영역들(111, 112, 113, 114)이 존재하는데, 이 중 제1 크로핑 영역(111) 내 불량영역만을 별도로 식별 및 추출한 후 그 불량영역의 형상을 변형시켜 다시 합성하는 방식으로 새로운 불량유형 이미지를 얻을 수 있다.
이상 도 4 내지 도 6을 참고하여 제1 실시예에 따른 학습용 데이터 생성 또는 증강 방법에 대해 살펴보았다. 참고로, 제1 실시예에 따른 학습용 데이터 생성 방법은 초고해상도, 예를 들어 2000 X 2000 이상, 또는 4000 X 4000 이상의 픽셀값을 가지는 샘플 이미지들을 대상으로 활용될 수 있다. 제1 실시예에 따른 학습용 데이터 생성 방법은 샘플 이미지 내로부터 일부 영역을 크로핑 하여 이를 그대로 학습용 데이터로 생성하는 것이므로 크로핑 된 영역은 그 자체로 상당히 높은 값의 해상도를 가져야 할 것인바, 이러한 사정을 고려할 때 제1 실시예는 초고해상도의 샘플 이미지를 대상으로 하는 것이 바람직하다.
도 7은 제2 실시예에 따른 학습용 데이터 생성 방법을 도시한 것이다. 제2 실시예는 앞선 제1 실시예와 달리 상품 이미지와 불량유형 이미지를 합성함으로써 새로운 학습용 데이터를 생성해 내는 것을 특징으로 한다. 도 7을 참고할 때, 제2 실시예에 따른 학습용 데이터 생성 방법은 가장 먼저 상품 이미지 및 불량형상 이미지가 선택되는 단계(S106)로부터 시작될 수 있다. 상품 이미지란, 용어 그대로 임의의 상품을 촬영함으로써 얻은 이미지를 의미하며, 이 때 상품 이미지에는 바람직하게는 불량영역이 존재하지 않을 수 있다. 또한, 상기 상품 이미지는 별도의 데이터베이스에 종류 별로 복수 개가 저장되어 있을 수 있으며, 학습용 데이터를 생성하여야 할 필요성이 있을 때 상기 데이터베이스로부터 로드 되어 합성에 활용될 수 있다. 한편, 불량형상 이미지란 상품 상에 존재하는 불량형상들을 추출하여 이미지화 해 둔 것으로, 예를 들어 이미지 처리(이미지 내 부각된 픽셀을 추출하는 처리 등)를 통해 임의의 샘플 이미지로부터 불량에 해당하는 부분을 폴리곤(polygon) 형태로 추출(상기 불량 부분에 대한 위치정보도 추출 가능함)하여 얻어진 이미지일 수 있다. 상기 불량형상 이미지 역시 다양한 종류의 것들이 별도의 데이터베이스에 복수 개가 저장되어 있을 수 있으며, 학습용 데이터를 생성하여야 할 필요성이 있을 때 상기 데이터베이스로부터 로드 될 수 있다. 참고로 도 8의 (a)에는 두부 상품에 대한 상품 이미지가 도시되어 있다.
S106 단계 이후에는, 임의로 선택된 상품 이미지 및 임의로 선택된 불량형상 이미지를 합성하는 단계(S107)가 수행될 수 있다. 도 8의 (b)에는 두부 상품 이미지(201)에 임의로 선택된 불량형상 이미지(251)가 합성된 결과물이 도시되어 있다. 본 단계에서 상기 불량형상 이미지는 상품 이미지 상의 랜덤 좌표에 위치될 수 있으며, 이는 이미지를 합성하기 위한 알고리즘에 의해 무작위로 결정될 수 있다.
다른 한편, 본 단계에서는 단순히 상품 이미지와 불량형상 이미지를 합성하는 것 외에 두 개의 이미지 중 적어도 어느 하나의 이미지를 이미지 처리(픽셀 값 조정, 이미지 크기 조절 등)하는 단계가 더 수행될 수 있다. 예를 들어, 임의의 상품 이미지 상에 불량형상 이미지를 합성하기 전, 상품의 색과 불량형상의 색 간 값의 차이가 기 설정 범위를 초과하는 경우 그 차이를 줄이기 위한 이미지 처리를 추가적으로 수행함으로써 최종적으로 합성된 결과물의 이질감이 줄어들게 할 수 있다. 또 다른 한편, 상기 불량형상 이미지 내 불량형상의 경계선에 블러(blur)처리를 함으로써 상품 이미지와의 합성 결과물이 보다 자연스러워 보이게 할 수도 있다.
S107 단계 이후에는 상기 합성된 이미지 내 포함되어 있는 불량형상 이미지에 관한 적어도 하나 이상의 레이블 정보들을 획득하는 단계(S108)가 수행될 수 있다. 레이블 정보의 종류에는, 예를 들어 불량유형 이미지의 x축 최소값, 불량유형 이미지의 y축 최소값, 불량유형 이미지의 가로 길이, 불량유형 이미지의 세로 길이 등의 4가지 정보가 포함될 수 있다. 참고로, 레이블 정보에는 위의 것들 외에 더 다양한 파라미터들이 존재할 수 있으며, 상기 합성된 이미지 내에서 불량형상(제1 실시예에서는 '불량영역'이라는 용어를 사용하였으나, 제2 실시예에서는 구별을 위하여 '불량형상'이라는 용어를 사용하기로 한다)을 특정할 수 있는 파라미터에 해당한다면 어느 것이라도 포함될 수 있음을 이해한다. 참고로 도 9에는 제2 실시예에 따른 학습용 데이터 생성 방법에서 레이블 정보들을 획득하는 과정이 도시되어 있는데, 도 9의 (a)에는 불량형상 이미지가 상품 이미지 상에 합성된 결과물이, (b)에는 불량형상 이미지의 (x축 최소값, y축 최소값), (x축 최대값, y축 최대값)을 획득된 모습이, (c)에는 불량형상 이미지의 가로 길이 및 세로 길이가 획득된 모습이 도시되어 있다.
S108 단계 이후에는 상기 합성된 이미지를 기초로 학습용 데이터를 생성하는 단계(S109)가 수행될 수 있다. 본 단계는 제1 실시예에서와 마찬가지로 합성된 이미지를 인공지능 알고리즘에 적합한 포맷으로 변환하는 과정 또는 상기 S108 단계에서 획득한 레이블 정보들을 태깅하는 과정 등이 포함될 수 있다.
이상 도 7 내지 도 9를 참고하여 제2 실시예에 따른 학습용 데이터 생성 방법에 대해 살펴보았다. 참고로, 제2 실시예에 따른 학습용 데이터 생성 방법은 이미지들의 해상도를 가리지 않고 활용될 수 있다. 즉, 제1 실시예에 따른 학습용 데이터 생성 방법이 초고해상도 이미지들에 대해 활용될 수 있던 것에 비하여 제2 실시예에 따른 방법은 해상도를 가리지 않고 활용될 수 있다.
이하에서는 도 10 및 도 11을 참고하여 인공지능 알고리즘의 학습 방법에 대해 살펴보기로 한다.
먼저 도 10은 고해상도 또는 초고해상도의 학습용 데이터가 존재할 때의 학습 방법 과정을 도시한 것으로, 바람직하게는 앞서 제1 실시예에 따른 학습용 데이터 생성 방법에 의한 학습용 데이터를 기초로 학습하는 과정을 도시한 것이다. 도 10을 참고할 때, 학습 방법은 가장 먼저 인공지능 알고리즘에 기 생성된 학습용 데이터가 입력되는 단계(S201)로부터 시작될 수 있다. 이 때 학습용 데이터에는 불량영역이 포함되어 있을 수 있으며, 나아가 레이블 정보가 태깅되어 있을 수 있다. 참고로, 도 10에서의 학습은 지도 학습일 수 있는데, 이 때 상기 학습용 데이터가 입력으로, 그리고 상기 태깅된 불량영역에 대한 정보인 레이블 정보가 출력 데이터로서 활용되어 학습용 데이터에 대응하는 출력 데이터가 출력되도록 연결선들의 연결 가중치를 업데이트 하는 방식으로 지도 학습이 이루어질 수 있다. 쉽게 말해, 상기 인공지능 알고리즘의 학습은 문제에 대한 답을 알고 있는 상태에서 어떤 문제(input)에 대해서는 어떤 답(output)이 나와야 하는지를 반복적으로 익힘으로써 학습하는 과정으로도 이해될 수 있다.
한편, S201단계 이후에는 인공지능 알고리즘 학습이 이루어질 수 있는데, 이 단계는 상기 학습용 데이터에 포함된 불량영역이 크로핑 되는 단계(S202), 그리고 상기 크로핑 된 불량영역 및 상기 학습용 데이터의 레이블링 정보를 참조하여 학습을 수행하는 단계(S203)로 구성될 수 있다. 이 때 학습은 크롭 영역 기반의 학습, 다시 말해 이미지 전체에 대한 학습이 아니라 크로핑 된 제한된 영역 내에서만 학습이 이루어지게 함으로써 학습의 효율성을 높일 수 있다. 학습 이후에는 인공지능 알고리즘의 성능, 즉 임의의 대상 이미지가 입력되었을 때 그로부터 불량을 식별해 냄에 있어 정확성 및 신속성이 향상될 수 있으며, 이는 기술적으로 입력(대상 이미지) 대비 출력(불량식별)을 예측하기 위한 연결 가중치가 업데이트 되어 더 높아진 확률로 불량식별을 해 낼 수 있게 되었음을 의미할 수 있다.
다음으로 도 11은 또 다른 실시예에 따른 학습 방법을 도시한 것으로, 구체적으로는 해상도와 관계 없이 인공지능 알고리즘이 학습되는 과정을 도시한 것이다. 도 11에서의 학습 방법은 기 생성된 학습용 데이터가 인공지능 알고리즘에 입력되는 단계(S204), 학습용 데이터에 포함된 상품영역이 크로핑 되는 단계(S205), 상기 크로핑 된 상품영역 및 상기 학습용 데이터의 레이블링 정보를 참조하여 학습을 수행하는 단계(S206)를 포함할 수 있다. 이 때 학습은 전체 이미지 기반 학습(Full image based training)일 수 있다.
도 12는 본 발명의 또 다른 실시예를 도시한 것으로, 여기에는 상품불량을 선별하기 위한 인공지능 알고리즘을 이용하여 이미지를 분석하는 방법에 단계 별로 도시되어 있다. 도 12의 실시예는 이미 학습이 되어 있는 상태의 인공지능 알고리즘을 이용하여 대상 이미지를 입력시켜 실제로 불량인식을 시키는 것으로도 이해될 수 있다.
도 12를 참고할 때, 이미지 분석 방법은 임의의 검사대상 이미지를 입력 받는 단계(S301), 인공지능 알고리즘을 이용하여 상기 검사대상 이미지로부터 불량후보를 탐색하는 단계(S302), 탐색된 불량후보의 위치정보를 획득하는 단계(S303), 상기 획득된 위치정보 또는 불량후보 관련 정보를 시각화 하는 단계(S304), 그리고 마지막으로 결정트리 알고리즘을 이용하여 상기 탐색된 불량후보에 대해 최종 불량여부를 판단하는 단계(S305)를 포함할 수 있다.
특기할 만한 사항으로, 상기 S304 단계에서는 검사대상 이미지로부터 탐색된 불량후보의 위치, 그리고 불량후보에 관한 정보(면적, 개수, 불량확률 등)등을 도 3에서 보이는 것과 같이 사용자가 인지하기 쉽게 시각화 할 수 있다. 또한, 상기 S305 단계와 관련하여, 결정트리 알고리즘의 이용은 경우에 따라 생략될 수 있으며, 특히 초고해상도의 검사대상 이미지를 대상으로는 연산 시간이 오래 걸리는 문제가 있어 생략이 가능할 수 있다.
이상 본 발명에 따른 상품분류 방법 및 이를 위한 시스템에 대해 살펴보았다. 한편, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 구별되어 이해되어서는 안 될 것이다.
특히, 본 명세서에 첨부된 도면에 도시된 블록도와 순서도에 포함된 본 발명의 기술적 특징을 실행하는 구성들은 상기 구성들 사이의 논리적인 경계를 의미한다. 그러나 소프트웨어나 하드웨어의 실시 예에 따르면, 도시된 구성들과 그 기능들은 독립형 소프트웨어 모듈, 모놀리식 소프트웨어 구조, 코드, 서비스 및 이들을 조합한 형태로 실행되며, 저장된 프로그램 코드, 명령어 등을 실행할 수 있는 프로세서를 구비한 컴퓨터에서 실행 가능한 매체에 저장되어 그 기능들이 구현될 수 있으므로 이러한 모든 실시 예 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.
따라서, 첨부된 도면과 그에 대한 기술은 본 발명의 기술적 특징을 설명하기는 하나, 이러한 기술적 특징을 구현하기 위한 소프트웨어의 특정 배열이 분명하게 언급되지 않는 한, 단순히 추론되어서는 안 된다. 즉, 이상에서 기술한 다양한 실시 예들이 존재할 수 있으며, 그러한 실시 예들이 본 발명과 동일한 기술적 특징을 보유하면서 일부 변형될 수 있으므로, 이 역시 본 발명의 권리범위 내에 속하는 것으로 보아야 할 것이다.
또한, 순서도의 경우 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 가장 바람직한 결과를 얻기 위하여 도시된 것으로서, 도시된 특정한 순서나 순차적인 순서대로 그러한 동작들을 반드시 실행되어야 한다거나 모든 도시된 동작들이 반드시 실행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티 태스킹과 병렬 프로세싱이 유리할 수 있다. 아울러, 이상에서 기술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징될 수 있다는 점을 이해하여야 한다.
이와 같이, 본 명세서는 그 제시된 구체적인 용어에 의해 본 발명을 제한하려는 의도가 아니다. 따라서, 이상에서 기술한 실시 예를 참조하여 본 발명을 상세하게 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 범위를 벗어나지 않으면서도 본 실시 예들에 대한 개조, 변경 및 변형을 가할 수 있다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 권리범위에 포함되는 것으로 해석되어야 한다.
100 샘플 이미지
111, 112, 113, 114 불량영역을 포함하는 영역
150 불량영역
200 상품 이미지250 불량형상 이미지
300 검사대상 이미지
350 불량후보

Claims (15)

  1. 상품불량 선별을 위한 인공지능 알고리즘의 학습용 데이터를 생성하는 방법에 있어서,
    샘플 이미지로부터 불량영역을 식별하는 단계;
    상기 샘플 이미지로부터 상기 불량영역을 포함하는 임의의 영역들을 복수 개 크로핑(cropping)하는 단계;
    각 크로핑 된 영역들 내에 포함되어 있는 불량영역에 관한 레이블 정보들을 획득하는 단계; 및
    상기 복수 개의 크로핑 된 영역들을 각각 복수 개의 학습용 데이터로 생성하는 단계;
    를 포함하고,
    상기 레이블 정보는, 상기 샘플 이미지를 기준으로, 각 크로핑 된 이미지의 x축 최소값, 크로핑 된 이미지의 y축 최소값, 상기 불량영역의 x축 최소값, 및 불량영역의 y축 최소값을 포함하고,
    상기 학습용 데이터를 생성하는 단계는, 상기 크로핑 된 영역 및 상기 레이블 정보들을 기초로 학습용 데이터를 생성하는 것을 특징으로 하며,
    상기 크로핑 된 복수 개의 영역들 내에서의 불량영역 위치는 모두 상이하되, 상기 각 크로핑 된 영역들 내에 포함되어 있는 불량영역에 관한 레이블 정보들 중 상기 불량영역의 x축 최소값, 및 y축 최소값은 동일한 값인 것을 특징으로 하는,
    학습용 데이터를 생성하는 방법.
  2. 제1항에 있어서,
    상기 크로핑 하는 단계 이후,
    크로핑 된 영역 중 적어도 일부 영역을 이미지 변형하는 단계;
    를 더 포함하는 것을 특징으로 하는,
    학습용 데이터를 생성하는 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 상품불량 선별을 위한 인공지능 알고리즘의 학습 방법에 있어서,
    기 생성된 학습용 데이터가 인공지능 알고리즘에 입력되는 단계;
    상기 학습용 데이터에 포함된 불량영역이 크로핑 되는 단계; 및
    상기 크로핑 된 불량영역 및 상기 학습용 데이터의 레이블링 정보를 참조하여 크롭 영역 기반 학습(Crop based training)을 수행하는 단계;
    를 포함하되,
    상기 학습용 데이터는,
    샘플 이미지로부터 불량영역을 식별하는 단계;
    상기 샘플 이미지로부터 상기 불량영역을 포함하는 임의의 영역들을 복수 개 크로핑(cropping)하는 단계;
    각 크로핑 된 영역들 내에 포함되어 있는 불량영역에 관한 레이블 정보들을 획득하는 단계; 및
    상기 복수 개의 크로핑 된 영역들을 각각 복수 개의 학습용 데이터로 생성하는 단계;
    에 의해 생성된 것이고,
    상기 레이블 정보는, 상기 샘플 이미지를 기준으로, 각 크로핑 된 이미지의 x축 최소값, 크로핑 된 이미지의 y축 최소값, 상기 불량영역의 x축 최소값, 및 불량영역의 y축 최소값을 포함하고,
    상기 학습용 데이터를 생성하는 단계는, 상기 크로핑 된 영역 및 상기 레이블 정보들을 기초로 학습용 데이터를 생성하는 것을 특징으로 하며,
    상기 크로핑 된 복수 개의 영역들 내에서의 불량영역 위치는 모두 상이하되, 상기 각 크로핑 된 영역들 내에 포함되어 있는 불량영역에 관한 레이블 정보들 중 상기 불량영역의 x축 최소값, 및 y축 최소값은 동일한 값인 것을 특징으로 하는,
    인공지능 알고리즘의 학습 방법.
  11. 제10항에 있어서,
    상기 학습용 데이터는 4000 X 4000 pixel 이상의 고해상도 이미지인 것을 특징으로 하는,
    인공지능 알고리즘의 학습 방법.
  12. 상품불량 선별을 위한 인공지능 알고리즘의 학습 방법에 있어서,
    기 생성된 학습용 데이터가 인공지능 알고리즘에 입력되는 단계;
    상기 학습용 데이터에 포함된 상품영역이 크로핑 되는 단계; 및
    상기 크로핑 된 상품영역 및 상기 학습용 데이터의 레이블링 정보를 참조하여 전체 이미지 기반 학습(Full image based training)을 수행하는 단계;
    를 포함하되,
    상기 학습용 데이터는,
    샘플 이미지로부터 불량영역을 식별하는 단계;
    상기 샘플 이미지로부터 상기 불량영역을 포함하는 임의의 영역들을 복수 개 크로핑(cropping)하는 단계;
    각 크로핑 된 영역들 내에 포함되어 있는 불량영역에 관한 레이블 정보들을 획득하는 단계; 및
    상기 복수 개의 크로핑 된 영역들을 각각 복수 개의 학습용 데이터로 생성하는 단계;
    에 의해 생성된 것이고,
    상기 레이블 정보는, 상기 샘플 이미지를 기준으로, 각 크로핑 된 이미지의 x축 최소값, 크로핑 된 이미지의 y축 최소값, 상기 불량영역의 x축 최소값, 및 불량영역의 y축 최소값을 포함하고,
    상기 학습용 데이터를 생성하는 단계는, 상기 크로핑 된 영역 및 상기 레이블 정보들을 기초로 학습용 데이터를 생성하는 것을 특징으로 하며,
    상기 크로핑 된 복수 개의 영역들 내에서의 불량영역 위치는 모두 상이하되, 상기 각 크로핑 된 영역들 내에 포함되어 있는 불량영역에 관한 레이블 정보들 중 상기 불량영역의 x축 최소값, 및 y축 최소값은 동일한 값인 것을 특징으로 하는,
    인공지능 알고리즘의 학습 방법.
  13. 삭제
  14. 삭제
  15. 삭제
KR1020200162053A 2020-11-27 2020-11-27 상품불량 선별을 위한 딥러닝 기반의 이미지 분석 방법 및 이를 위한 시스템 KR102621884B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200162053A KR102621884B1 (ko) 2020-11-27 2020-11-27 상품불량 선별을 위한 딥러닝 기반의 이미지 분석 방법 및 이를 위한 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200162053A KR102621884B1 (ko) 2020-11-27 2020-11-27 상품불량 선별을 위한 딥러닝 기반의 이미지 분석 방법 및 이를 위한 시스템

Publications (2)

Publication Number Publication Date
KR20220074021A KR20220074021A (ko) 2022-06-03
KR102621884B1 true KR102621884B1 (ko) 2024-01-05

Family

ID=81982439

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200162053A KR102621884B1 (ko) 2020-11-27 2020-11-27 상품불량 선별을 위한 딥러닝 기반의 이미지 분석 방법 및 이를 위한 시스템

Country Status (1)

Country Link
KR (1) KR102621884B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005156334A (ja) 2003-11-25 2005-06-16 Nec Tohoku Sangyo System Kk 疑似不良画像自動作成装置及び画像検査装置
JP2019087044A (ja) 2017-11-07 2019-06-06 オムロン株式会社 検査装置、データ生成装置、データ生成方法及びデータ生成プログラム
JP2020027424A (ja) * 2018-08-10 2020-02-20 東京エレクトロンデバイス株式会社 学習データ生成装置、判別モデル生成装置、及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102208551B1 (ko) 2019-02-11 2021-01-27 (주) 인텍플러스 외관 검사 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005156334A (ja) 2003-11-25 2005-06-16 Nec Tohoku Sangyo System Kk 疑似不良画像自動作成装置及び画像検査装置
JP2019087044A (ja) 2017-11-07 2019-06-06 オムロン株式会社 検査装置、データ生成装置、データ生成方法及びデータ生成プログラム
JP2020027424A (ja) * 2018-08-10 2020-02-20 東京エレクトロンデバイス株式会社 学習データ生成装置、判別モデル生成装置、及びプログラム

Also Published As

Publication number Publication date
KR20220074021A (ko) 2022-06-03

Similar Documents

Publication Publication Date Title
JP6573226B2 (ja) データ生成装置、データ生成方法及びデータ生成プログラム
Liu et al. Multistage GAN for fabric defect detection
JP6936957B2 (ja) 検査装置、データ生成装置、データ生成方法及びデータ生成プログラム
US11176650B2 (en) Data generation apparatus, data generation method, and data generation program
JP7004145B2 (ja) 欠陥検査装置、欠陥検査方法、及びそのプログラム
KR102220174B1 (ko) 머신러닝 학습 데이터 증강장치 및 증강방법
CN110688925B (zh) 基于深度学习的级联目标识别方法及系统
JP2024509411A (ja) 欠陥検出方法、装置及びシステム
US11307150B2 (en) Automatic optimization of an examination recipe
JP2017049974A (ja) 識別器生成装置、良否判定方法、およびプログラム
JP2000137804A (ja) デジタル画像の異常検出方法およびシステム、ならびにそのための記憶媒体
CN111126433A (zh) 一种工厂pcb板缺陷检测中正负样本数据平衡方法
US20230222645A1 (en) Inspection apparatus, unit selection apparatus, inspection method, and computer-readable storage medium storing an inspection program
US20190272627A1 (en) Automatically generating image datasets for use in image recognition and detection
CN115830004A (zh) 表面缺陷检测方法、装置、计算机设备和存储介质
KR102621884B1 (ko) 상품불량 선별을 위한 딥러닝 기반의 이미지 분석 방법 및 이를 위한 시스템
CN113592859B (zh) 一种基于深度学习的用于显示面板缺陷的分类方法
CN115937095A (zh) 融合图像处理算法和深度学习的印刷缺陷检测方法及系统
García et al. A configuration approach for convolutional neural networks used for defect detection on surfaces
CN113591645A (zh) 一种基于区域卷积神经网络的电力设备红外图像识别方法
CN113269052A (zh) 价签识别方法、终端、存储装置
JP6961319B2 (ja) 評価方法及び評価装置
Rydén Instance-level Object Detection of Grocery Store items using R-CNN: s
Vengaloor et al. Automatic Surface Defect Detection System for White-Goods Logistics Industries using mU-NET
Kim et al. P‐98: Novel Solution for High‐Speed Detecting Very Small Defects in Display

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant