Non-rigid registration in medical applications has become increasingly important in recent years. However, ordinary CPU-based registration implementation requires a large amount of computing time to obtain adequate results. To solve this problem, there have been several attempts to reduce the registration time by using a graphic processing unit (GPU). In those attempts, however, some parts of registration processing are difficult to be implemented on a GPU with high performance. By blending the capabilities of both GPU and CPU, high computational performance may be achieved. In this paper, for high speed non-rigid registration, we present an efficient implementation scheme using both GPU and CPU properly. To obtain high computation performance, we optimize the time scheduling of GPU and CPU processing. In addition, we reduce the computational load by adopting the block-based update of normalized mutual information (NMI). Experimental results on CT and MR images show that our GPU/CPU-based hybrid implementation can provide a speedup of 120 times over the single-threaded CPU implementation, without any degradation of registration accuracy.
본 논문에서는 하이브리드 코어를 이용한 고속 3차원 비강체 정합 기법을 제안하였다. 비강체 정합과정은 크게 영상 변환과 유사성 척도를 계산하는 부분으로 나뉠 수 있다. 이 중 영상을 변환하는 과정은 GPU를 사용하여 빠르게 병렬화할 수 있지만, 유사성 척도를 계산하는 부분은 많은 반복문이 필요하고 동일한 메모리에 계속 값을 누적시켜야 하므로 GPU로 수행하기에 적합하지 않다.
이러한 문제점을 해결하기 위해 제안된 방법에서는 GPU와 CPU를 동시에 사용함으로써 더욱 효율적인 연산 수행을 가능하게 하였다. 보편적으로 사용하는 GPU와 CPU의 직렬적인 연산은 CPU의 연산이 종료될 때까지 GPU가 휴면 상태로 대기하게 되지만, 제안하는 방법은 CPU가 연산하는 동시에 GPU도 연산할 수 있게 하여 불필요한 대기 시간을 제거하였다. 또한 블록 기반의 NMI 업데이트 방법을 사용하여 불필요한 연산을 최소화하였고, GPU 메모리의 사용을 최적화 하여 기존의 가속화 방법보다 비강체 정합의 수행시간을 감소시켰다.
실험 결과를 통하여 제안하는 고속 영상 정합 기법이 성능의 저하 없이 기존의 CPU 기반의 정합보다 약 120배의 속도가 향상됨을 확인 할 수 있었다.