KR102148600B1 - Alignment method and apparatus for stack of image based on dynamic programming - Google Patents

Alignment method and apparatus for stack of image based on dynamic programming Download PDF

Info

Publication number
KR102148600B1
KR102148600B1 KR1020190011750A KR20190011750A KR102148600B1 KR 102148600 B1 KR102148600 B1 KR 102148600B1 KR 1020190011750 A KR1020190011750 A KR 1020190011750A KR 20190011750 A KR20190011750 A KR 20190011750A KR 102148600 B1 KR102148600 B1 KR 102148600B1
Authority
KR
South Korea
Prior art keywords
image
stack
similarity
pair
image stack
Prior art date
Application number
KR1020190011750A
Other languages
Korean (ko)
Other versions
KR20200094355A (en
Inventor
윤성로
김은지
Original Assignee
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울대학교산학협력단 filed Critical 서울대학교산학협력단
Priority to KR1020190011750A priority Critical patent/KR102148600B1/en
Publication of KR20200094355A publication Critical patent/KR20200094355A/en
Application granted granted Critical
Publication of KR102148600B1 publication Critical patent/KR102148600B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • G06T7/337Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0033Features or image-related aspects of imaging apparatus classified in A61B5/00, e.g. for MRI, optical tomography or impedance tomography apparatus; arrangements of imaging apparatus in a room
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0012Biomedical image inspection
    • G06T7/0014Biomedical image inspection using an image reference approach

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Radiology & Medical Imaging (AREA)
  • Quality & Reliability (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Image Analysis (AREA)

Abstract

동적계획법을 이용한 이미지 스택 매칭 방법은 영상처리장치가 각각 특정 순서를 갖는 이미지를 포함하는 제1 이미지 스택 및 제2 이미지 스택을 입력받는 단계, 상기 영상처리장치가 상기 제1 이미지 스택의 이미지들과 상기 제2 이미지 스택의 이미지들이 이루는 모든 이미지 쌍 사이의 유사도를 연산하는 단계, 상기 영상처리장치가 상기 제1 이미지 스택에서 이미지를 상기 순서에 따라 선택하면서, 선택한 어느 하나의 이미지와 상기 제2 이미지 스택의 이미지들 각각이 이루는 쌍에 대한 유사도 척도의 최댓값을 결정하는 단계 및 상기 영상처리장치가 상기 제1 이미지 스택의 마지막 이미지와 상기 제2 이미지 스택의 이미지가 이루는 이미지 쌍 및 상기 제2 이미지 스택의 마지막 이미지와 상기 제1 이미지 스택의 이미지가 이루는 이미지 쌍 중에서 유사도 척도가 가장 큰 이미지 쌍을 시작으로 역순으로 상기 제1 이미지 스택과 상기 제2 이미지 스택을 매칭하는 단계를 포함한다.In the image stack matching method using the dynamic programming method, the image processing apparatus receives a first image stack and a second image stack each including images having a specific order, and the image processing apparatus receives images of the first image stack and Calculating a similarity between all image pairs formed by the images of the second image stack, the image processing apparatus selecting one image and the second image while selecting images from the first image stack in the order Determining a maximum value of a similarity measure for each pair of images in the stack, and the image processing apparatus comprising an image pair of the last image of the first image stack and the image of the second image stack, and the second image stack And matching the first image stack and the second image stack in reverse order starting from the image pair having the largest similarity measure among the image pairs formed by the last image of and the image of the first image stack.

Description

동적계획법을 이용한 이미지 스택 매칭 방법 및 이미지 스택 매칭 장치{ALIGNMENT METHOD AND APPARATUS FOR STACK OF IMAGE BASED ON DYNAMIC PROGRAMMING}Image stack matching method and image stack matching device using dynamic programming {ALIGNMENT METHOD AND APPARATUS FOR STACK OF IMAGE BASED ON DYNAMIC PROGRAMMING}

이하 설명하는 기술은 이미지 스택에 대한 매칭 기법에 관한 것이다.The technique described below relates to a matching technique for an image stack.

MRI, CT 등과 같은 의료 영상은 일종의 이미지 스택으로 구성된다. 즉, MRI, CT 등과 같은 의료 영상은 복수의 프레임으로 구성된다. 환자 진료 과정에서 일반적으로 촬영 시점을 변경하거나, 일정한 시간 간격을 두고 의료 영상을 촬영한다. 따라서 동일 환자에 대한 복수의 의료 영상(복수의 이미지 스택)은 촬영 시작 위치가 서로 다르거나, 촬영 시점에서 차이를 갖는다.Medical images such as MRI and CT are composed of a kind of image stack. That is, medical images such as MRI and CT are composed of a plurality of frames. In the process of patient treatment, in general, the time point of photographing is changed or medical images are photographed at regular intervals. Therefore, a plurality of medical images (multiple image stacks) of the same patient have different starting positions or different at the time of capturing.

한국등록특허 제10-1825719호Korean Patent Registration No. 10-1825719

복수의 의료 영상은 특정한 시점이나 위치를 기준으로 자동으로 정렬된 상태가 아니다. 따라서 의료진은 복수의 의료 영상에서 같은 부위의 촬영 결과를 확인하기 위하여 의료 영상을 구성하는 프레임을 일일이 비교하면서 확인해야 한다.The plurality of medical images are not automatically aligned based on a specific time point or location. Therefore, the medical staff should check the frames constituting the medical images individually to check the photographing results of the same area in the plurality of medical images.

이하 설명하는 기술은 의료 영상과 같이 복수의 이미지 스택으로 구성되는 복수의 영상을 매칭하는 기법을 제공하고자 한다.The technology described below is intended to provide a technique for matching a plurality of images composed of a plurality of image stacks, such as a medical image.

동적계획법을 이용한 이미지 스택 매칭 방법은 영상처리장치가 각각 특정 순서를 갖는 이미지를 포함하는 제1 이미지 스택 및 제2 이미지 스택을 입력받는 단계, 상기 영상처리장치가 상기 제1 이미지 스택의 이미지들과 상기 제2 이미지 스택의 이미지들이 이루는 모든 이미지 쌍 사이의 유사도를 연산하는 단계, 상기 영상처리장치가 상기 제1 이미지 스택에서 이미지를 상기 순서에 따라 선택하면서, 선택한 어느 하나의 이미지와 상기 제2 이미지 스택의 이미지들 각각이 이루는 쌍에 대한 유사도 척도의 최댓값을 결정하는 단계 및 상기 영상처리장치가 상기 제1 이미지 스택의 마지막 이미지와 상기 제2 이미지 스택의 이미지가 이루는 이미지 쌍 및 상기 제2 이미지 스택의 마지막 이미지와 상기 제1 이미지 스택의 이미지가 이루는 이미지 쌍 중에서 유사도 척도가 가장 큰 이미지 쌍을 시작으로 역순으로 상기 제1 이미지 스택과 상기 제2 이미지 스택을 매칭하는 단계를 포함한다.In the image stack matching method using the dynamic programming method, the image processing apparatus receives a first image stack and a second image stack each including images having a specific order, and the image processing apparatus receives images of the first image stack and Calculating a similarity between all image pairs formed by the images of the second image stack, the image processing apparatus selecting one image and the second image while selecting images from the first image stack in the order Determining a maximum value of a similarity measure for each pair of images in the stack, and the image processing apparatus comprising an image pair of the last image of the first image stack and the image of the second image stack, and the second image stack And matching the first image stack and the second image stack in reverse order starting from the image pair having the largest similarity measure among the image pairs formed by the last image of and the image of the first image stack.

동적계획법을 이용한 이미지 스택 매칭 장치는 각각 일련의 순서를 갖는 이미지를 포함하는 제1 이미지 스택 및 제2 이미지 스택을 입력받는 입력장치, 두 개의 이미지 사이의 유사도를 연산하고, 동적계획법에 기반하여 상기 제1 이미지 스택을 구성하는 어느 하나의 이미지와 상기 제2 이미지 스택을 구성하는 어느 하나의 이미지 쌍 사이의 유사도 척도의 최댓값을 연산하는 프로그램을 저장하는 저장장치 및 상기 프로그램을 이용하여 상기 제1 이미지 스택의 이미지들과 상기 제2 이미지 스택의 이미지들이 이루는 모든 쌍의 이미지 사이의 유사도를 연산하고, 상기 제1 이미지 스택에서 이미지를 상기 순서에 따라 선택하면서, 선택한 어느 하나의 이미지와 상기 제2 이미지 스택의 이미지들 각각이 이루는 쌍에 대한 유사도 척도의 최댓값을 결정하고, 상기 제1 이미지 스택의 마지막 이미지와 상기 제2 이미지 스택의 마지막 이미지가 이루는 가능한 모든 이미지 쌍 중 유사도 척도가 가장 큰 이미지 쌍을 시작으로 상기 제1 이미지 스택과 상기 제2 이미지 스택을 매칭하는 연산장치를 포함한다.The image stack matching device using the dynamic programming method is an input device that receives a first image stack and a second image stack each including images having a series of order, calculates the similarity between two images, and calculates the similarity between the two images, based on the dynamic programming method. A storage device storing a program for calculating a maximum value of a similarity measure between any one image constituting the first image stack and any one image pair constituting the second image stack, and the first image using the program Calculating the similarity between the images of the stack and all pairs of images formed by the images of the second image stack, selecting an image from the first image stack in the order, and selecting any one image and the second image Determine the maximum value of the similarity measure for each pair of images in the stack, and select an image pair with the largest similarity measure among all possible image pairs formed by the last image of the first image stack and the last image of the second image stack. It includes a computing device that matches the first image stack and the second image stack.

이하 설명하는 기술은 복수의 의료 영상이 일정한 순서로 서로 대응되는 부위에 대한 영상으로 구성되도록 자동으로 정렬 내지 매칭한다. 이하 설명하는 기술은 매칭된 의료 영상을 제공하여 의료진이 편리하면서 정확하게 의료 영상을 분석하게 한다.In the technique described below, a plurality of medical images are automatically aligned or matched so that a plurality of medical images are composed of images of corresponding regions in a certain order. The technology described below provides a matched medical image so that medical personnel can conveniently and accurately analyze the medical image.

도 1은 의료 영상을 처리하는 시스템에 대한 예이다.
도 2는 복수의 이미지 스택 및 이미지 스택을 매칭하는 예이다.
도 3은 두 개의 이미지 스택을 매칭한 예이다.
도 4는 동적계획법을 이용하여 이미지 스택을 매칭하는 과정의 순서도의 예이다.
도 5는 이미지 스택의 이미지 쌍을 매칭하는 과정에 대한 예이다.
도 6은 유사도 척도를 기준으로 이미지 쌍을 매칭하는 과정에 대한 예이다.
도 7은 이미지 스택의 이미지 쌍을 매칭하는 과정에 대한 수도 코드의 예이다.
도 8은 영상처리장치의 구성에 대한 예이다.
1 is an example of a system for processing a medical image.
2 is an example of matching a plurality of image stacks and image stacks.
3 is an example of matching two image stacks.
4 is an example of a flowchart of a process of matching image stacks using a dynamic programming method.
5 is an example of a process of matching image pairs in an image stack.
6 is an example of a process of matching image pairs based on a similarity measure.
7 is an example of a pseudo code for a process of matching image pairs in an image stack.
8 is an example of a configuration of an image processing apparatus.

이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The technology to be described below may be modified in various ways and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the technology to be described below with respect to a specific embodiment, and it should be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the technology described below.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as 1st, 2nd, A, B, etc. may be used to describe various components, but the components are not limited by the above terms, only for the purpose of distinguishing one component from other components. Is only used. For example, without departing from the scope of the rights of the technology described below, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.In terms of the terms used in the present specification, expressions in the singular should be understood as including plural expressions unless clearly interpreted differently in context, and terms such as "includes" are specified features, numbers, steps, actions, and components. It is to be understood that the presence or addition of one or more other features or numbers, step-acting components, parts or combinations thereof is not meant to imply the presence of, parts, or combinations thereof.

도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Prior to the detailed description of the drawings, it is intended to clarify that the division of the constituent parts in the present specification is merely divided by the main function that each constituent part is responsible for. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more according to more subdivided functions. In addition, each of the constituent units to be described below may additionally perform some or all of the functions of other constituent units in addition to its own main function, and some of the main functions of each constituent unit are different. It goes without saying that it may be performed exclusively by.

또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In addition, in performing the method or operation method, each of the processes constituting the method may occur differently from the specified order unless a specific order is clearly stated in the context. That is, each process may occur in the same order as the specified order, may be performed substantially simultaneously, or may be performed in the reverse order.

이하 설명에서 사용하는 용어에 대하여 먼저 정의한다.Terms used in the following description are first defined.

이미지 내지 영상은 일정한 정보 내지 객체를 포함하는 디지털 영상을 의미한다. An image or an image refers to a digital image including certain information or objects.

이미지 스택은 복수의 이미지가 이루는 집합이다. 이미지 스택은 일정한 순서를 갖고 배열된 복수의 이미지로 구성된다. 예컨대, CT, MRI 등과 같은 의료 영상은 일정한 2차원 평면 영상을 연속적으로 캡쳐하면서 생성된다. 따라서 이와 같은 의료 영상은 이미지 스택을 구성한다.An image stack is a set of multiple images. The image stack consists of a plurality of images arranged in a certain order. For example, medical images such as CT and MRI are generated while continuously capturing a certain 2D plane image. Therefore, such medical images constitute an image stack.

영상처리장치는 이미지를 일정하게 처리하는 장치이다. 영상처리장치는 일정한 데이터 처리 및 연산이 가능한 장치에 해당한다. 예컨대, 영상 처리 장치는 PC, 스마트기기, 서버 등과 같은 장치로 구현될 수 있다. The image processing device is a device that constantly processes images. The image processing device corresponds to a device capable of processing and calculating certain data. For example, the image processing device may be implemented as a device such as a PC, a smart device, or a server.

영상처리장치는 기본적으로 2개의 이미지에 대한 유사도를 결정할 수 있다.유사도는 2개의 서로 다른 이미지가 유사한 정도를 의미한다. 유사도는 다양한 기준 내지 다양한 방식으로 결정될 수 있다. 이하 설명에서 영상처리장치가 이미지의 유사도를 결정하는 방식을 제한하지 않는다. 예컨대, 영상처리장치는 프레임의 모든 픽셀을 위치별로 비교하여 유사도를 판단할 수 있다. 또는 영상처리장치는 프레임의 픽셀값 분포를 기준으로 유사도를 판단할 수도 있다. 또는 영상처리장치는 프레임에서 특징정보를 추출하고, 추출한 특징정보가 매칭되는 정도로 유사도를 판단할 수도 있다.The image processing apparatus can basically determine the degree of similarity for two images. The degree of similarity means the degree to which two different images are similar. The degree of similarity can be determined by various criteria or in various ways. In the following description, the method of determining the similarity of the image by the image processing apparatus is not limited. For example, the image processing apparatus may determine the degree of similarity by comparing all pixels of a frame by location. Alternatively, the image processing apparatus may determine a similarity based on the distribution of pixel values of the frame. Alternatively, the image processing apparatus may extract feature information from the frame and determine the degree of similarity to the extent that the extracted feature information matches.

이미지 매칭 내지 이미지 스택 매칭은 복수의 이미지 스택(기본적으로 2개의 이미지 스택)을 대상으로 각 이미지 스택을 구성하는 개별 이미지 사이에 대응되는 쌍을 결정하는 과정을 의미한다. 이를 이미지 정렬(alignment) 내지 이미지 스택 정렬이라고 표현할 수도 있다.Image matching or image stack matching refers to a process of determining a corresponding pair between individual images constituting each image stack targeting a plurality of image stacks (basically two image stacks). This may be referred to as image alignment or image stack alignment.

이하 설명하는 기술은 복수의 이미지 스택을 대상으로 이미지 매칭하는 기술이다. 이하 영상처리장치가 복수의 이미지 스택을 매칭 한다고 설명한다. 이하 설명하는 기술은 이미지의 종류에 관계없이 복수의 이미지 스택을 매칭하는 기술이다. 다만 설명의 편의를 위하여 의료 영상을 중심으로 설명하고자 한다. 또한 이하 설명하는 기술은 복수의 이미지 스택을 대상을 이미지를 매칭할 수 있다. 다만 이하 설명의 편의를 위하여 2개의 이미지 스택을 중심으로 설명한다.The technique described below is a technique of image matching for a plurality of image stacks. Hereinafter, it will be described that the image processing apparatus matches a plurality of image stacks. The technique described below is a technique for matching a plurality of image stacks regardless of the type of image. However, for convenience of explanation, the description will focus on medical images. In addition, the technique described below may match an image with a plurality of image stacks. However, for the convenience of explanation, the following description will be made focusing on two image stacks.

도 1은 의료 영상을 처리하는 시스템(100)에 대한 예이다. 시스템(100)은 의료 영상 장치(110), 영상처리장치(150), 영상 DB(160) 및 사용자 단말(180)을 포함한다. 도 1의 시스템(100)은 사용자에게 정렬된 영상을 제공하는 서비스 시스템에 해당한다.1 is an example of a system 100 for processing a medical image. The system 100 includes a medical imaging device 110, an image processing device 150, an image DB 160, and a user terminal 180. The system 100 of FIG. 1 corresponds to a service system that provides aligned images to users.

의료 영상 장치(110)는 이미지 스택 형태의 의료 영상을 생성하는 장치이다. 의료진은 의료 영상 장치(110)를 이용하여 동일한 대상자에 대한 복수의 의료 영상을 생성한다고 전제한다. 즉, 의료 영상 장치(110)는 적어도 2개의 의료 영상(이미지 스택)을 생성한다.The medical imaging device 110 is a device that generates a medical image in the form of an image stack. It is assumed that the medical staff generates a plurality of medical images for the same subject using the medical imaging apparatus 110. That is, the medical imaging apparatus 110 generates at least two medical images (image stacks).

영상처리장치(150)는 의료 영상 장치(110)가 생성한 2개의 이미지 스택을 입력받아 처리한다. 영상처리장치(150)는 2개의 이미지 스택의 이미지를 매칭한다. 한편 의료 영상 경우 환자 신체 중 일정한 지점을 시작으로 스캔하는 방식으로 생성된다. 따라서 의료 영상은 신체 부위의 일방향으로 연속된 이미지가 스택된다. 즉, 의료 영상은 신체 부위 방향을 일정한 방향성(순서)을 갖는 이미지로 구성된다. 따라서 이하 이미지 스택은 적어도 일정한 기준으로 특정 순서를 갖는 이미지로 구성된다고 전제한다. 도 1은 PC 및 서버와 같은 형태의 영상처리장치를 예로 도시하였다. The image processing apparatus 150 receives and processes two image stacks generated by the medical imaging apparatus 110. The image processing apparatus 150 matches images of two image stacks. Meanwhile, in the case of a medical image, it is generated by scanning a certain point on the patient's body. Therefore, in the medical image, consecutive images of body parts are stacked in one direction. That is, the medical image is composed of images having a certain direction (order) in the direction of the body part. Therefore, it is assumed that the image stack is composed of images having a specific order at least on a certain basis. 1 illustrates an image processing apparatus in the form of a PC and a server as an example.

영상 DB(160)는 영상처리장치(150)가 매칭한 2개의 이미지 스택을 저장하거나, 2개의 이미지 스택을 매칭한 정보를 저장한다. 2개의 이미지 스택은 각각 서로 다른 식별자를 갖고, 각 이미지 스택에 포함된 개별 이미지도 별도의 식별자를 갖는다고 전제한다. 영상 DB(160)는 이미지의 식별자를 매칭한 정보를 저장할 수 있다.The image DB 160 stores two image stacks matched by the image processing apparatus 150 or stores information obtained by matching two image stacks. It is assumed that each of the two image stacks has a different identifier, and that individual images included in each image stack also have a separate identifier. The image DB 160 may store information matching the identifier of the image.

사용자 단말(180)은 매칭된 이미지 스택에 대한 정보를 제공한다. 사용자 단말(180)은 매칭된 이미지를 출력할 수 있다. 의료진은 사용자 단말(180)을 통하여 서로 매칭된 영상을 비교하여 진료 내지 진단을 할 수 있다.The user terminal 180 provides information on the matched image stack. The user terminal 180 may output the matched image. The medical staff may perform treatment or diagnosis by comparing images matched with each other through the user terminal 180.

도 2는 복수의 이미지 스택 및 이미지 스택을 매칭하는 예이다. 도 2는 의료 영상과 같은 이미지 스택을 예로 도시한다. 도 2(A)는 하나의 이미지 스택 A를 도시한다. 도 2(A)는 8개(A1 내지 A8)의 이미지로 구성된 이미지 스택 A를 예로 도시한다. 도 2(B)는 하나의 이미지 스택 B를 도시한다. 도 2(B)는 8개(B1 내지 B8)의 이미지로 구성된 이미지 스택 B를 예로 도시한다. 이미지 스택 A와 이미지 스택 B는 동일한 대상자에 대한 의료 영상이라고 가정한다. 도 2는 복부의 단면 영상에 해당한다. 의료진은 서로 다른 시간에 촬영된 이미지 스택 A와 이미지 스택 B를 일일이 비교하면서 시간 경과 후 달라진 점이 있는지 판단해야 한다. 이때 의료진은 이미지 스택 A의 어느 하나의 이미지가 이미지 스택 B의 어느 하나의 이미지에 대응하는지 주관적으로 판단하게 된다.2 is an example of matching a plurality of image stacks and image stacks. 2 shows an image stack such as a medical image as an example. Figure 2(A) shows one image stack A. 2(A) shows an image stack A composed of eight (A1 to A8) images as an example. 2(B) shows one image stack B. FIG. 2(B) shows an image stack B composed of eight (B1 to B8) images as an example. It is assumed that image stack A and image stack B are medical images of the same subject. 2 is a cross-sectional image of the abdomen. The medical staff must compare image stack A and image stack B taken at different times to determine if there are any differences after the passage of time. At this time, the medical staff subjectively determines which image of image stack A corresponds to which image of image stack B.

도 2(C)는 이미지 스택 A와 이미지 스택 B에 대한 매칭을 수행한 결과이다. 이와 같이 매칭된 결과가 의료진에게 제공된다면 의료진은 보다 쉽게 의료 영상을 분석할 수 있다. 한편 어느 하나의 이미지 스택을 이루는 각 이미지가 모드 다른 이미지 스택을 이루는 이미지에 매칭되지 않을 수도 있다. 2(C) is a result of matching the image stack A and the image stack B. If the matched result is provided to the medical staff, the medical staff can more easily analyze the medical image. Meanwhile, each image constituting one image stack may not be matched to an image constituting another image stack.

도 3은 두 개의 이미지 스택을 매칭한 예이다. 도 3은 두 개의 이미지 스택을 매칭한 결과에 해당한다. 도 3에서 A와 B는 서로 다른 이미지 스택을 의미한다. 도 3에서 같은 세로 열에 배치한 이미지는 서로 매칭된 상태를 의미한다. 도 3(A)는 A1 ~ An이 각각 B1 ~ Bn에 매칭되는 예이다. B는 A보다 많은 이미지를 포함한다. 도 3(B)는 각 이미지 간격이 동일하지 않은 경우이다. 이 경우 도 3(B)와 같이 중간에 매칭되지 않는 이미지도 발생할 수 있다. 예컨대, A2는 이미지 스택 B에서 매칭되는 이미지가 없다.3 is an example of matching two image stacks. 3 corresponds to the result of matching two image stacks. In FIG. 3, A and B denote different image stacks. In FIG. 3, images arranged in the same vertical column mean matching with each other. 3(A) is an example in which A1 to An are matched to B1 to Bn, respectively. B contains more images than A. 3(B) shows a case where the intervals between images are not the same. In this case, an image that is not matched in the middle as shown in FIG. 3(B) may also occur. For example, A2 has no matching image in image stack B.

이하 설명하는 이미지 매칭 기법은 이미지 스택 A와 이미지 스택 B에서 두 개의 이미지 스택을 어떻게 매칭하는 것이 이미지의 유사도 평균을 높이는지 찾기 위한 것이다. 이하 설명하는 이미지 매칭 기법은 정렬 가능한 모든 경우의 수에 대하여 유사도를 판단하지 않고, 동적계획법에 기반하여 보다 복잡도 낮게 이미지 매칭을 수행한다.The image matching technique described below is for finding how to match two image stacks in the image stack A and the image stack B to increase the average similarity of the image. The image matching technique described below does not determine the degree of similarity with respect to the number of all sortable cases, and performs image matching with lower complexity based on the dynamic programming method.

도 4는 동적계획법을 이용하여 이미지 스택을 매칭하는 과정(200)의 순서도의 예이다. 이미지 스택은 일정한 순서를 갖는 이미지로 구성된다고 전제한다. 이미지 스택 A = {A1, A2,...,An}으로 구성되고, 이미지 스택 B = {B1, B2,...,Bm}으로 구성된다고 전제한다.4 is an example of a flowchart of a process 200 of matching image stacks using dynamic programming. It is assumed that the image stack is composed of images in a certain order. It is assumed that image stack A = {A1, A2,...,An} is composed and image stack B = {B1, B2,...,Bm} is composed.

영상처리장치는 먼저 이미지 스택 A의 각 이미지들 Ai(1≤i≤n)와 이미지 스택 B의 각 이미지들 Bj(1≤j≤m)에 대한 유사도를 연산한다(210). 영상처리장치가 반드시 모든 이미지 쌍에 대한 개별 유사도를 먼저 연산해야 하는 것은 아니고, 순차적으로 필요한 이미지 쌍들에 대한 유사도를 연산할 수도 있다. 영상처리장치는 연산한 유사도를 저장매체에 저장할 수 있다. The image processing apparatus first calculates a similarity between images Ai (1≤i≤n) of the image stack A and each images Bj (1≤j≤m) of the image stack B (210). The image processing apparatus does not necessarily have to first calculate individual similarities for all image pairs, but may sequentially calculate similarities for necessary image pairs. The image processing apparatus may store the calculated similarity in a storage medium.

영상처리장치는 연산된(보유한) 유사도를 이용하여 순차적으로 Ai와 Bj의 모든 쌍에 대한 유사도 평균의 최댓값을 결정한다(220). 이 과정에서 이미 연산한 특정 이미지 쌍에 유사도 및 유사도 평균의 최댓값을 이용하여, 이미지 쌍 Ai와 Bj에 대한 유사도 평균의 최댓값을 결정한다. 유사도 평균의 최댓값 결정 과정은 후술한다.The image processing apparatus sequentially determines the maximum value of the average of similarities for all pairs of Ai and Bj using the calculated (retained) similarity (220). In this process, the maximum value of the similarity average for the image pair Ai and Bj is determined by using the maximum value of the similarity and similarity average for a specific image pair already calculated. The process of determining the maximum value of the similarity average will be described later.

영상처리장치는 이미지 스택 A 또는 이미지 스택 B의 마지막 이미지가 구성하는 모든 이미지 쌍에서 220 단계에서 결정한 유사도 평균이 가장 큰 타깃 쌍을 결정한다(230). 여기서 모든 이미지 쌍은 An과 이미지 스택 B의 어느 하나의 Bj가 이르는 쌍 및 Bm과 이미지 스택 A의 어느 하나의 Ai가 이루는 쌍을 모두 포함한다.The image processing apparatus determines a target pair having the largest similarity average determined in step 220 from all image pairs constituting the image stack A or the last image of the image stack B (230). Here, all image pairs include both An and a pair leading to one Bj of the image stack B and a pair formed by Bm and any one Ai of the image stack A.

영상처리장치는 타깃 쌍에 대한 유사도 평균 최댓값을 결정하는 인덱스 쌍을 역으로 추적하여 이미지 스택의 이미지 간 매칭을 수행할 수 있다(240). The image processing apparatus may perform matching between images of the image stack by inversely tracking an index pair that determines the average maximum value of the similarity for the target pair (240).

유사도 평균의 최댓값을 기준으로 이미지 스택의 이미지 쌍을 매칭하는 과정을 설명한다. 도 5는 이미지 스택의 이미지 쌍을 매칭하는 과정에 대한 예이다. 도 5(A)는 이미지 쌍 매칭을 위한 이미지 스택을 도시한다. 도 5(A)는 5개의 이미지를 갖는 이미지 스택 A와 6개의 이미지를 갖는 이미지 스택 B를 예로 도시한다. 도 5(A)에서 이미지를 연결한 실선은 매칭되는 이미지를 나타낸다. A process of matching image pairs in an image stack based on the maximum value of the average of similarity will be described. 5 is an example of a process of matching image pairs in an image stack. 5(A) shows an image stack for image pair matching. 5(A) shows an image stack A having 5 images and an image stack B having 6 images as an example. In Fig. 5A, the solid lines connecting the images indicate matching images.

도 5(A)의 이미지 스택 A와 이미지 스택 B를 기준으로 이미지를 매칭하는 과정을 설명한다. 영상처리장치는 이미지 스택 A를 기준으로 순차적으로 매칭 과정을 수행할 수 있다. A process of matching images based on the image stack A and the image stack B of FIG. 5A will be described. The image processing apparatus may sequentially perform a matching process based on the image stack A.

A2가 포함된 이미지 쌍에 대한 유사도 평균 최댓값 결정 과정을 설명한다. (i) 먼저 영상처리장치는 A1과 이미지 스택 B의 각 이미지(B1, B2, ..., B5)의 유사도를 연산한다. (ii) 영상처리장치는 A2와 이미지 스택 B의 각 이미지(B1, B2, ..., B5)의 유사도를 연산한다. (iii) 영상처리장치는 A2와 이미지 스택 B의 각 이미지에 대한 유사도 평균 내지 유사도 평균의 최댓값을 연산한다. ① A2와 B1이 매칭되는 경우 A1의 매칭 대상은 없다. 이는 이미지 스택이 각각 일정한 기준으로 정렬된 영상을 전제로 하기 때문이다. 따라서 A2와 B1의 유사도 평균 내지 유사도 평균의 최댓값은 A2와 B1의 유사도와 동일하다. ② A2와 B2가 매칭되는 경우 영상 처리 장치는 "A2와 B2의 유사도" 및 "A1과 B1의 유사도"의 평균을 연산한다. ③ 동일한 과정으로 A2와 B3가 매칭되는 경우, 영상처리장치는 {("A2와 B3의 유사도" 및 "A1과 B2의 유사도"의 평균) 및 ("A2와 B3의 유사도" 및 "A1과 B1의 유사도"의 평균)} 중 최댓값을 결정한다. 결정한 값이 A2와 B3의 유사도 평균의 최댓값이다. 이후 동일한 과정으로 A2와 B4가 매칭되는 경우, A2와 B5가 매칭되는 경우 및 A2와 B6가 매칭되는 경우의 유사도 평균의 최댓값을 결정한다. 결국 이미지 쌍에 대한 유사도 평균 최댓값 결정 과정은 사전에 연산한 이미지 쌍에 대한 유사도를 기준으로 결정된다. The process of determining the maximum similarity average value for an image pair including A2 will be described. (i) First, the image processing apparatus calculates the similarity of each image (B1, B2, ..., B5) of A1 and image stack B. (ii) The image processing apparatus calculates the similarity of each image (B1, B2, ..., B5) of A2 and image stack B. (iii) The image processing apparatus calculates a similarity average or a maximum value of the similarity average for each image of A2 and image stack B. ① When A2 and B1 are matched, A1 is not matched. This is because each image stack is based on images that are aligned with a certain standard. Therefore, the similarity average or the maximum value of the similarity average between A2 and B1 is the same as the similarity between A2 and B1. ② When A2 and B2 match, the image processing apparatus calculates the average of "Similarity between A2 and B2" and "Similarity between A1 and B1". ③ When A2 and B3 are matched in the same process, the image processing device uses {(average of "Similarity between A2 and B3" and "Similarity between A1 and B2") and ("Similarity between A2 and B3" and "A1 and B1"). The maximum value is determined among the average)}. The determined value is the maximum value of the average similarity between A2 and B3. Thereafter, the maximum value of the average of similarity when A2 and B4 are matched, when A2 and B5 are matched, and when A2 and B6 are matched is determined in the same process. In the end, the process of determining the average maximum similarity for an image pair is determined based on the similarity for the image pair calculated in advance.

(iv) A3가 포함된 이미지 쌍에 대한 유사도 평균 최댓값도 유사한 과정으로 수행된다. 영상처리장치는 A3와 이미지 스택 B의 각 이미지(B1, B2, ..., B5)의 유사도를 연산한다. 개별 이미지 쌍에 대한 유사도 연산은 이와 같이 순차적으로 수행될 수도 있고, 사전에 모든 쌍에 대한 유사도 연산을 수행할 수도 있다. ① A3와 B1이 매칭되는 경우 A2 및 A1의 매칭 대상은 없다. 따라서 A3와 B1의 유사도 평균 내지 유사도 평균의 최댓값은 A3와 B1의 유사도와 동일하다. ② A3와 B2가 매칭되는 경우 A2는 B1과만 매칭이 가능하고 이때 A1의 매칭 대상은 없다. 따라서 A3와 B2의 유사도 평균의 최댓값은 "A3와 B2의 유사도" 및 "A2와 B1의 유사도"의 평균과 동일하다.(iv) The average maximum value of the similarity for the image pair including A3 is performed in a similar process. The image processing apparatus calculates the similarity of each image (B1, B2, ..., B5) of A3 and image stack B. Similarity calculations for individual image pairs may be sequentially performed as described above, or similarity calculations for all pairs may be performed in advance. ① When A3 and B1 are matched, there is no target for matching A2 and A1. Therefore, the similarity average or the maximum value of the similarity average between A3 and B1 is the same as the similarity between A3 and B1. ② When A3 and B2 are matched, A2 can only match B1, and there is no target for A1 to match. Therefore, the maximum value of the average of similarity between A3 and B2 is the same as the average of "similarity between A3 and B2" and "similarity between A2 and B1".

③ A3와 B3가 매칭되는 경우, 영상처리장치는 {("A3와 B3의 유사도" 및 "A2와 B2의 유사도" 및 "A1과 B1의 유사도"의 평균) 및 ("A3와 B3의 유사도" 및 "A2와 B1의 유사도"의 평균)} 중 최댓값을 결정해야 한다. 이 경우 영상처리장치는 모든 경우에 대한 유사도의 평균을 연산하지 않고, 이전에 연산했던 결과를 활용하여 유사도의 평균을 연산할 수 있다. 영상처리장치는 이전에 결정했던 특정 이미지 쌍에 대한 유사도 평균의 최댓값을 활용(동적 계획법)하여 현재 매칭 대상인 이미지 쌍에 대한 유사도 평균의 최댓값을 결정할 수 있다. 유사도 평균의 최댓값은 아래의 수학식 1과 같이 연산될 수 있다. 수학식 1은 이미지 Ai와 이미지 Bj 쌍에 대한 유사도 평균의 최댓값 Fi,j를 나타낸다. ③ When A3 and B3 are matched, the image processing apparatus is used as (("Similarity between A3 and B3" and "Similarity between A2 and B2" and average of "Similarity between A1 and B1") and ("Similarity between A3 and B3") And the average of the "similarity of A2 and B1")}. In this case, the image processing apparatus may not calculate the average of the similarity for all cases, and may calculate the average of the similarity by using the previously calculated result. The image processing apparatus may determine the maximum value of the average of similarity for the pair of images currently matched by using the maximum value of the average of similarity for the specific image pair previously determined (dynamic programming method). The maximum value of the similarity average can be calculated as in Equation 1 below. Equation 1 represents the maximum value F i,j of the average of similarity for the pair of image Ai and image Bj.

