KR20190119801A - 차량 헤드라이트 얼라인먼트 보정 및 분류 방법 및 이를 이용한 차량 헤드라이트 불량검사 방법 - Google Patents

차량 헤드라이트 얼라인먼트 보정 및 분류 방법 및 이를 이용한 차량 헤드라이트 불량검사 방법 Download PDF

Info

Publication number
KR20190119801A
KR20190119801A KR1020180043213A KR20180043213A KR20190119801A KR 20190119801 A KR20190119801 A KR 20190119801A KR 1020180043213 A KR1020180043213 A KR 1020180043213A KR 20180043213 A KR20180043213 A KR 20180043213A KR 20190119801 A KR20190119801 A KR 20190119801A
Authority
KR
South Korea
Prior art keywords
image
coordinates
coordinate
value
vehicle
Prior art date
Application number
KR1020180043213A
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 KR1020180043213A priority Critical patent/KR20190119801A/ko
Publication of KR20190119801A publication Critical patent/KR20190119801A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M11/00Testing of optical apparatus; Testing structures by optical methods not otherwise provided for
    • G01M11/02Testing optical properties
    • G01M11/06Testing the alignment of vehicle headlight devices
    • G01M11/064Testing the alignment of vehicle headlight devices by using camera or other imaging system for the light analysis
    • G01M11/065Testing the alignment of vehicle headlight devices by using camera or other imaging system for the light analysis details about the image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/60Rotation of a whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • G06T5/70
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation

Abstract

차량 헤드라이트 얼라인먼트 보정 및 분류 방법은, 차량용 헤드라이트 입력영상(객체)의 장축좌표를 검색하는 단계(단계 1)와, 장축좌표를 이용하여 회전각도 및 영상이동좌표를 계산하고, 객체를 영상의 중심으로 이동 및 회전시키는 단계(단계 2)와, 객체의 특징을 추출하여 차종을 판별하는 단계(단계 3)를 포함하는 것을 특징으로 한다.

Description

