https://www.youtube.com/watch?v=XN1Ehh-YwlY

 

SLAM -  33mm초 내로 goduigka
자율주행차/드론 – 어디에 있나, 도로와 인도의 경계(mapping)
로봇비전 – 인천 안내로봇
가상/증강현실
- 가벼운 알고리즘 – 무조건 실시간이어야함
- 알고리즘의 성능
- 알고리즘의 robustness
- 하드웨어
Slam은 왓던 경로 수정 가능
<혼동되는 기술>
SFM - slam보다 느리지만 좋은 성능(싥시간x)
Visual Odometry – VO+loop closure = slam/ slam의 써브셋?, 이전프레임에 비해 지금의 나는 어디에 있나
Path Planning – 최단거리를 구해내는 기술, 사용되는 지도가 slam을 통해 만들어낼 수 있다. (slam != path planning)
Slam은 point cloud 형태, 그 사이의 공간 유무를 알 수 없음.
slam에서의 mapping부분을 좀 더
Photogrammetry – 측량, 측정/3d가 아니어도 할 수 있음/
Image stitching

- Visual slam(monocular slam/stereo, rgb-d slam)
- Visual-inertial slam: IMU 센서
- Lidar slam/GPS: 자율주행, 2d lidar는 실내에서(10~20만원)
- Sensor Fusion/ INS: 카메라 + lidar 등 섞어서 좋은 성능내게 


C++사용하기(최적화에 좋음)
1. The cherno 채널 2. 홍정모의 따라하며 배우는 C++


ROS
한계: 보안 때문에 산업에서는ㅅ ㅏ용불가
필수는아님

OS: Ubuntu/linux

선형대수/베이즈확률론/최소자승법문제+최적화/영어

선형대수 = 공간에 대한 이해(이상엽 MATH)
베이즈 확률론 = (칼만필터) 상태(위치)추정(센서리딩) +  SENSOR FUSION
최소자승법 + 최적화 – 최신 SLAM 이해(UDACITY – ROBOTICS SPECIAL??)

컴퓨터비전지식

Deep slam
- 최신분야
- 2d3d object detection & segmentation
- Image retrieval(loop closure)
- 6dof pose localization & estimation
- Cv representation learning(depth estimation, tracking..)
- Optimization for real-time performance
- - inference optimization
- - hardware optimization
- Simd – 특정 하드웨어 안에 로직으 ㅣ형태를 따라 더 빨리 연산


Cpu 클럭수 높고 쓰레드 많은 피씨
Feature based slam  - only cpu
Direct method  - some cpu, many gpu

모바일 환경
- Ios가 더 최적화가 더 잘되어 있음

웹캠은 추천 x(exposure, iso, shutter speed등이 조절 되면 괜찮)
머신비전카메라 추(lds, Edmund optics, allied vision)

1. Feature based(sparse하게 뽑아냄)
2. Direct based(some cpu, many gpu) – 


아직은 기존의 slam이 deep slam보다 좋음
1) Cpu -> gpu memcpy의 비효율성
2) 딥러닝으 ㄹ이용한 direct pose regression은 interpolated image retrieval정도밖에


Depth는 pitch 에 예민
Deep slam은 아직 연구가 많이 안 됨
딥러닝과 슬램을 둘 다 하는 사람은 많이 x
Deep slam이 취직에..

증강현실은 v-slam의 가장 frontier 산업
자율주행에서는 decision making이 젱리 중요
자율주행은 정확한 localization 필요x, 어느정도의 uncertainty에도 미리 대응 가능하다면 ㄱㅊ
증강현실은 정확한 localization을 필요로 함, update도 빨라야 함, 
Low consumption
Gpu를 쓸 수 없다.  증강현실은 실시간으로 모델을 띄워줘야함. 모델링을 할 때 gpu써야 함.  어플자체를 만들 수 없음.
Collaborative slam

#2
2d image -> algorithm  위치정보
양안) 2d  depth -0-> algorithm  위치
Structured light pattern

Digital image
== 3차원 공간의 정볼,ㄹ 2d로
공간에서 반사되어서 오는 빛을 측정
- 카메라 != 사진찍는도구
- 카메라== 빛을 측정하는 센서/시스템
- 빛  필터  photodiode(빛 신호를 전기로)  전류/전압  ADC(digital signal)
Volt엿던 시그널이 디지털 신호가 됨
어둠 = 0, 밝음 = 255
컬러카메라 – bayer pattern을 통해 컬러 이미지 획득 가능
자연광에서 핑크는 불가
핑크는 빨강과 파랑의 조합, 두 공간상의 차이가 별로 나지 않아 섞어서 보게 됨
Michael brown 요크대학교
Unsigned byte array(uchar array)
카메라마다 뜻하는 rgb값이 다름(raw signal -> color space mapping을 회사마다 다르게 갖고 있음
slam에서는 biological vision을 신경x
 Silicon-based visionㅇ,로
Dead pixel – 작동하지 않는 pixel, fovea -optical nerve가 지나가는 지점(보이지 않음)
이미 silicon based가 더 좋음, 하지만 processor가 딸림

Silicon based 중 어떤걸 써야하는가
- Rgb/mono/multi modal
- 학생) 편광(빛반사가 없는 슬램)/적외선/멀티/하이퍼스펙트럴/이벤트./라이트필드


사실 slam은 흑백에 적합. 하지만 많은 하드웨어가 이미rgb기반인 경우가 많음
rgb단점: interpolated signal  실제 signal과 다름(해상도가 낮아짐), resolution이 작아짐
- Loss of resolution
- Loss of brightness(실제 빛의 양이 담기지 않음. 해당 색만 통과되므로)
- More computation’

흑백 카메라는 모든 픽셀에서 모든 파장의 빛을 받음
- 필터가 덜 들어가니 자연스럽게 더 밝음
- Resolution loss도 없음


'공부일지 > SLAM' 카테고리의 다른 글

SLAM 내가 모르는 keyword 정리  (0) 2020.02.21

SLAM(Simultaneous Localization And Mapping)

- Odometry + Loop closure



stereo 이점: estimate the exact trajectory 



monocular 이점: only estimate the trajectory, unique only up to a scale factor.



http://avisingh599.github.io/vision/visual-odometry-full/



Undistortion: lens distortion을 보완, calibration과정에서 얻는 distortion parameter로 수행됨



Rectification: disparit map 연산의 문제점을 줄이기 위해 수행. 모든 epipolar line들이 parallel -> horizontal로. disparty computation에서 matching blocks를 한 방향으로만 찾으면 됨

# Disparity Map Computation

스테레오 카메라를 통해 나온 pair images를 통해 disparity map을 계산할 수 있음

첫 이미지의 (x,y)가 두 번째ㅐ 이미지의 (x+d, y)에 존재한다면 좌표 (x, y)의 disparity map에는 value d를 갖고있다.

 y좌표는 동일(rectified됐기 때문). 즉, d = x(first) - x(second)



# Block-Matching Algorithm

sliding window를 사용해 각 좌표의 disparity를 계산. 



# Sum-of-Absolute Differences(SAD 알고리즘)

https://blog.naver.com/ppgt1225/100191849023

https://studyandroid.tistory.com/66

http://zone.ni.com/reference/en-XX/help/372916M-01/nivisionconceptsdita/guid-53310181-e4af-4093-bba1-f80b8c5da2f4/

영역의 유사성을 측정하는 알고리즘



# Feature Detection

- FAST: http://www.edwardrosten.com/work/fast.html

https://m.blog.naver.com/PostView.nhn?blogId=samsjang&logNo=220655420471&proxyReferer=https%3A%2F%2Fwww.google.com%2F





focal length - pinhole과 film(image plane) 사이의 거리



visual odometry



egomotion



calibration - 우리가 보는 세상은 3차원, 카메라로 찍을 경우 2차원 이미지가 됨. 이 때 3차원의 점들이 어디에 맺히는지는 당시의 카메라의 위치/방향에 의해 결정. 하지만 실제 이미지는 사용된 렌즈, 렌즈와 이미지 센서와의 거리, 각 등 카메라 내부의 기구적인 부분에 의해서 큰 영향을 받음. 따라서 3차원 점들이 영상에 투영된 위치를 구하거나 역으로 영상좌표로부터 3차원 공간좌표를 복원할 때에는 이러한 내부 요인을 제거해야만 정확한 계산 가능, 그리고 이러한 내부 요인의 파라미터 값을 구하는 과정이 calibration(https://darkpgmr.tistory.com/32?category=460965)



extrinsic parameter: 카메라 외부 파라미터(카메라의 설치 높이, 방향(팬, 틸트) 등 카메라와 외부 공간과의 기하하적 관계에 관련된 파라미터



intrinsic parameter: 카메라 내부 파라미터(카메라 초점거리, aspect ratio, 중심점 등 카메라 자체의 내부적인 파라미터)

https://darkpgmr.tistory.com/32



SFM(Structure from Motion)



bundle adjustment



degree of freedom(DOF)



Moravec -> 1. motion estimation pipeline, 2. corner detector(Moravec corner detector)

  - slider stereo 를 사용(a single camera sliding on a rail) - stop and go fashion, digitizing and analyzing images at every location



epipolar line: https://darkpgmr.tistory.com/83

'공부일지 > SLAM' 카테고리의 다른 글

SLAM 0301 스트리밍  (0) 2020.03.05

+ Recent posts