KR102252590B1 - 기계학습 환경에 기초한 테스트 환경을 설정하는 방법 및 장치 - Google Patents

기계학습 환경에 기초한 테스트 환경을 설정하는 방법 및 장치 Download PDF

Info

Publication number
KR102252590B1
KR102252590B1 KR1020180138109A KR20180138109A KR102252590B1 KR 102252590 B1 KR102252590 B1 KR 102252590B1 KR 1020180138109 A KR1020180138109 A KR 1020180138109A KR 20180138109 A KR20180138109 A KR 20180138109A KR 102252590 B1 KR102252590 B1 KR 102252590B1
Authority
KR
South Korea
Prior art keywords
image
test
learning
environment
test environment
Prior art date
Application number
KR1020180138109A
Other languages
English (en)
Other versions
KR20200055834A (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 KR1020180138109A priority Critical patent/KR102252590B1/ko
Publication of KR20200055834A publication Critical patent/KR20200055834A/ko
Application granted granted Critical
Publication of KR102252590B1 publication Critical patent/KR102252590B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0243Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model
    • G05B23/0254Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults model based detection method, e.g. first-principles knowledge model based on a quantitative model, e.g. mathematical relationships between inputs and outputs; functions: observer, Kalman filter, residual calculation, Neural Networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/0227Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
    • G05B23/0235Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions based on a comparison with predetermined threshold or range, e.g. "classical methods", carried out during normal operation; threshold adaptation or choice; when or how to compare with the threshold
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N5/232

Abstract

학습 환경에 기초한 테스트 환경을 설정하는 방법 및 장치를 제시하며, 테스트 환경을 설정하는 방법 및 장치는 테스트 환경을 설정하는 장치에 있어서, 인공신경망의 학습 시 환경요소에 대한 정보인 학습환경정보를 획득하고, 획득된 학습환경정보를 기초로 상기 인공신경망을 이용한 테스트를 수행하는 테스트 환경을 설정하는 테스트환경설정부 및 상기 학습환경정보를 저장하는 메모리를 포함할 수 있다.

Description

기계학습 환경에 기초한 테스트 환경을 설정하는 방법 및 장치{METHOD AND APPARATUS FOR SETTING TEST ENVIRONMENT BASED ON MACHINE LEARNING ENVIRONMENT}
본 명세서에서 개시되는 실시예들은 기계학습 환경에 기초한 테스트 환경을 설정하는 방법 및 장치에 관한 것으로, 보다 상세하게는 기계학습 시 사용된 정보가 획득된 환경정보를 수치화하고, 기계학습시의 환경정보에 따라 테스트 환경을 구성할 수 있도록 가이드라인을 제공하는 테스트 환경을 설정하는 방법 및 장치에 관한 것이다.
컴퓨팅 기술의 발전에 따라 기계학습의 적용이 증가하고 있다. 특히, 최근에는 기계학습 중에서 인공신경망 대변되는 딥러닝 기술이 비약적으로 발전하고 있으며, 다양한 산업 현장에서 응용 사례가 늘어가고 있다. 제조업 분야에 있어서도 인공신경망은 혁신적으로 제조 현장을 변화시켜 가고 있다.
기존 룰(Rule) 기반의 테스트 방식은 생산라인에서 발생하는 비정형 불량을 검출하지 못했지만, 인공신경망은 비정형 불량을 사람과 같이 추출하는 것이 가능하다. 기존에는 비정형 불량에 대해 제품의 생산라인에서 사람이 직접 불량을 판단하였으나, 이제는 인공신경망을 이용한 머신비전을 이용하여 제품의 불량여부를 판단하여 적용하는 사례가 늘고 있다.
인공신경망은 사람과 유사하게 학습한 형태에 대해서는 판단(테스트)이 가능하지만, 인공신경망은 학습시키지 않은 형태에 대해서는 판단이 불가능하여, 인공신경망을 이용한 제품의 비정형 불량 판단의 강건성과 유연성은 높지 않다는 문제점이 있다.
특히, 제조 현장에서는 다양한 조건으로 설치 환경이 변경 될 수 있는데, 인공신경망을 다양한 조건으로 학습시키지 않으면 그 설치 환경에 대응하는 테스트가 실패할 수 있다.
이를 위해, 다양한 조건으로 인공지능을 학습시켜 보편적으로 넓은 테스트 커버리지를 제공할 수 있으나 각 제조 환경 별 특수한 환경에서 테스트하는 경우에는 인공지능의 학습 성능이 떨어질 수 밖에 없다.
예를 들어, 스크래치, 얼룩과 같은 비정형 불량을 테스트하는 경우, 머신비전 설치 환경(카메라 내부 조명 또는 외부 조명, 카메라 조리개, 카메라 초점, 센서 밝기, 설치거리 등) 설정에 따라 스크래치와 얼룩이 더욱 부각되어 나타날 수 있다.
그리고 이와 같이 스크래치와 얼룩이 더욱 부각되는 특수한 환경에서 인공신경망의 학습(Training)을 수행해야 좋은 테스트(검사(Inspection))결과가 도출될 수 있다.
이때, 학습된 인공신경망의 환경 조건과 테스트할 카메라의 환경정보와 상이한 경우, 동일한 제품을 카메라로 촬영하였음에도 획득된 이미지가 상이한 문제가 발생할 수 있다.
예를 들어, 인공신경망으로 기 설정된 초점(Focus) 거리에서의 동작만 학습시켰다면, 초점이 달리 설정된 테스트 카메라에서는 테스트가 실패할 수 있다. 즉, 카메라와 시료상의 동작 거리(Working Distance)를 500mm에서 학습시켰으나, 1000mm 근방에서 동작하는 카메라를 이용하는 경우, 인공신경망을 이용한 테스트는 실패할 수 있다.
카메라 밝기와 관련된 파라미터 값 예를들어, 카메라의 노출(Exposure) 값이 변화됨에 따라 얼룩이나 스크래치가 특정 노출에서만 보일 수 있다. 센서 밝기(Gain)나 영상의 밝기(Brightness)도 마찬가지이며, 조리개 열림 정도, 외부 조명 밝기 레벨 정도에 따라서도 얼룩이나 스크래치가 이미지로 보이는 수준이 다를 수 있다.
이와 같이, 인공지능을 이용한 테스트를 수행할 환경조건에 따라 머신비전을 통해 획득되는 이미지가 상이하게 되어 테스트결과가 상이하다는 문제점이 있다.
관련하여 선행기술 문헌인 한국특허공개번호 제10-2000-0087346 호는 인터넷 인공지능 학습 및 관리 방법에 관한 것이다. 인터넷을 통하여 선생과 학습자를 등록시키고 선생은 사용하고자 하는 문제출제와 시험문제를 만들어 사용할 수 있으며, 학습자는 문제데이터 베이스에 수록된 문제를 출제받아 학습하고 그 학습 결과를 정밀하게 평가 받은 내용에 대해 기술하고 있다. 하지만, 상술된 문제점을 해결할 수 없다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 명세서에서 개시되는 실시예들은, 기계학습(인공신경망) 학습시 환경정보를 수치화하고, 수치화된 환경정보를 제공하는 테스트 환경을 설정하는 방법 및 장치를 제시하는데 목적이 있다.
본 명세서에서 개시되는 실시예들은, 테스트 환경을 분석하고 테스트 환경정보와 학습환경정보를 비교하여 테스트 환경 구성을 위한 가이드를 제공하는 테스트 환경을 설정하는 방법 및 장치를 제시하는데 목적이 있다.
본 명세서에서 개시되는 실시예들은, 학습 환경과 테스트 환경의 일치 정도를 연산하여 제공하는 테스트 환경을 설정하는 방법 및 장치를 제시하는데 목적이 있다.
본 명세서에서 개시되는 실시예들은, 학습 환경과 테스트 환경의 일치 정도가 기 설정된 조건 미만이면 경고 메시지를 제공하는 테스트 환경을 설정하는 방법 및 장치를 제시하는데 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면, 테스트 환경을 설정하는 장치에 있어서, 인공신경망의 학습 시 환경요소에 대한 정보인 학습환경정보를 획득하고, 획득된 학습환경정보를 기초로 상기 인공신경망을 이용한 테스트를 수행하는 테스트 환경을 설정하는 테스트환경설정부 및 상기 학습환경정보를 저장하는 메모리를 포함할 수 있다.
다른 실시예에 따르면, 테스트환경설정장치가 테스트 환경을 설정하는 방법에 있어서, 인공신경망의 학습 시 환경요소에 대한 정보인 학습환경정보를 획득하는 단계 및 획득된 학습환경정보를 기초로 상기 인공신경망을 이용한 테스트를 수행하는 테스트 환경을 설정하는 단계를 포함할 수 있다.
또 다른 실시예에 따르면, 테스트환경설정방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체로서, 상기 테스트환경설정방법은 인공신경망의 학습 시 환경요소에 대한 정보인 학습환경정보를 획득하는 단계 및 획득된 학습환경정보를 기초로 상기 인공신경망을 이용한 테스트를 수행하는 테스트 환경을 설정하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 테스트환경설정장치에 의해 수행되며, 테스트환경설정방법을 수행하기 위해 기록매체에 저장된 컴퓨터프로그램으로서, 상기 테스트환경설정방법은 인공신경망의 학습 시 환경요소에 대한 정보인 학습환경정보를 획득하는 단계 및 획득된 학습환경정보를 기초로 상기 인공신경망을 이용한 테스트를 수행하는 테스트 환경을 설정하는 단계를 포함할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 기계학습(인공신경망) 학습시 환경정보를 수치화하고, 수치화된 환경정보를 기초로 테스트 환경을 설정하는 방법 및 장치를 제시할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 테스트 환경을 분석하고 테스트 환경정보와 학습환경정보를 비교하여 테스트 환경 구성을 위한 가이드를 제공하여 빠르게 테스트 환경을 학습 환경과 유사하게 하는 테스트 환경을 설정하는 방법 및 장치를 제시할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 학습 환경과 테스트 환경의 유사도를 계산하여 제공함으로써 테스트 환경과 학습 환경간의 차이를 정확하게 식별할 수 있도록 하는 테스트 환경을 설정하는 방법 및 장치를 제시할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 학습 환경과 테스트 환경의 유사도가 기 설정된 조건 미만이면 경고 메시지를 제공하여 테스트 사전에 테스트 환경을 설정할 수 있도록 하는 테스트 환경을 설정하는 방법 및 장치를 제시할 수 있다.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1 및 도 2 는 일 실시예에 따른 테스트환경설정장치를 포함하는 시스템을 도시한 구성도이다.
도 3 은 일 실시예에 따른 테스트환경설정장치의 구성을 도시한 블록도이다.
도 4 는 일 실시예에 따른 테스트환경설정방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.
이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.
다만 이를 설명하기에 앞서, 아래에서 사용되는 용어들의 의미를 먼저 정의한다.
‘머신 비전’은 물체를 테스트하거나 측정하기 위해, 사람이 육안으로 판단하던 기존의 방식을 대신하여, 카메라(시각 인식), CPU, SW를 통해 산업을 자동화 시켜주는 것을 의미한다.
‘머신 비전’은 이미지 또는 영상으로부터 객체의 패턴(pattern)을 매칭하거나, 점, 선 또는 면을 피팅(fitting)하거나, 컬러를 구분하거나, 대상을 측정(gauging)하기도 하고, 로봇 가이드를 위해 위치정보를 제공하거나, 객체에 표시된 1D, 2D 바코드를 판독하거나 광학문자판독(OCR)을 수행할 수 있다. 이러한 과정을 통해 물체를 테스트, 측정 또는 판독되어 산업의 자동화가 구현될 수 있다.
과거에는 스크래치나 얼룩과 같은 비정형 불량의 경우 그 동안의 정해진 법칙에 따른 컴퓨터 비전으로 해결이 어려웠으며, 육안으로 테스트를 진행하여 왔다. 최근에는 인공신경망 기술이 ‘머신 비전’에 적용되어 그 동안 육안으로만 해결해왔던 문제들을 해결해 가고 있다.
이때, ‘인공신경망’은 생물 신경계의 고도의 정보처리기구를 공학적으로 모방해서 입력과 출력을 상호간에 상세히 관련지어 복잡한 제어를 하는 정보처리기술로 스위치나 각 센서 등에서 신호를 보내는 입력 레이어, 그 정보를 바탕으로 입력과 출력의 우선순위를 정하면서 상호관계를 조정하는 은닉 레이어, 이것을 바탕으로 필요한 제어량을 산출해서 출력하는 출력 레이어로 구성된 3종류의 뉴론(신경세포) 모델이 복수로 연결된 네트워크이다.
그리고 인공신경망을 구성하는 각 ‘레이어’는 적어도 하나의 ‘노드’로 구성될 수 있다. 그리고 각 레이어의 노드는 다음 레이어의 노드와의 연결관계를 형성할 수 있다.
이러한 인공신경망은 머신 비전을 이용한 테스트장치에 결합 또는 연결되어 획득된 이미지를 이용하여 물체를 테스트하거나 측정할 수 있으며, 이를 위해 인공신경망을 학습시킬 수 있다.
‘환경요소’는 인공신경망을 학습시키거나 또는 테스트하기 위해 인공신경망에 입력되는 정보에 영향을 주는 요소로 예를 들어, 조도, 조명색 등과 같은 카메라 주위의 환경, 카메라와 피사체 간의 거리, 카메라 정보, 이미지의 히스토그램과 같은 이미지의 특성 정보, FOV, 밝기, 칼라 등일 수 있다.
‘학습환경정보’는 인공신경망을 학습시키거나 또는 테스트하기 위해 인공신경망에 입력되는 정보를 획득할 시점의 환경요소를 파라미터로 수치화시킨 정보이다.
위에 정의한 용어 이외에 설명이 필요한 용어는 아래에서 각각 따로 설명한다.
도 1 및 도 2 는 일 실시예에 테스트환경설정장치(10)를 포함하는 시스템을 도시한 구성도이다.
도 1 은 제 1 실시예에 따른 시스템(100)의 구성도이다. 이러한 시스템(100)은 학습 시의 환경요소를 분석하여 테스트 시의 환경요소를 설정하고 설정된 테스트 환경요소에 따라 검사객체를 테스트하는 테스트환경설정장치(10)는 검사객체를 촬영하여 이미지를 획득하는 카메라(20) 및 학습영상을 이용하여 기계학습을 수행하는 학습장치(30)로 구성될 수 있다.
그리고 도 2 는 제 2 실시예에 따른 시스템(100)의 구성도이다. 이러한 시스템(100)은 검사객체를 촬영하여 이미지를 획득하는 카메라(20)가 포함되어 테스트 시의 환경요소를 설정하고 설정된 테스트 환경요소에따라 검사객체를 테스트하는 테스트환경설정장치(10)와 기계학습을 수행하는 학습장치(30)로 구성될 수 있다.
이때, 카메라(20)는 테스트환경설정장치(10)와 통신을 수행하는 통신부, 획득된 영상에 대해 필터링, 노이즈 보정, 영상포맷 설정 등을 수행함으로써 영상에 대한 전처리를 수행하는 이미지처리부(210), 렌즈(미도시)를 통해 촬영된 검사객체를 이미지로 획득할 수 있는 센서인 이미지센서부(220), 카메라(20)의 조리개를 조정하는 조리개조정부(230), 카메라(20)의 초점을 조정하는 초점조정부(240) 및 빛을 발광하는 조명(250)으로 구성될 수 있다.
그리고 학습장치(30)는 테스트환경설정장치(10)와 통신을 수행하는 통신부, 학습영상을 학습하는 학습부, 학습된 정보를 저장하는 메모리 및 데이터의 입출력을 하는 입출력부로 구성될 수 있다.
이러한 시스템(100)은 상술된 실시예와 같이 테스트환경설정장치(10), 카메라(20), 학습장치(30)가 분리되어 구현되거나 일부 구성이 결합되어 하나의 구성으로 구현될 수 있다.
또한, 테스트환경설정장치(10)를 포함하는 시스템(100)의 구성은 상술된 실시예에 한정되지 않는다.
이하에서는 인공신경망의 학습 시 환경요소에 대한 정보인 학습환경정보를 기초로 테스트 환경에서 인공신경망을 이용한 테스트를 수행하는 테스트 환경을 설정하는 테스트환경설정장치(10)에 대해 상세 내용에 대해 설명한다.
테스트환경설정장치(10)은 네트워크(N)를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일 WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.
도 3 은 일 실시예에 테스트환경설정장치(10)를 설명하기 위한 블록도이다.
도 3 을 참조하면, 일 실시예에 따른 테스트환경설정장치(10)은, 입출력부(110), 테스트환경설정부(120), 통신부(130), 메모리(140) 및 검사부(150)를 포함할 수 있다.
입출력부(110)는 사용자로부터 입력을 수신하기 위한 입력부와, 작업의 수행 결과 또는 테스트환경설정장치(10)의 상태 등의 정보를 표시하기 위한 출력부를 포함할 수 있다. 예를 들어, 입출력부(110)는 사용자 입력을 수신하는 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함할 수 있다.
구체적으로, 입력부는 키보드, 물리 버튼, 터치 스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 또한, 출력부는 디스플레이 패널 또는 스피커 등을 포함할 수 있다. 다만, 이에 한정되지 않고 입출력부(110)는 다양한 입출력을 지원하는 구성을 포함할 수 있다.
그리고 테스트환경설정부(120)는 테스트환경설정장치(10)의 전체적인 동작을 제어하는 CPU 등과 같은 프로세서에 의해 제어될 수 있다.
테스트환경설정부(120)는 입출력부(110)를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 테스트환경설정장치(10)에 포함된 다른 구성들과 통신할 수 있다.
예를 들어, 테스트환경설정부(120)는 메모리(140)에 저장된 프로그램을 실행하거나, 메모리(140)에 저장된 파일을 읽어오거나, 새로운 파일을 메모리(140)에 저장할 수도 있다.
이하에서는 테스트환경설정부(120)가 인공신경망의 학습 시 환경요소에 대한 정보인 학습환경 정보를 기초로 테스트 환경에서 상기 인공신경망을 이용한 테스트를 수행하는 테스트 환경을 설정하기 위한 상세 내용을 설명한다.
테스트환경설정부(120)는 영상크기설정부(121), 영상밝기설정부(122) 및 카메라설치조건설정부(123)로 구성될 수 있다.
우선, 영상크기설정부(121)는 상기 학습 시의 학습영상의 크기를 분석하고, 분석된 학습영상의 크기에 기초하여 상기 테스트 환경에서 입력되는 테스트영상의 크기를 설정할 수 있다.
하나의 실시예에 따라, 영상크기설정부(121)는 테스트 환경의 카메라로부터 획득되는 테스트영상의 화소를 학습영상의 화소에 대응되도록 설정할 수 있다.
우선, 머신비전에서는 학습장치(30)의 인공신경망을 기계학습시키기 위해 카메라(20)를 통해 획득된 학습영상이 입력될 수 있다.
이때, 학습영상이 2차원일 경우 가로 x 세로 픽셀로 표시되며, 3차원일 경우 가로 x 세로 x 높이 픽셀로 표시된다. 그리고 학습영상이 흑백인 경우 각각의 픽셀들은 0부터 255까지의 Gray값 들을 갖게 되고, 영상이 컬러인 경우 RGB에 해당하는 3개의 채널에서 각각 0부터 255까지의 값을 갖는다.
이에 학습장치(30)가 학습에 이용된 영상은 2차원 또는 3차원이거나 흑백 또는 컬러일 수 있으며, 학습장치(30)가 학습한 학습영상은 그 유형이 고정되어 있다.
즉, 학습장치(30)가 학습 시 카메라(20)로부터 입력된 학습영상을 인공 신경망의 입력크기에 따라 리사이징하여 학습한 경우, 검사부(125)는 학습할 때와 동일한 크기의 영상이 테스트 시에 입력되지 않으면, 인공신경망이 동작하지 않게 된다.
예를 들어, 학습장치(30)가 1,280(pixel) x 960(pixel) 크기의 학습영상을 입력받아 반으로 리사이징하여 학습된 경우, 검사부(125)는 테스트 환경에서 카메라(20)를 통해 1,280 x 960 이 아닌 640 x 480 의 영상을 입력받아도 가로와 세로를 반으로 줄여 320 x 240으로 리사이징하므로 테스트에 실패한다.
이에 따라, 영상크기설정부(121)는 테스트 환경에서 입력 영상의 크기를 분석하여 학습 환경의 입력 영상(카메라 또는 이미지)을 테스트 환경의 입력 영상과 동일하게 설정할 수 있다.
예를 들어, 영상크기설정부(121)는 학습영상의 검사객체의 크기를 분석하고, 분석된 검사객체의 크기에 기초하여 테스트영상의 검사객체의 크기에 따라 상기 테스트영상의 크기를 설정할 수 있다.
이때, 영상크기설정부(121)는 학습영상의 검사객체의 크기를 분석하고, 분석된 검사객체의 크기에 기초하여 테스트영상의 검사객체의 크기에 따라 테스트영상의 크기를 설정할 수 있다.
여기에서 검사객체의 크기는 영상 신경망의 종류에 따라 달라 질 수 있다. 예를 들어 분류(Classification)의 경우 검사객체 크기는 전체 영상 크기(또는 검사객체 크기)가 될 수 있고, 탐색(Detection)이나 인식(Recognition)의 경우 검사객체를 구성하는 사각 박스나 원형 등의 도형이 될 수 있으며, 픽셀 단위의 분할(Segmentation)의 경우 하나의 픽셀이 검사객체 크기가 될 수 있다.
예를 들어 640 x 480의 입력 영상의 학습된 인공지능망의 탐색(Detection)의 검사객체의 크기가 64 x 48일 경우, 객체 크기는 입력 영상보다 가로 및 세로 비율이 10배로 작다. 테스트 환경에서 별도 설정이 없는 경우, 전체 영상의 크기와 검사객체 크기의 비율을 학습한 환경에서의 비율로 획일적으로 통일시키게 되는데, 이 경우 문제가 발생할 수 있다. 학습 환경에서는 검사객체 크기가 64 x 48이었지만, 테스트 환경에서는 64 x 48이 아닌 다른 값을 갖게 되기 때문이다. 따라서, 테스트 환경에서의 검사객체의 크기는 학습된 환경에서의 검사객체의 크기에 맞추어져야 한다.
그리고 영상밝기설정부(122)는 학습 시의 학습영상의 밝기를 분석하고, 분석된 학습영상의 밝기에 기초하여 테스트 환경에서 입력되는 테스트영상의 밝기를 설정할 수 있다.
머신 비전의 조명의 크기나 종류는 매우 다양하며, 학습 환경에서의 조명과 테스트 환경에서 사용된 조명이 달라지면 문제가 발생하므로 영상밝기설정부(122)는 테스트영상의 밝기를 학습영상의 밝기와 동일하게 설정할 수 있다.
하나의 실시예에 따라, 영상밝기설정부(122)는 조명을 사용하여 밝기를 변화시킬 수 있다.
예를 들어, 영상밝기설정부(122)는 조명(250)을 사용하는 경우에는 카메라(20)의 내장 조명을 사용하거나 외부 조명을 사용하는 방법으로 나눌 수 있으며, 조명이 여러 구역의 뱅크(Bank)로 구획되는 경우, 각각의 뱅크를 조절하여, 테스트 환경에서는 학습 환경의 조명과 같은 종류의 조명의 사용하고, 뱅크나 밝기 레벨이 유사한 값을 가지도록 할 수 있다.
이때, 조명은 단순히 On/Off로 구현될 수도 있으며, 여러 단계를 밝기 레벨로 나누어져 밝기를 각각의 단계로 나누는 것도 가능하다.
다른 실시예에 따라, 영상밝기설정부(122)는 학습 환경의 밝기에 기초하여 카메라에 구비되는 이미지 센서의 밝기를 설정할 수 있으며, 카메라(20)의 이미지센서부(220)를 조정하여 밝기를 변화시킬 수 있다.
예를 들어, 영상밝기설정부(122)는 카메라(20)의 이미지센서부(220)를 통해 이미지센서의 밝기를 조정하기 위해 학습 환경에서의 이미지센서의 밝기값에 기초하여 테스트 환경에서의 이미지 센서의 밝기값으로 설정할 수 있다.
또는 예를 들어, 영상밝기설정부(122)는 카메라(20)의 이미지센서부(220)를 통해 학습 환경에서의 이미지 센서의 노출값에 기초하여 테스트환경에서의 이미지 센서의 노출값으로 설정할 수 있다.
이때, 이미지 센서의 밝기를 높이면 밝아지지만 노이즈가 점차 증가하는 문제점이 있다. 또한, 이미지 센서의 노출을 높이면 밝아지지만 객체에 블러링이 생겨 이동 환경에서는 사용할 수 없다. 학습시의 밝기와 노출값이 테스트시의 밝기와 노출과 다른 경우 밝기도 달라지고, 객체를 선명하게 보는 부분도 달라지게 된다. 따라서 테스트 환경에서는 학습 환경의 밝기와 노출이 유사한 값을 가져야 한다.
또 다른 실시예에 따라, 영상밝기설정부(122)는 카메라(20)의 이미지처리부(210)를 제어하여 소프트웨어적인 방법으로 밝기를 변화시킬 수 있다.
즉, 영상밝기설정부(122)는 학습영상의 밝기의 변화에 기초하여, 상기 테스트영상의 밝기를 선형 및 비선형 중 어느 하나의 형태로 변경할 수 있다.
예를 들어, 영상밝기설정부(122)는 학습 환경에서 소프트웨어적으로 후처리된 RGB의 전체적인 밝기 레벨을 선형적으로 증가되었거나 비선형적으로 명도와 채도를 적절히 분배하여 밝기가 증가 또는 감마 보정의 사용을 분석할 수 있다. 또는 다른 종류의 이미지 시그널 프로세싱(Image Signal Processing)이 후처리로 이용되었는지 분석할 수 있다. 그리고 영상밝기설정부(122)는 학습 환경에서 소프트웨어적으로 후처리된 밝기 변화 값에 따라 테스트영상에 대해 동일하게 소프트웨어적인 후처리가 되도록 설정할 수 있다.
그리고 다른 실시예에 따라, 영상밝기설정부(122)는 학습 환경의 학습영상의 밝기를 이미지 히스토그램으로 분석하고, 분석된 학습영상의 밝기에 기초하여 상기 테스트 환경의 테스트영상의 밝기를 설정할 수 있다.
위에서 살펴본 것 과 같이, 입력 영상의 밝기를 설정하는 외부 인자들이 많기 때문에, 테스트에서의 영상의 밝기를 학습에서의 영상의 밝기와 모두 유사하게 만드는 것이 복잡하고 어려운 일이 될 수 있다. 이럴 경우 이미지 히스토그램 분석이 유용하게 이용될 수 있다.
예를 들어, 영상밝기설정부(122)는 학습 단계에서 이용한 전체 영상의 이미지 히스토그램을 분석하여, 테스트 단계에서의 전체 영상의 이미지 히스토그램과 유사하게 만들어 지도록 테스트 환경을 설정할 수 있으며, 더 정확도를 높이기 위해서, 전체 영상의 히스토그램 및 검사객체의 히스토그램으로 나누고, 이 두 가지 히스토그램을 학습환경과 테스트환경 각각에서 동일하게 되도록 테스트 환경을 설정할 수 있다.
그리고 카메라설치조건설정부(123)는 학습 시의 학습영상을 촬영한 카메라에 대한 설치조건을 분석하고, 분석된 설치조건에 기초하여 테스트영상을 촬영하는 카메라를 설정할 수 있다.
앞에서 전술한 바와 같이, 테스트 환경에서의 입력 영상 크기, 검사객체 크기는 학습 환경과 유사해야 하며, 테스트 환경에서의 입력 영상 밝기도 마찬가지이다. 테스트시에 이미지 자체를 입력으로 받게 된다면 문제가 없지만, 테스트시에 카메라 영상으로 찍힌 이미지를 실시간으로 사용하는 경우에는 카메라 설치 조건에 따라서 입력 영상 크기, 검사객체 크기, 입력 영상 밝기가 변화할 수 있다. 또한, 카메라의 인식 영역(FOV: Field Of View)이 변화해서 입력 영상 자체가 잘못 들어가게 될 수도 있으며, 초점(Foucs)이 맞지 않게 될 경우도 존재한다.
즉, 카메라설치조건설정부(123)는 상기 학습 시의 카메라의 렌즈에 대한 정보에 기초하여 상기 테스트영상을 촬영하는 카메라의 렌즈를 설정할 수 있다.
하나의 실시예에 따라, 카메라설치조건설정부(123)는 렌즈에 대한 정보는 초점 거리에 대한 정보이고, 테스트영상을 촬영하는 카메라의 초점거리를 상기 학습 시의 카메라의 초점거리로 설정하고, 상기 렌즈의 초점거리가 상이하면, 캘리브레이션된 초점거리로 설정할 수 있다.
렌즈의 경우 초점 거리(Focal Length)를 갖게 되는데, 동일한 카메라에도 다양한 초점 거리를 갖는 렌즈를 사용할 수 있다. 테스트와 학습시에 다른 종류의 초점 거리를 갖는 렌즈를 사용한 경우, 동일한 카메라 셋팅이 이루어졌다고 해도, 인식 영역의 크기가 확대되거나 축소될 수 있다.
예를 들어, 카메라설치조건설정부(123)는 테스트 환경에서는 동일한 종류의 초점 거리를 갖는 렌즈가 사용되도록 카메라(20)의 초점조정부(240)를 통해 초점을 설정하거나, 다른 초점 거리를 갖는 렌즈 사용 시 캘리브레이션 된 값으로 설정할 수 있다.
다른 실시에에 따라, 카메라설치조건설정부(123)는 렌즈에 대한 정보는 조리개에 대한 정보이고, 정량화된 학습 시의 카메라의 조리개에 대한 정보에 기초하여 상기 테스트영상을 촬영하는 카메라의 조리개를 설정할 수 있다.
렌즈의 조리개와 초점은 사용자의 물리적인 조정에 의해 변경될 수 있다. 렌즈의 조리개가 변경되면, 화면이 밝아지거나 어두워지며, 렌즈의 초점이 변경되면 영상의 초점이 잘 맞거나 잘 맞지 않는다.
예를 들어, 카메라설치조건설정부(123)는 학습 환경에서의 조리개 값과 초점값을 정량화될 수 있는 수치로 분석할 수 있으며, 분석된 값을 테스트 환경에 적용하여 학습 환경의 카메라(20)의 조리개값과 테스트 환경의 카메라(20)의 조리개값이 유사해지도록 카메라(20)의 조리개조정부(230)를 통해 조리개값을 설정할 수 있다.
또 다른 실시예에 따라, 카메라설치조건설정부(123)는 카메라에 대한 설치조건은 카메라의 설치 거리에 대한 정보이고, 학습 시의 카메라의 설치 거리에 대한 정보에 기초하여 테스트영상을 촬영하는 카메라의 설치 거리를 설정할 수 있다.
설치 거리와 설치 각도가 학습시와 달라질 경우 학습과 테스트가 달라질 수 있기 때문에 학습 시의 설치 거리와 설치 각도에 대한 값으로 테스트 시에 설치 거리와 설치 각도의 조정이 필요하다.
예를 들어 카메라설치조건설정부(123)는 학습 시의 설치 거리가 50mm이고 설치 각도는 15도로 입력받으면, 입력된 값을 기초로 테스트 시의 카메라(20)에 대한 설치조건으로 설정할 수 있다.
그리고 테스트환경설정부(120)는 학습환경정보를 기초로 테스트 환경을 구성하는 적어도 하나의 환경요소를 설정하기 위한 정보를 제공할 수 있다.
실시예에 따라, 테스트환경설정부(120)는 학습환경정보를 구성하는 환경요소에 대한 수치와 테스트환경정보의 환경요소에 대한 수치 차이가 기 설정된 값 이하가 되도록 테스트환경정보의 환경요소를 재설정하는 방법을 제공할 수 있다.
예를 들어, 테스트환경설정부(120)는 학습환경정보에서 환경요소인 조도의 수치가 100, 색조의 수치가 20 이고, 테스트환경정보의 조도의 수치가 90, 색조의 수치가 20 이면, 테스트환경설정부(120)는 테스트 환경의 조도가 학습 환경의 조도와 동일하게 되도록 테스트 환경의 조도를 높이도록 알림을 제공할 수 있다.
또는 실시예에 따라, 테스트환경설정부(120)는 테스트환경정보에 포함된 환경요소 중 학습환경정보에 포함된 환경요소와의 수치 차이가 기 설정된 값을 초과하는 환경요소에 대해 수치 차이가 기 설정된 값 이하가 되도록 테스트 환경의 환경요소를 자동으로 설정할 수 있다.
예를 들어, 테스트환경설정부(120)는 테스트환경정보에서 카메라의 설치거리에 대응되는 환경요소의 수치가 5 이고, 학습환경정보에서 3 이면, 테스트 환경상의 카메라의 위치를 제어하여 테스트 환경에서의 카메라와 피사체간의 거리가 학습 환경에서의 카메라와 피사체 간의 거리와 동일하게 되도록 자동 설정할 수 있다.
그리고 테스트환경설정부(120)는 재설정된 테스트 환경의 테스트환경정보와 학습환경정보 간의 유사도를 다시 계산할 수 있고, 계산된 유사도를 기초로 테스트 환경의 설정을 다시 반복할 수 있다.
이와 같이 반복적으로 학습 환경과 테스트 환경을 비교하여 테스트 환경을 점진적으로 조정함으로써 학습 환경에 가깝게 테스트 환경을 설정할 수 있다.
통신부(130)는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부(130)는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태로 구현될 수 있다.
통신부(130)가 지원하는 무선 통신은, 예를 들어 Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra Wide Band) 또는 NFC(Near Field Communication) 등일 수 있다. 또한, 통신부(130)가 지원하는 유선 통신은, 예를 들어 USB 또는 HDMI(High Definition Multimedia Interface) 등일 수 있다.
메모리(140)에는 파일, 어플리케이션 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 테스트환경설정부(120)는 메모리(140)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(140)에 저장할 수도 있다. 또한, 테스트환경설정부(120)는 메모리(140)에 설치된 프로그램을 실행할 수도 있다.
이러한 메모리(140)는 테스트환경설정부(120)가 수치화한 학습환경정보를 저장할 수 있다.
검사부(150)는 학습장치(30)를 통해 학습된 결과를 이용하여 카메라(20)를 통해 검사객체를 촬영하여 획득된 테스트 영상을 테스트할 수 있다.
도 4 는 일 실시예에 따른 테스트환경설정방법을 설명하기 위한 순서도이다.
도 4 에 도시된 실시예에 따른 테스트환경설정방법은 도 3 에 도시된 테스트환경설정장치(10)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 3 에 도시된 테스트환경설정장치(10)에 관하여 이상에서 기술한 내용은 도 4 에 도시된 실시예에 따른 테스트환경설정방법에도 적용될 수 있다.
우선 테스트환경설정장치(10)는 인공신경망의 학습 시 환경요소에 대한 정보인 학습환경정보를 획득할 수 있다(S4001).
즉, 테스트환경설정장치(10)는 인공신경망의 학습시키기 위해 입력되는 정보의 획득 시 환경요소를 분석하여 각 환경요소를 수치화시킬 수 있다.
예를 들어, 테스트환경설정장치(10)는 인공신경망의 학습시 이용되는 이미지를 카메라를 통해 획득할 때의 조도, 조리개, ISO, 색감 등에 대한 환경요소를 기 저장된 초기값을 기준으로 수치화할 수 있다.
그리고 실시예에 따라, 테스트환경설정장치(10)는 수치화된 학습환경정보를 저장할 수 있다.
그리고 테스트환경설정장치(10)는 획득된 학습환경정보를 기초로 인공신경망을 이용한 테스트를 수행하는 테스트 환경을 분석할 수 있다(S4002).
즉, 테스트환경설정장치(10)는 S4001단계에서 학습된 인공신경망의 테스트를 위해 입력되는 테스트 정보가 획득되는 테스트 환경의 환경요소를 분석할 수 있다.
하나의 실시예에 따라, 테스트환경설정장치(10)는 학습 환경에서의 입력 영상의 크기와 검사객체 크기를 분석할 수 있다.
예를 들어, 테스트환경설정장치(10)는 상기 테스트 환경의 카메라로부터 획득되는 테스트영상의 화소를 분석할 수 있다.
또는 예를 들어, 테스트환경설정장치(10)는 학습영상의 검사객체의 크기를 분석할 수 있다.
다른 실시예에 따라, 테스트환경설정장치(10)는 학습 시의 학습영상의 밝기를 분석할 수 있다.
예를 들어, 테스트환경설정장치(10)는 학습영상을 기초로 상기 학습 환경의 밝기를 분석할 수 있다.
예를 들어, 테스트환경설정장치(10)는 학습영상을 기초로 학습 환경에서의 이미지 센서의 밝기값을 분석하거나 이미지 센서의 노출값을 분석할 수 있다.
또 다른 실시예에 따라, 테스트환경설정장치(10)는 학습 시의 학습영상을 촬영한 카메라에 대한 설치조건을 분석할 수 있다.
예를 들어, 테스트환경설정장치(10)는 학습 시의 학습영상을 기초로 학습 시의 카메라의 렌즈에 대한 정보를 분석할 수 있다.
또는 예를 들어, 테스트환경설정장치(10)는 학습 시의 학습영상을 기초로 정량화된 상기 학습 시의 카메라 렌즈의 초점 정보를 분석하거나 또는 정량화된 상기 학습 시의 카메라의 조리개에 대한 정보를 분석할 수 있다.
그리고 예를 들어, 테스트환경설정장치(10)는 학습 시의 학습영상을 기초로 카메라에 대한 설치조건은 카메라의 설치 거리에 대한 정보를 분석하거나 또는 학습 시의 카메라의 설치 각도에 대한 정보를 분석할 수 있다.
그리고 테스트환경설정장치(10)는 획득된 학습환경정보를 기초로 인공신경망을 이용하여 검사객체를 테스트하는 테스트 환경을 설정할 수 있다(S4003).
하나의 실시예에 따라, 테스트환경설정장치(10)는 테스트영상의 크기를 설정할 수 있다.
예를 들어, 테스트환경설정장치(10)는 S4002단계에서 분석된 학습영상의 화소에 대응되도록 테스트 환경의 카메라로부터 획득되는 테스트영상의 화소에 기초하여 테스트영상의 크기를 설정할 수 있다.
예를 들어, 테스트환경설정장치(10)는 S4002단계에서 분석된 검사객체의 크기에 기초하여 상기 테스트영상의 검사객체의 크기에 따라 상기 테스트영상의 크기를 설정할 수 있다.
다른 실시예에 따라, 테스트환경설정장치(10)는 테스트 환경의 밝기를 설정할 수 있다.
예를 들어, 테스트환경설정장치(10)는 S4002단계에서 분석된 학습영상의 밝기에 기초하여 상기 테스트 환경에서 입력되는 테스트영상의 밝기를 설정할 수 있다.
또는 예를 들어, 테스트환경설정장치(10)는 S4002단계에서 분석된 학습 시의 조명의 밝기에 기초하여 상기 테스트 환경의 조명인 카메라 내장 조명 및 카메라 외장 조명 중 적어도 하나의 조명에 대한 밝기를 상기 학습 시의 조명의 밝기로 설정할 수 있다.
그리고 예를 들어, 테스트환경설정장치(10)는 S4002단계에서 분석된 학습 환경의 밝기에 기초하여 카메라에 구비되는 이미지 센서의 밝기를 설정하기 위해, 학습 환경에서의 이미지 센서의 밝기값에 기초하여 상기 테스트 환경에서의 이미지 센서의 밝기값으로 설정할 수 있다.
또는 예를 들어, 테스트환경설정장치(10)는 S4002단계에서 분석된 학습 환경의 학습영상의 밝기를 이미지 히스토그램으로 분석하고, 분석된 학습영상의 밝기에 기초하여 상기 테스트 환경의 테스트영상의 밝기를 설정할 수 있다.
그리고 다른 실시예에 따라, 테스트환경설정장치(10)는 카메라의 설치조건을 설정할 수 있다.
예를 들어, 테스트환경설정장치(10)는 테스트영상을 촬영하는 카메라의 초점거리를 S4002단계에서 분석된 학습 시의 카메라의 초점거리로 설정할 수 있고, 학습 시의 초점거리가 상이하면, 캘리브레이션된 초점거리로 설정할 수 있다.
또는 예를 들어, 테스트환경설정장치(10)는 테스트영상을 촬영하는 카메라 렌즈의 초점을 설정하거나 또는 조리개를 설정할 수 있다.
그리고 예를 들어, 테스트환경설정장치(10)는 S4002단계에서 분석된 학습 시의 카메라의 설치 거리에 대한 정보에 기초하여 테스트영상을 촬영하는 카메라의 설치 거리를 설정할 수 있다.
예를 들어, 테스트환경설정장치(10)는 S4002단계에서 학습 시의 카메라의 설치 각도에 대한 정보에 기초하여 테스트영상을 촬영하는 카메라의 설치 각도를 설정할 수 있다.
이때, 테스트환경설정장치(10)는 실시예에 따라, 학습환경정보를 기초로 상기 테스트 환경을 구성하는 적어도 하나의 환경요소에 대한 설정 방법을 제공할 수 있다.
한편, 실시예에 따라, 테스트환경설정장치(10)는 테스트환경정보와 학습환경정보간의 유사도를 계산할 수 있다.
즉, 테스트환경설정장치(10)는 테스트환경정보와 학습환경정보를 비교하여 각 환경요소의 수치를 비교하여 유사도를 계산할 수 있다.
예를 들어, 테스트환경설정장치(10)는 테스트환경정보에 포함되는 환경요소의 수치와 학습환경정보에 포함되는 환경요소의 수치의 차이를 기초로 유사도를 계산할 수 있으며, 환경요소에 따라 가중치를 달리하여 유사도를 계산할 수 있다.
그리고 테스트환경설정장치(10)는 실시예에 따라 계산된 유사도가 기 설정된 값 미만이면, 인공신경망의 테스트 환경의 재설정을 알리는 알림을 제공할 수 있다.
예를 들어, 테스트환경설정장치(10)는 유사도가 기 설정된 값 미만으로 학습 환경과 테스트 환경이 비유사하다고 결정되면, 테스트 환경의 환경요소를 재설정할 것을 요청하는 알림을 제공할 수 있다.
이때, 실시예에 따라, 테스트환경설정장치(10)는 테스트 환경과 학습 환경사이의 유사도를 기 설정된 값 미만이 되도록 하는 환경요소를 식별할 수 있고, 식별된 환경요소에 대해 유사도를 다시 계산할 수 있다.
예를 들어, 테스트환경설정장치(10)는 테스트 환경과 학습 환경 각각의 환경요소 중 수치 차이가 가장 큰 환경요소에 대해 테스트 환경의 설정을 요청할 수 있고, 설정된 이후의 테스트 환경과 학습 환경에 대해 유사도를 다시 계산할 수 있다.
이를 통해 학습 환경과 테스트 환경과의 차이가 큰 특정 환경요소에 대해 사전에 재설정을 유도함으로써 테스트 환경이 학습 환경과 빠르게 유사해지도록 할 수 있다.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
도 4 를 통해 설명된 실시예에 따른 테스트환경설정방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다.예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.
또한 도 4 를 통해 설명된 실시예에 따른 테스트환경설정방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 도 4 를 통해 설명된 실시예에 따른 테스트환경설정방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.
10: 테스트환경설정장치
110: 입출력부
120: 테스트환경설정부
121: 영상크기설정부 122: 영상밝기설정부
123: 카메라설치조건설정부
130: 통신부
140: 메모리
150: 검사부
20: 카메라
210: 이미지처리부 220: 이미지센서부
230: 조리개조정부 240: 초점조정부
250: 조명부
30: 학습장치

