2022년 세미나 결산

2022년을 마치면 올해 진행했던 외부 세미나들을 정리하려고 합니다!

2022년동안 다읔과 같은 세미나를 진행했습니다.

  • 1번의 자율주행 부트캠프 (4주)
    • “자율주행 데브코스” @프로그래머스
  • 4번의 2-day VSLAM 강의
    • “Monocular VSLAM 실내위치탐지” @대전정보문화산업진흥원
  • 7번의 짧은 세미나 (1-3시간)
    • “우리 모두 슬램해” @모두의연구소 [자료 공개]
    • “프로젝트 관리와 협업” @프로그래머스
    • “자율주행의 이해와 사례” @금융연수원
    • “버그없고 성능좋은 C++ 개발 가이드” @T모 회사 [자료 공개]
    • “AI+SLAM” @모두의연구소 [자료 공개]
    • “Spatial AI는 미래입니다” @모두의연구소 [자료 공개]
    • “농업분야에서 GPS를 사용할 수 없는 경우에 위치 추정 방안” @서울대학교 [자료 공개]

공개가 가능한 자료들은 공개를 하고, 후기에 대해 간단하게 작성하려고 합니다.

 


“프로그래머스 자율주행 데브코스” @프로그래머스

5월 23일부터 6월 3일까지 진행한 강의입니다.

프로그래머스 자율주행 데브코스 3기에서 강사로써 Visual SLAM 강의를 진행했습니다. 기본적인 파이썬/C++을 다루시는 학생분들께서 데브코스 초반과정을 거치며 Linux, ROS, OpenCV, PyTorch, 센서퓨전 등을 공부를 하신후 최종 프로젝트 직전에 VSLAM을 공부하게 되십니다. 딥러닝을 공부하시다가 geometry 기법으로 급격하게 내용이 전환되기 때문에, 충분히 VSLAM에 대해서 차근차근 설명하는 것이 필요했습니다. 또, 파이썬을 주로 사용하는 학생분들께서 C++로 언어를 바꾸시게 되다보니, 이에 맞춰서 CMake 및 빌드 시스템도 설명을 해야했습니다. 강의는 22시간 20분 분량의 사전녹화된 강의를 학생분들은 온라인으로 수강하는 시스템이였습니다. 회사의 바쁜 일정과 맞물려서 후반부 강의 퀄리티가 떨어진게 많이 아쉽습니다 ㅠㅠ 4기의 영상은 후반부 퀄리티를 개선시키려고 합니다. 영상 강의를 찍다보니 여러 잔재주가 늘게 되었습니다 ㅎㅎ 노션에 슬라이드마다 스크립트를 미리 작성하고, 녹화할 때는 그냥 읽기만 하는 식으로 해서 실수를 최소화했습니다. 추후 영상 수정이 필요할 수도 있으니, 클립은 슬라이드마다 따놓았고 파이널컷 프로젝트도 백업해두었습니다.

학생분들께서는 SLAM 기술을 공부하는데에 필요한 사전지식부터, 기초적인 3D 기하학을 거쳐 프론트엔드 영상처리백엔드 비선형 최적화를 공부하시게 됩니다. 이후, PTAM, ORB-SLAM, ProSLAM 논문을 한줄한줄 같이 읽으며 논문을 완벽하게 이해를 하는 것을 목표로 합니다. 강의가 끝난 후에는 2주간 SLAM 개발 프로젝트를 진행하게 되는데, ‘기존의 오픈소스보다 더 성능이 좋은 SLAM을 만드세요’라는 목표를 가지고 1. 속도, 2. 정확도, 3. 기능확장 중 하나를 랜덤하게 배정받아 팀으로써 개발을 하게 됩니다. 데브코스에 관심이 있으신 분들께서는 제가 나온 강사 소개 영상도 봐주시면 감사하겠습니다!

자료는 프로그래머스와의 계약 의무로 인해 아쉽게도 공개하기는 어렵습니다. 목차만 공개하는걸로…!

 