Fi,j는 다수의 이미지 쌍의 집합에 대한 유사도 평균 중 최댓값으로 결정될 수 있다. 이때 이미지 쌍의 집합 중 유사도 평균이 최대인 집합을 타깃 집합이라고 명명한다. 타깃 집합은 다수의 이미지 쌍으로 구성된다. 타깃 집합을 구성하는 이미지 쌍의 개수를 ni,j라고 명명한다.F i,j may be determined as a maximum value among the average of similarity for a set of a plurality of image pairs. At this time, the set with the maximum similarity average among the set of image pairs is called a target set. The target set consists of a number of image pairs. The number of image pairs constituting the target set is called n i,j .

Figure 112019010894242-pat00001
Figure 112019010894242-pat00001

si,j는 이미지 i와 이미지 j의 유사도를 의미한다. Fi - 1,k는 이미지 Ai-1과 이미지 Bk에 대한 유사도 평균의 최댓값을 의미한다. ni - 1,k는 Fi - 1,k의 타깃 집합을 구성하는 이미지 쌍의 개수이다.s i,j means the similarity between image i and image j. F i - 1,k means the maximum value of the average of similarity between image Ai-1 and image Bk. n i - 1,k is the number of image pairs constituting the target set of F i - 1,k .

Fi,j를 연산하는 시점에서 Fi - 1,k는 이미 연산되어 있다. 따라서 이 시점에는 Fi-1,k의 타깃 집합 및 ni - 1,k도 결정된 상태이다. i≥2인 경우, ni - 1,k는 Fi - 1,k의 타깃 집합을 구성하는 이미지 쌍의 개수를 고려하여 Fi,j를 결정하기 위한 유사도 평균을 연산하기 위한 것이다.At the time of calculating F i,j , F i - 1,k has already been calculated. Therefore, this point, F i-1, n i, and the target set of k - is 1, k is also determined condition. When i≥2, n i - 1,k is for calculating a similarity average to determine F i,j in consideration of the number of image pairs constituting the target set of F i - 1,k .

