DOI QR코드

DOI QR Code

The design and implementation of Object-based bioimage matching on a Mobile Device

모바일 장치기반의 바이오 객체 이미지 매칭 시스템 설계 및 구현

  • Park, Chanil (Department of Computer Science, University of Georgia) ;
  • Moon, Seung-jin (Department of Computer Science, University of Suwon)
  • Received : 2018.03.13
  • Accepted : 2018.09.09
  • Published : 2019.12.31

Abstract

Object-based image matching algorithms have been widely used in the image processing and computer vision fields. A variety of applications based on image matching algorithms have been recently developed for object recognition, 3D modeling, video tracking, and biomedical informatics. One prominent example of image matching features is the Scale Invariant Feature Transform (SIFT) scheme. However many applications using the SIFT algorithm have implemented based on stand-alone basis, not client-server architecture. In this paper, We initially implemented based on client-server structure by using SIFT algorithms to identify and match objects in biomedical images to provide useful information to the user based on the recently released Mobile platform. The major methodological contribution of this work is leveraging the convenient user interface and ubiquitous Internet connection on Mobile device for interactive delineation, segmentation, representation, matching and retrieval of biomedical images. With these technologies, our paper showcased examples of performing reliable image matching from different views of an object in the applications of semantic image search for biomedical informatics.

객체기반 이미지 매칭 알고리즘 기술은 이미지 프로세싱 및 컴퓨터 비전 분야에서 광범위하게 사용되어 왔다. 이러한 이미지 매칭 알고리즘 기반의 수 많은 응용 프로그램은 객체인식, 3D 모델링, 비디오 추적 및 바이오 정보학 분야에서 개발되어 왔다. 이미지 매칭 알고리즘의 좋은 예는 Scale invariant Feature Transform(SIFT) 이다. 하지만 SIFT 알고리즘 기술을 이용한 많은 응용 프로그램은 클라이언트-서버 구조가 아닌 하나의 시스템으로 운영되어 왔다. 본 논문은 모바일 플랫폼 기반에서 SIFT 알고리즘 기술을 이용하여 클라이언트-서버 구조로 이미지 매칭 시스템을 구현하였다. 제안된 시스템은 바이오 이미지 객체를 매칭하고 식별하여 사용자에게 유용한 정보를 제공한다. 또한 본 논문의 주요 방법론적 기여는 모바일 장치에 유비쿼터스 인터넷 연결을 활용하여 편리한 사용자 인터페이스와 객체간의 상호작용적인 묘사, 분할, 표현, 매칭 및 바이오 이미지를 검색한다. 본 논문은 이러한 기술과 함께 바이오 정보학에 대한 의미론적 이미지 검색을 수행하며 응용 프로그램에서 객체 이미지의 다른 점을 추출하여 신뢰할 수 있는 이미지 매칭을 수행하는 예를 제시해주었다.

Keywords

1. 서 론

  최근에 많은 이미지 매칭 알고리즘은 컴퓨터 비전 및 이미지 프로세싱 분야에서 개발되어 왔다. 그 결과로 컴퓨터 비전 및 다른 분야에서 이미지 매칭 알고리즘을 기반으로 하는 응용 프로그램은 중요한 역할을 해왔다. 이러한 응용 프로그램은 이미지 스티칭, 객체 인식, 이미지 합성, 이미지 인식, 모션 추적 및 행동 인식을 포함한다[1,2]. 예를 들면, 이미지 비교 및 매칭 기술은 기하학적 이미지 변환, 포인트 기반의 검출 방법, 매칭 및 특징 검출 방법 등에 널리 사용되어 왔다 [3, 4, 5].

  다수의 이미지 매칭 방법 및 기능 중에 SIFT 기법은 [6,7] 효율적이며 널리 사용되어 왔다 [8]. 기존의 Harris Conner Detector, Suzan, KLT (Kanade-Lucas-Tomasi) 등 여러 특징점 추출 알고리즘은 비교적 단순한 이미지에서 좋은 성능을 보이지만 복잡한 이미지에서는 성능을 보장할 수 없는 단점이 있다. SIFT 변환 기법은 복잡한 이미지 환경에서 이미지간의 안정적인 특징점을 추출하는 기법으로 알려져 있다. 이러한 방법은 이미지의 회전, 크기 및 아핀(Affine) 변환 기법과 결합하여 보다 안정적으로 매칭된다. 특히 롭 헤스(Rob Hess)는 그의 저서에서 C 버전으로 구현된 SIFT 알고리즘을 구현하였다. 이 버전은 SIFT 알고리즘의 첫번째 오픈 소스 버전으로 컴퓨터 비전 및 이미지 프로세싱 분야에서 빠르게 널리 사용된 오픈 소스인 컴퓨터 비전 라이브러리 OpenCV [9]를 사용했다. 오픈 소스 SIFT 라이브러리는 KD-tree 기법을 사용하여 SIFT 특징점을 매칭하고 RANSAC [10] 기법을 이용하여 기하학 이미지 변환을 계산하기 위한 여러 가지 기능을 포함하고 있다.

  최근에 모바일 장치는 [11] 고해상도 화면을 위해 설계되어 강력한 그래픽 기능, 쿼드 코어 그래픽 프로세서를 사용한다. 이 장치는 이미지 매칭 알고리즘에 대한 인간의 상호작용과 완벽하게 일치한다. 또한 모바일 이미지 응용 프로그램은 생물의학, 영상 정보학 분야에서 많이 사용한다. 바이로 이미지 분할 및 매칭 알고리즘은 세포나 해부학적 장기를 시각화하여 실질적으로 기여할 것이다. 또한 바이오 이미지 매칭 알고리즘은 의료 임상진단 및 치료 계획에 새로운 기회를 제공할 것이다. 본 논문은 이러한 아이디어를 이용하여 주로 의학영상 분할 기법을 포함한 바이오 이미지 매칭 응용 프로그램을 설계 및 구현 하였다.

  본 논문은 모바일 장치 기반의 바이오 객체 이미지 분할과 매칭에 초점을 두었으며 클라이언트-서버 구조로 구현하였다. 또한 모바일 장치를 이용하여 사용자가 언제 어디에서든지 원하는 이미지를 선택하여 서버에 해당 이미지를 전송한다. 서버에서는 SIFT 알고리즘을 사용하여 매핑된 이미지를 클라이언트로 전송하고 사용자에게 이미지 영상 및 상세한 정보를 제공한다. 응용 프로그램에서 사용된 바이오 이미지는 2D 이미지 객체를 사용하여 비교하였으며 사용자의 상호작용을 위한 클라이언트인 프론트엔드 모듈과 이미지 매칭 알고리즘을 수행하는 서버인 백엔드 모듈로 나누어져 있다. 2장에서는 이미지 매칭 알고리즘과 바이오 정보학에 대해 설명을 하고 3장에서는 이미지 매칭 알고리즘을 이용한 응용 프로그램의 설계, 프론트엔드 및 백엔드 모듈을 설명한다. 4장에서는 이미지 매칭 알고리즘에 대한 하나의 응용 프로그램 시나리오를 보여준다.

 

2. 본 론

2.1 바이오 정보학

  바이오 정보학은 세포 및 분자 이미지와 같은 바이오이미지를 분석하고 시각화하는 일련의 계산적인 방법을 사용한다. 특히, 본 논문은 현미경이나 CT 혹은 MRI와 같은 시스템에서 얻은 의료 이미지를 사용하여 구현하였다. 컴퓨터 비전에서의 바이오 정보학의 이용과 수요는 새로운 기술과 알고리즘의 개발을 증대시킨다. 이 기술은 이미지 처리, 데이터베이스, 데이터 마이닝 및 시각화 기술 향상에 초점을 맞추고 있다. 바이오 이미지 분할 기술은 바이오 분야에서 중요한 역할을 한다. 그러므로 이 기술은 생물학자가 바이오 이미지 분할 및 추적을 하는데 큰 도움이 된다. 예를 들면, 병리적인 현상, 해부학적 구조의 연구, 조직 볼륨, 진단 및 치료 계획, 컴퓨터를 이용한 통합 수술에 도움이 된다. 많은 연구자들은 알고리즘 향상에 노력을 하고 있다. 불행하게도 일반 이미지에 대한 완벽하게 최적화된 방법은 없다. 불필요한 부분을 제거하여 보다 정확한 데이터를 얻기 위해 이미지 분할 방법을 이용한다. 여기에는 지능형 가위, 그래프 컷,Bayes 매트 [12] 및 GrabCut [13] 과 같은 바이오 이미지분할을 위한 알고리즘이 있다.

  바이오 이미지 매칭은 포인트 매칭, 템플릿 매칭, 특정 모양 포인트, 상호 최적 매칭, 주축 매칭, 동적 프로그래밍, 기능 기반의 매칭, 그래프 매칭을 포함한 바이오 컴퓨터 비전에 널리 사용된다. 이러한 알고리즘은 활발한 인간의 뇌 MRI 데이터와 대뇌 피질의 구조에 적용된다. 바이오 이미지에 대한 이미지 매칭을 수행하기 위해서는몇 가지 단계가 있다.

  첫째, 우선 인간의 뇌 이미지 데이터가 필요하다. 이미지 등록 소프트웨어는 피사체 이미지로부터 비 뇌 물질은 제거한다. 이것은 피사체와 뇌 지도 이미지를 같이등록하는데 사용한다. 따라서 피사체의 이미지를 정의하는 조직 클래스로 분할할 수 있다. 둘째, K-means 알고리즘을 이용하여 3D 조각을 구성한다. 이것은 추출된 뇌의 구에서 2D 골격을 구성하여 3D 조각을 추출한다. 다음 단계는 뇌 지도와 피사체에서 조각을 일치하는 단계이다. 최소 차이를 고려하여 뇌 지도를 매칭하고 각 피사체사이의 차이를 계산한다. 마지막으로, 정의된 피사체 이미지를 통해 뇌 지도의 경계는 뇌 지도와 피사체 사이의 로컬 정보의 차이에 따라 지역적으로 변환된다. 뇌 지도의 레이블 볼륨은 새로운 경계로 변환된 후, 분할된 회색부분은 주요 레이블로 할당된다.

 

2.2 SIFT 알고리즘

  SIFT 알고리즘은 검색 이미지와 참조 이미지 사이에서 일치할 수 있는 특유한 이미지의 특징을 검출할 수 있는 가장 일반적인 방법이다. SIFT 알고리즘은 가장 성공적이고 대중적인 방법이며 컴퓨터 비전 연구문제 [14],피사체 인식 [15,16], 로봇 매칭 [17], 이미지 검색, 행동인식 및 비디오 추적 등 여러 분야에 적용되어왔다. SIFT 알고리즘의 특징은 스케일 공간에 키 포인트를 식별하고 이미지의 크기 및 회전을 통해 이미지를 검출한다. 이러한 기능은 다른 이미지에 객체의 특유한 포인트를 검출하고 좌표를 통해 이미지 데이터로 변환한다. 이미지 특징점은 흐릿한 이미지 기울기 표현을 통해 지역의 기하학적인 변형에 대한 참조 이미지의 집합에서 추출할 수 있다. 이 방식은 지역적 특징에 대한 이미지 데이터를 스케일 불변 좌표로 변환하여 검출할 수 있다. 이 방법은네 가지 주요 단계로 구성된다.

• 스케일 공간 극 값 검출: 첫 단계는 가우스(DOG) 함수를 사용하여 후보 키 포인트를 식별하는 것으로 시작한다. 이미지는 가우스 함수와 함께 반복적으로 수행된다.

• 키 포인트 검출 및 필터링: 다음 단계는 DOG 피라미드에서 키 포인트를 찾는 것이다. 스케일 공간에서 키 포인트는 지역 위치에 추가된다. 필터링의 안정성을 높이기 위해 대비값이 낮고 에지 성분이 약한 극치는 특징점에서 제거한다.

• 방향 벡터 할당: 이 단계는 각 방향으로 주요 포인트를 할당하는 것이다. 키 포인트는 지역 이미지 기울기에 따라 하나 이상의 방향이 할당된다.

• 키 포인트 기술자: 지역 이미지 기술자가 지역 이미지 영역의 각 키 점에 대해 계산한다.

  SIFT 알고리즘은 컴퓨터 비전 분야에서 점점 향상되어 왔다. 이러한 개선으로 롭 헤스는 C버전으로 구현된 SIFT 알고리즘을 발표했다. 따라서 본 연구는 모바일 소스 라이브러리를 이용하여 이미지 매칭 애플리케이션을 설계 및 구현하였다.

 

3. 소프트웨어 구조 및 방법

  이 장에서는 바이오 이미지에 대한 소프트웨어 구조 및 방법에 대해 설명한다. 3.1 은 시스템 구조에 대한 전체 구성 및 처리 절차를 설명한다. 3.2 는 프론트엔드 모듈을 설명한다. 이 모듈은 백엔드 모듈과 양방향 통신을 수행하는 방법을 설명한다. 또한 모바일 장치의 GUI 프로토타입과 분할을 포함한 바이오 이미지에 대한 여러 가지 구성을 설명한다. 3.3 에서는 두 이미지 사이의 이미지의 특징을 검출하는 백엔드 모듈을 설명한다. 여기에는 여러 개의 스레드를 사용함으로써 수행 속도를 개선하였다. 3.4 에서는 이미지 분할 방법을 보여준다. GrabCut과 Rectangle-cut 분할 두 가지의 유형을 보여준다. 마지막으로 3.5 에서는 이미지 매칭 방법에 대해 설명한다. 3.6 에서는 기존 시스템과 제안된 시스템을 비교 분석하였다.

 

3.1 구 조

  이 장에서는 모바일 장치에서 프론트엔드와 백엔드 사이의 상호 작용하는 일련의 작업에 관한 전체적인 구조를 설명한다. 그림 1은 네트워크 기반에서 운영되는 두 개의 모듈로 구성된 프로토타입 구조를 보여준다. 각 모듈은 다른 네트워킹 기술을 사용한다. 백엔드 모듈은 Winsock 기술을 사용하고 프론트엔드 모듈은 CFNetwork 기술을 사용한다. 모바일 단말기의 장점은 Wi-Fi 통신기술 혹은 3G 무선 네트워크 기술을 사용함으로써 언제 어디서나 접속이 가능하다. 이 기술은 사용자에게 클라이언트와 서버 사이에서 통신을 가능하게 함으로써 편리하게 사용할 수 있다.

  본 논문에서 구현된 시스템은 클라이언트 와 서버의 구조로 운영되며 아래와 같은 시스템 환경에서 개발하였다.

서버 구현 환경- 운영체제: Windows 7- CPU: Intel Core 2 Duo 2.13 GHz - 메모리: 4 GB - 개발언어: C++ (Visual Studio)- 통신 프로토콜: Winsock- 데이터베이스: Mysql

클라이언트 구현 환경- 운영체제: iOS - 모바일 단말기: iPad 2- 개발언어: Objective-C (Xcode)- 통신 프로토콜: CFNetwork 모바일 장치기반의 바이오 객체 이미지 매칭 시스템 설계 및 구현

  서버에서는 클라이언트에서 전송된 이미지를 SIFT 알고리즘을 사용하여 가장 유사한 이미지를 클라이언트로 전송한다. 클라이언트에서는 이미지를 분할하여 불필요한 이미지를 삭제하여 서버에 전송하고 이미지 결과를 수신하게 된다.

  또한 사용자는 특정 이미지를 서버에 전송한다. 이는 사용자와 모바일 단말기간의 상호작용하여 운영된다.

기존의 의료영상 매칭 시스템은 독립적인 하나의 시스템으로 운영되어 있지만 [18][19], 또한 기존 논문에서의 모바일 진단의료영상 서비스를 위한 시스템이 있지만 이미지 매칭 알고리즘을 수행하지 않고 데이터베이스에서의 의료이미지를 사용자에게 편의를 제공한다 [20]. 본 논문은 클라이언트-서버 기반으로 이미지 매칭 알고리즘과 통합하여 사용자 중심의 인터페이스를 제공함으로써 보다 편리하게 사용할 수 있다.

  사용자는 모바일 단말기를 사용함으로써 시간과 공간에 구애 받지 않고 사용할 수 있다. 또한 본 시스템은 기존 시스템과 달리 다중 사용자의 의료영상 이미지를 전송 받아 이미지 매핑을 처리할 수 있다. 특정 바이오 이미지를 백엔드 모듈에 전송하기 전에 프론트엔드 모듈에서 분할기법을 사용하여 불필요한 부분을 제거한다. 백엔드 모듈에서는 바이오 이미지가 저장된 데이터베이스와 상호작용하여 이미지 매칭 알고리즘이 수행된다. 또한 이미지 매칭 알고리즘을 위한 다중의 쓰레드를 생성하여 각 작업을 분할하여 운영되며 그 결과를 다중의 사용자에게 다중의 소켓을 생성하여 각각 이미지 영상을 전송하게 된다.

 

OTJBCD_2019_v20n6_1_f0001.png 이미지

(그림 1) 모바일 이미지 매칭 애플리케이션 구조도

(Figure 1) Architecture for image matching based on Mobile

 

  이 기종간의 단말기에 특정 이미지를 전송하기 위해서는 인터넷에 연결되어야만 한다. 이미지 매칭 알고리즘을 수행하기 위해서는 백엔드와 프론트엔드 모듈이 서로 통신이 되어야만 한다.

OTJBCD_2019_v20n6_1_f0002.png 이미지

(그림 2) 프론트엔드와 백엔드 모듈 흐름도

(Figure 2) Workflow between Front-end and Back-end Module

그림 2는 프론트엔드와 백엔드 모듈의 이미지 매칭 프로토타입을 위한 프로세싱 절차를 보여준다. 이 흐름도는 백엔드와 프론트엔드 사이에서 어떻게 이미지가 수행되는지 보여준다.

 

3.2 프론트엔드 모듈

  모바일 단말기는 휴대가 가능하고 GUI 구성요소를 제공하며 언제 어디에서나 인터넷 네트워크를 접속할 수 있기 때문에 프론트엔드 모듈은 모바일 단말기에서 운영된다.

  본 논문은 GUI 프로토타입을 설계하고 애플리케이션을 구현하여 사용자에게 모바일 단말기 상에서 쉽게 이미지 처리를 운영할 수 있다. 프론트엔드 모듈은 Xcode IDE 플랫폼 기반의 Objective-c을 사용하여 프로토타입을 프로그래밍 하였다.

  이 모듈은 여러 개의 컴포넌트와 기능들로 구성되어 있다. 쿼리이미지 입력, 매칭, 결과 이미지 보기, 상세 정보보기, 분할 이미지 보기 등의 여러 가지 GUI 프로토타입으로 설계되어 있다. 다음 장에서는 GUI 프로토타입, 컴포넌트 기능을 자세히 설명한다.

 