Claims (44)

  1. 테스트 환경을 설정하는 장치에 있어서,
    인공신경망의 학습에 이용되는 학습영상을 획득할 시점의 환경에 대해 감지된 수치값, 상기 학습영상을 획득하는데 사용된 장치에 설정된 수치값, 또는 상기 학습영상을 분석하여 획득된 상기 학습영상의 특성에 대한 수치값 중 적어도 하나를 포함하는 환경요소에 대한 학습환경정보를 획득하여 저장하고, 상기 학습영상을 이용하여 학습된 인공신경망을 이용하여 테스트를 수행할 때 테스트 영상을 획득하기 위한 테스트 환경을 설정함에 있어서, 상기 학습환경정보를 기초로 하여 상기 테스트 환경의 환경요소를 상기 학습 영상을 획득할 시점의 환경요소와 대응하도록 설정하는 테스트환경설정부; 및
    상기 학습환경정보를 저장하는 메모리를 포함하는 테스트환경설정장치.
  2. 제 1 항에 있어서,
    상기 테스트환경설정부는,
    상기 학습영상의 크기를 분석하고, 분석된 학습영상의 크기에 기초하여 상기 테스트 환경에서 획득될 상기 테스트영상의 크기를 설정하는 영상크기설정부를 더 포함하고,
    상기 영상크기설정부는,
    상기 테스트 환경의 카메라로부터 획득되는 상기 테스트영상의 화소를 분석하여 상기 학습영상의 화소에 대응되도록 상기 테스트영상의 크기를 설정하거나, 상기 학습영상의 검사객체의 크기를 분석하고, 분석된 검사객체의 크기에 기초하여 상기 테스트영상의 크기를 설정하는, 테스트환경설정장치.
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 테스트환경설정부는,
    상기 학습영상의 밝기를 분석하고, 분석된 학습영상의 밝기에 기초하여 상기 테스트 환경에서 획득될 상기 테스트영상의 밝기를 설정하는 영상밝기설정부를 더 포함하고,
    상기 영상밝기설정부는,
    상기 학습영상 획득 시의 조명의 밝기에 기초하여 상기 테스트 환경의 조명의 밝기를 설정하거나, 상기 테스트 환경에서의 카메라 내장 조명 및 카메라 외장 조명 중 적어도 하나의 조명에 대한 밝기를 상기 학습영상 획득 시의 조명의 밝기에 대응하도록 설정하거나, 상기 학습영상 획득 시의 학습환경의 밝기에 기초하여 카메라에 구비되는 이미지 센서의 밝기를 설정하거나, 상기 학습영상의 밝기의 변화에 기초하여, 상기 테스트영상의 밝기를 선형 및 비선형 중 어느 하나의 형태로 변경하거나, 상기 학습 환경의 학습영상의 밝기를 이미지 히스토그램으로 분석하고 분석된 상기 학습영상의 밝기에 기초하여 상기 테스트영상의 밝기를 설정하는, 테스트환경설정장치.
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 제 1 항에 있어서,
    상기 테스트환경설정부는,
    상기 학습영상을 촬영한 카메라에 대한 설치조건을 분석하고, 분석된 설치조건에 기초하여 상기 테스트영상을 촬영하는 카메라를 설정하는 카메라설치조건설정부를 더 포함하고,
    상기 카메라설치조건설정부는,
    상기 학습영상을 촬영한 카메라의 렌즈에 대한 정보에 기초하여 상기 테스트영상을 촬영하는 카메라의 렌즈를 설정하거나, 상기 학습영상을 촬영한 카메라의 설치 거리에 대한 정보에 기초하여 상기 테스트영상을 촬영하는 카메라의 설치 거리를 설정하거나, 상기 학습영상을 촬영한 카메라의 설치 각도에 대한 정보에 기초하여 상기 테스트영상을 촬영하는 카메라의 설치 각도를 설정하는, 테스트환경설정장치.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 제 1 항에 있어서,
    상기 테스트환경설정부는,
    상기 테스트 환경의 설정을 요청하는 알림을 제공하는, 테스트환경설정장치.
  21. 제 1 항에 있어서,
    상기 테스트환경설정부는,
    상기 학습환경정보를 기초로 상기 테스트 환경을 구성하는 적어도 하나의 환경요소에 대한 설정 방법을 제공하는, 테스트환경설정장치.
  22. 테스트환경설정장치가 테스트 환경을 설정하는 방법에 있어서,
    인공신경망의 학습에 이용되는 학습영상을 획득할 시점의 환경에 대해 감지된 수치값, 상기 학습영상을 획득하는데 사용된 장치에 설정된 수치값, 또는 상기 학습영상을 분석하여 획득된 상기 학습영상의 특성에 대한 수치값 중 적어도 하나를 포함하는 환경요소에 대한 학습환경정보를 획득하는 단계; 및
    상기 학습영상을 이용하여 학습된 인공신경망을 이용하여 테스트를 수행할 때 테스트 영상을 획득하기 위한 테스트 환경을 설정함에 있어서, 상기 학습환경정보를 기초로 하여 상기 테스트 환경의 환경요소를 상기 학습 영상을 획득할 시점의 환경요소와 대응하도록 설정하는 단계를 포함하는, 테스트환경설정방법.
  23. 제 22 항에 있어서,
    상기 학습환경정보를 획득하는 단계는,
    상기 학습영상을 획득할 시점의 환경요소를 분석하는 단계; 및
    상기 분석된 환경요소를 수치화시켜 상기 학습환경정보를 획득하는 단계를 포함하는, 테스트환경설정방법.
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 제 22 항에 있어서,
    상기 테스트환경설정방법은,
    상기 테스트 환경의 설정을 요청하는 알림을 제공하는 단계를 더 포함하는, 테스트환경설정방법.
  42. 제 22 항에 있어서,
    상기 테스트 환경을 설정하는 단계는,
    상기 학습환경정보를 기초로 상기 테스트 환경을 구성하는 적어도 하나의 환경요소에 대한 설정 방법을 제공하는 단계를 포함하는, 테스트환경설정방법.
  43. 제 22 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  44. 테스트환경설정장치에 의해 수행되며, 제 22 항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