Δ(delta)는 이미지 스택 A의 이미지를 기준으로 이미지 스택 B에서 매칭되는 이미지를 찾는 경우, 이미지 스택 B에서 매칭되는 이미지를 찾기 위한 범위를 결정할 수 있다. 이미지 스택 A와 이미지 스택 B는 서로 이미지 개수가 다를 수 있다. Δ는 이미지 스택 B에서 이미지 스택 A의 이미지와 매칭되지 않는 이미지 개수의 최댓값에 해당한다. 매칭된 결과를 기준으로 살펴보면 이미지 스택 A가 갭(gap)을 갖는다고도 볼 수 있다. 도 5(B)는 도 5(A)의 이미지 스택 A와 이미지 스택 B가 매칭된 결과를 예시한다. 도 5(B)를 살펴보면, 이미지 A1과 이미지 A2 사이에 하나의 갭을 갖는다. 즉, 도 5는 Δ ≥ 1인 경우이다. 사실 이미지 스택 A와 이미지 스택 B에 포함되는 이미지의 종류 및 개수에 따라 다양한 유형이 가능하다. 다만 설명의 편의를 위하여 이미지 스택 A의 이미지는 각각 이미지 스택 B의 어느 하나의 이미지와 매칭된다고 전제한다.Δ(delta) may determine a range for finding a matched image in the image stack B when a matching image is found in the image stack B based on the image in the image stack A. Image stack A and image stack B may have different numbers of images. Δ corresponds to the maximum number of images in image stack B that do not match the image in image stack A. Looking at the matched result as a basis, it can be seen that the image stack A has a gap. FIG. 5(B) illustrates a result of matching image stack A and image stack B of FIG. 5(A). Referring to Fig. 5B, there is one gap between the image A1 and the image A2. That is, FIG. 5 is a case where Δ ≥ 1. In fact, various types are possible depending on the type and number of images included in image stack A and image stack B. However, for convenience of explanation, it is assumed that each image of image stack A matches any one image of image stack B.

상기 수학식 1을 사용하여 영상처리장치는 A3와 B3가 매칭되는 경우에 대한 유사도 평균의 최댓값 F3,3을 결정할 수 있다. 이후 동일한 방법으로 A3와 B4가 매칭되는 경우에 대한 유사도 평균의 최댓값 F3,4, A3와 B5가 매칭되는 경우에 대한 유사도 평균의 최댓값 F3,5 및 A3와 B6가 매칭되는 경우의 유사도 평균의 최댓값 F3,6을 결정할 수 있다.Using Equation 1, the image processing apparatus may determine the maximum values F 3 and 3 of the average of the similarity when A3 and B3 are matched. Afterwards, the maximum value of the similarity average F 3,4 when A3 and B4 are matched in the same way, the maximum value of the similarity average F 3,5 when A3 and B5 are matched, and the similarity average when A3 and B6 are matched The maximum value of F 3,6 can be determined.

또한 영상 처리 장치는 전술한 방법과 동일하게 A4가 포함된 이미지 쌍에 대한 유사도 평균 최댓값 및 A5가 포함된 이미지 쌍에 대한 유사도 평균 최댓값도 유사한 과정(동적계획법)에 따라 수행될 수 있다. In addition, the image processing apparatus may perform a similar process (dynamic programming method) for the similarity average maximum value for the image pair including A4 and the similarity average maximum value for the image pair including A5 in the same manner as described above.

이 과정이 종료되면 영상처리장치는 이미지 스택에 있는 모든 이미지 쌍에 대한 유사도 평균 최댓값을 얻게된다.Upon completion of this process, the image processing apparatus obtains the average maximum value of similarity for all image pairs in the image stack.

영상처리장치는 마지막으로 각 이미지 스택의 마지막 이미지가 구성하는 쌍에 대한 유사도 평균에서 가장 큰 값(최댓값)을 결정한다. 도 5(A)를 기준으로 설명하면 영상처리장치는 {(A5,B1), (A5,B2), (A5,B3), (A5,B4), (A5,B5), (A5,B6), (A1,B6), (A2,B6), (A3,B6), (A4,B6)}의 이미지 쌍에 대한 유사도 평균의 최댓값을 결정한다. 이미지 쌍 중 가장 큰 유사도 평균의 최댓값을 갖는 쌍을 타깃 쌍이라고 명명한다. 이제 영상처리장치는 타깃 쌍을 기준으로 이미지 쌍을 역으로 추적하여 이미지 스택 A와 이미지 스택 B 사이의 이미지 매칭을 수행한다. 이와 같은 과정을 통하여 도 5(B)와 같은 매칭 결과를 산출할 수 있다.Finally, the image processing apparatus determines the largest value (maximum value) from the average of the similarity for the pair of the last image of each image stack. Referring to Fig. 5(A), the image processing apparatus includes ((A5,B1), (A5,B2), (A5,B3), (A5,B4), (A5,B5), (A5,B6) , (A1,B6), (A2,B6), (A3,B6), (A4,B6)} to determine the maximum value of the mean of similarity for the image pairs. Among the image pairs, the pair having the maximum value of the average of the greatest similarity is called a target pair. Now, the image processing apparatus performs image matching between the image stack A and the image stack B by inverting the image pair based on the target pair. Through this process, a matching result as shown in FIG. 5(B) may be calculated.

도 6은 유사도 척도를 기준으로 이미지 쌍을 매칭하는 과정에 대한 예이다. 도 5에서 도 5(A)의 이미지 스택에 대하여 이미지 스택 A와 이미지 스택 B 사이의 가능한 이미지 쌍에 대한 유사도 척도가 결정된 상태를 전제한다. 유사도 척도는 전술한 유사도 평균의 최댓값이라고 가정한다. 유사도 척도는 다른 값이 사용될 수도 있다. 이에 대해서는 후술한다. 6 is an example of a process of matching image pairs based on a similarity measure. In FIG. 5, it is assumed that a similarity measure for possible image pairs between the image stack A and the image stack B is determined for the image stack of FIG. 5A. It is assumed that the similarity measure is the maximum value of the above-described similarity average. Other values may be used for the similarity measure. This will be described later.

(i) 영상처리장치는 마지막으로 각 이미지 스택의 마지막 이미지가 구성하는 쌍에 대한 유사도 평균의 최댓값을 결정한다. 타깃 쌍은 (A5, B6)라고 가정한다. 타깃 쌍은 마지막 이미지에 대한 매칭된 이미지 쌍을 나타낸다. 도 6은 타깃 쌍을 가장 하단에 도시하였다. (ii) 영상처리장치는 A5의 직전에 위치한 A4 이미지가 이미지 스택 B의 이미지와 쌍을 이루는 모든 경우에 대하여, 유사도 척도가 최댓값인 이미지 쌍을 결정한다(S1). 이때 이미지 스택 B에서 A4 이미지와 유사도 척도가 최댓값을 이루는 이미지의 인덱스 j4를 결정한다. ji는 이미지 스택 A의 Ai와 타깃 쌍을 이루는 이미지 스택 B의 이미지 인덱스를 의미한다. (iii) 영상처리장치는 A4의 직전에 위치한 A3 이미지가 이미지 스택 B의 이미지와 쌍을 이루는 모든 경우에 대하여, 유사도 척도가 최댓값인 이미지 쌍을 결정한다(S2). 이때 이미지 스택 B에서 A3 이미지와 유사도 척도가 최댓값을 이루는 이미지의 인덱스 j3를 결정한다. (iv) 영상처리장치는 A3의 직전에 위치한 A2 이미지가 이미지 스택 B의 이미지와 쌍을 이루는 모든 경우에 대하여, 유사도 척도가 최댓값인 이미지 쌍을 결정한다(S3). 이때 이미지 스택 B에서 A2 이미지와 유사도 척도가 최댓값을 이루는 이미지의 인덱스 j2를 결정한다. (v)영상처리장치는 A2의 직전에 위치한 A1 이미지가 이미지 스택 B의 이미지와 쌍을 이루는 모든 경우에 대하여, 유사도 척도가 최댓값인 이미지 쌍을 결정한다(S4). 이때 이미지 스택 B에서 A1 이미지와 유사도 척도가 최댓값을 이루는 이미지의 인덱스 j1를 결정한다. (i) The image processing apparatus finally determines the maximum value of the average of the similarity for the pair of the last image of each image stack. Assume that the target pair is (A5, B6). The target pair represents the matched image pair for the last image. 6 shows the target pair at the bottom. (ii) The image processing apparatus determines an image pair whose similarity measure is the maximum value in all cases in which the A4 image located immediately before A5 is paired with the image of the image stack B (S1). At this time, in the image stack B, the index j 4 of the image in which the similarity measure to the A4 image is the maximum value is determined. i j denotes the index of the stack image B form a pair of images A i and the target stack A. (iii) The image processing apparatus determines an image pair whose similarity measure is the maximum value in all cases in which the A3 image located immediately before A4 is paired with the image of the image stack B (S2). At this time, in the image stack B, the index j 3 of the image whose similarity measure to the A3 image is the maximum value is determined. (iv) The image processing apparatus determines an image pair whose similarity measure is the maximum value in all cases in which the A2 image located immediately before A3 is paired with the image of the image stack B (S3). At this time, in the image stack B, the index j 2 of the image whose similarity measure to the A2 image is the maximum value is determined. (v) The image processing apparatus determines an image pair whose similarity measure is the maximum value in all cases in which the A1 image located immediately before A2 is paired with the image of the image stack B (S4). At this time, in the image stack B, the index j 1 of the image in which the similarity measure to the A1 image has the maximum value is determined.

이와 같은 과정을 거치면 이미지 스택 A와 이미지 스택 B의 이미지에 대한 매칭이 종료된다. (A1, j1), (A2, j2), (A3, j3), (A4, j4), (A5, j5(=B6))이 매칭된 결과를 나타낸다. 도 5(B)는 도 5(A)의 이미지 스택에 대한 매칭 결과를 나타낸 예이다.Following this process, the matching of the images of the image stack A and the image stack B is terminated. (A1, j 1 ), (A2, j 2 ), (A3, j 3 ), (A4, j 4 ), (A5, j 5 (=B6)) are matched results. 5(B) is an example showing the result of matching the image stack of FIG. 5(A).

전술한 이미지 스택의 매칭 과정을 일반화하여 설명하고자 한다. 도 7은 이미지 스택의 이미지 쌍을 매칭하는 과정에 대한 수도 코드의 예이다. 도 7은 전술한 유사도 평균의 최댓값을 이용하는 예이다. 알고리즘 명칭은 Stack Alignment이다. 기본적으로 이미지 스택 A와 이미지 스택 B가 필요하다. n1은 이미지 스택 A의 길이(=이미지 개수)이다. n2는 이미지 스택 B의 길이(=이미지 개수)이다. F는 n1×n2 크기를 갖는 행렬이고, 초기값은 0이다. F는 이미지 쌍의 유사도 평균의 최댓값을 저장하게 된다. F[i,j]는 이미지 스택 A의 이미지 i와 이미지 스택 B의 이미지 j의 쌍에 대한 유사도 평균의 최댓값이다. N는 n1×n2 크기를 갖는 행렬이고, 초기값은 0이다. N은 유사도 평균의 최댓값을 결정하는데 사용한 후보 이미지 쌍의 개수를 저장하게 된다. N은 유사도 평균을 연산할 때 몇 개의 쌍의 평균이었는지를 기록하기 위한 것이다. N[i,j]는 F[i,j]의 결정에 사용한 후보 이미지 쌍의 개수이다. S(i,j)는 이미지 스택 A의 이미지 i와 이미지 스택 B의 이미지 j의 유사도를 연산한 값에 해당한다.The above-described image stack matching process will be generalized and described. 7 is an example of a pseudo code for a process of matching image pairs in an image stack. 7 is an example of using the maximum value of the average of the similarity described above. The algorithm name is Stack Alignment. Basically, you need image stack A and image stack B. n 1 is the length of image stack A (= number of images). n 2 is the length of image stack B (= number of images). F is a matrix of size n 1 × n 2 and its initial value is 0. F stores the maximum value of the average of the similarity of the image pair. F[i,j] is the maximum value of the average of similarity for the pair of image i of image stack A and image j of image stack B. N is a matrix of size n 1 × n 2 , and the initial value is 0. N stores the number of candidate image pairs used to determine the maximum value of the average of similarity. N is for recording how many pairs were averaged when calculating the similarity average. N[i,j] is the number of candidate image pairs used to determine F[i,j]. S(i,j) corresponds to the calculated similarity between image i of image stack A and image j of image stack B.

수도 코드에서 라인 5부터 라인 17까지는 이미지 스택 A의 이미지와 이미지 스택 B의 이미지가 구성할 수 있는 모든 쌍에 대한 유사도 평균의 최댓값을 연산하는 과정이다. 전술한 바와 같이 첫 번째 인덱스인 이미지에 대한 유사도 평균의 최댓값인 F[1,j] 또는 F[i,1]는 각각 S(1,j)와 S(i,1)과 같다. 이 경우 N[i,j]는 1이 된다(라인 8 내지 라인 10). 첫 번째 인덱스가 아닌 나머지 인덱스를 갖는 이미지 쌍에 대한 유사도 평균의 최댓값은 라인 12에서 결정한다. 라인 12은 결국 이전에 저장한 유사도 평균의 최댓값을 이용하여 현재의 F[i,j]에 대한 유사도 평균 최댓값을 결정하는 과정이다. 라인 13 및 라인 14는 유사도 평균의 최댓값 결정에 사용한 이미지쌍의 갯수를 누적하여 저장하는 과정이다.Lines 5 through 17 in the pseudo code are the process of calculating the maximum value of the average of similarity for all pairs that the image of image stack A and image of image stack B can compose. As described above, F[1,j] or F[i,1], which is the maximum value of the average similarity for the first index, is equal to S(1,j) and S(i,1), respectively. In this case, N[i,j] becomes 1 (line 8 to line 10). The maximum value of the average of similarity for the pair of images having the index other than the first index is determined in line 12. Line 12 is a process of determining the maximum similarity average value for the current F[i,j] using the maximum value of the previously stored similarity average. Lines 13 and 14 are processes of accumulating and storing the number of image pairs used to determine the maximum value of the average of similarity.

수도 코드에서 라인 18 내지 라인 25는 이미지 쌍에 대한 유사도 평균 최댓값을 연산한 결과를 이용하여 이미지 스택 A의 이미지와 이미지 스택 B의 이미지를 매칭하는 과정에 해당한다. 라인 18은 마지막 인덱스를 갖는 이미지 쌍을 대상으로 가장 유사도 평균의 큰 이미지 쌍을 선택하는 과정이다. 먼저 A[I]와 B[J]가 매칭된다. M[I]는 이미지 스택 B에서 A[I]와 매칭되는 이미지의 인덱스(J)를 저장하는 행렬이다. M은 이미지 스택 A와 같은 길이를 가질 수 있다. 이제 결정한 마지막 인덱스의 이미지 쌍에서 선택한 타깃 쌍에서 출발하여 이미지 스택 A의 인덱스를 하나씩 줄여가면서 이미지 스택 B에서 A[i]와 매칭될 때 유사도 평균이 최대인 이미지의 인덱스를 찾는다. A[i]에 대하여 결정된 B[J]를 매칭하는 과정을 반복한다. 최종적으로 A[1]에 대한 매칭 이미지를 찾게 되면, 이미지 스택 A의 이미지와 이미지 스택 B의 이미지를 매칭하는 과정이 종료된다.Lines 18 to 25 in the pseudo code correspond to a process of matching the image of the image stack A with the image of the image stack B by using the result of calculating the average maximum value of the similarity for the image pair. Line 18 is a process of selecting an image pair having the highest similarity average from the image pair having the last index. First, A[I] and B[J] are matched. M[I] is a matrix that stores the index (J) of the image matching A[I] in the image stack B. M may have the same length as image stack A. Now, starting from the target pair selected from the image pair with the last index determined, the index of the image stack A is decreased by one, and the index of the image with the maximum similarity average when the image stack B matches A[i] is found. The process of matching B[J] determined for A[i] is repeated. Finally, when a matching image for A[1] is found, the process of matching the image of image stack A with the image of image stack B ends.

전술한 설명에서 이미지 스택 A와 이미지 스택 B를 매칭하는 과정을 설명하였다. 두 개의 이미지 스택 중 이미지 스택 A를 기준으로 이미지 스택 B와 매칭하는 예를 설명하였다. 물론 두 개의 이미지 스택 중 어느 하나의 이미지 스택을 기준으로 다른 이미지 스택과 매칭할 수 있다. 기준이 되는 이미지 스택은 임의로 선택할 수 있다. In the above description, the process of matching the image stack A and the image stack B has been described. An example of matching image stack B with image stack A among two image stacks has been described. Of course, one of the two image stacks can be used to match another image stack. The image stack as a reference can be arbitrarily selected.

이미지 스택의 종류 및 실제 매칭 여부는 다양할 수 있고, 이에 따라 이미지 스택 매칭을 위한 구체적인 과정(알고리즘)이 다소 변형될 수도 있다. The type of image stack and whether the image stack is actually matched may vary, and accordingly, a specific process (algorithm) for image stack matching may be slightly modified.

(1) 이미지 스택 A와 이미지 스택 B는 서로 이미지 개수가 다를 수 있다. 도 3 및 도 5에서도 이미지 스택 A와 이미지 스택 B의 이미지 개수가 서로 다른 경우를 도시하였다. 이 경우 이미지 개수가 적은 이미지 스택을 기준으로 다른 이미지 스택과 매칭 여부를 결정하는 것이 바람직할 수 있다. 설명의 편의를 위하여 이미지 스택 A가 이미지 스택 B보다 적은 이미지를 포함한다고 가정한다.(1) Image stack A and image stack B may have different numbers of images. 3 and 5 also illustrate a case where the number of images of the image stack A and the image stack B are different from each other. In this case, it may be desirable to determine whether to match another image stack based on an image stack having a small number of images. For convenience of explanation, it is assumed that image stack A includes fewer images than image stack B.

(2) 이미지 스택 A의 이미지 각각은 이미지 스택 B의 이미지 중 어느 하나에 매칭될 수 있다. 이미지 스택 B의 이미지 개수가 이미지 스택 A의 이미지 개수보다 큰 경우 이미지 스택 B는 이미지 스택 A와 매칭되지 않는 이미지를 포함한다. 도 3(A) 및 도 5(B)에서 이미지 스택 B 중 매칭되지 않은 이미지를 도시하였다. (2) Each image of image stack A may match any one of images of image stack B. When the number of images in image stack B is larger than the number of images in image stack A, image stack B includes images that do not match image stack A. In FIGS. 3(A) and 5(B), an unmatched image of the image stack B is shown.

(3) 나아가 이미지 스택 A이 이미지 스택 B의 이미지와 매칭되지 않은 이미지를 포함할 수도 있다. 도 3(B)를 살펴보면 이미지 스택 A의 이미지 A2가 이미지 스택 B에서 매칭되는 이미지가 없는 경우를 도시한다. 이와 같이 이미지 스택 A에서 매칭되지 않는 이미지가 있는 경우 해당 경우를 고려하여야 한다. 이 경우 도 7에 도시한 수도 코드가 일부 수정되어야 한다. 특정 A[k]에서 이미지 B의 각 이미지와 유사도 S를 연산하는데, 모든 가능한 쌍에 대하여 유사도 S가 기준값 이하인 경우, 특정 A[k]에 대한 유사도 평균 최댓값을 연산하지 않아도 된다. 또는 매칭하는 과정에서 A[k]에 대한 매칭 여부를 판단하지 않을 수도 있다. 예컨대, 매칭하는 과정에서 A[k+1]에 대한 매칭 여부를 판단한 후 A[k]에 대한 매칭 여부를 판단하지 않고, A[k-1]에 매칭 여부를 판단할 수 있다. (3) Furthermore, the image stack A may include an image that does not match the image of the image stack B. Referring to FIG. 3(B), a case in which image A2 of image stack A does not have a matched image in image stack B is illustrated. As such, when there is an image that does not match in image stack A, the case should be considered. In this case, the water supply code shown in FIG. 7 needs to be partially modified. In a specific A[k], each image of the image B and the similarity S are calculated. If the similarity S is less than or equal to the reference value for all possible pairs, it is not necessary to calculate the average maximum value of the similarity for a specific A[k]. Alternatively, it may not be determined whether to match A[k] during the matching process. For example, after determining whether to match A[k+1] in the matching process, it is possible to determine whether to match A[k-1] without determining whether to match A[k].

또한 도 7 등에서 이미지 쌍의 유사도 평균의 최댓값을 기준으로 사용하는 예로 설명하였다. 다만 이는 하나의 예이며, 유사도 평균이 아닌 다른 척도(유사도 척도)를 사용할 수 있다. 유사도 척도는 이미지 쌍의 유사도를 기준으로 산정될 수 있는 다양한 형태를 가질 수 있다. 유사도 척도는 이미지 쌍의 유사도 정보를 나태는 값이면 충분하다. 예컨대, 유사도 척도의 최댓값은 아래의 수학식 2와 같이 결정될 수 있다. 도 7의 수도 코드에서 라인 12가 아래의 수학식 2로 대체될 수 있다. 이 경우 유사도 평균을 연산하지 않기 때문에, 평균값 연산에 필요한 행렬이나 변수를 사용할 필요가 없다(N 및 라인 13 내지 14).In addition, an example in which the maximum value of the average of the similarity of an image pair is used as a reference has been described in FIG. 7 and the like. However, this is only an example, and a measure other than the average of similarity (similarity scale) can be used. The similarity measure may have various forms that can be calculated based on the similarity of an image pair. As for the similarity measure, a value indicating similarity information of an image pair is sufficient. For example, the maximum value of the similarity measure may be determined as in Equation 2 below. In the capital code of FIG. 7, line 12 may be replaced by Equation 2 below. In this case, since the similarity average is not calculated, there is no need to use a matrix or variable required for calculating the average value (N and lines 13 to 14).

Figure 112019010894242-pat00002
Figure 112019010894242-pat00002

물론 유사도 척도 내지 유사도 척도의 최댓값은 수학식 2와는 다른 식이나 함수로 결정될 수도 있다. Of course, the similarity measure or the maximum value of the similarity measure may be determined by an equation or function different from Equation 2.

도 8은 영상처리장치(300)의 구성에 대한 예이다. 영상처리장치(300)는 도 1의 영상처리장치(150)에 해당한다. 8 is an example of a configuration of the image processing apparatus 300. The image processing apparatus 300 corresponds to the image processing apparatus 150 of FIG. 1.

영상처리장치(300)는 전술한 이미지 스택의 이미지를 정렬 내지 매칭하는 장치이다. 영상처리장치(300)는 물리적으로 다양한 형태로 구현될 수 있다. 예컨대, 영상처리장치(300)는 PC와 같은 컴퓨터 장치, 네트워크의 서버, 영상 처리 전용 칩셋 등의 형태를 가질 수 있다. 컴퓨터 장치는 스마트 기기 등과 같은 모바일 기기를 포함할 수 있다. The image processing apparatus 300 is a device that aligns or matches images of the above-described image stack. The image processing apparatus 300 may be physically implemented in various forms. For example, the image processing apparatus 300 may have a form such as a computer device such as a PC, a server of a network, and a chipset dedicated to image processing. The computer device may include a mobile device such as a smart device.

영상처리장치(300)는 저장 장치(310), 메모리(320), 연산장치(330), 인터페이스 장치(340) 및 통신 장치(350)를 포함한다.The image processing device 300 includes a storage device 310, a memory 320, an operation device 330, an interface device 340, and a communication device 350.

저장 장치(310)는 이미지 매칭을 위한 프로그램 내지 소스코드를 저장한다. 예컨대, 저장 장치(310)는 두 개의 이미지 사이의 유사도를 연산하는 프로그램을 저장할 수 있다. 저장 장치(310)는 동적계획법에 기반하여 두 개의 이미지 스택의 이미지 쌍에 대한 유사도 평균의 최댓값을 연산하는 프로그램을 저장할 수 있다. 또는 동적계획법에 기반하여 두 개의 이미지 스택의 이미지 쌍에 유사도 척도의 최댓값을 연산하는 프로그램을 저장할 수 있다. 또한 저장 장치(310)는 입력된 두 개의 이미지 스택을 저장할 수도 있다.The storage device 310 stores a program or source code for image matching. For example, the storage device 310 may store a program for calculating a similarity between two images. The storage device 310 may store a program that calculates a maximum value of an average of similarity for an image pair of two image stacks based on a dynamic programming method. Alternatively, a program that calculates the maximum value of the similarity measure may be stored in an image pair of two image stacks based on the dynamic programming method. In addition, the storage device 310 may store two input image stacks.

메모리(320)는 영상처리장치(300)가 이미지 스택의 매칭을 수행하는 과정에서 생성되는 데이터 및 이미지 스택의 일부 이미지 등을 저장할 수 있다.The memory 320 may store data generated while the image processing apparatus 300 matches the image stack and some images of the image stack.

인터페이스 장치(340)는 외부로부터 일정한 명령 및 데이터를 입력받는 장치이다. 인터페이스 장치(340)는 물리적으로 연결된 입력 장치 또는 외부 저장 장치로부터 이미지 스택을 구성하는 이미지들을 입력받을 수 있다. 인터페이스 장치(340)는 영상 처리를 위한 각종 프로그램 내지 명령을 입력받을 수 있다. The interface device 340 is a device that receives certain commands and data from the outside. The interface device 340 may receive images constituting an image stack from an input device physically connected or an external storage device. The interface device 340 may receive various programs or commands for image processing.

통신 장치(350)는 유선 또는 무선 네트워크를 통해 일정한 정보를 수신하고 전송하는 구성을 의미한다. 통신 장치(350)는 외부 객체로부터 이미지 스택의 이미지를 수신할 수 있다. 통신 장치(350)는 이미지 스택의 매칭을 위한 프로그램 내지 파라미터 등을 수신할 수도 있다. 나아가 통신 장치(350)는 두 개의 이미지 스택에 대한 매칭 결과를 외부 객체로 송신할 수 있다.The communication device 350 refers to a configuration that receives and transmits certain information through a wired or wireless network. The communication device 350 may receive an image of an image stack from an external object. The communication device 350 may receive programs or parameters for matching image stacks. Furthermore, the communication device 350 may transmit a result of matching two image stacks to an external object.

통신 장치(350) 내지 인터페이스 장치(340)는 외부로부터 일정한 데이터 내지 명령을 전달받는 장치이다. 통신 장치(350) 내지 인터페이스 장치(340)를 입력장치라고 명명할 수 있다.The communication device 350 to the interface device 340 are devices that receive certain data or commands from the outside. The communication device 350 to the interface device 340 may be referred to as an input device.

연산 장치(330)는 저장장치(310)에 저장된 이미지와 프로그램을 이용하여 이미지 스택에 대한 매칭을 수행한다. 연산 장치(330)는 전술한 과정을 통하여 두 개의 이미지 스택에 대한 매칭을 수행할 수 있다. 예컨대, 연산 장치(330)는 제1 이미지 스택의 제1 이미지들과 제2 이미지 스택의 제2 이미지들이 이루는 모든 쌍의 이미지 사이의 유사도를 연산할 수 있다. 연산 장치(330)는 제1 이미지들을 순서에 따라 선택하면서, 선택한 어느 하나의 이미지와 제2 이미지들 각각이 이루는 쌍에 대한 유사도 평균의 최댓값 또는 유사도 척도의 최댓값을 결정할 수 있다. 연산 장치(330)는 제1 이미지들의 마지막 이미지와 제2 이미지들 각각이 이루는 쌍에 대한 유사도 평균의 최댓값(또는 유사도 척도의 최댓값)과 제2 이미지들의 마지막 이미지와 제1 이미지들 각각이 이루는 쌍에 대한 유사도 평균(또는 유사도 척도) 중 가중 큰 값(최댓값)을 갖는 타깃 이미지 쌍을 결정할 수 있다. 연산 장치(330)는 타깃 이미지 쌍을 기준으로 제1 이미지들에서 상기 제2 이미지들에 매칭되는 쌍을 결정할 수 있다. 연산 장치(330)는 데이터를 처리하고, 일정한 연산을 처리하는 프로세서, AP, 프로그램이 임베디드된 칩과 같은 장치일 수 있다.The computing device 330 performs matching on an image stack using an image and a program stored in the storage device 310. The computing device 330 may perform matching on two image stacks through the above-described process. For example, the computing device 330 may calculate a similarity between the first images of the first image stack and all pairs of images formed by the second images of the second image stack. The computing device 330 may determine a maximum value of an average of similarity or a maximum value of a similarity measure for a pair of the selected one image and each of the second images while selecting the first images in order. The computing device 330 includes a maximum value of the average of the similarity (or the maximum value of the similarity measure) for each pair of the last image of the first images and the pair of the second images, and a pair of the last image of the second images and each of the first images. A target image pair having a weighted larger value (maximum value) among the similarity average (or similarity measure) for can be determined. The computing device 330 may determine a pair of first images that match the second images based on the target image pair. The computing device 330 may be a device such as a processor, an AP, or a chip in which a program is embedded that processes data and processes certain operations.

또한, 상술한 바와 같은 이미지 스택 매칭 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.In addition, the image stack matching method as described above may be implemented as a program (or application) including an executable algorithm that can be executed on a computer. The program may be provided by being stored in a non-transitory computer readable medium.

비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.The non-transitory readable medium refers to a medium that stores data semi-permanently and can be read by a device, not a medium that stores data for a short moment, such as a register, cache, or memory. Specifically, the above-described various applications or programs may be provided by being stored in a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, and ROM.

본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.The present embodiment and the accompanying drawings are merely illustrative of some of the technical ideas included in the above-described technology, and those skilled in the art will be able to easily within the scope of the technical ideas included in the specification and drawings It will be apparent that all of the modified examples and specific embodiments that can be inferred are included in the scope of the rights of the above-described technology.

100 : 의료 영상을 처리하는 시스템
110 : 의료 영상 장치
150 : 영상처리장치
160 : 영상 DB
180 : 사용자 단말
300 : 영상처리장치
310 : 저장장치
320 : 메모리
330 : 연산장치
340 : 인터페이스장치
350 : 통신장치
100: System for processing medical images
110: medical imaging device
150: image processing device
160: video DB
180: user terminal
300: image processing device
310: storage device
320: memory
330: operation device
340: interface device
350: communication device

Claims (13)