OTJBCD_2019_v20n6_1_f0003.png 이미지

(그림 3) 프론트엔드 모듈 흐름도

(Figure 3) Workflow for Front-end Module   

그림 3은 프론트엔드 모듈의 전체 처리과정을 자세히도식화 하였다. 이 흐름도는 Sender 부분과 Receiver 부분두 개의 구성요소로 나뉘어져 있다. 이 두개의 부분은 서로 다른 기능을 수행한다. Sender 부분은 백엔드 모듈에 이미지를 보내기 전에 이미지 조작을 수행한다. Receiver부분은 네트워크를 통한 백엔드 모듈로부터 받은 영상이미지를 모바일 단말기에 정보를 보여준다.

 

3.3 백엔드 모듈

백엔드 모듈은 전체 운영 시스템에서 중요한 부분을 담당하고 있다. 이 모듈은 프론트엔드 모듈과 데이터베이스 사이에서 서로 통신을 한다. 바이오 이미지를 위한 이미지 매칭 알고리즘은 이 모듈에서 운영된다. 백엔드 모듈은 크게 데이터베이스, Receiver, Sender 부분으로 구성된다. 데이터베이스 구성요소는 데이터베이스에서 바이오이미지 정보를 추출하여 Receiver/Sender 구성요소로 전송한다. Receiver/Sender은 이미지 매칭을 위한 멀티 쓰레드를 생성하며 이미지 매칭 알고리즘, 이미지 분할 등의 핵심 작업을 수행한다.

 

OTJBCD_2019_v20n6_1_f0004.png 이미지

(그림 4) 백엔드 모듈 흐름도(Figure 4) Workflow for Back-end Module

 

3.4 이미지 분할 방법

  이미지 분할은 Rectangle-cut과 GrabCut를 이용하였다. 두 방법은 이미지에서 불필요한 전경 및 배경 부분을 제거한다. 이 방법은 좀더 정확한 키 포인트를 탐지할 수 있도록 도와준다. 두 방법 모두 배경에서 개체를 분리하는 그래프 컷을 수행한다. Rectangle-cut은 직사각형 이미지로 분해한다. 이 방법은 수직 및 수평 직선 절단을 사용한다. 또한 영역을 수직 또는 수평으로 동시에 확장하는 직선으로 분할 할 수도 있다.

  그림 5는 바이오 이미지의 rectangle-cut의 성능을 보여준다. 그림 5의 오른쪽 이미지는 원하는 부분을 지정하여 rectangle-cut을 이용하여 왼쪽에 보이는 것처럼 분할한다.

 

OTJBCD_2019_v20n6_1_f0005.png 이미지

(그림 5) Rectangle-cut을 이용한 바이오 이미지 분할

(Figure 5) Bioimage Segmentation by using Rectangle- cut

 

OTJBCD_2019_v20n6_1_f0006.png 이미지

(그림 6) Grab-cut을 이용한 바이오 이미지 분할

(Figure 6) Bioimage Segmentation by using Grab-cut 

그림 6은 GrabCut 알고리즘을 사용하여 이미지를 세분화 하였다. GrabCut 알고리즘과 터치기술을 함께 사용함으로써 모바일 단말기에서 이미지 분할을 하였다. 사용자가 화면을 터치하면 시스템은 TouchesBegan 이벤트를 사용하여 처음 위치를 기억한다. 손가락이 화면에서 움직이면 손가락을 따라 선이 그려지고 TouchesMoved 이벤트가호출된다. 사용자 손가락이 화면에서 해제되면 Touches Ended 이벤트가 발생한다. 동시에 라인 포인트와 위치가 시스템에 저장된다. 결과적으로 그림 6과 같이 사용자가 원하는 이미지를 분할할 수 있다.

 

3.5 이미지 매칭 방법

  SIFT 알고리즘은 Lowe’s 논문에서 소개되었다. 이 접근법은 이미지로부터 크기와 회전을 통해 스케일 공간특징점을 검출하는 방법이다. 이미지 속성에는 매칭 이미지를 위한 이미지 변환, 회전 및 크기 조정에 영향을 주지 않은 많은 특징이 있다. 이미지 검색, 인식 및 기하학적 변환과 같은 특정 작업을 수행하여 두 이미지를 쉽게 일치시킬 수 있다.

  이 알고리즘은 네가지 최적화 단계로 수행된다. 첫 단계는 케스케이드 필터링 접근법을 사용하여 키 포인트를 검출한다. 이러한 키 포인트는 Gaussian Difference Pyramid(DOG)의 로컬 최대값과 최소값을 사용하여 후보키 포인트의 특징을 식별한다. 가우시안 피라미드는 함수 L(x,y,σ ) 로 나타내며, L의 항은 객체의 스케일 공간을 설명한다. 두 이미지는 입력 이미지 I(x,y)를 사용하여 DOG 피라미드 D(x,y,σ)에 의해 계산된다. 다음과 같은 가우시안 함수를 도출한다. L(x,y,σ) = D(x,y,σ)* I(x,y). DOG 기능은 효율적으로 키 포인트 위치를 검출할 수 있는 상수인자 k를 사용하여 두개의 인접한 스케일의 차이로부터 수행할 수 있다. 다음과 같은 식을 이용한다. D(x,y,σ) = L(x,y, kσ )-L(x,y, σ).

  두번째 단계는 키 포인트 위치를 검색한다. 키 포인트의 가장 근접한 후보자의 최대 및 최소를 탐지한다. 이 접근법은 로컬 샘플 포인트에 3D 이차함수를 맞추어 최대의 보정된 위치를 선택한다.

