본문 바로가기

REVIEW

2D 바코드 크기에 따른 카메라별 최대 인식 거리 실험



2D 바코드 크기에 따른 카메라별 최대 인식 거리 실험
Detection Experiment of Maximum Distance for 2D Barcode

T9T9 Research Center
T9T9.com


Abstract
현재 시장에는 너무나 많은 PC 카메라 제품이 있습니다. 주변에서도 어떤 카메라가 좋으냐는 질문을 자주 듣곤 하는데, 가격비교 사이트인 에누리에서 PC캠으로 검색해보면 에누리 검색 결과에서 약 120개 가 검색될 정도로 많은 제품이 있습니다. 이 많은 카메라들을 모두다 비교해보고 최상의 제품을 선택할 수 있으면 좋겠지만, 현실적으로는 무리가 있기에 제가 보유하고 있거나 연구실에 있는 카메라들로 간단한 비교 평가를 해 보았습니다.


1. Introduction
주된 실험은 카메라별 최대 거리 인식률 테스트이며, 디테일하게는 이미지 코드 크기에 따른 최대 인식 거리 실험입니다. 본 실험에 사용된 카메라와 간략한 특징은 다음과 같으며, 카메라 앞의 번호대로 번호표를 매겨 캠에 태그를 붙여 실험하였습니다. 자세한 스펙은 마지막에 첨부해 두었습니다.

1.KMC-95PR : Kocom / 320 x 240 pixel / 가장 평범한 가정용 웹캠, 저렴한 가격.
2.WOWCAM : Cyberin / 640 x 480 pixel / 가정용 웹캠 중 해상도가 일반보다 한 단계 높음, 저렴.
3.HVR-2300R : HyVision / 2048 x 1536 pixel / 영상처리 및 산업용 카메라, 뛰어난 화질.
4.LifeCam : Microsoft NX-6000/ 3200 x 2400 pixel / 일반 가정용으로 초고해상도 웹캠.

각의 카메라에 대해서,
A. 시장 타겟으로 제품군을 나눠 보면
- 1,2,4 번은 일반 가정용 웹캠시장을 타겟으로 나온 제품들이고
- 3 번은 영상처리나 산업용으로 나온 카메라 입니다. 또한 가격대 별로 제품군을 나누어 볼 수 있는데 이는 다음과 같습니다.

B. 가격대로 제품군을 나눠 보면
- 1,2 번은 2~3만원대로 가장 저렴하고 일반적인 PC캠 입니다.
- 4 번은 8만원대로 일반 가정용으로 나온 캠중에서는 고해상도를 지원하며 가정용 치고는 비싼편입니다.
- 3 번은 19만원대로 일반 가정용이라기 보다는 영상처리용, 산업용 카메라로서 노이즈가 적고 화질이 상당히 좋습니다.


2. Experiment
실험은 다음과 같이 3단계로 준비하였습니다. 첫째 코드의 크기별 준비, 둘째 카메라 세트 준비, 셋째 거리별 표시.

#1 실험준비 : Color based Image Code Set - Color Code or 2D Barcode
먼저 컬러코드를  1 x 1 cm 의 크기서부터 10 x 10 cm 까지 준비하였습니다. 처음에는 A4 한장에 약 2~3 cm 간격으로 촘촘하게 배치하여 모두 뽑았었으나 생각해보니 먼거리에서 촬영하게 될 경우 띄여진 간격이 보이질 않게되어 두개의 코드가 붙어버리는 현상이 발생 할 것 같아서 잘라서 따로따로 붙이게 되었습니다. 나름데로 띄운다고 띄웠으나 실제 실험에서 거의 붙어있는 것처럼 보이는 현상 발생. 좀 더 띄울걸 그랬습니다.


#2 실험준비 : Camera Set
위에서 언급한 1번부터 4번까지의 카메라 셋입니다. 하나하나 들고 다니면서 어떻게 찍을 것인가 고민하다가 주변에 놓여져 있던 학위논문을 고정대로 잠시 사용했습니다. ^^



드디어 고개를 든 선수들 등장입니다.


#3 실험준비 : Distance Set
좀더 장거리까지 실험해 보려고 했으나 일단 건물 수위 아저씨께 양해를 구하고 로비를 잠시 사용하기로 했습니다. 줄자로 미터(m) 를 재면서 포스트잇으로 표시했습니다. 포스트잇이 이럴때 유용하게 쓰이더군요. 흔적 없이 띄어내기도 쉽고 눈에 띄게 표시도 잘되고 말이죠. 그러나 길가던 청소 아주머니께서 이게 뭐냐면서 막 띄어내려는 걸 두번이나 뛰어다니면서 말렸습니다. 실험을 도와주느라 고생한 서종훈 연구원의 모습입니다.


본격적인 촬영에 들어갔습니다. 카메라가 코드를 바라보는 모습.

실험내내 저는 노트북을 들고서 USB 를 바꿔껴가며 저장버튼을 눌러야 했고 저를 도와준 서종훈 연구원은 이렇게 들고 있어야 했습니다.


이런식으로 사진이 찍힙니다. 아래 사진은 캠 사진이 아닌 디지털 카메라로 찍은 사진.

이렇게 점점 뒤로 가면서 1m 부터 20m 까지 촬영했습니다.

찰영에 저장 역할을 한 노트북과 카메라들.


추가로 두대의 핸드폰 카메라로도 찍었습니다.