영상처리장치가 각각 특정 순서를 갖는 이미지를 포함하는 제1 이미지 스택 및 제2 이미지 스택을 입력받는 단계;
상기 영상처리장치가 상기 제1 이미지 스택의 이미지들과 상기 제2 이미지 스택의 이미지들이 이루는 모든 이미지 쌍 사이의 유사도를 연산하는 단계;
상기 영상처리장치가 상기 순서에 따라 상기 제1 이미지 스택의 이미지들과
상기 제2 이미지 스택의 이미지들이 이루는 이미지 쌍에 대한 유사도 평균의 최댓값을 결정하는 단계; 및
상기 영상처리장치가 상기 제1 이미지 스택의 마지막 이미지와 상기 제2 이미지 스택의 이미지가 이루는 이미지 쌍 및 상기 제2 이미지 스택의 마지막 이미지와 상기 제1 이미지 스택의 이미지가 이루는 이미지 쌍 중에서 유사도 평균의 최댓값이 가장 큰 타깃 이미지 쌍을 시작으로 상기 유사도 평균의 최댓값을 기준으로 역순으로 상기 제1 이미지 스택과 상기 제2 이미지 스택을 매칭하는 단계를 포함하되,
상기 유사도 평균의 최댓값을 결정하는 단계는 상기 제1 이미지 스택 중 어느 하나의 제1 이미지와 상기 제2 이미지 스택 중 어느 하나의 제2 이미지의 쌍에 대하여, 상기 제1 이미지와 상기 제2 이미지의 제1 쌍 및 상기 제1 이미지 스택에서 상기 순서를 기준으로 상기 제1 이미지 전에 위치한 모든 이미지와 상기 제2 이미지 스택에서 상기 제2 이미지 전에 위치한 어느 하나의 이미지가 구성하는 적어도 하나의 제2 쌍으로 구성되는 이미지 쌍 집합 중 상기 이미지 쌍 집합에 속한 이미지 쌍의 상기 유사도 평균이 최대인 값으로 결정하는 동적계획법을 이용한 이미지 스택 매칭 방법.
Receiving, by the image processing apparatus, a first image stack and a second image stack each including images having a specific order;
Calculating, by the image processing apparatus, a degree of similarity between the images of the first image stack and all image pairs formed by the images of the second image stack;
The image processing apparatus and the images of the first image stack according to the order
Determining a maximum value of an average of similarity for image pairs formed by the images of the second image stack; And
The image processing apparatus is the average of the similarity among the image pair formed by the last image of the first image stack and the image of the second image stack, and the image pair formed by the last image of the second image stack and the image of the first image stack. Matching the first image stack and the second image stack in reverse order based on the maximum value of the average of similarity starting from the target image pair having the largest maximum value,
The determining of the maximum value of the average of the similarity may include, for a pair of the first image of the first image stack and the second image of the second image stack, of the first image and the second image. A first pair and at least one second pair consisting of all images located before the first image in the first image stack and any one image located before the second image in the second image stack based on the order An image stack matching method using a dynamic programming method in which an average of the similarity of an image pair belonging to the image pair set among the configured image pair set is determined as a maximum value.
삭제delete 삭제delete 제1항에 있어서,
상기 영상처리장치는 상기 타깃 이미지 쌍에 대한 유사도 평균의 최댓값 결정 전에 저장된 이미지 쌍에 대한 유사도 평균의 최댓값을 이용하여 상기 타깃 이미지 쌍에 대한 유사도 평균의 최댓값을 결정하는 동적계획법을 이용한 이미지 스택 매칭 방법.
The method of claim 1,
The image processing apparatus is an image stack matching method using a dynamic programming method in which the maximum value of the average of similarity for the target image pair is determined by using the maximum value of the average of similarity for the image pair stored before determining the maximum value of the average of similarity for the target image pair. .
삭제delete 제1항에 있어서,
상기 영상처리장치는 상기 타깃 이미지 쌍을 결정한 후,
상기 제1 이미지 스택에서 상기 타깃 이미지 쌍을 구성하는 이미지 전에 위치한 이미지 각각과 상기 제2 이미지 스택의 이미지의 유사도 평균의 최댓값을 결정하는 과정을 반복하면서 상기 제1 이미지 스택과 상기 제2 이미지 스택을 매칭하는 동적계획법을 이용한 이미지 스택 매칭 방법.
The method of claim 1,
After the image processing apparatus determines the target image pair,
The first image stack and the second image stack are determined by repeating the process of determining the maximum value of the average similarity between each image located before the image constituting the target image pair in the first image stack and the image of the second image stack. Image stack matching method using matching dynamic programming method.
제6항에 있어서,
상기 영상처리장치는 상기 제1 이미지 스택의 적어도 하나의 이미지와 상기 제2 이미지 스택의 이미지의 유사도가 기준값 이하인 경우, 상기 제1 이미지 스택과 상기 제2 이미지 스택을 매칭하는 과정에서 상기 적어도 하나의 이미지에 대한 매칭 여부를 판단하지 않는 동적계획법을 이용한 이미지 스택 매칭 방법.
The method of claim 6,
When the similarity between the at least one image of the first image stack and the image of the second image stack is less than or equal to a reference value, the image processing apparatus is configured to match the first image stack with the second image stack. An image stack matching method using a dynamic programming method that does not determine whether an image is matched.
각각 일련의 순서를 갖는 이미지를 포함하는 제1 이미지 스택 및 제2 이미지 스택을 입력받는 입력장치;
두 개의 이미지 사이의 유사도를 연산하고, 동적계획법에 기반하여 상기 제1 이미지 스택을 구성하는 어느 하나의 이미지와 상기 제2 이미지 스택을 구성하는 어느 하나의 이미지 쌍 사이의 유사도 평균의 최댓값을 연산하는 프로그램을 저장하는 저장장치; 및
상기 프로그램을 이용하여 상기 제1 이미지 스택의 이미지들과 상기 제2 이미지 스택의 이미지들이 이루는 모든 쌍의 이미지 사이의 유사도를 연산하고, 상기 제1 이미지 스택에서 이미지를 상기 순서에 따라 선택하면서, 선택한 어느 하나의 이미지와 상기 제2 이미지 스택의 이미지들 각각이 이루는 이미지 쌍에 대한 유사도 평균의 최댓값을 결정하고,
상기 제1 이미지 스택의 마지막 이미지와 상기 제2 이미지 스택의 이미지가 이루는 이미지 쌍 및 상기 제2 이미지 스택의 마지막 이미지와 상기 제1 이미지 스택의 이미지가 이루는 이미지 쌍 중에서 유사도 평균의 최댓값이 가장 큰 타깃 이미지 쌍을 시작으로 상기 유사도 평균의 최댓값을 기준으로 역순으로 상기 제1 이미지 스택과 상기 제2 이미지 스택을 매칭하는 연산장치를 포함하되,
상기 연산장치는 상기 제1 이미지 스택 중 어느 하나의 제1 이미지와 상기 제2 이미지 스택에서 어느 하나의 제2 이미지의 쌍에 대하여, 상기 제1 이미지와 상기 제2 이미지의 제1 쌍 및 상기 제1 이미지 스택에서 상기 순서를 기준으로 상기 제1 이미지 전에 위치한 모든 이미지와 상기 제2 이미지 스택에서 상기 제2 이미지 전에 위치한 어느 하나의 이미지가 구성하는 적어도 하나의 제2 쌍으로 구성되는 이미지 쌍 집합 중 상기 이미지 쌍 집합에 속한 이미지 쌍의 상기 유사도 평균이 최대인 값으로 상기 유사도 평균의 최댓값을 결정하는 동적계획법을 이용한 이미지 스택 매칭 장치.
An input device that receives a first image stack and a second image stack each including images having a series of sequences;
Calculates the similarity between two images, and calculates the maximum value of the average of similarity between any one image constituting the first image stack and any one image pair constituting the second image stack based on dynamic programming. A storage device for storing a program; And
The program is used to calculate the similarity between the images of the first image stack and all pairs of images formed by the images of the second image stack, and select images from the first image stack according to the order. Determine a maximum value of an average of similarity for an image pair formed by any one image and each of the images of the second image stack,
The target having the largest similarity average among the image pairs formed by the last image of the first image stack and the image of the second image stack, and the image pair formed by the last image of the second image stack and the image of the first image stack Starting from an image pair, comprising a computing device for matching the first image stack and the second image stack in reverse order based on the maximum value of the average of the similarity,
For a pair of any one of the first image of the first image stack and any one of the second image of the second image stack, the computing device is configured to perform a first pair of the first image and the second image, and the second image. 1 Among a set of image pairs consisting of all images located before the first image in the image stack and at least one second pair of any one image located before the second image in the second image stack based on the order An image stack matching apparatus using a dynamic programming method for determining a maximum value of the similarity average as a value having the maximum similarity average of an image pair belonging to the image pair set.
삭제delete 제8항에 있어서,
상기 연산장치는
상기 타깃 이미지 쌍에 대한 유사도 평균의 최댓값 결정 전에 저장된 이미지 쌍에 대한 유사도 평균의 최댓값을 이용하여 상기 타깃 이미지 쌍에 대한 유사도 평균의 최댓값을 결정하는 동적계획법을 이용한 이미지 스택 매칭 장치.
The method of claim 8,
The computing device is
An image stack matching device using a dynamic programming method for determining the maximum value of the average of similarity for the target image pair by using the maximum value of the average of similarity for the image pair stored before determining the maximum value of the average of similarity for the target image pair.
제8항에 있어서,
상기 연산장치는 상기 타깃 이미지 쌍을 결정한 후, 상기 제1 이미지 스택에서 상기 타깃 이미지 쌍을 구성하는 이미지 전에 위치한 이미지 각각과 상기 제2 이미지 스택의 이미지의 유사도 평균의 최댓값을 결정하는 과정을 반복하면서 상기 제1 이미지 스택과 상기 제2 이미지 스택을 매칭하는 동적계획법을 이용한 이미지 스택 매칭 장치.
The method of claim 8,
After determining the target image pair, the computing device repeats the process of determining the maximum value of the average of similarity between each image located before the image constituting the target image pair in the first image stack and the image of the second image stack. An image stack matching apparatus using a dynamic programming method for matching the first image stack and the second image stack.
제11항에 있어서,
상기 연산장치는 상기 제1 이미지 스택의 적어도 하나의 이미지와 상기 제2 이미지 스택의 이미지의 유사도가 기준값 이하인 경우, 상기 제1 이미지 스택과 상기 제2 이미지 스택을 매칭하는 과정에서 상기 적어도 하나의 이미지에 대한 매칭 여부를 판단하지 않는 동적계획법을 이용한 이미지 스택 매칭 장치.
The method of claim 11,
When the similarity between the at least one image of the first image stack and the image of the second image stack is less than or equal to a reference value, the processing unit matches the first image stack with the second image stack. An image stack matching device using a dynamic programming method that does not determine whether or not to match.
컴퓨터에서 제1항, 제4항 및 제6항 내지 제7항 중 어느 하나의 항에 기재된 동적계획법을 이용한 이미지 스택 매칭 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium in which a program for executing the image stack matching method using the dynamic programming method according to any one of claims 1, 4 and 6 to 7 is recorded on a computer.
KR1020190011750A 2019-01-30 2019-01-30 Alignment method and apparatus for stack of image based on dynamic programming KR102148600B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190011750A KR102148600B1 (en) 2019-01-30 2019-01-30 Alignment method and apparatus for stack of image based on dynamic programming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190011750A KR102148600B1 (en) 2019-01-30 2019-01-30 Alignment method and apparatus for stack of image based on dynamic programming

Publications (2)

Publication Number Publication Date
KR20200094355A KR20200094355A (en) 2020-08-07
KR102148600B1 true KR102148600B1 (en) 2020-08-26

Family

ID=72050067

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190011750A KR102148600B1 (en) 2019-01-30 2019-01-30 Alignment method and apparatus for stack of image based on dynamic programming

Country Status (1)

Country Link
KR (1) KR102148600B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005165538A (en) * 2003-12-01 2005-06-23 Nippon Telegr & Teleph Corp <Ntt> Method and device for correcting error of sequence matching of label, its program and computer-readable storage medium with its program stored
KR101825719B1 (en) * 2017-08-21 2018-02-06 (주)제이엘케이인스펙션 Brain image processing method and matching method and apparatus between clinical brain image and standard brain image using the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005165538A (en) * 2003-12-01 2005-06-23 Nippon Telegr & Teleph Corp <Ntt> Method and device for correcting error of sequence matching of label, its program and computer-readable storage medium with its program stored
KR101825719B1 (en) * 2017-08-21 2018-02-06 (주)제이엘케이인스펙션 Brain image processing method and matching method and apparatus between clinical brain image and standard brain image using the same

Also Published As

Publication number Publication date
KR20200094355A (en) 2020-08-07

Similar Documents

Publication Publication Date Title
JP5272215B2 (en) Face recognition method capable of suppressing influence of noise and environment
US9898819B2 (en) System and method for detecting region of interest
US9792484B2 (en) Biometric information registration apparatus and biometric information registration method
US9436981B2 (en) Dictionary creation device, image processing device, image processing system, dictionary creation method, image processing method, and program
AU2017314341A1 (en) User identity verification method, apparatus and system
KR20220031695A (en) Image recognition method and related devices and devices
US10244969B2 (en) Method and device for fingerprint authentication
CN107633237B (en) Image background segmentation method, device, equipment and medium
WO2020024744A1 (en) Image feature point detecting method, terminal device, and storage medium
CN109840485B (en) Micro-expression feature extraction method, device, equipment and readable storage medium
US20180053062A1 (en) Fingerprint Registration Method and Device and Terminal Thereof
CN109785919B (en) Noun matching method, noun matching device, noun matching equipment and computer readable storage medium
US20180247152A1 (en) Method and apparatus for distance measurement
US10699156B2 (en) Method and a device for image matching
CN113706558A (en) Image segmentation method and device and computer equipment
CN111626303B (en) Sex and age identification method, sex and age identification device, storage medium and server
US8164633B2 (en) Calibration apparatus and method for imaging devices and computer program
CN111177436A (en) Face feature retrieval method, device and equipment
KR102148600B1 (en) Alignment method and apparatus for stack of image based on dynamic programming
JP2014178857A (en) Image search system and image search method
CN105190689A (en) Image processing including adjoin feature based object detection, and/or bilateral symmetric object segmentation
US20130251202A1 (en) Facial Features Detection
JP2014225168A (en) Program, device, and method for calculating similarity between images represented by feature point set
US20140294300A1 (en) Face matching for mobile devices
CN110874602A (en) Image identification method and device

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant