인지지능
인간의 다섯 가지 감각(시각, 청각, 후각, 미각, 촉각)기관 중 시각 기관은 방대한 정보를 정확 하고 빠르게 획득함으로써 인간의 생존과 지능적 활동에 매우 중요한 역할을 한다. 로봇이 센서로 물체와 사람, 환경을 정확히 인지(perception)하기 위해서는 머신비전(machine vision) 기술을 기반으로 물체 인식 기술, 동적인 물체의 시각적 추적, 얼굴 인식, 상황/맥락 이해 기술 등이 필요하다.
- 머신비전
머신비전은 카메라와 조명 등을 이용해서 피사체의 영상 데이터를 획득하고, 이를 프레임 그래버(frame grabber), 마이크로 컨트롤러, 전용 SoC등으로 처리, 분석 및 해석함으로써 유용한 정보를 얻거나 대상의 3차원 모델을 추출하는 작업 등을 하는 것을 통칭한다. 머신비전은 일반적으로 영상 획득(image acquisition), 영상 처리(image processing), 영상 분석 (image analysis)의 과정으로 이뤄진다.
(1) 영상 획득
기본적인 시각 센서인 카메라의 핵심 요소인 영상 센서(image sensor)를 이용해서 3차원 세계의 정보를 2차원 영상 평면에 투영하고 매핑하는 것을 영상 획득이라 한다. 가장 대표적으로 사용되는 영상 센서인 CCD(charge coupled device)는 각 화소(pixel)에 입사 된 빛의 강도를 검출하고 이를 전기신호로 변환한다. 프레임 그래버에서는 이 아날로그 신호를 입력받아 A/D(analog to digital) 변환기에서 표본화(sampling)와 양자화 (quantization) 과정을 거쳐 디지털 값으로 변환한다.
표본화란 매 샘플 시간에 검출한 아날로그 신호를 다음 샘플 시간까지 고정하는 것을 의미하고, 양자화란 표본화된 아날로그 값을 디지털 값으로 변환하는 것으로 A/D변환 기의 비트수 $N$에 따라 해상도(resolution)가 $2^{N}$으로 증가한다. 양자화의 해상도는 깊이 해상도(depth resolution)라고도 불리며 흑백 영상은 1비트로 양자화한 경우에 해당된다.
[그림 1]은 대표적으로 많이 사용되는 핀홀 카메라(pinhole camera)의 기하학적 관계를 나타낸 그림이다. 실제 3차원 공간상에 있는 한 점 $P = \left (p_{X}, p_{Y}, p_{Z} \right )$ 는 이 점에서 카메라 중심점 $C$ 까지 이은 직선이 2차원 영상 평면에서 만나는 점인 화소 $p = \left (p_{x}, p_{y}, p_{z} \right )$ 에 투영된다. [그림 1]에서 카메라 중심점과 영상 평면 간의 거리를 $f$라고 하면, 닮은 삼각형의 비례식을 이용하여 다음의 관계를 유도할 수 있다.
$p_{x} = f\frac{p_{X}}{p_{Z}}, \;\; p_{y} = f\frac{p_{Y}}{p_{Z}}, \;\; p_{z} = f$ 식 (1)
$i$ 와 $j$ 가 음이 아닌 정수일 때 영상 평면에서 화소의 위치를 나타내는 인덱스는 $\left ( i, j \right )$ 로 표현된다. 일반적으로 기준 화소는 영상 평면의 좌측 최상단에 위치하며 그 인덱스는 (0, 0)이다. 화소가 영상 평면의 아래쪽으로 갈수록 $i$값이 증가하고, 오른쪽으로 갈수록 $j$ 값이 증가한다.
(2) 영상 처리
영상 처리는 한 영상을 다른 영상으로 변환하는 기술로서 로봇에 필요한 기술에는 잡음 제거, 경계 검출, 영상의 이진화 등이 있다. 잡음 제거는 영상의 화소 중에서 잡음(noise)이 발생한 화소의 디지털 값을 마스크(mask)를 이용해서 주변 화소값들과 평균함으로써 비슷하게 만들어 주는 작업이다. 일반적으로 [그림 2]에 보인 8-이웃(8-neighborhood) 화소법을 많이 사용하는데, 3 × 3 크기의 마스크를 이용해서 현재 화소(중심 화소)와 인접한 팔방의 화소 값들을 읽어 들이고 여기에 마스크의 가중치를 곱하여 더함으로써 평균을 계산하는 방식을 취한다. 경계 검출은 물체나 얼굴 인식을 위해 기본적으로 필요한 작업으로서, [그림 2]에 보인 소벨(Sobel) 마스크와 같은 것을 사용하여 현재 화소에서 소벨마스크로 가중 평균한 값과 이전 위치 화소에서 소벨마스크로 가중 평균한 값과의 변화량 크기가 임계치 (threshold) 이상인 화소를 경계 화소라고 판단한다.
영상의 이진화는 물체와 배경만으로 구성 된 단순한 영상의 경우, 임계치를 이용해서 배경에 해당되는 화소에는 0, 물체에 해당되는 화소에는 1의 값을 할당하는 기법이다. 실제 영상의 경우 이진화 임계치를 정하기 위해 가로축은 화소의 밝기값(명암), 세로축은 해당 명암값을 가진 화소의 개수(빈도)를 나타내는 히스토그램(histogram)을 그려서 빈도의 형상이 계곡 모양을 이루는 영역의 중간 지점 명암값을 찾아서 임계치로 선택한다.
(3) 영상 분석
영상 분석은 영상 처리의 결과물 영상을 이용해서 영상의 정보를 얻어내는 것으로, 영역 분할(segmentation)과 특징 추출(feature extraction) 작업이 있다. 영역 분할은 영상 내에서 비슷한 특징을 가지는 이웃 화소들을 영역별 임계치와 경계 검출을 통해 하나의 영역으로 분리하여 처리하는 것이다. 영역 분할은 관심 영역 (region of interest)을 정하고 영역별로 고속으로 분석하는 데 유용하게 사용된다. 특징 추출은 영상에 있는 물체의 기하학적 특징(평균 밝기, 최대/최소 밝기, 면적, 둘레, 길이, 폭, 지름, 종횡비 등)을 검출하는 기술이다.
- 물체 인식
물체 인식(object recognition)이란 로봇에 있는 카메라, 스테레오 비전, 같은 3차원 센서로 입력 받은 영상 데이터를 이용해서 어떤 물체가 어느 위치에 어떤 자세로 있는지를 알고리즘으로 계산하는 것을 의미한다. 강인한 물체 인식이 가능하기 위해서는 다양한 물체들이 놓여 있을 때 잡음이 있어도 물체들을 잘 인식할 수 있어야 하며, 물체가 가려지거나 틀어져 있을 때에도 잘 인식할 수있어야 한다. 물체 인식에는 원형 정합(template matching)과 특징 정합(feature matching) 기술들이 개발되어 왔으며, 최근에는 DNN의 눈부신 발전으로 일부분에서 사람보다 뛰어난 영상 인식 성공률을 보이고 있다.
(1) 원형 정합
원형 정합은 영상에서 분석된 물체를 미리 저장되어 있는 표준 모델인 원형과 비교하여 그중에서 가장 가까운 모델을 인식 물체로 선정하는 방법이다.
(2) 특징 정합
특징 정합은 영상에서 분석된 물체의 특징점 또는 차별성 있는 부분적 구조를 부호화 (encode)하여 다른 영상에 있는 특징점이나 부분적 구조와의 정합성을 판별하여 물체를 인식하는 기술이다. 물체의 병진(translation), 회전, 배율(scale) 등의 변화와 조명, 잡음, 양자화와 같은 변화가 일어나도 변함없이 물체의 특징을 잘 추출하기 위해 특징 정합은 물체의 코너나 경계선과 같이 구분 가능성이 높은 곳에서 실행되어야 한다. 경계선 검출을 위해 많이 사용되는 방법은 캐니(CANNY) 연산자(CANNY, 1986)와 영상 잡음 기반 경계 검출기이며, 코너 검출을 위해서는 해리스(HARRIS) 코너 검출기가 많이 사용된다. 영상의 경계가 원(blob)으로 피팅(fitting)되는 영역을 찾아내는 영역 검출기로는 가우시 안(gaussian) 분포를 2차 미분하여 얻은 LoG(laplacian-of-gaussian)를 근사화한 함수인 DoG(difference-of-gaussian)를 많이 사용한다.
- 물체의 시각적 추적
로봇이 인지지능을 가지기 위해서는 동적이고 복잡한 환경에서 사람이나 물체, 동작을 실시간으로 잘 인식하고 이를 연속적으로 추적하는 기술이 중요하다. 이를 위해 카메라가 움직이는 상황에서 단일 또는 다중의 물체 또는 사람을 추적하는 기술과, 2차원의 동작및 자세 영상을 3차원으로 확장했을 때의 동작 및 자세 등을 추정하는 기술 들이 필요하다. 2차원 영상에서의 다중 물체 추적 기술에는 가려짐이 발생할 수 있는 상황에서 안정적으로 추적할 수 있게 하기 위해 칼만필터, 파티클필터가 많이 사용된다.
- 얼굴 인식
로봇이 사람과 공존하기 위해서 중요한 기술 중의 하나가 상대방의 얼굴을 인식해서 로봇의 소유자인지, 로봇이나 소유자와 관계된 사람인지, 낯선 사람인지를 기본적으로 구별할수 있어야 한다.
- 상황 인식 기술
상황 인식(context awareness)이란 로봇이 물체와 사람, 환경 등을 개별적으로 인식한 후이미 알고 있는 상징적 지식과 연계하여 물체 간, 물체와 사람 간, 또는 사람과 사람 간의 기하학적, 물리적, 또는 사회적인 관계를 인식하는 기술로서 인간에게 상황에 따라 적절한 반응이나 서비스를 예측하여 사람에게 수행하기 위해 필수적인 기술이다.
상황 인식 기술을 위해서는 다음의 기술이 필요하다.
(1) 감지된 상황을 기호로 표현하는 기술
(2) 상황을 표현하는 온톨로지(ontology)
(3) 인식된 물체들의 관계를 인식하고 이로부터 의미를 유추하는 기술
'Robotics : 로봇공학 > Certificate : 자격증' 카테고리의 다른 글
4-1-1 작업 요구 사항 파악하기 (2) | 2023.08.20 |
---|---|
3-3-4 로봇 액추에이터 제어기 펌웨어 설계 (2) | 2023.08.12 |
3-1-1 경로계획 소프트웨어 개발 1/3 (0) | 2023.08.10 |
필기 시험 노트 현황 업데이트 v230810 - 로봇 소프트웨어 기사 (0) | 2023.07.23 |
2-3-4 소프트웨어 아키텍처 설계하기 (0) | 2023.07.23 |