2010-12-12 5 views
6

현재 다음 의사 코드를 사용하여 C#의 ICP 알고리즘을 구현하고 있습니다. 내가 업데이트 정렬 구현하는 방법을 완전히 확실하지 오전하지만 ICP Powerpoint반복 최단 포인트 구현

function ICP(Scene,Model) 
begin 
    E` = + ∞; 
    (Rot,Trans) = In Initialize-Alignment(Scene,Model); 
    repeat 
E = E`; 
Aligned-Scene = Apply-Alignment(Scene,Rot,Trans); 
Pairs = Return-Closest-Pairs(Aligned-Scene,Model); 
(Rot,Trans,E`) = Update-Alignment(Scene,Model,Pairs,Rot,Trans); 
    Until |E`- E| < Threshold 
    return (Rot,Trans); 
end  

에서 획득? 누군가가 위의 설명보다 약간 더 명확하게 설명 할 수 있다면 : 나는 대응 오류와 정렬 오류를 계산하는 방법을 썼지 만 새로운 업데이트 정렬을 얻는 방법을 어떻게 적용해야할지 모르겠다.

+2

안녕하세요 릭, ICP C# 구현을 완료 할 수 있었습니까? 답으로 우리와 함께 나눌 수 있습니까? – Pedro77

답변

0

슬라이드 10의 수식은 실제로 동일한 수식을 작성하는 두 가지 방법으로 정렬의 평균 제곱 오류를 제공합니다. 평균 제곱 오차를 최소화하기 위해 회전 및 평행 이동 (q 벡터는 이들의 조합입니다)을 선택하려고합니다. MSE는 q 벡터의 훌륭하고 차별화 된 기능이므로 현재 정렬에서 시작하여 공액 기울기 메서드와 같은 것을 사용하여 MSE를 (최소한 로컬로) 최소화하는 새로운 정렬을 쉽게 찾습니다.