KR1020180138109A 2018-11-12 2018-11-12 기계학습 환경에 기초한 테스트 환경을 설정하는 방법 및 장치 KR102252590B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180138109A KR102252590B1 (ko) 2018-11-12 2018-11-12 기계학습 환경에 기초한 테스트 환경을 설정하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180138109A KR102252590B1 (ko) 2018-11-12 2018-11-12 기계학습 환경에 기초한 테스트 환경을 설정하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200055834A KR20200055834A (ko) 2020-05-22
KR102252590B1 true KR102252590B1 (ko) 2021-05-17

Family

ID=70914166

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180138109A KR102252590B1 (ko) 2018-11-12 2018-11-12 기계학습 환경에 기초한 테스트 환경을 설정하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102252590B1 (ko)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101778054B1 (ko) * 2015-10-01 2017-09-13 라온피플 주식회사 머신 비전을 위한 가이드 제공 방법 및 장치

Also Published As

Publication number Publication date
KR20200055834A (ko) 2020-05-22

Similar Documents

Publication Publication Date Title
TWI718573B (zh) 缺陷檢測裝置及方法
KR102166458B1 (ko) 인공신경망 기반의 영상 분할을 이용한 불량 검출 방법 및 불량 검출 장치
US20160307074A1 (en) Object Detection Using Cascaded Convolutional Neural Networks
JP2024500555A (ja) 画像処理方法、画像処理装置及び非一時的な記憶媒体
CN111340752A (zh) 屏幕的检测方法、装置、电子设备及计算机可读存储介质
JP2024509411A (ja) 欠陥検出方法、装置及びシステム
US11386549B2 (en) Abnormality inspection device and abnormality inspection method
KR102141302B1 (ko) 회귀 딥러닝 모델 기반의 영상 객체 검출 방법 및 영상처리장치
US20140133744A1 (en) Image Adjustment
KR102486230B1 (ko) 딥러닝을 이용한 신규 제품의 품질 검사 방법 및 시스템
CN111771226A (zh) 电子设备、其图像处理方法及计算机可读记录介质
US20220067514A1 (en) Inference apparatus, method, non-transitory computer readable medium and learning apparatus
CN111325717A (zh) 手机缺陷位置识别方法及设备
CN111311556A (zh) 手机缺陷位置识别方法及设备
CN111368944B (zh) 翻拍图像、证件照识别、模型训练方法、装置及电子设备
CN113807378A (zh) 训练数据增量方法、电子装置与计算机可读记录介质
US20140320638A1 (en) Electronic device and method for detecting surface flaw of sample
Min et al. Non-contact and real-time dynamic displacement monitoring using smartphone technologies
KR102252590B1 (ko) 기계학습 환경에 기초한 테스트 환경을 설정하는 방법 및 장치
KR20210056974A (ko) 멀티카메라를 이용한 물체 인식 방법 및 장치
KR102273334B1 (ko) 다 채널 이미지를 이용한 인공신경망 학습 방법 및 장치
KR102271418B1 (ko) 제품 검사를 위한 자동 학습 방법 및 시스템
CN113139540B (zh) 背板检测方法及设备
KR102252591B1 (ko) 디스플레이 패널의 출력을 보상하는 장치 및 방법
US10380463B2 (en) Image processing device, setting support method, and non-transitory computer-readable media

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant