1. 서 론
림프부종(Lymphedema)이란 림프계의 순환장애로 인하여 피하지방층에 림프액이 축적되는 질환으로서, 암환자의 경우 수술 또는 방사선 치료로 인한 림프계 손상으로 발생될 수 있다. 암 수술 이후 약 30%의 발병률을 나타내는데 최근 암 생존율이 높아짐에 따라 발생률도 점차 높아지고 있다. 림프부종은 암환자에게 미용적인 문제 및 불안, 우울 등의 정신적인 문제, 육체적 불편함과 관절 가동범위 제한과 같은 기능적 손실을 초래하며, 증상이 심할 경우 면역 기능 장애를 일으켜 위급 상황을 초래할 수도 있다[1,2]. 따라서 수술 전후 또는 회복 기간 중의 변화를 추적하여 조기에 림프부종 발생을 진단해내는 방법이 점차 크게 요구되고 있다.
림프부종의 발생여부를 진단하기 위하여 생체저항이나 유전율의 변화를 측정하여 예측하는 방법이 있다[3-5]. 하지만 이들은 림프부종 진행과의 직접적인 관계 파악이 힘들기 때문에 림프액 축적에 의한 부피 증가를 측정하는 방법이 가장 많이 사용된다.
림프부종의 부피 측정에 가장 많이 사용되는 방법은 테이프 측정법이며 팔, 다리의 둘레를 잰 뒤 원기둥으로 근사하여 계산한다. 이 측정법은 지나치게 단순화한 근사값을 계산한다는 원리적인 문제뿐만 아니라 측정하는 사람의 숙련도와 환자의 자세에 크게 좌우되는 문제가 있다. 1997년 테이프 측정법을 개선한 자동 부피 측정 장치인 페로미터(Pero-System GmbH, Wuppertal, Germany)가 소개되었지만 여전히 근사 계산법을 사용하기 때문에 오차 문제를 해결하지 못하였다[6,7]. 지금까지의 테이프 측정법이나 페로미터는 부피를 측정했다기 보다는 3차원 부피와 2차원 둘레 사이의 상관관계를 간접적으로 예측한 방법이었다.
본 논문에서는 림프부종으로 인한 부피 증가를 직접적으로 측정하기 위해 피사체의 3차원 표면좌표를 이용하였다. 3차원 표면좌표 값들을 이용하면 물체를 3차원 재구성한 뒤 부피를 계산할 수 있다.
2010년 마이크로소프트에서 출시된 키넥트(Kinect)센서는 일반적인 컬러 영상뿐만 아니라 깊이 영상(Depth Image)이라고 불리는 피사체의 표면까지의 거리를 화소값으로 표현한 특수 영상을 실시간으로 제공한다[8]. 피사체까지의 거리를 화소값으로 얻을 수 있다는 것은 간단한 산술 연산만으로 피사체 표면에 대한 3차원 좌표정보를 얻을 수 있음을 의미한다. 또한 초당 30장의 매우 짧은 촬영시간과 간편한 영상처리를 통해 실시간 측정이 가능하며 적은 비용으로 시스템을 꾸밀 수 있는 장점을 갖는다.
하지만 영상을 이용한 입체의 재구성은 본질적으로 오직 피사체의 한 쪽 면에 대한 정보만을 제공하기 때문에 완전한 3차원 입체를 재구성할 수 없는 문제가 있다. 따라서 피사체의 모든 표면에 대한 3차원 좌표를 얻기 위해서는 한 대의 키넥트 센서를 피사체의 주변을 따라 이동시키면서 촬영을 하거나 여러 대의 키넥트를 동시에 사용해야 한다. 한 대의 키넥트를 이용하는 방법은 데이터 획득에 시간이 오래 걸리고 이 후 영상처리가 어려울 뿐만 아니라 연산량이 많기 때문에 실시간으로 이용하기 어렵다. 획득되는 영상들의 기준 좌표계를 통일시키기 위해서 영상들 간의 상응하는 특징점과 해당 특징들을 계산해야 하기 때문이다. 본 논문에서는 여러 대의 키넥트를 동시에 사용함으로써 데이터 획득 시간을 단축시켰으며, 평면 검출 기반 원근 변환을 이용하여 깊이 영상들의 기준 좌표계를 효과적으로 통일시키는 방법을 제안하였다.
서로 다른 위치나 서로 다른 센서에서 얻은 표면 좌표 정보들을 하나의 좌표계로 모아서 영상들 사이의 겹쳐지는 부분이 이음새 없이 이어지도록 하는 것을 영상 정합 (Image registration) 이라고 부른다. 현재 영상 정합을 위한 가장 인기 있는 방법은 ICP(Iterative Closest Point) 기법이다[9,10]. 일종의 최적화 문제를 푸는 기법으로 두 영상 사이의 상응하는점 데이터군들 사이의 일치 정도를 계산하는 것으로 처음 소개된 이후 많은 개선된 방법들이 개발되고 있다[11,12]. 하지만 이들의 공통적인 문제점은 연산 시간이 오래 걸린다는 것이며 영상 정보 외에 이미 알려진 외부 정보를 이용하지 않는 경우 로컬 미니멈 문제를 해결하는 것이 어렵다[13]. 또한 기본적으로 두 장의 영상을 기준으로 개발된 기법이기 때문에 여러 대의 센서를 사용할 경우 연산 시간의 증가뿐만 아니라 오차 누적으로 인한 성능 저하를 피하기 어렵다. 반면 여러 대의 센서를 고정시켜 사용할 경우에는 각각의 영상들이 사용하는 좌표계 역시 고정되기 때문에 좌표계 통일을 위한 연산을 크게 줄일 수 있다. 고정된 좌표계를 사용하는 경우 공간 좌표의 변환은 간단한 4×4 행렬로 표현될 수 있으며, 컴퓨터 비전 분야에서 이러한 일반적인 변환을 3차원 원근 변환 (Perspective Transform) 이라고 부른다. 3차원 원근 변환을 위한 행렬을 구성하기 위해서는 최소 4 쌍의 상응하는 제어점 (Corresponding Control Point)을 필요로 하는데 이 제어점들은 각각의 센서에서 동시에 인식이 가능해야 한다. 하지만 피사체의 서로 다른 면을 바라보고 있는 키넥트 깊이 영상들에서 앞서 언급한 4쌍의 상응하는 제어점들을 추출해 내는 것은 깊이 영상의 특성으로 인하여 어렵거나 불가능하다. 키넥트 깊이 영상에서는 꼭지점이나 모서리가 정확하게 나타나지 않기 때문에 제어점 기반 부피 측정 연구에서는 측정 환경을 구성하는데 많은 제약 조건과 한계가 있었다[14].
본 논문에서는 깊이 영상에서 제어점을 직접 찾는 대신 상대적으로 높은 신뢰도를 갖는 3차원 평면들을 추출한 뒤 이들의 교점을 계산함으로써 제어점들의 3차원 좌표를 획득하는 방법을 제안하였다. 3차원 평면을 검출하기 위하여 허프 변환의 변형인 3차원 랜덤 허프 변환을 사용하였다[15-16]. 제안된 방법을 이용하여 여러 가지 팬텀과 사람 팔에 대한 3차원 모델을 재구성한 후 부피를 측정하였다. 팬텀 측정 결과를 의료용 CT의 결과와 비교하여 제안된 방법의 신뢰성을 보였으며 사람 팔에 대한 측정 결과는 기존의 부피 측정 장치인 페로미터와 비교하여 보다 정밀한 측정이 이뤄지고 있음을 보였다.
2. 연구 방법
2.1 실험 환경 구성
2.1.1. 하드웨어 및 소프트웨어
한 대의 PC에 네 대의 윈도우용 키넥트 센서를 연결하여 사용하였다. 키넥트 센서는 충분한 데이터 전송율을 보장하기 위해서 센서 1대당 USB 호스트 컨트롤러 1개를 요구한다. 근접 영상을 얻기 위하여 근거리 모드를 사용하였으며 피사체까지의 거리는 1 m로 맞추었다. 피사체의 여러 표면 영역을 확보하기 위하여 4대의 키넥트 센서는 카메라용 삼각대를 이용하여 거치하였으며 측정대상에 따라 자유롭게 방향과 높이를 바꿀 수 있도록 하였다.
개발환경으로 키넥트 SDK(ver. 1.7)를 사용하였으며 이를 위해서는 Microsoft Visual Studio 10과 Window 7 운영체제가 요구된다. 3차원 렌더링을 위해서 VTK(ver. 5.10)를 일부 사용하였다.
2.1.2 키넥트 깊이 영상의 사각 영역(Dead zone)
키넥트 센서에서 제공하는 깊이 영상은 복잡한 계산 과정이 장치 내의 전용 칩에 의해서 하드웨어로 수행된 후 컴퓨터로 전송된다. 계산 과정을 간단히 요약하자면, 키넥트에 장착된 적외선 조사기(IR Emitter)에서 미리 정해진 점 패턴을 피사체에 조사하고 피사체에 투영된 패턴을 적외선 센서(IR Depth Sensor)가 다시 읽어 들인 후 점 패턴의 변형을 인지하여 삼각측량법을 통해 거리를 계산해 내는 방식이다[17]. 이 때 적외선 조사기와 적외선 센서가 약 7.5cm 가량 떨어져 있기 때문에 패턴을 조사하는 각도와 읽는 각도에 차이가 발생하며 이로 인하여 조사된 패턴이 보이지 않는 사각 시야(Dead angle)가 존재하고 이로 인하여 곡률이 크거나 각이 진 경우에는 깊이 영상에서 거리 정보를 표시하지 못하는 영역이 나타나게 된다. 근거리 모드를 사용하는 경우 이 영향이 더욱 크게 나타난다. 또 피사체의 표면이 반사가 심한 경우 적외선 간섭이 심하게 나타나서 패턴이 인식되지 않는 넓은 사각 영역(Dead zone)이 발생할 수 있다. 특히 키넥트가 서로 마주보고 있는 경우에 심각한 영향을 주기 때문에 측정 환경을 꾸밀 때 반드시 고려되어야 한다. 보통 Fig. 1에서 볼 수 있는 것처럼 피사체의 왼쪽에서는 적외선 조사기에서 조사된 점 패턴이 보이지 않는 사각 영역이 발생하며 오른쪽 윤곽 영역에서는 점 패턴이 겹쳐 보이기 때문에 역시 신뢰할 수 없는 화소값을 갖는다. 그림에서 볼 수 있는 것처럼 키넥트 깊이 영상은 피사체의 왼쪽 면은 잘 나타나지 않는 단점이 있다.
Fig. 1.Dead angle of Kinect depth images.
서로 다른 깊이 영상에서 동시에 검출되어야 하는 제어점들로는 보통 꼭지점들이 이용되는데 위에서 설명한 것처럼 키넥트 영상의 특성상 이러한 꼭지점 또는 모서리 영역은 사각 영역에 속하기 쉬운 지점들이기 때문에 제어점 검출이 어려운 경우가 많으며 값의 정확도에 대한 신뢰도가 떨어지게 된다. 본 연구에서는 이런 문제점을 해결하기 위해 점을 추출하는 대신 상대적으로 신뢰도가 높은 평면을 추출하는 방법을 사용하였다.
2.2 깊이 영상의 평면 추출
2.2.1. 제어점 추출을 위한 정육면체 모형
평면 검출에 기반한 제어점 추출을 위해 본 연구에서는 무반사, 무광택 표면 재질을 갖는 정육면체모형을 300 × 300 × 300 (mm3) 크기로 제작하였다(Fig. 2A). Fig. 2B에서 볼 수 있는 것처럼 각각의 키넥트 깊이영상에서 정육면체 모형의 세 개의 면이 한 화면에 나타나게 배치하였다. 이 세 면을 검출해 내면 이들의 교점을 계산하여 한 개의 제어점을 확보할 수 있으며 이 교점과 두 평면의 교선을 이용하여 또 다른 3개의 점을 계산해 낼 수 있다. 마지막으로 이 네 점을 이용하여 단순 벡터 합으로 나머지 네점의 좌표를 얻을 수 있다. 이것은 정육면체의 크기를 정확하게 알고 있으며 세 평면을 높은 신뢰도로 추출할 수 있기 때문에 가능하다.
Fig. 2.A cube model for transformation matrix generation (A) and extraction process of control points (B).
2.2.2 깊이 영상 좌표의 데카르트 좌표 변환
깊이 영상에서 평면을 추출해 내기 위해서는 우선적으로 깊이 영상의 각 화소가 나타내는 점을 키넥트 SDK에서 스켈레톤 좌표(Skeleton coordinate)라고 부르는 3차원 데카르트 좌표계에 표시되도록 변환 작업을 수행해야 한다. 깊이 영상도 컬러 영상과 마찬가지로 초점을 기준으로 원근 효과가 반영되어 있기 때문에 화소값을 그대로 사용하면 평면의 식을 구할 수 없다. 깊이 영상의 화소 위치와 화소값을 (x,y)와 d라고 하면 스켈레톤 좌표 (X, Y, Z)는 다음 식에 의해 구할 수 있다.
여기서 width와 height는 깊이 영상의 가로 세로 크기를 나타내며, k는 초점 거리의 역수에 해당하는 값으로 키넥트에서는 공장 출시값으로 3.501 × 10-3으로 설정되어 있다.
깊이 영상의 화소들을 3차원 데카르트 좌표계에 점으로 나타낼 때 〈X-Y-Z〉 축 방향으로 한 화소가 각각 1 mm를 나타내도록 계수를 조절하여 식을 세움으로써 향후 부피 측정을 할 때 별도의 비율 조정이 필요 없도록 하였다.
깊이 영상의 원근 효과로 인하여 좌표값으로 변환이 이루어질 때 곡률이 큰 영역에서는 격자 모양으로 좌표 값이 존재하지 않는 영역이 발생하는데 이를 없애기 위하여 격자가 발생한 화소에 대하여 역방향으로 근접화소 값을 탐색하여 채워줌으로써 격자 무늬가 발생하지 않도록 하였다.
2.2.3. 3차원 랜덤 허프 변환 (3D Randomized Hough Transform)
허프 변환이란 2차원 영상에 나타난 직선을 검출해 내기 위해 많이 사용되는 영상처리 기법으로 〈X-Y〉 좌표계에서 직선으로 표현되는 점들을 파라미터 좌표계에 하나의 점으로 표현하는 방법이다. 역으로 〈X-Y〉 좌표계 상의 각각의 점들은 파라미터 좌표계에서 하나의 직선으로 대응된다. 따라서 영상을 이진화 처리한 뒤 각 화소 (x, y)에 대응하는 허프 공간 상의 직선을 파라미터 좌표계에 누적시킨 후에 가장 많이 중복된 교점을 선택한다. 이렇게 선택된 파라미터 좌표계의 점(a, b)은 영상에서의 가장 뚜렷한 직선에 대응하게 된다. 이러한 관계를 식(2)에서와 같이 표현한다.
본 연구에서는 허프 변환을 3차원으로 확장하여 〈X-Y-Z〉 좌표계에서 평면으로 표현되던 것을 파라미터 좌표계에 점으로 표현한다. 평면을 표현하는 식은 평면의 법선 벡터(n)와 기준점으로부터 평면까지의 거리(d)로 표현할 수 있다. 이 때 평면의 법선 벡터는 단위 벡터가 되도록 하였다.
하지만 깊이 영상의 각각의 점에 대해 가능한 파라미터들을 파라미터 공간에 표현하는 것은 지나치게 많은 연산과 넓은 파라미터 공간을 차지하게 되며 평면에 대한 표현이 직관적이지 못한 어려움이 있다. 이를 해결하기 위해 본 연구에서는 랜덤 허프 변환의 개념을 도입하여 직관적인 해석이 가능하도록 하였다. 즉, 평면을 구성하는 각각의 점들을 기준으로 파라미터 공간을 구성하는 것이 아니라 공간에서 평면을 구성하는 세 점을 랜덤으로 선택하도록 한 뒤 이 세 점으로 결정되는 한 평면을 파라미터 공간에 표현하면 단순하게 한 점으로 표현할 수 있다. 따라서 랜덤으로 선택한 평면들을 반복적으로 추출하여 파라미터 공간 상에 점을 찍은 뒤 중첩하여 찍힌 점이 가장 많은 파라미터 값을 선택하면 이 파라미터가 깊이 영상에서 가장 대표적인 평면을 나타내게 된다. 본 연구에서는 깊이 영상에 나타난 각각의 세 면에 대해서 세 개의 점을 십만 번 랜덤 추출하고 이들로 평면의 방정식을 구한 뒤 파라미터 공간에 십만 개의 점으로 표시하였다.
이와 같은 방법으로 키넥트 깊이 영상에서 보이는 정육면체의 세 평면을 검출하였으며 검출된 세 평면의 신뢰도를 높이기 위해 검출된 평면들의 법선 벡터들이 이루는 각을 계산하여 세 쌍의 평면들의 법선 벡터가 동시에 90 ± 0.1° 사이의 값을 나타낼 때까지 반복하여 구한 뒤 사용하였다.
2.3 3차원 영상 정합
2.3.1 변환 행열 (Transform matrix) 생성
검출된 세 평면으로부터 간단한 대수와 산술 연산으로 정육면체의 여덟 꼭지점을 구할 수 있으며, 두대의 키넥트로부터 얻어진 여덟 꼭지점의 대응 관계는 키넥트들의 배치가 정해짐과 동시에 미리 결정된다. 여덟 꼭지점 중에서 네 점을 제어점으로 선정하였으며 넓은 공간을 가장 잘 표현할 수 있도록 정사면체를 구성하는 네 개의 꼭지점으로 선정하였다. 서로 대응되는 네 제어점들을 이용하여 간단한 선형대수 연산으로 변환 행열을 얻을 수 있다. 변환 행렬을 생성하는 과정은 다음과 같다. 먼저 두 깊이 영상으로 얻은 네 제어점을 열벡터로 표현한다(식 4). 이 때 Ak는 기준좌표계로 사용될 깊이 영상의 제어점 벡터이고, Bk는 변환될 깊이 영상의 제어점 벡터이다. 이들 네 개의 제어점 벡터로 이루어진 제어점 행열 MA, MB를 생성한다(식 5).
네 제어점들 사이의 대응관계를 표현하는 변환 행열을 XAB라고 하면 위에서 구한 두 제어점 행열은 다음과 같은 관계를 갖게 되며 간단한 역행열을 계산함으로써 구해낼 수 있다. (식 6)
이렇게 생성된 행열 정보는 파일로 저장할 수 있도록 하였으며 키넥트 센서들의 상대적인 위치가 바뀌지 않는다면 한 번 생성된 행열을 변경 없이 지속적으로 사용할 수 있도록 하였다.
2.3.2 3차원 정합 (3D Registration)
두 깊이 영상의 변환 행열이 구해졌다는 것은 두 키넥트 센서 사이의 위치 관계를 알게 되었다는 것이며 이후에 촬영되는 다양한 피사체에 대해서 같은 변환 행열을 적용함으로써 3차원 정합이 가능하다는 것을 의미한다. 본 연구에서는 키넥트 센서 하나를 기준으로 다른 3대의 키넥트 센서에서 얻은 깊이 영상들을 정합시키는 방법을 사용하였다. 일단 3차원 정합을 통해 기준 영상과 정합이 이루어진 이후에는 다시 2차원 영상으로 투영시켜 되돌릴 경우 중첩되는 점이 발생하여 데이터 손실이 발생하기 때문에 더 이상 기존의 2차원 영상 처리 기법을 적용하는 것이 불가능해지며 모든 처리를 3차원 공간배열을 기준으로 추후 계산이 이루어져야 한다.
깊이 영상에서 배경으로부터 측정대상만을 분리 해내기 위하여 〈X-Y-Z〉 세 방향에 대한 영역에 대해 범위 지정을 할 수 있도록 하였다. 예를 들면 Z방향 영역 지정을 통해 측정대상의 뒤쪽 배경을 지울수 있도록 하였다. 또한 원하는 측정 부위만을 잘라낼 수 있도록 각각의 깊이 영상에서 자유곡선 모양으로 불필요한 영역을 잘라낼 수 있도록 하였다(Fig. 4). 본 연구의 주요 측정 대상인 상지 부종의 경우 손목에서 팔꿈치 위 10 cm 영역이 측정 대상이 되는데 이 기능을 통해 손목 아래 부분과 어깨 부분을 제거할 수 있었다. 이러한 배경 제거는 더 정확한 측정 결과를 제공해 줄 뿐 아니라 시스템에서 한 번에 설정할 수 있는 최대 메모리 제한으로 인한 문제를 회피해 갈 수 있도록 돕는 효과를 갖는다. 하지만 각각의 깊이영상에 대해서 수동으로 작업을 하기 때문에 정합 지점에서 곡면이 매끄럽지 않게 나타나는 경우가 간혹 있었다. 대조군으로 사용된 페로미터에서 측정한 영역과 키넥트 깊이 영상에서의 영역이 동일한 지점임을 보장하기 위하여 손목과 상박에 스포츠밴드를 착용하도록 하였다. 스포츠 밴드가 두께를 갖기 때문에 키넥트 깊이 영상과 페로미터에서 쉽게 인식될 수 있었으며 자유곡선 절단 이후에 동일 영역에 대한 비교가 가능하였다.
배경이 제거된 후 깊이 영상들에서 화소값을 갖고 있는 모든 점은 미리 계산되어 있는 변환 행렬에 의해 통합좌표계 상의 점들로 대응 변환되고 피사체의 표면을 입체적으로 구성하게 된다.
2.4 부피 계산
부피 계산을 하기 위해서는 피사체의 내부와 외부의 경계가 뚜렷하게 폐곡면으로 구분되어 있어야 한다. 하지만 앞서 언급한 것처럼 키넥트 깊이 영상의 적외선 간섭과 사각 영역 등의 문제로 일부 표면 좌표를 얻을 수 없는 영역이 발생하게 되는데 이것은 내부와 외부의 경계가 없는 영역이 있음을 의미한다. 또한 여러 방향의 키넥트로부터 얻은 깊이 영상을 정합하게 되면 중복하여 촬영된 영역이 존재하며 키넥트 깊이 영상이 피사체의 윤곽 부분에서 부정확한 좌표 값을 제공하기 때문에 3차원 입체 모델에서 표면이 두 겹으로 나타나는 영역이 존재할 수 있다. 따라서 경계가 없는 영역은 보상하여 채워주어야 하며 경계가 두 겹인 영역은 하나로 조정해야 할 필요가 생긴다.
먼저 재구성된 3차원 입체를 1 mm 간격으로(한 화소 간격으로) 단면 영상을 만든 뒤 단면 영상의 중앙에 기준점을 설정하고 피사체의 표면을 구성하는 각 점까지의 거리와 각도를 계산하여 각도 기준으로 정렬된 리스트를 생성하였다. 이후 두 겹으로 표현된 표면을 조정하기 위해 리스트를 따라가면서 동일한 각도를 가지지만 거리 값이 두 가지로 나타난 경우 이들을 평균한 값을 갖도록 조정하였다. 마찬가지로 다시 한 번 리스트를 따라가면서 이웃한 네 점의 정보를 이용하여 캐트멀-롬 스플라인(Catmull-Rom Spline) 보간법을 적용함으로써 빈 영역을 보상하도록 하였다[18]. Catmull-Rom Spline 보간법은 곡면의 특성을 잘 살리면서도 원본 좌표를 보존하는 특성이 강하기 때문에 일반적인 선형 보간이나 컨벡스 헐(Convex hull)을 이용하는 것보다 표면의 세부적인 특징을 잘 나타내는 특징을 갖는다.
이렇게 내부와 외부의 경계가 뚜렷한 단면 영상들을 확보한 후 각 단면의 내부 영역을 구성하는 화소의 수를 누적하면 각 단면의 간격과 화소의 간격이 모두 1 mm를 나타내기 때문에 mm3(1000mm3=1mL)단위의 부피를 구하게 된다.
2.5 측정 성능 검사
제안된 방법의 성능을 검증하기 위해 본 연구에서는 4대의 키넥트 센서를 이용하여 세 가지 모형 (원통, 팔, 두상)의 부피를 측정해 보았으며, 같은 모형에 대하여 의료용 CT를 이용하여 측정한 부피와 비교해 보았다. 이 두 측정방법은 모두 단면의 면적을 계산하여 누적시키는 동일한 방식을 이용한다. 이 비교를 통해 제안된 방법에 대한 신뢰도를 확보하고자 한 것으로 인체에 대해 비교 실험할 경우 나타날 수 있는 방사선 노출 문제를 회피하고자 하였다.
이 후 실제 사람의 팔에 대하여 부피를 측정해 보았으며 현재 병원에서 림프부종 환자의 부종 정도를 측정하기 위해 사용되는 페로미터 장비로 측정한 팔의 부피와 비교해 보았다. 페로미터는 일정 간격으로 (5 - 10 cm) 팔의 두께를 두 방향에서 잰 뒤 타원의 장, 단축으로 가정한다. 이를 이용하여 팔을 타원 기둥으로 근사 시킨 뒤 부피를 계산하는 방식이며 과도한 근사 예측으로 인해 정밀도가 떨어지는 것으로 알려져 있다.
3. 결 과
3.1 제어점 추출을 위한 정육면체 모형의 제작
키넥트 센서가 깊이 영상을 얻어내는 방법 상의 문제로 인하여 피사체의 표면은 적외선 대역에 대해서 무광택, 무반사 조건이 보장되어야 한다. 또한 평면 검출에 기반한 제어점 확보를 위해서는 각 면이 휨 없는 평면임이 보장되어야 한다. 본 연구에서는 두께 3mm 아크릴 가공을 통해 300 × 300 × 300(mm3)크기의 정육면체 모형을 제작한 뒤, 코팅이 되어 있지 않은 마분지 뒷면을 각 면에 부착하여 이 문제를 해결하였다(Fig. 2).
3.2 깊이 영상에서의 평면과 제어점 추출
키넥트 센서들이 정육면체 모형을 바라보는 방향을 적절히 조절하여 서로 다른 두 대의 키넥트 센서에서 네 곳의 제어점을 동시에 검출할 수 있도록 배치하였다(Fig. 2B). 정육면체의 여섯 면 중에서 세개의 면이 보이도록 함으로써 두 면이 만나는 세 개의 교선과 세 면이 만나는 교점을 찾아낼 수 있도록 하였다. 먼저 깊이영상에 나타난 정육면체의 세 면을 클릭하면 클릭한 점 주변 40×40 픽셀 영역을 관심영역으로 설정된다. 그 다음 세 곳의 관심영역에서 세개의 점을 십만 번 랜덤으로 뽑아내어 평면의 방정식을 생성하고 이 때 구해진 파라미터 값을 3차원 허프 공간에 누적시켰다. 마지막으로 세 평면에 대해 가장 누적이 많은 파라미터를 10개씩 뽑아낸 뒤 세 평면이 서로 90°를 이루는 조합을 선택하였다. 각도 오차가 0.1° 이상이 되는 경우 이 과정을 반복하도록 하였다. 세 평면이 결정된 후 두 평면이 만나는 세 교선과 세 평면이 동시에 만나는 교점을 찾았으며 교점으로부터 교선을 따라 300 mm 떨어진 세 점을 다시 찾았다. 교점을 포함한 네 점과 교선과 평행한 모서리를 가정하여 간단한 벡터합으로 정육면체의 나머지 네점의 3차원 좌표값을 구하였다.
3.3 3차원 영상 정합과 부피 측정
본 논문에서 제안한 평면 검출에 기반한 깊이 영상의 3차원 영상 정합 기법의 신뢰도를 확보하기 위하여 3가지 모형 - 원통, 팔, 상반신 - 에 대해 측정 테스트를 수행하였으며 이 결과를 의료용 CT를 통해 얻은 결과와 비교하였다. (Fig. 3, Table 1)
Fig. 3.The 3D reconstruction results for an upper body phantom and a human arm.
Table 1.Comparison of volume measurement results with CT for three phantoms
기존 연구결과에 의하면 CT 영상을 이용하여 3차원 재구성을 할 때, 발생할 수 있는 오차가 5%에 이른다고 하며 위 비교 데이터에 의하면 제안된 방법과 CT를 이용한 방법의 최대 오차가 4.09% 였던 점을 감안하면 이는 감내할 만한 수준의 오차라고 볼 수 있다[19,20].
또한 본 연구의 최종 목표인 림프부종 환자의 팔 부피 증가 측정을 위해서는 의학적 초기 진단 기준인 팔둘레 길이의 2 cm 변화를 감지해 낼 수 있어야 하는데 이는 부피로 환산했을 때 약 20%의 부피 변화가 발생했음을 의미하기 때문에 본 시스템을 이용하여 충분한 진단이 가능하다고 판단할 수 있다.
10명의 자원자를 대상으로 기존의 부종 측정 시스템인 페로미터를 이용하여 부피를 측정한 후, 곧바로 제안된 방법으로 다시 한 번 부피를 측정하였다. (Fig. 4, 5). (Fig. 6)에 두 결과를 비교하였으며 제안 된 방법에서 페로미터 측정 결과를 기준으로 했을 때 약 15% 정도 적은 부피를 얻었다(Perometer: 1401 ± 256, Kinect: 1200 ± 235). 이는 제안된 방법이 CT와 비교했을 때 최대 4.09%의 오차를 보였음을 고려하면 상당히 큰 차이이며 서론에서 언급한 바와 같이 과도한 근사 추정을 하는 페로미터 측정 방법의 한계를 보여주는 결과라고 하겠다.
Fig. 4.ROI selection in the depth images.
Fig. 5.Rendered Solid 3D model.
Fig. 6.Comparison result with Perometer.
4. 결론 및 토의
부피는 물체가 차지하는 공간을 의미하는 물리량으로서 일상 생활에서 흔하게 이용되지만 부피를 측정하기 위한 방법은 고대부터 사용되어온 물체를 물에 담갔을 때 넘치는 물의 양을 측정하는 물치환법에서 큰 발전이 없었다고 할 수 있다. 간단한 다면체의 경우는 기하학적 원리를 이용하여 산술 계산을 통해 부피를 계산할 수 있지만 모양이 복잡해지거나 곡면을 갖는 경우는 별다른 해결 방법이 없다. 물체의 단면들의 넓이를 구한 뒤 이 단면을 쌓아 올림으로써 부피를 구할 수 있지만 정확한 단면의 모양과 넓이를 구하는 것 역시 어려운 문제이다. 의료용 CT(Computed Tomography)나 공초점 현미경 검사(Confocal microscopy)에서처럼 단면의 모양과 넓이를 구하여 3차원 모델 재구성과 부피 측정이 가능한 경우가 있지만 높은 비용과 방사선 노출 문제, 측정 대상의 크기와 물질의 제한 등 때문에 일반적인 용도로는 사용할 수 없다[21,22].
3차원 깊이영상을 제공하는 다양한 센서의 출현에 발맞추어 깊이 영상의 특성에 초점을 맞춘 다양한 연구들이 시도되어왔다[23]. 본 논문은 깊이 영상의 가장 원초적인 특성이라고 할 수 있는 피사체 표면에 대한 3차원 좌표 제공이라는 기능을 보다 능동적으로 이용할 수 있도록 다수의 키넥트 센서로부터 얻은 3차원 표면 좌표들을 하나의 통일된 좌표계 상에 통합할 수 있도록 변환하는 방법을 제시하였다. 제안된 방법을 사용하면 키넥트 센서의 수가 늘어남에 따라 동시에 다룰 수 있는 표면 영역이 늘어나게 되는데 본 연구에서는 완전한 입체 모델을 구현할 수 있는 최소 수량인 4대를 사용하여 3차원 모델을 만들고 부피를 측정할 수 있었다.
본 연구에서는 다수의 키넥트 센서 데이터를 하나의 통일된 좌표계에 표현하기 위해서 별도의 전역좌표계를 사용하지 않고 키넥트 센서들 사이의 상대적인 위치 관계만을 이용하여 좌표축 변환을 수행하였다. 별도의 전역좌표계를 사용하지 않기 때문에 카메라 캘리브레이션을 사용하지 않고 4개의 제어점(Control point)에 대한 원근변환(Perspective transform) 행렬로 상대적 위치를 표현할 수 있었다. 4개의 제어점을 확보하기 위해 무반사, 무광택 표면 특성을 갖는 정육면체 모형을 제작하였으며, 3차원 랜덤허프변환을 적용하여 정육면체의 각 면에 대한 평면방정식을 구한 뒤 이들의 교점을 찾는 방법을 제안하였다. 제안된 방법은 부정확한 경계영역 특성을 갖는 키넥트 깊이 영상의 한계를 극복할 수 있도록 함과 동시에 측정 결과의 정밀도를 유지하면서도 누구나 쉽고 빠르게 측정 환경을 구성할 수 있는 장점을 갖는다. 측정 환경이 구성 과정에서 생성된 원근 변환 행렬은 키넥트 센서들 사이의 상대적인 위치가 변경되지 않는 이상 수정이나 재측정 없이 그대로 사용할 수 있기 때문에 한 번 행렬 파일을 생성한 이후에는 다양한 피사체에 대해서 실시간 부피 측정이 가능하다.
본 연구는 암치료 이후 흔하게 발생하는 림프부종에 의해 팔의 부피가 증가하는 것을 조기에 감지해 내는 시스템을 개발하기 위하여 진행되었다. 4대의 키넥트 센서를 이용하여 사람 팔을 3차원 입체모델로 구현하였으며 픽셀당 실제 거리(mm)를 1:1로 대응시킨 뒤 입체(팔)의 내부를 구성하는 복셀(Voxel)의 수를 세는 방법으로 팔의 부피를 측정할 수 있었다. 이렇게 측정된 부피는 의료용 CT를 이용하여 측정된 결과와 비교했을 때 최대 4.1% 이내의 오차를 나타냈으며, 기존의 림프부종 측정장치인 페로미터와 비교했을 때는 15% 정도 적게 측정되었다. 문헌에 의하면 의료용 CT의 단면 영상들을 이용하여 3차원 모델을 생성할 때 5% 가량의 오차가 나타날 수 있음이 알려져 있기 때문에 제안된 방법과의 4.1%의 오차는 허용 가능한 수준일 것으로 예상되며 페로미터 측정 결과와 큰 차이가 나타나는 이유는 앞서 서론에서 언급한 것과 같이 페로미터가 사용하는 과도한 근사 예측으로 인한 것으로 볼 수 있다. 사람 팔과 같이 오목하거나 볼록한 영역이 많이 나타나는 측정 대상의 경우 이 근사 오차를 피할 수 없기 때문이다.
림프부종의 초기 진단기준은 팔둘레의 2cm 변화이며 이는 반지름에서 10% 이상의 변화에 해당한다. 부종이 나타날 때 팔 길이의 변화는 없기 때문에 이는 20% 이상의 부피 변화로 환산된다. 본 연구에서 개발한 3차원 깊이영상을 이용한 부피측정 시스템의 최대 오차를 10%까지 설정하더라도 이는 림프부종을 진단해 내는데 충분한 수준이라고 할 수 있다.
3차원 깊이영상을 이용한 부피측정 시스템은 빠르고 정확할 뿐만 아니라 직접적인 신체접촉을 하지 않기 때문에 안전하고 실행 절차가 간편하다는 점이 가장 큰 장점이라고 할 수 있으며 방사선 노출 없이 CT와 유사한 수준의 부피 측정 결과를 얻어낼 수 있다.
References
- R.L. Ahmed, A. Prizment, D. Lazovich, K.H. Schmitz, and A.R. Folsom, "Lymphedema and Quality of Life in Breast Cancer Survivors: the Iowa Women's Health Study," Journal of Clinical Oncology, Vol. 26, No. 35, pp. 5689- 5696, 2008. https://doi.org/10.1200/JCO.2008.16.4731
- J. McWayne and S.P. Heiney, "Psychologic and Social Sequelae of Secondary Lymphedema: a Review," Cancer, Vol. 104, No. 3, pp. 457- 466, 2005. https://doi.org/10.1002/cncr.21195
- B.H. Cornish, I.H. Bunce, L.C. Ward, L.C. Jones, and B.J. Thomas, "Bioelectrical Impedance for Monitoring the Efficacy of Lymphoedema Treatment Programmes," Breast Cancer Research and Treatment, Vol. 38, No. 2, pp. 169-176, 1996. https://doi.org/10.1007/BF01806671
- B.H. Cornish, M. Chapman, C. Hirst, B. Mirolo, I.H. Bunce, L.C. Ward, et al., "Early Diagnosis of Lymphedema using Multiple Frequency Bioimpedance," Lymphology, Vol. 34, No. 1, pp. 2-11, 2001.
- J. Nuutinen, R. Ikaheimo, and T. Lahtinen, "Validation of a New Dielectric Device to Assess Changes of Tissue Water in Skin and Subcutaneous Fat," Physiological Measurement, Vol. 25, No. 2, pp. 447-454, 2004. https://doi.org/10.1088/0967-3334/25/2/004
- A.W. Stanton, J.W. Northfield, B. Holroyd, P.S. Mortimer, and J.R. Levick, "Validation of an Optoelectronic Limb Volumeter (Perometer)," Lymphology, Vol. 30, No. 2, pp. 77-97, 1997.
- J.H. Bednarczyk, C. Hershler, and D.G. Cooper, "Development and Clinical Evaluation of a Computerized Limb Volume Measurement System (CLEMS)," Archives of Physical Medicine and Rehabilitation, Vol. 73, No. 1, pp. 60-63, 1992.
- J. Han, L. Shao, D. Xu, and J. Shotton, "Enhanced Computer Vision with Microsoft Kinect Sensor: A Review," IEEE Transactions on Cybernetics, Vol. 43, No. 5, pp. 1318- 1334, 2013. https://doi.org/10.1109/TCYB.2013.2265378
- K.S. Arun, T.S. Huang, and S.D. Blostein, "Least-squares Fitting of Two 3-D Point Sets," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 9, No. 5, pp. 698-700, 1987.
- K.-L. Low, "Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration," Technical Report TR04-004 of University of North Carolina, pp. 1-3, 2004.
- X. Mei, Z. Li, S. Xu, and X. Guo, "Registration of the Cone Beam CT and Blue-Ray Scanned Dental Model Based on the Improved ICP Algorithm," International Journal of Biomedical Imaging, Vol. 2014, No. 348870, pp. 1-8, 2014.
- F. Nazem, A. Ahmadian, N.D. Seraj, and M. Giti, "Two-stage Point-based Registration Method between Ultrasound and CT Imaging of the Liver based on ICP and Unscented Kalman filter: a Phantom Study," International Journal of Computer Assisted Radiology and Surgery, Vol. 9, No. 1, pp. 39-48, 2014. https://doi.org/10.1007/s11548-013-0907-6
- P.J. Besl and N.D. McKay, "Method for Registration of 3-D Shapes," Proceedings of SPIE, Vol. 1611, pp. 586-606, 1992.
- W. Lee, Y.J. Kim, S. Kim, and K.G. Kim, "Volume Measurement of Upper Limb using Depth Images," Proceeding of the Spring Conference of the Korea Multimedia Society, Vol. 16, No. 1, pp. 167-169, 2013.
- D. Dube and A. Zell, "Real-time Plane Extraction from Depth Images with the Randomized Hough Transform," Proceedings of IEEE International Conference on Computer Vision Workshops, pp. 1084-1091, 2011.
- F. Tarsha-Kurdi, T. Landes, and P. Grussenmeyer, "Hough-Transform and Extended RANSAC Algorithms for Automatic Detection of 3D Building Roof Planes from Lidar Data," Proceedings of the ISPRS Workshop on Laser Scanning and SilviLaser, Vol. 36, pp. 407-412, 2007.
- T. Ueda, "3D Information Extracting Structure of Kinect", Monthly Electronic Engineering (Book Media Group, Chumdan inc., Seoul, Korea), Vol. 26, No. 2, pp. 31-42, 2013.
- H. Lee and S.K. Yoo, "Adaptive Weight Adjusted Catmull-Rom Spline Interpolation Based on Pixel Intensity Variation for Medical Imaging Volume Visualization," Journal of Korea Multimedia Society, Vol. 16, No. 2, pp. 147-159, 2013. https://doi.org/10.9717/kmms.2013.16.2.147
- R.S. Breiman, J.W. Beck, M. Korobkin, R. Glenny, O.E. Akwari, D.K. Heaston, and et al., "Volume Determinations using Computed Tomography," American Journal of Roentgenology, Vol. 138, No. 2, pp. 329-33, 1982. https://doi.org/10.2214/ajr.138.2.329
- D.E. Brenner, N.O. Whitley, T.L. Houk, J. Aisner, P. Wiernik, and J. Whitley, "Volume Determinations in Computed Tomography," The Journal of the American Medical Association, Vol. 247, No. 9, pp. 1299-1302, 1982. https://doi.org/10.1001/jama.1982.03320340053035
- P.S. Calhoun, B.S. Kuszyk, D.G. Heath, J.C. Carley, and E.K. Fishman, "Three-dimensional Volume Rendering of Spiral CT Sata: Theory and Method," Radiographics, Vol. 19, No. 3, pp. 745-764, 1999. https://doi.org/10.1148/radiographics.19.3.g99ma14745
- A.R. Cohen, B. Roysam, and J.N. Turner, "Automated Tracing and Volume Measurements of Neurons from 3-D Confocal Fluorescence Microscopy Data," Journal of Microscopy, Vol. 173, No. 2, pp. 103-114, 1994. https://doi.org/10.1111/j.1365-2818.1994.tb03433.x
- Y.J. Kim, T.Y. Kim, S.H. Lee, and K.G. Kim, "Development of A New User Interface in Medical Image Exploration Software with the Microsoft Kinect Sensor," Journal of 3D Broadcasting and Imaging Society, Vol. 3, No. 1, pp. 18-23, 2012.
Cited by
- 깊이 정보로 평면 유사도 측정을 통한 자동차 번호판 검출 방법 vol.24, pp.2, 2019, https://doi.org/10.9723/jksiis.2019.24.2.047