검색 전체 메뉴
PDF
맨 위로
OA 학술지
다중 바코드 영역을 가지는 영상에서 지역적 픽셀 방향성을 이용한 바코드 관심 영역 추출 방법 Barcode Region of Interest Extraction Method Using a Local Pixel Directions in a Multiple Barcode Region Image
  • 비영리 CC BY-NC
  • 비영리 CC BY-NC
ABSTRACT
다중 바코드 영역을 가지는 영상에서 지역적 픽셀 방향성을 이용한 바코드 관심 영역 추출 방법

In this paper presents a method of extracting reliable and regions of interest (ROI) in barcode for the purpose of factory automation. backgrounds are separated based on directional components and the characteristics of detected patterns. post-processing is performed on candidate images with analysis of problems caused by blur, rotation and areas of high similarity. In addition, the resizing factor is used to achieve faster calculations through image resizing. The input images contained multiple product or barcode for application to diverse automation environments; a high extraction success rate is accomplished despite the maximum shooting distance of 80 cm. Simulations involving images with various shooting distances gave an ROI detection rate of 100% and a post-processing success rate of 99.3%.

KEYWORD
영상처리 , 관심영역 , 자동식별 , 바코드 패턴 정보
  • Ⅰ. 서 론

    표현 데이터 간소화 및 데이터의 패턴화로 인한 자료유지 안정성으로 인해 패턴 정보는 일상생활뿐만 아니라 산업체의 물류, 유통, 관리 등 다양한 분야에서 쓰이고 있다. 특히 바코드와 같은 패턴 정보 및 패턴 정보 추출 장비를 공장 자동화에 적용할 경우 제품 생산 및 관리 비용이 절감되고 생산성 또한 향상되는 장점 때문에 이미 오래전부터 많은 산업 분야에서 자동화 시스템의 한 부분으로 바코드와 레이저 바코드 정보 리더기를 사용하고 있다. 하지만 레이저 리더기는 세밀한 샘플링 데이터를 얻을 수 있는 장점이 있지만, 정보 추출을 위해서 정보 추출이 가능한 가까운 거리에 고정이 되어야 하는 문제점이 있어 적용환경에 따라 자동화 환경 구축에 어려움이 있고 연배열 컨베이어 시스템과 같은 다수의 위치에 패턴 정보 추출이 필요할 경우 패턴 정보의 수에 따라 리더기를 추가하여야 한다는 단점이 있다.

    최근 영상 처리 연구가 활발해지고 프로그램을 수행하는 프로세서가 발달함으로써 카메라로 촬영된 영상을 이용한 바코드 패턴 정보 추출 방법이 연구되었다[1-5]. 이러한 영상을 이용한 방법은 레이저 리더기를 사용하는 것보다 좀 더 범용적인 환경에서 사용가능하다는 장점이 있지만, 고정되지 않은 패턴 정보 부착 위치를 찾기 위해서 패턴 정보 영역을 검출하고 해당 영역의 영상을 추출하여 패턴 정보 디코딩 시스템으로 전달해줄 전처리 알고리즘이 필수적이다[3-5]. 이러한 전처리 알고리즘은 연배열 컨베이어 시스템과 같은 다수의 제품이 생산되거나 하나의 제품에 여러 패턴 정보가 부착될 경우 더욱더 높은 정확성을 가지는 패턴 정보 영역 추출 알고리즘이 요구된다.

    본 논문에서는 공장 자동화를 위한 신뢰성 높은 패턴정보 관심영역 추출 방법을 제안한다. 신뢰성 높은 검출률을 위해서 컬러필터, 픽셀 방향성 및 지역 방향성 데이터를 이용하여 검출하고자 하는 패턴정보의 특성에 따라 배경을 분류하고, 검출된 패턴 정보에 blur, 회전, 유사영역 등으로 인한 문제점이 있을 경우 발생할 수 있는 디코딩 오류 방지를 위해 검출된 영역을 후보 정하는 작업을 수행한다. 또한 고정된 크기의 필터 특성에 따른 신뢰성 향상과 빠른 연산 속도를 위해 촬영 디바이스와 사용되는 패턴 정보에 따라 resizing factor를 연산하여 최적의 연산 횟수를 추출하였고, 다양한 자동화 환경에 적용하기 위해서 연배열과 같이 다수의 제품이나 패턴정보가 입력 영상에 촬영되더라도 검출이 가능도록 하였다.

    Ⅱ. 제안하는 방법

       2.1. 패턴 정보 관심영역 후보 검출

    그림 1은 패턴 정보 관심영역 후보 검출의 흐름도이다. Color 영상이 입력되면 연산 시간절약을 위해 크기 조정인수(resizing factor)를 연산 후 Image Resizing을 수행한다. resizing이 수행된 영상은 설정된 색상정보를 찾아내기 위해 CbCr 데이터를 이용한 색상 정보 필터 연산을 수행한다. Direction Estimation of Pixel(DEP) 연산은 픽셀의 방향을 결정하기 위하여 4방향에 대한 윈도우(0°, 45°, 90°, 135°) 필터를 통과시켜 그 중 최대치를 픽셀의 방향으로 결정한다. 픽셀의 방향이 결정된 이후에는 패턴 정보 후보영역을 찾기 위해 방향성 정보가 밀집된 영역을 검출한다. Direction Estimation of Search Window(DESW) 결과 영상은 픽셀의 방향이 결정된 영상으로 search window 크기만큼 영상을 분할하여 각각의 search window에 방향성분이 얼마나 존재하는지를 히스토그램을 생성하여 방향성을 결정한다. search window에 대해 방향이 결정된 영상을 labeling하여 조건에 맞지 않는 영역을 제거하여 후보 패턴 정보 관심영역을 검출한다.

    2.1.1. Resizing Factor Calculation and Image Resizing

    관심영역 후보 검출을 위해 사용된 DEP 및 DESW의 윈도우 크기는 3x3과 5x5이다. 사용된 윈도우의 크기에 따라 검출할 수 있는 영역을 벗어난 크기의 패턴정보가 원본 영상으로 입력되면 관심영역이 검출되지 않는 문제점이 존재한다. 또한 신뢰성 있는 연산결과를 위해 반복적인 연산을 수행함으로써 연산 속도가 느려지는 문제점이 있다. 이와 같은 문제점을 해결하기 위하여 원본 영상을 resizing factor에 의해 영상의 크기를 resizing한다. resizing factor는 알고리즘이 사용되는 촬영 환경과 촬영되는 패턴 정보의 실제 크기에 따라 자동으로 변환되도록 하였다. 입력된 정보를 이용하여 수식 1과 같이 FoV(Field of View)를 연산한다. Sensor_size는 카메라의 CCD, CMOS 센서 크기이다. Shot_dis는 카메라와 촬영하는 물체와의 거리, Focal_length는 렌즈의 초점거리이다.

    image

    수식 1에서 연산된 FoV와 패턴 영역 정보를 이용하여 X-dimension의 폭을 계산한다. X-dimension은 패턴 정보 영역에서 가장 좁은 엘리먼트의 폭을 의미한다. 수식 2는 X-dimension을 의미하는 XD를 연산하는 수식이다. Pattern_size는 실제 패턴 정보 영역의 크기, Input_resolution은 입력 영상의 해상도, Char_count는 정보의 개수, Char_bit_size는 정보 하나당 비트의 개수이다.

    image

    수식 2에서 연산된 XD와 패턴 영역 정보를 이용하여 RF(Resizing Factor)를 계산한다. RS는 목표하는 폭이 가장 큰 패턴 정보 엘리먼트의 폭을 의미하고, Max_bit_width는 가장 큰 연속되는 비트수이다. 예로 CODE-128은 4개의 비트가 연속적인 엘리멘트가 가장 크다.

    image

    실제 사용될 가장 큰 패턴정보와 가장 작은 패턴정보에 맞는 RF를 연산하여 공통된 범위의 RF값을 선정하여 반복 수행하도록 설계하였다. 실험적으로 RS값은 높게는 20, 낮게는 1.5의 값을 가질 때 관심영역 검출 결과 좋은 성능을 보였다. 관심영역후보 검출 연산을 반복 수행하면서 중복되어 검출되는 영역은 제거하고, 새롭게 검출되는 영역은 관심 영역 후보로 설정하도록 하였다. 때문에 촬영거리가 변하거나, 입력되는 영상에 다양한 크기의 패턴 정보샘플이 다수 부착되더라도 안정적인 관심영역 검출이 가능하다.

    2.1.2. Color Filter

    촬영 환경에 따라 찾고자 하는 패턴 정보와 유사한 영역이 존재할 수 있다. 만약 패턴 정보 이외의 영역에 패턴 정보와 유사한 같은 방향성을 가지는 집합이 존재한다면 관심영역이 오검출될 수 있는 가능성이 존재한다. 이러한 문제점을 해결하기 위하여 패턴 정보 영역이 아닌 배경 부분을 배제하는 작업이 필요하다. 1차적으로 배경 부분을 배제하기 위해서 CbCr좌표상의 값에 임계값을 사용하여 패턴 정보가 아닌 영역을 제거한다. 만약 검출하고자하는 패턴 정보 영역이 흰색배경과 검정색을 이용하여 프린트 되었다면, YCbCr 색 좌표계에서 Cb와 Cr값이 128 부근에 존재한다. 따라서 찾고자 하는 색상값에서 일정 범위의 영역을 설정하여 설정된 범위 이외의 영역에 픽셀 정보가 존재하면 관심영역이 아니라고 판단한다.

    2.1.3. DEP & DESW

    픽셀의 방향성분을 추정하기 위하여 5x5 방향성 필터를 이용하여 방향을 추정한다. 필터는 총 4가지를 사용하였으며 각각 0°, 45°, 90°, 135°의 방향을 추정하기 위해 사용한다. 그림 2는 4가지 필터의 계수 값을 나타내었다. 4개의 필터를 통과한 값 중에 가장 큰 값을 해당 픽셀의 방향으로 결정한다.

    픽셀 방향이 결정된 영상에서 설정된 window size 내의 방향값에 대한 히스토그램을 생성하여 지역적인 패턴 정보가 존재하는 방향을 판단한다. 패턴 정보 영역일 경우 특정 방향성분이 많이 분포하고 그 이외의 방향성분은 거의 존재하지 않는다. 따라서 특정방향의 밀도가 클 경우 패턴 정보 영역이라고 판단할 수 있다. 본 논문에서는 5x5의 window를 사용하여 window크기의 1/2만 큼을 이동하면서 방향을 추정하게 된다. window에서 추정된 정보는 한 픽셀 정보로 대체된다. 방향을 추정한 결과영상은 window의 가로와 세로의 길이의 1/2크기만큼 영상이 작아지게 된다. 따라서 5x5 window를 사용한 결과영상은 입력영상보다 크기가 대략 1/4만큼 줄어들게 된다.

    2.1.4. Labeling

    수평 또는 수직 방향을 가지는 패턴 정보가 있는 입력영상을 사용하여 labeling을 하였을 때, 다른 방향성분을 참조하는 경우 주변 노이즈에 의한 오검출이 발생할 수 있다[6]. DESW에서 결정된 window의 방향성을 이용하여 같은 방향을 가질 경우에만 동일한 label을 부여하고 같은 방향을 가지지 않을 경우 새로운 label을 부여하여 연속된 유효 영역을 가지더라도 window가 다른 방향을 가지면 다른 label을 부여 받도록 하였다. labeling 연산 시, 각 segment의 x축과 y축의 min, max값을 갱신하며 유효픽셀 개수와 무게중심점 연산을 위해 x, y, zero 각각의 moment 값을 누적한다[7,8].

    촬영된 영상크기 대비 패턴 정보의 차이는 존재하지만, 크기가 보장이 되어야 한다. 예를 들어 labeling 결과, 방향성을 가지는 유효 픽셀이 한 픽셀이라면 어떠한 정보도 가지지 못하는 영역이기 때문에 이러한 경우 관심영역 후보에서 제거한다. 유효한 영역의 경우 사각형에 가까운 형태를 가지고 있고, 이 경우 무게중심과 검출된 영역의 중심점은 일치한다. 따라서 무게중심과 검출된 영역의 거리가 임계값이상이라면 후보영역에서 제거한다. 또한 패턴 정보는 사각형인 형태를 가지고 있으므로 정상적으로 검출된다면 검출된 영역 대부분 동일한 방향성의 유효 픽셀을 가지고 있다. 따라서 임계값 이하의 유효 픽셀 개수를 가진다면 후보에서 제거한다.

       2.2. Post collection processing

    검출된 패턴 정보 영역 후보 영상이 유사 패턴과 부착시의 기울어짐으로 인해서 실제 검출하고자 하는 영역이 아닌 영역과 함께 검출될 수 있다. 때문에 후보정연산을 통하여 실제 패턴 정보 영역만을 추출하도록 하였다.

    그림 4는 후보정 연산 흐름도이다. 관심영역 후보 영상이 추출되면 Image Rotation은 패턴 정보 후보의 기울어진 각도를 검출하고 보정 연산을 수행한다.

    Image Crop은 패턴정보영역 이외의 정보가 관심영역에 포함되어 있을 수 있으므로, 패턴정보영역만을 검출한다. 이러한 보정을 수행함으로써 최종 출력되는 패턴 정보 관심영역의 검출 신뢰성을 높였다.

    그림 5와 같이 각도 검출 연산의 시작점을 선택하기 위해서 x축 방향으로 이동하며 검은 엘리먼트의 폭이 회전각도 검출 윈도우 크기와 가장 가까운 것을 찾는다. 이때 패턴정보영역이 기울어졌을 시, 양끝지점의 경우 패턴정보영역이 아닌 다른 정보를 찾을 수 있기 때문에 가로크기의 1/4지점에서 3/4지점 영역 내에서 연산 시작점을 찾도록 하였다.

    회전각도 검출 윈도우의 세로방향 윈도우 크기를 결정하기 위해, 선택된 엘리먼트의 고주파 성분을 이용하여 엘리먼트의 가장자리를 추출한다. 윈도우의 크기가 결정된 후 윈도우를 회전 시키며 픽셀값의 밀집도가 가장 큰 각도를 패턴 영역의 회전각도로 추출한 후 회전 보정을 수행한다. 이때 연산량을 줄이기 위해서 2번의 회전각도 검출 연산을 수행한다. 처음 회전 각도를 검출할 때 넓은 범위에서 큰 값으로 회전각이 증가하며 연산하도록 하였고, 1차적으로 찾아낸 회전 각 주변으로 좀 더 세밀하게 회전각이 증가하는 2차 검출 연산을 수행하였다. 그림 6은 회전각도 추출 및 보정결과에 대한 그림이다. 그림 6의 (a)는 윈도우 크기를 결정하기 위한 연산의 시작점, (b)는 1차 회전각도 검출 범위, (b) 2차 회전각도 검출 범위, (d)는 회전 보정된 결과 영상이다.

    검출된 관심영역 후보가 각도보정을 거쳤지만, 패턴 정보영역 근처에 패턴정보와 비슷한 패턴을 가지는 영역이 있기 때문에, 패턴 정보 이외의 영역도 관심영역으로 검출이 되었다. 따라서 원하는 패턴 정보 영역만 을 검출하기 위하여 불필요한 부분을 제거하는 작업이 필요하다. 그림 7은 검출된 관심영역 영상에서 실제 패턴 정보 영역만 추출하는 과정을 나타내었다. 회전각도 검출 연산에 사용하였던 엘리먼트의 중심점을 기준으로 좌, 우, 위, 아래 방향으로 이동하면서 경계지점을 찾고, 최종 관심영역으로 추출한다. 좌우경계지점은 설정된 임계값보다 표준편차가 낮고 중심점에서 가장 먼 위치, 위아래경계지점은 중심점에서 가장 가까운 위치로 선정한다.

    Ⅲ. 시뮬레이션 결과

    그림 8은 제안하는 방법의 시뮬레이션 결과이다. 그림 8의 (a)와 (d)는 패턴 정보 영역이 포함된 오브젝트를 촬영한 영상이다. 그림 8의 (b)는 (a)에서 검출된 관심 영역 후보, (c)는 관심영역 후보 (b)를 보정한 결과이다. 그림 8의 (e)와 (g)는 (d)에서 검출된 관심영역 후보, (f)와 (h)는 각각 관심영역 후보 (e), (g)를 보정한 결과이다. 패턴 정보 영역이 회전되었거나 주변에 패턴 정보와 유사한 영역이 있더라도 성공적으로 패턴 정보 관심 영역을 추출하는 것을 확인 할 수 있다.

    그림 9는 촬영 거리에 대한 예시 샘플 영상들이다. 하나의 pcb보드에 다양한 크기의 패턴 정보를 부착하여 다수의 패턴 정보 관심영역 추출에 대해 테스트할 수 있도록 하였다. 사용된 촬영 디바이스의 sensor size는 23.5mm, 렌즈 초점 거리 50mm, 해상도는 5472×3648이다. 촬영 디바이스와 패턴 정보 샘플과의 거리는 20cm~80cm로 촬영하였다. 모든 샘플의 패턴영역개수는 4개로 시판되는 그래픽카드의 pcb보드에 부착하였다. 표 1은 제안하는 방법의 시뮬레이션 결과표이다. 패턴 정보 검출률은 평균 100%, 후보정 성공률은 99.3%로 평균 촬영 거리가 20cm~80cm까지 변화하더라도 높은 관심영역 검출률과 후보정 성공률을 보였다.

    [표 1.] 패턴 정보 관심영역 추출 결과

    label

    패턴 정보 관심영역 추출 결과

    Ⅳ. 결 론

    본 논문에서는 공장 자동화를 위한 신뢰성 높은 바코드 패턴 정보 관심영역 추출 방법을 제안하였다. 컬러 필터를 사용하여 패턴 정보가 프린트된 배경색이외의 영역을 1차적으로 배제한 후 픽셀의 방향정보 윈도우를 이용하여 동일한 방향성을 가지는 영역을 생성하고, 레이블링을 통하여 서로 다른 방향성 영역을 배제한 관심 영역 후보영역을 생성하였다. 이때 검출하고자하는 패턴 정보 특성 에 따라 가로와 세로 사이즈의 비율, 중심값과 무게 중심값 비교, 영역 내 방향성 픽셀 포화도를 비교하여 실제 패턴 영역인지를 판별하였다. 또한 디코딩 오류 방지를 위해 검출된 영역을 후보정하는 작업을 수행하여 검출 신뢰성을 높였다. 제안한 방법은 실제 자동화 공정에 사용가능하도록 시스템의 반복적인 연산을 통하여 최대한 검출 성공률을 높였고, 반복적 연산을 통한 연산 속도 증가는 최적화된 resizing factor 파라미터를 이용하여 연산 속도를 줄였다.

    다양한 촬영 거리에서 촬영된 입력영상이 다수의 패턴 정보영역을 가지고 패턴 정보 영역과 비슷한 영역을 가지더라도 검출 성공률은 100%, 검출 후보정 성공률은 99.3%로 높은 검출 신뢰성을 가지는 것을 확인 하였다. 이와 같이 하나의 제품이 생산되는 환경의 자동화 시스템뿐만 아니라 연배열과 같이 다수의 제품이 생산, 관리되는 자동화 시스템에도 사용이 가능하며 80cm의 거리에서도 높은 검출 신뢰성을 가지므로 다양한 공장 자동화 환경에서 제안한 방법이 범용적인 보조수단으로써 적용 가능함을 알 수 있다.

참고문헌
  • 1. Liu N., Zheng X., Sun H., Tan X. 2013 "Two-dimensional bar code outof-focus deblurring via the Increment Constrained Least Squares filter" [Pattern Recognition Letters] Vol.34 P.124-130 google cross ref
  • 2. Yang H., Kot A.C., Jiang X. 2012 “Binarization of low-quality barcode images captured by mobile phones using local window of adaptive location and size,” [IEEE Transactions on Image Processing] Vol.21 P.418-425 google cross ref
  • 3. Katona M., Nyul L. G. 2012 “A novel method for accurate and efficient barcode detection with morphological operations,” [Signal Image Technology and Internet Based Systems(SITIS) 2012 Eighth International Conference on] P.307-314 google
  • 4. Zhang C., Wang J., Han S., Yi M., Zhang Z. 2006 “Automatic Real-Time Barcode Localization, in Complex Scenes,” [IEEE International Conference on Image Processing] P.497-500 google
  • 5. Fang J. P., Chang Y., Chu W., Chen K. W. 2012 “Incomplete Barcode Reading Mechanism with Remote Database Access,” [Recent Advances in Computer Science and Information Engineering Lecture Notes in Electrical Engineering] Vol.124 P.705-710 google
  • 6. Cho H., Jang K., Kim C., Kang B. 2013 “A Region of Interest Labeling Algorithm Using Three Mask Patterns,” [Future Information Communication Technology and Applications, Lecture Notes in Electrical Engineering] Vol.235 P.569-577 google
  • 7. Sha C., Tan T., Wei Y. 2007 “Real-time hand tracking using a mean shift embedded particle filter,” [Pattern Recognition] Vol.40 P.1958-1970 google cross ref
  • 8. Chu H., Ye S., Guo Q., Liu X. Aug. 2007 “Object Tracking Algorithm Based on Camshift Algorithm Combinating with Difference in Frame,” [Proceeding of the IEEE International Conference on Automation and Logistics] P.51-55 google
이미지 / 테이블
  • [ 그림 1. ]  패턴 정보 관심영역 후보 검출 흐름도
    패턴 정보 관심영역 후보 검출 흐름도
  • [ ] 
  • [ ] 
  • [ ] 
  • [ 그림 2. ]  픽셀의 방향 추정필터 (a) 0° 방향 (b) 45° 방향 (c) 90° 방향 (d) 135° 방향
    픽셀의 방향 추정필터 (a) 0° 방향 (b) 45° 방향 (c) 90° 방향 (d) 135° 방향
  • [ 그림 3. ]  픽셀 및 검색윈도우의 방향성 추정 결과 (a) 입력 영상 (b) 0° 방향 결과 (b) 90° 방향 결과 (d) DESW 결과
    픽셀 및 검색윈도우의 방향성 추정 결과 (a) 입력 영상 (b) 0° 방향 결과 (b) 90° 방향 결과 (d) DESW 결과
  • [ 그림 4. ]  후보정 연산 흐름도
    후보정 연산 흐름도
  • [ 그림 5. ]  연산 시작점 추출 범위
    연산 시작점 추출 범위
  • [ 그림 6. ]  패턴 정보의 회전각도 검출 (a) 연산 시작점 (b) 1차 회전각도 검출 범위 (c) 2차 회전각도 검출 범위 (d) 회전 보정 결과 영상
    패턴 정보의 회전각도 검출 (a) 연산 시작점 (b) 1차 회전각도 검출 범위 (c) 2차 회전각도 검출 범위 (d) 회전 보정 결과 영상
  • [ 그림 7. ]  관심영역 후보 영상의 배경 제거 (a) 회전 보정 결과 영상 (b) 상하 경계 검출 (c) 좌우 경계 검출 (d) 패턴 정보 ROI 결과
    관심영역 후보 영상의 배경 제거 (a) 회전 보정 결과 영상 (b) 상하 경계 검출 (c) 좌우 경계 검출 (d) 패턴 정보 ROI 결과
  • [ 그림 8. ]  패턴 정보의 회전각도 검출 (a) 입력 영상 1 (b) (a)의 관심영역 후보 영상 (c) (b)의 보정 결과 (d) 입력 영상 2 (e) (d)의 관심영역 후보 영상 1 (f) (e)의 보정 결과 (g) (d)의 관심영역 후보 영상 2 (h) (g)의 보정 결과
    패턴 정보의 회전각도 검출 (a) 입력 영상 1 (b) (a)의 관심영역 후보 영상 (c) (b)의 보정 결과 (d) 입력 영상 2 (e) (d)의 관심영역 후보 영상 1 (f) (e)의 보정 결과 (g) (d)의 관심영역 후보 영상 2 (h) (g)의 보정 결과
  • [ 그림 9. ]  입력 영상의 촬영 거리 (a) 20cm (b) 30cm (c) 40cm (d) 50cm (e) 60cm (f) 70cm (g) 80cm
    입력 영상의 촬영 거리 (a) 20cm (b) 30cm (c) 40cm (d) 50cm (e) 60cm (f) 70cm (g) 80cm
  • [ 표 1. ]  패턴 정보 관심영역 추출 결과
    패턴 정보 관심영역 추출 결과
(우)06579 서울시 서초구 반포대로 201(반포동)
Tel. 02-537-6389 | Fax. 02-590-0571 | 문의 : oak2014@korea.kr
Copyright(c) National Library of Korea. All rights reserved.