본문 바로가기
반응형

전체 글40

[K - means Clustering] K-평균 군집화 K-means Clustering은 무엇인가 K-means Clustering(이하 KC)은 대표적인 분리형 군집화 알고리즘중 하나이다. 이 알고리즘은 point cloud를 Clustering할 때 사용되는데, Expectation과 Maximization을 반복하며 최적을 찾아가는 알고리즘이다. 아래 설명을 보다보면 매우 RANSAC과 유사한 논리를 전개하는 것을 볼 수 있을 것이다. 이제부터 실제 예시를 통해 clustering이 어떻게 진행되는지 알아보자. 알고리즘 구조 위와 같은 point cloud에 KC를 적용해보자. 우선 KC를 적용하려면 군집의 수를 정해야 한다. 군집의 수가 정해지면 모든 point들 중 랜덤으로 군집의 중앙이 선정된다. 군집의 수를 2라고 설정하고 진행해보겠다. 포인트.. 2020. 10. 11.
[Feature Extraction] Point Feature Histogram 알고리즘 설명 PFH Point Feature Histogram 아무리 검색을 해도 PFH에 대한 한국어 검색 결과를 찾을 수 없어서, 직접 공부한 후 정리하기로 했다. 아마 PFH에 대해 공부를 할 정도의 사람이면, 영어로 된 레퍼런스를 뒤져 정보를 얻는데 익숙하기 때문에 구태여 한글로 정리된 문서가 필요 없었던 것 같다. PFH는 무엇인가? Point Feature Histogram의 약자로, xyz좌표로 이루어진 Point cloud에서 특징을 추출할 때 사용된다. histogram을 기반으로 특징을 서술하는 descriptor이며, Point cloud에서 특징을 추출할 때 주로 사용되는 FPFH의 기반알고리즘이다. 인접한 포인트들의 법선벡터 및 거리를 이용하여 histogram을 만든 후 특징으로 사용한다. .. 2020. 10. 11.
Kernel density estimation (커널 밀도 추정) 개념 kernel density estimation은 대표적인 Non-paramatic 밀도 추정 방법중 하나이다. 커널 밀도 추정은 밀도를 추정하는 방법 중 커널 함수를 이용하는 하나의 방법이고, 그렇기때문에 커널 밀도 추정을 이해하려면 우선 밀도추정에 대해서 이해해야 한다. 그리고 추가로 아래 내용에 대한 대략적인 기초지식이 필요하다. 확률변수, 확률 밀도함수, 분포, 적분 etc... Density estimation 밀도 추정을 이해하기 쉽게 설명하자면, 추출된 데이터들을 통해서 확률 밀도함수를 구하는 행위이다. 확률 밀도함수는 확률 변수의 분포를 나타낸 함수인데, 구간 [a, b]에서 확률변수 X가 해당 구간에 있을 확률을 로 나타낸 함수이다. 즉, 정의역과 치역이 양수이고, 함수를 적분한 결과가 1.. 2020. 9. 29.
중학생도 이해할 수 있는 RANSAC 알고리즘 원리 이 글은 RANSAC에 대해 아무것도 알지 못해도, 중학교 이상의 수학적 지식만 가지고 있다면 충분히 이해할 수 있도록 포스팅할 예정이다. 실제로 RANSAC은 매우 중요한 알고리즘이지만 실상 들여다보면 매우 간단한 구조이므로, 만약 이해하지 못한다면 그것은 독자의 문제가 아니라 쉬운 알고리즘을 쉽게 설명하지 못한 필자의 문제다. RANSAC은 RANdom SAmple consensus의 약자로, 데이터셋에서 노이즈를 제거하고 모델을 예측하는 알고리즘이다. 매우 많은 분야에서 활용되며 특히 컴퓨터 비전 분야에서 광범위하게 사용된다. RANSAC은 특정 임계값 이상의 데이터를 완전히 무시해버리는 특성이 있어 outlier에 강건한 알고리즘인데, 아래 그림을 보면 노이즈가 매우 크지만, 노이즈를 반영하지 않.. 2020. 9. 20.
[ROS] spin과 spinOnce의차이 ros는 여러개의 노드가 비동기 환경에서 작동하는 운영체제이다. 그래서 콜백함수를 호출하는 것에도 여러 규칙이 적용되는데, 사용자는 spin과 spinOnce를 사용해서 콜백 함수를 다루게 된다. spin과 spinOnce는 둘 다 큐를 사용해서 먼저 요쳥된 콜백함수부터 처리한다는 공통점이 있지만 큰 차이점이 있다. spin과 spinOnce의 공통점과 차이점 ros::spin ros::spinOnce 공통점 큐에 요청된 콜백함수를 처리함 차이점 프로그램이 종료될 때 까지 반복 호출 시점까지 요청된 콜백함수를 처리 spinOnce는 현재까지 요청된 콜백 함수를 모두 호출하고 코드의 다음부분으로 넘어가지만, spin은 노드가 shutdown되거나 Ctrl+C로 정지되기 이전까지 무한루프처럼 동작하며 콜백함.. 2020. 8. 25.
[ MEVN 스택 ] 4. Mongoose DB + Express 연결하기 (2) 1. vsCode에 vue, express 프로젝트를 생성한다. 2. vue와 express를 연동한다. 3. Mongoose DB를 생성한다. (로컬이 아닌 클라우드 서비스 이용할 예정) 4. 웹 프로젝트와 DB를 연동한다. - 현재 포스트 5. Google Cloud Platform에서 원격 컴퓨터를 임대받는다. 6. 임대받은 컴퓨터에 서버환경을 구축한다. 7. 서버에 우리의 프로젝트를 배포한다. 8. localhost가 아닌 실제 서버에 접속해서 만들어진 기능을 시험해본다. 4-1 스키마 생성 User라는 이름으로 스키마를 만든다. back/routes에 mongouser.js라는 이름으로 만들었다. 아주 간단하게 가자. id, password만 string으로 만들어서 넣었다. 4-2 홈 vue .. 2020. 6. 10.
반응형