2023. 2. 23. 14:55ㆍDevcorse/Visual SLAM(02.20~3.31)
pre 1980 과거의 특징점 기술
- 2D image 에서 3D world 이해하는 것 중점
- noise가 많이낀 사진으로 line을 검출하는것에 중점
Sobel operator
- gradient 즉 미분을 활용하는 방법을 사용함

-> 위와같은 방법으로도 threshold 값때문에 robust한 성능이 안나옴
Hough transform
- sobel operator를 활용한 후 점들을 (p, theta)로 표현하여 중첩되는 부분을 선으로 판단하는 기법
- 현재에도 많이 쓰인다.
Canny Edge
- sobel이 4방향에 대한 edge 검출이라면 Canny는 8방향 비교로 보다 더 정확한 edge를 검출한다.
- 파라미터를 통해 검출도를 조절할 수 있지만 비교 연산량이 많다.
=> 두사진에서 거리가 떨어진 or 기울어진 물체에대해 line으로 매칭을 할수가 없었다.(동일객체 판단불가)
Feature Detector
Point Feature 용어
- keypoint detector: feature로 정한 points
- descriptor extractor: 선택한 points의 feature (ex points주변의 10x10의 밝기값 분석)
- correspondence matcher: 2개의 이미지에서 각각 features을 찾고 discriptor를 비교
- Local feature: local scale로 image를 표현하는 것으로 , point feature, line feature가 있을 수 있지만 point만 가정
corner detection
moravec(사람임)
- {0,0}, {1,0}, {1,1}, {0,1}, {-1,1} 의 gradient를 분석하여 corner인지 아닌지 판단
Harris Corner
- moravec을 발전시킴
- 4방향만 gradient를 분석하여 Eigenvalues를 추출하여 이 값에따라 corner, edge, flat인지 판단
- 지금도 종종쓰임
Sift(detector + descriptor) - floating point
- deep learning기법의 성능과 비교할정도로 성능이 좋음
- Scale, rotation invariant
- 기본 알고리즘
- multi scale 및 blur로 여러 이미지를 만들고 그에대한 Diffrence를 통해 DOG를 만든다.
scale별로 쌓아 keypoints를 뽑는다.
- keypoints에서 위치 스케일 방향을 토대로 keypoint vector를 만든다.
- 각 keypoint위치에서 사각형 영역을 설정하고 16개 방향으로 나누고 8개의 방향으로 비교하여 matching한다.
FAST(detector) - binary point
- harris corner 보다 17배, SIFT보다 42배 빠르다.
- descriptor는 없지만 빨라서 많이쓰임
- Robust in fast motion + orientation change
- 이후 faster가 나와 FAST를 대체하였으며 통상 Faster를 FAST라고 부름
- 기본 알고리즘
- pixcel의 주변 16개 pixcel중 연속된 10개 픽셀값이 나머지 6보다 밝거나 어두우면 keypoints로 판단
BRIEF(descriptor)
- Binary descrptor를 사용하여 Fast와 잘 맞음
FLANN Libray
- 데이터베이스에서 많은 descriptor들 중 방금 뽑은 descriptor가 어떤것이랑 가장 비슷한지 매칭해 준다.
- descriptor에 따라 적용 알고리즘이 다름
ORB
- SIFT의 정확도를 가지며, 실시간에 작동한다.
- Oriented Fast + Rotated BRIEF (fast의 scale variance, BRIEF의 rotated variance를 해결함)
- scale invariance - Image pyramid
- Rotation invariance - rotated descriptor based on centroid angle
AKAZE
- SIFT와 ORB의 중간에 위치(정확도는 ORB보다 높고, 속도는 ORB보다 느린듯)
- 하드웨어 스펙이 남는다면 ORB에서 AKAZE로 변경하기도함
Learned features(deep learning 기반)
- 지도학습 기반으로 gt를 설정하는 것이 어렵다. (알고리즘으로 추출하면 최대성능은 그 알고리즘이 한계)
- detector model , descriptor model이 마찬가지로 있으며 통합된 model도 있다.
- SuperPoint - 성능 좋지만 license 있다.
- KeyNet - keypoint detector
- HardNet - descriptor extracor
- keynet, hardnet 조합을 많이쓰며 새로운 것을 이것에 비교를 많이함
'Devcorse > Visual SLAM(02.20~3.31)' 카테고리의 다른 글
| FAST Corner paper (0) | 2023.02.23 |
|---|---|
| Harris Corner paper (0) | 2023.02.23 |
| 카메라 센서 구조 및 좋은 카메라 고르기 (0) | 2023.02.22 |
| 카메라 projection (0) | 2023.02.22 |
| 동차 좌표계 (0) | 2023.02.22 |