차량 헤드라이트 얼라인먼트 보정 및 분류 방법 및 이를 이용한 차량 헤드라이트 불량검사 방법{Vehicle Headlight Alignment Calibration and Classification, Inspection of Vehicle Headlight Defects}
본 발명은 얼라인먼트 보정 및 분류 방법에 관한 것으로서, 더 상세하게는 차량 헤드라이트 얼라인먼트 보정 및 분류 방법 및 이를 이용한 차량 헤드라이트 불량검사 방법에 관한 것이다.
산업이 발전함에 따라 생산시스템 역시 발전하는 추세인데, 생산시스템의 핵심 기술에는 머신비전(Machine Vision)기술, 산업용 로봇제어기술, 산업용 PC 기술, PLC(Programmable Logic Controller)기술 그리고 센서(Sensor)기술 등으로 분류할 수 있다. 그중 머신비전 기술의 경우 생산시스템의 생산 비용을 절감하거나 생산성이 향상시킬 수 있는 중요한 기술이라 할 수 있다. 완제품에 불량 부품을 사용하면 부품의 불량이 아닌 완제품의 불량으로 판정됨으로 부품조립과정은 완제품 불량률을 낮추는 중요한 요인이라 할 수 있다. 부품조립과정은 입력된 부품을 작업 자가 판단하여 해당 부품의 부속부품들을 조립하는 과정으로, 능숙한 작업자가 제조할 경우 불량 발생률은 줄어들지만 작업자의 능력 및 작업환경 등에 따라 불량률에 영향을 줄 수 있다. 따라서, 조립불량으로 인한 완제품 불량률을 줄이기 위해
자동화는 매우 중요한 요인이라고 할 수 있다. 머신비전 기술은 부품생산 전/후를 기준으로 두 가지로 분류할 수 있다. 그 첫 번째가 부품생산 후 불량 유무를 판별하는 기술이고, 두 번째가 부품생산 전 작업자의 작업효율을 향상시키기 위한 목적으로 생산부품의 부속부품들을 분류하는 기술이다. 두 기술에서 필수적으로 사용하는 기술 중 한 가지는 얼라인먼트 보정기술이라 할 수 있고, 이 기술은 보편적으로 생산품에 각인된 마크 또는 생산품에 존재하는 유니크한 패턴을 이용하여 생산품의 각도와 위치를 파악하는 기술이지만 차량 부품과 같이 생산부품의 구조적 특성으로 유니크 패턴과 마크의 각인이 불가능한 경우도 발생한다.
차량 부품 분류 방법에서 중요하게 여기는 것은 정확도 및 처리속도라 할 수 있다. 정확도는 입력된 부품의 얼라인먼트를 보정한 후 특징을 추출하여 차종판별 시 그 정확도를 의미하는 것이고, 처리속도는 차종판별까지의 소요시간이다.
기존 얼라인먼트 보정기술에는 라인검출 방법, 적분 히스토그램 방법 그리고 프로젝션(Projection)기반 적분 히스토그램 방법 등이 존재한다. 라인검출 방법은 부품의 특성인 라인을 검출하여 부품의 얼라인먼트를 보정하는 방법으로 영상의 부품에 직선이 존재하는 경우 부품의 라인을 이용하여 빠르게 얼라인먼트를 보정할 수 있지만, 차량 헤드라이트의 경우 곡면으로 구성되어 얼라인먼트 오차가 발생할 수 있고, 처리 시간비용이 높아질 수 있다. 적분 히스토그램 방법은 적분 히스토그램 기반 템플릿매칭을 적용하여 원과 십자 모양 등의 마크를 검출하는 방법으로 부품에 마크가 없다면 좋은 판별성능은 기대할 수 없다. 적분 히스토그램 방법을 개선한 방법으로 프로젝션(Projection) 기반 적분히스토그램 방법이 존재하지만 차량 헤드라이트 부품의 특성상 유니크한 패턴 사용이 불가능하다
도 1은 전통적인 작업환경과, 두 종류의 헤드라이트 부품을 나타낸 도면이다.
도 1을 참조하면, 전통적 차량용 헤드라이트 제조 작업 환경은 Fig. 1 a와 같은 구조로 하나의 컨베어시스템에 여러 명의 작업자가 2개 이상의 헤드라이트의 부품을 조립하는 환경이고, 작업자가 헤드라이트의 차종을 판단하여 조립할 부품을 선택한다. 그러나 일부 부품의 경우 Fig. 1 b, c와 같이 헤드라이트의 구조가 유사하고, 이로 인하여 작업자의 작업 오류가 발생할 수 있다.
Kwon S. J., Park C and Lee S. M.,"Kinematics and Control of a Visual Alignment System for Flat Panel Displays,"Journal of Institute of Control, Robotics and Systems, Vol.14, No.4, Apr., pp.369-375, 2008.
본 발명은 상기와 같은 기술적 과제를 해결하기 위해 제안된 것으로, 부품의 얼라인먼트를 보정 후 부품의 사이즈를 측정하여 차종을 분류하는 방법을 제안하고, CPU기반 병렬처리를 적용하여 차종판별 처리속도를 개선하고자 한다.
상기 문제점을 해결하기 위한 본 발명의 일 실시예에 따르면, 차량용 헤드라이트 입력영상(객체)의 장축좌표를 검색하는 단계(단계 1)와, 장축좌표를 이용하여 회전각도 및 영상이동좌표를 계산하고, 객체를 영상의 중심으로 이동 및 회전시키는 단계(단계 2)와, 객체의 특징을 추출하여 차종을 판별하는 단계(단계 3)를 포함하는 차량 헤드라이트 얼라인먼트 보정 및 분류 방법이 제공된다.
또한, 본 발명에서 장축좌표를 검색하는 단계(단계 1)는, 파티클 필터(Particle Filter)에서 사용하는 우도(Likelihood)기반 색상모델 변환단계(단계 1.1)와, 객체 획득 및 객체 홀 제거단계(단계 1.2)와, 영상이동좌표와 객체의 회전각도를 계산을 위한 장축좌표를 검색하는 단계(단계 1.3);를 포함하는 것을 특징으로 한다.
또한, 본 발명에서 상기 (단계 1.1)는, 입력영상의 RGB모델을 HSV모델로 변경하는 단계와, 샘플링 좌표의 HSV값과 입력영상의 HSV값을 이용하여 식(1)을 통해 우도 값을 계산하는 단계와, 우도 값 계산 후 식(2)를 적용하여 정규화를 적용하는 단계를 포함하는 것을 특징으로한다.
< 식(1)>
Figure pat00001
< 식(2)>
Figure pat00002
L(d)는 픽셀의 우도결과 값을 의미하고, hs는 샘플링 좌표(s)의 휴(h)값, hi는 이미지 좌표(i)의 휴(h)값을, L(y,x)는 영상 좌표(y,x)에서의 정규화 값을, (h,w)는 입력영상의 높이(h)와 폭(w)을 의미함
또한, 본 발명에서 상기 (단계 1.2)는, 영상의 이진화 적용 후 배경에 존재하는 노이즈를 제거하기 위해 플러드 필(Flood Fill)을 적용하여 객체를 획득하는 단계와, 이미지 테두리의 값을 0과 1이 아닌 임의값으로 변경하는 단계와, 현재 픽셀 값이 1이고 이전 픽셀(h-1 또는 h+1)의 값이 테두리 값인 경우, 현재 픽셀 값을 테두리 값으로 변경하고, 현재 픽셀 값이 0인 경우 픽셀 값은 변경하지 않는 단계와, 현재 픽셀의 값이 0 또는 1인 경우 픽셀 값을 1로 변경하여 객체 홀을 제거하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에서 상기 (단계 1.3)는, 객체의 상단좌표와 하단좌표 그리고 좌측좌표와 우측좌표를 이용하여 객체의 중심좌표를 계산함에 있어서, 객체의 중심으로부터 객체의 좌우측 픽셀 값이 1인 좌표까지의 거리를 계산하고, 계산한 좌우측 좌표까지의 거리 중 거리 값이 가장 큰 좌표를 구하여 객체의 좌우측 장축좌표를 획득하는 단계 - 식 (3, 4) - 를 포함하는 것을 특징으로 한다.
<식(3)>
Figure pat00003
<식(4)>
Figure pat00004
indexL과 indexR 는 객체 좌(L)/우측(R)좌표를 의미하고, xc와 yc는 객체의 중심(c)의 좌표(x,y), xn, yn 와 xm, ym 는 객체 좌측(n) 좌표와 우측(m) 좌표 중 픽셀값이 1인 좌표를 의미함
또한, 본 발명에서 상기 객체를 영상의 중심으로 이동 및 회전시키는 단계(단계 2)는, 좌측 장축 좌표와 우측 장축 좌표의 중심좌표를 구하고, 이 중심좌표와 영상 중심좌표의 차를 구함으로 이동 좌표를 계산하는 단계와, 좌우측 장축 좌표(x1,y1), (x2,y2)를 이용하여 영상이 회전할 각도(θ)를 식 θ = atan((y2-y1)/(x2-x1)) 를 이용하여 회전각도를 계산하는 단계와, 계산된 회전각도와 이동좌표를 이용하여 영상이동 및 영상회전을 적용함에 있어서, 영상이동을 먼저 진행한 후 영상회전을 진행하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명에서 상기 객체의 특징을 추출하여 차종을 판별하는 단계(단계 3)는, (단계 2)에서 획득한 영상에서 헤드라이트의 폭, 헤드라이트의 높이 및 헤드라이트의 면적을 통해 차종에 따른 헤드라이트를 식별하는 단계를 포함하는 것을 특징으로 한다.
또한, 차량 헤드라이트 얼라인먼트 보정 및 분류 방법을 이용하여 카메라에서 취득한 원이미지를 변환하여 위치보정 및 차종을 판별하는 단계와, 검사대상 부품(차량 헤드라이트)이 있는 위치와 크기를 지정하고, 지정한 검사영역의 위치와 크기 및 기준이미지를 데이터베이스에 저장하는 단계와, 데이터베이스에서 모델 및 검사영역 좌표 정보를 검색하여 로딩하고, 로딩 한 검사영역 좌표의 기준 이미지와 입력된 정규화 이미지에서 검사영역 좌표와 동일한 위치의 이미지를 비교하여 불량유무를 판별하는 단계를 포함하는 차량 헤드라이트 불량검사 방법이 제공된다.
본 발명에서는 자동차 헤드라이트를 조립하는 과정 중에 이종 부속부품 사용으로 인한 불량을 자동으로 검사하기 위해 헤드라이트 부품의 차종을 판별하고 얼라인먼트를 보정하는 기술을 제안하였다.
차량 부품 분류 및 얼라인먼트 보정 방법에서 중요한 요인은 정확도 및 처리속도라 할 수 있는데, 이러한 맥락에서 본 발명에서는 병렬처리를 적용하여 처리속도를 개선하고, 생산품의 정확한 위치와 각도를 이용하여 차종의 사이즈를 측정 후 차량의 부품을 분류하는 방법을 제안하였다.
세부적인 성능 비교를 목적으로 제안방법과 그레이영상을 이용한 방법 그리고 라인 검출을 이용한 방법의 판별성능과 처리속도를 비교하였다. 판별성능은 제안방법과 라인 검출을 이용한 방법이 가장 좋은 성능을 보였지만 라인검출 방법보다 제안 방법이 더 좋은 성능을 보였고,
처리속도는 그레이영상을 이용한 방법이 가장 좋은 성능을 보였으나 사용자 좌표 입력 오류를 고려한다면 제안방법이 사용자 측면에서는 더 좋다고 할 수 있다. 또한 처리속도 향상을 목적으로 CPU기반 병렬처리방법인 OpenMP를 적용하였다.
또한, 본 발명에서는 차량용 헤드라이트를 조립하는 과정에서 이종 부품 사용으로 인한 불량을 자동으로 검사하기 위해 헤드라이트 부품의 불량 유무를 판별하는 방법을 제안하였다.
차량용 부품 불량판별에서 중요한 요인은 정확도와 처리속도라 할 수 있는데, 이러한 맥락에서 본 발명에서는 "차량 헤드라이트 얼라인먼트 보정 및 분류 방법"을 이용하여 병렬처리를 적용함으로 처리속도를 개선하고, 생산품의 불량 유무를 검출을 목적으로 OpenCV에서 제공하는 식을 응용한 ROI영역 히스토그램의 유사도를 이용하는 방법으로 부품의 불량유무를 판별하였다.
불량판별 성능 분석을 목적으로 본 발명에서는 상관계수를 이용하는 방법, OpenCV에서 제공하는 방법 중 CV_TIM_SQDIFF를 이용하는 방법, CV_TM_SQDIFF_NORMED를 이용하는 방법, CV_TM_CCORR를 이용하는 방법 그리고 CV_TM_CCORR_NORMED를 이용하는 방법들과 비교 하였다. 실험결과, 불량 판별시 부품이 검사위치로부터 3cm이상 틀어진 경우를 제외한 경우를 제외한다면 판별 성능 100%에 근접한다는 것을 알 수 있다.
도 1은 전통적인 작업환경과, 두 종류의 헤드라이트 부품을 나타낸 도면
도 2는 이종부품 분류 시스템을 나타낸 도면
도 3은 본 발명에서 제안한 분류기 모듈의 동작 개념도
도 4는 얼라인먼트 보정용 장축 좌표검색 단계의 프로세싱 과정을 나타낸 도면
도 5는 그레이 기반 모델 이미지와 우도(Likelihood)기반 색상모델을 비교한 도면
도 6은 OpenMP 를 적용하는 코드예제를 나타낸 도면
도 7은 객체 홀을 제거하는 과정을 도시한 도면
도 8은 객체의 중심좌표와 객체 장축 좌표를 검색하는 과정을 나타낸 도면
도 9는 영상 이동 및 회전 과정을 나타낸 도면
도 10은 회전각도 및 이동좌표 계산 과정을 나타낸 도면
도 11은 영상 이동 및 회전 결과를 나타낸 도면
도 12는 특징 추출 및 분석 결과를 나타낸 도면
도 13은 차량용 헤드라이트 촬영 환경에 대한 도면
도 14는 제안한 방법과 그레이영상을 이용한 방법의 비교결과를 도시한 도면
도 15는 제안한 방법과 다른 방법의 결과를 나타낸 도면
도 16은 OpenMP의 적용 유무에 따른 결과를 나타낸 도면
도 17은 헤드라이트 부품 조립검사기 시스템 구조
도 18은 헤드라이트 부품 불량유무 판별 방법의 프로그램 구조이고, 도 19는 모델 구분, 검사영역 설정과정과 불량 유무판별 과정을 나타낸 도면
도 20은 작업자에게 제공되는 이미지를 도시한 도면
도 21은 검사영역의 위치와 검사대상의 수 그리고 검사영역의 사이즈를 도시한 도면
도 22는 검사영역 정보의 로딩과정을 나타낸 도면
도 23은 불량유무 판별과정을 나타낸 도면
도 24는 실험 환경을 도시한 도면
도 25는 불량 테스트 과정을 도시한 도면이고, 도 26은 유형 1의 이미지이고, 도 27은 유형 2의 이미지이고, 도 28의 유형 1 및 유형 2의 기준 이미지
도 29는 유형 1의 실험결과(eq.2)이고, 도 30은 유형 2의 실험결과(eq.2)이고, 도 31은 유형 2의 8번 이미지
도 32는 유형 1의 실험결과(eq.1)이고, 도 33은 유형 2의 실험결과(eq.1)
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시예를 첨부한 도면을 참조하여 설명하기로 한다.
도 2는 본원발명의 차량 헤드라이트 얼라인먼트 보정 및 분류 방법이 적용되는 이종부품 분류 시스템을 나타낸 도면이다.
도 2를 참조하면, 본 발명에서 제안한 방법은 도 2의 이종부품 분류기의 검사기에 적용되고, 최초 차량용 헤드라이트가 이종부품 분류기에 입력되면 차량용 헤드라이트의 특징을 추출하여 해당 차종을 판단하여 헤드라이트를 분류한다.
이종부품 분류기기 시스템은 검사기 모듈, PLC 모듈, 검사조명 모듈 그리고 카메라 모듈로 구성되고, 각 모듈의 기능은 다음과 같다.
검사조명 모듈은 광량을 조절하는 모듈로 차량용 헤드라이트 부품이 이종부품 분류기의 검사영역에 입력되면 촬영을 위한 광량을 제공하고, 검사기 모듈에서 본 모듈을 제어한다.
카메라 모듈은 차량용 헤드라이트 부품이 이종부품 분류기의 검사영역에 입력되면 부품을 촬영하여 검사기 모듈로 영상을 송신한다.
검사기 모듈은 차종을 판별하기 위한 차량용 헤드라이트 영상을 카메라 모듈로부터 수신하고, 수신한 영상을 이용하여 차종을 판별, 판별후 PLC로 차종에 대한 정보를 송신한다.
PLC 모듈은 검사기 모듈과 검사조명에서 영상 수신 및 영상촬영을 위한 정보를 송신하고, 검사기 모듈에서 차종에 대한 정보를 수신 후 모터를 제어하여 차량용 헤드라이트를 분류한다.
도 3은 본 발명에서 제안한 분류기 모듈의 동작 개념도이다.
도 3을 참조하면, 본 발명에서 제안한 분류기 모듈의 큰 구조는 총 3단계로 구성된다.
첫 번째 단계는 얼라인먼트 보정용 장축 좌표검색이고, 두 번째 단계는 영상 이동 및 회전이며 마지막이 차종 판별 단계이다.
얼라인먼트 보정용 장축 좌표검색단계에서는 차량용 헤드라이트(객체)의 장축 좌표를 검색하고, 회전 및 이동좌표계산 & 이동 및 회전 단계에서는 장축좌표를 이용하여 회전 각도와 영상이동 좌표를 계산하여 객체를 영상의 중심으로 이동 및 회전 시키는 단계이다.
마지막으로 차종 판별단계는 객체의 특징들을 추출하여 차종을 판별하는 단계이다.
- (단계 1) 얼라인먼트 보정용 장축 좌표검색 단계
도 4는 얼라인먼트 보정용 장축 좌표검색 단계의 프로세싱 과정을 나타낸 도면이다.
도 4를 참조하면, 얼라인먼트 보정용 장축 좌표검색 단계의 프로세싱 과정은 총 3단계로 구성된다.
그 첫 번째 과정은 파티클 필터(Particle Filter)에서 사용하는 우도(Likelihood)기반 색상모델 변환(단계 1.1)이고, 두 번째 과정은 객체 획득 및 객체 홀 제거(단계 1.2) 그리고 마지막이 객체 장축 좌표 검색으로 최종적으로 영상 이동 좌표와 객체의 회전 각도를 계산을 위한 장축 좌표를 검색(단계 1.3)한다. 도 4의 샘플링 좌표는 우도를 적용하기 위한 오퍼레이터의 입력좌표이고, 본 발명에서는 배경을 선택한다.
도 5는 그레이 기반 모델 이미지와 우도(Likelihood)기반 색상모델을 비교한 도면이다.
도 5를 참조하면, 검사 조명을 이용하여 차량용 헤드라이트를 촬영하는 경우 헤드라이트의 구조로 인한 음영이 존재하고(도 5의 a 참고), 그레이영상 기반에서 이진화를 진행 할 경우 히스토그램에서 색상의 분포가 한쪽으로 편중되는 증상(도 5의 d 참고)이 발생한다. 이로 인하여 임계값으로 설정할 구간이 협소(도 5의 d ① 참고)하다. 또한 빛의 영향력을 최소화할 목적으로 HSV모델을 사용하는 경우 3개의 임계값을 설정할 필요가 있다.
본 발명에서는 빛의 영향력 최소화를 목적으로 위해 1.1 단계에서 RGB모델을 HSV모델로 변경 후 우도와 정규화를 적용함으로 3개의 임계값 대신에 하나의 임계값만을 사용할 수 있고, 그레이 영상 기반 임계값 설정구간 보다 본 발명의 방법이 넓은 설정구간을 사용할 수 있다.
- (단계 1.1) 우도(Likelihood) 기반 색상 모델 변환
본 단계에서 적용한 우도는 식(1)과 같고, 샘플링 좌표의 HSV값과 입력 영상의 HSV값을 이용하여 우도 값을 계산한다. 우도 값 계산 후 식(2)를 적용하여 정규화를 적용한다. 본 단계의 결과는 도 5의 c와 같고, 임계값 설정구간은 도 5의 e의 ②와 같다. 또한 연산시간 단축을 목적으로 OpenMP(Open Multi-Processing)를 적용할 수도 있다.
< 식(1)>
Figure pat00005
< 식(2)>
Figure pat00006
여기서, L(d)는 픽셀의 우도결과 값을 의미하고, hs는 샘플링 좌표(s)의 휴(h)값, hi는 이미지 좌표(i)의 휴(h)값을, L(y,x)는 영상 좌표(y,x)에서의 정규화 값을, (h,w)는 입력영상의 높이(h)와 폭(w)을 의미한다.
도 6은 OpenMP 를 적용하는 코드예제를 나타낸 도면이다.
도 6을 참조하면, OpenMP 적용방법은 두 개의 함수를 사용한다. 첫 번째 함수는 calc_likelihood로 샘플링 값과 이미지 픽셀 값의 우도를 계산한다.
두 번째 함수의 경우 doHSVLikelihood로 전체이미지에 대한 색상변환과 정규화 과정을 진행하고, calc_likelihood함수와 정규화에 대하여 병렬처리를 적용한다(7번째 라인 #pragma omp parallel 참고). doHSVLikelihood함수에서 RGBtoHSV함수의 경우 RGB색상체계를 HSV색상체계로 변환하는 함수이고, RGBtoHSV함수역시 doHSVLikelihood 함수와 유사하게 OpenMP를 적용한다.
- (단계 1.2) 객체 획득 및 객체 홀 제거
도 7은 객체 홀을 제거하는 과정을 도시한 도면이다.
도 7을 참조하면, 객체 획득을 목적으로 이진화 적용 후 도 7의 a와 같이 배경에 존재하는 노이즈를 제거하기 위해 플러드 필(Flood Fill)을 적용하여 도 7의 b 와 같이 객체를 획득한다.
플러드 필을 적용하기 위해서는 객체의 좌표가 필요하고, 객체의 좌표는 오퍼레이터가 입력한다. 플러드 필을 이용하여 획득한 객체의 경우 객체 내부에 미세한 홀이 존재하여 객체의 특징 추출에 영향을 줄 수 있다.
이를 방지하기 위해 본 과정에서는 배경을 획득하는 방법으로 객체의 홀을 제거하고, 처리속도개선을 목적으로 이진화와 배경획득 방법에서 OpenMP를 적용한다.
객체에 존재하는 홀을 제거는 도 7의 d와 같은 과정으로 처리된다.
즉, ① 은 플러드 필을 이용한 객체 획득하는 영상이고, ② 는 이미지 테두리의 값을 0과 1이 아닌 임의값으로 변경하는 영상이고, ③, ④ 는 상단과 하단 병렬처리로 진행하는 과정인데, 현재 픽셀 값이 1이고 이전 픽셀(h-1 또는 h+1)의 값이 테두리 값인 경우, 현재 픽셀 값을 테두리 값으로 변경하고, 현재 픽셀 값이 0인 경우 픽셀 값은 변경이 없다. (도 6과 유사한 방법으로 OpenMP를 적용할 수도 있다.)
⑤ 는 현재 픽셀의 값이 0 또는 1인 경우 픽셀 값을 1로 변경하는 영상이고, ⑥은 최종결과 획득한 영상이다.
객체의 홀을 제거한 결과는 도 7의 c와 같다.
- (단계 1.3) 객체 장축 좌표 검색
도 8은 객체의 중심좌표와 객체 장축 좌표를 검색하는 과정을 나타낸 도면이다.
도 8을 참조하면, 객체의 장축좌표를 검색은 도 8의 a와 같이 객체의 상단좌표와 하단의 좌표 그리고 좌측좌표와 우측좌표를 이용하여 객체의 중심좌표를 계산하고,
도 8의 b와 같이 객체의 중심으로부터 객체의 좌우측 픽셀 값이 1인 좌표까지의 거리를 계산하고, 계산한 좌우측 좌표까지의 거리 중 거리 값이 가장 큰 좌표를 구하는 방법으로 객체의 좌우측 장축좌표를 구한다. 식 (3, 4)는 이를 수식화 한 것이다.
<식(3)>
Figure pat00007
<식(4)>
Figure pat00008
여기서, indexL과 indexR 는 객체 좌(L)/우측(R)좌표를 의미하고, xc와 yc는 객체의 중심(c)의 좌표(x,y), xn, yn 와 xm, ym 는 객체 좌측(n) 좌표와 우측(m) 좌표 중 픽셀값이 1인 좌표를 의미한다.
- (단계 2) 영상 이동 및 회전 단계
도 9는 영상 이동 및 회전 과정을 나타낸 도면이다.
도 9를 참조하면, 영상 이동 및 회전 방법은 총 3단계로 진행되고, 그 첫 번째 단계는 회전각도 및 이동 좌표 계산(단계 2.1)이고, 두 번째 단계는 영상 이동변환(단계 2.2) 그리고 마지막이 영상 회전변환 단계(단계 2.3)이다. 본 단계에서는 처리속도 개선을 목적으로 영상 이동변환 단계와 영상 회전변환 단계에서 OpenMP를 이용한 병렬처리를 적용할 수 있다.
- (단계 2.1) 회전각도 및 이동좌표 계산
도 10은 회전각도 및 이동좌표 계산 과정을 나타낸 도면이다.
도 10을 참조하면, 본 단계에서 이동좌표는 장축의 중심으로부터 영상중심 좌표까지 이동할 거리를 의미하고, 회전각도는 장축이 회전할 각도를 의미한다.
이동좌표계산은 도 10의 a와 같이 좌측 장축 좌표와 우측 장축 좌표의 중심 좌표를 구하고, 이 중심좌표와 영상 중심좌표의 차를 구함으로 이동 좌표를 계산한다.
회전각도는 도 10의 b와 같이 좌우측 장축 좌표(x1,y1), (x2,y2)를 이용하여 영상이 회전할 각도(θ)를 식 θ = atan((y2-y1)/(x2-x1)) 를 이용하여 회전각도를 계산한다.
- (단계 2.2) 영상 이동변환, (단계 2.3) 영상 회전변환
도 11은 영상 이동 및 회전 결과를 나타낸 도면이다.
도 11을 참조하면, (단계 2.1) 결과의 응용인 장축 길이를 이용하여 헤드라이트의 차종을 판별하는 경우 본 발명에서 고려한 차종은 분류가 가능하다.
하지만 하드웨어에서 헤드라이트의 입력이 틀어지는 경우와 새로운 차종의 헤드라이트가 입력되는 경우 이를 구분하기 위한 기준이 필요할 수 있다.
즉, 본 발명에서는 입력영상의 면적대비 등의 특징을 사용하기 위해 이동변환 및 회전변환을 적용한다.
본 단계에서는 회전각도 및 이동좌표 계산 단계에서 획득한 회전 각도와 이동좌표를 이용하여 영상 이동 및 회전을 적용한다. 영상 회전변환을 우선 적용하는 경우 영상 회전으로 인하여 (단계 2.1)에서 계산한 이동좌표가 영향을 받지만 영상이동변환을 우선 적용하는 경우 영상 이동으로 인한 (단계 2.1)에서 계산한 회전각도에는 영향이 없음으로 영상 이동변환을 우선 적용한다.
즉, 영상 이동변환 후 회전변환은 도 11의 a ①, ②와 같이 좌우측 간격은 동일하지만, 영상 회전변환 후 이동변환은 도 11의 b ①, ②와같이 좌우측 간격은 서로 다름으로 도 11의 c와 같이 이동변환 적용 후 도 11의 d와 같이 회전변환을 적용한다.
- (단계 3) 차종 판별 단계
차종을 판별을 목적으로 (단계 2.2)의 결과를 이용하여 헤드라이트의 폭, 높이, 면적, 회전변환 영상 면적 대비 객체 면적, 회전변환 이전 영상면적 대배 객체 면적 등의 특징을 추출한다.
본 발명에서는 두 개의 차종인 HG그랜저와 YF소나타만을 고려하였고, 이 경우에는 헤드라이트 폭만을 사용하여 차종을 분류할 수 있다. 하지만 본 발명에서 고려한 차종이 아닌 이외의 차종을 분류하는 경우 다른 특징들을 이용하여 분류할 수도 있기 때문에 높이, 면적 등의 다른 특징들도 추출하였다. 각 특징은 다음과 같다.
도 12는 특징 추출 및 분석 결과를 나타낸 도면이다.
도 12를 참조하면, 헤드라이트의 폭은 단계 2에서 획득한 영상에서 헤드라이트의 폭, 도 12의 a의 ①을 의미하고, 헤드라이트의 높이는 단계 2에서 획득한 영상에서 헤드라이트의 높이, 도 12의 a의 ②를 의미한다.
헤드라이트의 면적은 단계2에서 획득한 영상에서 헤드라이트의 면적, 도 12의 a의 hr×wr을 의미한다.
회전변환 영상 면적 대비 객체 면적 비율은 회전변환을 적용한 영상에서 객체 면적비율, 도 12의 b ①영역의 픽셀 사이즈 / (hr×wr)를 의미한다.
회전변환 이전 영상 면적 대비 객체 면적 비율은 회전변환 적용 이전 영상에서 객체 면적 비율, 도 12의 c ①영역의 픽셀 사이즈 / (h0×w0)를 의미한다.
HG그랜저와 YF소나타를 분류하기 위해 각 특징을 분석한 결과, 도 12의 d와 같이 회전변환 이전 영상 면적대비 객체 면적, 객체 높이 그리고 회전변환 영상 면적대비 객체 면적의 경우 두 차종 분류 기준인 임계값을 적용하기가 힘들지만,
객체 폭, 객체 면적의 경우 ①, ②와 같이 분류가 가능한 것을 알 수 있고, 특히 객체 폭의 경우 객체 면적보다 평균 및 MIN, MAX 값의 편차가 큰 것을 알 수 있다. 본 발명에서는 이 분석을 기반으로 두 개의 차종을 분류할 수 있다.
- 실험 및 결과
도 13은 차량용 헤드라이트 촬영 환경에 대한 도면이다.
도 13을 참조하면, 실험을 목적으로 본 발명에서는 도 13과 같이 차량용 헤드라이트 촬영 환경을 구축하였다.
촬영 시 사용한 조명은 LED 조명으로 도 13의 a와 같이 중앙에 카메라를 장착 할 수 있는 판 조명을 사용하였고, 도 13의 b 상단에 위치한 카메라와 렌즈를 사용하여 부품을 촬영하였다. 카메라 제원과 렌즈 제원은 <표 1>과 같고, Intel(R) Core(TM) I7-4790 3.6GHz CPU, 8GB RAM 그리고 Win7 64bit 환경에서 영상처리 성능을 측정하였다. 영상촬영 시 2개 차종 각 1개의 시료를 사용하였고, 차량용 헤드라이트를 다시 마운트 시키는 방법으로 서로 다른 200장의 이미지를 확보하였다.
<표 1>
Figure pat00009
본 발명의 제안방법을 이용하여 YF소나타와 HG그랜저를 분류한 경우 100% 판별율을 보였고, 세부적인 성능 비교를 목적으로 (단계 1.1)와 (단계 1.3)의 알고리즘 성능을 다른 방법과 비교하였다.
세부적인 성능 비교 대상과 방법은 제안방법의 우도기반 색상모델 변환을 이용한 객체검출 방법과 그레이영상을 이용한 객체검출 방법의 판별성능 및 처리속도를 비교하였고, 제안방법의 객체 장축 좌표를 이용한 회전각도 및 이동좌표 계산 방법과 라인 검출을 이용한 회전각도 및 이동좌표 계산 방법의 판별성능 및 처리속도를 비교하였다. 라인검출을 이용한 방법은 Hough 변환을 이용한 방법은 소벨 연산과 Hough 변환을 이용하여 라인을 검출하고, 검출된 라인을 이용하는 방법이다.
또한 얼라인먼트 보정성능의 경우 미세한 각도를 측정하기 위한 기구를 별도로 구축하여 보정성능을 검증하여야 하지만 본 발명의 최종 목적은 헤드라이트의 차종분류이기 때문에 차종판별로 대치하였다. 제안 방법과 그레이영상을 이용한 방법 그리고 라인 검출을 이용한 방법 판별 성능을 비교한 결과는 <표 2>와 같이 제안방법과 라인 검출을이용한 방법의 경우 판별율이 100%이고, 그레이 영상을 이용한 방법의 경우 판별율이 99%이다.
<표 2>
Figure pat00010
그레이영상을 이용한 방법의 기타 1%가 발생하는 원인은 (단계 1.2)의 플러드 필에서 사용자 좌표 입력의 오류이다.
도 14는 제안한 방법과 그레이영상을 이용한 방법의 비교결과를 도시한 도면이다.
도 14를 참조하면, 플러드 필에서 오퍼레이터 좌표입력의 오류가 발생한 원인을 분석한 결과, 제안한 방법의 경우 도 14와 같이 그레이영상을 이용한 방법보다 차량용 헤드라이트 내부의 홀이 작은 것을 알 수 있고, 차량 내부의 광 반사판이 존재함으로 그레이영상을 이용한 방법을 적용한 객체에 홀이 많은 것을 알 수 있다.
또한 그레이영상을 이용한 방법의 경우 홀 내부에도 하나의 객체로 분류할 수 있는 불완전한 요인들(도 14의 b의 검정색 영역)이 존재하고, 오퍼레이터가 이 영역을 좌표로 입력할 경우 입력좌표로 인한 오판별율이 높아질 수 있다. 즉, 플러드 필에서 사용자 좌표 입력의 오류를 최소화 시키는 방법에서 그레이영상을 이용한 방법보다 제안방법이 좋은 결과를 도출할 수 있는 가능성이 높다.
도 15는 제안한 방법과 다른 방법의 결과를 나타낸 도면이다.
도 15를 참조하면, 제안방법과 그레이영상을 이용한 방법 그리고 라인 검출을 이용한 방법 처리속도를 비교한 결과, 도 15와 같이 제안방법 평균 0.331s, 그레이 영상을 이용한 방법 0.263s, 라인 검출을 이용한 방법 3.050s로 그레이영상을 이용한 방법이 가장 좋은 성능을 보이는 반면 라인 검출을 이용한 방법이 가장 안 좋은 성능을 보인다.
하지만 그레이영상을 이용한 방법의 경우 도 14에서 설명한 것과 같이 플러드 필에서 사용자 좌표 입력 오류를 고려한다면 제안방법이 사용자 측면에서는 더 좋다고 할 수 있고, PLC모듈과 모터구동 시간 등의 전체적인 시스템 관점에서 약 0.07s의 경우 미세한 차이라 할 수 있다.
도 16은 OpenMP의 적용 유무에 따른 결과를 나타낸 도면이다.
도 16을 참조하면, 제안한 방법에서 OpenMP를 적용한 처리속도와 비적용한 처리속도를 비교결과는 OpenMP를 적용한 결과가 평균 약 51.18%(0.248s) 더 좋은 결과를 보이는 것을 알 수 있고, 제안방법이 OpenMP를 적용하지 않더라도 라인 검출을 이용한 방법보다 좋은 성능을 보임을 알 수 있다.
본 발명에서는 자동차 헤드라이트를 조립하는 과정 중에 이종 부속부품 사용으로 인한 불량을 자동으로 검사하기 위해 헤드라이트 부품의 차종을 판별하고 얼라인먼트를 보정하는 기술을 제안하였다.
차량 부품 분류 및 얼라인먼트 보정 방법에서 중요한 요인은 정확도 및 처리속도라 할 수 있는데, 이러한 맥락에서 본 발명에서는 병렬처리를 적용하여 처리속도를 개선하고, 생산품의 정확한 위치와 각도를 이용하여 차종의 사이즈를 측정 후 차량의 부품을 분류하는 방법을 제안하였다.
세부적인 성능 비교를 목적으로 제안방법과 그레이영상을 이용한 방법 그리고 라인 검출을 이용한 방법의 판별성능과 처리속도를 비교하였다. 판별성능은 제안방법과 라인 검출을 이용한 방법이 가장 좋은 성능을 보였지만 라인검출 방법보다 제안 방법이 더 좋은 성능을 보였고,
처리속도는 그레이영상을 이용한 방법이 가장 좋은 성능을 보였으나 사용자 좌표 입력 오류를 고려한다면 제안방법이 사용자 측면에서는 더 좋다고 할 수 있다. 또한 처리속도 향상을 목적으로 CPU기반 병렬처리방법인 OpenMP를 적용하였다.
상술한 바와 같이 차량의 헤드라이트의 위치보정 후 차종 판별까지 다루었다.
한편, 실제 환경에서는 차종판별 후 올바른 부품이 삽입되었는지, 즉 이종차종의 부품이 삽입되었는지를 판단하여야 한다. 그래서 본 발명에서는 차량 헤드라이트 얼라인먼트 보정 및 분류 방법을 바탕으로 Region of Interest(ROI)를 이용한 불량판정 부분을 추가로 구현한 후 성능을 비교 분석하였다.
비전검사기에서 불량 판별율과 판별시간은 가장 중요한 요소이다. 불량 판별율은 불량 판별의 정확도를 의미하고 판별시간은 취득한 이미지에서 불량 유무를 판별하는데 소요되는 시간을 의미한다. 검사기의 경우 불량 판별율은 100%, 판별시간은 기존 라인의 생산시간보다 빠르거나 동일해야만 한다. 이러한 관점에서 본 발명에서는 위치보정 후 부품의 특징을 이용하여 불량 유무를 판별하였다.
도 17은 헤드라이트 부품 조립검사기 시스템 구조이다.
도 17을 참조하면, 헤드라이트 부품 조립검사기 시스템은 하나의 검사기에 두 개 이상 모델의 부품을 검사하는 구조이다. 부품은 차종과 무관하게 투입되고, 투입된 부품의 차종을 판별 후 불량 유무를 검사하여 조립 불량품을 선별하는 구조이다. 검사기 시스템은 검사기 모듈, PLC(Programmable Logic Controller) 모듈 그리고 카메라/조명 모듈로 구성된다.
카메라/조명 모듈에서 카메라는 검사대상 부품이 검사가능 영역으로 투입이 되면 부품의 이미지를 취득하고 검사기 모듈로 취득한 이미지를 전송한다. 검사조명은 이미지 취득에 필요한 광량을 제공하고 검사기 모듈을 통해 광량을 조절한다.
검사기 모듈은 카메라에서 전송받은 이미지를 이용하여 차종 판별, 불량유무 검사 및 판별 결과를 PLC로 전송한다.
PLC 모듈은 검사기 모듈에서 전송받은 부품 정보 및 판별결과를 이용하여 모터제어를 통해 불량부품을 분류한다.
도 18은 헤드라이트 부품 불량유무 판별 방법의 프로그램 구조이고, 도 19는 모델 구분, 검사영역 설정과정과 불량 유무판별 과정을 나타낸 도면이다.
도 18 및 도 19를 참조하면, 본 발명에서 제안한 헤드라이트 부품 불량유무 판별 방법은 크게 두 개의 과정으로 구성된다. 첫 번째 과정은 검사기준정보 설정 과정으로 취득 이미지의 위치보정 후 검사영역을 설정하는 것이고, 두 번째 과정은 취득 이미지의 위치보정 후 불량 유무를 판별한다.
각 과정에서 첫 번째 단계는 전처리 단계로 카메라에서 취득한 원이미지를 변환하여 위치보정 및 차종을 판별하는 단계이고, 두 번째 단계는 검사영역 설정 단계로 첫 번째 단계를 거친 이미지를 이용하여 작업자로부터 모델구분을 위한 영역 좌표, 이미지의 차종 및 검사영역 좌표를 DB에 저장한다. 마지막 단계는 불량유무 판별단계로 차종, 검사영역 좌표 및 변환된 기준 이미지를 DB로부터 로딩하고 검사대상 부품의 변환 이미지를 이용하여 불량유무를 판별한다. 모델 구분, 검사영역 설정과정과 불량 유무판별 과정에 따른 각 정보들은 도 19와 같은 순서로 생성 및 사용되었다.
- 전처리
모델 판별과 검사영역 지정을 위해 본 단계에서는 위치 보정용 장축 좌표검색 및 영상변환, 모델 판별 기준설정 및 모델 판별을 진행한다.
카메라를 통해 취득한 헤드라이트 이미지는 조명과 헤드라이트의 구조로 인한 음영이 존재하고, 이미지 내 헤드라이트의 위치가 변하거나 각도가 달라지는 현상이 발생한다. 이에 원본이미지에 Likelihood 기반 색상모델변환을 적용하여 이미지 변화를 하였고 장축을 이용한 위치, 각도 보정을 통해 이미지 정형화를 수행하였다.
끝으로 차종별 헤드라이트의 구조가 상이하고, 검사대상 부품의 위치 및 부품의 수가 차종과 좌·우에 따라 다르다. 따라서 검사대상 부품의 위치와 검사영역 수 지정 시 모델 구분이 병행되어야 한다. 모델 판별 기준설정 및 모델판별을 통해 검사 대상의 모델을 판별하였다.
자세한 내용은 도 2 내지 도 16을 통해 상세히 기술하였으므로 중복된 설명은 생략한다.
- 검사영역 설정
헤드라이트의 경우 차종별로 구조가 서로 다르고, 검사영역(ROI)의 위치, 수 및 크기가 상이하다. 이에 따라 검사영역 설정단계에서는 검사대상 부품이 있는 위치와 크기를 작업자가 지정하고, 확인/저장 단계에서는 지정한 검사영역의 위치와 크기 및 기준이미지를 데이터베이스에 저장한다. 기준이미지는 불량 유무판별에 사용하는 양품의 표준 이미지이다.
1) ROI영역 좌표 설정
ROI영역 좌표설정을 목적으로 작업자가 보는 이미지는 카메라에서 취득한 원본 이미지가 아니라 위치보정의 정규화 과정을 거친 이미지에서 공백을 제거한 이미지다. 정규화 과정을 거치지 않은 이미지를 사용할 경우 이미지 취득 시 환경에 따라 위치 및 각도의 변화가 발생하여 불량유무 판별 시 오검출의 문제가 발생할 수 있다.
이러한 문제를 해결하기 위해 본 발명에서는 정규화 과정을 거친 이미지를 작업자에게 제공하여 검사영역을 설정하도록 하였다.
도 20은 작업자에게 제공되는 이미지를 도시한 도면이다.
작업자에게 제공되는 이미지는 도 20과 같이 주변 배경을 제거한 이미지를 제공하고, 설정좌표 역시 주변 배경을 제거한 좌표로 설정하도록 하였다. 설정한 좌표 정보는 검사영역의 시작좌표 (x, y)와 영역의 크기 정보 (ROIw, ROIh) 및 기준 이미지를 하나의 세트로 묶어 관리하도록하였다.
2) ROI영역 좌표 확인/저장
도 21은 검사영역의 위치와 검사대상의 수 그리고 검사영역의 사이즈를 도시한 도면이다.
차종별 헤드라이트의 구조가 다르기 때문에 도 21과 같이 검사영역의 위치와 검사대상의 수 그리고 검사영역의 사이즈가 각각 다르게 구성된다. 그러므로 검사영역을 설정하고 저장할 때 영역의 크기나 수, 위치좌표를 동일하게 지정할 수 없다.
본 발명에서는 모델별로 검사영역 정보 및 기준 이미지를 개별 지정 및 관리할 수 있도록 데이터베이스와 입력화면을 구성하였다.
- 불량유무 판별
불량유무 판별 단계에서는 검사영역 정보의 로딩과 검사영역 불량유무 판별의 순서로 나누어져 있다. 검사영역 좌표 로딩에서는 모델 및 검사영역 좌표 정보를 데이터베이스에서 검색하여 로딩하고, 불량유무 판별에서는 로딩 한 검사영역 좌표의 기준 이미지와 입력된 정규화 이미지에서 검사영역 좌표와 동일한 위치의 이미지를 비교하여 불량유무를 판별한다.
1) ROI영역 정보 로딩
도 22는 검사영역 정보의 로딩과정을 나타낸 도면이다.
검사영역 정보의 로딩은 도 22와 같이 모델 판별정보를 기준으로 데이터베이스에 있는 검사영역 좌표와 기준 이미지를 요청한다.
검사영역 좌표정보는 기준 이미지 및 인덱스, 시작좌표, 검사영역 사이즈를 하나의 세트로 n개의 검사영역 좌표를 받고, 받은 정보를 불량유무 판별로 전달한다. 여기서 n은 검사영역 좌표 설정 단계에서 작업자가 설정한 검사영역의 수이다.
2) ROI영역 불량유무 판별
도 23은 불량유무 판별과정을 나타낸 도면이다.
불량유무 판별 방법은 검사영역 정보 로딩에서 전달받은 인덱스 및 좌표 정보를 전처리 단계의 결과인 검사대상 정규화 이미지에 적용하여 유사도 판별 후 양품 및 불량을 구분한다.
예를 들어 불량유무 판별은 도 23과 같이 기준 이미지 및 검사대상 이미지의 영역 ①의 유사도와 영역 ②의 유사도를 계산하여 불량 유무를 판별하고, 두 개의 영역 중 하나라도 불량 판별이 발생하면 불량으로 분류한다.
유사도 계산 단계에서 사용한 유사도 계산식 표 3의 Eq. 1 같이 상관계수 방법과 OpenCV에서 제공하는 식을 응용하였다.
본 발명에서 응용한 방법은 ROI영역 히스토그램의 유사도를 이용하는 방법으로, 유사도 판별에서 사용한 식은 표 3의 Eq. 2와 같다. 표 3의 Eq. 1에서 상관계수의 xi는 표준이미지의 i번째 픽셀값을 의미하고, yi는 검사대상이미지의 i번째 픽셀값을 의미한다.
<표 3>
Figure pat00011
OpenCV에서 제공하는 식에서 T(x',y')는 표준 이미지 (x',y') 좌표에서의 픽셀값을 의미하고, I(x+x',y+y')는 검사대상이미지 (x+x',y+y')좌표에서의 픽셀값을 의미한다. 표 3의 Eq2. 에서 hi s 표준이미지(s) 히스토그램(i)에서의 값을 의미하고, hi t는 검사대상이미지(t) 히스토그램(i)에서의 값을 의미한다.
유사도 비교 결과 상관계수를 이용하는 방법 및 TM_SQDIFF_NORMED, TM_CCORR_NORMED의 경우 유사도가 높을 경우 1.0에 근접하고, TM_SQDIFF의 경우 유사도가 높을 경우 0에 근접하며 TM_CCORR의 경우 유사도가 높을 경우 매우 큰 값을 얻었다. 마지막으로 얻어진 결과를 바탕으로 불량 여부를 판별하기 위한 임계값은 검사영역 좌표 설정 시 작업자가 입력할 수 있도록 하였다. 본 발명에서 대상으로 선정한 두 개의 차종에 대해 유사도 판별 실험을 실시하였고 실험 결과는 후술한다.
- 실험 및 결과
도 24는 실험 환경을 도시한 도면이다.
실험을 목적으로 본 발명에서는 도 24와 같은 이미지 취득 환경을 구축하였다. 촬영 시 사용한 조명은 확산판을 부착한 평면 LED 조명으로 중앙에 카메라를 장착할 수 있도록 제작하였고, 상단에 카메라와 렌즈, 조명을 위치시켜 이미지 취득을 하였다.
카메라 제원과 렌즈 제원은 표 4와 같고 테스트 환경은 표 5와 같은 환경에서 진행을 하였다. 이미지 취득 시 두 개 차종에 각 하나의 시료를 사용하였고, 이미지 취득 후 헤드라이트를 제거했다 다시 올리는 방법으로 각 100장씩 총 200장의 이미지를 취득하였다.
<표 4>
Figure pat00012
<표 5>
Figure pat00013
도 25는 불량 테스트 과정을 도시한 도면이고, 도 26은 유형 1의 이미지이고, 도 27은 유형 2의 이미지이고, 도 28의 유형 1 및 유형 2의 기준 이미지이다.
불량유무 판별단계에서 성능 비교를 위해 도 25와 같이 유형2 모델 기준이미지 검사영역을 이용한 방법과, 유형1 모델 기준이미지 검사영역을 이용한 방법으로 나누어 실험을 진행하였다. 두 방법 모두 헤드라이트 내부에서 가장 유사한 영역을 이용하여 유사도 판별실험 후 불량판별 성능을 측정하였다.
실험에는 유형1과 유형2에 대해 양품 이미지 각 100개, 불량 이미지 각 10개씩 총 220개의 이미지를 사용하였다. 실험용 이미지는 도 26, 도 27과 같이 전처리 단계를 통해 보정된 이미지에서 불량 여부를 검사하였다.
ROI 영역은 도 28과 같은 이미지를 사용하였고, 본 발명에서 제안한 방법의 성능을 분석하기 위해 표 3의 Eq. 1의 방법을 추가로 진행하였다.
도 29는 유형 1의 실험결과(eq.2)이고, 도 30은 유형 2의 실험결과(eq.2)이고, 도 31은 유형 2의 8번 이미지이다.
본 발명에서 제안한 방법의 실험결과, 즉, 표 3의 Eq. 2를 사용한 결과, 도 29, 및 도 30과 같이 유형1(Vehicle Type1)의 표준 이미지를 이용한 방법의 경우 모든 방법에서 불량 분류기준을 명확하게 설정할 수 있었고, 유형2(Vehicle Type2)의 표준 이미지를 이용한 경우에도 불량 기준을 명확하게 설정할 수 있다는 것을 알 수 있다.
도 32는 유형 1의 실험결과(eq.1)이고, 도 33은 유형 2의 실험결과(eq.1)이다.
즉, 본 발명에서 제안한 방법의 경우 모든 방법에서 불량 판별률이 100%에 근접함을 알 수 있지만 TM_CCORR을 제외한 나머지 방법은 8번 이미지에서 분류 기준이 불분명한 것을 알 수 있다. 이는 불량 판별시 부품이 검사위치로부터 3cm이상 틀어진 경우로 도 31과 같이 ROI영역이 확보된 경우라 할 수 있다.
비교대상의 실험결과, 즉, 표 3의 Eq. 1을 사용한 결과,도 32 및 도 33과 같이 도 33의 (d)를 제외한 모든 결과에서 불량과 양품의 분류 기준이 모호하다고 할 수 있다. 즉, 본 발명에서 제안한 방법인 ROI영역의 히스토그램을 이용하는 방법이 불량 판별 기준에서 비교 대상보다 좋은 성능을 보임을 알 수 있다.
본 발명에서는 차량용 헤드라이트를 조립하는 과정에서 이종 부품 사용으로 인한 불량을 자동으로 검사하기 위해 헤드라이트 부품의 불량 유무를 판별하는 방법을 제안하였다.
차량용 부품 불량판별에서 중요한 요인은 정확도와 처리속도라 할 수 있는데, 이러한 맥락에서 본 발명에서는 "차량 헤드라이트 얼라인먼트 보정 및 분류 방법"을 이용하여 병렬처리를 적용함으로 처리속도를 개선하고, 생산품의 불량 유무를 검출을 목적으로 OpenCV에서 제공하는 식을 응용한 ROI영역 히스토그램의 유사도를 이용하는 방법으로 부품의 불량유무를 판별하였다.
불량판별 성능 분석을 목적으로 본 발명에서는 상관계수를 이용하는 방법, OpenCV에서 제공하는 방법 중 CV_TIM_SQDIFF를 이용하는 방법, CV_TM_SQDIFF_NORMED를 이용하는 방법, CV_TM_CCORR를 이용하는 방법 그리고 CV_TM_CCORR_NORMED를 이용하는 방법들과 비교 하였다. 실험결과, 불량 판별시 부품이 검사위치로부터 3cm이상 틀어진 경우를 제외한 경우를 제외한다면 판별 성능 100%에 근접한다는 것을 알 수 있다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (8)

  1. 차량용 헤드라이트 입력영상(객체)의 장축좌표를 검색하는 단계(단계 1);
    장축좌표를 이용하여 회전각도 및 영상이동좌표를 계산하고, 객체를 영상의 중심으로 이동 및 회전시키는 단계(단계 2); 및
    객체의 특징을 추출하여 차종을 판별하는 단계(단계 3);
    를 포함하는 차량 헤드라이트 얼라인먼트 보정 및 분류 방법.
  2. 제1항에 있어서,
    장축좌표를 검색하는 단계(단계 1)는,
    파티클 필터(Particle Filter)에서 사용하는 우도(Likelihood)기반 색상모델 변환단계(단계 1.1);
    객체 획득 및 객체 홀 제거단계(단계 1.2); 및
    영상이동좌표와 객체의 회전각도를 계산을 위한 장축좌표를 검색하는 단계(단계 1.3);를 포함하는 것을 특징으로 하는 차량 헤드라이트 얼라인먼트 보정 및 분류 방법.
  3. 제2항에 있어서,
    상기 (단계 1.1)는,
    입력영상의 RGB모델을 HSV모델로 변경하는 단계;
    샘플링 좌표의 HSV값과 입력영상의 HSV값을 이용하여 식(1)을 통해 우도 값을 계산하는 단계; 및
    우도 값 계산 후 식(2)를 적용하여 정규화를 적용하는 단계;를 포함하는 것을 특징으로 하는 차량 헤드라이트 얼라인먼트 보정 및 분류 방법.
    < 식(1)>
    Figure pat00014


    < 식(2)>
    Figure pat00015

    L(d)는 픽셀의 우도결과 값을 의미하고, hs는 샘플링 좌표(s)의 휴(h)값, hi는 이미지 좌표(i)의 휴(h)값을, L(y,x)는 영상 좌표(y,x)에서의 정규화 값을, (h,w)는 입력영상의 높이(h)와 폭(w)을 의미함
  4. 제2항에 있어서,
    상기 (단계 1.2)는,
    영상의 이진화 적용 후 배경에 존재하는 노이즈를 제거하기 위해 플러드 필(Flood Fill)을 적용하여 객체를 획득하는 단계;
    이미지 테두리의 값을 0과 1이 아닌 임의값으로 변경하는 단계;
    현재 픽셀 값이 1이고 이전 픽셀(h-1 또는 h+1)의 값이 테두리 값인 경우, 현재 픽셀 값을 테두리 값으로 변경하고, 현재 픽셀 값이 0인 경우 픽셀 값은 변경하지 않는 단계; 및
    현재 픽셀의 값이 0 또는 1인 경우 픽셀 값을 1로 변경하여 객체 홀을 제거하는 단계;를 포함하는 것을 특징으로 하는 차량 헤드라이트 얼라인먼트 보정 및 분류 방법.
  5. 제2항에 있어서,
    상기 (단계 1.3)는,
    객체의 상단좌표와 하단좌표 그리고 좌측좌표와 우측좌표를 이용하여 객체의 중심좌표를 계산함에 있어서,
    객체의 중심으로부터 객체의 좌우측 픽셀 값이 1인 좌표까지의 거리를 계산하고, 계산한 좌우측 좌표까지의 거리 중 거리 값이 가장 큰 좌표를 구하여 객체의 좌우측 장축좌표를 획득하는 단계 - 식 (3, 4) - ;를 포함하는 것을 특징으로 하는 차량 헤드라이트 얼라인먼트 보정 및 분류 방법.

    <식(3)>
    Figure pat00016

    <식(4)>
    Figure pat00017

    indexL과 indexR 는 객체 좌(L)/우측(R)좌표를 의미하고, xc와 yc는 객체의 중심(c)의 좌표(x,y), xn, yn 와 xm, ym 는 객체 좌측(n) 좌표와 우측(m) 좌표 중 픽셀값이 1인 좌표를 의미함
  6. 제1항에 있어서,
    상기 객체를 영상의 중심으로 이동 및 회전시키는 단계(단계 2)는,
    좌측 장축 좌표와 우측 장축 좌표의 중심좌표를 구하고, 이 중심좌표와 영상 중심좌표의 차를 구함으로 이동 좌표를 계산하는 단계;
    좌우측 장축 좌표(x1,y1), (x2,y2)를 이용하여 영상이 회전할 각도(θ)를 식 θ = atan((y2-y1)/(x2-x1)) 를 이용하여 회전각도를 계산하는 단계; 및
    계산된 회전각도와 이동좌표를 이용하여 영상이동 및 영상회전을 적용함에 있어서, 영상이동을 먼저 진행한 후 영상회전을 진행하는 단계;를 포함하는 것을 특징으로 하는 차량 헤드라이트 얼라인먼트 보정 및 분류 방법.
  7. 제6항에 있어서,
    상기 객체의 특징을 추출하여 차종을 판별하는 단계(단계 3)는,
    (단계 2)에서 획득한 영상에서 헤드라이트의 폭, 헤드라이트의 높이 및 헤드라이트의 면적을 통해 차종에 따른 헤드라이트를 식별하는 단계;를 포함하는 것을 특징으로 하는 차량 헤드라이트 얼라인먼트 보정 및 분류 방법.
  8. 제1항 내지 제7항 중 어느 하나의 항의 차량 헤드라이트 얼라인먼트 보정 및 분류 방법을 이용하여 카메라에서 취득한 원이미지를 변환하여 위치보정 및 차종을 판별하는 단계;
    검사대상 부품(차량 헤드라이트)이 있는 위치와 크기를 지정하고, 지정한 검사영역의 위치와 크기 및 기준이미지를 데이터베이스에 저장하는 단계; 및
    데이터베이스에서 모델 및 검사영역 좌표 정보를 검색하여 로딩하고, 로딩 한 검사영역 좌표의 기준 이미지와 입력된 정규화 이미지에서 검사영역 좌표와 동일한 위치의 이미지를 비교하여 불량유무를 판별하는 단계;
    를 포함하는 차량 헤드라이트 불량검사 방법.
KR1020180043213A 2018-04-13 2018-04-13 차량 헤드라이트 얼라인먼트 보정 및 분류 방법 및 이를 이용한 차량 헤드라이트 불량검사 방법 KR20190119801A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180043213A KR20190119801A (ko) 2018-04-13 2018-04-13 차량 헤드라이트 얼라인먼트 보정 및 분류 방법 및 이를 이용한 차량 헤드라이트 불량검사 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180043213A KR20190119801A (ko) 2018-04-13 2018-04-13 차량 헤드라이트 얼라인먼트 보정 및 분류 방법 및 이를 이용한 차량 헤드라이트 불량검사 방법

Publications (1)

Publication Number Publication Date
KR20190119801A true KR20190119801A (ko) 2019-10-23

Family

ID=68460772

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180043213A KR20190119801A (ko) 2018-04-13 2018-04-13 차량 헤드라이트 얼라인먼트 보정 및 분류 방법 및 이를 이용한 차량 헤드라이트 불량검사 방법

Country Status (1)

Country Link
KR (1) KR20190119801A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220032792A (ko) * 2020-09-08 2022-03-15 박재현 엣지 컴퓨팅 기반의 헤드라이트 검사 장치 및 방법
KR20220032796A (ko) * 2020-09-08 2022-03-15 박재현 라이다 기반의 헤드라이트 검사 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Kwon S. J., Park C and Lee S. M.,"Kinematics and Control of a Visual Alignment System for Flat Panel Displays,"Journal of Institute of Control, Robotics and Systems, Vol.14, No.4, Apr., pp.369-375, 2008.

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220032792A (ko) * 2020-09-08 2022-03-15 박재현 엣지 컴퓨팅 기반의 헤드라이트 검사 장치 및 방법
KR20220032796A (ko) * 2020-09-08 2022-03-15 박재현 라이다 기반의 헤드라이트 검사 장치 및 방법