3. Result
촬영에 사용된 코드의 사이즈 구성은 다음과 같습니다. (단위 cm)


1m 부터 20m 까지 실험을 했는데 아래 사진은 3m 에서 측정한 결과입니다. 사진마다 찍힌 범위가 다른 것은 화각이 다르기 때문입니다. 화각은 4 번이 가장 넓어 배경의 그림 액자가 거의 다 보일 정도입니다. 짧은 거리에서 넓은 화각이 필요한 환경에 적용하면 좋을듯 싶습니다. 3번 카메라의 경우 노이즈 없이 가장 깨끗한 화질입니다. 영상처리용으로 정말 딱이군요. 가격대 성능비로는 2번 카메라도 탁월한 선택일 것 같습니다. 저렴한 가격에 저정도 화질이면 일반 가정용에선 최적일듯.



간단한 Detection 알고리즘을 돌린 결과입니다. Gaussian 을 적용하여 노이즈를 제거하고 이진화한뒤 Laplacian 으로 Edge 를 검출한뒤 Contour 를 따낸(초록색)것입니다. 각각 ID 값과 Length 값을 갖도록 했는데 그중 Length 값을 화면에 표시(빨간색)하도록 했습니다.


각각에서 10 x 10cm 와 9 x 9 cm 가 찍힌 부분만을 Crop 한 것입니다.
다시 한번 언급하자면 3m 거리에서 1~10 cm 까지의 코드를 1~4번 카메라로 촬영한 결과입니다.


다음은 10m 에 측정한 후 코드 영역만 Crop 한 결과 입니다.
1번은 코드 영역도 판별하기가 어려웠고 2,3,4번의 경우 코드 영역은 어느정도 판별 가능하였으나 2, 4번은 색상 판별 불가, 3번은 색상판별 가능한 상태였습니다.


다음은 20m 거리에서 측정한 후 Crop 한 결과입니다.
20m 거리로 가니 4번 카메라가 상당히 뭉개졌습니다. 3번 카메라도 몇개의 셀은 읽을 수 있었지만 몇몇 셀이 뭉개지기 시작하였습니다.



4. Conclusion
총평입니다.
1번 카메라는 가장 일반적인 가정용 320 x 240 pixel (30 fps)의 PC 카메라를 대표하여 실험하기 위해 사용되었는데 노이즈가 심하고 해상도가 낮아 픽셀들이 많이 깨져 있었습니다. 인식하기에도 뭉개진 픽셀들 때문에 색상이 제대로 판별되지 못하는 문제가 있을 것이라 예상됩니다.

2번 카메라는 일반 가정용 카메라 중 640 x 480 pixel (30 fps) 을 지원하는 카메라를 대표하기 위해 사용하였습니다. 가격대는 1번 카메라와 +- 몇천원 사이로 동일한 수준인데도 불구하과 만족할 만한 성능을 내고 있어 가정용으로는 가격대비 성능 최고의 카메라 라고 할 수 있겠습니다.

3번 카메라의 경우 고성능의 고해상도 영상처리 카메라를 대표하는 카메라로서 사용하였습니다. 노이즈가 적어서 가장 깨끗한 화질을 얻을 수 있었습니다. 영상처리 전문 카메라라는 타이틀 답게 이번 실험에서 사용한 카메라들 중에서 가장 우수한 성능을 보여주었습니다.

4번 카메라의 경우 근래에 출시되는 가정용 초고해상도 카메라들을 대표하기 위해 사용하였습니다. 가정용 웹캠 시장을 타켓으로 하면서 High Quality 를 지향하는 카메라 입니다. 해상만으로는 영상처리 전문인 3번 카메라 보다도 높지만서도 실제 촬영 결과는 3번보다 떨어집니다.

다음번 실험은 Long Distance 실험을 할 것입니다. 오늘의 실험 결과 Long Distance 는 3번 카메라로 실험해 볼 계획이며 최소한의 인식을 위해서 코드의 크기도 커지게 됩니다. 무작정 크기를 키우는 것이 아니고 오늘 실험한 결과에 근거하여 카메라별로 일반화한 공식에 의해 코드의 크기가 결정될 것입니다.



References
[1] "영상처리 분야를 위해 탄생한 카메라 HVR-2000 시리즈", http://t9t9.com/75
[2] "칼라코드(ColorCode)가 감성코드로 다양하게 변형된 모습", http://t9t9.com/70
[3] "2D 바코드 인식을 위한 HVR-2300R 카메라 성능 테스트 - 해상도편", http://t9t9.com/183
[4] HyVISION SYSTEM, http://hyvision.co.kr
[5] Kocom, http://www.kocom.co.kr
[6] 가격비교 검색 에누리, http://enuri.com


Camera Spec.
1. KMC-95PR
제조사: Kocom, http://kocom.co.kr
1/4.5" CMOS/32만화소/CMOS/USB1.1/CIF 30프레임, VGA 15프레임
가격: 29,000원 (가격 검색)

2. WOWCAM
제조사: Cyberin
CYBERIN
120만화소/CMOS/USB2.0/스냅샷 
가격: 38,000원 (가격 검색)

3. HVR-2300R
제조사: HyVISION, http://hyvision.co.kr
가격: 198,000원

4. LifeCam NX-6000
제조사: Microsoft, (참고링크]
760만화소/CMOS/30프레임/USB2.0/마이크  
Wide-angle Lens
가격: 88,790원 (가격 검색)