KR102494833B1 - Preprocessing and convolutional operation apparatus for clinical decision-making artificial intelligence development using hypercubic shapes based on bio data - Google Patents

Preprocessing and convolutional operation apparatus for clinical decision-making artificial intelligence development using hypercubic shapes based on bio data Download PDF

Info

Publication number
KR102494833B1
KR102494833B1 KR1020210135231A KR20210135231A KR102494833B1 KR 102494833 B1 KR102494833 B1 KR 102494833B1 KR 1020210135231 A KR1020210135231 A KR 1020210135231A KR 20210135231 A KR20210135231 A KR 20210135231A KR 102494833 B1 KR102494833 B1 KR 102494833B1
Authority
KR
South Korea
Prior art keywords
data
filter
data structure
values
filter frame
Prior art date
Application number
KR1020210135231A
Other languages
Korean (ko)
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 KR1020210135231A priority Critical patent/KR102494833B1/en
Application granted granted Critical
Publication of KR102494833B1 publication Critical patent/KR102494833B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

The embodiments of the present invention provide a data processing device and method, which converts multi-dimensional initial data into a table-type data structure, and can apply a neural network model to hypercubic data through a method of calculating between data matching a table and a designed filter. The data processing method includes the steps of: preprocessing initial data into table-based conversion data; and applying the filter of the neural network model to table-based transformed data.

Description

생체 데이터 기반 초입방 형상을 활용한 임상적 의사결정 인공지능 개발을 위한 전처리 및 합성곱 연산 장치 {PREPROCESSING AND CONVOLUTIONAL OPERATION APPARATUS FOR CLINICAL DECISION-MAKING ARTIFICIAL INTELLIGENCE DEVELOPMENT USING HYPERCUBIC SHAPES BASED ON BIO DATA}Preprocessing and convolutional operation device for clinical decision-making artificial intelligence development using hypercubic shape based on biometric data

본 발명이 속하는 기술 분야는 생체 데이터 전처리 및 머신러닝에 관한 것이다. The technical field to which the present invention belongs relates to biometric data preprocessing and machine learning.

이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.The contents described in this part merely provide background information on the present embodiment and do not constitute prior art.

의료 및 생물학 분야 분석 장비 기원의 FCS(flow cytometry standard) 데이터는 시료 내 개별 세포(또는 이와 유사한 물리적, 유체역학적, 광학적 성질을 갖는 입자; 이후로는 세포로 호칭)들의 광학적/전자기적 특성을 탐지하고 이로부터 세포 수 및 성질을 정량적으로 분석하는 유세포/이미지세포분석 결과를 나타내는 생체 지표 데이터이다. 이러한 데이터는 각종 질병군과 연관성을 찾기 위한 지표로 활용된다. FCS (flow cytometry standard) data originating from medical and biological analysis equipment detects the optical/electromagnetic properties of individual cells (or particles with similar physical, hydrodynamic, and optical properties; hereinafter referred to as cells) in a sample and biomarker data showing the results of flow cytometry/image cytometry that quantitatively analyzes the number and properties of cells. These data are used as indicators to find correlations with various disease groups.

기존의 FCS 데이터 분석은 특정 세포(군)을 선택/분리하여 계수하거나 광학적 측정치와 연관된 세포 성질(크기, 구조, 항원 표현형)을 추출해 내는 과정이다. Existing FCS data analysis is a process of selecting/isolating and counting specific cells (groups) or extracting cell properties (size, structure, antigenic phenotype) associated with optical measurements.

FCS 데이터의 전반적 형태적 특성을 포괄적으로 분석하여 각 시료의 생물학적/임상적 의미를 찾는 기계학습을 적용한 사례는 알려져 있지 않다.There are no known examples of applying machine learning to comprehensively analyze the overall morphological characteristics of FCS data and find the biological/clinical meaning of each sample.

기계학습 중에서 CNN(Convolutional Neural Network) 알고리즘은 합성곱(convolution, 컨볼루션) 단계에서 이미지 데이터 영역을 옮겨가면서 필터를 적용하는 연산을 수행한다.Among machine learning, the CNN (Convolutional Neural Network) algorithm performs an operation to apply a filter while moving an image data area in a convolution step.

KR 10-1857624 (2018.05.08)KR 10-1857624 (2018.05.08)

본 발명의 실시예들은 복수 차원의 초기 데이터를 테이블 형태의 데이터 구조로 변환하고 테이블에 매칭하는 데이터와 설계된 필터 간에 연산하는 방식을 통해 초입방 데이터에 신경 네트워크 모델을 적용하는데 주된 목적이 있다.The main purpose of the embodiments of the present invention is to apply a neural network model to hypercubic data by converting multi-dimensional initial data into a table-type data structure and operating between data matching the table and a designed filter.

본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.Other non-specified objects of the present invention may be additionally considered within the scope that can be easily inferred from the following detailed description and effects thereof.

본 실시예의 일 측면에 의하면 데이터 처리 방법에 있어서, 초기 데이터를 테이블 기반의 변환 데이터로 전처리하는 단계; 상기 테이블 기반의 변환 데이터에 신경 네트워크 모델의 필터를 적용하는 단계를 포함하는 데이터 처리 방법을 제공한다.According to an aspect of the present embodiment, a data processing method includes pre-processing initial data into table-based conversion data; It provides a data processing method comprising applying a filter of a neural network model to the table-based conversion data.

본 실시예의 다른 측면에 의하면 프로세서를 포함하는 데이터 처리 장치에 있어서, 상기 프로세서는, 초기 데이터를 테이블 기반의 변환 데이터로 전처리하고, 상기 테이블 기반의 변환 데이터에 신경 네트워크 모델의 필터를 적용하는 것을 특징으로 하는 데이터 처리 장치를 제공한다.According to another aspect of the present embodiment, in a data processing device including a processor, the processor preprocesses initial data into table-based conversion data, and applies a filter of a neural network model to the table-based conversion data. A data processing device is provided.

본 실시예의 또 다른 측면에 의하면 하나 이상의 프로세서 및 상기 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하는 컴퓨팅 디바이스에 의해 수행되는 질병 진단 방법에 있어서, 상기 컴퓨팅 디바이스는, 진단 대상의 혈액에서 추출된 생체 추출 데이터를 획득하는 데이터 획득 단계; 상기 생체 추출 데이터에 포함된 복수 개의 파라미터를 기반으로 생성된 초기 데이터를 복수의 채널 각각에 대한 좌표값으로 변형하고, 변형된 데이터를 학습용 데이터로 재구성하는 데이터 전처리 단계; 상기 재구성된 학습용 데이터에서 특징값을 추출하고, 상기 특징값을 분류하여 학습을 수행하는 데이터 학습 단계; 및 학습된 상기 특징값을 이용하여 특정 질병을 진단하는 질병 진단 단계를 수행하는 것을 특징으로 하는 질병 진단 방법을 제공한다.According to another aspect of the present embodiment, in the disease diagnosis method performed by a computing device including one or more processors and a memory storing one or more programs executed by the processors, the computing device includes: a data acquisition step of acquiring extracted biometric extraction data; a data preprocessing step of transforming initial data generated based on a plurality of parameters included in the biometric data into coordinate values for each of a plurality of channels and reconstructing the transformed data into training data; a data learning step of extracting feature values from the reconstructed training data and performing learning by classifying the feature values; and a disease diagnosis step of diagnosing a specific disease using the learned feature value.

이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 복수 차원의 초기 데이터를 테이블 형태의 데이터 구조로 변환하고 테이블에 매칭하는 데이터와 설계된 필터 간에 연산하는 방식을 통해 초입방 데이터에 신경 네트워크 모델을 적용할 수 있는 효과가 있다.As described above, according to the embodiments of the present invention, a neural network model is formed on hypercubic data through a method of converting multi-dimensional initial data into a table-type data structure and operating between data matching the table and a designed filter. There are effects that can be applied.

여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.Even if the effects are not explicitly mentioned here, the effects described in the following specification expected by the technical features of the present invention and their provisional effects are treated as described in the specification of the present invention.

도 1은 본 발명의 일 실시예에 따른 데이터 처리 장치를 예시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 데이터 처리 장치가 출력한 테이블 기반의 변환 데이터를 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 데이터 처리 장치에 의해 처리 가능한 2차원 데이터 및 2차원 필터를 예시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 데이터 처리 장치가 처리하는 2차원 데이터에 대한 테이블 형태의 변환 데이터를 예시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리 장치에 의해 처리 가능한 2차원 데이터 및 2차원 필터 간의 연산을 예시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 데이터 처리 장치가 2차원 데이터에 대한 테이블 형태의 변환 데이터를 기반으로 연산을 수행하는 동작을 예시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 데이터 처리 장치에 의해 처리 가능한 3차원 데이터 및 3차원 필터를 예시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 데이터 처리 장치가 처리하는 3차원 데이터에 대한 테이블 형태의 변환 데이터를 예시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 데이터 처리 장치에 의해 처리 가능한 3차원 데이터 및 3차원 필터 간의 연산을 예시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 데이터 처리 장치가 3차원 데이터에 대한 테이블 형태의 변환 데이터를 기반으로 연산을 수행하는 동작을 예시한 도면이다.
도 11은 본 발명의 일 실시예에 따른 데이터 처리 장치가 따라 필터 프레임을 설계 배치하는 동작을 예시한 도면이다.
도 12는 본 발명의 일 실시예에 따른 데이터 처리 장치가 차원 증가에 따라 필터 프레임을 확장 설계하는 동작을 예시한 도면이다.
도 13은 본 발명의 일 실시예에 따른 데이터 처리 장치가 차원 증가에 따라 필터 프레임의 프랙탈 확장하는 동작을 예시한 도면이다.
도 14는 본 발명의 일 실시예에 따른 데이터 처리 장치가 3차원 입방체 공간에서 컨벌루션 필터의 이동을 입방체 테이블에서 행 그룹의 하방 시프트 및 스킵을 수행하는 동작으로 표현한 예시 도면이다.
도 15 및 도 16은 본 발명의 다른 실시예에 따른 데이터 처리 방법을 예시한 도면이다.
도 17은 종래의 생체 추출 데이터의 분석 동작을 설명하기 위한 예시도이다.
도 18은 본 발명의 또 다른 실시예에 따른 생체 추출 데이터 기반의 질병 진단 장치를 개략적으로 나타낸 블록 구성도이다.
도 19는 본 발명의 또 다른 실시예에 따른 질병 진단 장치에 프로세서의 동작 구성을 개략적으로 나타낸 블록 구성도이다.
도 20은 본 발명의 또 다른 실시예에 따른 생체 추출 데이터 기반의 질병 진단 방법을 설명하기 위한 순서도이다.
도 21은 본 발명의 또 다른 실시예에 따른 환자정보 및 생체 추출 데이터를 이용하여 질병을 진단하는 동작을 설명하기 위한 예시도이다.
도 22는 본 발명의 또 다른 실시예에 따른 신경 네트워크를 이용하여 질병을 진단하는 동작을 설명하기 위한 블록도이다.
도 23은 본 발명의 또 다른 실시예에 따른 컴퓨터 내 진단장치의 동작 프로세스를 설명하기 위한 예시도이다.
도 24 내지 도 25는 본 발명의 또 다른 실시예에 따른 생체 추출 데이터를 기반으로 초기 데이터를 생성하는 동작을 설명하기 위한 예시도이다.
도 26 내지 도 29는 본 발명의 또 다른 실시예에 따른 복수의 채널 각각의 초기 데이터를 나타낸 예시도이다.
도 30 및 도 31은 본 발명의 또 다른 실시예에 따른 생체 추출 데이터를 기반으로 기본적인 데이터를 변형하는 동작을 설명하기 위한 예시도이다.
도 32는 본 발명의 또 다른 실시예에 따른 생체 추출 데이터를 기반으로 데이터를 재구성하는 동작을 예시하여 설명하기 위한 도면이다.
1 is a diagram illustrating a data processing apparatus according to an embodiment of the present invention.
2 is a diagram illustrating table-based conversion data output by a data processing apparatus according to an embodiment of the present invention.
3 is a diagram illustrating 2D data and 2D filters that can be processed by the data processing apparatus according to an embodiment of the present invention.
4 is a diagram illustrating conversion data in the form of a table for two-dimensional data processed by a data processing apparatus according to an embodiment of the present invention.
5 is a diagram illustrating an operation between 2D data and a 2D filter that can be processed by a data processing apparatus according to an embodiment of the present invention.
6 is a diagram illustrating an operation in which a data processing apparatus according to an embodiment of the present invention performs an operation based on converted data in the form of a table for two-dimensional data.
7 is a diagram illustrating 3D data and 3D filters that can be processed by the data processing apparatus according to an embodiment of the present invention.
8 is a diagram illustrating conversion data in the form of a table for 3D data processed by a data processing apparatus according to an embodiment of the present invention.
9 is a diagram illustrating an operation between 3D data and a 3D filter that can be processed by the data processing apparatus according to an embodiment of the present invention.
10 is a diagram illustrating an operation in which a data processing apparatus according to an embodiment of the present invention performs an operation based on conversion data in the form of a table for 3D data.
11 is a diagram illustrating an operation of designing and arranging a filter frame according to a data processing apparatus according to an embodiment of the present invention.
12 is a diagram illustrating an operation in which a data processing apparatus according to an embodiment of the present invention expands and designs a filter frame according to an increase in dimension.
13 is a diagram illustrating an operation of fractal expansion of a filter frame according to a dimension increase of a data processing apparatus according to an embodiment of the present invention.
14 is an exemplary view in which a data processing apparatus according to an embodiment of the present invention expresses movement of a convolution filter in a 3D cubic space as an operation of performing downward shift and skip of a row group in a cubic table.
15 and 16 are diagrams illustrating a data processing method according to another embodiment of the present invention.
17 is an exemplary diagram for explaining a conventional analysis operation of biological extraction data.
18 is a schematic block diagram of an apparatus for diagnosing a disease based on biological extraction data according to another embodiment of the present invention.
19 is a block diagram schematically illustrating an operational configuration of a processor in an apparatus for diagnosing a disease according to another embodiment of the present invention.
20 is a flowchart illustrating a method for diagnosing a disease based on biological extraction data according to another embodiment of the present invention.
21 is an exemplary diagram for explaining an operation of diagnosing a disease using patient information and biometric extraction data according to another embodiment of the present invention.
22 is a block diagram for explaining an operation of diagnosing a disease using a neural network according to another embodiment of the present invention.
23 is an exemplary diagram for explaining an operating process of a diagnosis device in a computer according to another embodiment of the present invention.
24 to 25 are exemplary diagrams for explaining an operation of generating initial data based on biologically extracted data according to another embodiment of the present invention.
26 to 29 are exemplary diagrams illustrating initial data of each of a plurality of channels according to another embodiment of the present invention.
30 and 31 are exemplary diagrams for explaining an operation of modifying basic data based on biologically extracted data according to another embodiment of the present invention.
32 is a diagram for explaining an operation of reconstructing data based on biologically extracted data according to another embodiment of the present invention by way of example.

이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.Hereinafter, in the description of the present invention, if it is determined that a related known function may unnecessarily obscure the subject matter of the present invention as an obvious matter to those skilled in the art, the detailed description thereof will be omitted, and some embodiments of the present invention will be described. It will be described in detail through exemplary drawings.

본 발명은 생체 추출 데이터를 전처리하여 질병을 진단하는 방법 및 그를 위한 장치에 관한 것이다.The present invention relates to a method for diagnosing a disease by pre-processing bio-extracted data and an apparatus therefor.

본 발명은 바이오 의료 분석 장비 기원 FCS(Flow Cytometry Standard) 형식의 원시 데이터를 시각인식 인공지능 알고리즘을 사용하여 임상적 의사결정에 활용하기 위한 진단 장비의 모듈로서 개발한 장치에 관한 것이다.The present invention relates to a device developed as a module of diagnostic equipment to utilize raw data in the form of FCS (Flow Cytometry Standard) originating from biomedical analysis equipment for clinical decision-making using a visual recognition artificial intelligence algorithm.

본 발명은 고차원 FCS 데이터를 초입방체 공간으로 형상화하여 이를 기존의 시각인식 인공지능 알고리즘에 적용한다. 초입방체 형상으로 전환된 데이터를 시각인식 CNN 알고리즘에 적용하기 위한 전처리를 수행한다. The present invention shapes high-dimensional FCS data into a supercubic space and applies it to existing visual recognition artificial intelligence algorithms. Preprocessing is performed to apply the data converted into a supercubic shape to the visual recognition CNN algorithm.

기존의 CNN 알고리즘은 높이, 너비, 컬러를 갖는 2차원의 이미지 데이터 영역에 컨볼루션 필터를 적용하므로, 기존의 CNN 알고르즘만으로는 고차원 초입방체 형식의 형상 데이터에 컨볼루션 필터를 적용하는게 쉽지 않다. Existing CNN algorithms apply convolution filters to two-dimensional image data regions having height, width, and color, so it is not easy to apply convolution filters to high-dimensional hypercubic shape data with only existing CNN algorithms.

본 발명은 고차원 초입방체 전역에 걸쳐 초입방체 컨볼루션 필터를 적용하며, 이를 고차원 FCS 원시 데이터 초입방체 전환 기술과 접목하여 시각인식 인공지능 기반 임상적 의사결정 진단 장비로 활용 가능하다.The present invention applies a supercube convolution filter across the entire high-dimensional supercube, and combines it with high-dimensional FCS raw data hypercube conversion technology to be used as a visual recognition artificial intelligence-based clinical decision-making diagnosis equipment.

의료 및 생물학 분야 분석 장비 기원의 FCS 데이터는 시료 내 개별 세포(또는 이와 유사한 물리적, 유체역학적, 광학적 성질을 갖는 입자)들의 광학적/전자기적 특성을 탐지하고 이로부터 세포 수 및 성질을 정량적으로 분석하는 유세포/이미지세포분석 결과를 나타내는 생체 지표 데이터이다. 이러한 데이터는 각종 질병군과 연관성을 찾기 위한 지표로 활용된다. FCS data originating from medical and biological analysis equipment detects the optical/electromagnetic properties of individual cells (or particles with similar physical, hydrodynamic, and optical properties) in a sample and quantitatively analyzes the number and properties of cells therefrom. It is biomarker data showing the results of flow cytometry/image cytometry. These data are used as indicators to find correlations with various disease groups.

하지만 FCS 데이터의 전반적 형태적 특성을 포괄적으로 분석하여 각 시료의 생물학적/임상적 의미를 찾는 기계학습을 적용한 사례는 알려져 있지 않다. However, there is no known case of applying machine learning to comprehensively analyze the overall morphological characteristics of FCS data and find the biological/clinical meaning of each sample.

본 발명은 환자들의 질병 및 경과 관찰 과정에 생성되는 임상정보 또는 생물학적 실험 결과 생성되는 분석 데이터인 FCS 데이터를 이미지 분석 기계학습이 가능하도록 초입방형상 데이터로 전환하고, 초입방형상 데이터를 합성곱(convolution, 컨볼루션) 전처리를 적용함으로써 시각인식 기계학습을 가능하게 하고 이로부터 다양한 질병[예: 혈액암]이나 생물학적 특성과 관련된 패턴을 찾아내는 장치를 제공한다. The present invention converts FCS data, which is analysis data generated as a result of clinical information or biological experiments generated in the process of observing patients' diseases and progress, into hypercubic data to enable image analysis machine learning, and converts the hypercubic data into convolution ( It enables visual recognition machine learning by applying convolution preprocessing, and provides a device that finds patterns related to various diseases [eg, blood cancer] or biological characteristics.

FCS 데이터를 초입방형상으로 전환하고 이를 대상으로 한 4차원 이상의 고차원 데이터에 합성곱 처리를 하고 CNN을 적용하는 기술은 알려진 바 없다. 의료/생물학 분석 FCS 데이터 전환 초입방형상을 고려하지 않는 경우에도, 4차원 이상 고차원형상에 해당하는 일반적 다중변수 데이터에 합성곱 처리와 CNN 기계학습을 적용하는 사례가 알려진 바 없다.There is no known technology for converting FCS data into a supercubic shape, performing convolution processing on 4-dimensional or higher-dimensional data for this data, and applying CNN. Medical/biological analysis FCS data conversion Even when hypercubic shapes are not considered, there are no known examples of applying convolution processing and CNN machine learning to general multivariate data corresponding to 4-dimensional or higher-dimensional shapes.

본 발명을 통해서 임상 예측을 위한 FCS 데이터 기계학습 모델 개발을 촉진함으로써 종래의 단편적 수치 비교에 기반한 질환 진단 방식에서 벗어나 자동혈액분석검사 및 유세포분석 결과의 상황적, 통합적 해석을 가능하게 하고 이를 통해 보다 정확한 질병진단과 임상 상황 파악에 도움을 줄 수 있다. By promoting the development of FCS data machine learning models for clinical prediction through the present invention, it is possible to break away from the conventional disease diagnosis method based on piecemeal numerical comparison and to enable contextual and integrated interpretation of the results of automated blood analysis and flow cytometry analysis. It can help in accurate disease diagnosis and understanding the clinical situation.

본 발명을 통해서 임상적 유용성을 갖는 FCS 데이터 패턴을 발굴함에 따라, 의사가 인식하지 못한 환자의 이상을 조기에 발견하여 신속히 진단 또는 환자 파악에 이르도록 하는 의료 혁신이 가능하다. 질병 특이 검사에 비해 저렴한 자동혈액분석검사 시행을 통해서 질병의 진행 및 환자 상태의 변화를 추적할 수 있어 의료 자원 분배의 효율성을 높이는데 기여할 수 있다. As the FCS data patterns having clinical usefulness are discovered through the present invention, medical innovation is possible to quickly diagnose or identify patients by discovering abnormalities in patients that doctors did not recognize at an early stage. Compared to disease-specific tests, automated blood analysis can be used to track disease progression and changes in patients' conditions, which can contribute to improving the efficiency of medical resource distribution.

본 발명을 통해서 주로 분석자의 수기 작업에 의존하는 기존의 유세포분석 검사 결과판독을 자동화한 새로운 알고리즘 개발을 촉진함으로써 생물학 및 의학 연구를 보다 원활하게 할 수 있다.The present invention facilitates biological and medical research by facilitating the development of new algorithms that automate the reading of existing flow cytometry test results, which mainly rely on handwriting by analysts.

의료 분야에서의 FCS 데이터는 통상 검사인 자동혈액분석 검사의 시행으로 인해 대량이면서도 안정적으로 꾸준히 생산되고 있다. 또한 잘 정립되어 있는 임상병리검사의 지역적, 국제적 정도관리 체계로 인해 매우 높은 수준의 표준화를 달성한 상태로 그 기계적 성능이 유지되어 가고 있다. FCS data in the medical field is being produced stably and in large quantities due to the implementation of automated blood analysis tests, which are common tests. In addition, due to the well-established regional and international quality control system of clinical pathology tests, the mechanical performance is being maintained with a very high level of standardization achieved.

따라서 자동혈액분석 검사를 비롯한 유세포분석 유래 FCS 데이터는 임상 활용을 목표로 하는 기계학습 알고리즘 개발에 매우 적합한 기반 데이터임이 분명하다. Therefore, it is clear that flow cytometry-derived FCS data, including automated blood analysis tests, are very suitable base data for the development of machine learning algorithms aimed at clinical use.

본 발명 내용인 FCS 데이터 전환 방식은 새로운 의료 기계학습 분야의 문을 열 수 있다는 점에서 산업적, 학문적으로 매우 큰 가치를 갖고 있다. 나아가 다른 고차원 데이터에 기계학습이 가능하게 할 수 있다.The FCS data conversion method, which is the content of the present invention, has great industrial and academic value in that it can open the door to a new field of medical machine learning. Furthermore, machine learning can be made possible for other high-dimensional data.

도 1은 본 발명의 일 실시예에 따른 데이터 처리 장치를 예시한 도면이다.1 is a diagram illustrating a data processing apparatus according to an embodiment of the present invention.

장치(11)는 적어도 하나의 프로세서(120), 컴퓨터 판독 가능한 저장매체(13) 및 통신 버스(17)를 포함한다. The device 11 includes at least one processor 120 , a computer readable storage medium 13 and a communication bus 17 .

프로세서(120)는 장치(11)로 동작하도록 제어할 수 있다. 예컨대, 프로세서(12)는 컴퓨터 판독 가능한 저장 매체(130)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(12)에 의해 실행되는 경우 장치(11)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The processor 120 may control the device 11 to operate. For example, processor 12 may execute one or more programs stored in computer readable storage medium 130 . The one or more programs may include one or more computer executable instructions, which when executed by processor 12 may cause device 11 to perform operations in accordance with an illustrative embodiment. .

컴퓨터 판독 가능한 저장 매체(13)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보는 입출력 인터페이스(15)나 통신 인터페이스(16)를 통해서도 주어질 수 있다. 컴퓨터 판독 가능한 저장 매체(13)에 저장된 프로그램(14)은 프로세서(12)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능한 저장 매체(13)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 데이터 처리 장치(11)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer readable storage medium 13 is configured to store computer executable instructions or program code, program data and/or other suitable form of information. Computer executable instructions or program code, program data and/or other suitable forms of information may also be provided via input/output interface 15 or communication interface 16. The program 14 stored on the computer readable storage medium 13 includes a set of instructions executable by the processor 12 . In one embodiment, computer readable storage medium 13 includes memory (volatile memory such as random access memory, non-volatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, other types of storage media that can be accessed by the data processing apparatus 11 and store desired information, or suitable combinations thereof.

통신 버스(17)는 프로세서(12), 컴퓨터 판독 가능한 저장 매체(13)를 포함하여 데이터 처리 장치(11)의 다른 다양한 컴포넌트들을 상호 연결한다.Communication bus 17 interconnects various other components of data processing device 11, including processor 12 and computer readable storage medium 13.

장치(11)는 또한 하나 이상의 입출력 장치를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(15) 및 하나 이상의 통신 인터페이스(16)를 포함할 수 있다. 입출력 인터페이스(15) 및 통신 인터페이스(16)는 통신 버스(17)에 연결된다. 입출력 장치(미도시)는 입출력 인터페이스(15)를 통해 장치(11)의 다른 컴포넌트들에 연결될 수 있다.Device 11 may also include one or more input/output interfaces 15 and one or more communication interfaces 16 providing interfaces for one or more input/output devices. Input/output interface 15 and communication interface 16 are connected to communication bus 17 . An input/output device (not shown) may be connected to other components of the device 11 via an input/output interface 15 .

데이터 처리 장치(11)의 프로세서(12)는, 초기 데이터를 테이블 기반의 변환 데이터로 전처리하고, 테이블 기반의 변환 데이터에 신경 네트워크 모델의 필터를 적용한다.The processor 12 of the data processing device 11 preprocesses the initial data into table-based conversion data, and applies a filter of the neural network model to the table-based conversion data.

프로세서(12)는, N(N은 2이상의 자연수) 개의 축에 의해 N 차원의 데이터로 형성된 제1 데이터 구조를 테이블 형태로 형성된 제2 데이터 구조로 변환한다.The processor 12 converts a first data structure formed of N-dimensional data by N axes (where N is a natural number equal to or greater than 2) into a second data structure formed in the form of a table.

제1 데이터 구조는 4차원 이상의 깊이 정보를 갖는 초입방체를 포함할 수 있다. 제1 데이터 구조는 혈액 등의 임상 검체 또는 생물학적 분석 시료의 유세포 분석(Flow Cytometry) 및 유세포분석을 활용한 분석 기법의 측정 결과를 나타내는 생체 추출 데이터를 포함할 수 있다. 생체 추출 데이터는 미리 설정된 정형화된 형식 또는 FCS(Flow Cytometry Standard) 형식으로 표현될 수 있다.The first data structure may include a hypercube having depth information of 4 dimensions or more. The first data structure may include flow cytometry of a clinical sample such as blood or a biological analysis sample, and bio-extracted data representing a measurement result of an analysis technique using flow cytometry. The biological extraction data may be expressed in a pre-set standardized format or a flow cytometry standard (FCS) format.

제2 데이터 구조는 (i) N 개의 축에 해당하는 좌표 정보 및 (ii) 좌표 정보에 매칭하는 값 정보가 행 방향 또는 열 방향을 기준으로 배치될 수 있다. 제2 데이터 구조는 생체 추출 데이터의 일부 파라미터의 측정 값들을 병합하여 채널에 대한 좌표값을 포함하는 데이터로 변형하고, 변형된 데이터와 카운트값을 포함할 수 있다.In the second data structure, (i) coordinate information corresponding to the N axes and (ii) value information matching the coordinate information may be arranged in a row direction or a column direction. The second data structure may merge measurement values of some parameters of biometric extraction data, transform them into data including coordinate values for channels, and include the transformed data and count values.

프로세서는 제1 데이터 구조에 신경 네트워크 모델 적용을 위해서 제2 데이터 구조와 연산 가능하며 차원이 표현된 필터 프레임 구조를 설계한다. 프로세서는 필터 프레임 구조의 필터 중심을 미리 설정된 좌표를 기준으로 배치하여 필터 프레임 구조의 시작 위치를 설정할 수 있다. 프로세서는 필터 프레임 구조의 필터 가중치 요소들을 제1 데이터 구조의 차원을 고려하여, 행 방향 또는 열 방향을 기준으로 차원에 따른 프랙탈 방식으로 확장할 수 있다.In order to apply the neural network model to the first data structure, the processor designs a second data structure and a arithmetic filter frame structure in which dimensions are expressed. The processor may set the start position of the filter frame structure by arranging the filter center of the filter frame structure based on preset coordinates. The processor may expand the filter weight elements of the filter frame structure in a dimension-dependent fractal method based on a row direction or a column direction in consideration of the dimension of the first data structure.

프로세서는 필터 프레임 구조를 제2 데이터 구조의 테이블의 행 방향 또는 열 방향을 기준으로 이동시키는 방식으로 매칭하는 요소 간에 연산을 수행할 수 있다. 프로세서는 필터 프레임 구조의 필터 중심이 미리 설정된 행 조건 또는 열 조건을 만족하면, 연산을 스킵할 수 있다.The processor may perform an operation between matching elements by moving the filter frame structure in a row direction or column direction of the table of the second data structure. The processor may skip the operation when the filter center of the filter frame structure satisfies a preset row condition or column condition.

도 2는 본 발명의 일 실시예에 따른 데이터 처리 장치가 출력한 테이블 기반의 변환 데이터를 예시한 도면이다.2 is a diagram illustrating table-based conversion data output by a data processing apparatus according to an embodiment of the present invention.

본 실시예는 초입방 복셀의 좌표 및 그레이스케일 농도(density) 값에 대한 두 유형의 열(또는 행)이 있는 테이블로 일정 규격의 초입방 공간의 형식을 표현한다. 컨볼루션 필터는 컨볼루션될 초입방 공간과 동일한 차원을 갖지만 훨씬 더 작은 크기를 갖는다.In this embodiment, a table having two types of columns (or rows) for coordinates and grayscale density values of supercubic voxels expresses the format of a supercubic space of a certain standard. A convolution filter has the same dimensions as the hypercubic space to be convolved, but a much smaller size.

도 2를 참조하면, 6-차원 초입방 공간을 나타낸다. 각 차원의 크기는 5 (크기에 대한 임의의 단위 포함)이다. 6 개의 차원에 각각 6 개의 축을 할당한다. 각 복셀의 위치는 좌표로 표시된다. 좌표에는 6 개의 구성요소가 있으며 각 구성요소는 해당 차원의 투영 위치이다. 좌표 및 밀도 값이 있는 각 복셀은 이 테이블의 각 행(또는 열)을 차지한다. 도 2에서는 행 방향으로 배치하였으나 설계에 따라 열 방향으로 배치할 수도 있다. 즉, 행 데이터와 열 데이터가 치환된 상태(대각 이동)로 배치될 수 있다.Referring to FIG. 2, it represents a 6-dimensional hypercubic space. The size of each dimension is 5 (including arbitrary units for size). Assign 6 axes to each of the 6 dimensions. The location of each voxel is indicated by coordinates. Coordinates have 6 components, each component being a projection position in that dimension. Each voxel with its coordinates and density values occupies a row (or column) of this table. 2, they are arranged in a row direction, but may be arranged in a column direction according to design. That is, the row data and the column data may be arranged in a permuted state (diagonal movement).

초입방 공간을 구성하는 모든 복셀이 특정 순서로 배치된다. 먼저, 표의 상단 5 개 행은 1 번째 차원부터 5 번째 차원의 위치(또는 좌표값)가 0이고 6 번째 차원의 위치(또는 좌표값)가 0에서 4인((0,0,0,0,0,0), ... ,(0,0,0,0,0,4)) 복셀들의 그레이스케일 농도값을 보여준다. 다음 행의 복셀들은 5 번째 차원의 위치(좌표값)가 1로 변동하고 6 째 차원 위치(좌표값)는 앞서와 같은 방식으로 0에서 4로 진행한다((0,0,0,0,1,0), ... , (0,0,0,0,1,4)). 다음, 5 번째 차원 위치(좌표값) 2~4에 대해 각각 6 째 차원 위치(좌표값)가 0~4인 행을 추가한 후, 4 번째 차원 위치(좌표값) 1~4((0,0,0,1,0,0), ... , (0,0,0,4,0,0))에 대해 앞서 설명한 전체 프로세스를 반복한다. 이러한 방식으로 복셀을 테이블 행으로 추가한다(각 차원에서의 위치 이동). 테이블 형태의 데이터 구조는 초입방체의 위치에서 (0,0,0,0,0,0)부터 (4,4,4,4,4,4)까지 56개의 모든 복셀에 대한 정보를 표현할 수 있다. All voxels constituting the hypercubic space are arranged in a specific order. First, in the top 5 rows of the table, the positions (or coordinate values) of the 1st to 5th dimensions are 0 and the positions (or coordinate values) of the 6th dimension are 0 to 4 ((0,0,0,0, 0,0), ... ,(0,0,0,0,0,4)) shows grayscale density values of voxels. The position (coordinate value) of the 5th dimension of the voxels in the next row changes to 1, and the position (coordinate value) of the 6th dimension moves from 0 to 4 in the same way as before ((0,0,0,0,1 ,0), ... , (0,0,0,0,1,4)). Next, for the 5th dimension positions (coordinate values) 2 to 4, after adding rows with the 6th dimension positions (coordinate values) 0 to 4, respectively, the 4th dimension positions (coordinate values) 1 to 4 ((0, Repeat the entire process described above for 0,0,1,0,0), ... , (0,0,0,4,0,0)). Add voxels to table rows in this way (move their position in each dimension). The table-type data structure can express information about all 5 6 voxels from (0,0,0,0,0,0) to (4,4,4,4,4,4) at the location of the supercube. there is.

컨볼루션은 필터 각 복셀에 가중치를 할당하고, 필터 복셀과 중첩된 초입방체(hypercube) 복셀의 그레이스케일 농도값을 곱하고 합산한다. 초입방 공간을 나타내는 테이블의 각 행은 복셀에 해당하므로 필터와 겹치는 복셀들을 행의 그룹으로 지정할 수 있다. 필터가 스캐닝 방식으로 초입방체를 통과할 때 각 이동 단계마다 다른 초입방체 공간의 복셀들과 중첩되고, 중첩된 복셀들은 각 단계마다 별도의 다른 행 그룹을 형성한다. 각 이동 단계마다 필터와 중첩된 초입방체 공간 복셀들에 해당하는 행 그룹은 테이블 내에서 특정한 토폴로지 또는 패턴을 보이며, 컨볼루션 필터 이동과 함께 위치가 변경된다. 이미지와 입방체에서 시작하여 더 높은 차원의 초입방체로 진행할 수 있다.Convolution assigns a weight to each filter voxel, multiplies and sums the grayscale density values of the filter voxel and the overlapped hypercube voxel. Since each row of the table representing the hypercubic space corresponds to a voxel, voxels overlapping the filter can be designated as a row group. When the filter passes through the supercube in a scanning manner, it is overlapped with voxels in other hypercube spaces at each movement step, and the overlapped voxels form a separate row group at each step. At each movement step, the row group corresponding to the supercubic space voxels overlapped with the filter shows a specific topology or pattern in the table, and its position is changed along with the movement of the convolution filter. You can start with images and cubes and progress to higher-dimensional hypercubes.

도 3은 본 발명의 일 실시예에 따른 데이터 처리 장치에 의해 처리 가능한 2차원 데이터 및 2차원 필터를 예시한 도면이고, 도 4는 본 발명의 일 실시예에 따른 데이터 처리 장치가 처리하는 2차원 데이터에 대한 테이블 형태의 변환 데이터를 예시한 도면이다.3 is a diagram illustrating 2D data and a 2D filter that can be processed by a data processing device according to an embodiment of the present invention, and FIG. 4 is a 2D data processing device processed by the data processing device according to an embodiment of the present invention. It is a diagram illustrating conversion data in the form of a table for data.

첫 번째 예는 5 x 5 크기의 이미지이다. 축-1 및 축-2로 레이블이 지정된 열은 차원-1 및 차원-2에서 픽셀의 투영 위치(또는 좌표값)를 보여준다. 위치 및 농도 정보가 있는 행을 나열하는 순서는 위에서 설명한 대로이다. 다음으로, 3 x 3 크기의 컨볼루션 필터를 이미지에 적용하는 것을 보여준다. The first example is a 5 x 5 image. Columns labeled Axis-1 and Axis-2 show the projected positions (or coordinate values) of pixels in dimension-1 and dimension-2. The order of listing the rows with location and concentration information is as described above. Next, we show the application of a 3 x 3 convolutional filter to an image.

도 5는 본 발명의 일 실시예에 따른 데이터 처리 장치에 의해 처리 가능한 2차원 데이터 및 2차원 필터 간의 연산을 예시한 도면이고, 도 6은 본 발명의 일 실시예에 따른 데이터 처리 장치가 2차원 데이터에 대한 테이블 형태의 변환 데이터를 기반으로 연산을 수행하는 동작을 예시한 도면이다.5 is a diagram illustrating an operation between 2D data and a 2D filter that can be processed by a data processing apparatus according to an embodiment of the present invention, and FIG. 6 is a data processing apparatus according to an embodiment of the present invention. It is a diagram illustrating an operation of performing an operation based on conversion data in the form of a table for data.

실시예에서는 에지에 대한 특별한 처리가 없다는 규칙을 따른다. 먼저 필터 중심이 이미지의 (1,1) 위치에 오도록 하고 컨볼루션을 수행한다. 필터와 이미지를 중첩된 행렬로 나타내었다. 그런 다음 필터는 다음 컨볼루션 단계를 위해 축-1 방향으로 이동한다. 컨볼루션은 필터 픽셀의 가중치와 겹치는 이미지 픽셀의 농도를 곱하고 곱을 합산하는 것이다. The embodiment follows the rule of no special treatment for edges. First, set the center of the filter to the (1,1) position of the image and perform convolution. Filters and images are represented as superimposed matrices. The filter then moves in the axis-1 direction for the next convolution step. Convolution is simply multiplying the weight of a filter pixel by the intensity of the overlapping image pixels and summing the products.

첫 번째 컨볼루션은 10 (=0x0 + 1x1 + 0x2 + 1x0 + 2x2 + 1x4 + 0x1 + 1x1 + 0x6)을 생성한다. 두 번째 컨볼루션 합성곱은 21 (=0x1 + 1x2 + 0x1 + 1x2 + 2x4 + 1x3 + 0x1 + 1x6 + 0x2)이다. 필터 열을 원본 테이블에 추가하고 필터 픽셀에 할당된 가중치를 표시한다. 필터 픽셀과 겹치는 이미지 픽셀에 해당하는 행 그룹을 필터 열에서 지정한다.The first convolution produces 10 (=0x0 + 1x1 + 0x2 + 1x0 + 2x2 + 1x4 + 0x1 + 1x1 + 0x6). The second convolution convolution is 21 (=0x1 + 1x2 + 0x1 + 1x2 + 2x4 + 1x3 + 0x1 + 1x6 + 0x2). Adds a filter column to the original table and displays the weights assigned to the filter pixels. In the filter column, specify the row group corresponding to the image pixels that overlap the filter pixels.

테이블에서 행 1, 2, 3, 6, 7, 8, 11, 12, 13은 첫 번째 컨볼루션 단계에서 필터와 겹치는 이미지 픽셀들을 나타낸다. 컨볼루션의 테이블 표현에서 각 필터 가중치에 동일한 행의 농도를 곱한다.Rows 1, 2, 3, 6, 7, 8, 11, 12, and 13 in the table represent the image pixels overlapping the filter in the first convolution step. In the table representation of the convolution, each filter weight is multiplied by the concentration of the same row.

각각 FW(필터 가중치)1 및 FW2로 레이블이 지정된 필터 열의 숫자는 필터가 2차원임을 의미한다. 열 FW2에서 필터의 일부는 2차원을 넘어 확장될 수 있다. The numbers in the filter column, labeled FW (filter weights)1 and FW2 respectively, indicate that the filters are two-dimensional. Some of the filters in column FW2 may extend beyond two dimensions.

도 7은 본 발명의 일 실시예에 따른 데이터 처리 장치에 의해 처리 가능한 3차원 데이터 및 3차원 필터를 예시한 도면이고, 도 8은 본 발명의 일 실시예에 따른 데이터 처리 장치가 처리하는 3차원 데이터에 대한 테이블 형태의 변환 데이터를 예시한 도면이다.7 is a diagram illustrating 3D data and a 3D filter that can be processed by a data processing device according to an embodiment of the present invention, and FIG. 8 is a 3D data processing device processed by the data processing device according to an embodiment of the present invention. It is a diagram illustrating conversion data in the form of a table for data.

두 번째 예는 5 x 5 x 5 크기의 정육면체이다. 입방체에 3 x 3 x3 크기의 필터를 적용하고 테이블에서 어떻게 표현할 수 있는지 보여준다.The second example is a cube measuring 5 x 5 x 5. Apply a 3 x 3 x 3 filter to the cube and show how it can be represented in a table.

도 9는 본 발명의 일 실시예에 따른 데이터 처리 장치에 의해 처리 가능한 3차원 데이터 및 3차원 필터 간의 연산을 예시한 도면이고, 도 10은 본 발명의 일 실시예에 따른 데이터 처리 장치가 3차원 데이터에 대한 테이블 형태의 변환 데이터를 기반으로 연산을 수행하는 동작을 예시한 도면이다.9 is a diagram illustrating an operation between 3D data and a 3D filter that can be processed by a data processing apparatus according to an embodiment of the present invention, and FIG. 10 is a diagram illustrating a data processing apparatus according to an embodiment of the present invention It is a diagram illustrating an operation of performing an operation based on conversion data in the form of a table for data.

필터 중심이 입방체 공간의 (1,1,1)에 위치하도록 하고컨볼루션을 수행한다. 그런 다음 필터는 다음 컨볼루션 단계를 위해 축-1 방향으로 이동한다. 필터 중심은 이제 입방체 공간 내 (2,1,1)에 있다. The filter center is located at (1,1,1) in the cubic space and the convolution is performed. The filter then moves in the axis-1 direction for the next convolution step. The filter center is now at (2,1,1) in cubic space.

첫 번째 컨볼루션 값은 39(= 0x2 + 0x0 + 0x1 + 0x1 + 1x4 + 0x6 + 0x2 + 0x13 + 0x18 + 0x3 + 1x0 + 0x1 + 1x1 + 2x4 + 1x6 + 0x2 + 1x16 + 0x24 + 0x1 + 0x0 + 0x1 + 0x0 + 1x4 + 0x8 + 0x1 + 0x12 + 0x36)이다. The value of the first convolution is 39(= 0x2 + 0x0 + 0x1 + 0x1 + 1x4 + 0x6 + 0x2 + 0x13 + 0x18 + 0x3 + 1x0 + 0x1 + 1x1 + 2x4 + 1x6 + 0x2 + 1x16 + 0x24 + 0x1 + 0x0 + 0x1 + 0x0 + 1x4 + 0x8 + 0x1 + 0x12 + 0x36).

두 번째 컨볼루션 값은 61(= 0x0 + 0x1 + 0x1 + 0x4 + 1x6 + 0x4 + 0x13 + 0x18 + 0x8 + 0x0 + 1x1 + 0x1 + 1x4 + 2x6 + 1x6 + 0x16 + 1x24 + 0x8 + 0x1 + 0x1 + 0x1 + 0x4 + 1x8 + 0x10 + 0x12 + 0x36 + 0x12)이다.The value of the second convolution is 61 (= 0x0 + 0x1 + 0x1 + 0x4 + 1x6 + 0x4 + 0x13 + 0x18 + 0x8 + 0x0 + 1x1 + 0x1 + 1x4 + 2x6 + 1x6 + 0x16 + 1x24 + 0x8 + 0x1 + 0x1 + 0x1 + 0x4 + 1x8 + 0x10 + 0x12 + 0x36 + 0x12).

필터 열을 원본 테이블에 추가하고 열의 필터 복셀에 할당된 가중치를 표시한다. 필터 복셀과 겹치는 입방체 복셀(및 해당 행들)들이 필터 열에 지정된다. 테이블에서 행 1, 2, 3, 6, 7, 8, 11, 12, 13은 컨볼루션의 첫 번째 단계에서 필터와 겹치는 입방체의 복셀을 나타낸다. 컨볼루션의 테이블 표현에서 각 필터 가중치에 동일한 행의 농도를 곱한다.Adds a filter column to the original table and displays the weights assigned to the filter voxels in the column. Cubic voxels (and corresponding rows) overlapping the filter voxel are designated in the filter column. Rows 1, 2, 3, 6, 7, 8, 11, 12, and 13 in the table represent the voxels of the cube that overlap the filter in the first step of the convolution. In the table representation of the convolution, each filter weight is multiplied by the concentration of the same row.

도 11은 본 발명의 일 실시예에 따른 데이터 처리 장치가 따라 필터 프레임을 설계 배치하는 동작을 예시한 도면이다.11 is a diagram illustrating an operation of designing and arranging a filter frame according to a data processing apparatus according to an embodiment of the present invention.

n차원 초입방 공간에 대한 컨볼루션의 예를 제시한다. 도 11을 참조하면, 테이블 내의 컨볼루션 필터 프레임워크(필터 복셀의 행/열)의 예시를 볼 수 있다.We present an example of convolution in n-dimensional hypercubic space. Referring to FIG. 11 , an example of a convolution filter framework (rows/columns of filter voxels) in a table can be seen.

일정 규격의 초입방 공간 내에서 필터 복셀의 좌표를 결정하는 간단한 방법은 다음과 같다. 예시에서는, 필터 중심 위치를 쉽게 찾을 수 있기 위해 각 차원의 복셀 수를 홀수로 설정한다. 또한 모든 차원에서 동일한 크기(복셀 수로 표시)를 갖는 컨볼루션 필터를 사용하는 방법을 설명한다. 예를 들어, 각 차원의 크기가 ki(i = 1, ... , n)인 n 차원의 초입방체 공간과 각 차원의 크기가 3인 3n 크기의 초입방 컨볼루션 필터를 고려한다. A simple method for determining the coordinates of a filter voxel in a hypercubic space of a certain standard is as follows. In the example, the number of voxels in each dimension is set to an odd number in order to easily find the filter center position. It also describes how to use convolutional filters that have the same size (expressed in number of voxels) in all dimensions. For example, consider an n-dimensional hypercubic space where each dimension is k i (i = 1, ... , n) and a 3 n hypercubic convolution filter where each dimension is 3.

다음은, 초입방체 공간 내 컨볼루션 필터 복셀들의 좌표를 선정하는 방법이다. 초입방체 공간 내 임의의 점(x1, ... , xn)을 필터 중심으로 설정한다. 3n 개의 필터 복셀의 좌표를 (X1, ... , Xn)로 표현하면, X1은 x1-1, x1, x1+1, X2는 x2-1, x2, x2+1, ... , Xn는 xn-1, xn, xn+1 값을 갖을 수 있다. 각 차원 별 좌표가 세 값을 갖기 때문에 모두 3n 개의 좌표가 가능하며, 각각 필터 복셀과 필터와 중첩하는 초입방체 복셀들의 위치를 나타낸다. 이 좌표들을 갖는 초입방체 테이블 행들을 고르면 필터 중첩 초입방체 복셀에 해당하는 행 그룹이 된다. 초기 컨볼루션 단계 필터 중심 좌표가 (1, ... ,1)이면, 좌표(0 또는 1 또는 2, ... , 0 또는 1 또는 2)가 있는 행은 나머지 필터 복셀들의 좌표가 된다. 이러한 행을 선택하여 필터 프레임을 결정할 수 있다. The following is a method of selecting coordinates of convolution filter voxels in hypercube space. An arbitrary point (x 1 , ... , x n ) in hypercube space is set as the filter center. If the coordinates of 3 n filter voxels are expressed as (X 1 , ... , X n ), X 1 is x 1 -1, x 1 , x 1 +1, X 2 is x 2 -1, x 2 , x 2 +1, ... , X n can have the values x n -1, x n , x n +1. Since the coordinates for each dimension have three values, a total of 3 n coordinates are possible, and each represents the position of a filter voxel and supercubic voxels overlapping the filter. Selecting the hypercube table rows having these coordinates results in a row group corresponding to the filter overlapping hypercube voxel. If the initial convolution stage filter center coordinates are (1, ... , 1), the row with coordinates (0 or 1 or 2, ... , 0 or 1 or 2) becomes the coordinates of the remaining filter voxels. By selecting these rows, you can determine the filter frame.

다음은, 초입방체 공간 테이블에서 필터 중심이 할당된 행(중앙 행)으로부터 필터 중첩 행 그룹을 직접 구하는 방법이다.The following is a method of directly obtaining the filter superposition row group from the row (central row) to which the filter center is assigned in the hypercube space table.

먼저 중앙 행에 인접한 테이블의 두 행을 가져온다. 이렇게 선정된 세 행은 특정 차원(이 경우 차원-1)의 축에서 3-단위 길이의 선분에 해당한다. 다음으로, 전 단계의 세 행 위아래로 k1 만큼 떨어져 있는 행 세 개를 추가하여 모두 9 개의 행을 선정한다. 이 작업은 초입방체 내에 필터와 중심을 공유하는 32-크기의 정사각형을 생성한다. 다음 이전 단계의 9개 행 위아래로 k1 x k2 떨어진 9 개의 행을 추가하여 모두 27 개의 행을 선정한다. 이 동작에 의해 컨볼루션 필터와 중심이 같은 33-크기의 입방체가 생성된다. 다음 단계에서는 27개 행 각각의 위 아래로 k1 x k2 x k3 떨어진 27 행들을 선택하여 34-크기의 4차원 초입방체를 생성한다.First get the two rows of the table adjacent to the center row. These three selected rows correspond to a 3-unit-long line segment along the axis of a particular dimension (dimension-1 in this case). Next, a total of nine rows are selected by adding three rows spaced apart by k 1 above and below the three rows in the previous step. This operation creates a 3 2 -sized square within the hypercube that shares its centroid with the filter. Next, add 9 rows k 1 xk 2 above and below the previous 9 rows to select a total of 27 rows. This operation creates a 3 3 -sized cube concentric with the convolution filter. In the next step, a 3 4 -size 4-dimensional hypercube is created by selecting 27 rows k 1 xk 2 xk 3 above and below each of the 27 rows.

테이블에 대한 동일한 작업은 3n-크기 컨벌루션 초입방 필터에 해당하는 3n 행이 선택될 때까지 반복된다. The same operation on the table is repeated until 3 n rows corresponding to a 3 n -size convolutional hypercubic filter are selected.

도 12는 본 발명의 일 실시예에 따른 데이터 처리 장치가 차원 증가에 따라 필터 프레임을 확장 설계하는 동작을 예시한 도면이다.12 is a diagram illustrating an operation in which a data processing apparatus according to an embodiment of the present invention expands and designs a filter frame according to an increase in dimension.

도 12를 참고하면, 차원이 증가함에 따라 컨볼루션 필터의 프레임워크 구조가 테이블에서 어떻게 확장되는지 보여준다. 여기에서 컨볼루션 필터의 크기는 각 차원에 대해 3이고 테이블 내 필터 (중첩) 행의 토폴로지 구조는 프랙탈 방식으로 동일한 패턴으로 확장된다. 차원이 1씩 증가함에 따라 동일한 현재 구조를 자체 위와 아래에 추가한다.Referring to FIG. 12, it shows how the framework structure of the convolution filter expands in the table as the dimension increases. Here, the size of the convolution filter is 3 for each dimension and the topological structure of the filter (nested) rows in the table is extended in the same pattern in a fractal way. As the dimension increases by 1, it adds the same current structure above and below itself.

도 13은 본 발명의 일 실시예에 따른 데이터 처리 장치가 차원 증가에 따라 필터 프레임의 프랙탈 확장하는 동작을 예시한 도면이다. 2차원 필터의 경우 필터 중심 및 상하 3 개 행과 이 3 개 행의 위 아래로 k1만큼 떨어진 위치에 행을 추가한다. 3차원의 경우 2차원 필터와 동일한 프레임 행들을 상하 k1 x k2 행의 이격 거리를 두고 추가한다. 4차원의 경우 3차원 필터 프레임을 k1 x k2 x k3 행의 이격 거리를 두고 추가한다.13 is a diagram illustrating an operation of fractal expansion of a filter frame according to a dimension increase of a data processing apparatus according to an embodiment of the present invention. In the case of a 2D filter, a row is added at the center of the filter, 3 rows above and below the 3 rows, and a row separated by k 1 above and below the 3 rows. In the case of a 3D filter, the same frame rows as the 2D filter are added at a distance of k 1 xk 2 rows above and below. In the case of 4D, 3D filter frames are added at a spacing of k 1 xk 2 xk 3 rows.

일반적인 용어로 표현하면, n차원의 경우 (n-1)차원 필터 프레임 자체 위와 아래에 (n-1)차원 필터 프레임을 상하 k1 x ... x kn-1 행의 이격 거리를 두고 추가한다. 차원 확장에 따른 프랙탈 방식으로 n차원 컨볼루션 필터에 대해 3n 개의 행을 선택할 수 있다.Expressed in general terms, in the case of n-dimensional, (n-1)-dimensional filter frames are added above and below the (n-1)-dimensional filter frame itself at a distance of k 1 x ... xk n-1 rows above and below it. . 3 n rows can be selected for an n-dimensional convolution filter in a fractal method according to dimension expansion.

합성곱에 대한 계산은 저차원 공간 및 필터에 대한 계산과 동일하며, 초입방체 복셀의 그레이스케일 농도에 겹치는 필터 복셀 가중치를 곱하고 곱을 합산한다.The calculation for the convolution is the same as for the low-dimensional space and filter, multiplying the grayscale density of the supercubic voxel by the weight of the overlapping filter voxel and summing the products.

이하에서는 필터가 초입방 공간을 스캔할 때 테이블의 필터 프레임이 어떻게 변경되는가를 설명한다.The following describes how the filter frame of the table is changed when the filter scans the supercubic space.

먼저 컨볼루션의 시작점, 즉 필터 중심의 초기 위치를 결정해야 한다.First, we need to determine the starting point of the convolution, that is, the initial location of the center of the filter.

3n 크기의 컨볼루션 필터의 경우 좌표로 표현되는 시작점은 (1, ... , 1)이다. 테이블에서 이 좌표가 있는 행이 필터 중심의 시작점이다.For a convolution filter of size n 3, the starting point expressed as coordinates is (1, ... , 1). The row with these coordinates in the table is the starting point for the center of the filter.

필터 프레임에 해당하는 3n 개의 행은 초입방 공간에서 필터가 이동함에 따라 테이블 내에서 프레임워크 토폴로지를 유지한다. 초입방체 공간에서 필터의 1 복셀 이동은 테이블 표현에서 필터 프레임의 1행 하향 이동과 같다. 초입방 공간을 스캔할 때 필터 프레임이 테이블 아래로 계속 이동하도록 테이블을 구성할 수 있다. 다른 방향으로 테이블을 구성할 수도 있다. 초입방 공간에서 필터의 1 복셀 이동은 테이블의 열 방향으로 데이터가 기록되어 있으면 측면 이동과 같도록 구성할 수도 있다.The 3 n rows corresponding to the filter frame maintain the framework topology within the table as the filter moves in hypercubic space. One voxel movement of the filter in hypercube space equals one row downward movement of the filter frame in the table representation. The table can be configured so that the filter frame continues to move down the table as it scans the hypercubic space. You can also organize tables in other directions. If data is recorded in the column direction of the table, one voxel movement of the filter in the hypercubic space may be configured to be the same as lateral movement.

도 14는 본 발명의 일 실시예에 따른 데이터 처리 장치가 3차원 입방체 공간에서 컨벌루션 필터의 이동을 입방체 테이블에서 행 그룹의 하방 시프트 및 스킵을 수행하는 동작으로 표현한 예시 도면이다.14 is an exemplary view in which a data processing apparatus according to an embodiment of the present invention expresses movement of a convolution filter in a 3D cubic space as an operation of performing downward shift and skip of a row group in a cubic table.

한 줄 아래로(또는 한 열 옆으로) 시프트하는 동작을 기본 동작으로 한다. The default action is to shift down one line (or to the side of one column).

필터가 특정 차원의 에지에 도달하면 다음 스캔 이동이 특별하다. 필터는 다음의 높은 차원에서 위치를 하나씩 이동한다. 그리고 필터는 현재 차원의 시작 위치로 돌아간다. 이러한 유형의 스캐닝 이동은 테이블에서 필터 프레임이 1 행 이상 아래로 이동하는 것으로 나타낸다. 에지 처리를 적용하지 않으면 필터의 일부가 공간의 끝을 넘어갈 때 컨볼루션 곱이 없다. 필터의 비생산적인 위치는 최종 컨볼루션 결과에 나타나지 않아야 한다. When the filter reaches the edge of a certain dimension, the next scan move is special. The filter moves the position one by one in the next higher dimension. And the filter returns to the starting position of the current dimension. This type of scanning movement is represented by moving the filter frame down one or more rows in the table. If no edge processing is applied, there is no convolutional product when any part of the filter crosses the end of the space. Non-productive locations of filters should not appear in the final convolution result.

따라서 테이블에서 특정 수의 필터 프레임 위치를 건너뛸 필요가 있으며 이는 1 행보다 큰 필터 프레임 하방 이동으로 나타난다.Therefore, it is necessary to skip a certain number of filter frame positions in the table, which results in a downward movement of the filter frame greater than one row.

필터는 연속된 이동에도 차원의 끝에 계속 있을 수 있다. 예를 들어, 공간의 표면을 따라 스캔하는 경우이다. 이 경우 필터 프레임 위치의 훨씬 더 중요한 이동이 필요하다. A filter can still be at the end of a dimension in successive moves. For example, when scanning along the surface of a room. In this case a much more significant movement of the filter frame position is required.

간단한 방법으로, 필터 프레임 중심 좌표로 이동 패턴을 설정할 수 있다. 비생산적인 필터 중심 위치(좌표)에 해당하는 행을 미리 결정할 수 있다. 좌표가 0, k1-1, ... , kn-1 중 하나를 포함하는 행이 리스트된다. 필터 프레임이 이 행을 중심으로 하는 모든 컨볼루션 단계를 건너뛴다. 필터 중심이 끝점(k1-2, ... , kn-2)에 도달할 때까지 규칙적인 스킵 동작을 통한 프레임 이동이 계속된다.In a simple way, we can set the movement pattern to the coordinates of the center of the filter frame. You can pre-determine the row corresponding to the unproductive filter center position (coordinates). Rows whose coordinates contain one of 0, k 1 -1, ... , k n -1 are listed. The filter frame skips all convolution steps centered on this row. Frame movement continues through a regular skipping operation until the filter center reaches an end point (k 1 -2, ... , k n -2).

예를 들어, 차원 1의 필터 중심이 0 또는 k1-1이면 한 행을 건너뛴다. 차원 1과 차원 2의 필터 중심이 각각 (0 또는 k1-1) 및 (0 또는 k2-1)이면 k1 행을 건너뛴다. 차원 1, 2, 및 3의 필터 중심이 각각 (0 또는 k1-1), (0 또는 k2-1), 및 (0 또는 k3-1)인 경우 k1 x k2 행을 건너뛴다. For example, if the filter center of dimension 1 is 0 or k 1 -1, one row is skipped. If the filter centers of dimensions 1 and 2 are (0 or k 1 -1) and (0 or k 2 -1), then k 1 rows are skipped. Skip k 1 xk 2 rows if the filter centers of dimensions 1, 2, and 3 are (0 or k 1 -1), (0 or k 2 -1), and (0 or k 3 -1), respectively.

도 14를 참조하면, 필터 프레임이 한 행 이상 아래로 이동하는 컨볼루션의 간헐적인 건너뛰기를 보여준다. 숫자가 있는 큰 열은 컨볼루션 단계를 의미한다.Referring to Fig. 14, it shows intermittent skipping of the convolution as the filter frame moves down one or more rows. Large columns with numbers indicate convolution steps.

도 15 및 도 16은 본 발명의 다른 실시예에 따른 데이터 처리 방법을 예시한 도면이다.15 and 16 are diagrams illustrating a data processing method according to another embodiment of the present invention.

데이터 처리 방법은 데이터 처리 장치에 의해 수행될 수 있다.The data processing method may be performed by a data processing device.

데이터 처리 방법은 초기 데이터를 테이블 기반의 변환 데이터로 전처리하는 단계(S21), 테이블 기반의 변환 데이터에 신경 네트워크 모델의 필터를 적용하는 단계(S22)를 포함한다.The data processing method includes pre-processing initial data into table-based conversion data (S21) and applying a neural network model filter to the table-based conversion data (S22).

전처리하는 단계(S21)는, N(N은 2이상의 자연수) 개의 축에 의해 N 차원의 데이터로 형성된 제1 데이터 구조를 테이블 형태로 형성된 제2 데이터 구조로 변환하는 단계(S31)를 포함할 수 있다.The preprocessing step (S21) may include converting a first data structure formed of N-dimensional data by N (N is a natural number of 2 or more) axes into a second data structure formed in the form of a table (S31). there is.

제1 데이터 구조는 4차원 이상의 깊이 정보를 갖는 초입방체를 포함할 수 있다. 제1 데이터 구조는 혈액의 유세포 분석(Flow Cytometry)에 대한 결과를 나타내는 생체 추출 데이터를 포함하며, 상기 생체 추출 데이터는 미리 설정된 정형화된 형식 또는 FCS(Flow Cytometry Standard) 형식으로 표현될 수 있다.The first data structure may include a hypercube having depth information of 4 dimensions or more. The first data structure includes bio-extracted data representing a result of flow cytometry of blood, and the bio-extracted data may be expressed in a pre-set standardized format or a flow cytometry standard (FCS) format.

제2 데이터 구조는 (i) N 개의 축에 해당하는 좌표 정보 및 (ii) 좌표 정보에 매칭하는 값 정보가 행 방향 또는 열 방향을 기준으로 배치될 수 있다. 제2 데이터 구조는 생체 추출 데이터의 일부 파라미터의 측정 값들을 병합하여 채널에 대한 좌표값을 포함하는 데이터로 변형하고, 변형된 데이터와 카운트값을 포함할 수 있다.In the second data structure, (i) coordinate information corresponding to the N axes and (ii) value information matching the coordinate information may be arranged in a row direction or a column direction. The second data structure may merge measurement values of some parameters of biometric extraction data, transform them into data including coordinate values for channels, and include the transformed data and count values.

전처리하는 단계(S21)는, 제1 데이터 구조에 신경 네트워크 모델 적용을 위해서 제2 데이터 구조와 연산 가능하며 차원이 표현된 필터 프레임 구조를 설계하는 단계(S32)를 포함할 수 있다.The preprocessing step (S21) may include designing a filter frame structure in which dimensions are expressed and operable with the second data structure in order to apply the neural network model to the first data structure (S32).

필터 프레임 구조를 설계하는 단계(S32)는, 필터 프레임 구조의 필터 중심을 미리 설정된 좌표를 기준으로 배치하여 필터 프레임 구조의 시작 위치를 설정할 수 있다.In the step of designing the filter frame structure ( S32 ), the start position of the filter frame structure may be set by arranging the filter center of the filter frame structure based on preset coordinates.

필터 프레임 구조를 설계하는 단계(S32)는, 필터 프레임 구조의 필터 가중치 요소들을 제1 데이터 구조의 차원을 고려하여, 행 방향 또는 열 방향을 기준으로 차원에 따른 프랙탈 방식으로 확장할 수 있다.In the step of designing the filter frame structure ( S32 ), the filter weight elements of the filter frame structure may be expanded in a fractal method according to a dimension in a row direction or a column direction in consideration of the dimension of the first data structure.

필터를 적용하는 단계(S22)는, 필터 프레임 구조를 제2 데이터 구조의 테이블의 행 방향 또는 열 방향을 기준으로 이동시키는 방식으로 매칭하는 요소 간에 연산을 수행하는 단계(S33)를 포함할 수 있다.The step of applying the filter (S22) may include a step (S33) of performing an operation between matching elements by moving the filter frame structure based on the row direction or column direction of the table of the second data structure. .

필터를 적용하는 단계(S22)는, 필터 프레임 구조의 필터 중심이 미리 설정된 행 조건 또는 열 조건을 만족하면, 연산을 스킵할 수 있다.In the step of applying the filter ( S22 ), if the filter center of the filter frame structure satisfies a preset row condition or column condition, the operation may be skipped.

도 17은 종래의 생체 추출 데이터의 분석 동작을 설명하기 위한 예시도이다.17 is an exemplary diagram for explaining a conventional analysis operation of biological extraction data.

일반적으로 FCS 데이터 분석하는 방법은 도 17에 도시된 바와 같이, 분석 대상이 되는 세포(군집)을 분석자의 학술적 지식을 기반으로 세밀하게 선택/분리하고, 선택한 세포들을 계수 하거나 측정된 광학적 성질(예: 광분산 강도, 형광 발광) 및 이와 연관된 생물학적 성질(예: 크기, 구조, 항원 표현형)을 추출해 내는 과정으로 구성된다.In general, the FCS data analysis method, as shown in FIG. 17, carefully selects/separates cells (clusters) to be analyzed based on the analyst's academic knowledge, counts the selected cells, or measures optical properties (e.g., : light scattering intensity, fluorescence emission) and related biological properties (eg size, structure, antigenic phenotype) are extracted.

도 18은 본 발명의 실시예에 따른 생체 추출 데이터 기반의 질병 진단 장치를 개략적으로 나타낸 블록 구성도이다.18 is a schematic block diagram of an apparatus for diagnosing diseases based on biological extraction data according to an embodiment of the present invention.

본 실시예에 따른 질병 진단 장치(100)는 입력부(110), 출력부(120), 프로세서(200), 메모리(300) 및 데이터 베이스(400)를 포함한다. 도 2의 질병 진단 장치(100)는 일 실시예에 따른 것으로서, 도 18에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 질병 진단 장치(100)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 한편, 질병 진단 장치(100)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 장치로 구현되거나, 소프트웨어가 결합된 별도의 하드웨어 장치로 구현될 수 있다.The disease diagnosis apparatus 100 according to the present embodiment includes an input unit 110, an output unit 120, a processor 200, a memory 300, and a database 400. The disease diagnosis apparatus 100 of FIG. 2 is according to an embodiment, and all blocks shown in FIG. 18 are not essential components, and some blocks included in the disease diagnosis apparatus 100 in another embodiment are added or changed. or can be deleted. Meanwhile, each component included in the disease diagnosis apparatus 100 may be implemented as a separate software device or as a separate hardware device combined with software.

질병 진단 장치(100)는 FCS(Flow Cytometry Standard) 데이터를 자동으로 학습용 데이터로 전처리하고, 전처리된 데이터를 기계학습과 인공지능 진단 모델의 데이터로 활용하고, 기계학습을 통해서 다양한 질병들의 특징값(Feature)를 찾아내고, 특징값들과 질병과의 연관성을 파악하여 예측 가능한 진단 모델을 생성하거나 특정 질병을 진단하는 동작을 수행한다. The disease diagnosis apparatus 100 automatically preprocesses FCS (Flow Cytometry Standard) data as learning data, uses the preprocessed data as data for machine learning and artificial intelligence diagnosis models, and through machine learning, the feature values of various diseases ( feature), and identify the correlation between feature values and disease to generate a predictive diagnosis model or to diagnose a specific disease.

입력부(110)는 질병 진단 장치(100)를 제어하기 위한 데이터를 입력하거나 획득하는 수단을 의미한다. 입력부(110)는 프로세서(200)와 연동하여 다양한 형태의 제어신호를 입력하거나, 외부 장치와 연동하여 직접 데이터를 획득하여 프로세서(200)로 전달할 수도 있다. The input unit 110 means means for inputting or obtaining data for controlling the disease diagnosis apparatus 100 . The input unit 110 may interwork with the processor 200 to input various types of control signals, or may directly acquire data by interworking with an external device and transmit it to the processor 200 .

출력부(120)는 프로세서(200)와 연동하여 데이터의 전처리 결과, 학습결과, 진단 결과 등 다양한 정보를 표시할 수 있다. 출력부(120)는 질병 진단 장치(100)에 구비된 디스플레이(미도시)를 통해 다양한 정보를 표시하는 것이 바람직하나 반드시 이에 한정되는 것은 아니다. The output unit 120 may display various information such as data preprocessing results, learning results, and diagnosis results in conjunction with the processor 200 . The output unit 120 preferably displays various information through a display (not shown) provided in the disease diagnosis apparatus 100, but is not necessarily limited thereto.

프로세서(200)는 메모리(300)에 포함된 적어도 하나의 명령어 또는 프로그램을 실행시키는 기능을 수행한다.The processor 200 performs a function of executing at least one instruction or program included in the memory 300 .

본 실시예에 따른 프로세서(200)는 입력부(110) 또는 데이터 베이스(400)로부터 획득한 생체 추출 데이터를 기반으로 데이터 전처리를 수행하고, 전처리된 데이터를 기반으로 질병 진단을 위한 기계학습을 수행한다. 또한, 프로세서(200)는 기 학습된 학습결과를 기반으로 진단 대상의 질병을 진단할 수 있다. 본 실시예에 따른 프로세서(200)의 자세한 동작은 도 3에서 설명하도록 한다. 여기서, 생체 추출 데이터는 생체 추출 FCS(Flow Cytometry Standard) 원시 데이터인 것이 바람직하나 반드시 이에 한정되는 것은 아니다.The processor 200 according to the present embodiment performs data pre-processing based on biometric extraction data obtained from the input unit 110 or the database 400, and performs machine learning for disease diagnosis based on the pre-processed data. . Also, the processor 200 may diagnose a disease of a diagnosis target based on a pre-learned learning result. A detailed operation of the processor 200 according to this embodiment will be described with reference to FIG. 3 . Here, the bio-extracted data is preferably bio-extracted FCS (Flow Cytometry Standard) raw data, but is not necessarily limited thereto.

메모리(300)는 프로세서(200)에 의해 실행 가능한 적어도 하나의 명령어 또는 프로그램을 포함한다. 메모리(300)는 생체 추출 데이터를 기반으로 데이터를 전처리하는 동작을 위한 명령어 또는 프로그램을 포함할 수 있다. 또한, 메모리(300)는 전처리된 데이터를 기반으로 기계학습을 수행하는 동작을 위한 명령어 또는 프로그램을 포함할 수 있다. 또한, 메모리(300)는 학습 결과를 기반으로 진단 대상의 질병을 진단하는 동작을 위한 명령어 또는 프로그램을 포함할 수 있다.The memory 300 includes at least one instruction or program executable by the processor 200 . The memory 300 may include instructions or programs for preprocessing data based on biometric data. Also, the memory 300 may include instructions or programs for performing machine learning based on preprocessed data. Also, the memory 300 may include instructions or programs for an operation of diagnosing a disease of a diagnosis target based on a learning result.

데이터 베이스(400)는 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 의미하는 것으로, 데이터의 검색(추출), 삭제, 편집, 추가 등을 자유롭게 행할 수 있는 데이터 저장형태를 뜻하는 것으로, 오라클(Oracle), 인포믹스(Infomix), 사이베이스(Sybase), DB2와 같은 관계형 데이타베이스 관리 시스템(RDBMS)이나, 겜스톤(Gemston), 오리온(Orion), O2 등과 같은 객체 지향 데이타베이스 관리 시스템(OODBMS) 및 엑셀론(Excelon), 타미노(Tamino), 세카이주(Sekaiju) 등의 XML 전용 데이터베이스(XML Native Database)를 이용하여 본 발명의 일 실시예의 목적에 맞게 구현될 수 있고, 자신의 기능을 달성하기 위하여 적당한 필드(Field) 또는 엘리먼트들을 가지고 있다.The database 400 refers to a general data structure implemented in the storage space (hard disk or memory) of a computer system using a database management program (DBMS), such as data search (extraction), deletion, editing, addition, etc. It means a data storage format that can freely perform, Oracle, Informix, Sybase, Relational Database Management System (RDBMS) such as DB2, Gemston, Orion ( Orion), O2, etc., and XML Native Databases, such as Excelon, Tamino, Sekaiju, etc. It can be implemented according to the purpose and has appropriate fields or elements to achieve its function.

본 실시예에 따른 데이터베이스(400)는 생체 추출 데이터와 관련된 정보를 저장하고, 생체 추출 데이터 및 생체 추출 데이터와 관련된 정보를 제공할 수 있다. 데이터베이스(400)에 저장된 생체 추출 데이터는 혈액의 유세포 분석(Flow Cytometry)에 대한 결과를 나타내는 데이터일 수 있다. 생체 추출 데이터는 기 설정된 정형화된 형식 또는 FCS(Flow Cytometry Standard) 형식의 데이터인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. The database 400 according to this embodiment may store information related to bio-extracted data and provide bio-extracted data and information related to bio-extracted data. The biological extraction data stored in the database 400 may be data representing a result of flow cytometry of blood. The biological extraction data is preferably data in a predetermined standardized format or FCS (Flow Cytometry Standard) format, but is not necessarily limited thereto.

데이터베이스(140)는 질병 진단 장치(100) 내에 구현되는 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 별도의 데이터 저장장치로 구현될 수도 있다. The database 140 is described as being implemented in the disease diagnosis device 100, but is not necessarily limited thereto, and may be implemented as a separate data storage device.

도 19는 본 발명의 실시예에 따른 질병 진단 장치에 프로세서의 동작 구성을 개략적으로 나타낸 블록 구성도이다.19 is a block diagram schematically illustrating an operational configuration of a processor in a disease diagnosis apparatus according to an embodiment of the present invention.

본 실시예에 따른 질병 진단 장치(100)에 포함된 프로세서(200)는 데이터 획득부(210), 데이터 전처리부(220), 데이터 학습부(230) 및 질병 진단부(240)를 포함한다. 도 19의 프로세서(200)는 일 실시예에 따른 것으로서, 도 19에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 프로세서(200)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 한편, 프로세서(200)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 장치로 구현되거나, 소프트웨어가 결합된 별도의 하드웨어 장치로 구현될 수 있다.The processor 200 included in the disease diagnosis apparatus 100 according to the present embodiment includes a data acquisition unit 210, a data pre-processing unit 220, a data learning unit 230, and a disease diagnosis unit 240. The processor 200 of FIG. 19 is according to one embodiment, and all blocks shown in FIG. 19 are not essential components, and some blocks included in the processor 200 may be added, changed, or deleted in other embodiments. there is. Meanwhile, each component included in the processor 200 may be implemented as a separate software device or a separate hardware device combined with software.

데이터 획득부(210)는 진단 대상의 혈액에서 추출된 생체 추출 데이터를 획득하는 동작을 수행한다. 여기서, 생체 추출 데이터는 혈액의 유세포 분석(Flow Cytometry)에 대한 결과를 나타내는 데이터일 수 있다. 생체 추출 데이터는 기 설정된 정형화된 형식 또는 FCS(Flow Cytometry Standard) 형식의 데이터인 것이 바람직하나 반드시 이에 한정되는 것은 아니다. The data acquisition unit 210 performs an operation of obtaining biological extraction data extracted from the blood of a subject to be diagnosed. Here, the biological extraction data may be data representing a result of flow cytometry of blood. The biological extraction data is preferably data in a predetermined standardized format or FCS (Flow Cytometry Standard) format, but is not necessarily limited thereto.

데이터 획득부(210)는 프로세서(200)와 연동하는 입력부(110) 또는 데이터 베이스(400)를 통해 생체 추출 데이터를 획득할 수 있다. 여기서, 데이터 획득부(210)는 프로세서(200)와 연동하는 데이터 베이스(400)로부터 생체 추출 데이터를 획득하는 경우, 기 설정된 주기마다 자동으로 생체 추출 데이터를 수집하거나 입력부(110)를 통해 입력된 데이터 요청신호를 데이터 베이스(400)로 전송하여 생체 추출 데이터를 수집할 수 있다. The data acquisition unit 210 may obtain biological extraction data through the input unit 110 or the database 400 that interoperates with the processor 200 . Here, when the data acquisition unit 210 acquires bio-extracted data from the database 400 interlocking with the processor 200, the bio-extracted data is automatically collected at predetermined intervals or inputted through the input unit 110. A data request signal may be transmitted to the database 400 to collect biological extraction data.

데이터 전처리부(220)는 생체 추출 데이터에 포함된 복수 개의 파라미터를 기반으로 생성된 초기 데이터를 복수의 채널 각각에 대한 좌표값으로 변형하고, 변형된 데이터를 학습용 데이터로 재구성하는 동작을 수행한다. 본 실시예에 따른 데이터 전처리부(220)는 초기 데이터 생성부(222), 데이터 변형부(224) 및 데이터 재구성부(226)를 포함한다. The data pre-processing unit 220 transforms initial data generated based on a plurality of parameters included in biometric data into coordinate values for each of a plurality of channels, and reconstructs the transformed data into training data. The data pre-processing unit 220 according to the present embodiment includes an initial data generating unit 222, a data transforming unit 224, and a data reconstruction unit 226.

초기 데이터 생성부(222)는 생체 추출 데이터에 포함된 검사 항목 채널의 복수 개의 파라미터의 전체 또는 일부 파라미터의 측정값을 이용하여 초기 데이터를 생성한다. The initial data generation unit 222 generates initial data using measurement values of all or some parameters of a plurality of parameters of a test item channel included in the biometric extraction data.

초기 데이터 생성부(222)는 복수 개의 파라미터 중 적어도 둘 이상의 파라미터 각각에 대한 상기 측정값을 이용하여 상기 초기 데이터를 생성할 수 있다. The initial data generator 222 may generate the initial data using the measurement values for each of at least two or more parameters among a plurality of parameters.

데이터 변형부(224)는 초기 데이터에 포함된 전체 또는 일부 파라미터의 측정값들을 가공없이 병합하여 상기 검사 항목 채널 각각에 대한 좌표값을 포함하는 데이터로 변형하고, 변형된 데이터와 상기 변형된 데이터 각각에 대한 카운트값을 포함하는 데이터 테이블을 생성한다. The data transformation unit 224 merges all or partial parameter measurement values included in the initial data without processing, transforms them into data including coordinate values for each of the test item channels, and transforms each of the transformed data and the transformed data. Create a data table containing count values for .

또한 데이터 변형부(224)는 초기 데이터에 포함된 전체 또는 일부 파라미터의 측정값들을 선정된 일정한 값(예: 4, 8, 32 등의 특정 값)으로 나눈 몫으로 치환하는 방법으로 데이터를 변형(이미지 깊이 변환)하고, 이때 발생하는 데이터의 유실을 막기 위해 각 몫에 소정의 값(예: 10)을 더하는 방법을 취한다.In addition, the data transforming unit 224 transforms the data by replacing the measured values of all or some parameters included in the initial data with a quotient divided by a predetermined value (eg, a specific value such as 4, 8, 32, etc.) image depth conversion), and a method of adding a predetermined value (eg, 10) to each quotient to prevent loss of data that occurs at this time.

