KR20240003647A - 인공지능 기반 머신비전 품질 검사 시스템 및 품질 검사 방법 - Google Patents

인공지능 기반 머신비전 품질 검사 시스템 및 품질 검사 방법 Download PDF

Info

Publication number
KR20240003647A
KR20240003647A KR1020220081478A KR20220081478A KR20240003647A KR 20240003647 A KR20240003647 A KR 20240003647A KR 1020220081478 A KR1020220081478 A KR 1020220081478A KR 20220081478 A KR20220081478 A KR 20220081478A KR 20240003647 A KR20240003647 A KR 20240003647A
Authority
KR
South Korea
Prior art keywords
artificial intelligence
data
intelligence model
models
image
Prior art date
Application number
KR1020220081478A
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 KR1020220081478A priority Critical patent/KR20240003647A/ko
Publication of KR20240003647A publication Critical patent/KR20240003647A/ko

Links

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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • 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/8854Grading and classifying of flaws
    • 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/8883Scan 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 involving the calculation of gauges, generating models
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Pathology (AREA)
  • Economics (AREA)
  • Biochemistry (AREA)
  • Chemical & Material Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Immunology (AREA)
  • Signal Processing (AREA)
  • Manufacturing & Machinery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Analytical Chemistry (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

품질 검사 시스템은, 복수의 인공지능 모델을 저장하는 인공지능 모델 저장소, 생산 설비의 공정에서 생산되는 제품을 촬영하는 카메라 및 상기 제품의 상태 및 상기 공정의 동작 상황을 체크하는 복수의 센서 중 적어도 하나로부터 데이터를 수집하는 클라이언트, 상기 클라이언트로부터 상기 수집된 데이터를 수신하고, 상기 수집된 데이터를 상기 복수의 인공지능 모델 각각에 대응하는 복수의 기준 데이터 각각과 비교하여 상기 복수의 인공지능 모델 중 복수의 후보 인공지능 모델을 선택하며, 상기 복수의 후보 인공지능 모델 각각으로 상기 수집된 데이터를 분석한 결과에 기초하여 상기 복수의 후보 인공지능 모델 중 활성화할 인공지능 모델을 대상 인공지능 모델로 결정하고, 상기 수집된 데이터를 상기 대상 인공지능 모델을 통해 분석하여 상기 제품의 양불을 판별하는 분석 서버, 및 복수의 GPU 중 유휴 GPU에 상기 대상 인공지능 모델을 적재하는 복수의 GPU 클러스터를 포함한다.

Description

인공지능 기반 머신비전 품질 검사 시스템 및 품질 검사 방법{AI-BASED MACHINE VESION QUALITY INSPECTION SYSTEM AND QUALITY INSPECTION METHOD}
본 발명은 품질 검사 시스템 및 품질 검사 방법에 관한 것이다.
제조 현장에서 제품의 결함을 찾아내고 생산품의 양품 또는 불량품 여부를 판별하기 위해 오랜 시간 동안 머신비전 분야가 많은 역할을 했다. 최근 인공지능 기술이 다양한 분야에서 활용됨에 따라 머신비전 분야에서도 인공지능을 활용하고자 하는 수요가 증가하고 있다. 하지만 인공지능 모델을 새로운 공정에 적용하기 위해서는 새로운 공정에 호환되는 모델인지를 검토하고, 검토 결과에 따라 인공지능 모델을 공정에 적용하는 등의 시간과 비용이 소요되는 문제가 있다.
본 발명이 이루고자 하는 기술적 과제는, 이미 시스템에 존재하는 인공지능 모델 중 새로운 데이터에 적합한 인공지능 모델을 선택하고, 선택한 인공지능 모델로 새로운 데이터를 분석할 수 있도록 하는 시스템 및 방법을 제공하고자 한다.
본 발명의 한 특징에 따른 품질 검사 시스템은, 복수의 인공지능 모델을 저장하는 인공지능 모델 저장소, 생산 설비의 공정에서 생산되는 제품을 촬영하는 카메라 및 상기 제품의 상태 및 상기 공정의 동작 상황을 체크하는 복수의 센서 중 적어도 하나로부터 데이터를 수집하는 클라이언트, 상기 클라이언트로부터 상기 수집된 데이터를 수신하고, 상기 수집된 데이터를 상기 복수의 인공지능 모델 각각에 대응하는 복수의 기준 데이터 각각과 비교하여 상기 복수의 인공지능 모델 중 복수의 후보 인공지능 모델을 선택하며, 상기 복수의 후보 인공지능 모델 각각으로 상기 수집된 데이터를 분석한 결과에 기초하여 상기 복수의 후보 인공지능 모델 중 활성화할 인공지능 모델을 대상 인공지능 모델로 결정하고, 상기 수집된 데이터를 상기 대상 인공지능 모델을 통해 분석하여 상기 제품의 양불을 판별하는 분석 서버, 및 복수의 GPU 중 유휴 GPU에 상기 대상 인공지능 모델을 적재하는 복수의 GPU 클러스터를 포함한다.
상기 분석 서버는, 상기 수집된 데이터의 파일 헤더를 통해 상기 수집된 데이터의 파일 유형을 검사하고, 상기 파일 유형에 따라 상기 수집된 데이터를 상기 복수의 인공지능 모델 각각에 대응하는 복수의 기준 데이터 각각과 비교하여 상기 복수의 기준 데이터 각각과 상기 수집된 데이터 간의 복수의 유사도를 측정하고, 상기 복수의 유사도에 기초하여 상기 복수의 인공지능 모델 중 복수의 후보 인공지능 모델을 선택할 수 있다.
상기 파일 유형이 시계열 데이터인 경우에는, 상기 분석 서버는, 하나의 기준 데이터의 값과 수집된 데이터의 값 간의 평균 제곱 오차 값이 작을 수록 상기 하나의 기준 데이터와 상기 수집된 데이터 간의 유사도가 높은 것으로 판단할 수 있다.
상기 파일 유형이 이미지 데이터인 경우에는, 상기 분석 서버는, 하나의 기준 데이터인 제1 이미지의 해시 값 및 수집된 데이터인 제2 이미지의 해시 값을 비교하여, 상기 제1 이미지의 해시 값 및 상기 제2 이미지의 해시 값 간의 해밍 거리가 짧을 수록 상기 제1 이미지 및 상기 제2 이미지 간의 유사도가 높은 것으로 판단할 수 있다.
상기 분석 서버는, 상기 복수의 후보 인공지능 모델 각각으로 상기 수집된 데이터를 인공지능 분석하고, 상기 각 후보 인공지능 모델로 기존에 산출된 제1 결과 값과 상기 수집된 데이터를 상기 각 후보 인공지능 모델로 분석하여 산출한 제2 결과 값 각각의 개수, 평균, 표준편차, 및 분석 시간 중 적어도 하나에 기초하여 상기 제2 결과 값이 정상치 인지, 또는 이상치 인지를 판단하고, 상기 제1 결과 값 및 상기 제2 결과 값 각각의 개수, 평균, 표준편차, 분석 시간, 및 상기 이상치로 판단된 데이터의 개수 중 적어도 하나에 기초하여 상기 복수의 후보 인공지능 모델 중 하나를 상기 대상 인공지능 모델로 결정할 수 있다.
상기 수집된 데이터를 상기 대상 인공지능 모델을 통해 분석한 결과를 상기 분석 서버로부터 상기 클라이언트를 통해 수신하고, 상기 분석한 결과에 따라 불량으로 판별된 생산품을 공정에서 제외시키는 명령을 상기 생산 설비에 전달하는 PLC를 더 포함할 수 있다.
본 발명의 다른 특징에 따른 품질 검사 방법은, 클라이언트가, 생산 설비의 공정에서 생산되는 제품을 촬영하는 카메라 및 상기 제품의 상태 및 상기 공정의 동작 상황을 체크하는 복수의 센서를 포함하는 센서부로부터 생산 데이터를 수집하는 단계, 상기 클라이언트가, 네트워크를 통해 상기 생산 데이터를 분석 서버에 전달하는 단계, 상기 분석 서버가, 인공지능 모델 저장소에 저장된 복수의 인공지능 모델 중 하나의 대상 인공지능 모델을 선택하는 단계, 상기 분석 서버가, 상기 대상 인공지능 모델을 복수의 GPU 중 유휴 GPU에 적재하고, 상기 유휴 GPU를 통해 상기 생산 데이터를 상기 대상 인공지능 모델로 분석하는 단계, 상기 분석 서버가, 상기 분석한 결과를 상기 클라이언트에 전달하는 단계, 상기 분석 서버가, 미들웨어 서버에 상기 분석한 결과를 전달하는 단계, 상기 미들웨어 서버가, 데이터베이스에 상기 분석한 결과를 저장하는 단계, 및 상기 미들웨어 서버가, 상기 분석한 결과가 웹을 통해 조회될 수 있도록 하는 서비스를 제공하는 단계를 포함한다.
상기 하나의 대상 인공지능 모델을 선택하는 단계는, 상기 생산 데이터의 파일 헤더를 통해 상시 생산 데이터의 파일 유형을 검사하는 단계, 상기 파일 유형에 기초하여 상기 복수의 인공지능 모델 각각에 대응하는 복수의 기준 데이터 각각과 상기 생산 데이터를 비교하여 상기 복수의 기준 데이터 각각과 상기 생산 데이터 간의 복수의 유사도를 측정하는 단계, 상기 복수의 유사도에 기초하여 복수의 후보 인공지능 모델을 선택하는 단계, 및 상기 복수의 인공지능 모델 각각으로 상기 생산 데이터를 분석한 결과에 기초하여 상기 복수의 후보 인공지능 모델 중 하나를 대상 인공지능 모델로 결정하는 단계를 포함한다.
상기 복수의 기준 데이터 각각과 상기 생산 데이터 간의 복수의 유사도를 측정하는 단계는, 상기 파일 유형이 시계열 데이터인 경우에는, 하나의 기준 데이터의 값과 수집된 데이터의 값에 기초하여 상기 복수의 기준 데이터 각각에 대응하는 복수의 평균 제곱 오차 값을 계산하는 단계, 및 상기 복수의 평균 제곱 오차 값 중 가장 작은 평균 제곱 오차에 대응하는 하나의 기준 데이터를 상기 수집된 데이터와의 유사도가 가장 높은 것으로 판단하는 단계를 포함할 수 있다.
상기 복수의 기준 데이터 각각과 상기 생산 데이터 간의 복수의 유사도를 측정하는 단계는, 상기 파일 유형이 이미지 데이터인 경우에는, 하나의 기준 데이터인 제1 이미지 및 수집된 데이터인 제2 이미지 각각을 고정된 사이즈로 축소하는 단계, 상기 제1 이미지 및 상기 제2 이미지 각각을 흑백으로 변경하는 단계, 상기 제1 이미지 및 상기 제2 이미지 각각의 픽셀의 평균 값을 계산하는 단계, 상기 평균 값을 기초로 상기 제1 이미지의 해시 값 및 상기 제2 이미지의 해시 값을 결정하는 단계, 및 상기 제1 이미지의 해시 값 및 상기 제2 이미지의 해시 값에 기초하여 상기 하나의 기준 데이터와 상기 수집된 데이터 간의 유사도를 결정하는 단계를 더 포함할 수 있다.
상기 복수의 후보 인공지능 모델 중 하나를 대상 인공지능 모델로 결정하는 단계는, 상기 복수의 후보 인공지능 모델 각각으로 상기 수집된 데이터를 인공지능 분석하는 단계, 상기 각 후보 인공지능 모델로 기존에 산출된 제1 결과 값과 상기 수집된 데이터를 상기 각 후보 인공지능 모델로 분석하여 산출한 제2 결과 값 각각의 개수, 평균, 표준편차, 및 분석 시간 중 적어도 하나에 기초하여 상기 제2 결과 값이 정상치 인지, 또는 이상치 인지를 판단하는 단계, 및 상기 제1 결과 값 및 상기 제2 결과 값 각각의 개수, 평균, 표준편차, 분석 시간, 및 상기 이상치로 판단된 데이터의 개수 중 적어도 하나에 기초하여 상기 복수의 후보 인공지능 모델 중 하나를 상기 대상 인공지능 모델로 결정하는 단계를 포함할 수 있다.
상기 분석 서버가, 상기 복수의 GPU 메모리 중 적어도 하나의 메모리에 상기 복수의 인공지능 모델 중 하나의 인공지능 모델을 할당하는 단계, 상기 분석 서버가, 수집한 데이터를 상기 하나의 인공지능 모델을 통해 분석하는 단계, 및 상기 미들웨어 서버가, 상기 하나의 인공지능 모델이 사용된 시점을 데이터베이스에 기록하는 단계를 더 포함하고, 상기 대상 인공지능 모델을 복수의 GPU 중 유휴 GPU에 적재하고, 상기 유휴 GPU를 통해 상기 생산 데이터를 상기 대상 인공지능 모델로 분석하는 단계는, 상기 복수의 GPU 메모리 중 가용 공간이 없는 경우, 상기 분석 서버가, 상기 하나의 인공지능 모델이 사용된 시점에 기초하여 상기 복수의 GPU 메모리 중 적어도 하나의 메모리에 상기 대상 인공지능 모델을 할당하는 단계를 포함할 수 있다.
상기 대상 인공지능 모델을 할당하는 단계는, 상기 하나의 인공지능 모델이 사용된 시점이 상기 복수의 GPU 메모리 중 상기 적어도 하나의 메모리를 제외한 나머지 메모리에 할당된 다른 인공지능 모델 각각이 사용된 시점들 이전이면, 상기 분석 서버가, 상기 적어도 하나의 메모리에서 상기 하나의 인공지능 모델을 할당 해제하는 단계, 및 상기 분석 서버가, 상기 적어도 하나의 메모리에 상기 대상 인공지능 모델을 할당하는 단계를 포함할 수 있다.
본 발명을 통해 이미 시스템에 존재하는 인공지능 모델 중 새로운 데이터에 적합한 인공지능 모델을 선택하고, 선택한 인공지능 모델을 유휴 GPU에 할당하여, 인공지능 모델로 새로운 데이터를 분석할 수 있다. 본 발명을 통해 인공지능 모델과 수집한 데이터를 자동으로 매핑하고, 고비용의 GPU 자원을 효율적으로 사용하여, GPU의 사용 개수와 사용 시간을 절감할 수 있고, 인공지능 모델의 임대료를 낮출 수 있으며, 시스템 운영 비용의 절감이 가능하다.
도 1은 머신비전 품질 검사 시스템의 예시도이다.
도 2는 일 실시예에 따른 품질 검사 시스템의 구성을 도식적으로 나타낸 블록도이다.
도 3은 일 실시예에 따른 품질 검사 방법의 순서도이다.
도 4는 도 3의 S3 단계에서 분석 서버가 대상 인공지능 모델을 결정하는 동작에 대한 세부 순서도이다.
도 5는 JPEG의 파일 헤더 예시도이다.
도 6은 GPU의 메모리에 인공지능 모델이 할당되는 동작을 설명하기 위한 예시도이다.
도 7은 도 3의 S3 단계에서 분석 서버가 대상 인공지능 모델을 결정한 이후의 동작에 대한 세부 순서도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 동일하거나 유사한 구성요소에는 동일, 유사한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및/또는 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
일 실시예에 따른 구성들 중 특정 제어 조건에서 다른 구성을 제어하는 구성에는, 다른 구성을 제어하기 위해 필요한 제어 알고리즘을 구체화한 명령어의 집합으로 구현된 프로그램이 설치될 수 있다. 제어 구성은 설치된 프로그램에 따라 입력 데이터 및 저장된 데이터를 처리하여 출력 데이터를 생성할 수 있다. 제어 구성은 프로그램을 저장하는 비휘발성 메모리 및 데이터를 저장하는 메모리를 포함할 수 있다.
도 1은 머신비전 품질 검사 시스템의 예시도이다.
머신비전은 조명, 카메라 등을 이용하여 생산 제품에 대한 이미지를 취득하고, 생산 제품에 대한 이미지를 통해 생산 제품의 불량을 판별하여, 생산 제품 중 불량을 검출하는 시스템일 수 있다. 도 1에서 “PC”로 표시된 장치는 사람의 눈으로 확인하기 어려운 부분을 조명, 카메라 등을 활용하여 촬상한 뒤 소프트웨어를 통해 부품의 양불을 검사한다.
본 명세에서는 머신비전에서 인공지능을 활용하여 품질 검사를 하기 위한 고가용성의 품질 검사 시스템을 개시한다.
도 2는 일 실시예에 따른 품질 검사 시스템의 구성을 도식적으로 나타낸 블록도이다.
품질 검사 시스템(1)은, 분석 서버(11), 인공지능 모델 저장소(12), GPU(Graphics Processing Unit) 클러스터(13), 웹서버/미들웨어 서버(14), 데이터베이스(15), 클라이언트(16), 카메라(17), 센서부(18), PLC(Programmable Logic Controller)(19) 등을 포함할 수 있다.
분석 서버(11)는, 수집된 데이터를 복수의 인공지능 모델 각각에 매핑시키고, 복수의 인공지능 모델 중 활성화할 인공지능 모델(이하, 대상 인공지능 모델)을 결정하며, 대상 인공지능 모델을 통해 수집된 데이터를 분석할 수 있다. 분석 서버(11)는 인공지능 분석을 통해 제품의 양불을 판별할 수 있다. 분석 서버(11)는, 제품의 양불을 판별한 결과를 지시하는 인공지능 분석 결과를 생성할 수 있다. 분석 서버(11)는, 복수의 인공지능 모델 각각에 대응하는 복수의 기준 데이터를 기반으로 대상 인공지능 모델을 결정할 수 있다. 분석 서버(11)는, 컴퓨팅 환경에서, 하나의 관리자(예를 들어, 기업)가 구축한 인트라스트럭처 내의 온프레미스(On-premise)에서 어플리케이션을 실행할 수 있다. 또는 분석 서버(11)는, 컴퓨팅 환경에서, 하나의 관리자가 다른 관리자의 데이터 센터 내의 머신들을 통해 어플리케이션을 실행할 수도 있다. 다른 관리자의 데이터 센터 내에서 어플리케이션을 실행하는 것은 클라우드(cloud) 영역에서 어플리케이션을 실행시키는 것을 표현될 수 있다. 예를 들어, 분석 서버(11)는, SaaS 형태로 구현될 수 있다. 또는 분석 서버(11)는, 컴퓨팅 환경에서, 온프레미스 및 클라우드 자원을 모두 활용하여 어플리케이션을 실행할 수 있다.
명세에서 기준 데이터는, 대응하는 인공지능 모델이 분석할 수 있는 대표적인 데이터를 의미한다. 예를 들어, A라는 인공지능 모델이 볼트의 머리(head) 외경의 지름을 구할 수 있는 경우, A 인공지능 모델에 대응하는 기준 데이터는, 볼트의 머리 부분이 촬영된 사진일 수 있다. 기준 데이터는, 인공지능 모델을 학습시킬 때 사용된 학습 이미지를 포함할 수 있다. 기준 데이터는, 인공지능 모델을 인공지능 모델 저장소(12)에 등록하는 시점에 미들웨어 서버(14)의 파일 시스템에 저장될 수 있다. 기준 데이터와 대응하는 인공지능 모델을 매치한 매칭 정보는 데이터베이스(15)에 저장될 수 있다. 예를 들어 볼트의 머리 부분이 촬영된 사진이 기준 데이터인 경우, 매칭 정보는 기준 데이터가 복수의 인공지능 모델 중 어떤 인공지능 모델에 매핑 되는지에 대한 정보를 포함할 수 있다.
인공지능 모델 저장소(12)는, 복수의 인공지능 모델을 저장할 수 있다. 복수의 인공지능 모델은, 딥러닝 학습 결과로 생성된 인공지능 모델 파일일 수 있다.
GPU 클러스터(13)는, N개의 GPU(13_1-13_N, N은 자연수)를 포함할 수 있다. N개의 GPU(13_1-13_N) 각각은 인공지능 모델을 실행할 수 있다. N개의 GPU(13_1-13_N) 중 적어도 하나에는, 대상 인공지능 모델이 적재될 수 있다. 분석 서버(11)는, 상기 대상 인공지능 모델이 적재된 GPU를 사용하여 대상 인공지능 모델로 생산 데이터를 분석할 수 있다.
웹서버/미들웨어 서버(14)는, 통계 데이터 관리, 사용자 관리 등의 관리자 기능을 제공하고, 인공지능 분석 결과를 웹을 통해 조회할 수 있도록 하는데 필요한 서비스의 집합일 수 있다. 웹서버/미들웨어 서버(14)는, 컴퓨팅 환경에서, 온프레미스 및/또는 클라우드 자원을 활용하여 어플리케이션을 실행할 수 있다.
데이터베이스(15)는, 품질 검사 시스템(1)이 적용되는 공장이나 공정에 대한 정보, 인공지능 분석 결과, 분석 실행 시간 등의 데이터를 저장할 수 있다. 인공지능 분석 결과는, 복수의 인공지능 모델 각각을 통해 인공지능 분석한 기존의 분석 결과 값들을 포함할 수 있다. 기존의 분석 결과 값들은, 인공지능 분석한 결과 중 정상치이고, 분석 서버(11)가 대상 인공지능 모델을 결정하는 데 판단 요소로 활용될 수 있다. 데이터베이스(15)는, 관리자가 보유하는 공간에 물리적으로 하드웨어를 두고 운영하는 온프레미스 영역에 구현될 수 있다. 또는, 데이터베이스(15)는, 클라우드에 영역에 구현될 수도 있다.
클라이언트(16)는, 카메라(17), 센서부(18), PLC(19) 등과 연동되어 분석 대상 데이터를 취득하고, 불량품을 배제하며, 인공지능 분석 결과를 GUI 화면 등의 출력부(도시하지 않음)에 출력할 수 있다. 클라이언트(16)는 응용 프로그램의 형태일 수 있다. 또는 클라이언트(16)는, 센서 비콘 등의 통신 장비일 수도 있다. 분석 서버(11)와 클라이언트(16)는, 네트워크를 통해 서로 연결되어 있다. 클라이언트(16)는, 카메라(17), 센서부(18), 및 PLC(19) 각각으로부터 데이터를 수신할 수 있다. 도 2에서는 클라이언트(16)가, 카메라(17) 및 센서부(18)로부터 직접 데이터를 수집하는 것으로 도시되었으나, 발명이 이에 한정되는 것은 아니고, 클라이언트(16)는 PLC(19)가 카메라(17) 및 센서부(18)로부터 수집한 데이터를 전달받을 수도 있다.
카메라(17)는, 생산 설비(2)의 소정의 공정에서 생산되는 제품(제품의 부품 포함)을 촬영하여 영상 데이터를 생성할 수 있다.
센서부(18)는, 생산 설비(2)의 소정의 공정에서 생산되는 제품의 상태, 생산 공정의 동작 상황 등을 체크하기 위해 사물에 대한 객관적인 지표를 전기적인 수치로 변환하는 데 사용되는 적어도 하나의 센서를 포함할 수 있다. 여기서 사물에 대한 객관적인 지표는, 온도, 진동, 습도, 압력, 점도, 빛의 조도 등 다양한 성질에 대한 지표일 수 있다. 또한 센서는 적어도 하나의 형식의 데이터를 생성하는 장비 또는 부품일 수 있다. 제품이 저온에서 공정이 이루어져야 하는 식품이나 약품인 경우, 센서부(18)는 온도계를 포함할 수 있다. 도 2에서는 카메라(17)를 센서부(18)와 구분하여 도시하였으나, 발명이 이에 한정되는 것은 아니고, 카메라(17)는 센서부(18)에 포함된 센서들 중 하나일 수 있다.
하나의 지표에 대한 복수의 센서가 산출하는 데이터의 형식은 대부분 서로 동일하고, 서로 다른 지표에 대한 복수의 센서가 생성하는 데이터의 형식은 서로 다를 수 있다. 예를 들어, 온도에 대한 센서의 경우, 대부분 시계열 형태의 데이터를 산출할 것이고, 이 경우 시계열 형태의 데이터는 시간을 나타내는 수치(timestamp)와 함께 섭씨 온도를 연속적으로 기록하는 형태를 가질 수 있다. 따라서 온도에 대한 복수의 센서는, 실제 온도를 전기적인 신호로 변화시키는 센서 내부적인 방식이 서로 다르더라도, 산출하는 결과 값은 동일할 수 있다. 하지만, 빛의 신호를 전기적인 신호로 변환하는 센서가 산출하는 데이터의 형식은, 온도를 측정하는 센서가 산출하는 데이터의 형식과 다를 것이다. 예를 들어, 카메라(17)가 산출하는 데이터는, 색상에 대한 2차원 배열의 형태를 가질 수 있다. 이하, 센서부(18)가 산출하는 데이터는 센서 데이터라 한다.
PLC(19)는, 센서부(18) 및 카메라(17) 등의 입력 장치로부터 데이터를 수신하고, 그 데이터를 기반으로 다른 기계 또는 전산 장치에 명령을 내릴 수 있다. PLC(19)는, 클라이언트(16)로부터 인공지능 분석 결과를 전달받아, 불량으로 판별된 생산품을 공정에서 제외시키는 명령을 생산 설비(2)에 전달할 수 있다.
이하, 도 3 내지 도 7을 참조하여, 품질 검사 시스템(1)의 각 구성의 동작을 설명한다.
도 3은 일 실시예에 따른 품질 검사 방법의 순서도이다.
클라이언트(16)는, 카메라(17) 및 센서부(18)로부터 생산 데이터를 수집할 수 있다(S1). 생산 데이터는, 공정에서 생산되는 제품의 상태 및 생산 공정의 동작 상황을 나타내는 데이터로, 영상 데이터 및 센서 데이터를 포함할 수 있다. 클라이언트(16)는, 네트워크를 통해 생산 데이터를 분석 서버(11)로 전달할 수 있다(S2).
분석 서버(11)는, 인공지능 모델 저장소(12)에 저장된 복수의 인공지능 모델 중 생산 데이터에 적합한 대상 인공지능 모델을 선택하고, 대상 인공지능 모델을 유휴 GPU에 적재하며, GPU를 통해 인공지능 분석할 수 있다(S3). 일 실시예에 따른 품질 검사 시스템(1)은, 복수의 인공지능 모델 중 생산 데이터에 호환되는 인공지능 모델이 존재하는 경우 별도의 개발이나 설정 없이 생산 데이터에 적합한 모델을 선택하여 생산 데이터에 대한 인공지능 분석을 가능하도록 한다.
이하, 도 4 내지 도 7을 참조하여 분석 서버(11)가 대상 인공지능 모델을 선택하여 인공지능 분석하는 동작을 세부적으로 설명한다. 분석 서버(11)는, 생산 데이터를 전달한 클라이언트(16) 및 생산 데이터의 파일 헤더에 기초하여, 기존에 대상 인공지능 모델이 결정되지 않은 클라이언트(16) 및 파일 헤더에 대해서는 대상 인공지능 모델을 결정하고, 이미 대상 인공지능 모델이 결정된 클라이언트(16) 및 파일 헤더에 대해서는 대상 인공지능 모델로 생산 데이터를 분석할 수 있다. 이하, 도면을 참조하여 분석 서버(11)가 대상 인공지능 모델을 결정하는 동작과 결정한 이후의 동작을 설명한다.
도 4는 도 3의 S3 단계에서 분석 서버가 대상 인공지능 모델을 결정하는 동작에 대한 세부 순서도이다.
분석 서버(11)는, 생산 데이터의 파일 헤더를 통해 생산 데이터의 파일 유형을 검사할 수 있다(S301). 분석 서버(11)는 생산 데이터가 JPEG, WAV, MP4 등 다양한 영상 파일의 형식 중 어느 형식에 해당하는 것인지를 판단할 수 있다. 일반적으로는, 하나의 인공지능 모델이 다룰 수 있는 파일 형식은 정해져 있다.
도 5는 JPEG의 파일 헤더 예시도이다. 도 5를 참조하면, JPEG 파일의 맨 첫 번째 데이터는 항상 16진수로, “FF D8 FF E0”이다. 분석 서버(11)는, 도 5에 도시된 데이터의 파일 헤더에 기초하여 도 5에 도시된 데이터의 파일의 유형을 JPEG로 결정할 수 있다.
생산 데이터를 전달한 클라이언트(16) 및 생산 데이터의 파일 헤더에 기초하여 기존에 대상 인공지능 모델이 결정되지 않은 클라이언트(16) 및 파일 헤더에 대해서는, 분석 서버(11)는, 복수의 인공지능 모델 각각에 대응하는 복수의 기준 데이터 각각과 생산 데이터를 비교하여 복수의 기준 데이터 각각과 생산 데이터 간의 복수의 유사도를 측정할 수 있다(S302). 분석 서버(11)는, 생산 데이터를 전달한 주체인 클라이언트(16)가 누구인지 식별할 수 있다. 따라서 클라이언트(16) 및 파일 헤더에 대한 대상 인공지능 모델이 결정되지 않았다면, 분석 서버(11)는 대상 인공지능 모델 결정을 위해 생산 데이터의 파일 유형에 기초하여 유사도를 측정할 수 있다. 분석 서버(11)가 유사도를 측정하는 방법은, 생산 데이터의 파일 유형에 따라 달라질 수 있고, 평균 제곱 오차(mean square error, MSE), 이미지 해시 알고리즘 등이 활용될 수 있다. 분석 서버(11)는, 복수의 기준 데이터 중 생산 데이터의 파일 유형에 부합하는 유형의 기준 데이터를 생산 데이터와 비교할 수 있다.
생산 데이터의 파일 유형이 음성이나 파형 데이터 등의 시계열적 데이터 인 경우에는 MSE 방식이 활용될 수 있다. 분석 서버(11)는 두 데이터 간의 평균 제곱 오차(MSE)에 따라 유사도를 파악할 수 있다. [수학식 1]은, MSE를 계산하는 방법의 예시이다.
여기서 n은 기준 데이터의 크기이고 자연수이며, y는 신규한 생산 데이터 값이고, t는 기준 데이터의 값이다. 예를 들어, 생산 데이터의 값이 시계열적으로 (1, 3), (2, 8), (3, 9)이고, 기준 데이터가 (1, 3), (2, 8), (3, 7)인 경우, MSE = [{(1, 3)-(1, 3)}^2+{(2, 8)-(2, 8)}^2+{(3, 9)-(3, 7)}^2]/3 = [(3-3)^2+(8-8)^2+(9-7)^2]/3=1.333 이다.
분석 서버(11)는, MSE 값이 작을 수록 두 데이터의 유사도가 높은 것으로 판단할 수 있다. 예를 들어, 분석 서버(11)는, 복수의 기준 데이터 각각과 생산 데이터의 값에 기초하여 복수의 기준 데이터 각각에 대응하는 복수의 MSE 값을 계산하고, 복수의 MSE 값 중 가장 작은 MSE 값에 대응하는 기준 데이터를 생산 데이터와의 유사도가 가장 높은 것으로 판단할 수 있다.
생산 데이터의 파일 유형이 이미지 데이터인 경우에는 이미지 해시 알고리즘이 활용될 수 있다. 이미지 해시 알고리즘은 Average hashing, Perceptual hashing, Perceptual hashing, Wavelet hashing 등일 수 있다. 예를 들어 분석 서버(11)는, Average hashing 알고리즘을 사용하여 유사도를 측정할 수 있다. 구체적으로는, 이미지를 고정된 사이즈로 축소하고, 이미지를 흑백(grayscale)으로 변경하며, 색상의 평균 값을 계산하고, 평균 값을 기초로 이진화 하며, 최종 산출된 이미지의 픽셀 값을 hash 결과의 bit 값(이하, hash 값)으로 변환할 수 있다. 분석 서버(11)는, 생산 데이터의 hash 값과 기준 데이터의 hash 값을 비교하여 두 데이터의 유사도를 결정할 수 있다. 예를 들어 분석 서버(11)는, 생산 데이터의 hash 값과 기준 데이터의 hash 값을 해밍 거리(Hamming distance)로 비교하여 해밍 거리가 짧을 수록 두 데이터의 유사도가 높은 것으로 판단할 수 있다.
분석 서버(11)는 복수의 유사도에 기초하여 복수의 후보 인공지능 모델을 선택할 수 있다(S303). 예를 들어, 분석 서버(11)는 생산 데이터와의 복수의 유사도 중 유사도가 높은 순으로 상위 소정 개수의 인공지능 모델을 후보 인공지능 모델로 결정할 수 있다.
분석 서버(11)는 복수의 후보 인공지능 모델 각각으로 생산 데이터를 분석하여 복수의 후보 인공지능 모델 중 하나를 대상 인공지능 모델을 결정할 수 있다(S304). 분석 서버(11)는 복수의 후보 인공지능 모델 각각에 생산 데이터를 인공지능 분석하였을 때, 후보 인공지능 모델이 산출하는 지표가 유의미하게 존재할 경우, 지표에 기초하여 분석 점수를 산출할 수 있다. 여기서 후보 인공지능 모델이 산출하는 지표는, 후보 인공지능 모델의 기존의 분석 결과와 후보 인공지능 모델을 통해 생산 데이터를 분석하여 얻게 되는 출력(이하, 새로운 분석 결과)을 기초로 한 지표이며, 인공지능 모델로 데이터를 분석한 결과를 활용하는 점에서 기준 데이터와 생산 데이터 간의 유사도와는 구분된다. 예를 들어 후보 인공지능 모델이 산출하는 지표는, 기존의 분석 결과 값과 새로운 분석 결과 값 각각의 개수, 각 결과 값의 평균과 표준편차, 인공지능 모델의 분석 시간 간의 평균과 표준편차 등에 기초한 지표 등일 수 있다.
분석 서버(11)는 후보 인공지능 모델이 산출하는 지표에 기초하여 새로운 분석 결과 값이 정상치 인지, 또는 이상치 인지를 판단할 수 있다. 분석 서버(11)는 후보 인공지능 모델이 산출하는 지표가 임계 값을 초과하는 경우, 해당 후보 인공지능 모델에서 산출되는 지표가 이상치인 것으로 결정할 수 있다.
예를 들어, 분석 서버(11)는 하나의 후보 인공지능 모델을 통한 새로운 분석 결과 값과 기존 분석 결과 값의 평균 간의 차이를 기존 분석 결과 값의 표준편차로 나눈 값이 임계 값을 초과하는 경우, 새로운 분석 결과 값이 이상치인 것으로 결정할 수 있다. 따라서 후보 인공지능 모델이 생산 데이터에 부적합한 모델인 경우에는 모델에서 산출되는 지표 자체가 없거나 비정상적일 것이고, 적합한 모델인 경우에는 유의미한 지표가 산출될 수 있다.
예를 들어, 볼트의 머리 외경의 지름을 구할 수 있는 인공지능 모델 A에 너트가 촬영된 사진을 분석하면, 모델 A는 결과값을 아예 산출하지 못하거나, 기존 분석에서 나오던 결과값의 범위를 크게 벗어나는 이상치를 산출할 가능성이 높다.
이처럼 분석 서버(11)는 후보 인공지능 모델 각각이 산출하는 지표에 기초하여 분석 점수를 매길 수 있고, 분석 점수에 기초하여 대상 인공지능 모델을 결정할 수 있다. 분석 서버(11)는, 후보 인공지능 모델을 통한 새로운 분석 결과, 기존 분석 결과, 이상치 데이터 각각의 개수, 분석 시간, 표준편차 등에 기초하여 후보 인공지능 모델에 대한 분석 점수를 계산할 수 있다. 예를 들어, 분석 서버(11)는 [수학식 2]에 따라 분석 점수를 계산할 수 있다.
분석 서버(11)는, 분석 점수 값이 클 수록 적합하지 않은 모델이며, 후보 인공지능 모델 중 분석 점수의 값이 가장 작은 모델을 대상 인공지능 모델로 결정할 수 있다. 이러한 분석 점수에 관한 설명은 예시에 해당하며 발명이 이에 한정되는 것은 아니고, 분석 서버(11)는, 후보 인공지능 모델이 산출하는 지표에 따라 새로운 분석 결과 값이 기존 분석 결과 값에 부합하는 정도가 가장 큰 모델을 대상 인공지능 모델로 결정하도록 하기 위한 다양한 방식을 활용할 수 있다.
분석 서버(11)는, 대상 인공지능 모델을 N개의 GPU(13_1-13_N) 중 유휴 GPU에 적재하고, 생산 데이터를 인공지능 분석할 수 있다(S305).
분석 서버(11)는 N개의 GPU(13_1-13_N) 중 사용하지 않는 인공지능 모델이 할당된 GPU로부터 인공지능 모델을 할당 해제하고, 대상 인공지능 모델을 유휴 GPU에 적재할 수 있다. 분석 서버(11)가 LRU(Least Recently Used) 알고리즘을 활용하여 사용되지 않는 인공지능 모델을 비활성화하고, 인공지능 모델 별 사용량 통계를 시분할하여 주요 사용 시간대에만 인공지능 모델을 활성화하는 방법으로 GPU를 할당 또는 할당 해제하여 한정된 GPU 자원을 효율적으로 활용할 수 있다.
분석 서버(11)는 복수의 인공지능 모델 각각에 마지막으로 사용된 시간을 기록한 뒤, 만약 새로운 대상 인공지능 모델을 메모리에 적재해야 하는데 남아있는 메모리의 가용 공간이 없다면, 사용한 지 가장 오래된 모델을 자동으로 할당 해제한 뒤 필요한 새로운 대상 인공지능 모델을 메모리에 적재할 수 있다.
도 6은 GPU의 메모리에 인공지능 모델이 할당되는 동작을 설명하기 위한 예시도이다. 도 6을 참조하면, N=4인 경우, 4개의 GPU 메모리 공간에 인공지능 모델이 시간 t에 따라 순차적으로 할당 또는 할당 해제될 수 있다. 4개의 GPU 메모리는 가장 위의 사각형부터 아래로 순차적으로 메모리 (a), (b), (c), 및 (d)로 설명한다. T1 시점에 인공지능 모델 1번을, T2 시점에 인공지능 모델 2번을, T3 시점에 인공지능 모델 3번을, T4 시점에 인공지능 모델 4번을 각각 사용하고자 하면, T4 시점에는 메모리 (a), (b), (c), 및 (d) 각각에 인공지능 모델 1, 2, 3, 및 4번을 할당된다. 분석 서버(11)가 T5 시점에 인공지능 모델 1번을 사용하고자 하면, 메모리 (a)에 할당된 인공지능 모델 1번을 사용할 수 있고, T6 시점에 인공지능 모델 2번을 사용하고자 하면, 메모리 (b)에 할당된 인공지능 모델 2번을 사용할 수 있다. 분석 서버(11)가 T7 시점에 인공지능 모델 5번을 사용하고자 하면, 메모리 (a), (b), (c), 및 (d) 각각에 인공지능 모델 5번이 할당되어 있지 않고 남아있는 메모리의 가용 공간이 없으므로, 사용한 지 가장 오래된 인공지능 모델 3번을 메모리 (c)로부터 할당해제한 뒤, 인공지능 모델 5번을 메모리 (c)에 할당한다. 분석 서버(11)가 T8 시점에 인공지능 모델 1번을 사용하고자 하면, 메모리 (a)에 할당된 인공지능 모델 1번을 사용할 수 있고, T9 시점에 인공지능 모델 2번을 사용하고자 하면, 메모리 (b)에 할당된 인공지능 모델 2번을 사용할 수 있다. 분석 서버(11)가 T10 시점에 인공지능 모델 3번을 사용하고자 하면, 메모리 (a), (b), (c), 및 (d) 각각에 인공지능 모델 3번이 할당되어 있지 않고 남아있는 메모리의 가용 공간이 없으므로, 사용한 지 가장 오래된 인공지능 모델 4번을 메모리 (d)로부터 할당해제한 뒤, 인공지능 모델 3번을 메모리 (d)에 할당한다. 분석 서버(11)가 T11 시점에 인공지능 모델 4번을 사용하고자 하면, 메모리 (a), (b), (c), 및 (d) 각각에 인공지능 모델 4번이 할당되어 있지 않고 남아있는 메모리의 가용 공간이 없으므로, 사용한 지 가장 오래된 인공지능 모델 5번을 메모리 (c)로부터 할당해제한 뒤, 인공지능 모델 4번을 메모리 (c)에 할당한다. 분석 서버(11)가 T12 시점에 인공지능 모델 5번을 사용하고자 하면, 메모리 (a), (b), (c), 및 (d) 각각에 인공지능 모델 5번이 할당되어 있지 않고, 남아있는 메모리의 가용 공간이 없으므로, 사용한 지 가장 오래된 인공지능 모델 1번을 메모리 (a)로부터 할당해제한 뒤, 인공지능 모델 5번을 메모리 (a)에 할당한다.
또한 분석 서버(11)는, GPU의 사용성과 인공지능 분석 속도를 향상시키기 위하여 주요 사용 시간대에만 인공지능 모델을 활성화할 수 있다. 미들웨어 서버(14)는 복수의 인공지능 모델 각각에 대해 시간대별, 일별, 주별 사용량을 측정할 수 있다. 미들웨어 서버(14)는 시간 별로 세분화된 복수의 인공지능 모델 각각의 사용량 통계를 데이터베이스(15)에 기록될 수 있다. 분석 서버(11)는 사용량 통계에 기초하여 특정 시간대에 사용량이 적은 모델은 특정 시간대에 미리 할당을 해제하거나 모델이 점유하는 GPU의 개수를 줄이고, 특정 시간대에 사용량이 많은 모델은 여러 GPU에 미리 할당해 놓을 수 있다.
분석 서버(11)는, N개의 GPU(13_1-13_N) 중 대상 인공지능 모델을 유휴 GPU에 적재하고, 생산 데이터를 분석하여 인공지능 분석 결과를 생성할 수 있다. 인공지능 분석 결과는, 생산 제품의 불량을 판별한 결과를 포함할 수 있다. 예를 들어, 대상 인공지능 모델을 통해 생산 데이터를 분석한 결과가 이상치에 해당하면 생산 제품이 불량인 것으로 판단할 수 있다.
분석 서버(11)는 복수의 인공지능 모델 중 사용할 모델을 구독하는 형식으로 사용할 수 있다. 인공지능 모델의 임대료는 사용한 만큼(On-demand)만 지불될 수 있다. 제품 공정의 변경으로 기존에 사용하던 인공지능 모델을 더 이상 사용하지 않는 경우, 분석 서버(11)는 사용하지 않는 인공지능 모델을 GPU에서 할당 해제하고, 해당 모델의 구독을 중지할 수 있다. 따라서 분석 서버(11)는 인공지능 모델과 GPU를 필요한 때, 필요한 만큼만 사용할 수 있으므로, 유휴 시간만큼의 운영 비용 절감이 가능하다.
도 7은 도 3의 S3 단계에서 분석 서버가 대상 인공지능 모델을 결정한 이후의 동작에 대한 세부 순서도이다.
분석 서버(11)는, 생산 데이터의 파일 헤더를 통해 생산 데이터의 파일 유형을 검사할 수 있다(S311). 분석 서버(11)는, S311 단계에서 S301 단계와 동일하게 동작할 수 있다.
생산 데이터를 전달한 클라이언트(16) 및 생산 데이터의 파일 헤더에 기초하여 이미 대상 인공지능 모델이 결정된 클라이언트(16) 및 파일 헤더에 대해서는, 분석 서버(11)는, 대상 인공지능 모델을 N개의 GPU 중 유휴 GPU에 적재하고 생산 데이터를 인공지능 분석할 수 있다(S312). 분석 서버(11)는, S312 단계에서 S305 단계와 동일하게 동작할 수 있다. 분석 서버(11)는, N개의 GPU(13_1-13_N) 중 대상 인공지능 모델을 유휴 GPU에 적재하고, 생산 데이터를 분석하여 인공지능 분석 결과를 생성할 수 있다. 인공지능 분석 결과는, 생산 제품의 불량을 판별한 결과를 포함할 수 있다.
도 3을 참조하면, 분석 서버(11)는 인공지능 분석 결과를 클라이언트(16)에 전달하고, 미들웨어 서버(14)를 통해 데이터베이스(15)에 분석 결과 및 통계를 저장하며, 웹서버/미들웨어 서버(14)에 전달할 수 있다(S4).
클라이언트(16)는 수신한 인공지능 분석 결과를 PLC(19)에 전달하고, PLC(19)는 인공지능 분석 결과에 따라 불량으로 판별된 생산품을 공정에서 제외시키는 명령을 생산 설비(2)에 전달할 수 있다.
웹서버/미들웨어 서버(14)는 시스템 관리자, 생산 관리자 등이 인공지능 분석 결과를 웹을 통해 조회하도록 하는 서비스를 제공할 수 있다(S5).
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였으나, 본 발명의 권리범위가 이에 한정되는 것은 아니며 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 여러 가지로 변형 및 개량한 형태 또한 본 발명의 권리범위에 속한다.
1 : 품질 검사 시스템
11 : 분석 서버
12 : 인공지능 모델 저장소
13 : GPU 클러스터
13_1-13_N : GPU
14 : 웹서버/미들웨어 서버
15 : 데이터베이스
16 : 클라이언트
17 : 카메라
18 : 센서부
19 : PLC
2 : 생산 설비

Claims (13)

  1. 복수의 인공지능 모델을 저장하는 인공지능 모델 저장소;
    생산 설비의 공정에서 생산되는 제품을 촬영하는 카메라 및 상기 제품의 상태 및 상기 공정의 동작 상황을 체크하는 복수의 센서 중 적어도 하나로부터 데이터를 수집하는 클라이언트;
    상기 클라이언트로부터 상기 수집된 데이터를 수신하고, 상기 수집된 데이터를 상기 복수의 인공지능 모델 각각에 대응하는 복수의 기준 데이터 각각과 비교하여 상기 복수의 인공지능 모델 중 복수의 후보 인공지능 모델을 선택하며, 상기 복수의 후보 인공지능 모델 각각으로 상기 수집된 데이터를 분석한 결과에 기초하여 상기 복수의 후보 인공지능 모델 중 활성화할 인공지능 모델을 대상 인공지능 모델로 결정하고, 상기 수집된 데이터를 상기 대상 인공지능 모델을 통해 분석하여 상기 제품의 양불을 판별하는 분석 서버; 및
    복수의 GPU 중 유휴 GPU에 상기 대상 인공지능 모델을 적재하는 복수의 GPU 클러스터를 포함하는, 품질 검사 시스템.
  2. 제1항에 있어서,
    상기 분석 서버는,
    상기 수집된 데이터의 파일 헤더를 통해 상기 수집된 데이터의 파일 유형을 검사하고, 상기 파일 유형에 따라 상기 수집된 데이터를 상기 복수의 인공지능 모델 각각에 대응하는 복수의 기준 데이터 각각과 비교하여 상기 복수의 기준 데이터 각각과 상기 수집된 데이터 간의 복수의 유사도를 측정하고, 상기 복수의 유사도에 기초하여 상기 복수의 인공지능 모델 중 복수의 후보 인공지능 모델을 선택하는, 품질 검사 시스템.
  3. 제2항에 있어서,
    상기 파일 유형이 시계열 데이터인 경우에는,
    상기 분석 서버는,
    하나의 기준 데이터의 값과 수집된 데이터의 값 간의 평균 제곱 오차 값이 작을 수록 상기 하나의 기준 데이터와 상기 수집된 데이터 간의 유사도가 높은 것으로 판단하는, 품질 검사 시스템.
  4. 제2항에 있어서,
    상기 파일 유형이 이미지 데이터인 경우에는,
    상기 분석 서버는,
    하나의 기준 데이터인 제1 이미지의 해시 값 및 수집된 데이터인 제2 이미지의 해시 값을 비교하여, 상기 제1 이미지의 해시 값 및 상기 제2 이미지의 해시 값 간의 해밍 거리가 짧을 수록 상기 제1 이미지 및 상기 제2 이미지 간의 유사도가 높은 것으로 판단하는, 품질 검사 시스템.
  5. 제1항에 있어서,
    상기 분석 서버는,
    상기 복수의 후보 인공지능 모델 각각으로 상기 수집된 데이터를 인공지능 분석하고, 상기 각 후보 인공지능 모델로 기존에 산출된 제1 결과 값과 상기 수집된 데이터를 상기 각 후보 인공지능 모델로 분석하여 산출한 제2 결과 값 각각의 개수, 평균, 표준편차, 및 분석 시간 중 적어도 하나에 기초하여 상기 제2 결과 값이 정상치 인지, 또는 이상치 인지를 판단하고, 상기 제1 결과 값 및 상기 제2 결과 값 각각의 개수, 평균, 표준편차, 분석 시간, 및 상기 이상치로 판단된 데이터의 개수 중 적어도 하나에 기초하여 상기 복수의 후보 인공지능 모델 중 하나를 상기 대상 인공지능 모델로 결정하는, 품질 검사 시스템.
  6. 제1항에 있어서
    상기 수집된 데이터를 상기 대상 인공지능 모델을 통해 분석한 결과를 상기 분석 서버로부터 상기 클라이언트를 통해 수신하고, 상기 분석한 결과에 따라 불량으로 판별된 생산품을 공정에서 제외시키는 명령을 상기 생산 설비에 전달하는 PLC를 더 포함하는, 품질 검사 시스템.
  7. 클라이언트가, 생산 설비의 공정에서 생산되는 제품을 촬영하는 카메라 및 상기 제품의 상태 및 상기 공정의 동작 상황을 체크하는 복수의 센서를 포함하는 센서부로부터 생산 데이터를 수집하는 단계;
    상기 클라이언트가, 네트워크를 통해 상기 생산 데이터를 분석 서버에 전달하는 단계;
    상기 분석 서버가, 인공지능 모델 저장소에 저장된 복수의 인공지능 모델 중 하나의 대상 인공지능 모델을 선택하는 단계;
    상기 분석 서버가, 상기 대상 인공지능 모델을 복수의 GPU 중 유휴 GPU에 적재하고, 상기 유휴 GPU를 통해 상기 생산 데이터를 상기 대상 인공지능 모델로 분석하는 단계;
    상기 분석 서버가, 상기 분석한 결과를 상기 클라이언트에 전달하는 단계;
    상기 분석 서버가, 미들웨어 서버에 상기 분석한 결과를 전달하는 단계;
    상기 미들웨어 서버가, 데이터베이스에 상기 분석한 결과를 저장하는 단계; 및
    상기 미들웨어 서버가, 상기 분석한 결과가 웹을 통해 조회될 수 있도록 하는 서비스를 제공하는 단계를 포함하는, 품질 검사 방법.
  8. 제7항에 있어서,
    상기 하나의 대상 인공지능 모델을 선택하는 단계는,
    상기 생산 데이터의 파일 헤더를 통해 상시 생산 데이터의 파일 유형을 검사하는 단계;
    상기 파일 유형에 기초하여 상기 복수의 인공지능 모델 각각에 대응하는 복수의 기준 데이터 각각과 상기 생산 데이터를 비교하여 상기 복수의 기준 데이터 각각과 상기 생산 데이터 간의 복수의 유사도를 측정하는 단계;
    상기 복수의 유사도에 기초하여 복수의 후보 인공지능 모델을 선택하는 단계; 및
    상기 복수의 인공지능 모델 각각으로 상기 생산 데이터를 분석한 결과에 기초하여 상기 복수의 후보 인공지능 모델 중 하나를 대상 인공지능 모델로 결정하는 단계를 포함하는, 품질 검사 방법.
  9. 제8항에 있어서,
    상기 복수의 기준 데이터 각각과 상기 생산 데이터 간의 복수의 유사도를 측정하는 단계는,
    상기 파일 유형이 시계열 데이터인 경우에는, 하나의 기준 데이터의 값과 수집된 데이터의 값에 기초하여 상기 복수의 기준 데이터 각각에 대응하는 복수의 평균 제곱 오차 값을 계산하는 단계; 및
    상기 복수의 평균 제곱 오차 값 중 가장 작은 평균 제곱 오차에 대응하는 하나의 기준 데이터를 상기 수집된 데이터와의 유사도가 가장 높은 것으로 판단하는 단계를 포함하는, 품질 검사 방법.
  10. 제9항에 있어서,
    상기 복수의 기준 데이터 각각과 상기 생산 데이터 간의 복수의 유사도를 측정하는 단계는,
    상기 파일 유형이 이미지 데이터인 경우에는,
    하나의 기준 데이터인 제1 이미지 및 수집된 데이터인 제2 이미지 각각을 고정된 사이즈로 축소하는 단계;
    상기 제1 이미지 및 상기 제2 이미지 각각을 흑백으로 변경하는 단계;
    상기 제1 이미지 및 상기 제2 이미지 각각의 픽셀의 평균 값을 계산하는 단계;
    상기 평균 값을 기초로 상기 제1 이미지의 해시 값 및 상기 제2 이미지의 해시 값을 결정하는 단계; 및
    상기 제1 이미지의 해시 값 및 상기 제2 이미지의 해시 값에 기초하여 상기 하나의 기준 데이터와 상기 수집된 데이터 간의 유사도를 결정하는 단계를 더 포함하는, 품질 검사 방법.
  11. 제8항에 있어서,
    상기 복수의 후보 인공지능 모델 중 하나를 대상 인공지능 모델로 결정하는 단계는,
    상기 복수의 후보 인공지능 모델 각각으로 상기 수집된 데이터를 인공지능 분석하는 단계;
    상기 각 후보 인공지능 모델로 기존에 산출된 제1 결과 값과 상기 수집된 데이터를 상기 각 후보 인공지능 모델로 분석하여 산출한 제2 결과 값 각각의 개수, 평균, 표준편차, 및 분석 시간 중 적어도 하나에 기초하여 상기 제2 결과 값이 정상치 인지, 또는 이상치 인지를 판단하는 단계; 및
    상기 제1 결과 값 및 상기 제2 결과 값 각각의 개수, 평균, 표준편차, 분석 시간, 및 상기 이상치로 판단된 데이터의 개수 중 적어도 하나에 기초하여 상기 복수의 후보 인공지능 모델 중 하나를 상기 대상 인공지능 모델로 결정하는 단계를 포함하는, 품질 검사 방법.
  12. 제7항에 있어서,
    상기 분석 서버가, 상기 복수의 GPU 메모리 중 적어도 하나의 메모리에 상기 복수의 인공지능 모델 중 하나의 인공지능 모델을 할당하는 단계;
    상기 분석 서버가, 수집한 데이터를 상기 하나의 인공지능 모델을 통해 분석하는 단계; 및
    상기 미들웨어 서버가, 상기 하나의 인공지능 모델이 사용된 시점을 데이터베이스에 기록하는 단계를 더 포함하고,
    상기 대상 인공지능 모델을 복수의 GPU 중 유휴 GPU에 적재하고, 상기 유휴 GPU를 통해 상기 생산 데이터를 상기 대상 인공지능 모델로 분석하는 단계는,
    상기 복수의 GPU 메모리 중 가용 공간이 없는 경우, 상기 분석 서버가, 상기 하나의 인공지능 모델이 사용된 시점에 기초하여 상기 복수의 GPU 메모리 중 적어도 하나의 메모리에 상기 대상 인공지능 모델을 할당하는 단계를 포함하는, 품질 검사 방법.
  13. 제12항에 있어서,
    상기 대상 인공지능 모델을 할당하는 단계는,
    상기 하나의 인공지능 모델이 사용된 시점이 상기 복수의 GPU 메모리 중 상기 적어도 하나의 메모리를 제외한 나머지 메모리에 할당된 다른 인공지능 모델 각각이 사용된 시점들 이전이면, 상기 분석 서버가, 상기 적어도 하나의 메모리에서 상기 하나의 인공지능 모델을 할당 해제하는 단계; 및
    상기 분석 서버가, 상기 적어도 하나의 메모리에 상기 대상 인공지능 모델을 할당하는 단계를 포함하는, 품질 검사 방법.
KR1020220081478A 2022-07-01 2022-07-01 인공지능 기반 머신비전 품질 검사 시스템 및 품질 검사 방법 KR20240003647A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220081478A KR20240003647A (ko) 2022-07-01 2022-07-01 인공지능 기반 머신비전 품질 검사 시스템 및 품질 검사 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220081478A KR20240003647A (ko) 2022-07-01 2022-07-01 인공지능 기반 머신비전 품질 검사 시스템 및 품질 검사 방법

Publications (1)

Publication Number Publication Date
KR20240003647A true KR20240003647A (ko) 2024-01-09

Family

ID=89538481

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220081478A KR20240003647A (ko) 2022-07-01 2022-07-01 인공지능 기반 머신비전 품질 검사 시스템 및 품질 검사 방법

Country Status (1)

Country Link
KR (1) KR20240003647A (ko)

Similar Documents

Publication Publication Date Title
US11675068B2 (en) Data processing method and device based on multi-sensor fusion, and multi-sensor fusion method
KR102125219B1 (ko) 데이터 처리 방법, 장치, 시스템, 프로그램 및 컴퓨터 판독가능한 기록매체
CN112446395B (zh) 网络摄像机、视频监控系统及方法
US20200092463A1 (en) Method and system for performing object detection using a convolutional neural network
KR20200087310A (ko) 인공지능 영상판독 딥러닝 학습을 위한 애노테이션 학습데이터 생성과 증강 시스템 및 방법
CN112102263A (zh) 缺陷检测模型生成系统、方法、装置和计算机设备
US11594043B1 (en) People and vehicle analytics on the edge
WO2022135539A1 (zh) 设备配置参数处理方法和装置、数据分析方法和装置、计算设备、计算机可读存储介质、以及计算机程序产品
WO2023183773A1 (en) Hyperzoom attribute analytics on the edge
CN112506637A (zh) 图像数据处理方法、装置、计算机设备和存储介质
CN114079801A (zh) 按需将元数据叠加到视频流上以进行智能视频分析
CN112085078A (zh) 图像分类模型生成系统、方法、装置和计算机设备
KR20210136286A (ko) 비디오 데이터 통합 분석 및 관리 시스템
US11979660B2 (en) Camera analyzing images on basis of artificial intelligence, and operating method therefor
KR20220032627A (ko) 프레임 처리방법 및 장치
CN114612414A (zh) 图像处理方法、模型训练方法、装置、设备及存储介质
JPWO2020066209A1 (ja) 粒子解析用データ生成方法、粒子解析用データ生成プログラム、及び粒子解析用データ生成装置
US20210390802A1 (en) Method, Computer Program And Device For Processing Signals
JP2020204800A (ja) 学習用データセット生成システム、学習サーバ、及び学習用データセット生成プログラム
CN103913150A (zh) 智能电能表电子元器件一致性检测方法
KR20240003647A (ko) 인공지능 기반 머신비전 품질 검사 시스템 및 품질 검사 방법
JP2010250634A (ja) 画像サーバー、画像検索システム、画像検索方法およびインデックス作成方法
CN114299170A (zh) 一种颜色推荐方法、装置、设备以及存储介质
CN118093794B (zh) 一种新型的图形数据转换和可视化方法及系统
CN115861033B (zh) 一种图像数据处理方法、装置、计算机设备及存储介质