다음 단계에서는 각 키 포인트에 일관된 방향을 지정한다. 최적의 키 포인트 위치를 탐지 후 방향은 로컬 객체를 기반으로 각 특징을 지정한다. 특정 위치 및 방향 주변의 각 픽셀은 다음과 같이 계산된다.

 

\(\begin{aligned} &m(x, y)=\sqrt{(L(x+1, y)-L(x-1, y))^{2}+(L(x, y+1)-L(x, y-1))^{2}}\\ &\theta(x, y)=\tan ^{-1}((L(x, y+1)-L(x, y-1)) /(L(x+1, y)-L(x-1, y) \end{aligned}\)

 

마지막으로 방향을 할당한 후, 로컬 이미지 영역에 대한 로컬 이미지 기술자가 계산된다. 키 포인트 위치 주변의 영역의 키 포인트 기술자는 4 x 4박스로 나뉘어진다. 키 포인트 방향 및 기울기 크기는 가우시안 윈도우에 의해 가중치가 적용된다.

 

OTJBCD_2019_v20n6_1_f0007.png 이미지

(그림 7) KD-트리 함수를 이용한 SIFT 키 포인트 매칭

(Figure 7) Key point matching of SIFT by using KD-tree function  

 

그림 7과 같이 SIFT 알고리즘은 바이오 이미지에서 SIFT 특징을 계산하기 위한 유용한 기능을 제공한다. 그것은 가장 가까운 이웃 탐색과 키 포인트를 효율적으로 일치시키기 위해 수행한다.

 

3.6 기존 시스템과의 비교 분석

  SIFT 알고리즘을 활용한 이미지 매칭 시스템의 연구개발 사례와 본 논문을 비교 분석하였다. 기존 시스템 A 의 사례는[18] SIFT 알고리즘을 이용한 아토피 영상 분석으로 이미지의 특징점을 추출하여 이미지 정합을 하였다.

기존에 연구된 시스템과 본 논문에서 개발한 시스템의 공통점은 SIFT 알고리즘을 사용하여 특징점을 찾아 이미지 매칭을 사용한 것이다. 본 논문과의 차이점은 (표 1)에 보여준다. 차이점으로는 기존 시스템의 경우 이미지의 불필요한 부분을 분할하는 기능을 지원하지 않아 불필요한 부분까지 특징점을 찾아 매칭하는 단점이 있다. 또한 시스템 A는 자립형 구조로 모바일 단말기를 사용하는 사용자에게 이미지의 결과 및 정보를 송신할 수 없다. 기존 시스템 B의[19] 사례는 모바일 진단의료영상 서비스를 위한 시스템으로 병원에 저장된 환자의 의료영상을 전송받아 스마트 단말기에 맞는 표준 포맷으로 전처리한 후 이를 전송하는 시스템이다. 차이점으로는 기존 시스템은 단순히 영상자료를 표준화하여 사용자에게 송신하여 정보를 제공하지만 본 논문에서 개발된 시스템을 이미지 매칭을 통해 이미지의 결과를 사용자에게 제공한다. 또한 이미지 분할 기법과 쓰레드를 지원하여 이미지 매칭에속도 개선을 하였다.

 

(표 1) 기존 시스템과 개발된 시스템의 비교

(Table 1) Comparison of existing and proposed system

OTJBCD_2019_v20n6_1_t0001.png 이미지

 

4. 응용 프로그램

4.1 바이오 이미지 응용 프로그램

  본 응용 프로그램은 MRI 흉부 이미지에 대해 이미지 매칭을 설계 및 구현하였다. 생물 의학 이미지는 National Biomedical Imaging Archive (NBIA) 에서 제공한다. 본 응용 프로그램은 NBIA 데이터베이스에 저장된 100개의 생물 의학적 MRI 이미지를 다운로드하여 사용하였다. 샘플이미지는 https://imaging.nci.nih.gov/ncia/login.jsf 에 접속하여 다운로드 할 수 있다.

 

OTJBCD_2019_v20n6_1_f0008.png 이미지

(그림 8) SIFT 알고리즘을 이용한 키 포인트 매칭

(Figure 8) Key point matching by using SIFT algorithm 

그림 8에서 SIFT 알고리즘의 키 포인트는 바이오 이미지에 대한 크기-공간의 특징점을 기반으로 선택한다. 해당 이미지는 MRI 영상 장치에서 추출하였으며 키 포인트는 모양, 크기 및 위치에 따라 이미지 기능을 비교하여 탐지할 수 있다. 이미지의 크기는 500 x 500 픽셀이다. 예를 들어 그림의 첫번째 사진의 경우, 이미지의 1091 개의 후보 특징 중에 1079개의 키 포인트를 탐지했다.

  그림 9는 응용 프로그램의 GUI 인터페이스와 KD-tree와 RANSAC 알고리즘을 이용하여 매칭된 이미지 결과에 대한 상세 정보, 이미지 타입, 이미지 정보를 보여준다. 이때, 클라이언트에서 서버로 이미지를 전송할 때, 이미지 매칭을 위해 IplImage를 UIImage로 변환하고 서버에서 클라이언트로 이미지 결과를 전송할 때에는 UIImage를IplImage 이미지로 변환한다.

 

OTJBCD_2019_v20n6_1_f0009.png 이미지

(그림 9) 매칭 후 이미지 결과의 상세정보 출력 화면

(Figure 9) Displayed detail information for bioimage after matching

 

  그림 10은 서버의 백엔드 모듈에서 매칭 속도를 높이기 위해 다중 쓰레드와 다중 사용자를 위한 다중 소켓 통신을 이용하여 키 포인트를 찾는 샘플 화면이다. 샘플 화면에는 192.168.1.112와 192.168.1.111의 두개의 다중 소켓과 통신하여 다중 쓰레드를 수행한다. 이 모듈은 5개의 다중 쓰레드를 사용하였으며 각 쓰레드는 20개의 의료영상이미지를 매칭하여 키 포인트를 찾는 과정을 보여준다.

 

OTJBCD_2019_v20n6_1_f0010.png 이미지

(그림 10) 다중 소켓과 쓰레드를 이용한 매칭 수행 화면

(Figure 10) Performed Image matching by using multiple sockets and threads  

그림 11은 바이오 이미지의 검색 결과에 대한 정확도 수치를 보여준다. 100개의 바이오 이미지 샘플 중에 10개의 키 포인트가 일치하는 이미지를 탐지했다. 이 응용 프로그램은 여러 개의 바이오 이미지에 대한 SIFT 알고리즘을 수행한다. 결과적으로 SIFT 알고리즘을 사용하여 10개의 일치하는 이미지를 검색했다. 예를 들어 135개의 후보 키 포인트 중에 124개의 일치하는 키 포인트를 발견하면 정확도는 91.8%가 된다.

 

OTJBCD_2019_v20n6_1_f0011.png 이미지

(그림 11) 바이오 이미지 샘플에 대한 정확도 결과 화면

(Figure 11) Result in accuracy for bioimage samples

 

5. 결론 및 향후 연구 과제

  본 논문은 오픈소스인 SIFT 알고리즘을 사용하여 여러 개의 바이오 이미지 중에 특정 키 포인트를 지정하여 일치되는 이미지를 탐지하고 그 결과를 다중의 사용자보여주는 시스템을 설계 및 구현하였다. 제안된 시스템은 사용자가 언제 어디서나 네트워크로 접속할 수 있으며 모바일 단말기를 사용하여 원하는 이미지를 분할하여 해당 이미지를 서버에 전송하여 전송된 이미지를 SIFT 알고리즘을 이용하여 매칭된 이미지와 정보를 클라이언트로 전송한다. 본 시스템은 바이오 이미지만을 사용하였지만 사용자에 따라 원하는 이미지 매칭을 할 수 있어 쉽게적용할 수 있다. 이미지 매칭 알고리즘은 컴퓨터 비전 분야에서 관심이 높아지고 있으며 이에 대한 연구도 전 세계적으로 활발히 진행 중에 있다.

  본 시스템은 이미지에 대한 조작과 방법에 한계가 있으며 향후, 이미지 확대 및 축소, 방향 전환, 이미지 이동과 같은 추가 기능들을 확장할 계획이다. 이 기능들은 사용자에게 좀더 정확한 정보를 제공하여 이미지를 제어할 수 있으며 쉽게 이미지를 인지할 수 있을 것이다. 제안된 시스템은 정지된 이미지를 사용했지만 향후 비디오 스트리밍 이미지를 캡쳐하여 이미지 매칭을 수행하여 좀더다양한 입력 방법을 모색할 것이다.

References

  1. Kratika Sharma, Ajay Goyal, "Classification based survey of image registration methods," Fourth International Conference (ICCCNT), Jul. 2013. https://ieeexplore.ieee.org/document/6726741/
  2. Zhang B, Arola DD, Roys S, Gullapalli RP, "Three-dimensional elastic image registration based on strain energy minimization: application to prostate magnetic resonance imaging," Society for Imaging Informatics in Medicine, Vol. 24, Issue 4, pp. 573-585, Aug. 2011. https://link.springer.com/article/10.1007%2Fs10278-010-9306-5
  3. M. Zuliani, C. Kenney, B.S. Manjunath, "A Mathematical Comparison of Point Detectors," 2004 Conference on Computer Vision and Pattern Recognition Workshop, pp. 172-172, Jun. 2004. https://ieeexplore.ieee.org/document/1384971/
  4. M. Nowicki, P. Skrzypczynski, "Robust Registration of Kinect Range Data for Sensor Motion Estimation," Conference on Computer Recognition Systems CORES, pp. 835-844, 2013.
  5. Siddharth Saxena, Rajeev Kumar Singh, "A Survey of Recent and Classical Image Registration Methods," IJSIP, Vol. 7 No. 4, pp. 167-176, Aug. 2014. http://www.sersc.org/journals/IJSIP/vol7_no4/16.pdf https://doi.org/10.14257/ijsip.2014.7.4.16
  6. Chaohong Wu, Sergey Tulyakov, Venu Govindaraju, "Robust point-based feature fingerprint segmentation algorithm," International Conference on Biometrics, pp. 1095-1103, Jun. 2007. https://link.springer.com/chapter/10.1007/978-3-540-74549-5_114
  7. Bradley J. Molyneaux, Paola Arlotta, Joao R. L. Menezes, Jeffrey D. Macklis, "Neuronal subtype specification in the cerebral cortex," Nature Reviews Neuroscience, Vol. 8, Issue 6, pp. 427-437, Jul. 2007. https://www.researchgate.net/publication/6318726_Neuronal_subtype_specification_in_the_cerebral_cortex https://doi.org/10.1038/nrn2151
  8. David G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of Computer Vision, Vol. 60, Issue 2, pp. 91-110, Nov. 2004. https://www.cs.ubc.ca/-lowe/papers/ijcv04.pdf https://doi.org/10.1023/B:VISI.0000029664.99615.94
  9. OpenCV, http://opencv.org.
  10. An Open-Source SIFT Library, https://robwhess.github.io/opensift/
  11. Apple iPad, http://www.apple.com/ipad.
  12. Yung-Yu Chuang, Brian Curless, D.H. Salesin, R. Szeliski, "A Bayesian approach to digital matting," IEEE Conference Computer Vision and Pattern Recognition, pp. 264-271, Feb. 2001.
  13. Y.Y. Boykov, M.P. Jolly, "Interactive graph cuts for optimal boundary and region segmentation of objects in N-D images," IEEE International Conference on Computer Vision, Jul. 2001. https://ieeexplore.ieee.org/document/937505/
  14. Computer Vision, http://www.computervisiononline.com.
  15. Bastian Leibe, Ales Leonardis, Bernt Schiele, "Robust object detection with interleaved categorization and segmentation," International Journal of Computer Vision, Vol. 77, Issue 1-3, pp. 259-289, May. 2008. https://link.springer.com/article/10.1007/s11263-007-009 5-3
  16. A. Opelt, A. Pinz, M. Fussenegger, P. Auer "Generic object recognition with boosting," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 28, Issue 3, pp. 416-431, Mar. 2006. https://ieeexplore.ieee.org/document/1580486/ https://doi.org/10.1109/TPAMI.2006.54
  17. J. Goetz, S. Kiesler, A. Powers, "Matching Robot Appearance and Behavior to Tasks to Improve Human-Robot Cooperation," The 12th IEEE International Workshop on Robot and Human Interactive Communication, pp. 55-60, Nov. 2003. https://ieeexplore.ieee.org/document/1251796/
  18. Dong-Mok Kim, Jae-Phil Ko, "Atopy Image Analysis Using SIFT Algorithm," Journal of Korea Intellectual Patent Society, Vol.11, No. 4, pp. 55-60, Dec. 2009. http://www.earticle.net/article.aspx?sn=115567
  19. Young-bok Cho, Sung-Hee Woo, Sang-Ho Lee, Chang-Su Han, "Genetic lesion matching algorithm using medical image," Journal of the Korea Institute of Information and Communication Sciences, Vol. 21, No. 5, pp. 960-966, May. 2017. http://www.riss.kr/link?id=A103560825
  20. Young-Soo Kim, Jun-Hyun Jeon, "System Implementation for Mobile-Based Diagnostic Medical Image Service," Journal of the Korea Institute of Information and Communication Sciences, Vol. 38B, Issue 11, pp. 870-878, 2013. http://www.riss.kr/linksjmoon103@hotmail.com