Similar Documents

Publication Publication Date Title
CN108355981B (zh) 一种基于机器视觉的电池连接器质量检测方法
US8050486B2 (en) System and method for identifying a feature of a workpiece
CN109900711A (zh) 基于机器视觉的工件缺陷检测方法
CN112088387B (zh) 检测成像物品缺陷的系统和方法
WO2018010391A1 (zh) 一种板卡的检测方法及装置
CN111612737B (zh) 一种人造板表面瑕疵检测装置及检测方法
WO2007062563A1 (fr) Procede d&#39;examen automatique en ligne pour des detections de defauts de surface d&#39;acier pendant le pretraitement de toles d&#39;acier
CN108257171A (zh) 基于光视觉的汽车雷达装配孔径检测方法
CN106501272B (zh) 机器视觉焊锡定位检测系统
CN113221889A (zh) 一种芯片字符抗干扰识别方法及装置
CN112304957A (zh) 一种基于机器视觉的外观缺陷智能检测方法及系统
CN106546185A (zh) 一种基于机器视觉检测的轮廓质量检测方法
CN115690670A (zh) 一种晶圆瑕疵智能识别方法和系统
KR20190119801A (ko) 차량 헤드라이트 얼라인먼트 보정 및 분류 방법 및 이를 이용한 차량 헤드라이트 불량검사 방법
WO2022222467A1 (zh) 开口圆环工件外观缺陷检测方法、系统及计算机存储介质
CN111539951B (zh) 一种陶瓷砂轮头轮廓尺寸视觉检测方法
US20220284699A1 (en) System and method of object detection using ai deep learning models
CN111833350A (zh) 机器视觉检测方法与系统
CN111739003A (zh) 一种用于外观检测的机器视觉算法
TW201601119A (zh) 物件辨識與定位方法
Radovan et al. An approach for automated inspection of wood boards
CN114187269B (zh) 小零器件表面缺陷边缘快速检测方法
CN115343313A (zh) 基于人工智能的视觉识别方法
CN115471684A (zh) 注塑工件模板匹配方法、电子设备及存储介质
CN115689990A (zh) 一种基于机器视觉的地毯灯杂光缺陷智能检测算法及设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right