“Monocular Visual SLAM 실내위치탐지” @대전정보문화산업진흥원

현재 강의 자료를 공유하기는 어렵습니다만, 강의 내용을 기반으로 E-book을 작성해서 공개할 예정입니다!

3월 17일, 8월 13일, 9월 30일, 12월 10일 진행한 강의입니다.

하루 8시간, 2일에 걸쳐서 진행하는 강의입니다. VSLAM을 처음 접하시는 중소기업 현업자들을 대상으로 SLAM의 이론에 대해 강의합니다. 자율주행 데브코스와 이론 부분에서 겹치는 영역이 상당히 많지만 실습/과제/코드튜토리얼이 빠져있으며, 대신 수식부분에 있어서는 조금 더 깊게 들어갑니다. 제 강의는 이론 부분에 집중을 많이 하고, 실습을 원하시는 분들은 신동원님께서 진행하시는 ‘NVIDIA Jetson을 이용한 VSLAM 실습’ 강의를 소개드렸습니다.

강의의 목차는 다음과 같습니다. 현재 강의 자료의 공개는 어렵습니다 ㅠㅠ

  • 1일차
    • 3D Vision의 역사
    • Localization, Mapping, SLAM
    • SLAM에서 사용하는 센서와 SLAM의 종류
    • SLAM 기술이 사용되는 분야
    • SLAM 개발 가이드
    • 확률과 통계 primer
    • 선형대수 primer
    • 3D 회전과 이동
    • 동차 좌표계
    • 카메라 투영
    • 특징점 검출기의 역사
  • 2일차
    • 에피폴라 기하학
    • RANSAC
    • 삼각측량
    • P3P/PnP
    • 최소자승법
    • 번들 조정
    • Feature-based SLAM의 역사
    • Direct SLAM의 역사
    • Visual-inertial odometry (VIO)의 역사
    • 최신 딥러닝 SLAM과 VSLAM의 미래

 


“우리 모두 슬램해” @모두의연구소

자료 링크

2월 26일에 진행한 세미나입니다.

모두의연구소 ‘Tesla 자율주행 기술 파헤치기’ 풀잎스쿨 그룹에서 SLAM에 대해 발표를 하게 되었습니다. 컴퓨터 비전에 대한 사전지식이 있는 20명의 연구원분들을 대상으로 1. SLAM이 어떤 기술이고, 2. 자율주행에서 SLAM 기술이 어떻게 사용되는지에 대해 소개했습니다. 1시간 30분 정도 세미나를 진행을 했는데, SLAM을 처음 접하시는 분들께도 SLAM 기술에 입문하기에 적당한 시간이였던 것 같습니다. 세미나가 끝나고 피드백을 받았는데, 많은 분들이 좋아해주셨습니다. 이 때부터 세미나에 중독(?)된게 아닌가 싶기도 하구요 ㅎㅎ

발표 자료에는 제가 SLAM 기술을 어떻게 생각하는지가 담겨있습니다. 주로 proprioceptive sensing과 exteroceptive sensing을 섞어 최적의 odometry/map을 추정하는 부분입니다. 이 때 정립된 개념 및 슬라이드들을 이후에 다른 세미나들에서도 많이 사용합니다. 비슷한 시기에 진행된 세미나 중 풀입스쿨 퍼실이시던 은수님께서 진행하신 테슬라 자율주행 기술에 발가락 담그기 세미나도 있습니다. 같이 보시면 좋을 것 같습니다.

자료는 여기에서 확인하실 수 있고, 아래와 같은 내용을 커버합니다.

  • 컴퓨터 비전의 발전
  • 자율주행 시나리오
  • SLAM의 사용처
  • SLAM이란?
  • Tesla는 SLAM을 사용할까?
  • LiDAR SLAM
  • Visual-SLAM

 


“프로젝트 관리와 협업” @프로그래머스

5월 1일 진행한 세미나입니다.

프로그래머스 자율주행 데브코스 2기에서 진행한 두번째 특강입니다. SLAM이 아닌 개발 관련 발표는 이 발표가 처음이였던 것 같습니다.

발표 자료에는 제가 개발과정을 어떻게 대하는지에 대한 자세와 생각이 담겨있습니다. 학부생 때 공부했던 품질공학 방법론들을 개발에 적용하기 위해 한창 고민하고 실험을 하던 시기에 진행한 세미나였기 떄문에, 이상과 현실에 대한 괴리감에 대해서도 설명하고, 이 괴리감을 넘어서기 위한 노력에 대해서도 담겨있습니다.

아래와 같은 내용을 커버했습니다. 발표 자료는 프로그래머스와의 계약 조건으로 인해 공개가 어렵습니다.

  • 프로젝트의 조건
    • 요구사항: 비즈니스적 요구사항, 엔지니어링 요구사항, 누가 고객인가?, 고객의 소리, 겉으로 보이는 문제와 진짜 문제, 규제
    • 기간: 마일스톤 설정 방법, 간트차트, 검수 일정 산출 방법, 일정 변동 가능성, 롱테일 개발의 위험, 기술 부채
    • 인원: 실력과 팀워크, 채용, 인력 가성비
    • 산출물: 솔루션/커스터마이즈 제품, 제품 버전관리 및 유지보수, 제품 유통망, 품질 기준
  • 협업
    • 혼자 개발할 때 vs 팀으로써 개발할 때
    • 협업의 구조: 팀 리더, PM, 엔지니어, QA
    • 애자일 팀 vs 기능 팀
    • 효율적인 소통이란?: 코칭/세미나, 개발문서, 코드리뷰, 코드, 가이드 문서, 레퍼런스 공유
    • 협업을 위한 툴
  • 효율적인 협업을 위한 업무 자동화
    • PR 생성 자동화
    • CI/CD
    • TDD
    • 코드 리뷰
    • C++/Python
      • 빌드 테스트, 코드 포매팅, 유닛/컴포넌트/인터그레이션 테스트, 성능 벤치마크
      • 코딩 가이드라인
      • 정적/동적 분석

 


“자율주행의 이해와 사례” @금융연수원

자료는 현재 공개가 어렵습니다

9월 27일 진행한 세미나입니다.

금융연수원 세미나는 현직 은행원들을 대상으로 한 세미나입니다. 자율주행/컴퓨터비전/로보틱스에 대한 사전지식이 하나도 없는 분들을 위해 진행한 세미나는 이 때가 처음인 것 같아요. 그래서 수식도 다 빼고, SLAM 이야기도 다 뺐습니다. 세미나 소개를 할 때 ‘여러분들께서 다음에 차를 사실 때 어떤 자율주행 옵션을 사는게 이득인지 이해시켜드리는게 오늘 제 목표입니다!’ 라고 시작할 정도였습니다 ㅋㅋ

4시간 정도 진행한 세미나인데, 2시간정도는 기술에 대한 이야기를 했고, 나머지 2시간은 자율주행의 사회적인 효과에 대해 이야기했습니다. 자율주행 필드에 대해 전체적인 이해도를 높이고 싶으신 분들께 도움이 될 것 같습니다.

아래와 같은 내용을 커버했습니다. 자료는 현재 공개가 어렵습니다 (추후 공개 시 업데이트 하겠습니다)

  • 자율주행 기술
    • 다음 기술은 자율주행일까요?: 스마트 크루즈 컨트롤, 로보택시, 주차보조시스템
    • 운전 자동화의 단계적 구분 (Levels of autonomy)
    • 모바일 로봇의 구조: 인지, 판단, 제어
    • 기술과 센서
  • 자율주행의 역사
    • 2000년도 이전의 자율주행
    • DARPA 챌린지
    • AI 기술의 발전과 뉴럴 네트워크
  • 자율주행 기술 시장
    • 시장 분석
      • 기술별: 풀스택, 위치추정/맵핑, 트럭/버스 스택, 시뮬레이션 및 검증, 자율주행 개발 도구, 칩/보드, 라이다, 카메라/레이더, V2X, 온보드 통신
      • 단계별: 완성차 업체, 부품 공급 업체, 차량 공유 업체, IT 기업, 반도체 제조사, 스타트업
    • 기업 역사 살펴보기: Waymo, Tesla, GM, Intel MobilEye, Ford, Amazon Zoox, NVIDIA, Aurora, Apple, Daimler group, Audi, Bosch, Toyota, Honda, Nissan, Baidu, Pony.ai, TuSimple, 현대자동차
  • 자율주행 기술과 함께 할 우리의 미래
    • 시장 분석: 자율주행 기술, 전기차, 센서, 반도체, 정밀지도, 도시 개발, 전자제어장치, 인포테인먼트, 모빌리티(MaaS), 보험, 로보택시, 트럭
    • 교통사고와 안전: 교통사고, 면허
    • 도시 인프라: 주차공간, 공공서비스
    • 환경 변화: 에너지, CO2

 


“버그없고 성능좋은 C++ 개발을 위한 가이드” @T모 회사

자료 링크

9월 28일 진행한 세미나입니다.

대전의 T모 회사의 연구원님께서 VSLAM 강의 중 ‘효율적인 SLAM 개발’에 대해 좀 더 심도깊게 공부하고 싶으시다고 세미나 요청을 해주셨습니다. C++ 언어를 사용하며 로보틱스 프로그램 개발을 할 때 어떻게 하면 좀 더 효율적으로 개발을 할 수 있을지에 대해 제가 알고 있는 노하우를 담았습니다.

자료는 여기에서 확인하실 수 있고, 아래와 같은 내용을 커버했습니다.

  • 로봇 개발팀의 숙명
    • 더 많은 고객을 유치하기 위해 제품 커스터마이제이션을 해야한다.
    • 개발 역량을 높이는 방법
    • 업무 자동화
      • 1달 안에 시스템 도입하기
  • 코딩 가이드라인
    • 코딩 가이드라인
    • 정적 분석
  • 테스트 주도 개발 (TDD)
    • 테스트란?
    • 테스트의 구조
    • 정석 TDD와 레거시 코드 TDD
    • TDD는 꼭 해야하는가?
    • TDD 데모
  • CI/CD
    • CI/CD란?
    • GitHub Actions 데모

 


“AI+SLAM” @모두의연구소

자료 링크

10월 18일 진행한 세미나입니다.

모두의연구소 MODUPOP 행사에서 발표를 했습니다. 초창기 SLAM 부터 최신 Deep SLAM까지의 기술 변화를 알아보는데에 초점을 뒀습니다. 1시간 반 동안 약 150명의 인원이 동시에 시청해주셨고, 좋은 피드백을 받아서 굉장히 뿌듯했습니다.

지금까지의 세미나는 대부분 정보전달의 목적이 많았는데, 이번 세미나는 특이하게 제 생각을 녹여낸 부분이 많습니다. 연구를 하고싶다는 욕망이 생기다보니 그랬던 것 같습니다 ㅎㅎ

자료는 여기에서 확인하실 수 있고, 아래와 같은 내용을 커버했습니다.

  • SLAM이란?
    • Localization & Mapping
    • Proprioceptive sensing, Exteroceptive sensing
  • SLAM의 역사
    • LiDAR SLAM
      • EKF-SLAM, FastSLAM, GMapping, HectorSLAM, Cartographer
      • LOAM, ALOAM, HDL-SLAM, FAST-LIO
    • Visual SLAM
      • Feature-based SLAM
        • MonoSLAM, PTAM, ORB-SLAM, ORB-SLAM2, VINS-Mono, ORB-SLAM3
      • Direct SLAM
        • DTAM, LSD-SLAM, SVO, DSO
      • RGB-D SLAM
        • KinectFusion, RTAB-Map, ElasticFusion, BundleFusion
  • 딥러닝 + SLAM
    • 딥러닝 기반 모듈의 등장: SuperPoint/SuperGlue, NetVLAD, Depth estimation, Depth completion, Object detection, Semantic Segmentation
    • 딥러닝 기반 SLAM: UnDeepVO, TartanVO
    • 딥러닝 프론트엔드: D3VO
    • Semantic Understanding: CNN-SLAM, SemanticFusion, CubeSLAM, Fusion++
    • Deep Factor optimization: code, NeRF

 


“Spatial AI는 미래입니다” @모두의연구소

자료 링크

12월 15일 진행한 세미나입니다.

모두콘 2022 행사에 초청받아 AI+Research 트랙에서 첫번째 발표로 Spatial AI 기술을 소개 하게 되었습니다. SLAM 기술에 다양한 딥러닝 기술을 섞어 한단계 높은 공간지능을 만들자는 취지의 다양한 연구를 소개했습니다. 이 발표에 대해서는 좀 더 자세하게 설명한 글이 있습니다.

공간 컴퓨팅이 필요한 곳에서는 무조건 spatial AI를 사용하게 될 겁니다. 완전한 spatial AI를 구현하기 위해서는 다양한 분야의 딥러닝과 SLAM이 필수적으로 융합되야하기 때문에, 미래를 생각하며 다양한 분야를 공부하는 것이 중요하다는 메세지를 담았습니다.

자료는 여기에서 확인하실 수 있고, 아래와 같은 내용을 커버합니다.

  • Spatial AI란?
    • Spatial AI의 단계
    • 사용될 수 있는 기술: 2D/3D Vision, Graphics, Language, Reinforcement learning, SLAM
  • 3D Dynamic Scene graph: 단계적 구조를 가진 3D map
  • LM-Nav: Vision-Language 모델을 이용한 항법 모델
  • Do as I can, not as I say: Vision-Language 모델을 이용한 태스크 플래닝
  • Real-time mapping of physical scene properties…: 물리적 상태 맵핑

 


“농업분야에서 GPS를 사용할 수 없는 경우에 위치 추정 방안” @서울대학교

자료 링크

12월 19일 진행한 세미나입니다.

대전에서 진행했던 VSLAM 강의를 수강하신 학생분께서 요청하신 세미나입니다. 서울대학교 농업생명과학대학에서 세미나를 진행했는데, 트랙터 자율주행을 실현시키기 위한 위치 추정 방안에 대해 고민하고 계신 것 같았다. 자료를 준비하면서 농업쪽의 특성도 알게 되었고, GPS에 대해서 좀 더 공부할 수 있게 되어서 아주 유익했습니다. 2022년에 들면서 경제가 나빠지고 많은 기업들이 인건비 삭감을 위해 자동화를 꿰하고 있는데, 자율주행 트랙터는 기술이 시장에 큰 임팩트를 줄 수 있는 곳이기 때문에 생각치도 못하게 이 분야에 조금 끌리게 된 것 같습니다.

자료는 여기에서 확인하실 수 있고, 아래와 같은 내용을 커버합니다.

  • GNSS란?
    • SPS, DGPS, RTK-GPS의 원리
  • Localization 방법
    • Simple odometry: 모션센서 기반의 누적형 오도메트리
    • Localization in known environment: 마커 기반 위치 트랙킹, 자연상태 위치 트랙킹
    • Localization in unknown environment: SLAM
  • 센서 & 수학적 모델링
    • 카메라, 라이다, 휠 인코더, IMU
    • Motion model, Observation model
  • 농업환경의 특징
    • 위치 추정 & 지도 작성에서 생기는 어려움
    • Drift
  • 지도 작성의 방법
    • SLAM: Visual SLAM, LiDAR SLAM
      • 각각의 예시
  • 위치 추정의 방법
    • Map-based localization