이렇게 변형된 데이터와 상기 변형된 데이터 각각에 대한 카운트 값을 포함하는 데이터 테이블을 생성한다.A data table including the transformed data and count values for each of the transformed data is created.

데이터 변형부(224)는 일부 파라미터의 측정값을 순차적 또는 기 설정된 순서로 병합하여 생성된 좌표값을 포함하는 변형된 데이터로 변형한다. The data transforming unit 224 transforms the measured values of some parameters into transformed data including coordinate values generated by merging sequentially or in a predetermined order.

또한, 데이터 변형부(224)는 변형된 데이터에 포함된 좌표값과 동일한 좌표값이 존재하는 경우, 동일한 좌표값을 삭제하고, 좌표값에 대한 상기 카운트값을 기 설정된 단위로 증가하여 카운트값을 갱신하고, 변형된 데이터와 갱신된 상기 카운트값을 포함하는 상기 데이터 테이블을 생성한다. In addition, the data transforming unit 224 deletes the same coordinate value when the same coordinate value as the coordinate value included in the transformed data exists, and increases the count value for the coordinate value by a preset unit to obtain a count value and generate the data table including modified data and the updated count value.

데이터 재구성부(226)는 데이터 테이블에 포함된 변형된 데이터를 이용하여 기계학습용 데이터 테이블로 재구성하는 동작을 수행한다. The data reconstruction unit 226 performs an operation of reconstructing the data table for machine learning using the transformed data included in the data table.

데이터 재구성부(226)는 변형된 데이터에 포함된 좌표값을 1 차원 좌표값으로 구성하고, 1 차원 좌표값으로 구성하는 과정에서 좌표값이 존재하지 않는 부분을 0 값으로 채우거나, 또는 좌표값이 존재하는 부분만 표시하는 방법을 사용하여

Figure 112021116669635-pat00001
(ni는 기 설정된 기준 크기값 이상의 자연수) 형태의 기계학습용 이미지(데이터 테이블)로 재구성할 수 있다. 여기서, 재구성된 기계학습용 이미지(데이터 테이블)는 2 차원 또는 3 차원의 형태일 수 있다. The data restructuring unit 226 configures the coordinate values included in the transformed data into 1-dimensional coordinate values, and in the process of constructing the 1-dimensional coordinate values, fills the part where the coordinate values do not exist with 0 values, or the coordinate values using a method to display only the parts that exist
Figure 112021116669635-pat00001
It can be reconstructed into an image (data table) for machine learning in the form of (n i is a natural number equal to or greater than a predetermined standard size value). Here, the reconstructed image for machine learning (data table) may be in a two-dimensional or three-dimensional form.

본 실시예에 따른 데이터 전처리부(220)는 질병 진단 장치(100) 내에 포함된 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 질병 진단 장치(100)와 별도의 장치로 구현될 수 있다. 예를 들어, 데이터 전처리부(220)는 생체 추출 데이터를 진단을 위한 기계학습용 데이터로 변환하는 데이터 전처리장치(미도시)와 같은 별도의 장치로 구현될 수 있으며, 데이터 전처리장치(미도시)는 다양한 형태로 학습을 수행하여 질병을 진단하는 장치와 연동할 수 있다. Although the data pre-processing unit 220 according to this embodiment is described as being included in the disease diagnosis apparatus 100, it is not necessarily limited thereto, and may be implemented as a separate device from the disease diagnosis apparatus 100. For example, the data pre-processing unit 220 may be implemented as a separate device such as a data pre-processing device (not shown) that converts biological extraction data into machine learning data for diagnosis, and the data pre-processing device (not shown) It can be linked with a device that diagnoses a disease by performing learning in various forms.

데이터 학습부(230)는 재구성된 학습용 데이터에서 특징값을 추출하고, 추출된 특징값을 분류하여 질병 진단을 위한 학습을 수행한다. 본 실시예에 따른 데이터 학습부(230)는 특징 추출부(232) 및 특징 분류부(234)를 포함한다. The data learning unit 230 extracts feature values from the reconstructed learning data, classifies the extracted feature values, and performs learning for disease diagnosis. The data learning unit 230 according to the present embodiment includes a feature extraction unit 232 and a feature classification unit 234.

특징 추출부(232)는 합성망 알고리즘을 이용하여 기계확습용 데이터 테이블에 포함된 상기 재구성된 데이터 내에서 특징값을 추출한다. The feature extraction unit 232 extracts feature values from the reconstructed data included in the data table for machine learning using a synthetic network algorithm.

특징 분류부(234)는 특정 질병 별로 특징값을 분류하여 학습을 수행한다. The feature classification unit 234 classifies feature values for each specific disease and performs learning.

질병 진단부(240)는 학습된 특징값을 이용하여 특정 질병을 진단하는 동작을 수행한다. 질병 진단부(240)는 진단 대상에 대한 신규 정보가 입력된 경우, 신규 정보와 특정 질병에 대한 특징값을 비교하여 질병을 진단한다. The disease diagnosis unit 240 performs an operation of diagnosing a specific disease using the learned feature value. When new information about a diagnosis target is input, the disease diagnosis unit 240 diagnoses the disease by comparing the new information with feature values of a specific disease.

도 20은 본 발명의 실시예에 따른 생체 추출 데이터 기반의 질병 진단 방법을 설명하기 위한 순서도이다.20 is a flowchart illustrating a method for diagnosing a disease based on biological extraction data according to an embodiment of the present invention.

질병 진단 장치(100)는 진단 대상의 혈액에서 추출된 생체 추출 데이터를 획득한다(S310). 여기서, 생체 추출 데이터는 혈액의 유세포 분석(Flow Cytometry)에 대한 결과를 나타내는 데이터일 수 있다. 생체 추출 데이터는 기 설정된 정형화된 형식 또는 FCS(Flow Cytometry Standard) 형식의 데이터인 것이 바람직하나 반드시 이에 한정되는 것은 아니다.The disease diagnosis apparatus 100 obtains biological extraction data extracted from the blood of a diagnosis subject (S310). Here, the biological extraction data may be data representing a result of flow cytometry of blood. The biological extraction data is preferably data in a predetermined standardized format or FCS (Flow Cytometry Standard) format, but is not necessarily limited thereto.

질병 진단 장치(100)는 생체 추출 데이터를 기반으로 초기 데이터를 생성한다(S320). 질병 진단 장치(100)는 생체 추출 데이터에 포함된 검사 항목 채널의 복수 개의 파라미터의 전체 또는 일부 파라미터의 측정값을 이용하여 초기 데이터를 생성한다. The disease diagnosis apparatus 100 generates initial data based on biologically extracted data (S320). The disease diagnosis apparatus 100 generates initial data using measurement values of all or some parameters of a plurality of parameters of a test item channel included in bio-extracted data.

질병 진단 장치(100)는 초기 데이터에 포함된 데이터를 변형하여 데이터 테이블을 생성한다(S330). 질병 진단 장치(100)는 초기 데이터에 포함된 일부 파라미터의 측정값들을 병합하여 상기 검사 항목 채널 각각에 대한 좌표값을 포함하는 데이터로 변형하고, 변형된 데이터와 상기 변형된 데이터 각각에 대한 카운트값을 포함하는 데이터 테이블을 생성한다. The disease diagnosis apparatus 100 generates a data table by transforming data included in the initial data (S330). The disease diagnosis apparatus 100 merges measurement values of some parameters included in the initial data and transforms them into data including coordinate values for each of the test item channels, and transforms the transformed data and count values for each of the transformed data Create a data table containing

질병 진단 장치(100)는 데이터 테이블에 포함된 변형된 데이터를 재구성하여 기계학습용 데이터 테이블을 생성한다(S340).The disease diagnosis apparatus 100 generates a data table for machine learning by reconstructing the transformed data included in the data table (S340).

질병 진단 장치(100)는 데이터 테이블에 포함된 변형된 데이터에 포함된 좌표값을 1 차원 좌표값으로 구성하고, 1 차원 좌표값으로 구성하는 과정에서 좌표값이 존재하지 않는 부분을 0 값으로 채우거나, 또는 좌표값이 존재하는 부분만 표시하는 방법을 사용하여

Figure 112021116669635-pat00002
(ni는 기 설정된 기준 크기값 이상의 자연수) 형태의 기계학습용 이미지(데이터 테이블)로 재구성할 수 있다. The disease diagnosis apparatus 100 configures the coordinate values included in the transformed data included in the data table as 1-dimensional coordinate values, and fills the part where the coordinate values do not exist with 0 values in the process of configuring the 1-dimensional coordinate values. or by using a method of displaying only the part where coordinate values exist
Figure 112021116669635-pat00002
It can be reconstructed into an image (data table) for machine learning in the form of (n i is a natural number equal to or greater than a predetermined standard size value).

질병 진단 장치(100)는 합성망 알고리즘을 이용하여 기계확습용 데이터 테이블에 포함된 재구성된 데이터 내에서 특징값을 추출한다(S350).The disease diagnosis apparatus 100 extracts feature values from the reconstructed data included in the data table for machine learning using a synthetic network algorithm (S350).

질병 진단 장치(100)는 특징값을 기반으로 학습을 수행하여 특정 질병 별로 특징값을 분류한다(S360).The disease diagnosis apparatus 100 performs learning based on the feature values and classifies the feature values for each specific disease (S360).

질병 진단 장치(100)는 학습된 특징값을 이용하여 특정 질병을 진단한다(S370). 질병 진단 장치(100)는 진단 대상에 대한 신규 정보가 입력된 경우, 신규 정보와 특정 질병에 대한 특징값을 비교하여 질병을 진단한다.The disease diagnosis apparatus 100 diagnoses a specific disease using the learned feature value (S370). When new information about a diagnosis target is input, the disease diagnosis apparatus 100 diagnoses the disease by comparing the new information with feature values for a specific disease.

도 20에서는 각 단계를 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 20에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 20은 시계열적인 순서로 한정되는 것은 아니다.In FIG. 20, each step is described as sequentially executed, but is not necessarily limited thereto. In other words, since it can be applied by changing and executing the steps described in FIG. 20 or by executing one or more steps in parallel, FIG. 20 is not limited to a time-series sequence.

도 20에 기재된 본 실시예에 따른 질병 진단 방법은 애플리케이션(또는 프로그램)으로 구현되고 단말장치(또는 컴퓨터)로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 질병 진단 방법을 구현하기 위한 애플리케이션(또는 프로그램)이 기록되고 단말장치(또는 컴퓨터)가 읽을 수 있는 기록매체는 컴퓨팅 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치 또는 매체를 포함한다.The disease diagnosis method according to the present embodiment described in FIG. 20 may be implemented as an application (or program) and recorded on a recording medium readable by a terminal device (or computer). A recording medium in which an application (or program) for implementing the method for diagnosing a disease according to the present embodiment is recorded and which is readable by a terminal device (or computer) is any type of recording device storing data that can be read by a computing system, or includes media

도 21은 본 발명의 실시예에 따른 환자정보 및 생체 추출 데이터를 이용하여 질병을 진단하는 동작을 설명하기 위한 예시도이다. 구체적으로, 도 21은 본 발명의 실시예에 따른 환자정보 및 생체 추출 FCS 원시 데이터를 시각인식 기계학습에 적용할 수 있는 초입방체 형상으로 전환하는 데이터 전처리 과정을 설명하기 위한 예시도이다.21 is an exemplary diagram for explaining an operation of diagnosing a disease using patient information and biometric extraction data according to an embodiment of the present invention. Specifically, FIG. 21 is an exemplary diagram for explaining a data pre-processing process of converting patient information and biometric FCS raw data according to an embodiment of the present invention into a hypercubic shape that can be applied to visual recognition machine learning.

질병 진단 장치(100)에서 데이터 전처리부(220)는 기계학습을 위한 데이터 전처리를 수행한다. In the disease diagnosis apparatus 100, the data pre-processing unit 220 performs data pre-processing for machine learning.

진단 대상을 구분할 수 있는 환자 정보를 익명화 처리하고, 익명화된 정보의 임상 검사 결과를 데이터 전처리부(220)로 입력한다. Patient information capable of distinguishing diagnosis subjects is anonymized, and clinical examination results of the anonymized information are input to the data pre-processing unit 220 .

데이터 전처리부(220)는 기 설정된 엑셀 형식 또는 FCS 형식의 생체 추출 데이터를 획득하고, 생체 추출 데이터에 포함된 복수의 파라미터의 측정값을 벡터 기반의 좌표값으로 표현하여 초기 데이터를 생성한다. The data pre-processing unit 220 obtains bio-extracted data in a preset Excel format or FCS format, and expresses measurement values of a plurality of parameters included in the bio-extracted data as vector-based coordinate values to generate initial data.

데이터 전처리부(220)는 초기 데이터에 포함된 복수 개의 파라미터의 좌표값들을 병합하여 하나의 좌표값으로 변형하고, 변형된 데이터와 각각의 병합된 좌표값의 카운팅을 통해 데이터 테이블(데이터 프레임)을 생성한다. 데이터 전처리부(220)는 데이터베이스에 저장된 데이터를 READ 또는 WRITE하여 데이터 테이블을 갱신 처리한다. The data pre-processing unit 220 merges the coordinate values of a plurality of parameters included in the initial data and transforms them into one coordinate value, and generates a data table (data frame) through counting the transformed data and each merged coordinate value. create The data pre-processing unit 220 updates the data table by READ or WRITE data stored in the database.

데이터 전처리부(220)는 데이터 테이블에 포함된 변형된 데이터를 재구성하여 변환한다. 데이터 전처리부(220)는 질병 진단 장치(100)는 데이터 테이블에 포함된 변형된 데이터에 포함된 좌표값을 1 차원 좌표값으로 구성하고, 1 차원 좌표값으로 구성하는 과정에서 좌표값이 존재하지 않는 부분을 0 값으로 채우거나, 또는 좌표값이 존재하는 부분만 표시하는 방법을 사용하여

Figure 112021116669635-pat00003
(ni는 기 설정된 기준 크기값 이상의 자연수) 형태의 기계학습용 이미지(데이터 테이블)로 재구성할 수 있다. The data pre-processing unit 220 reconstructs and transforms the transformed data included in the data table. The data pre-processing unit 220 configures the coordinate values included in the transformed data included in the data table in the disease diagnosis device 100 as 1-dimensional coordinate values, and in the process of configuring the 1-dimensional coordinate values, the coordinate values do not exist. Fill in the missing part with 0 values, or use a method of displaying only the parts where coordinate values exist
Figure 112021116669635-pat00003
It can be reconstructed into an image (data table) for machine learning in the form of (n i is a natural number equal to or greater than a predetermined standard size value).

데이터 전처리부(220)는 변환된 기계학습용 데이터 또는 기계학습용 데이터 테이블을 데이터 학습부(230)로 전달하여 특정 질병을 진단하기 위한 학습이 수행되도록 한다. The data pre-processing unit 220 transfers the converted machine learning data or machine learning data table to the data learning unit 230 so that learning for diagnosing a specific disease is performed.

도 22는 본 발명의 실시예에 따른 신경 네트워크를 이용하여 질병을 진단하는 동작을 설명하기 위한 블록도이다.22 is a block diagram for explaining an operation of diagnosing a disease using a neural network according to an embodiment of the present invention.

데이터 학습부(230)는 데이터 전처리부(220)에서 구성된 기계학습용 데이터를 입력 데이터로 사용하여 이미지 학습의 과정을 수행한다. The data learning unit 230 uses the data for machine learning configured in the data preprocessing unit 220 as input data to perform a process of image learning.

데이터 학습부(230)는 이미지 학습의 과정을 통하여 입력 데이터에서 특징값(Feature)을 검출하는 동작을 수행한다. 여기서, 데이터 학습부(230)는 복수의 컨볼루션 레이어(Convolutional Layer) 기반의 합성망 알고리즘 및 기타 다른 향상된 기계학습 알고리즘을 이용하여 입력 데이터의 특징값을 검출할 수 있다. The data learning unit 230 performs an operation of detecting a feature value (Feature) from input data through a process of image learning. Here, the data learning unit 230 may detect feature values of the input data using a synthetic network algorithm based on a plurality of convolutional layers and other advanced machine learning algorithms.

데이터 학습부(230)는 검출된 특징값들을 기반으로 학습을 진행하여 특정 질병의 특징값들의 분류를 수행한다. The data learning unit 230 performs learning based on the detected feature values to classify feature values of a specific disease.

질병 진단부(240)는 데이터 학습부(230)의 학습결과를 기반으로 질병의 진단을 수행할 수 있다. 질병 진단부(240)는 진단 대상에 대한 신규 데이터 또는 기계학습 이전의 데이터가 입력된 경우, 해당 데이터에서 기 학습된 특정 질병(예: 혈액암 등) 환자군에서 추출한 특징값의 유무를 분석하고, 특징값의 유무에 따라 특정 질병을 진단할 수 있다. The disease diagnosis unit 240 may diagnose a disease based on the learning result of the data learning unit 230 . The disease diagnosis unit 240 analyzes the presence or absence of feature values extracted from a patient group with a specific disease (eg, blood cancer, etc.) pre-learned from the data when new data or data prior to machine learning for the diagnosis target is input, Depending on the presence or absence of feature values, a specific disease can be diagnosed.

도 23은 본 발명의 실시예에 따른 컴퓨터 내 진단장치의 동작 프로세스를 설명하기 위한 예시도이다. 23 is an exemplary diagram for explaining an operating process of a diagnosis device in a computer according to an embodiment of the present invention.

본 실시예에 따른 질병 진단 장치(100)는 컴퓨터 내의 진단장치(700)로 구현될 수 있다. 컴퓨터 내의 진단장치(700)는 데이터 처리부(710), 특징값 생성부(720), 인공지능부(730) 및 진단부(740)를 포함하여 구성될 수 있다. The disease diagnosis apparatus 100 according to the present embodiment may be implemented as a diagnosis apparatus 700 in a computer. The diagnosis device 700 in the computer may include a data processing unit 710, a characteristic value generator 720, an artificial intelligence unit 730, and a diagnosis unit 740.

데이터 처리부(710)는 생체 추출 데이터에 포함된 복수 개의 파라미터를 기반으로 생성된 초기 데이터를 복수의 채널 각각에 대한 좌표값으로 변형하고, 변형된 데이터를 기계학습용 데이터로 재구성하는 동작을 수행한다. 여기서, 데이터 처리부(710)는 데이터 전처리부(220)의 전체 또는 일부 기능을 포함하는 형태로 구현될 수 있다. The data processing unit 710 transforms initial data generated based on a plurality of parameters included in the biometric data into coordinate values for each of a plurality of channels, and reconstructs the transformed data into data for machine learning. Here, the data processing unit 710 may be implemented in a form including all or part of the functions of the data pre-processing unit 220 .

특징값 생성부(720)는 합성망 알고리즘 및 기타 다른 향상된 기계학습 알고리즘을 이용하여 기계학습용 데이터 테이블에 포함된 재구성된 데이터 내에서 추출된 특징값을 생성할 수 있다. 여기서, 특징값 생성부(720)는 데이터 학습부(230)의 일부 기능을 포함하는 형태로 구현될 수 있다.The feature value generation unit 720 may generate feature values extracted from the reconstructed data included in the data table for machine learning using a synthetic network algorithm and other improved machine learning algorithms. Here, the feature value generation unit 720 may be implemented in a form including some functions of the data learning unit 230 .

인공지능부(730)는 추출된 특징값을 기반으로 학습을 수행하고, 학습결과에 따라 특정 질병 별로 특징값을 분류한다. 여기서, 인공지능부(730)는 데이터 학습부(230)의 일부 기능을 포함하는 형태로 구현될 수 있다.The artificial intelligence unit 730 performs learning based on the extracted feature values, and classifies feature values for each specific disease according to the learning result. Here, the artificial intelligence unit 730 may be implemented in a form including some functions of the data learning unit 230 .

진단부(740)는 학습된 특징값을 이용하여 특정 질병을 진단한다. 진단부(740)는 진단 대상에 대한 신규 정보가 입력된 경우, 신규 정보와 특정 질병에 대한 특징값을 비교하여 질병을 진단한다. 여기서, 진단부(740)는 질병 진단부(240)의 전체 또는 일부 기능을 포함하는 형태로 구현될 수 있다.The diagnosis unit 740 diagnoses a specific disease using the learned feature value. When new information on a diagnosis target is input, the diagnosis unit 740 diagnoses a disease by comparing the new information with a feature value for a specific disease. Here, the diagnosis unit 740 may be implemented in a form including all or some functions of the disease diagnosis unit 240 .

도 24 및 도 25는 본 발명의 실시예에 따른 생체 추출 데이터를 기반으로 초기 데이터를 생성하는 동작을 설명하기 위한 예시도이다.24 and 25 are exemplary diagrams for explaining an operation of generating initial data based on biologically extracted data according to an embodiment of the present invention.

도 24를 참조하면, 진단 대상의 혈액에서 추출된 생체 추출 데이터는 복수 개의 파라미터를 포함하고, 복수 개의 파라미터 각각은 측정값을 포함한다. 예를 들어, 자동 혈구 분석기를 통해 추출된 생체 추출 데이터는 환자 및 검체 그리고 분석 장비의 분석 모듈 별로 두 개 내지 네 개의 파일로 구분되며, 각 파일은 분석 파라미터 별 측정값이 도 24와 같이 나열되어 있는 테이블 형식으로 구현될 수 있다. Referring to FIG. 24 , bio-extracted data extracted from the blood of a diagnosis subject includes a plurality of parameters, and each of the plurality of parameters includes a measured value. For example, biological extraction data extracted through an automatic blood cell analyzer is divided into two to four files for each patient, sample, and analysis module of the analysis equipment, and each file lists the measured values for each analysis parameter as shown in FIG. 24. It can be implemented in the form of a table.

예를 들어, 생체 추출 데이터는 4 개의 분석 파라미터를 이용한 4 차원의 좌표들로 이루어진 점들의 집합일 수 있다. 하지만, 이미지 표현을 통해 이해를 돕기 위하여 생체 추출 데이터에 포함된 네 개의 파라미터 중 세 개의 파라미터를 선택하고, 선택된 파라미터를 이용하여 도 25와 같이 3 차원적 좌표점들로 표현하였다. 여기서, 질병 진단 장치(100)는 선택된 파라미터를 통해 데이터 전처리를 위한 초기 데이터를 생성할 수 있다. For example, bio-extracted data may be a set of points composed of 4-dimensional coordinates using 4 analysis parameters. However, in order to help understanding through image representation, three parameters among the four parameters included in the biological extraction data were selected, and three-dimensional coordinates were expressed as shown in FIG. 25 using the selected parameters. Here, the disease diagnosis apparatus 100 may generate initial data for data pre-processing through the selected parameters.

도 26 내지 도 29는 본 발명의 실시예에 따른 복수의 채널 각각의 초기 데이터를 나타낸 예시도이다. 도 26 내지 도 29는 본 발명의 실시예에 따른 CBC 유래 FCS 데이터에 포함된 복수의 파라미터(본 예에서는 3 개의 파라미터) 각각의 초기 데이터를 3차원 (초)입방체 내 형상으로 나타낸 예시도이다. 도 26 내지 도 29에 예시한 각 10 개의 입방체 내 형상은 10 개의 검체 또는 10 명의 환자에서 유래한 데이터를 시각화한 것으로 유사하면서도 각기 다른 형태적 특징을 갖고 있다.26 to 29 are exemplary diagrams illustrating initial data of each of a plurality of channels according to an embodiment of the present invention. 26 to 29 are exemplary diagrams showing initial data of each of a plurality of parameters (three parameters in this example) included in CBC-derived FCS data according to an embodiment of the present invention in a shape in a 3-dimensional (super)cube. The shapes in each of the 10 cubes illustrated in FIGS. 26 to 29 are visualizations of data derived from 10 specimens or 10 patients, and have similar but different morphological characteristics.

생체 추출 데이터를 기반으로 3 차원의 좌표점들은 도 26 내지 도 29와 같은 플롯(plot)으로 그래프화될 수 있다. 이러한 좌표점들의 플롯 양상은 환자/검체 별로 유사하지만 미세한 차이를 보인다. 예를 들어, 자동혈액분석장비는 2 개 내지 4 개의 채널(또는 모듈)을 통한 개별적 분석을 동시에 시행하기 때문에 한 검체 당 2 개 내지 4 개의 FCS 데이터를 생성할 수 있다. Based on the living body extraction data, three-dimensional coordinate points may be graphed as plots as shown in FIGS. 26 to 29 . The plot patterns of these coordinate points are similar for each patient/specimen, but show subtle differences. For example, since the automatic blood analysis equipment simultaneously performs individual analysis through 2 to 4 channels (or modules), it can generate 2 to 4 FCS data per sample.

도 26 내지 도 29는 10 명의 환자에서 수집한 자동혈구분석(CBC) 각 채널 별 FCS 데이터의 4 개 파라미터들(FCS, FCSW, SSC, SFL: 4 차원) 중 세 개의 파라미터를 3 차원 좌표에 열거해 놓은 것이다. 각 채널 별로 10 개의 FCS 데이터 플롯을 열거하여 육안 비교가 가능하도록 나타내었다.26 to 29 enumerate three parameters among four parameters (FCS, FCSW, SSC, SFL: 4 dimensions) of FCS data for each channel of CBC collected from 10 patients in 3-dimensional coordinates. it has been done Ten FCS data plots for each channel are enumerated and displayed for visual comparison.

도 26은 WDF channel(자동혈구분석기 백혈구 분석 channel 중 하나)에 대한 플롯들이고, 도 27은 WPC channel(자동혈구분석기 백혈구 분석 channel 중 하나)에 대한 플롯들을 나타낸다. 도 28은 WNR channel(자동혈구분석기 백혈구 분석 channel)에 대한 플롯들이고, 도 29는 PLT-F channel(자동혈구분석기 혈소판 분석 channel 중 하나)에 대한 플롯들을 나타낸다. 도 26 내지 도 29에 도시된 각 플롯은 유사한 군집(Clustering) 양상을 보이나 자세한 분포 양상에서 미세한 차이를 보인다.FIG. 26 shows plots for the WDF channel (one of the white blood cell analysis channels of an automatic blood cell analyzer), and FIG. 27 shows plots for the WPC channel (one of the white blood cell analysis channels of an automatic blood cell analyzer). FIG. 28 is plots for the WNR channel (automated blood cell analyzer leukocyte analysis channel), and FIG. 29 shows plots for the PLT-F channel (one of the automated blood cell analyzer platelet analysis channels). Each plot shown in FIGS. 26 to 29 shows a similar clustering aspect, but shows subtle differences in detailed distribution patterns.

도 30 및 도 31은 본 발명의 실시예에 따른 생체 추출 데이터를 기반으로 기본적인 데이터를 변형하는 동작을 설명하기 위한 예시도이다.30 and 31 are exemplary diagrams for explaining an operation of modifying basic data based on biologically extracted data according to an embodiment of the present invention.

도 30은 FCS 데이터를 초입방체 공간 내(이 예에서는 3 개 파라미터에 대응하는 3차원 입방체) 형상으로 표현할 수 있음을 설명하기 위한 예시도이다. 초입방체 공간은 초입방체 픽셀의 집합으로 구성되어 있으며, 각 픽셀의 위치를 나타내는 좌표가 각 대응 파라미터의 측정값이 된다. 각 픽셀의 음영(gray scale) 강도는 각 픽셀의 위치에 해당하는 파라미터 값의 조합을 갖는 세포 또는 입자의 수에 의해 결정된다. 30 is an exemplary diagram for explaining that FCS data can be expressed in a supercubic space (in this example, a 3D cube corresponding to three parameters). The hypercube space is composed of a set of hypercube pixels, and the coordinates representing the position of each pixel become the measured value of each corresponding parameter. The gray scale intensity of each pixel is determined by the number of cells or particles having a combination of parameter values corresponding to the location of each pixel.

도 31은 초기 데이터를 변형하는 동작을 설명하기 위한 데이터 테이블을 나타낸다. 도 31은 파라미터 값과 초입방체 픽셀 좌표와의 관계, 그리고 각 픽셀의 음영 강도 정의에 따라 픽셀 별 음영 강도(Count 열)를 나타내고 픽셀의 좌표에 따라 정렬하여 표시한 테이블의 예시 설명이다.31 shows a data table for explaining an operation of transforming initial data. 31 is an exemplary description of a table displaying shading intensities (Count column) for each pixel according to the relationship between parameter values and supercubic pixel coordinates and the shading intensity definition of each pixel, sorted and displayed according to pixel coordinates.

질병 진단 장치(100)는 초기 데이터(FCS 데이터)의 파라미터 각각의 측정값들을 병합하여 각각의 검사 항목값이 하나의 좌표값이 되도록 변형한다. The disease diagnosis apparatus 100 merges measurement values of each parameter of initial data (FCS data) and transforms each test item value into one coordinate value.

또한 진단장치(100)는 초기 데이터에 포함된 전체 또는 일부 파라미터의 측정값들을 선정된 일정한 값(예: 4, 8, 32 등의 특정 값)으로 나눈 몫으로 치환하는 방법으로 데이터를 변형(이미지 깊이 변환)하고, 이때 발생하는 데이터의 유실을 막기 위해 각 몫에 소정의 값(예: 10)을 더하는 방법을 취한다.In addition, the diagnostic device 100 transforms the data (image depth conversion), and a method of adding a predetermined value (eg, 10) to each quotient to prevent loss of data that occurs at this time.

또한, 질병 진단 장치(100)는 변형된 데이터와 상기 변형된 데이터 각각에 대한 카운트값을 포함하는 데이터 테이블을 생성한다.Also, the disease diagnosis apparatus 100 creates a data table including modified data and count values for each of the modified data.

질병 진단 장치(100)는 변형된 데이터에 포함된 좌표값과 동일한 좌표값이 존재하는 경우, 동일한 좌표값을 삭제하고 좌표값에 대한 카운트값을 기 설정된 단위로 증가하여 카운트값을 갱신하고, 변형된 데이터와 갱신된 카운트값을 포함하는 데이터 테이블을 생성한다. 예를 들어, 질병 진단 장치(100)는 변형된 데이터의 좌표값이 1 개일 경우 카운트값을 1로 부여하고, 동일한 좌표값이 존재하는 경우 해당 좌표값의 카운트값을 2로 부여하는 방식으로 새로운 데이터 테이블을 생성할 수 있다. When the same coordinate value as the coordinate value included in the transformed data exists, the disease diagnosis apparatus 100 deletes the same coordinate value, increases the count value for the coordinate value by a preset unit, updates the count value, and transforms the Creates a data table containing updated data and updated count values. For example, the disease diagnosis apparatus 100 assigns a count value of 1 when the coordinate value of the transformed data is 1, and assigns a count value of 2 to the corresponding coordinate value when the same coordinate value exists. You can create data tables.

질병 진단 장치(100)는 데이터 테이블을 통해, 좌표 공간 내 각 픽셀(pixel)에 해당하는 좌표점의 수를 계산할 수 있다. 도 10a의 예시는 변형된 데이터에 포함된 좌표값을 그래프로 나타낸 것이고, 도 10b는 데이터 테이블을 통해 좌표 공간 내 각 픽셀(pixel)에 해당하는 좌표점을 카운팅하는 동작을 나타낸다. The disease diagnosis apparatus 100 may calculate the number of coordinate points corresponding to each pixel in the coordinate space through the data table. The example of FIG. 10A shows a graph of coordinate values included in transformed data, and FIG. 10B shows an operation of counting coordinate points corresponding to each pixel in a coordinate space through a data table.

도 32는 본 발명의 실시예에 따른 생체 추출 데이터를 기반으로 데이터를 재구성하는 동작을 예시하여 설명하기 위한 도면이다. FCS 데이터를 상기 방법과 같이 초입방체 내 형상을 나타내는 테이블로 1차 전환한 뒤 이를 재 배열하여 2차원 이미지 형식으로 2차 변환한 예시도이다.32 is a diagram for explaining an operation of reconstructing data based on biologically extracted data according to an embodiment of the present invention by way of example. This is an example of FCS data being first converted into a table representing the shape in the hypercube as in the above method, and then rearranged and secondly converted into a 2D image format.

질병 진단 장치(100)는 데이터 테이블의 좌표 순으로 표시된 카운트 값을 동일한 순서의 1 차원 배열로 나타내고, 이를 재구성하여 기계학습용 2차원 배열(이미지 형식)로 재구성할 수 있다. The disease diagnosis apparatus 100 may represent the count values displayed in the coordinate order of the data table as a one-dimensional array in the same order, and reconstruct them into a two-dimensional array (image format) for machine learning.

질병 진단 장치(100)는 변형된 데이터에 포함된 좌표값을 1 차원 좌표값으로 구성하고, 1 차원 좌표값으로 구성하는 과정에서 좌표값이 존재하지 않는 부분을 0 값으로 채우거나, 또는 좌표값이 존재하는 부분만 표시하는 방법을 사용하여

Figure 112021116669635-pat00004
(ni는 기 설정된 기준 크기값 이상의 자연수) 형태의 기계학습용 데이터 테이블로 재구성할 수 있다. 예를 들어, 질병 진단 장치(100)는 도 11에 도시된 바와 같이, 12 * 12 크기의 기계학습용 데이터 테이블과 같이 데이터를 재구성할 수 있다. 여기서, 하나의 행은 하나의 좌표값 및 카운트값을 의미한다. The disease diagnosis apparatus 100 configures the coordinate values included in the transformed data as one-dimensional coordinate values, and in the process of constructing the one-dimensional coordinate values, fills a part where no coordinate values exist with a value of 0, or coordinate values using a method to display only the parts that exist
Figure 112021116669635-pat00004
It can be reconstructed into a data table for machine learning in the form of (n i is a natural number equal to or greater than a predetermined standard size value). For example, as shown in FIG. 11 , the disease diagnosis apparatus 100 may reconstruct data such as a 12*12 machine learning data table. Here, one row means one coordinate value and one count value.

장치는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.The device may be implemented in a logic circuit by hardware, firmware, software, or a combination thereof, and may be implemented using a general-purpose or special-purpose computer. The device may be implemented using a hardwired device, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or the like. Also, the device may be implemented as a System on Chip (SoC) including one or more processors and controllers.

장치는 하드웨어적 요소가 마련된 컴퓨팅 디바이스 또는 서버에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 컴퓨팅 디바이스 또는 서버는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.The device may be mounted in the form of software, hardware, or a combination thereof in a computing device or server equipped with hardware elements. A computing device or server includes all or part of a communication device such as a communication modem for communicating with various devices or wired/wireless communication networks, a memory for storing data for executing a program, and a microprocessor for executing calculations and commands by executing a program. It can mean a variety of devices, including

본 실시예들에 따른 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있을 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.Operations according to the present embodiments may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer readable medium. Computer readable medium refers to any medium that participates in providing instructions to a processor for execution. A computer readable medium may include program instructions, data files, data structures, or combinations thereof. For example, there may be a magnetic medium, an optical recording medium, a memory, and the like. The computer program may be distributed over networked computer systems so that computer readable codes are stored and executed in a distributed manner. Functional programs, codes, and code segments for implementing this embodiment may be easily inferred by programmers in the art to which this embodiment belongs.

