(Open3D)#1 파이썬 Open3D 라이브러리 설치 및 간단 코드 실행 (tistory.com)
(Open3D)#1 파이썬 Open3D 라이브러리 설치 및 간단 코드 실행
파이썬에는 Open3D라는 라이브러리가 있다. Open3D는 '점구름' 이라고 불리는 포인트클라우드(Point Cloud) 데이터를 시각화할 수 있다. 먼저, 포인트 클라우드를 시각화 하려면 Open3D 라이브러리부터
ywlee3460.tistory.com
논문을 읽다가 RANSAC 알고리즘을 알게 되었다. 그리고 논문에 있는 내용으로 공부하고 실습을 해보고 싶어졌다.
그래서 RANSAC 알고리즘에 대한 개념과 간단한 실습 코드를 작성해본다.
RANSAC 알고리즘이란?
random sample consensus 로 어떠한 데이터에서 노이즈를 제거하고 모델을 예측하는 알고리즘이다.
노이즈를 어떻게 제거하느냐?
사실 제거라고 하기에는 애매하지만 그냥 쉽게 이해하기 위해 제거한다고 표현한다.
사실 데이터에서 N개의 샘플 데이터를 선택하고, 선택된 샘플 데이터를 기준으로 임계값 안에 있는 데이터들을
inlier로, 임계값 밖에 있는 데이터들은 outlier로 판단한다.
쉽게 말해, 랜덤으로 선택된 데이터 근처 일정 범위의 데이터(inlier)들은 살고, 그 밖의 데이터(outlier)들은 버려진다.
즉, outlier 가 노이즈가 되어 제거되는 것이다.
하지만, 알고리즘 이름답게 처음에 선택되는 데이터는 랜덤으로 지정되어 실행 할 때마다 결과값이 달라지는 것을
확인할 수 있다. 그래서 일정 횟수를 반복한다. 반복을 통해 inlier 데이터가 가장 많을 때를 선택하여 그 때의 데이터를
가지고 모델을 예측하는 것이다.
만약 100번 시행했을 때, 100번 중에 56번째가 inlier 데이터의 개수가 가장 많았다면 56번째의 모델이 선택되는 것이다.
하지만, 이게 확률로 인해 100번을 반복해서 얻은 모델이 최적의 모델이 아닐수도 있다. 101번째에 최적에 모델이 나올지 아닐지는 모른다. 그래도 충분한 반복횟수를 통해 좋은 모델을 찾으면 좋을 것 이다.
RANSAC 알고리즘에 대해 알아보았으니, 다음은 3D 포인트 클라우드 가지고 실습해야지
(Open3D)#3 포인트 클라우드로 직사각형 단면 수치 정보 확인하기 - RANSAC 알고리즘 실습 (tistory.com)
(Open3D)#3 포인트 클라우드로 직사각형 단면 수치 정보 확인하기 - RANSAC 알고리즘 실습
RANSAC 알고리즘 실습 내용은1. 어떤 임의의 단면에서 3D 포인트 클라우드를 추출했다고 가정한다. (보통 건축/토목에서는 3D스캐너 활용)2. 추출된 포인트 클라우드는 어떤 임의의 단면일 것이고,
ywlee3460.tistory.com
'Open3D' 카테고리의 다른 글
(Open3D)#6 포인트 클라우드로 직사각형 단면 수치 정보 확인하기 - Convex Hull 알고리즘 활용 (2) | 2024.09.07 |
---|---|
(Open3D)#5 포인트 클라우드로 직사각형 단면 수치 정보 확인하기 - Convex Hull 알고리즘 개념 (0) | 2024.09.05 |
(Open3D)#4 포인트 클라우드로 직사각형 단면 수치 정보 확인하기 - RANSAC 알고리즘 적용 (0) | 2024.08.29 |
(Open3D)#3 포인트 클라우드로 직사각형 단면 수치 정보 확인하기 - RANSAC 알고리즘 실습 (0) | 2024.08.28 |
(Open3D)#1 파이썬 Open3D 라이브러리 설치 및 간단 코드 실행 (0) | 2024.06.24 |