영상에 있어서 조명의 영향은 영상처리에 상당히 많은 영향을 끼칩니다. 좋은 조명의 조건이라면 당연히 좋은 퀄러티의 결과물을 얻을 수 있겠지만 조명이 어둡다거나 특히 그라데이션 조명을 받았을 경우 에러를 일으키는 요소가 되기도 합니다. 본 강의에서는 그라데이션 조명을 받은 영상이 있을 때 조명의 영향을 최소화 하자는 것이 목표입니다. Image Code 를 연구하다보니 Image Code 의 예를 들어 설명하였지만 여기에 국한되는 문제가 아니라 다른 분야에도 해당하는 문제입니다. (예: 문자인식)
저의 연구실 정철호 박사과정 선배님께서 연구하신 자료 중에 Preprocessing(전처리)에 촛점을 맞추고 있습니다. 전처리 과정중 평균 3.6% 해당하는 샘플들이 실패하여 Postprocessing 에 가보지도 못하고 열외되는 현상이 발생하는데요.
저는 이 3.6% 라는 실패율을 줄이는데 촛점을 맞추고 있습니다.
실패가 일어나는 원인들을 살펴보면 그라데이션 조명 상태에서 입력받은 이미지들이었는데요.
그라데이션 조명 상태에서는 어떤 방법으로 이진화를 하려고 해도 Image Code 영역부분에 Case 1 과 Case 2 와 같은 문제가 발생하고 있음을 발견할 수 있었습니다. Case 1 의 경우 배경과 연결된 성분이 발생하여 Image Code 영역과 배경을 분리해 내지 못해는 문제가 발생하였고 Case 2 의 경우 배경과 Image Code 를 분리 했으나 Image Code 의 형태가 손상되어 추출해내지 못하는 문제가 발생하였습니다.
어떻게 이 문제를 해결 할 수 있을지에 대해서 고민하고 위와 같은 가설을 세워보았습니다. 원본 영상으로부터 조명 채널을 분리해낸다면 역 조명을 쏘아주어서 좋은 퀄리티의 영상을 얻을 수 있지 않을까 하는 가설을 세웠습니다.
Color Space 모델에는 다양한 모델이 있는데 그중 LAB 모델은 Lightness 를 가장 잘 분리해 낼수 있어 LAB 모델을 사용하였습니다. (검증 혹은 Ref. 자료가 부족한 부분이기도 합니다.)
LAB Color space는 1976년 CIE에 의해서 정의, uniform color space 중의 하나이다.
Lab의 각 값은 다음과 같이 계산되고 그 의미는, L:밝기
a : +이면 RED 색상의 정도를, -이면 GREEN의 색
b: +이면 YELLOW의 색상정도를 B :-이면 BLUE의 생상정도를 나타낸다
Lab Color : 이미지의밝기와색상정보를이용하여컬러를표시, L(Lightness : 밝기), a(Red 와Green의컬러정보), b(Blue와Yellow 의컬러정보)를포함하고있음.
RGB 모델을 LAB 로 변환하는 공식은 위와 같습니다.
여기에서 조명의 상태를 얻어내기 위해 Median Filter 과정을 거치게 되는데 위 슬라이드는 Radius 값을 변화시켜가며 처리해본 결과입니다. Radius 값을 100으로 하면 실제와 가장 근사한 조명상태를 얻어낼 수 있음을 볼 수 있습니다. 실질적으로는 20 이상 ~ 50 이하여도 충분한 결과를 보여줍니다.
전체 프로세스를 다이어그램으로 다시 정리하자면 원본 영상을 입력 받아 Light Removal 과정을 수행합니다. Light Removal 과정에는 RGB 모델을 LAB 모델로 변환을 하여 Lightness 채널을 분리해 내고 Median Filter 과정을 거쳐 조명의 상태를 알아낸 다음 반전 시켜 역조명 채널을 만들어 냅니다. 이를 원본 영상에 합성하여 Clear 한 Image 를 만들어 내는 것입니다.
다시한번 정리 하자면, 맨 좌측에는 그라데이션 조명이 먹은 상태의 원본 이미지들입니다.
그 다음 중간에는 각각 좌측의 원본 이미지들을 이진화 한 것인데 어떤 임계값을 사용하더라도 붉은색 사격형 부분과 같은 Case 1, Case 2 중 하나 이상의 문제가 발생하여 실패하게 됩니다. 맨 우측에는 지금까지 제안한 조명 제거법으로 조명을 제거한후 Histogram 의 최대-최소 평균으로 Global Thresholding 를 한 이진화 이미지 입니다. Image Code 영역이 정확하게 추출되었음을 볼 수 있습니다.
'Research > 2D Barcode' 카테고리의 다른 글
| 2D 바코드 크기에 따른 카메라별 최대 인식 거리 실험 (9) | 2007/01/24 |
|---|---|
| 2D 바코드 인식을 위한 HVR-2300R 카메라 성능 테스트 - 해상도편 (5) | 2007/01/19 |
| 칼라코드(ColorCode)가 감성코드로 다양하게 변형된 모습 (0) | 2006/10/14 |
| 일본 Denso 사의 QR Code 가 길거리 광고에 적용된 모습들 (3) | 2006/10/14 |
| [강의] 조명(Lighting)의 영향을 제거하는 방법 (5) | 2006/10/03 |
















이올린에 북마크하기
이올린에 추천하기


댓글을 달아 주세요
항상 빛에 대한 이미지 변형을 어떻게 해결해야하는지에 대해서
고민이 많았는데..
이런 방법이 있었군요..
세상엔 대단한 사람이 너무 많아요 ㅠㅠ
잘 보았습니다.^^
한가지 궁금한게 Histogram 의 최대-최소 평균이 정확히 무슨 뜻인지 모르겠어요..
그래이 스케일에서 영상의 히스토그램에서 최대값과 최소값의 평균을 임계값으로 사용한다는 뜻인가요?
예를들어..
최소값이 0이고 최대값이 255면 128을 임계값으로 사용하겠다는 뜻인가요?
histogram 을 구하게 되면 가로축 0~255 사이에서 각각 값의 분포가 나오게 되는데
처음으로 분포가 나오기 시작하는 값이 min 값이라고 보시면 됩니다.
마지막 분포가 나온 값이 max 값.
Histogram-stretch 를 보시면 도움이 되실 거에요.
영상처리에 조명정도가 늘 거슬렸습니다.
한수 배우고 갑니다. 좋은정보 감사드립니다.
이 내용에 관련해서 논문이나 좀 더 심도 있는 자료를 구할 수 있을까요? ^^
kimsmap@naver.com이나 이 게시판에 올려주셔도 좋구요...
부탁드리겠습니다 ^^;ㅋ
좋은 내용 잘 봤습니다. 그런데 의문점이 있어 질문 드립니다.
라이팅 분리후 미디언필터를 사용한다고 말씀하셨는데 미디언필터로 이미지를 처리하면 미디언필터는 선형정리가 아니기 때문에 원본으로 회복되지 못하는걸로 알고있는데요...
Composition시 원본 조명 복원부분의 처리는 어떻게 하신건가요?
단순히 미디언 필터의 처리후 저런 결과가 가능한지 궁금합니다.
그리고 미디언 필터를 이용해 구한 리버스 이미지와 단순히 혼합한 결과를 라이팅으로 활용해 전환하신건가요?
^^ 너무 구체적인것을 질문드리는거 같아 민망하네요.
예전에 논문쓸때 엄청 고생한 경험이 있어 질문드립니다. ^^