KR20180107047A - 이미지 데이터의 보정 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 - Google Patents
이미지 데이터의 보정 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 Download PDFInfo
- Publication number
- KR20180107047A KR20180107047A KR1020180111069A KR20180111069A KR20180107047A KR 20180107047 A KR20180107047 A KR 20180107047A KR 1020180111069 A KR1020180111069 A KR 1020180111069A KR 20180111069 A KR20180111069 A KR 20180111069A KR 20180107047 A KR20180107047 A KR 20180107047A
- Authority
- KR
- South Korea
- Prior art keywords
- image data
- present disclosure
- target image
- reference image
- feature point
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012937 correction Methods 0.000 title description 10
- 238000004590 computer program Methods 0.000 title description 4
- 238000004422 calculation algorithm Methods 0.000 abstract description 47
- 230000007547 defect Effects 0.000 abstract description 22
- 238000005286 illumination Methods 0.000 abstract description 14
- 238000013528 artificial neural network Methods 0.000 description 60
- 230000006870 function Effects 0.000 description 27
- 238000001514 detection method Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 230000009466 transformation Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 238000003860 storage Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000002498 deadly effect Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000002187 spin decoupling employing ultra-broadband-inversion sequences generated via simulated annealing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4053—Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
본 발명의 일 실시예에 따른 타겟 이미지 데이터를 보정하는 방법이 개시된다. 상기 방법은: 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 참조 이미지(Reference Image) 데이터를 생성하는 단계; 상기 참조 이미지 데이터로부터 하나 이상의 참조 이미지 특징점을 검출하는 단계; 상기 타겟 이미지 데이터로부터 하나 이상의 타겟 이미지 특징점을 검출하는 단계; 특징점 추정을 위한 알고리즘에 적어도 부분적으로 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지로부터 미검출된 특징점 및 미매칭된 특징점 각각에 대한 타겟 이미지 추정 특징점 및 참조 이미지 추정 특징점을 결정하는 단계;상기 참조 이미지 특징점, 상기 타겟 이미지 특징점 및 상기 추정 특징점에 적어도 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터를 정합시키는 단계; 및 조명에 의해 손실된 상기 타겟 이미지 데이터의 적어도 일부의 데이터를 복원하는 단계; 를 포함할 수 있다.
Description
본 발명은 이미지 데이터의 보정 방법에 관한 것으로, 보다 구체적으로 이미지 데이터의 상태 판단을 위한 이미지 데이터의 보정 방법에 관한 것이다.
공정에서 검사 목표인 타겟들이 이미지화 되어 결함 여부가 검사된다. 반면,이미지 데이터를 사람이 검측하고 분석하는 것에는 한계가 있으며 정확도가 높은 이미지 데이터의 상태 판단 방법이 당 업계에서 요구된다. 정확도가 높은 이미지 데이터의 상태 판단 방법을 구현하기 위해 신경망 네트워크(neural network)가 이용될 수 있다. 미국 등록 특허 7,698,239는 이러한 신경망 네트워크의 일 예를 도시한다.
한편, 이미지 데이터 기술 영역에서 노이즈란 이미지 데이터의 픽셀 값에 추가되는 원치 않는 형태의 신호를 의미한다. 렌즈 오차에 의한 기하학적 왜곡 및 조명의 불균일 등이 그 예이다. 이런 기하학적 왜곡 현상 및 조명의 불균일은 이미지 데이터의 상태를 판단하기 위한 머신 비전 시스템이 정밀해질수록 그 판단 시스템에 검사 불능의 문제를 야기할 수 있다.
이에, 이미지 데이터의 기하학적 왜곡 및 조명 불균일을 해소하기 위한 당업계의 니즈가 존재한다.
본 발명은 전술한 배경기술에 대응하여 안출된 것으로, 이미지 데이터의 보정 방법을 제공하는 것을 목적으로 한다.
본 발명은 이미지 데이터의 보정 방법을 통해 이미지 데이터의 상태 정보를 제공하는 것을 목적으로 한다.
전술한 바와 같은 과제를 해결하기 위한 본 개시의 실시예들에 따른 타겟 이미지 데이터를 보정하는 방법이 개시된다. 상기 방법은:결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 참조 이미지(Reference Image) 데이터를 생성하는 단계;상기 참조 이미지 데이터로부터 하나 이상의 참조 이미지 특징점을 검출하는 단계; 상기 타겟 이미지 데이터로부터 하나 이상의 타겟 이미지 특징점을 검출하는 단계; 특징점 추정을 위한 알고리즘에 적어도 부분적으로 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지로부터 미검출된 특징점 및 미매칭된 특징점 각각에 대한 타겟 이미지 추정 특징점 및 참조 이미지 추정 특징점을 결정하는 단계;상기 참조 이미지 특징점, 상기 타겟 이미지 특징점 및 상기 추정 특징점에 적어도 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터를 정합시키는 단계; 및조명에 의해 손실된 상기 타겟 이미지 데이터의 적어도 일부의 데이터를 복원하는 단계; 를 포함할 수 있다.
대안적으로, 상기 하나 이상의 참조 이미지 특징점 및 상기 하나 이상의 타겟 이미지 특징점을 검출하는 단계는:상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터를 미리 설정된 크기를 갖는 하나 이상의 영역으로 분할한 후, 각 영역 내에서 특징점을 검출하는 단계;를 포함할 수 있다.
대안적으로, 상기 미리 설정된 크기는, 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터의 이미지 해상도, 크기, 색상 모드 및 종횡 비율 중 적어도 하나에 기초하여 설정된 크기일 수 있다.
대안적으로, 상기 참조 이미지 데이터로부터 특징점을 검출하는 단계는: 특징점 검출을 위한 제 1 알고리즘에 적어도 기초하여 상기 참조 이미지 데이터로부터 특징점 후보군을 검출하는 단계; 및 특징점 검출을 위한 제 2 알고리즘에 적어도 기초하여 상기 특징점 후보군으로부터 상기 타겟 이미지 데이터와의 매칭에 필요한 특징점을 검출하는 단계; 를 더 포함할 수 있다.
대안적으로, 상기 타겟 이미지 데이터로부터 하나 이상의 특징점을 검출하는 단계는: 상기 참조 이미지 데이터로부터 검출된 특징점 각각에 대한 위치 좌표에 대응되는 상기 타겟 이미지 데이터 상에 위치 좌표를 특징점으로 결정함으로써, 상기 타겟 이미지 데이터로부터 특징점 후보군을 검출하는 단계; 및 특징점 검출을 위한 제 2 알고리즘에 적어도 기초하여 상기 특징점 후보군으로부터 상기 참조 이미지 데이터와의 매칭에 필요한 특징점을 검출하는 단계; 를 더 포함할 수 있다.
대안적으로, 상기 특징점 검출을 위한 제 1 알고리즘은, Harris Corner Detector 알고리즘, Shi-Tomasi Corner Detector 알고리즘 및 SIFT_DoG 알고리즘 중 적어도 하나일 수 있다.
대안적으로, 상기 특징점 검출을 위한 제 2 알고리즘은, 상기 참조 이미지 데이터 및 상기 참조 이미지 데이터와 관련된 제 2 이미지 데이터 간 그리고 상기 타겟 이미지 데이터 및 상기 타겟 이미지 데이터와 관련된 제 2 이미지 데이터간의 정규화 상호 상관(Normalized Cross Correlation; NCC) 결과 데이터를 서브 픽셀 단위로 해석하는 Super Resoulution Feature Matching 알고리즘일 수 있다.
대안적으로, 상기 제 2 이미지 데이터는, 상기 이미지 데이터에 대하여 변형 및 손실 중 적어도 하나를 수행함으로써 생성될 수 있다.
대안적으로, 상기 제 2 이미지 데이터는, 상기 이미지 데이터에 대하여 가우시안 블러 필터(Gaussian Blur Filter) 및 가우시안 노이즈(Gaussian Noise)를 적용함으로써 생성될 수 있다.
대안적으로, 상기 특징점 추정을 위한 알고리즘은, 특징점의 개수 및 각 특징점을 연결한 거리에 적어도 기초하며, 그리고 특징점의 개수에 대응하여 상이한 변환모델식을 포함하도록 구성될 수 있다.
대안적으로, 상기 변환모델식은, 상기 특징점의 개수가 1개인 경우 Offset 변환, 상기 특징점의 개수가 2개인 경우 Similarity 변환, 상기 특징점의 개수가 3개인 경우 Affine 변환 및 상기 특징점의 개수가 4개인 경우 Perspective 변환으로 결정될 수 있다.
대안적으로, 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터를 정합시키는 단계는: 상기 타겟 이미지 데이터를 기하 변환하는 단계; 및 상기 타겟 이미지 데이터의 크기를 정규화하는 단계;를 더 포함할 수 있다.
대안적으로, 상기 참조 이미지 데이터에 대하여 학습된 네트워크 함수를 이용하여 상기 타겟 이미지 데이터의 상태 정보를 결정하는 단계;를 더 포함할 수 있다.
대안적으로, 상기 타겟 이미지 데이터의 상태 정보는, 미리 설정된 크기로 분할된 하나 이상의 영역 각각에 대한 상태 정보에 기초하여 결정될 수 있다.
본 개시의 실시예들에 따른 타겟 이미지 데이터를 보정하는 장치가 개시된다. 상기 장치는: 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 생성된 참조 이미지(Reference Image) 및 상기 타겟 이미지 데이터를 획득하는 이미지 데이터 획득부; 상기 참조 이미지 데이터로부터 하나 이상의 특징점을 검출하는 제 1 검출부; 상기 타겟 이미지 데이터로부터 하나 이상의 특징점을 검출하는 제 2 검출부; 특징점 추정을 위한 알고리즘에 적어도 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터로부터 미검출된 특징점 및 미매칭된 특징점 각각에 대한 추정 특징점을 결정하는 추정 특징점 결정부; 상기 특징점 및 상기 추정 특징점에 적어도 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터를 정합하는 이미지 데이터 정합부; 및 조명에 의해 손실된 상기 타겟 이미지 데이터의 적어도 일부의 데이터를 복원하는 데이터 복원부; 를 포함할 수 있다.
대안적으로, 상기 이미지 데이터 획득부는, 타겟을 촬영하는 촬영 모듈; 결함이 없는 복수 개의 정상 이미지 데이터를 획득하는 제 1 획득 모듈; 및 상기 복수 개의 정상 이미지 데이터에 기초하여 상기 참조 이미지 데이터를 생성하는 참조 이미지 생성 모듈;을 포함할 수 있다.
대안적으로, 상기 이미지 데이터 획득부는, 타겟을 촬영하는 촬영 모듈; 및 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 생성된 상기 참조 이미지를 획득하는 제 2 획득 모듈;을 포함할 수 있다.
대안적으로, 상기 이미지 데이터 획득부는, 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 생성된 상기 참조 이미지 데이터와 그리고 촬영 모듈에 의해 촬영된 타겟 이미지 데이터를 획득하는 제 3 획득 모듈;을 포함할 수 있다.
대안적으로, 상기 참조 이미지 데이터에 대하여 학습된 네트워크 함수를 이용하여 상기 타겟 이미지 데이터의 상태 정보를 결정하는 상태 정보 결정부;를 더 포함할 수 있다.
본 개시의 실시예들에 따른 타겟 이미지 데이터를 보정하는 장치의 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터 판독가능 저장 매체(computer readable storing medium)에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은: 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 생성된 참조 이미지(Reference Image) 및 상기 타겟 이미지 데이터를 획득하는 명령; 상기 참조 이미지 데이터로부터 하나 이상의 특징점을 검출하는 명령; 상기 타겟 이미지 데이터로부터 하나 이상의 특징점을 검출하는 명령; 특징점 추정을 위한 알고리즘에 적어도 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터로부터 미검출된 특징점 및 미매칭된 특징점 각각에 대한 추정 특징점을 결정하는 명령; 상기 특징점 및 상기 추정 특징점에 적어도 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터를 정합하는 명령; 및 조명에 의해 손실된 상기 타겟 이미지 데이터의 적어도 일부의 데이터를 복원하는 명령;을 포함할 수 있다.
본 발명은 이미지 데이터의 보정 방법을 제공할 수 있다.
본 발명은 이미지 데이터의 상태 정보를 제공할 수 있다.
상기 언급된 본 발명 내용의 특징들이 상세하게, 보다 구체화된 설명으로, 이하의 실시예들을 참조하여 이해될 수 있도록, 실시예들 중 일부는 첨부되는 도면에서 도시된다. 또한, 도면과의 유사한 참조번호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭하는 것으로 의도된다. 그러나, 첨부된 도면들은 단지 본 발명 내용의 특정한 전형적인 실시예들만을 도시하는 것일 뿐, 본 개시의 범위를 한정하는 것으로 고려되지는 않으며, 동일한 효과를 갖는 다른 실시예들이 충분히 인식될 수 있다는 점을 유의하도록 한다.
도 1은 본 개시의 실시예들에 따른 참조 이미지 데이터 및 타겟 이미지 데이터를 도시한 도면이다.
도 2는 본 개시의 실시예들에 따라 타겟 이미지 데이터의 보정 방법을 도시한 순서도이다.
도 3은 본 개시의 실시예들에 따른 참조 이미지 데이터의 임의의 영역을 도시하고 그리고 상기 참조 이미지 데이터의 임의의 영역으로부터 특징점을 검출하는 방법을 설명하기 위한 도면이다.
도 4는 본 개시의 실시예들에 따른 참조 이미지 데이터로부터 참조 이미지 데이터와 관련된 제 2 이미지 데이터가 생성되는 개념을 도시한 도면이다.
도 5는 본 개시의 실시예들에 따른 특징점 검출을 위한 제 2 알고리즘을 설명하기 위한 도면을 도시한다.
도 6은 본 개시의 실시예들에 따른 미검출된 특징점 및/또는 미매칭된 특징점과 그 각각에 대한 추정 특징점을 도시한 도면이다.
도 7은 본 개시의 실시예들에 따라 타겟 이미지 데이터를 정합시키는 개념을 나타낸 도면이다.
도 8은 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 장치의 구성을 나타낸 블록 구성도이다.
도 9는 본 개시의 실시예들에 따른 이미지 데이터 획득부의 제 1 실시예이다.
도 10은 본 개시의 실시예들에 따른 이미지 데이터 획득부의 제 2 실시예이다.
도 11은 본 개시의 실시예들에 따른 이미지 데이터 획득부의 제 3 실시예이다.
도 12는 본 개시의 실시예들에 따른 신경망 네트워크의 일 예를 나타낸 개념도이다.
도 1은 본 개시의 실시예들에 따른 참조 이미지 데이터 및 타겟 이미지 데이터를 도시한 도면이다.
도 2는 본 개시의 실시예들에 따라 타겟 이미지 데이터의 보정 방법을 도시한 순서도이다.
도 3은 본 개시의 실시예들에 따른 참조 이미지 데이터의 임의의 영역을 도시하고 그리고 상기 참조 이미지 데이터의 임의의 영역으로부터 특징점을 검출하는 방법을 설명하기 위한 도면이다.
도 4는 본 개시의 실시예들에 따른 참조 이미지 데이터로부터 참조 이미지 데이터와 관련된 제 2 이미지 데이터가 생성되는 개념을 도시한 도면이다.
도 5는 본 개시의 실시예들에 따른 특징점 검출을 위한 제 2 알고리즘을 설명하기 위한 도면을 도시한다.
도 6은 본 개시의 실시예들에 따른 미검출된 특징점 및/또는 미매칭된 특징점과 그 각각에 대한 추정 특징점을 도시한 도면이다.
도 7은 본 개시의 실시예들에 따라 타겟 이미지 데이터를 정합시키는 개념을 나타낸 도면이다.
도 8은 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 장치의 구성을 나타낸 블록 구성도이다.
도 9는 본 개시의 실시예들에 따른 이미지 데이터 획득부의 제 1 실시예이다.
도 10은 본 개시의 실시예들에 따른 이미지 데이터 획득부의 제 2 실시예이다.
도 11은 본 개시의 실시예들에 따른 이미지 데이터 획득부의 제 3 실시예이다.
도 12는 본 개시의 실시예들에 따른 신경망 네트워크의 일 예를 나타낸 개념도이다.
다양한 실시예들이 이제 도면을 참조하여 설명된다. 본 명세서에서, 다양한 설명들이 본 개시의 이해를 제공하기 위해서 제시된다. 그러나 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.
제시된 실시예들에 대한 설명은 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
도 1은 본 개시의 실시예들에 따른 참조 이미지 데이터 및 타겟 이미지 데이터를 도시한 도면이다.
본 명세서에서 사용하는 용어 "정상 이미지 데이터"는 결함이 없다고 결정된 이미지 데이터를 지칭한다. 정상 이미지 데이터는 사용자의 판단에 의해 결정될 수 있다. 또는, 참조 이미지 데이터에 대하여 학습된 네트워크 함수에 의해, 타겟 이미지 데이터의 상태 정보가 '정상'으로 결정된 이미지들을 지칭할 수 있다. 본 개시의 실시예들에 따른 복수 개의 정상 이미지 데이터에 기초하여 참조 이미지 데이터가 생성될 수 있다.
본 명세서에서 사용하는 용어 "참조 이미지(Reference Image) 데이터"는 도 1의 (a)에 도시된 바와 같이 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 생성된 이미지 데이터를 지칭한다. 이러한 참조 이미지 데이터는 타겟 이미지 데이터를 보정하기 위하여 참조될 수 있다.
본 개시의 실시예들에 따른 참조 이미지 데이터는, 이하에서 후술되는 타겟 이미지 데이터를 보정하는 장치(100)에 의해 생성될 수 있다. 또는, 본 개시의 실시예들에 따른 참조 이미지 데이터는 외부로부터 네트워크부(180)를 통해 수신될 수 있다. 다른 예시로, 참조 이미지 데이터는 입력부(예를 들어, USB 입력부 등)를 통해 입력될 수 있다. 이러한 참조 이미지 데이터는 네트워크 함수에 입력 가능한 크기의 이미지 패치로 분할될 수 있다. 또는 참조 이미지 데이터 자체가 네트워크 함수에 입력 가능한 크기로 미리 설정될 수 있다.
본 명세서에서 사용하는 용어 "타겟 이미지 데이터"는 도 1의 (b)에 도시된 바와 같이, 결함 상태를 판단하고자 하는 대상(즉, 타겟)이 촬영된 이미지를 지칭한다. 본 개시의 실시예들에 따라서, 타겟 이미지 데이터는 타겟 이미지 데이터를 보정하는 장치(100)로부터 획득될 수 있다. 예를 들어, 타겟 이미지 데이터는 도 1의 (b)에 도시된 바와 같이 타겟 이미지 데이터를 보정하는 장치(100)의 촬영 모듈(111)로부터 획득될 수 있다.
타겟 이미지 데이터의 상태 판단(예를 들어, 결함의 유무, 결함의 종류 판단 등)을 위하여, 타겟 이미지 데이터는 참조 이미지 데이터와 물리적으로 유사해야 할 필요가 있다. 한편, 타겟 이미지 데이터를 획득하는 경우, 기하학적 왜곡(예를 들어, 렌즈 모듈에 기인한 왜곡, 촬영 모듈(111)의 기계적 결함 및 타겟의 움직임 등) 및 조명 모듈에 의한 왜곡(예를 들어, 이미지 데이터들의 뭉개짐과 같은 손실 등)이 발생한다. 일 예로서, 컨베이어 벨트 위를 이동하는 타겟은, 미끄러짐, 움직임, 회전, 진동 등이 발생할 수 있고, 이러한 요인은 획득된 타겟 이미지 데이터 내에서 많은 기하학적 왜곡 상태로 표시된다. 더욱이, 타겟 이미지 데이터를 획득하는 경우, 조명의 불균일로 인한 왜곡 현상 또한 발생할 수 있다.
이런 기하학적 왜곡 현상 및 조명의 불균일은 이미지 데이터의 상태를 판단하기 위한 머신 비전 시스템이 정밀해질 수록 치명적일 수 있다. 예를 들어, 전술한 바와 같은 왜곡 현상들은 픽셀 분해능 0.5mm 이상의 정밀하지 않은 머신 비전 시스템에서는 큰 문제가 되지 않을 수 있으나, 픽셀 분해능 0.1mm 이하의 정밀 시스템은 물론이고 픽셀 분해능 0.01mm 이하의 초정밀 시스템에서는 검사가 불가능할 정도로 아주 치명적인 문제가 될 수 있다.
이하에서 후술되는 본 개시의 실시예들에 따른 타겟 이미지 데이터 보정 방법은, 타겟 이미지 데이터를 보정할 수 있도록 허용한다. 예를 들어, 본 개시의 실시예들에 따른 타겟 이미지 데이터 보정 방법은, 촬영 모듈(111)을 이용하여 타겟 이미지 데이터를 획득할 때, 임의의 속도로 이동하는 컨테이너 벨트와 같은 촬영물 이송수단(도 1 참조)에 배치된 타겟에 대하여 촬영된 타겟 이미지 데이터를 보정할 수 있도록 허용한다.
이하에서 후술되는 타겟 이미지 데이터를 보정하는 방법에 따라서 타겟 이미지 데이터가 보정될 수 있다. 이에 따라, 타겟 이미지 데이터의 상태 판단이 용이해질 수 있다. 또한, 타겟 이미지 데이터의 상태 판단의 정확도가 향상될 수 있다.
본 명세서에서 사용하는 용어 "참조 이미지 데이터" 및 "참조 이미지"는 종종 상호교환가능하도록 사용될 수 있다. 본 명세서에서 사용하는 용어 "타겟 이미지 데이터" 및 "타겟 이미지"는 종종 상호교환가능하도록 사용될 수 있다. 나아가, 본 명세서에서 사용하는 용어 "참조 이미지 데이터" 및 "타겟 이미지 데이터"는 "이미지 데이터"로 통칭될 수도 있다. 또한, 본 명세서에서 사용하는 용어 "타겟 이미지 데이터를 보정하는 장치(100) 및 "장치(100)"는 종종 상호교환가능하도록 사용될 수 있다.
이하, 도 2 내지 도 7을 참조하여 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법을 상세하게 설명하도록 한다.
도 2는 본 개시의 실시예들에 따라 타겟 이미지 데이터의 보정 방법을 도시한 순서도이다.
이하에서 개시되는 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법은 도 1에 도시되고 그리고 도 8 내지 도 11에서 후술되는 본 개시의 실시예들에 따른 타겟 이미지 데이터 보정 장치(100)에 의해 수행되는 것으로 설명되나 본 개시의 권리범위는 이에 제한되지 않는다. 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법은 이를 수행하기 위한 복수의 명령들을 포함하는 컴퓨터 판독가능 저장 매체에 의해 수행될 수도 있으며, 본 개시의 권리 범위는 이에 제한되지 않는다.
본 개시의 실시예들에 따라 타겟 이미지 데이터의 보정 방법은, 참조 이미지 데이터 생성 단계(S110), 참조 이미지 데이터로부터 하나 이상의 특징점을 검출하는 단계(S120), 타겟 이미지 데이터로부터 하나 이상의 특징점을 검출하는 단계(S130), 미검출된 특징점 및 미매칭된 특징점 각각에 대한 추정 특징점을 결정하는 단계(S140), 그리고 참조 이미지 데이터 및 타겟 이미지 데이터를 정합시키는 단계(S150)를 포함할 수 있다. 추가적으로, 본 개시의 실시예들에 따라 타겟 이미지 데이터의 보정 방법은, 조명에 의해 손실된 상기 타겟 이미지 데이터의 적어도 일부의 데이터를 복원하는 단계(S160)와 참조 이미지 데이터에 대하여 학습된 네크워크 함수를 이용하여 타겟 이미지 데이터의 상태 정보를 결정하는 단계(S170)를 더 포함할 수도 있다. 전술한 바와 같은 단계들은, 본 개시의 실시예들에 따른 예시적인 단계들이며, 본 개시의 권리 범위는 이에 제한되지 않는다.
본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법은, 참조 이미지 데이터를 생성할 수 있다(S110). 참조 이미지 데이터는, 도 1에서 전술한 바와 같이, 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 생성될 수 있다. 단계 S110이전에, 참조 이미지 데이터를 생성하기 위한 하나 이상의 정상 이미지 데이터가 입력될 수 있다.
본 개시의 실시예들에 따라서 참조 이미지 데이터로부터 하나 이상의 특징점을 검출하는 단계(S120)가 수행될 수 있다. 본 개시의 실시예들에 따른 특징점은 코너(corners), 에지(edges), 외곽선(contours), 교차점(line intersections) 등을 포함할 수 있다. 즉, 특징점이란 영상 내의 객체들의 시각적인 고유 특성을 표현할 수 있는 대표적인 픽셀들을 지칭한다.
본 개시의 실시예들에 따라서 특징점 검출을 위한 제 1 알고리즘에 적어도 기초하여 참조 이미지 데이터로부터 특징점 후보군이 검출될 수 있다(S121). 본 개시의 실시예들에 따른 특징점 검출을 위한 제 1 알고리즘은, Harris Corner Detector 알고리즘, Shi-Tomasi Corner Detector 알고리즘 및 SIFT_DoG 알고리즘 중 적어도 하나일 수 있다. 본 개시의 실시예에서는 특징점 추출 알고리즘을 특별히 제한하지 않으며, 다양한 특징점 추출 알고리즘을 이용할 수 있다. 예를 들어, SUSAN 알고리즘, SURF 알고리즘, MSER 알고리즘 중 적어도 하나가 특징점 검출을 위한 제 1 알고리즘으로서 채용될 수 있다.
단계 S121을 통해 특징점 후보군이 검출되면, 이러한 특징점 후보군들 중에서 실제로 매칭이 가능한 특징점을 결정될 수 있다. 본 개시의 실시예들에 따르면, 특징점 검출을 위한 제 2 알고리즘에 적어도 기초하여 타겟 이미지 데이터와의 매칭에 필요한 특징점이 검출될 수 있다(S123).
본 개시의 실시예들에 따라서, 특징점 검출을 위한 제 2 알고리즘은, 참조 이미지 데이터 및 참조 이미지 데이터와 관련된 제 2 이미지 데이터의 정규화 상호 상관(Normalized Cross Correlation; NCC) 결과 데이터를 서브 픽셀 단위로 해석하는 Super Resoulution Feature Matching 알고리즘일 수 있다.
본 개시의 실시예들에 따라서 참조 이미지 데이터와 관련된 제 2 이미지 데이터는, 이미지 데이터에 대하여 변형 및 손실 중 적어도 하나를 수행함으로써 생성될 수 있다. 보다 상세하게, 참조 이미지 데이터와 관련된 제 2 이미지 데이터는 참조 이미지 데이터에 대하여 가우시안 블러 필터(Gaussian Blur Filter) 및 가우시안 노이즈(Gaussian Noise)를 적용함으로써 생성될 수 있으며 본 개시의 권리 범위는 이에 제한되지 않는다.
도 3은 본 개시의 실시예들에 따른 참조 이미지 데이터의 임의의 영역을 도시하고 그리고 상기 참조 이미지 데이터의 임의의 영역으로부터 특징점을 검출하는 방법을 설명하기 위한 도면이다.
도시된 바와 같이, 참조 이미지 데이터는 미리 설정된 크기로 구분되어 각 개별 영역 내에서의 매칭이 가능한 특징점이 검출될 수 있다. 도 3에는 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법에 따라서 각 개별 영역 내에서 검출된 특징점 후보군들 및 특징점 후보군들 중 매칭이 가능한 특징점(K1, K2, ....K9)이 도시된다.
도 4는 본 개시의 실시예들에 따른 참조 이미지 데이터로부터 참조 이미지 데이터와 관련된 제 2 이미지 데이터가 생성되는 개념을 도시한 도면이다.
본 개시의 실시예들에 따른 참조 이미지 데이터에 관련된 제 2 이미지 데이터는, 참조 이미지 데이터에 가우시안 블러 필터 및 가우시안 노이즈를 적용함으로써 생성될 수 있다. 이러한 가우시안 블러 필터 및 가우시안 노이즈는 가우시안 분포의 특성을 이용하여 가우시안 블러 필터 및 가우시안 노이즈를 수행한다. 예를 들어, 가우시안 블러 필터는, 각 위치에 해당하는 참조 이미지 데이터의 픽셀에 대해 가우시안 블러 필터 계수를 곱한 값의 합을 산출함으로써 적용된다. 이러한 가우시안 블러 필터 및 가우시안 노이즈는 이하에서 제시되는 2차원 가우시안 분포를 이용한다.
참고적으로 x는 참조 이미지 데이터의 각 픽셀값에 대한 x좌표를 의미한다. y는 참조 이미지 데이터의 각 픽셀값에 대한 y 좌표를 의미한다. 본 개시의 실시예들에 따른 가우시안 필터는 가우시안 분포를 나타내는 연속 함수이지만, x 및 y가 정수인 경우에 대해서 가우시안 함수의 값을 산출할 수 있다. 평균이 0이고 표준편차가 б인 가우시안 분포에서 참조 이미지 데이터의 각 픽셀값은 범위 내에 분포되며, 표준 편차의 크기가 더 클수록, 더 넓은 범위의 블러(blur) 현상이 일어날 수 있다.
도 4에서는 참조 이미지 데이터를 일례로 설명하나, 상술된 방식에 따라서 타겟 이미지 데이터에 관련한 제 2 이미지 데이터 또한 생성될 수 있다.
다시, 도 2를 돌아가면, 단계 S121을 통해 특징점 후보군이 검출되고, 이러한 특징점 후보군들 중에서 실제로 매칭이 가능한 특징점을 결정될 수 있다. 본 개시의 실시예들에 따르면, 특징점 검출을 위한 제 2 알고리즘에 적어도 기초하여 타겟 이미지 데이터와의 매칭에 필요한 특징점이 검출될 수 있다(S123).
이러한 특징점 검출을 위한 제 2 알고리즘은, 참조 이미지 데이터 및 참조 이미지 데이터와 관련된 제 2 이미지 데이터의 정규화 상호 상관(Normalized Cross Correlation; NCC) 결과 데이터를 서브 픽셀 단위로 해석하는 Super Resoulution Feature Matching 알고리즘일 수 있다. 도 5를 참조하여, 특징점 검출을 위한 제 2 알고리즘을 설명하도록 한다.
도 5는 본 개시의 실시예들에 따른 특징점 검출을 위한 제 2 알고리즘을 설명하기 위한 도면을 도시한다.
도 5의 (a)는 본 개시의 실시예들에 따른 이미지 데이터이고, 그리고 도 5의 (b)는 본 개시의 실시예들에 따른 상기 이미지 데이터에 관련한 제 2 이미지 데이터이다. 일례로, 도 5의 (a)는 본 개시의 실시예들에 따른 참조 이미지 데이터이며, 그리고 도 5의 (b)는 본 개시의 실시예들에 따른 상기 이미지 데이터에 관련한 제 2 이미지 데이터이다.
본 개시의 실시예들에 따르면 참조 이미지 데이터 상의 임의의 점 C를 중심으로 임의의 크기를 갖는 제 1 템플릿(T1)이 설정될 수 있다. 제 1 템플릿(T1)의 크기는 사전 설정되어 저장될 수 있다.
본 개시의 실시예들에 따라서 상기 임의의 점 C에 대응하는 위치를 로 설정할 수 있다. 상기 임의의 점 C'를 중심으로 임의의 크기의 제 2 템플릿(T2)이 설정될 수 있다. 이러한 제 2 템플릿(T2)의 크기는 제 1 템플릿(T1)의 크기보다 크도록 설정될 수 있다. 일례로, 제 2 템플릿(T2)의 크기는 제 1 테플릿(T1)의 크기의 2배로 설정될 수 있다.
본 개시의 실시예들에 따라서, 참조 이미지 데이터(도 5의 (a)) 및 참조 이미지 데이터에 관련한 제 2 이미지 데이터(도 5의 (b))의 NCC(Normalized Cross Correlation)을 산출한다.
NCC는 정규화된 상호 연관성을 찾는 방식으로, 두 개의 이미지 데이터 간의 밝기의 선형적인 차이 및 기하학적인 유사도를 측정한다. 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법에 따르면, 참조 이미지 데이터로부터 상기 참조 이미지 데이터에 관련한 제 2 이미지 데이터를 생성할 수 있어서, NCC 값을 산출하기 위하여 추가적으로 이미지 데이터를 획득할 필요가 없다.
본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법에 따라서, 참조 이미지 데이터 및 상기 참조 이미지 데이터에 관련한 제 2 이미지 데이터 간의 NCC값을 8bit 밝기의 값으로 변환한 NCC 스코어 맵을 생성할 수 있다. 본 개시의 실시예들에 따르면, 이하의 조건들:
1) NCC 스코어 맵 상에 사전 결정된 임계값을 넘는 피크(peak)가 단 한 개 존재하고,
2) NCC 스코어에서의 상기 피크를 중심으로 획득한 소정 크기의 데이터 행렬을 2차 가우시안 분포(도 4의 [수학식 1] 참조)로 근사함으로써 산출된 б이 사전 결정된 임계값을 초과하고, 그리고
3) NCC 스코어에서의 상기 피크를 중심으로 획득한 소정 크기의 데이터 행렬로부터 산출된 최외각 데이터 값의 최대값이 사전 결정된 임계값 이하
을 모두 만족하는 경우, 도 5의 (a)의 임의의 점 C를 특징점으로 결정하도록 제시한다.
다시, 도 2로 돌아오면, 타겟 이미지 데이터로부터 하나 이상의 특징점이 검출될 수 있다(S130).
본 개시의 실시예들에 따른 타겟 이미지 데이터 보정 방법은, 참조 이미지 데이터로부터 검출된 특징점 각각에 대한 위치 좌표에 대응되는 상기 타겟 이미지 데이터 상에 위치 좌표를 특징점으로 결정함으로써, 상기 타겟 이미지 데이터로부터 특징점 후보군을 검출하는 단계(S131)를 포함할 수 있다. 그리고 본 개시의 실시예들에 따른 타겟 이미지 데이터 보정 방법은, 특징점 검출을 위한 제 2 알고리즘에 적어도 기초하여 상기 특징점 후보군으로부터 상기 참조 이미지 데이터와의 매칭에 필요한 특징점을 검출하는 단계(S133)를 포함할 수 있다.
본 개시의 실시예들에 따른 단계 S120내지 단계 S130을 통해 참조 이미지 데이터 및 타겟 이미지 데이터 내에서 각각 이미지 데이터 내의 객체들을 표현할 수 있는 대표적인 픽셀들을 찾아 검출할 수 있다. 하나 이상의 참조 이미지 특징점을 검출하는 단계(S120) 및 하나 이상의 타겟 이미지 특징점을 검출하는 단계(S130)는 참조 이미지 데이터 및 타겟 이미지 데이터를 미리 설정된 크기를 갖는 하나 이상의 영역으로 분할한 후, 각 개별 영역 내에서 특징점을 검출함으로써 수행될 수 있다.
본 개시의 실시예들에 따른 미리 설정된 크기는, 참조 이미지 데이터 및 타겟 이미지 데이터의 이미지 해상도, 크기, 색상 모드 및 종횡 비율 중 적어도 하나에 기초하여 설정될 수 있다. 추가적으로, 참조 이미지 데이터 및 타겟 이미지 데이터는 네트워크 함수에 입력 가능한 크기의 이미지 패치로 구분될 수 있다. 또는 참조 이미지 데이터는 네트워크 함수에 입력 가능한 크기로 미리 설정될 수도 있다.
본 개시의 실시예들에 따라서 미검출된 특징점 및 미매칭된 특징점 각각에 대한 추정 특징점이 결정될 수 있다(S140). 보다 상세하게, 특징점 추정을 위한 알고리즘에 적어도 부분적으로 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지로부터 미검출된 특징점 및 미매칭된 특징점 각각에 대한 타겟 이미지 추정 특징점 및 참조 이미지 추정 특징점이 결정될 수 있다.
본 개시의 실시예들에 따른 특징점 추정을 위한 알고리즘은, 특징점의 개수 및 각 특징점을 연결한 거리에 적어도 기초할 수 있다.
본 개시의 실시예들에 따른 특징점 추정을 위한 알고리즘은, 특징점의 개수에 대응하여 상이한 변환모델식을 포함하도록 구성된다. 여기서, 변환모델식은, 특징점의 개수가 1개인 경우 Offset 변환, 특징점의 개수가 2개인 경우 Similarity 변환, 특징점의 개수가 3개인 경우 Affine 변환 및 특징점의 개수가 4개인 경우 Perspective 변환으로 결정된다. 이와 관련하여 하기의 수식을 참조하도록 한다. 관련하여, 도 6을 참조하여 설명하도록 한다.
도 6은 본 개시의 실시예들에 따른 미검출된 특징점 및/또는 미매칭된 특징점과 그 각각에 대한 추정 특징점을 도시한 도면이다.
도 6의 (a)에 표시된 원형의 점은 이미지 데이터 상에서 검출된 특징점 및/또는 매칭된 특징점을 의미한다. 도 6의 (b)에 표시된 링(ring)형의 점은 이미지 데이터 상에서 미검출된 특징점 및/ 미매칭된 특징점에 대응하여 추정되는 추정 특징점을 의미한다.
도 6의 (b)에 도시된 제 1 그리드(G1)은 세 개의 특징점이 검출되었다. 이러한 경우 Affine 변환 모델식을 이용하여 다른 한 개의 특징점이 추정될 수 있다.
도 6의 (b)에 도시된 제 2 그리드(G2), 제 3 그리드 (G3), 제 4 그리드(G4)는 각각 2개, 1개 그리고 4개의 특징점이 검출되었다. 즉, 본 개시의 실시예들에 따르면 제 2 그리드(G2), 제 3 그리드 (G3), 제 4 그리드(G4)에 대하여 각각 Similarity 변환, Offset 변환 그리고 Perspective 변환 모델식을 이용하여 미검출 및/또는 미매칭된 특징점을 추정 특징점들로서 결정할 수 있다.
도 6의 (a)의 D 및 (b)의 D'를 살펴보도록 한다. 본 개시의 실시예들에 따라서, D는 참조 이미지 데이터 상에서 검출된 특징점을 의미한다. 본 개시의 실시예들에 따라서 D'는 타겟 이미지 데이터 상에서 미검출 및/또는 참조 이미지 데이터와 미매칭된 특징점을 의미한다. 즉, D'는 검출되지 못하거나 또는 매칭되지 못한 특징점이다. 이러한 D'는 이하의 [수학식 2] 및 [수학식 4]를 만족하는 특징점 추정 알고리즘을 통해 추정될 수 있다.
여기서, L1은 위치 D에서 영역 i의 무게중심까지 연결한 선분의 최대값을 의미하며, 그리고 L2는 이미지 데이터 내 각 특징점 들을 연결한 선분의 최대값(일반적으로는, 위치 이미지 데이터 내 대각선 길이)를 의미한다. 또한, n은 이미지 데이터를 구성하는 모든 영역의 개수를 의미한다. C는 변환 모델식을 의미한다. C는 전술한 바와 같이, 검출된 특징점의 개수에 따라서 Offset 변환, Similarity 변환, Affine 변환 및 Perspective 변환으로 결정된다.
다시, 도 6의 (b) 내지 (c)를 참조하면, 타겟 이미지 데이터 상의 추정 특징점 D'는 상기의 [수학식 2] 내지 [수학식 4]를 만족하며, Affine 변환식을 이용하는 특징점 추정 알고리즘에 따라 그 위치가 추정될 수 있다.
다시, 도 2를 돌아가면, 참조 이미지 특징점, 타겟 이미지 특징점 및 추정 특징점에 적어도 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터가 정합될 수 있다(S150).
이미지 데이터로부터 추출된 특징점들을 근거로하여, 다른 이미지 데이터들간에 동일한 특징점들을 찾는 단계 S150은, 이미지 데이터에서 특징점들을 추출하여 기술자를 생성하고, 다른 이미지 데이터에서 특징점들을 추출하여 기술자를 생성한 후, 기술자들 간의 비교를 통해 동일한 기술자가 있는 특징점들을 찾아 동일한 객체를 확인함으로써 수행될 수 있다. 즉, 서로 다른 이미지 데이터에서 추출된 특징들 중에서 동일한 특성을 가지는 특징점을 찾기 위해서 기술자가 사용될 수 있다. 동일한 특성을 가지는 특징점을 정확하게 찾기 위해, 기술자에는 다양한 정보가 포함된다. 특히 특징점들에 대해서는 회전이 자주 일어나기 때문에, 회전하는 특성을 고려한 비교를 위해서 기술자에 회전에 대한 정보를 포함할 수 있다. 전술한 내용은 본 개시의 실시예들에 따른 이미지 정합 방법의 예시적 기재이며, 본 개시의 권리 범위는 이에 제한되지 않는다.
전술한 바와 같은 단계들(S110 내지 S150)에 의해, 타겟 이미지 데이터에 대한 기하학적 왜곡에 대한 보정이 이루어질 수 있다. 이와 관련하여 도 7을 참조하도록 한다.
도 7은 본 개시의 실시예들에 따라 타겟 이미지 데이터를 정합시키는 개념을 나타낸 도면이다.
또한, 본 개시의 실시예들에 따르면 조명에 의해 손실된 상기 타겟 이미지 데이터의 적어도 일부의 데이터가 복원(S160)될 수 있다. 이를 통해 타겟 이미지 데이터의 조명 불균일에 따른 왜곡을 해소할 수 있다.
예를 들어, 단계 S160은 통해 타겟 이미지 데이터에 대해 노이즈를 저감하고, 색 보정, 색 향상, 감마 보정, 색채 처리, 블러 처리, 에지 강조 처리 등을 행할 수 있다. 전술한 내용들은 본 개시의 실시예들에 따른 예시적 기재일 뿐, 본 개시의 권리 범위는 이에 제한되지 않는다.
본 개시의 실시예들에 따르면 참조 이미지 데이터에 대하여 학습된 네트워크 함수를 이용하여 타겟 이미지 데이터의 상태 정보가 결정될 수 있다(S170). 네트워크 함수에 관련하여서는, 도 12에서 후술하도록 한다.
타겟 이미지 데이터의 상태 정보는 미리 설정된 크기로 분할된 하나 이상의 영역 각각에 대한 상태 정보에 기초하여 결정될 수 있다. 예를 들어, 각 개별 영역에 대하여 상태 정보를 결정함으로써, 타겟 이미지 데이터의 전체 영역에 대한 상태 정보가 결정될 수 있다. 타겟 이미지 데이터의 상태 정보는, 예를 들어, 결함의 유무 및 결함의 종류 판단 중 적어도 하나일 수 있으며 본 개시의 권리 범위는 이에 제한되지 않는다.
전술한 바와 같은 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법은, 타겟 이미지 데이터의 상태를 판단하기 위해 사용될 수 있다. 본 개시의 실시예들에 따른 타겟 이미지 데이터의 판단 방법은, 예를 들어, 판단 대상이 되는 타겟 이미지 데이터의 상태를 분류하기 위해 사용될 수 있다.
도 2에 도시된 순서도의 각 단계는 필수적인 것은 아니며 필요에 따라 일부 단계들이 생략되거나 추가될 수 있음을 당업자라면 명백히 이해할 것이다.
도 8은 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 장치의 구성을 나타낸 블록 구성도이다.
전술한 바와 같은, 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법은, 연산 능력을 구비한 장치들에서 실행될 수 있다. 예를 들어, 타겟 이미지 데이터의 보정 방법은 개인용 컴퓨터(PC), 워크스테이션(Work station), 서버용 컴퓨팅 장치 등에서 수행될 수 있다. 또는, 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법을 수행하기 위한 별도의 장치에 의해 수행될 수 있다. 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법은 하나 이상의 연산 장치들에서 수행될 수 있다. 예를 들어, 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법의 적어도 일부의 단계들은 클라이언트 디바이스에서, 다른 일부의 단계들은 서버 디바이스에서 수행될 수 있다. 이러한 경우 클라이언트 디바이스와 서버 디바이스는 네트워크로 연결되어 연산 결과를 송수신할 수 있다. 또는, 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 방법은 분산 컴퓨팅 기술에 의해 수행될 수도 있다.
본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 장치(100)는 이미지 데이터 획득부(110), 제 1 검출부(120), 제 2 검출부(130), 추정 특징점 결정부(140), 이미지 데이터 정합부(150), 데이터 복원부(160), 상태 정보 결정부(170), 네트워크부(180) 및 메모리부(190)를 포함할 수 있다. 전술한 도 8의 구성들은 예시적인 것이며 추가적으로 상기 장치(100)는 사용자 입력부, 조명부 등을 더 포함할 수 있다. 또한, 장치(100)는 출력부를 더 포함할 수 있다. 출력부는 예를 들어, 음향 출력 모듈(예를 들어, 스피커) 및 영상 출력 모듈(예를 들어, 디스플레이) 중 적어도 하나를 포함할 수 있다. 본 개시의 실시예들에 따라서 상기 타겟 이미지 데이터 보정 장치(100)는 장치(100)에 의해 획득되거나 또는 보정 및/또는 정합되는 이미지 데이터를 표시할 수 있다. 이와 관련하여 후술하도록 한다.
본 개시의 실시예들에 따른 장치(100)는 전술한 컴포넌트의 일부의 구성으로만 구성될 수도 있다. 상기 장치는 외부의 서버와 통신하여 이용될 수도 있고 자체적으로 서버를 포함할 수도 있다. 또한, 전술한 도 8의 구성들 중 일부는 통합될 수 있다. 예를 들어, 제 1 검출부(120) 및 제 2 검출부(130)는 검출부(미도시)로 통합될 수 있다. 다른 예로, 추정 특징점 결정부(140), 이미지 데이터 정합부(150), 데이터 복원부(160) 및 상태 정보 결정부(170) 중 일부의 구성은 제어부(미도시)로 통합될 수 있으며, 본 개시의 권리 범위는 도시된 바에 제한되지 않는다. 실시예들에서, 상태 정보 결정부(170)는 상기 장치(100)와 유기적으로 연결되어 동작하는 추가적인 장치에 포함되어 작동할 수 있다. 이하에서, 본 개시의 실시예들에 따른 장치(100)의 컴포넌트들에 대하여 차례로 후술하도록 한다.
본 개시의 실시예들에 따라서, 이미지 데이터 획득부(110)는 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 생성된 참조 이미지(Reference Image) 및 타겟 이미지 데이터를 획득하도록 구성된다.
본 개시의 일 실시예에 따라 이미지 데이터 획득부(110)는 촬영 모듈(111)에서 촬영한 이미지로서 이미지 데이터를 획득할 수 있다. 또한 이미지 데이터 획득부(110)는 입력부를 통해 입력된 이미지에서 판단 가능한 이미지 데이터를 획득할 수 있다. 또한 이미지 데이터 획득부(110)는 촬영 모듈(111)에서 촬영한 이미지를 사전 결정된 크기의 이미지 패치로 분할하여 이미지 데이터를 획득할 수 있다.
이미지 데이터 획득부(110)에 입력되는 이미지는 jpg, png, tif, psd, Ai 등 포맷에 제한 없이 입력 받을 수 있으며, 또한 움직이는 이미지, 영상 파일 등 파일 종류에도 제한 없이 데이터를 입력받을 수 있다. 이러한 이미지 데이터 획득부(110)에 대하여, 도 9 내지 도 11을 참조하여 설명하도록 한다.
도 9는 본 개시의 실시예들에 따른 이미지 데이터 획득부의 제 1 실시예이다.
본 개시의 실시예들에 따라서, 이미지 데이터 획득부(110)는 타겟을 촬영하는 촬영 모듈(111), 결함이 없는 복수 개의 정상 이미지 데이터를 획득하는 제 1 획득 모듈(113) 및 상기 복수 개의 정상 이미지 데이터에 기초하여 상기 참조 이미지를 생성하는 참조 이미지 생성 모듈(113)을 포함할 수 있다.
여기서 대상이 되는 촬영물은 인쇄 이미지, 소정의 내용이 프린트된 상품, 직물, 피혁 등 다양한 촬영물을 포함할 수 있다. 전술된 촬영물은 예시일 뿐이며 촬영 모듈(111)은 촬영물의 종류에 제한 없이 촬영할 수 있다. 촬영 모듈(111)에서 촬영된 이미지들은 메모리부(190)에 저장되거나 네트워크부(180)를 통하여 외부로 전송될 수 있다. 촬영 모듈(111)은 사용환경에 따라 하나의 카메라로 구성될 수 있거나 또는 두 개 이상의 카메라로 구성될 수도 있다.
실시예들에서, 촬영 모듈(111)는 본 개시의 실시예들에 따른 타겟 이미지 데이터의 보정 장치(100)에 일체형으로 연결되거나, 분리 가능한 모듈로서 구성될 수 있다. 촬영 모듈(111)은 타겟 이미지 데이터를 보정하기 위한 이미지 데이터를 획득하기 위해 다양한 하드웨어 적인 구성을 포함할 수 있다.
일 예로서, 촬영 모듈(111)은 촬영물에 대한 데이터를 고속으로 획득하기 위해, 예를 들어 컨베이어 벨트와 같은 촬영물 이송수단(도 1 참조)과 함께 동작할 수 있다. 촬영물 이송수단(도 1 참조)은 본 개시의 실시예들에 따른 장치(100)의 구성요소이거나 또는 별도의 외부 디바이스의 구성요소일 수 있다. 예를 들어, 촬영 모듈(111)은 컨베이어 벨트를 따라 이동하는 촬영 대상물을 스캔하기 위한 라인카메라로서 구성될 수 있다. 본 개시의 실시예들에 따른 촬영 모듈(111)의 구성은 전술한 구성에 제한되지 아니하며, 이미지 데이터를 효율적으로 획득하기 위한 임의의 조합이 본 발명의 일 실시예에서 사용될 수 있다.
또한, 촬영 모듈(111)은 다양한 형태의 이미지를 촬영할 수 있다. 촬영 모듈(111)의 촬영 결과물은 3D이미지, 흑백 이미지, 시간의 흐름에 따라 저장되는 GIF이미지, 영상 이미지, 적외선 이미지, 전자 이미지 등을 포함할 수 있다. 또한 촬영 모듈(111)은 필름 카메라, 디지털 카메라, 현미경, 확대경, 적외선 카메라, 자외선(UV) 카메라, X-Ray, 자기 공명 영상 장치 및 임의의 이미지 획득 장치를 포함할 수 있다. 촬영 모듈(111)은 촬영되는 대상의 촬영물에 따라 구성이 변경될 수도 있다.
또한, 본 개시의 실시예들에 따른 이미지 데이터 획득부(110)는 결함이 없는 복수 개의 정상 이미지 데이터를 획득하는 제 1 획득 모듈(113)을 포함할 수 있다.결함이 없는 복수 개의 정상 이미지 데이터는 제 1 획득 모듈(113)을 통해 외부로부터 수신될 수 있다. 이러한 경우 제 1 획득 모듈(113)은 네트워크부(180) 및/또는 입력부(예를 들어, USB 입력부 등)와 유기적으로 연결되어 동작할 수 있다.
추가적으로, 본 개시의 실시예들에 따른 이미지 데이터 획득부(110)는 복수 개의 정상 이미지 데이터에 기초하여 참조 이미지를 생성하는 참조 이미지 생성 모듈(113)을 포함할 수 있다.
도 10은 본 개시의 실시예들에 따른 이미지 데이터 획득부의 제 2 실시예이다.
본 개시의 실시예들에 따라서, 이미지 데이터 획득부(110)는 타겟을 촬영하는 촬영 모듈(111) 및 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 생성된 상기 참조 이미지를 획득하는 제 2 획득 모듈(115)을 포함할 수 있다.
본 개시의 실시예들에 따라서, 참조 이미지 데이터는 제 2 획득 모듈(115)에 의해 외부로부터 네트워크를 통해 수신되거나, 또는, 추가적인 디바이스(예를 들어, USB 등)에 의해 입력받을 수 있다.
도 11은 본 개시의 실시예들에 따른 이미지 데이터 획득부의 제 3 실시예이다.
본 개시의 실시예들에 따라서, 이미지 데이터 획득부(110)는 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 생성된 상기 참조 이미지와 촬영 모듈에 의해 촬영된 타겟 이미지 데이터를 획득하는 제 3 획득 모듈(117)을 포함할 수 있다.
다시, 도 8을 참조하면, 본 개시의 실시예들에 따른 제 1 검출부(120)는 참조 이미지 데이터로부터 하나 이상의 특징점을 검출할 수 있다. 본 개시의 실시예들에 따른 제 2 검출부(130)는, 타겟 이미지 데이터로부터 하나 이상의 특징점을 검출할 수 있다. 본 개시의 실시예들에 따른 추정 특징점 결정부(140)는, 특징점 추정을 위한 알고리즘에 적어도 기초하여 참조 이미지 데이터 및 타겟 이미지 데이터로부터 미검출된 특징점 및 미매칭된 특징점 각각에 대한 추정 특징점을 결정할 수 있다. 전술한 바와 같은 제 1 검출부(120), 제 2 검출부(130) 및 추정 특징점 결정부(140)는, 도 2의 단계 S120 내지 단계 S140에 각각 대응되므로, 상세한 설명은 생략하도록 한다.
본 개시의 실시예들에 따른 이미지 데이터 정합부(150)는, 두 개 이상의 이미지 데이터들의 위치 관계를 대응시켜 하나의 좌표계로 정렬시키는 영상 정합을 수행한다. 즉, 이미지 데이터 정합부(150)는 참조 이미지 데이터와 타겟 이미지 데이터의 위치 관계를 대응시켜 하나의 좌표계로 정렬시킨다. 이에 관련한 내용은 도 2의 단계 S150에서 상세히 설명하였으므로, 추가적인 설명은 생략하도록 한다.
본 개시의 실시예들에 따른 데이터 복원부(160)는, 조명에 의해 손실된 타겟 이미지 데이터의 적어도 일부의 데이터를 복원할 수 있다.
본 개시의 실시예들에 따라서, 타겟 이미지 데이터를 보정하는 장치(100)는 참조 이미지 데이터에 대하여 학습된 네트워크 함수를 이용하여 타겟 이미지 데이터의 상태 정보를 결정하는 상태 정보 결정부(170)를 포함할 수 있다.
본 개시의 일 실시예에 따라 네트워크부(180)는 이미지 데이터 획득부(110)에서 획득된 이미지를 다른 장치 또는 서버로 전송할 수 있다. 네트워크부(180)는 이미지 촬영 장치와 이미지 보정 장치가 별개로 구성되어 있는 경우 두 장치 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 네트워크부(180)는 송신부 및 수신부를 포함할 수 있다. 네트워크부(180)는 네트워크 접속을 위한 유/무선 인터넷 모듈을 포함할 수 있다. 무선 인터넷 기술로는 WLAN(Wireless LAN)(Wi-Fi), Wibro(Wireless broadband), Wimax(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access) 등이 이용될 수 있다. 유선 인터넷 기술로는 XDSL(Digital Subscriber Line), FTTH(Fibers to the home), PLC(Power Line Communication) 등이 이용될 수 있다.
또한, 네트워크부(180)는 근거리 통신 모듈을 포함하여, 장치(100)와 비교적 근거리에 위치하고 근거리 통신 모듈을 포함한 전자 장치와 데이터를 송수신할 수 있다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다. 본 개시의 일 실시예에서, 네트워크부(180)는 네트워크의 연결 상태 및 네트워크의 송수신 속도를 감지할 수 있다. 네트워크부(180)를 통해 수신된 데이터는 디스플레이를 통해 출력되거나, 메모리부(190)를 통해 저장되거나, 또는 근거리 통신 모듈을 통해 근거리에 있는 다른 전자장치들로 전송될 수 있다.
본 개시의 일 실시예에 따라 네트워크부(180)는 외부 장치 또는 서버로부터 이미지를 수신할 수 있다. 수신된 이미지는 제어부에 의해 이미지 데이터의 상태 판단을 하여 등급을 판단하거나 분류될 수 있다. 이미지를 촬영하는 카메라부와 이미지에서 이미지 데이터를 추출하고, 상기 이미지 데이터를 상태 판단하는 제어부는 별도의 디바이스로 구성될 수 있다. 수신되는 이미지는 디지털 영상, 디지털 이미지, 압축 데이터, RAW이미지, 데이터 파일 등일 수 있으며, 이미지로 변환될 수 있는 데이터는 종류에 제한 없이 수신할 수 있다. 외부에서 네트워크부(180)를 통해 수신된 이미지는 제어부에서 이미지 데이터의 상태 판단에 이용할 수도 있고, 상기 이미지의 상태 판단을 통해 상태 판단 촬영물의 상태를 판단할 수도 있다.
본 개시의 실시예들에 따른 메모리부(190)는 제어부의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 참조 이미지 데이터 정보, 참조 이미지 데이터로부터 검출된 특징점 정보, 특징점 검출을 위한 제 1 알고리즘, 특징점 검출을 위한 제 2 알고리즘, 특징점 추정을 위한 알고리즘, 상태 판단 정보, 메시지, 정지영상, 동영상 등)을 임시 또는 영구 저장할 수도 있다. 상기 메모리부(190)는 디스플레이 및 음향에 관한 데이터를 저장할 수 있다. 메모리부(190)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
본 개시의 실시예들에 따른 메모리부(190)는 다양한 네트워크 함수 및 알고리즘을 저장할 수 있다. 네크워크 함수에 대해서는 도 12를 참조하여 후술하도록 한다. 본 개시의 실시예들에 따른 메모리부(190)는 장치(100)를 실행시키는 프로그램, 소프트웨어, 명령, 코드 등을 저장할 수 있다. 본 개시의 실시예들에 따른 메모리부(190)는 캐쉬를 포함하여 이미지 데이터를 임시 저장할 수 있고, 장치(100)를 동작하는데 필요한 프로그램, 명령 등을 임시 저장할 수도 있다.
본 개시의 실시예들에 따른 메모리부(190)는 결함이 없는 복수 개의 정상 이미지 데이터에 기초하여 생성된 참조 이미지(Reference Image) 및 상기 타겟 이미지 데이터를 획득하는 명령; 상기 참조 이미지 데이터로부터 하나 이상의 특징점을 검출하는 명령; 상기 타겟 이미지 데이터로부터 하나 이상의 특징점을 검출하는 명령; 특징점 추정을 위한 알고리즘에 적어도 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터로부터 미검출된 특징점 및 미매칭된 특징점 각각에 대한 추정 특징점을 결정하는 명령; 상기 특징점 및 상기 추정 특징점에 적어도 기초하여 상기 참조 이미지 데이터 및 상기 타겟 이미지 데이터를 정합하는 명령; 및 조명에 의해 손실된 상기 타겟 이미지 데이터의 적어도 일부의 데이터를 복원하는 명령;을 포함할 수 있다.
본 개시의 실시예들에 따른 메모리부(190)는 촬영 모듈(111)에서 촬영되는 이미지 및 영상의 적어도 일부분을 저장할 수 있다. 또한, 메모리부(190)는 상기 저장된 촬영 데이터 중에서 제어부 등과 같은 다른 컴포넌트 또는 다른 디바이스에 의해 로딩되지 않은 촬영 이미지를 사전 결정된 시간 이후에 삭제할 수도 있다. 메모리부(190)는 촬영된 이미지가 다양한 크기의 이미지 패치로 분할되어 저장될 수도 있다. 상기 메모리부(190)의 구성은 예시일 뿐이며 본 개시는 이에 제한되지 않는다.
본 개시의 실시예들에 따라 장치(100)는 입력부를 포함할 수 있다. 입력부는 외부의 장치를 연결하여 장치를 이용하도록 하거나 저장장치에 접속하여 데이터를 입력받을 수 있다. 예를 들어 USB 저장 장치를 입력부에 연결하면 USB에 저장된 이미지가 메모리에 복사되어 저장되거나 디스플레이에 표시될 수 있다.
본 개시의 일 실시예에 따라 입력부는 외부의 조작을 입력받을 수 있다. 예를 들어 카메라부의 제어를 위해 입력부에 포함된 조그를 조작하면 카메라부가 촬영하는 위치를 변경하거나 초점을 변경할 수 있다. 입력부는 상태 판단 촬영물을 변경하도록 하는 스위치를 포함할 수도 있다. 입력부는 다양한 사용자의 입력을 수신할 수 있다.
본 개시의 일 실시예에 따라 입력부는 하나 이상의 외부 입력 장치를 포함하거나 연결할 수 있다. 사용자는 입력부에 외부 저장 매체를 연결하여, 장치(100)의 펌웨어 업그레이드, 컨텐츠 저장 등을 수행할 수 있다. 또한, 사용자는 상기 입력부에 키보드, 마우스 등을 연결하여 사용할 수도 있다. 또한, 입력부의 USB포트는 USB 2.0, 및 USB 3.0 를 지원할 수 있다. 또한, 입력부는 USB 포트뿐만 아니라 선더볼트 등의 인터페이스를 포함할 수도 있다. 또한, 입력부는 터치스크린, 버튼 등의 다양한 입력 장치들을 결합하여 외부의 입력을 수신할 수 있고, 제어부에 의해 상기 입력에 대응하여 장치(100)가 제어될 수도 있다.
본 개시의 실시예들에 따라서 장치(100)는 디스플레이를 더 포함할 수 있다. 디스플레이는 촬영 모듈(111)이 촬영한 이미지를 표시할 수 있다. 디스플레이는 현재 촬영 모듈(111)이 촬영하고 있는 이미지를 표시할 수도 있고 메모리부에 저장된 이미지를 불러와 표시할 수도 있다. 일례로, 본 개시의 실시예들에 따른 디스플레이는 이미지 데이터 정합부(150)에 의해 정합되거나, 또는 데이터 복원부(160)에 의해 복원되는 이미지 데이터를 표시할 수 있다. 이로써, 사용자가 디스플레이되는 영상을 모니터링할 수 있도록 허용한다.
또한, 디스플레이는 타겟에 대한 상태 판단 결과를 출력할 수 있다. 이러한 디스플레이는 외부 장치의 이미지를 수신받아 출력할 수 있으며, 외부 장치의 이미지 상태 판단 결과를 출력할 수도 있다.
본 개시의 실시예들에 따라서 디스플레이는 촬영 가능한 촬영 방식을 출력할 수 있다. 예를 들어 이미지 해상도인 200dip, 300dip, 600dip등을 선택하도록 출력할 수 있다. 또한 이미지 크기, 이미지 촬영 모드, 촬영 장치 등을 선택할 수 있도록 선택 화면을 출력할 수도 있다. 디스플레이는 LCD, LED, CRT 등 임의의 시각적 출력 장치로 구성될 수 있다. 전술한 디스플레이 예시와 구성요소는 예시일 뿐이며 본 개시는 이에 한정되지 않는다. 또한 디스플레이는 사용자의 터치를 통하여 입력을 받을 수 있도록 터치 스크린 형태로 구비되어, 사용자 입력 인터페이스로서 동작할 수 있다.
본 개시의 실시예들에 따른 장치(100)는 음향 출력이 가능하도록 구성될 수 있다. 촬영 대상이 아니거나 상태 판단 결과에 따라 경고 사운드를 출력할 수도 있다.
본 개시의 실시예들에 따른 제어부는 전술한 다른 컴포넌트들 모두와 통신할 수 있어서, 이들의 동작들을 유기적으로 제어할 수 있다.
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다. 하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시예들이 제어부자체로 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리부(190)에 저장되고, 제어부에 의해 실행될 수 있다.
도 12는 본 개시의 실시예들에 따른 신경망 네트워크의 일 예를 나타낸 개념도이다.
본 명세서에 걸쳐, 신경망 네트워크, 네트워크 함수, 뉴럴 네트워크(neural network)는 동일한 의미로 사용될 수 있다. 신경망 네트워크는 일반적으로 “노드”라 지칭될 수 있는 상호연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 “노드”들은 “뉴런(neuroun)”들로 지칭될 수도 있다. 신경망 네트워크는 적어도 둘 이상의 노드들을 포함하여 구성된다. 신경망 네트워크들을 구성하는 노드(또는 뉴런)들은 하나 이상의 “링크”에 의해 상호 연결될 수 있다.
신경망 네트워크 내에서, 링크를 통해 연결된 둘 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호연결하는 노드는 가중치를 가질 수 있다. 가중치는 가변적일 수 있으며, 신경망 네트워크가 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
전술한 바와 같이, 신경망 네트워크는 둘 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 신경망 네트워크 내에서 입력 노드 및 출력 노드 관계를 형성한다. 신경망 네트워크 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 신경망 네트워크의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 신경망 네트워크가 존재하는 경우, 두 개의 신경망 네트워크들은 서로 상이한 것으로 인식될 수 있다.
도 12에 도시된 바와 같이, 신경망 네트워크는 둘 이상의 노드들을 포함하여, 구성될 수 있다. 신경망 네트워크를 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다, 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 신경망 네트워크 내에서 레이어의 차수는 전술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.
최초 입력 노드는 신경망 네트워크 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 신경망 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 신경망 네트워크 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 신경망 네트워크를 구성하는 노드들을 의미할 수 있다.
도 12에 도시된 예시적인 실시예에서, 신경망 네트워크는 3개의 레이어들을 가질 수 있다. 3개의 레이어들은, 전술한 정의에 따라, 최초 입력 레이어(210), 히든 레이어(220) 및 최종 출력 레이어(230)를 포함할 수 있다. 그러나, 도 12에 도시된 예시적인 신경망 네트워크는 설명을 위해 단순화된 것이며, 신경망 네트워크를 구성하는 레이어들의 개수 및 노드들의 개수는 신경망 네트워크의 목적 및 이에 따른 복잡성에 따라 다양하게 설정될 수 있다. 다시 말해서, 둘 이상의 히든 레이어들(미도시)을 포함하는 신경망 네트워크가 존재할 수 있다. 또한, 각각의 레이어에 포함된 노드들의 수들은 도 12에 도시된 것보다 많거나 적을 수 있다.
최초 입력 레이어(210)에서, 신경망 네트워크가 판단하고자 하는 대상에 대한 정보들이 최초 입력 레이어(210)를 구성하는 각각의 노드들(211, 212, 213)에 입력될 수 있다. 최초 입력 레이어(210)의 입력 노드들의 개수는 신경망 네트워크의 종류에 따라 상이하게 구성될 수 있다. 일 예에서, 신경망 네트워크가 판단하고자 하는 대상이 이미지 데이터인 경우, 신경망 네트워크의 최초 입력 레이어(210)에는 이미지 데이터에서 추출된 입력 데이터들이 입력될 수 있다. 이미지 데이터를 판단하는 동일한 목적을 가지는 상이한 신경망 네트워크에서, 신경망 네트워크의 입력 노드들(미도시)의 수는 신경망 네트워크의 목적, 설계, 정확도 등에 따라 상이하게 결정될 수 있다.
예를 들어, 하나의 신경망 네트워크는 이미지 데이터들을 구성하는 각 픽셀들에 대한 광학 정보의 개수의 대응하는 개수의 입력 노드들(미도시)을 최초 입력 레이어(210)에 포함하고 있을 수 있다. 예를 들어, 가로 및 세로가 128 X 128의 크기를 가지는 정사각형 이미지 데이터를 판단하기 위한 신경망 네트워크의 경우, 각각의 픽셀에 대한 R,G,B 수치 값들에 대한 정보가 신경망 네트워크의 최초 입력 레이어(210)에 입력될 수 있다. 따라서, 최초 입력 레이어는 128 X 128 X 3 개의 입력 노드들을 포함할 수 있다. 다른 예에서, 이미지 데이터들을 판단하기 위한 신경망 네트워크는 전술한 예보다 적은 수의 노드들을 최초 입력 레이어(210)에 포함할 수 있다. 예를 들어, 최초 입력 레이어에는 판단하고자 하는 이미지 데이터의 특징들을 나타내는 수치들(예를 들어, 이미지 데이터 상의 연속되는 픽셀의 개수, 변곡점의 개수 등)이 입력될 수 있다.
전술한 실시예들은 설명을 위한 것일 뿐, 본 발명에 개시된 실시예에서 사용되는 신경망 네트워크들은 이미지 데이터를 판단하기 위한 신경망 네트워크에 한정되지 않으며, 신경망 네트워크들은 다양한 데이터(예를 들어, 컴퓨터 네트워크 상의 노드들의 통신 상태를 나타내는 데이터, 압축하고자 하는 컴퓨터 파일에 포함된 데이터, 로보틱스 공학에서 기계적 구성요소의 물리적 상태를 나태는 데이터, 재무 분석 데이터 등)를 입력 데이터로서 처리할 수 있다.
신경망 네트워크(200) 내에서, 하나의 n 레이어에 입력된 데이터들은 n+1 레이어로 출력될 수 있다. n 레이어에 포함되는 노드들은 n+1 레이어에 포함되는 노드들과 링크를 통해 연결될 수 있다. n+1 레이어에 포함되는 하나의 노드는, 해당 노드와 링크를 통해 연결된 n 레이어에 포함된 하나 이상의 노드들 및 하나 이상의 링크들에 부여된 가중치에 기초하여 연산된 값을 입력 값으로서 포함할 수 있다. 다시 말해서, n 레이어에 포함된 k 개의 노드들(Nnode1, Nnode2, Nnode3, … Nnodek)과 n+1 노드에 포함되는 하나의 노드 ((N+1)node1)가 k개의 링크들 (L1, …, Lk)에 의해 연결되는 경우, 다음과 같은 [수학식 5]가 성립할 수 있다.
여기서, Value (X)는 신경망 네트워크 내에 존재하는 노드 X에 입력되는 노드 값을 의미할 수 있다. Weight(L)은 신경망 네트워크 내에 존재하는 링크 L이 가지는 가중치를 의미할 수 있다. y=f(x)는 y값이 x 인자에 기초하여 결정되는 함수관계를 가짐을 의미할 수 있다.
n+1 레이어에 포함되는 다른 노드들 또한, n 레이어에 포함되는 노드들의 값과, 링크들의 가중치에 기초하여 연산된 값을 입력 값으로 가질 수 있다. 다시 말해서, n+1 레이어에 포함되는 노드들에 입력되어야 하는 노드 값들은, n 레이어에 포함된 노드들의 값과, n 레이어의 노드들 및 n+1 레이어의 노드들을 상호연결하는 링크들의 연결관계 및 이들의 가중치에 기초하여 결정될 수 있다.
전술한 바와 같이, 최초 입력 레이어(210)는 0 레이어로 정의될 수도 있다. 따라서, 도 12의 최초 입력 레이어(210) 및 히든 레이어(220)는 0 레이어 및 1 레이어로서, 전술한 신경망 네트워크의 내부의 연산 방법에 따라, 0 레이어(최초 입력 레이어(210))에 포함되는 노드들(211, 212, 213)에 입력된 데이터 및 링크들(215)의 가중치에 기초하여, 1 레이어(히든 레이어(220))에 포함되는 노드들(221, 222, 223, 224)의 값이 결정될 수 있다. 유사하게, 2 레이어(최종 출력 레이어(230))에 포함되는 노드들(231, 232)의 값은, 1 레이어(220)에 포함되는 노드들(221, 222, 223, 224) 및 링크들(225)의 가중치에 기초하여 결정될 수 있다.
도 12에 도시된 신경망 네트워크(200)는 신경망 네트워크의 일 예일 뿐이며, 다양한 형태의 신경망 네트워크들이 존재할 수 있음이 당업자에게 자명하다. 신경망 네트워크는 입력 및 출력 값이 존재한다는 의미에서, 네트워크 함수로 지칭될 수 있다. 다시 말해서, 본 명세서에서, 네트워크 함수는 신경망 네트워크를 의미하는 것으로 이해될 수 있다.
본 명세서에서, 네트워크 함수, 신경망 네트워크는 상호 교환가능하게 사용될 수 있다. 또한, 네트워크 함수 및 신경망 네트워크는, 오토 엔코더(auto encoder), 디아볼로 네트워크(diabolo network) 등을 포함하는 것으로 이해될 수 있다. 둘 이상의 신경망 네트워크가 존재하는 경우, 하나의 신경망 네트워크의 출력 노드들이 다른 신경망 네트워크의 입력 노드들이 되는 경우, 둘 이상의 신경망 네트워크가 직렬 연결된 것으로 지칭할 수 있다. 둘 이상의 신경망 네트워크들이 직렬 연결된 경우, 둘 이상의 직렬 연결된 신경망 네트워크들이 하나의 신경망 네트워크를 구성할 수 있다.
한편, 신경망을 통해 공정에서 검사 목표의 객체들이 이미지화 되어 검사된다. 예를 들어, 스크래치를 찾기 위해서 제조 중에 이미지화된 텍스타일 직물이 검사될 수 있으며, 재료의 홀이나 반도체 회로의 결함을 찾기 위해 다양한 대상들이 이미지화되고 검사될 수 있다. 이미지 데이터를 사람이 검측하고 분석하는 것에는 한계가 있으며 정확도가 높은 이미지 데이터의 상태 판단 방법이 당 업계에서 요구된다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.
본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 함수에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 매체는 저장 매체 또는 통신 매체를 포함할 수 있다. 예를 들어, 컴퓨터-판독가능 저장 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다.
통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
Claims (1)
- 타겟 이미지 데이터를 보정하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180111069A KR20180107047A (ko) | 2018-09-17 | 2018-09-17 | 이미지 데이터의 보정 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180111069A KR20180107047A (ko) | 2018-09-17 | 2018-09-17 | 이미지 데이터의 보정 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160174471A Division KR101905000B1 (ko) | 2016-12-20 | 2016-12-20 | 이미지 데이터의 보정 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180107047A true KR20180107047A (ko) | 2018-10-01 |
Family
ID=63878031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180111069A KR20180107047A (ko) | 2018-09-17 | 2018-09-17 | 이미지 데이터의 보정 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20180107047A (ko) |
-
2018
- 2018-09-17 KR KR1020180111069A patent/KR20180107047A/ko active Application Filing
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101905000B1 (ko) | 이미지 데이터의 보정 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 | |
KR101836096B1 (ko) | 이미지 데이터의 상태 판단 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 | |
US11176408B2 (en) | Tire image recognition method and tire image recognition device | |
KR102166458B1 (ko) | 인공신경망 기반의 영상 분할을 이용한 불량 검출 방법 및 불량 검출 장치 | |
JP5546317B2 (ja) | 外観検査装置、外観検査用識別器の生成装置及び外観検査用識別器生成方法ならびに外観検査用識別器生成用コンピュータプログラム | |
Wang et al. | Outlier detection for scanned point clouds using majority voting | |
US10592764B2 (en) | Reconstructing document from series of document images | |
JP2019087181A (ja) | 画像検査装置および方法 | |
JP6860079B2 (ja) | 異常検知装置、異常検知方法、及びプログラム | |
Navarrete et al. | Color smoothing for RGB-D data using entropy information | |
KR102674065B1 (ko) | 인공지능 기반의 노이즈 제거에 따른 이미지 구축을 통한 불량 검출 시스템 및 방법 | |
CN113066088A (zh) | 工业检测中的检测方法、检测装置和存储介质 | |
EP4285315A1 (en) | Systems and methods for paint defect detection using machine learning | |
CN110472640B (zh) | 一种目标检测模型预测框处理方法及装置 | |
KR20180063869A (ko) | 이미지 데이터의 상태 판단 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 | |
WO2022188102A1 (zh) | 深度图像的修复方法及装置、摄像头组件及电子设备 | |
JP2005165387A (ja) | 画面のスジ欠陥検出方法及び装置並びに表示装置 | |
CN117557565A (zh) | 一种锂电池极片的检测方法及其装置 | |
CN107977961B (zh) | 基于峰值覆盖值和混合特征的纺织品瑕疵检测方法 | |
KR20180107047A (ko) | 이미지 데이터의 보정 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 | |
CN107862679B (zh) | 图像检测区域的确定方法及装置 | |
CN115270841A (zh) | 条码检测方法、装置、存储介质及计算机设备 | |
CN116109543A (zh) | 一种数据快速识别读取方法及装置、计算机可读存储介质 | |
Trigano et al. | Fast background removal of JPEG images based on HSV polygonal cuts for a foot scanner device | |
CN114120423A (zh) | 人脸图像检测方法、装置、电子设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent |