문제

내가 도는 알고리즘이 있을 할 표면 재구성에서 3D 범위는 데이터입니다.첫 눈에,그것은 보인다 공 회전 알고리즘 (BPA 고) Poisson 표면 재구성 은 더 설립된 방법?

  • 어떤 설립,더 강력한 알고리즘 분야에서 다 BPA 및 포아송 표면 재구성 알고리즘?
  • 추천 연구는 출판물?
  • 할 수 있는 소스 코드?
도움이 되었습니까?

해결책

나는 이 딜레마에 직면해 몇 개월,지금과 철저한 연구이다.

알고리즘

주로 있는 2 종류의 알고리즘:계산기하학,및 암시적 표면이 있습니다.

계산기하학

맞는 그들은 메시에 기존의 포인트입니다.

아마도 가장 유명한 알고리즘의 이 그룹은 powercrust, 기 때문에 그것을 이론적으로 설립한 방수 메시입니다.

공벗은 특허에 의해 IBM.또한,그것은 적합하지 않 pointclouds 다양한 포인트 밀도 있습니다.

암시적 기능

중 하나에 맞는 암시적 기능에 pointcloud,다음 사용 행진-큐브와 같은 알고리즘을 추출 제로 설정의 기능으로 메시입니다.

방법 이 범주에서 주로 다르에 의해 서로 다른 암시적 기능을 사용됩니다.

포아송, Hoppe 의, 고 MPU 가장 유명한 알고리즘이 이러한 범주에 포함됩니다.는 경우 새로운 항목을 읽을 Hoppe 사 논문,그것은 매우 쉽습니다.

알고리즘의 이 범주에는 일반적으로 구현할 수 있도록 처리할 수 있는 거대한 입력을 효율적으로 한 확장할 수 있 품질<->속도 떨어질 수도 있습니다.들에 의해 방해되지 않 소음,변화점밀도의 구멍이 있습니다.의 단점은 그들이 그들이 필요로 하는 일관 중심의 표면에서 입력 포인트입니다.

구현

을 찾을 것입니다 작은 수의 무료 구현입니다.그러나 그에 따라 달라지는 것으로 그것을 통합하는 무료 소프트웨어(이 경우에는 GPL 라이센스 수용을 위해 당신)또는 상업적인 소프트웨어(이 경우 당신은 필요 더 자유 라이센스).후자는 매우 드문 일입니다.

중 하나이 는 디버깅 심볼이 들어.나는 그것을 의심하는 것에 통합하기 어려운(아 문서를 사용할 수 있습니다 무료),그것은 이상하다,이상-복잡한 아키텍처로 설계되지 않은 고성능 애플리케이션에 이상적이다.또한 몇 가지 제한 사항에 대해 허용 입력 pointclouds.

살펴보 Poisson 구현,그리고 그 후에 대한 경험을 공유하다고 조금만 참아 주시기 바랍니다.

도: 몇 가지 고성능 알고리즘으로,표면 재구성할 수 있습니다.

CGAL 유명한 3d 라이브러리이지만,그것은 무료만을 위한 무료 프로젝트입니다.Meshlab 유명한 응용 프로그램을 가진다는 점에 주의하시기 바랍니다.

또한(추가 August2013 년):라이브러리 PCL모듈 전용 표면 재구성 및 개발이 활발하(의 일부가 구글의 코드의 여름).표면 모듈의 번호를 포함하는 다양한 알고리즘을 위해 재건.PCL 도 을 추정하는 표면을 넣지 않아 그들과 함께 제공되는 포인트 데이터,이 기능을에서 찾을 수 있습 기능 모듈.PCL 은 조건에 따라 출시 BSD 라이센스의 오픈 소스 소프트웨어,그것은 무료에 대한 상업적인 연구 이용.

다른 팁

다양한 표면 재구성 알고리즘으로 직접 실험을하고 싶다면 시도해야합니다. 메쉬 라브, 메쉬 프로세싱 시스템은 오픈 소스이며 이전에 인용 된 많은 표면 재구성 알고리즘의 구현을 포함합니다.

  • 포아송 표면 정찰
  • 몇 가지 MLS 기반 접근 방식,
  • 볼 피벗 구현
  • Curless Volume 기반 접근법의 변형
  • Delaunay 기반 기술 (알파 모양 및 보로 노이 필터링)
  • 산란 된 포인트 세트에서 정상을 계산하기위한 도구
  • 그리고 결과 메시를 비교/측정/청소/단순화하기위한 많은 다른 도구.

소스는 GPL에 의해 보호되므로 상업용 폐쇄 소스 프로젝트에서 사용할 수는 없지만 다양한 표면 재구성 알고리즘의 특성에 대한 올바른 느낌을 얻는 것이 매우 중요합니다 (소음에 민감한 속도, 속도, 특이 치에 대한 견고성, 세부 사항 등을 보존하는 방법 등) 중 하나를 구현하기 전에.

현장에서 최근의 작업을 살펴보기 시작할 수 있습니다. 현재 포인트 샘플링 표면의 빠른 저 메모리 스트리밍 MLS 재구성 Gianmauro Cuccuru, Enrico Gobbetti, Fabio Marton, Renato Pajarola 및 Ruggero Pintus. 인용은 문학을 꽤 빨리 겪을 수 있습니다.

메쉬 표현은 아니지만, 전직 동료는이 얇은 플레이트 스플라인 방법의 소스 코드에 대한이 링크를 추천했습니다.

링크

누구든지 시도해 보셨나요?

당신이 그것을 생략하는 것이 이상하게 보이므로 당신의 사건에 정확히 맞는지 확실하지 않지만 행진 큐브 이와 같은 경우에 일반적으로 언급됩니다.

여기 Github에는 오픈 소스가 있습니다 메쉬 처리 라이브러리 C ++에서 Hugues Dr. Hoppe, 표면 재건 프로그램 정찰 문제에 대한 좋은 옵션입니다 ...

거기 있습니다 기하학적 도구 별 3D Delaunay 도구. 이 도구는 DiRecx 및 OpenGL로 사용됩니다. 불행히도 라이브러리의 실제 예제 코드를 보려면 책을 구입해야 할 수도 있습니다. 여전히 코드를 읽고 알아냅니다.

Matlab은 또한 Delaunay를 사용하여 표면 재건 도구를 도입했습니다. delaunaytriangulation 클래스.

이 문제가 있었기 때문에 고유 한 클라우드 크러스트 알고리즘을 개발하고 구현했습니다. 문서뿐만 아니라 소스는 github.com에서 찾을 수 있습니다. https://github.com/ricebean-net/pointcloudcrust. 알고리즘은 Java로 구현됩니다.

어쩌면 이것은 당신을 도울 수 있습니다. 라이브러리 사용 방법을 보여주는 페이지에서 짧은 파이썬 스크립트도 찾을 수 있습니다. 재미있게 보내세요!

당신은 관심이있을 수 있습니다 알파 모양.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top