3장 현재까지의 로봇들
이번에는 앞에서 살펴본 다양한 로봇들이 어떤 형태(모달리티)의 정보를 다루고, 그 정보가 어떤 데이터 구조와 표현 방식으로 사용되는지를 정리합니다. 로봇이 인식할 수 있는 감각 데이터의 종류는 점점 늘어나고 있지만, 이 중에서도 가장 핵심적인 4가지 이미지(Image), 3차원 형상(3D Geometry), 음성(Audio), 텍스트(Text)를 중심으로 살펴보겠습니다.
이미지는 로봇 인식에서 가장 기본적이면서도 가장 폭넓게 활용되는 모달리티입니다. 로봇은 주로 카메라 센서(Camera Sensor)를 통해 환경을 시각적으로 인식하며 센서 종류에 따라 얻을 수 있는 이미지의 형태가 다릅니다.
- RGB 이미지
일반적인 카메라로부터 얻을 수 있는 가장 기본적인 시각 데이터입니다. 각 픽셀(Pixel)은 빨강(Red/R), 초록(Green/G), 파랑(Blue/B)의 3가지 색상값을 갖습니다. 따라서 RGB이미지는 다음과 같은 구조를 가집니다.
데이터 구조: H x W x 3 (H: 세로 해상도, W: 가로 해상도, 3: 색상채널수)
RGB이미지는 로봇의 물체인식, 위치추정, 시각-언어 모델(VLM)학습등 거의 모든 비전 태스크의 기초 데이터로 사용됩니다.
- 깊이(Depth) 이미지
깊이 카메라(Depth Camera)나 3D센서(LiDAR, ToF 등)를 사용하면, 각 픽셀에 카메라와의 거리정보가 부여된 1채널 깊이 이미지를 얻을 수 있습니다.
데이터 구조: H x W x 1
깊이 정보는 단일 RGB이미지로는 어려운 공간적 거리 판단을 가능하게 하며, 로봇의 경로 계획, 물체 파지(grasping), 충돌 회피 등에 필수적으로 사용됩니다.
- RGB-D 이미지
최근에는 RGB이미지와 깊이 정보를 동시에 얻는 RGB-D 카메라가 일반적입니다. 대표적으로 Intel RealSense, Azure Kinect, ZED 2i등이 있으며, RGB(색상정보) + Depth(거리정보)를 결합하여 더 정교한 환경 인식이 가능합니다.
이 방식은 시각-언어모델(VLM)이나 3D 파운데이션 모델 학습에서도 널리 사용됩니다.
- 열화상(Infrared/Thermal) 이미지
열화상 카메라(Thermal Camera)는 각 픽셀에 온도를 나타내는 단일값을 부여합니다. 데이터 구조는 깊이 이미지와 동일한 H x W x 1 형태이며, 특히 사람감지, 장비과열진단, 야간감시 등에서 활용됩니다. 최근에는 산업용 로봇의 이상탐지, 스마트 팩토리 유지보수등 온도기반 인식이 필요한 작업에서도 점점 적용되고 있습니다.
- 360도 전방위 이미지
360도 카메라(Omnidirectional Camera)를 통해, 로봇은 자신을 중심으로 한 전방위 시야(Omnidirectional View)를 한번에 취득할 수 있습니다. 이 데이터는 마찬가지로 RGB구조(H x W x 3)를 가지지만, 구면 좌표계(spherical coordinate)로 매핑된 형태를 사용합니다.
360도 이미지는 자율주행 로봇, 실내 내비게이션, SLAM(동시 위치추정 및 지도작성) 등에서 로봇의 공간 이해력을 높이는데 큰 역할을 합니다.
또한, 이미지 데이터는 종종 고차원 그대로 사용되지 않고 특징 벡터(feature vector)형태로 압축되어 사용됩니다. 예를 들어, 이미지 인식 모듈(CLIP, ResNet, ViT 등)에서 H x W x C형태의 이미지를 1차원 벡터로 변환하여 다른 모달리티(언어, 음성, 3D 등)와 결합할 수 있습니다.
결국, 이미지 모달리티는 로봇이 세상을 시각적으로 인식하는 첫번째 언어입니다. 그리고 이 시각 언어를 다른 모달리티(음성, 텍스트, 3D 등)와 연결하는 것이 파운데이션 모델의 핵심과제이자, 로봇지능이 발전하는 출발점입니다.
로봇은 3차원 공간에서 움직이며 환경과 상호작용하는 존재입니다. 따라서 2차원 이미지 정보만으로는 "팔을 얼마나 뻗을 수 있는가?", "이동 가능한 영역이 어디까지인가?"를 판단하기 어렵습니다. 이런 이유로 공간 정보를 유지하는 3차원 모달리티(3D Modality)는 로봇에게 필수적인 인식 요소입니다.
- 3차원 모달리티의 취득 방식
로봇은 여러 센서를 통해 3차원 정보를 얻습니다. 대표적으로 RGB-D 카메라와 LiDAR가 있습니다.
RGB-D 카메라:
RGB(색상) 이미지에 깊이(Depth)정보를 더한 상태로 카메라의 내부 파라미터(intrinsic parameter)를 이용하면 각 픽셀을 3차원 좌표계 상의 점(Point)으로 변환할 수 있습니다. 이로써 하나의 점군(Point Cloud) 데이터를 생성할 수 있습니다.
LiDAR (Light Detection and Ranging):
레이저를 쏘아 반사 신호의 시간을 계산함으로써 고정밀 3차원 점군 데이터를 얻습니다. 일부 LiDAR는 2차원 평면 스캔형이고, 다른 일부는 3차원 전체 스캔형으로 훨씬 넓은 시야를 커버합니다.
- 3차원 데이터의 표현 방식
3차원 모달리티는 이미지보다 표현구조가 훨씬 다양합니다. 위 그림은 주요 3D 표현 방식을 정리한 것입니다.
ⓐ 점군 (Point Cloud)
가장 일반적인 형식입니다. 공간 내 물체 표면을 다수의 점으로 표현하며, 각 점은 (x, y, z)좌표와 RGB, 노멀 벡터 등의 부가 정보를 가질 수 있습니다. 로봇은 이 점군을 기반으로 형상 인식, 충돌 회피, 경로 계획 등을 수행합니다.
ⓑ 가우시안 스플래팅 (Gaussian Splatting)
점군을 확장한 형태로, 각 점에 가우시안 분포(σ, μ)를 부여해 더 부드럽게 연속적인 3D렌더링을 가능하게 합니다. 최근에는 시각적으로 자연스럽고 자연스러운 장면 복원에 자주 활용됩니다.
ⓒ 볼륨 표현 (Volume Representation)
3차원 공간을 격자(grid)로 세분화하고, 각 셀(voxel)이 물체에 점유되어 있는지 여부를 0/1 혹은 확률값으로 표현합니다. 로봇의 지도 작성(Map Building)과 내비게이션에서 가장 자주 사용되는 구조입니다.
ⓓ 메쉬 표현 (Mesh Representation)
공간을 꼭짓점(Vertex), 엣지(Edge), 면(Face)으로 구성하여 폴리곤(polygons)으로 3D형태를 표현합니다. 3D 모델링, 시뮬레이션, 로봇 시각화등에 사용됩니다.
ⓔ 암시적 표현 (Implicit Representation)
명시적으로 점군이나 메쉬를 저장하지 않고, 공간의 임의의 점에 대해 특정 물리량을 함수 형태로 반환하는 방식입니다. 대표적인 3가지는 다음과 같습니다.
이러한 암시적 표현은 3차원 형상을 압축된 수학적 형태로 저장할 수 있어, 파운데이션 모델이나 생성모델(예: NeRF, 3D-GS)연구에서 적극적으로 활용되고 있습니다.
3차원 모달리티는 로봇이 세계를 "보는" 감각을 2차원에서 입체적 이해로 확장하는 기술입니다. 이 정보를 바탕으로, 로봇은 단순한 인식 단계를 넘어 물체 간 거리/관계/의미적 구조까지 학습할 수 있게 됩니다.
음성은 대화형 로봇, 음성 비서, 휴먼-로봇 인터랙션(HRI)에서 중요한 역할을 하는 모달리티입니다. 로봇이 사람의 의도를 이해하고 반응하려면, 소리 신호를 정교하게 해석해야 합니다.
음성은 일반적으로 마이크(Microphone) 또는 마이크 어레이(Microphone Array)를 통해 수집됩니다. 이 센서들은 공기 중의 진동을 전기 신호로 변환하며, 그 결과는 시간 축을 따라 연속된 음압(wave amplitude) 데이터로 저장됩니다. 이러게 얻어진 파형은 다양한 방법으로 변환되어, 음성인식, 감정분석, 의도추정등 여러 로봇기능에 활용됩니다. 대표적인 음성 표현 방식은 아래와 같습니다.
ⓐ 시계열 파형 (Waveform)
가장 기본적인 음성 표현으로, 시간에 따라 변화하는 소리의 세기(음압)를 연속적으로 기록한 신호입니다. 이 파형은 사람의 목소리뿐 아니라, 환경음, 기계음 등 모든 소리를 정밀하게 담을 수 있습니다.
하지만, 원시파형만으로는 소리의 특징을 구분하기 어렵기 때문에 주로 푸리에 변환(FFT)를 적용하여 주파수 영역으로 변환합니다.
예시: 파형 → 주파수 성분으로 변환 → "이 소리가 어떤 음인지" 분석
ⓑ 스펙트로그램 (Spectrogram)
파형 데이터를 시간(time)과 주파수(frequency)의 2차원 형태로 변환한 표현입니다. 가로축은 시간, 세로축은 주파수, 그리고 색상(또는 밝기)은 에너지의 세기를 나타냅니다. 스펙트로그램은 음성의 리듬, 억양, 강세 등을 시각적으로 표현하기 때문에, 로봇의 음성 인식뿐만 아니라 감정분석, 음성이벤트탐지, 환경인식 등에서도 활용됩니다.
데이터 구조: T x F (시간 x 주파수)
ⓒ Mel스펙트로그램 (Mel-Spectrogram)
사람의 청각 특성을 반영해 주파수를 Mel스케일로 변환한 스펙트로그램입니다. 이는 사람이 인식하는 주파수 간격(저주파에 민감, 고주파에 둔감)을 모방한 표현 방식입니다. 현재의 음성 인식 모델(예: Whisper, HuBERT, Wav2Vec2등)은 대부분 Mel 스펙트로그램을 입력으로 사용합니다.
Mel 스펙트로그램은 음성신호를 "사람이 듣는 방식"으로 표현하는 구조라고 볼 수 있습니다.
ⓓ MFCC (Mel-Frequency Cepstral Coefficients)
음성 인식 초기에 가장 널리 사용된 특징량입니다. Mel 스펙트로그램을 코사인 변환(DCT)으로 압축해 저차원 벡터 형태로 만든 것이 MFCC입니다. 이는 잡음을 줄이고, 계산량을 줄이면서도 음성의 핵심 특징을 유지하는 장점이 있습니다. 현재는 딥러닝 기반 모델이 발전하면서 직접 스펙트로그램을 사용하는 추세이지만, MFCC는 여전히 로봇의 소리 분류나 간단한 명령어 인식 등에서 활용됩니다.
음성 모달리티는 로봇에게 "듣는 능력"을 부여합니다. 과거에는 MFCC 같은 단순한 특징 벡터만 사용했지만, 이제는 스펙트로그램 전체를 입력으로 사용하는 음성 기반 파운데이션 모델이 등장하면서 로봇은 단순한 명령 인식 수준을 넘어, 사람의 감정 및 의도, 상황까지 해석할 수 있게 되었습니다.
텍스트는 로봇이 세상과 소통하는 가장 인간적인 정보 형식입니다. 명령 입력, 인식 결과 출력, 상황 설명 등 다양한 형태로 활용되며, 대화형 로봇, 지능형 비서, 멀티모달 AI 시스템의 핵심 입력으로 자리잡았습니다.
- 텍스트 데이터의 기본 구조
텍스트는 사람이 이해하기에는 자연스럽지만, 그대로는 머신러닝 모델이 처리하기 어려운 비수치 데이터입니다. 따라서 모델에 입력하기 전, 문장을 작은 단위(token)로 분해하는 과정이 필요합니다. 이 과정을 토크나이징(Tokenization, 토큰화)이라고 하며, 토큰은 단어, 서브워드(subword), 문자 등 모델이 처리할 수 있는 최소 단위로 정의됩니다.
- 토큰화(Tokenization) 방식
토큰화방법은 크게 규칙 기반과 데이터 기반으로 나뉩니다.
규칙 기반:
문법 규칙이나 띄어쓰기를 기준으로 단어를 분리합니다.
예: "안녕하세요, 로봇입니다." → [안녕하세요, 로봇, 입니다]
단순하지만 신조어나 복합어에 약합니다.
데이터 기반:
대규모 말뭉치(corpus)에서 자주 함께 등장하는 문자 조합을 자동으로 학습해 단위로 정의합니다.
대표적으로 BPE(Byte Pair Encoding), SentencePiece가 있습니다.
LLM(예: GPT, KoGPT, Claude)등 대부분이 이 방식을 사용합니다.
- 텍스트 표현의 발전
텍스트를 수치화하는 방식은 시대별로 크게 3단계의 발전을 거쳤습니다.
① Bag-of-Words (BoW)
문서나 문장에서 등장한 단어의 출현 횟수를 세어 벡터로 표현하는 가장 기본적인 방식입니다.
장점: 단순하고 빠름
단점: 단어 순서와 문맥이 반영되지 않음 (예: "로봇이 컵을 잡았다" vs "컵이 로봇을 잡았다" → 동일한 벡터)
이를 개선하기 위해, TF-IDF(Term Frequency-Inverse Document Frequency)가 등장했습니다. TF-IDF는 자주 등장하지만, 의미가 약한 단어(예: "은", "의", "그리고")에는 가중치를 낮추고, 드물게 등장하지만, 의미가 강한 단어에는 가중치를 높여 문서의 특징을 더 잘 반영합니다.
② N-gram
단어를 n개씩 묶어 연속적인 조합을 특징으로 삼는 방식입니다. 예를 들어,
2-gram: "로봇이", "컵을", "잡았다"
3-gram: "로봇이 컵을", "컵을 잡았다"
이 방식은 문맥 정보를 일정 부분 보존할 수 있지만, n이 커질수록 벡터차원이 폭발적으로 증가하여 계산효율이 떨어지는 문제가 있습니다. 또한, 표기가 다르거나 의미가 유사한 던어를 구분하지 못해 의미적 일반화가 어렵습니다.
③ Word2Vec
이 문제를 해결하기 위해 등장한 것이 Word2Vec입니다. 각 단어를 고정된 차원의 밀집 벡터(Dense Vector)로 표현하며, 단어 간 의미적 유사도를 벡터공간상의 거리로 계산할 수 있습니다.
예를 들어,
벡터(왕) - 벡터(남자) + 벡터(여자) ≈ 벡터(여왕)
과 같은 연산이 가능합니다.
→ 즉, 의미기반 벡터 표현(Distributed Representation) 시대가 열림 셈입니다.
하지만 Word2Vec은 단어 단위 고정 표현만을 사용하기 때문에, 문맥에 따라 의미가 달라지는 단어(다의어)에는한계가 있었습니다.
④ 문맥의존형 임베딩 - BERT
이 한계를 해결한 것이 BERT(Bidirectional Encoder Representation from Transformers)입니다. BERT는 문맥(context)을 양방향으로 고려하여 같은 단어라도 주변 단어에 따라 다른 벡터를 생성합니다. 덕분에 단어의 의미 차이를 구분할 수 있으며, 다의어 문제나 문맥 의존적 표현이 필요한 태스크(예: 대화, 추론)에 강력한 성능을 보입니다.
예:
"은행에서 돈을 찾았다" → '은행' = 금융기관
"가로수에 은행이 떨어져 있다" → '은행' = 식물(열매)
이처럼, 문맥 기반 표현 모델은 텍스트의 의미를 로봇이 정밀하게 해석하도록 돕습니다.
텍스트 모달리티는 로봇이 '언어를 이해하는 두뇌'의 기반입니다. 과거에는 단순한 단어 빈도 분석 수준이었지만, 이제는 파운데이션 모델(LLM)을 통해 로봇이 언어를 해석하고, 대화하며, 명령을 스스로 재구성할 수 있는 수준에 도달했습니다. 즉, 텍스트는 로봇의 사고를 표현하는 데이터 구조라고 할 수 있습니다.
©2024-2025 MDRULES.dev, Hand-crafted & made with Jaewoo Kim.
이메일문의: jaewoo@mdrules.dev
AI 에이전트 개발, 컨텍스트 엔지니어링 교육 컨설팅, 바이브코딩 강의 문의: https://bit.ly/4kjk5OB