DOI QR코드

DOI QR Code

Evolutionary Generation Based Color Detection Technique for Object Identification in Degraded Robot Vision

저하된 로봇 비전에서의 물체 인식을 위한 진화적 생성 기반의 컬러 검출 기법

  • Kim, Kyoungtae (Dept. of Industrial Engineering, Seokyeong University) ;
  • Seo, Kisung (Dept. of Electronics Engineering, Seokyeong University)
  • Received : 2015.06.08
  • Accepted : 2015.06.22
  • Published : 2015.07.01

Abstract

This paper introduces GP(Genetic Programming) based color detection model for an object detection of humanoid robot vision. Existing color detection methods have used linear/nonlinear transformation of RGB color-model. However, most of cases have difficulties to classify colors satisfactory because of interference of among color channels and susceptibility for illumination variation. Especially, they are outstanding in degraded images from robot vision. To solve these problems, we propose illumination robust and non-parametric multi-colors detection model using evolution of GP. The proposed method is compared to the existing color-models for various environments in robot vision for real humanoid Nao.

Keywords

1. 서 론

색(컬러) 정보를 이용한 물체 인식은 그레이나 이진 영상에 비해 상대적으로 많은 정보를 제공해주며[1], 특징점을 사용한 기법보다[2-4] 영상처리가 단순하고 빠른 장점을 가지고 있어서 다양한 응용 분야에 사용되고 있다[1, 5]. 특히, 이동하는 로봇이나 비행체의 비전 응용에 매우 적합하다.

한편, 일반적인 컴퓨터 비전과는 달리 특정한 로봇 환경에서의 비전 인식은 여러 가지 제한이 있을 수 있다. 휴머노이드와 같은 보행 로봇의 경우 로봇의 이동에 따라 주변의 자연광이나 조명의 밝기가 달라지므로, 색의 왜곡이 생긴다. 또한, 로봇에 장착된 캠의 성능이 낮거나 보행과 결합된 인식으로 인해서, 획득된 영상의 품질이 저하되는 문제가 발생한다.

이러한 문제에 대처하기 위해서는 조명이나 밝기 변화 및 색의 왜곡 현상에 대한 강인성이 더욱 요구된다[6, 7]. 기존의 색 검출 모델중 HSV와 같이 일부분 조명에 강인하다고 알려진 것도 있으나, 저하된 영상에 대해서는 적용이 만족스럽지 못하다[8].

본 연구에서는 휴머노이드 로봇 Nao에 내장된 저성능의 캠으로부터 얻은 영상에서 물체에 대한 색 검출을 수행하고자 한다. 따라서 일반 영상보다 저하된 품질의 영상에 적용할 수 있는 색 검출 모델을 개발하기 위해 유전 프로그래밍(Genetic Programming, GP)[8] 기반의 진화적 생성 방식을 도입한다.

기존의 다양한 색 모델의 채널을 진화적으로 선택하여 최적의 조합을 구성함으로써 조명변화에 강인하고, 다중의 색상 검출이 가능하며, 파라미터 설정이 필요 없는 새로운 컬러 모델을 [8]에서 제안하였으며, 이를 본 연구에 확장하여 적용한다.

구현된 GP 기반 색 검출 기법을 Aldebaran 사의 휴머노이드 로봇 Nao의 비전 인식 실험에 적용한다. 실험방법은 크게 3가지로 구성된다. 첫째, 휴머노이드 로봇의 정지상태에서 조명의 유무, 둘째, 휴머노이드의 보행 이동 지점의 변화, 셋째, 로봇은 정지 상태에서 물체를 회전시킨다. 상기의 실험들에 대해서 제안된 GP 기반 색 기반 인식의 성능을 기존의 컬러 검출 모델과 비교 분석한다.

 

2. GP 기반 컬러 모델 생성

2.1 유전 프로그래밍

GP는 진화 연산의 한 부류로 가변적인 트리구조를 통해 문제를 해결하는 최적화 알고리즘이다. 트리를 구성하는 각 노드는 하나의 함수(그림 1의 □ 영역) 또는 터미널을(그림 1의 ○영역: 상수 및 변수) 나타내며, 각 개체는 함수의 집합, 즉 컴퓨터 프로그램으로 구성된다. GP에서의 교배(그림 1)와 돌연변이 연산자의 작용은 선택점에서 서브트리를 교체한다.

그림 1GP의 Crossover 연산 Fig. 1 Crossover operation of GP

2.1 진화적 컬러 모델 생성

유전 프로그래밍 기반의 컬러 검출 모델은 그림 2과 같이 수행된다. 사전에 정의된 터미널과 함수를 통해 1) 초기 트리 개체를 생성하고, 생성된 트리를 검출하고자 하는 색상 영상의 모든 픽셀에 대해 적용시켜, 2) 트리에 의해 변환된 새로운 실수 값으로 매핑 한다. 3) 변환된 영상에 대해 [−255,255] 범위를 가지는 히스토그램을 추출한 뒤, 최대값을 가지는 빈(bin)에 대해 255의 값으로, 이외의 값들은 [0,255] 사이의 값으로 스케일링 한다.

그림 2유전 프로그래밍 기반의 컬러 검출 모델 생성 기법 Fig. 2 Crossover operation of GP

GP의 적합도 연산에 사용할 결과 영상과의 비교를 위해 1) 1단계에서 생성된 히스토그램을 127의 임계값을 통해 0과 255 값으로 대치한다. 2) 1단계 과정과 동일하게 학습영상에 대한 변환 영상을 생성한다. 3) 앞서 생성한 히스토그램을 통해 변환 영상에 대한 역투영 영상을 구성한다. 이는 각 픽셀의 값과 동일한 위치의 히스토그램 빈값을 대치하는 과정으로 수행된다. 히스토그램에서 255값을 가지는 범위안의 픽셀값을 255로 그 이외 영역은 0으로 매핑함으로써 역투영된 결과 영상을 추출하게 된다.

진화연산에 사용된 터미널은 표 1과 같이 R, G, B, I1, I2, I3, Y, Cb, Cr, H, S, L, L*, a*, b* 의 총 15개의 컬러 채널 값들을 사용하며, 각 채널 값은 [0,255] 사이 값으로 스케일 변환되어 사용된다. 추가적으로 [0,255] 사이의 Rand 값을 포함한 총 16개의 터미널 값을 사용한다. GP의 함수로는 각 채널값들의 일반적인 사칙연산과 mean, min, max 연산, compare, equal 연산의 함수들로 구성된다[8].

표 1GP 수행 함수와 터미널 Table 1 Functions and Terminals of GP Process

GP에 의해 생성된 트리의 평가는 트리를 해석하여 생성된 역투영 영상과 이때 적용된 선택색상의 결과영상을 비교하여 계산하게 된다. 동일한 트리에 대하여 학습될 색상의 수와 동일하게 위의 과정을 반복 수행하고 각각의 학습영상에서 계산된 적합도를 합산하여 현재 트리에 대한 적합도를 부여한다. 적합도는 선택 컬러에 대한 오검출과 미검출의 평균인 오류율로 정의하였다 (식 1). 여기에서 Result(i,j)는 정상적인 컬러검출 영상의 픽셀을 의미하며, GP(i,j)는 GP에 의해 생성된 영상의 픽셀을 의미한다.

GP 기반의 다중 컬러 검출모델의 최적화는 C 기반의 lil-GP[8] 프레임워크와 OpenCV 라이브러리를 이용하여 구현하였다. GP는 군집의 크기(300), 초기 깊이(2-3), 최대 깊이(7), 교배율(0.7), 돌연변이율(0.2)의 파라미터를 가지고 수행하였다.

 

3. 휴머노이드 로봇 비전 인식 환경

3.1 수행 플랫폼

색 기반 물체 인식을 위한 휴머노이드 로봇 비전을 처리하는 플랫폼 환경은 그림 3과 같다. 대상 휴머노이드 로봇인 Aldebaran사의 Nao에 장착되어 있는 캠을 통해 영상을 획득하고 이를 무선랜을 통해 원격 PC로 보내 색 검출을 통해 물체 인식을 하며, PC에서 휴머노이드 Nao 에게 필요한 보행 명령을 내리는 방식을 사용한다.

그림 3휴머노이드 Nao의 보행과 색 검출 처리 환경 Fig. 3 Process of color detection with walking for Humanoid Nao

Nao에서 비전 인식 기능을 수행하기 위해서는 윈도우즈 상에서 개발된 컬러 인식 및 추적 모듈을 리눅스 기반의 OpenCV 라이브러리 환경으로 변환해야 한다. 이를 위해서, OpenCV 라이브러리를 이용한 GP 기반의 비전 인식 및 추적 알고리즘 코드를 작성한다. 작성된 모듈은 Choregraphe를 이용하여 Nao 미들웨어의 일종인 Naoqi에 적합한 형태로 로봇에 적재된다. 적재된 모듈을 통해 로봇 내부적으로 실행되거나 Host PC에서 원격으로 실행될 수 있다. 그림 3에 구성 모듈이 나와있다.

3.2 실험 방법

색 기반 물체 인식을 위한 휴머노이드 로봇 비전의 실험은 자연광과 인공조명이 혼재된 연구실 내부에서 낮 시간에 수행하였다. 조명, 거리, 물체의 변화에 대한 강인성을 확인하기 위해서, 다양한 경우를 검토하였다. 구체적인 실험 방법의 설정은 다음과 같다

첫 번째 실험은 그림 4와 같이 휴머노이드 로봇이 정면에 위치한 빨간 색종이를 거리가 서로 다른 지점에서 일정한 자세로 인식한다. 이때 물체 앞의 조명을 on/off 하여 변화시킨다. 둘째, 로봇을 보행시키면서 일정한 스텝마다 물체를 인식한다. 보행시 얻어지는 일련의 영상들은 대부분 흔들려서 인식이 어려우므로 그중에서 착지시 안정된 영상을 실험 대상으로 선택한다. 첫 번째 실험과 달리 보행에 따라 로봇 얼굴의 높낮이가 달라서 물체의 인식 위치가 약간씩 달라진다. 셋째, 로봇은 정지해 있고, 색종이를 모터로 회전시켜 실험을 수행한다(그림 5). 이때 회전속도 변화를 병행한다.

그림 4휴머노이드 Nao의 색 검출 실험 1, 2 Fig. 4 Experiments of color detection 1 and 2 for Humanoid Nao

그림 5휴머노이드 Nao의 색 검출 실험 3 Fig. 5 Experiments of color detection 3 for Humanoid Nao

 

4. 실험 및 결과

4.1 색 검출 실험 1 - 물체와의 거리 변화

휴머노이드 Nao의 보행과 색 검출 실험은 그림 3과 같이 정면의 책장에 붙여진 색종이를 보행과정에서 일정 걸음마다 인식하는 것을 목적으로 한다.

그림 6로봇 정지 상태에서 위치 변화에 따른 색 검출 실험 방법 1 Fig. 6 Experimental method 1 of color detection with distance variation with standing posture

실험 1에 대해서 검출률과 오검출률을 수치적으로 계산한 결과가 표 2에 나와 있다. 인공 조명을 끈 경우, GP 컬러모델을 사용한 검출률이 거리별로 90-95%를 보여, RGB 모델의 검출률 0% 및 HSV의 검출률 8-62%에 비해 월등히 우수한 것을 확인할 수 있다. 3가지 모델의 오검출률은 모두 0.4% 미만으로 아주 미미한 수준이다. 조명을 킨 경우, GP 컬러모델을 사용한 검출률이 거리별로 85-92%를 보여, RGB 모델의 검출률 27-43% 및 HSV의 검출률 3-5%에 비해 월등히 우수한 것을 확인할 수 있다. GP의 오검출률은 RGB 나 HSV 모델에 비해 역시 약간 높게 나왔으나, 1.4% 미만으로 아주 미미한 수준이다.

표 22 색 검출 실험 1에 대한 각 모델별 검출 결과의 수치적 비교 Table 2 Numerical comparisons of detection results for each color models for experiment 1

그림 7-9에 정지 상태에서의 거리별 색 검출 결과가 영상으로 나와 있다. 화면에서 상단 왼쪽부터 원본영상, RGB 모델, HSV 모델, 그리고 GP 모델에 의한 검출 영상을 나타낸다. 비교 실험 결과에서 RGB 모델과 HSV 모델의 경우는 밝기 변화에 민감하여 정확한 색 검출이 이루어지지 않은 것을 확인할 수 있다. GP 모델의 경우 모든 상태에서 색상 검출이 대부분 이루어진 것을 확인 할 수 있다.

그림 7실험 1 결과영상 - 물체와의 거리로부터 265cm a) 스탠드 조명 off, b) 스탠드 조명 on Fig. 7 Result images of experiment 1 – distance 265cm from object a) light off, b) light on

그림 8실험 1 결과영상 - 물체와의 거리로부터 225cm a) 스탠드 조명 off, b) 스탠드 조명 on Fig. 8 Result images of experiment 1 – distance 225cm from object a) light off, b) light on

그림 9실험 1 결과영상 - 물체와의 거리로부터 185cm a) 스탠드 조명 off, b) 스탠드 조명 on Fig. 9 Result images of experiment 1 – distance 185cm from object a) light off, b) light on

4.2 색 검출 실험 2 - 휴머노이드 보행 스텝 변화

실험 1은 휴머노이드 로봇의 서 있는 자세를 서로 다른 거리에 수동으로 이동시켜 놓고, 일정한 눈 높이를 유지하면서 물체를 인식하는 데 비해, 실험 2에서는 그림 10과 같이 Nao의 보행 과정에서 일정 걸음마다 인식하는 것을 목적으로 한다. 흔들림없는 영상을 얻기 위해서, 정지 상태와 보행중의 스텝 1, 3, 6에 대한 착지 상태를 실험 대상으로 한다.

그림 10로봇 보행 상태에서 스텝 변화에 따른 색 검출 실험 방법 2 Fig. 10 Experimental method 2 of color detection with step variation with walking

실험 2에 대한 수치적 결과가 표 3에 나와 있다. GP 컬러모델을 사용한 검출률이 86-94%로 RGB 모델의 검출률 3-31% 및 HSV의 검출률 6-42%에 비해 월등히 증가한 것을 확인할 수 있다. 3가지 모델의 오검출률은 모두 0.9% 미만으로 아주 미미한 수준이다.

표 3색 검출 실험 2에 대한 각 모델별 검출 결과의 수치적 비교 Table 3 Numerical comparisons of detection results for each color models for experiment 2

그림 11은 정지 상태와 각 보행 스텝에서의 색 검출 결과 화면이 나와 있다. RGB 모델의 경우 Step 6에서만 일부 검출이 되었고, HSV 모델의 경우는 RGB 보다 약간 더 개선되었지만, 정확한 색 검출이 이루어지지 않은 것을 확인할 수 있다. GP 모델의 경우 모든 스텝에서 색상 검출이 대부분 이루어진 것을 확인 할 수 있다. 스텝이 증가함에 따라 대상 물체와의 거리가 가까워지므로 물체가 더 커 보인다.

그림 11실험 2 결과영상 - 스텝 변화 (정지, Step 1, Step 3, Step 6) Fig. 11 Result images of experiment 2 – step variation (Stop, Step 1, Step 3, Step 6)

4.3 색 검출 실험 3 - 움직이는 물체에 대한 색 검출 실험

실험 3은 휴머노이드 로봇은 정지상태이고, 물체가 회전하는 경우로 그림 12에 실험환경이 나와 있다. 서보모터에 색종이를 부착하고 모터의 회전속도를 50(초당 약 1/4회전), 125(초당 약 3/5회전), 255(초당 약 1과 1/5회전)로 증가시키면서 검출률을 측정한다.

그림 12로봇 정지 상태에서 물체 회전의 변화에 따른 색 검출 실험 방법 3 Fig. 12 Experimental method 3 of color detection with ratation variation of object with standing posture

표 4에 실험 3에 대한 수치적 결과가 나와 있다. RGB의 경우는 검출률이 0%로 나왔고, HSV의 경우도 최대 4%이하로 나오고 있다. GP 컬러모델을 사용한 검출률은 83-95%로 매우 우수한 성능을 나타냈으며, 속도가 증가함에 따라 평균적으로 약간씩 저하됨을 보이고 있다. 3가지 모델의 오검출률 역시 모두 0.6% 미만으로 아주 미미한 수준이다.

표 4색 검출 실험 3에 대한 각 모델별 검출 결과의 수치적 비교 Table 4 Numerical comparisons of detection results for each color models for experiment 3

그림 13-15에 물체의 회전 속도 변화에 대한 색 검출 결과가 영상으로 나와 있다. RGB 모델과 HSV 모델의 경우는 회전하는 물체에 대해서 색 검출을 전혀 하지 못함을 알 수 있다. 주 원인은 색종이가 가볍기 때문에 회전하면서 면이 흔들리면서 조명에 의한 색 변화가 큰 폭으로 이루이지기 때문으로 생각된다. 반면 GP 모델의 경우는 모든 속도 변화에서 색상 검출이 대부분 만족스럽게 이루어진 것을 확인 할 수 있다. 제안된 GP 기법의 경우, 대상 영상의 특성을 여러 모델의 채널 조합을 총해 최대한 강인하게 학습시킴으로써, 회전 변화에 의한 영상에도 우수한 성능을 나타내는 것으로 분석된다.

그림 13실험 3 결과영상 – 물체 회전속도 변화 (55) Fig. 13 Result images of experiment 3 – rotation speed variation of object (55)

그림 14실험 3 결과영상 – 물체 회전속도 변화 (125) Fig. 14 Result images of experiment 3 – rotation speed variation of object (125)

그림 15실험 3 결과영상 – 물체 회전속도 변화 (255) Fig. 15 Result images of experiment 3 – rotation speed variation of object (255)

 

5. 결 론

조명에 강인한 GP 기반의 컬러 검출모델을 확장하고, 휴머노이드 로봇 Nao를 이용한 다양한 실험 환경에서의 색 검출 성능을 기존의 컬러 검출모델과 비교하였다. 실험 결과, 물체에 대한 색 검출률은 제안된 GP 컬러모델이 RGB 와 HSV 모델에 비해서 매우 우수한 성능을 보였다.

향후 다양한 환경 변화에 대한 추가 실험 및 GP 색 검출 모델의 성능 개선을 통해, 휴머노이드 로봇의 물체 탐색 및 추종 보행에 응용이 필요하다고 생각된다.