Robotics

[AI Day 2022] 로봇하는 사람이 본 테슬라 휴머노이드 - 시각편

콩지니어 2022. 10. 5. 18:36

테슬라 휴머노이드의 설계와 비교에 대해 적어 본 지난 포스팅에 이어 이번 포스팅에서는 시각정보 처리 관련에 대해 적어볼까 합니다.
지난 포스팅 - 테슬라 로봇의 설계 및 비교

 

[AI Day 2022] 로봇하는 사람이 본 테슬라 휴머노이드 - 설계 비교편

지난 포스팅에서는 테슬라 휴머노이드의 움직임, 모션에 대해 알아보았습니다. 이번 포스팅에서는 이어서 테슬라 휴머노이드의 설계와 다른 휴머노이드와의 비교에 대해 적어보려고 합니다. [A

kongineer.tistory.com

 

로보틱스에서의 시각정보 처리 - Vision

로봇 분야에서는 카메라, LiDAR, Sonar 등 센서를 통해 로봇의 주변 환경을 파악하는 기능의 분야를 크게 묶어 Robot Vision 이라고 분류하곤 합니다. 쉽게 말하면 주변을 관찰하여 파악하는 전반적인 과정입니다.

로봇이 주변 환경을 파악하는 기술은 로보틱스의 다른 분야에 비해 본격적인 연구가 좀 늦게 출발한 편 입니다. 10~20년 전만 해도 쓸만한 센서 자체가 별로 없고 비싼 점과, 컴퓨터 성능이 연구성과를 검증할 수 있을 만큼 충분히 좋지 못했던 점, 비전 보다는 제어 문제가 우선적으로 풀어야 하는 문제였다는 점 정도가 이유일 것 같습니다.

특히, 테슬라의 방식처럼 카메라로 찍은 사진에서 쓸만한 정보를 얻어내는 방향으로는 머신러닝의 연구가 본격화 되기 이후에야 본격적으로 성과가 나오기 시작했기 때문에 아주 최근 기술에 속합니다.
이렇다 보니 로봇의 비전이라고 하면 모든걸 평정하는 하나의 방식이 아직 없습니다.

카메라 달면 다 되는거 아닌가요

제 생각에 이쪽 분야에 익숙하지 않으실 분들 이라면 이런 생각을 많이 하시지 않을까 합니다. 테슬라가 카메라로만 해도 잘 된다고 하니 다른 단체들은 왜 못하나 싶으실 수도 있겠죠.
제가 찍어 온 사진을 예로 설명드려 보도록 하겠습니다. 정차 중 아이폰을 주변을 찍은 사진인데, 우선 인위적으로 차선을 지워보았습니다.

test pic
차선을 포토샵으로 지워보았습니다.

위 사진을 사람이 본다면 쉽게 알아낼 수 있는 정보들이 있습니다. 차량 수, 표지판 등이죠. 그런데, 이걸 한번 생각해 봅시다.

가운데 검정 승용차와 뒤 택시는 같은 차선에 있나요? 다른 차선에 있나요?


보는 시각에 따라 검은 승용차 바로 뒤에 있는것 같기도 하고, 뒤에 있지만 옆 차선이 있는것 같기도 합니다.
그럼 이번엔 차선이 그려진 원본 사진을 보겠습니다.

test pic

차선을 보니 차선을 바꾸기 위해 방향을 틀었고, 바퀴가 하나만 옆 차선으로 나와있는 상태인 것으로 유추해 볼 수 있습니다. 이처럼 사람은 힌트가 더 많으면 더 많은 유추를 할 수 있습니다.
"나는 차선 없는 사진만 봐도 알았다" 라고 하시는 분들도 있을텐데요, 그럼 제가 이 질문을 던져보겠습니다.

검정 차량은 몇 미터 떨어져 있나요?


사람이라면 차량이 얼마나 떨어져 있는지 어느정도 "유추" 해볼 수 있습니다. 하단 차선을 보고 "차선 두개만큼" 이라고 유추가 가능합니다.
네. 우리는 단순히 보이는 정보만을 활용하는 것이 아닌 경험상 알고 있는 다른 정보까지 같이 섞어서 유추하게 됩니다. "차선" 이라는 것이 있다는 사실, 그리고 차선의 폭이 대략 얼마나 된다는 것 정도의 경험상 사전정보가 있죠.
만약 이 카메라가 x2줌 이었다면? 사진에 안찍힌 차선이 하나 더 있었을 수도 있죠.
컴퓨터는 사진을 볼 때 우리가 일부러 "차선" 이라는 정보, 그리고 "몇배 줌" 이라는 사전 정보를 제공해 주지 않으면 대충이라도 거리를 알아낼 방법은 없습니다.

사진 한장만으로 얻을 수 있는 거리 정보는 "하나도" 없다.

side mirror
눈으로 보이는 정보만으로는 종종 잘못 판단하곤 합니다.


이런 이유로 예전에는 직접 거리 측정을 하는 LiDAR, RADAR, 두개의 카메라(사람 눈 처럼) 등을 사용하여 거리를 "측정" 하는 방식으로 연구가 많이 이루어 졌습니다. 줄자로 잰 정보를 사용한다고 보면 쉬울 것 같습니다.
하지만, 머신러닝의 붐을 타고 이런 방법이 관심을 받게 되었습니다.

컴퓨터한테도 사람처럼 경험적인 정보를 알려주고 맞춰보라고 하자


마치 우리가 자동차를 본적도 없는 아이에게 가르쳐준다고 생각해 보겠습니다. 한장의 사진과 그 사진 속 실제 거리정보(측정값)을 세트로 묶고, 수천, 수만개의 세트를 준비하여 전부 알려줍니다. 그리고 나서, 아직은 본적 없는 위 사진을 보여줍니다.
이걸 실제로 컴퓨터에게 시키면 이런 결과를 얻을 수 있습니다.

raw pic
depth est
직접 찍은 아이폰 사진에서 컴퓨터가 추측한 거리정보. 밝을 수록 가깝고, 어두울 수록 먼 지점.

사전정보를 미리 "학습" 시켜두면, 일종의 경험적인 거리 추측을 해낼 수 있습니다. 여기에 추가로 찍은 카메라의 정보(몇배줌 등을 포함하는 공학적인 특성)를 알면 각 지점이 실제 "몇 미터" 인지 까지도 추측할 수 있습니다.
(제가 사용한 알고리즘을 링크로 달아드리니, 더 기술적인 내용은 이를 참고 바랍니다. monodepth2)

 

GitHub - nianticlabs/monodepth2: [ICCV 2019] Monocular depth estimation from a single image

[ICCV 2019] Monocular depth estimation from a single image - GitHub - nianticlabs/monodepth2: [ICCV 2019] Monocular depth estimation from a single image

github.com

 

그럼 이제는 다른 측정장비 없이 사진만으로 다 되나요


아쉽게도 그렇지는 않습니다. 두 사진을 하나로 겹쳐보면서 보겠습니다.

overlap
원본과 거리예측을 겹쳐 본 사진

꽤 잘 예측한 것으로 보이지만, 일부 아쉬운 점도 있죠. 예를 들면, 택시 위 택시간판(?)은 아예 없는 것으로 나왔고, 초록색 교통표시판은 경계가 모호, 검정색 트렁크 위는 아예 틀렸습니다. 제가 거리변환까지는 아직 안해봤지만, 자세히 보면 거리도 엄청 정확하지는 않을 것으로 봅니다.

알려주는 데이터에 따라 결과가 많이 다르다

이렇게 컴퓨터에게 경험적인 정보를 주고 맞추라고 하는 방식은 치명적인(?) 약점이 있는데, 바로 뭘 알려줬냐에 따라결과가 많이 다르게 나올 수 있다는 점 입니다. 사람도 각자 경험한 바에 따라 다른 추측을 하는 것과 일맥상통 합니다.
위 예시도, 알려준건 자동차 주행 중 찍은 사진만 주고나서 갑자기 방 사진을 가지고 거리를 예측하라고 하면 완전 안맞는 결과가 나옵니다.

indoor pic
indoor depth
주행 데이터로 학습 후 실내 데이터를 예측하라고 시키면 하나도 안맞는 결과가 나옴


즉, 이 방식으로 잘 하려면 아래 두 조건이 맞아야 합니다:

  • 비슷한 조건의 데이터로 학습해야 한다.
  • 이런 데이터가 무지막지하게 많아야 한다.

테슬라는 뭘 잘하는데요

위 약점은 아이러니하게도 테슬라의 상대적인 강점이기도 합니다. 작년 AI Day 부터 공개된 테슬라가 잘하고 있는 부분이 많은데, 이는 테슬라의 자율주행으로 묶어 별도 포스팅에서 다뤄보도록 하겠습니다.
이번 휴머노이드에 집중해 보면, 작년 AI Day에서 선보였던 Synthetic World와 동일한 것으로 보이는 시뮬레이션 환경 조성을 짧게 소개한 바 있습니다.

tesla vision
테슬라에서 공개한 시뮬레이션을 위한 가상공간 일부. 우측 사진을 자세히 보면 일부 거리예측이 잘못 된 것을 확인할 수 있음

그냥 봐서는 사진인지 아닌지 구분이 어려울 정도로 잘 만들어진 가상공간에 대한 시연이 잠깐 있었습니다. 이렇게 진짜같은 가상공간이 존재한다면, 실제 로봇은 건들이지도 않고 필요한 수도 없이 많은 데이터를 빠르고 간편하게 얻어낼 수 있습니다. 작년에도 야외 도로 환경을 이렇게 만들어 소개했었죠. 이런 식으로 다른 단체를 압도할 만큼의 어마어마한 양의 데이터를 만들어 낼 수 있습니다.

데이터만 많이 있으면 테슬라 처럼 할 수 있나요


투자자의 입장에서는 다행히도 데이터만 많다고 테슬라와 똑같이 할 수는 없습니다. 제가 예시로 보여드린 알고리즘을 테슬라에서 그대로 쓰지도 않을 것이고, 주행시 주변 환경을 알아낸다고 어떻게 가야할지를 바로 알 수는 없기 때문 입니다.
테슬라에서는 주변 환경에 따른 주행 명령 까지 예측하는 모델을 만들었는데, 이는 실측 거리 데이터만 많다고 자동으로 완성되는 것이 아니기 때문입니다.
또한, 테슬라에서 유독 신경을 많이 쓴 부분이 있는데, 바로 "데이터를 자동으로 만드는" 기술 입니다. 자세한 설명은 역시 자율주행 포스팅에서 더 자세히 다루도록 하고, 원래 노동력으로 떼우던 데이터 작업을 훨씬 적은 노동력으로 가능하게 시스템을 개발해 두었다 정도로 정리하면 될 것 같습니다. (실제로 테슬라에서 이 인력이 중간에 많이 해고된 적이 있죠..)
즉, "컴퓨터에게 알려줄 데이터를 준비하는 소프트웨어가 탁월하고, 같은 데이터로 부터 더 좋은 결과를 얻어내는 능력이 뛰어나다" 정도로 테슬라의 강점을 요약할 수 있을 것 같습니다.

이해를 위해 거리를 예측하는 예시를 들었으나, 실제 테슬라에서는 카메라 사진으로 부터 다음 주행 경로를 바로 예측하는 방식으로 쓰는 것 같습니다.

 

그럼 테슬라는 자율주행 기능을 바로 휴머노이드에 적용할 수 있나요


저의 추측으로는 아직 못한다는 쪽 입니다. 위에 예시처럼 "비슷한 경우의 데이터"많이 주어져야 하는데, 아직 테슬라는 자동차 주행 데이터만 많이 모았지, 공장이나 사무실 등 실내공간에서의 데이터는 실험 수준의 양만 얻어서 테스트해본 듯 합니다.
실제로, 작년 AI Day에서 공개한 Synthetic World에 비해, 이번에 휴머노이드와 함께 공개한 Synthetic View는 부족한 점이 좀 보입니다.

tesla vision prob

이를 당연히 알고있을 테슬라에서는 슬며시 "데이터만 새로 얻으면 된다" 는 언급을 했습니다. 그게 데이터"만" 인지는 두고 봐야 알겠습니다.

tesla vision
뭔가 되고는 있지만 지난 자율주행 소개때와 비교하면 다소 적은 정보를 보이는 영상시연

휴머노이드 주행과 관련해 짧게 시연 영상을 보였는데, 자율주행에서 차선도 찾아내고 차량 및 사람도 구분해 내던 섬세함과는 아직 거리가 있어보였습니다.

결론: 테슬라는 아주 잘 준비되어 있다.

쓰다보니 내용이 다소 어려워지고 많아진 감이 있지만, 이를 정리하면 테슬라의 자율주행 기술을 바로 휴머노이드에 적용할 수는 없으나, 테슬라는 이를 적용시킬 수 있는 가장 선두에 있다 정도가 될 것 같습니다.
총 네번에 걸쳐 테슬라 휴머노이드에 대한 저의 의견을 적어보았습니다. 휴머노이드는 여기까지 하고, 이어서는 테슬라의 최대 강점인 자율주행에 대해 조금 적어볼까 합니다.
그럼 20000

Flag Counter