본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.These embodiments are for explaining the technical idea of this embodiment, and the scope of the technical idea of this embodiment is not limited by these embodiments. The scope of protection of this embodiment should be construed according to the claims below, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of rights of this embodiment.

Claims (20)

합성 곱 연산을 위한 데이터 처리 방법에 있어서,
상기 데이터 처리 방법은, 프로세서 및 상기 데이터 처리 방법과 관련된 실행을 위한 프로그램이 저장된 메모리를 포함하는 데이터 처리 장치에 의하여 수행되며, 상기 프로세서는 상기 프로그램의 실행에 따라,
초기 데이터를 테이블 기반의 변환 데이터로 전처리하는 단계; 및
상기 테이블 기반의 변환 데이터에 신경 네트워크 모델의 필터를 적용하는 단계를 포함하는 동작들을 수행하고,
상기 전처리하는 단계는,
합성 곱 연산을 위해, N(상기 N은 2이상의 자연수) 개의 축에 의해 N 차원의 데이터로 형성된 제1 데이터 구조를 갖는 상기 초기 데이터를, 테이블 형태의 제2 데이터 구조를 갖는 테이블 기반의 변환 데이터로 변환하는 단계와,
상기 제1 데이터 구조에 신경 네트워크 모델 적용을 위해 상기 제2 데이터 구조와 연산 가능하며 차원이 표현된 필터 프레임의 구조를 설계하는 단계를 포함하고,
상기 제2 데이터 구조는 상기 N 개의 축에 대한 좌표 값, 좌표 정보에 매칭되는 값 및 상기 좌표 정보에 매칭되는 값과의 합성 곱 연산을 수행하기 위한 필터의 가중치가 동일한 행 또는 동일한 열에 배치된 구조를 갖는 것을 특징으로 하는, 데이터 처리 방법.
In the data processing method for the convolution operation,
The data processing method is performed by a data processing apparatus including a processor and a memory in which a program for execution related to the data processing method is stored, and the processor, according to the execution of the program,
pre-processing the initial data into table-based conversion data; and
Performing operations including applying a filter of a neural network model to the table-based conversion data;
In the preprocessing step,
For the convolutional product operation, the initial data having a first data structure formed of N-dimensional data by N (where N is a natural number of 2 or more) axes is converted into table-based conversion data having a second data structure in the form of a table. Converting to;
In order to apply the neural network model to the first data structure, designing a structure of a filter frame that is operable with the second data structure and represents a dimension,
The second data structure is a structure in which weights of filters for performing a composite product operation of coordinate values for the N axes, values matching the coordinate information, and values matching the coordinate information are arranged in the same row or column. Characterized in that having a, data processing method.
삭제delete 제1항에 있어서,
상기 제1 데이터 구조는 2차원과 3차원을 포함하는 4차원 이상의 깊이 정보를 갖는 초입방체를 포함하는 것을 특징으로 하는 데이터 처리 방법.
According to claim 1,
The data processing method of claim 1 , wherein the first data structure includes a hypercube having depth information of 4 dimensions or more including 2 dimensions and 3 dimensions.
삭제delete 제1항에 있어서,
상기 제1 데이터 구조는 혈액의 임상 검체 또는 생물학적 분석 시료의 유세포 분석(Flow Cytometry) 및 유세포분석을 활용한 분석 기법의 측정 결과를 나타내는 생체 추출 데이터를 포함하며, 상기 생체 추출 데이터는 미리 설정된 정형화된 형식 또는 FCS(Flow Cytometry Standard) 형식으로 표현되며,
상기 제2 데이터 구조는 상기 생체 추출 데이터의 일부 파라미터의 측정 값들을 병합하여 채널에 대한 좌표값을 포함하는 데이터로 변형하고, 상기 변형된 데이터와 카운트값을 포함하는 것을 특징으로 하는 데이터 처리 방법.
According to claim 1,
The first data structure includes flow cytometry of a blood clinical specimen or biological analysis sample and bio-extracted data representing measurement results of an analysis technique using flow cytometry. format or expressed in Flow Cytometry Standard (FCS) format,
Wherein the second data structure merges measurement values of some parameters of the biometric extraction data, transforms them into data including coordinate values for channels, and includes the transformed data and count values.
삭제delete 삭제delete 제1항에 있어서,
상기 N은 4 이상의 자연수이고,
상기 프로세서가, 상기 필터 프레임 구조를 설계하는 것은, 상기 필터 프레임 구조에 따른 필터 중심 위치에 대응되는 시작 좌표를 결정하고,
상기 필터 프레임 구조의 필터 가중치 요소들을 상기 제1 데이터 구조의 차원을 고려하여, 행 방향 또는 열 방향을 기준으로 확장하는 단계를 더욱 수행하는 것을 특징으로 하는, 데이터 처리 방법.
According to claim 1,
Wherein N is a natural number of 4 or more,
Designing the filter frame structure by the processor determines a start coordinate corresponding to a filter center position according to the filter frame structure;
and extending the filter weight elements of the filter frame structure in a row direction or a column direction in consideration of the dimension of the first data structure.
제1항에 있어서,
상기 필터를 적용하는 단계는,
상기 필터 프레임 구조를 상기 제2 데이터 구조의 테이블의 행 방향 또는 열 방향을 기준으로 이동시키는 방식으로 매칭하는 요소 간에 연산을 수행하는 것을 특징으로 하는 데이터 처리 방법.
According to claim 1,
The step of applying the filter is,
and performing an operation between matched elements by moving the filter frame structure based on a row direction or column direction of a table of the second data structure.
제9항에 있어서,
상기 필터를 적용하는 단계는,
상기 필터 프레임 구조의 필터 중심이 미리 설정된 행 조건 또는 열 조건을 만족하면, 상기 연산을 스킵하는 것을 특징으로 하는 데이터 처리 방법.
According to claim 9,
The step of applying the filter is,
and skipping the operation if a filter center of the filter frame structure satisfies a preset row condition or column condition.
합성 곱 연산을 위한 데이터 처리 장치에 있어서,
프로세서 및 상기 데이터 처리와 관련한 동작들을 실행하기 위한 프로그램이 저장된 메모리를 포함하며, 상기 프로세서는 상기 프로그램의 실행에 따라,
초기 데이터를 테이블 기반의 변환 데이터로 전처리하는 단계; 및
상기 테이블 기반의 변환 데이터에 신경 네트워크 모델의 필터를 적용하는 단계를 포함하는 동작들을 수행하고,
상기 전처리하는 단계는, 합성 곱 연산을 위해, N(상기 N은 2이상의 자연수) 개의 축에 의해 N 차원의 데이터로 형성된 제1 데이터 구조를 갖는 상기 초기 데이터를, 테이블 형태의 제2 데이터 구조를 갖는 테이블 기반의 변환 데이터로 변환하는 단계와,
상기 제1 데이터 구조에 신경 네트워크 모델 적용을 위해 상기 제2 데이터 구조와 연산 가능하며 차원이 표현된 필터 프레임의 구조를 설계하는 단계를 포함하고, 여기에서 상기 제2 데이터 구조는 상기 N 개의 축에 대한 좌표 값, 좌표 정보에 매칭되는 값 및 상기 좌표 정보에 매칭되는 값과의 합성 곱 연산을 수행하기 위한 필터의 가중치가 동일한 행 또는 동일한 열에 배치된 구조를 갖는 것을 특징으로 하는, 데이터 처리 장치.
In the data processing device for the convolution operation,
It includes a processor and a memory in which a program for executing operations related to data processing is stored, and according to the execution of the program, the processor:
pre-processing the initial data into table-based conversion data; and
Performing operations including applying a filter of a neural network model to the table-based conversion data;
In the pre-processing, the initial data having a first data structure formed of N-dimensional data by N axes (where N is a natural number of 2 or more) is converted into a second data structure in the form of a table for a convolution operation. Converting into table-based conversion data having
and designing a structure of a filter frame in which a dimension is expressed and operable with the second data structure in order to apply a neural network model to the first data structure, wherein the second data structure is on the N axes A data processing device characterized by having a structure in which weights of a filter for performing a composite product operation of a coordinate value for , a value matching the coordinate information, and a value matching the coordinate information are arranged in the same row or the same column.
삭제delete 제11항에 있어서,
상기 제1 데이터 구조는 2차원과 3차원을 포함하는 4차원 이상의 깊이 정보를 갖는 초입방체를 포함하는 것을 특징으로 하는 데이터 처리 장치.
According to claim 11,
The first data structure includes a hypercube having depth information of 4 dimensions or more including 2 dimensions and 3 dimensions.
제11항에 있어서,
상기 제2 데이터 구조는 (i) 상기 N 개의 축에 해당하는 좌표 정보 및 (ii) 상기 좌표 정보에 매칭하는 값 정보가 행 방향 또는 열 방향을 기준으로 배치되는 것을 특징으로 하는 데이터 처리 장치.
According to claim 11,
In the second data structure, (i) coordinate information corresponding to the N axes and (ii) value information matching the coordinate information are arranged in a row direction or a column direction.
제11항에 있어서,
상기 제1 데이터 구조는 혈액의 임상 검체 또는 생물학적 분석 시료의 유세포 분석(Flow Cytometry) 및 유세포분석을 활용한 분석 기법의 측정 결과를 나타내는 생체 추출 데이터를 포함하며, 상기 생체 추출 데이터는 미리 설정된 정형화된 형식 또는 FCS(Flow Cytometry Standard) 형식으로 표현되며,
상기 제2 데이터 구조는 상기 생체 추출 데이터의 일부 파라미터의 측정 값들을 병합하여 채널에 대한 좌표값을 포함하는 데이터로 변형하고, 상기 변형된 데이터와 카운트값을 포함하는 것을 특징으로 하는 데이터 처리 장치.
According to claim 11,
The first data structure includes flow cytometry of a blood clinical specimen or biological analysis sample and bio-extracted data representing measurement results of an analysis technique using flow cytometry. format or expressed in Flow Cytometry Standard (FCS) format,
The second data structure merges measurement values of some parameters of the biometric extraction data, transforms them into data including coordinate values for channels, and includes the transformed data and count values.
삭제delete 삭제delete 제11항에 있어서,
상기 N은 4 이상의 자연수이고,
상기 프로세서가 필터 프레임 구조를 설계하는 것은, 상기 필터 프레임 구조에 따른 필터 중심 위치에 대응되는 시작 좌표를 결정하고,
상기 필터 프레임 구조의 필터 가중치 요소들을 상기 제1 데이터 구조의 차원을 고려하여, 행 방향 또는 열 방향을 기준으로 확장하는 단계를 더욱 수행하는 것을 특징으로 하는, 데이터 처리 장치.
According to claim 11,
Wherein N is a natural number of 4 or more,
Designing the filter frame structure by the processor determines a start coordinate corresponding to a filter center position according to the filter frame structure;
and extending the filter weight elements of the filter frame structure in a row direction or a column direction in consideration of the dimension of the first data structure.
제11항에 있어서,
상기 프로세서는,
상기 필터 프레임 구조를 상기 제2 데이터 구조의 테이블의 행 방향 또는 열 방향을 기준으로 이동시키는 방식으로 매칭하는 요소 간에 연산을 수행하는 것을 특징으로 하는 데이터 처리 장치.
According to claim 11,
the processor,
and performing an operation between matching elements by moving the filter frame structure based on a row direction or column direction of a table of the second data structure.
제19항에 있어서,
상기 프로세서는,
상기 필터 프레임 구조의 필터 중심이 미리 설정된 행 조건 또는 열 조건을 만족하면, 상기 연산을 스킵하는 것을 특징으로 하는 데이터 처리 장치.
According to claim 19,
the processor,
The data processing apparatus of claim 1 , wherein the operation is skipped when a filter center of the filter frame structure satisfies a preset row condition or column condition.
KR1020210135231A 2021-10-12 2021-10-12 Preprocessing and convolutional operation apparatus for clinical decision-making artificial intelligence development using hypercubic shapes based on bio data KR102494833B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210135231A KR102494833B1 (en) 2021-10-12 2021-10-12 Preprocessing and convolutional operation apparatus for clinical decision-making artificial intelligence development using hypercubic shapes based on bio data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210135231A KR102494833B1 (en) 2021-10-12 2021-10-12 Preprocessing and convolutional operation apparatus for clinical decision-making artificial intelligence development using hypercubic shapes based on bio data

Publications (1)

Publication Number Publication Date
KR102494833B1 true KR102494833B1 (en) 2023-02-06

Family

ID=85224068

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210135231A KR102494833B1 (en) 2021-10-12 2021-10-12 Preprocessing and convolutional operation apparatus for clinical decision-making artificial intelligence development using hypercubic shapes based on bio data

Country Status (1)

Country Link
KR (1) KR102494833B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101857624B1 (en) 2017-08-21 2018-05-14 동국대학교 산학협력단 Medical diagnosis method applied clinical information and apparatus using the same
KR20200030524A (en) * 2020-03-12 2020-03-20 에스케이텔레콤 주식회사 Apparatus and method for generating and using neural network model applying accelerated computation
KR20200049936A (en) * 2018-10-29 2020-05-11 상명대학교산학협력단 Biometric device and method
KR102154335B1 (en) * 2019-10-18 2020-09-09 연세대학교 산학협력단 Method and Apparatus for Diagnosing Disease by Pre-Processing Bio Extracted Data
KR20210061122A (en) * 2019-11-19 2021-05-27 재단법인대구경북과학기술원 Method and apparatus for determining biometric information of target

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101857624B1 (en) 2017-08-21 2018-05-14 동국대학교 산학협력단 Medical diagnosis method applied clinical information and apparatus using the same
KR20200049936A (en) * 2018-10-29 2020-05-11 상명대학교산학협력단 Biometric device and method
KR102154335B1 (en) * 2019-10-18 2020-09-09 연세대학교 산학협력단 Method and Apparatus for Diagnosing Disease by Pre-Processing Bio Extracted Data
KR20210061122A (en) * 2019-11-19 2021-05-27 재단법인대구경북과학기술원 Method and apparatus for determining biometric information of target
KR20200030524A (en) * 2020-03-12 2020-03-20 에스케이텔레콤 주식회사 Apparatus and method for generating and using neural network model applying accelerated computation

Similar Documents

Publication Publication Date Title
Xi et al. See the forest and the trees: Effective machine and deep learning algorithms for wood filtering and tree species classification from terrestrial laser scanning
US8019134B2 (en) Automatic image analysis and quantification for fluorescence in situ hybridization
US20220044765A1 (en) Preprocessing and convolutional operation apparatus for clinical decision-making artificial intelligence development using hypercubic shapes based on bio data
CN108140025A (en) For the interpretation of result of graphic hotsopt
US8542899B2 (en) Automatic image analysis and quantification for fluorescence in situ hybridization
CN115471448A (en) Artificial intelligence-based thymus tumor histopathology typing method and device
CN114600155A (en) Weakly supervised multitask learning for cell detection and segmentation
Kumar et al. Lung nodule segmentation using unet
Wu et al. A state-of-the-art survey of U-Net in microscopic image analysis: From simple usage to structure mortification
Liang et al. Development of a framework for large scale three-dimensional pathology and biomarker imaging and spatial analytics
Bhanu et al. Video bioinformatics
Tyagi et al. [Retracted] Identification and Classification of Prostate Cancer Identification and Classification Based on Improved Convolution Neural Network
KR102494833B1 (en) Preprocessing and convolutional operation apparatus for clinical decision-making artificial intelligence development using hypercubic shapes based on bio data
CN112488996A (en) Inhomogeneous three-dimensional esophageal cancer energy spectrum CT (computed tomography) weak supervision automatic labeling method and system
Li et al. Alzheimer's level classification by 3D PMNet using PET/MRI multi-modal images
CN110140176A (en) For detecting the computer installation and its method of best candidate compound
Mata et al. Zigzag persistent homology for processing neuronal images
Yosifov Extraction and quantification of features in XCT datasets of fibre reinforced polymers using machine learning techniques
Mathew et al. Deep convolutional neural network with transfer learning for automatic brain tumor detection from MRI
KR102633197B1 (en) Apparatus and method for analyzing cluster automatically through gradient analysis of hypercube pixels based on hypercube shape table of flow cytometry standard data
Chaitanya et al. Brain Tumor Classification using DeepResidual Learning
Dong et al. Towards Improved Performance on Plant Disease Recognition with Symptoms Specific Annotation
Shahbazi Computer Vision-Based Approaches to Neural Circuit Tracing at Scale
KR102494834B1 (en) Data processing apparatus and method for analyzing cluster of incomplete data set and adding virtual data points of hypercube shape based on fcs data
Saadatifard et al. Cellular/Vascular Reconstruction Using a Deep CNN for Semantic Image Preprocessing and Explicit Segmentation

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant