Ⅰ. 서론
의료 분야에서 DICOM(digital imaging and communications in medicine) 표준은 의료 영상 데이터를 저장하고 전송하는 데 중요한 역할을 한다[1]. DICOM 이미지는 방사선학, X-ray, CT, MRI 등 다양한 의료 영상 데이터를 포함하며, 종종 방대한 양의 데이터를 포함하고 있다. 이러한 데이터를 효과적으로 분석하고 시각화하는 것은 의료 전문가들에게 중요한 과제이다. 정확한 진단과 치료 계획 수립에 직접적인 영향을 미치기 때문이다. 최근 LLM(large language model)과 웹 기술의 발전은 이러한 문제를 해결할 수 있는 새로운 가능성을 열어주고 있다. LLM은 NLP(natural language processing) 분야에서 큰 성과를 내며, 대규모 데이터를 효율적으로 요약하고 복잡한 정보를 쉽게 전달할 수 있는 능력을 갖추고 있다. 동시에, 웹 기술의 발전은 데이터를 보다 빠르고 안정적으로 전송하고, 사용자가 어디서든지 접근할 수 있도록 해준다. 이를 통해 의료 데이터의 분석 및 시각화를 더욱 효과적으로 수행할 수 있는 기회가 확대되고 있다. LLM의 도입은 방대한 텍스트 데이터를 이해하고 요약할 가능성을 열었다. 또한, 웹 기술을 활용하여 데이터 전송 최적화 및 사용자 경험 개선에 중점을 둔 연구도 활발히 진행되고 있다. 본 연구의 목적은 React와 Node.js를 활용하여 DICOM 이미지를 분석하고, 이를 기반으로 LLM을 통해 의료 데이터 요약 리포트를 생성하는 시스템을 개발하는 것이다. 이 시스템은 의사를 위한 맞춤형 리포트를 제공하여, 의료 전문가에게는 의료 관련 고급 정보를, 추가로 이해하기 쉬운 정보를 제공한다. 나아가, 웹 기술을 융합하여 데이터 전송을 최적화하고, 사용자 경험을 향상하는 것을 목표로 한다. 연구는 다음과 같은 방법으로 진행된다. 첫째, React를 사용하여 Web UI를 통해 DICOM 이미지를 수신하고, 이를 Node.js 서버로 전송한다. 둘째, Node.js 서버에서 DICOM 이미지를 파싱하여 의료 데이터를 추출한다. 셋째, 추출된 데이터를 기반으로 LLM을 활용하여 요약 리포트를 생성한다. 마지막으로, 사용자 경험을 개선한다.
Ⅱ. 이론적 배경
2-1 DICOM 이미지의 중요성
DICOM(digital imaging and communications in medicine)은 의료 영상 데이터를 저장하고 전송하기 위한 표준으로, 의료정보 기술 분야에서 중요한 역할을 한다. 이 표준은 의료 영상 데이터를 통합하고 호환할 수 있는 방식으로 저장할 수 있도록 하여, 의료 기관 간의 데이터 교환을 원활하게 하고 다양한 장비와 소프트웨어의 상호 운용성을 보장한다. DICOM 파일은 이미지 데이터뿐만 아니라 환자 정보, 검사 세부 사항 등의 메타데이터를 포함하여 의료 전문가가 진단과 치료 계획을 수립하는 데 필수적인 정보를 제공한다. DICOM 이미지는 X-ray(방사선 사진), CT(컴퓨터 단층촬영), MRI(자기 공명 영상) 등 다양한 형태의 의료 영상 데이터를 지원하며, 고해상도의 큰 파일로 구성되어 있어 저장 및 전송에 많은 자원이 있어야 한다[2]. 따라서 DICOM 표준은 의료 데이터의 효율적인 관리를 위해 필수적이며, 현대 의료 시스템에서 환자 치료의 질을 향상하는 데 중요한 역할을 한다.
2-2 대형 언어 모델(LLM)의 활용
LLM(large language model)은 인공지능의 한 분야로, 대규모 텍스트 데이터를 기반으로 자연어를 이해하고 생성할 수 있는 모델을 의미한다. 대형 언어 모델은 딥러닝 기술을 활용하여 방대한 양의 데이터를 학습하고, 이를 통해 문맥을 이해하며, 사람과 유사한 수준의 텍스트를 생성할 수 있는 능력을 갖추고 있다. 대표적인 LLM으로는 OpenAI의 GPT (generative pre-trained transformer) 시리즈가 있으며[3], 최근에는 다양한 LLM이 여러 분야에서 활용되고 있다. LLM은 NLP 분야에서 혁신적인 도구로 자리 잡았으며, 특히 질의응답 시스템, 텍스트 요약, 번역 등 다양한 응용 분야에서 활용되고 있다. 의료 분야에서는 LLM을 활용하여 방대한 의료 기록과 데이터를 효율적으로 분석하고, 복잡한 정보를 쉽게 요약하는 데 적용할 수 있다. 예를 들어, 의료 영상 보고서를, LLM을 통해 자동으로 생성하거나, 환자 기록에서 핵심 정보를 추출하여 의사에게 제공할 수 있다.
2-3 최신 웹 기술의 역할
웹 기술은 인터넷을 통해 데이터를 제공하고, 사용자가 웹 애플리케이션에 접근할 수 있게 하는 다양한 기술을 의미한다. 웹 기술은 HTML, CSS, JavaScript 등을 포함하며, 이들 기술은 웹 페이지의 구조, 디자인, 상호작용성을 담당한다. 현대의 웹 애플리케이션은 단순한 웹 페이지를 넘어서, 복잡한 기능을 제공하는 SPA(single page application), PWA(progressive web apps) 등으로 발전하고 있다. React와 같은 프레임워크는 컴포넌트 기반의 개발 방식을 통해 유지보수가 용이하고, UI(user interface)의 일관성을 유지하면서도 복잡한 애플리케이션을 효율적으로 개발할 수 있게 한다. 의료 데이터의 전송 및 관리에 있어서도 웹 기술은 중요한 역할을 한다[4]. 예를 들어, 의료 영상 데이터의 스트리밍을 최적화하거나, 사용자 맞춤형 정보 제공을 통해 의료 서비스의 접근성을 높일 수 있다[5].
표 1. LLM 종류
Table 1. LLM types.
Ⅲ. 시스템 설계 및 구현
3-1 시스템 아키텍처 설계
DICOM 이미지를 효과적으로 처리하고 요약 리포트를 생성하기 위해 시스템 아키텍처를 설계한다. 이 시스템은 Frontend(react), Backend(node.js), 그리고 LLM API로 구성된다[6]. 각 모듈 간의 데이터 흐름을 명확히 정의하고, 데이터 전송 효율성, 응답 속도, 시스템 확장성을 고려하여 모듈화된 구조를 채택한다. 설계된 시스템을 통해 각 컴포넌트가 독립적으로 개발 및 테스트 될 수 있도록 한다.
3-2 시스템 구현
설계된 아키텍처를 바탕으로 실제 시스템을 구현한다. Frontend에서는 사용자가 DICOM 이미지를 업로드하고 결과를 확인할 수 있는 UI를 개발한다. Backend에서는 DICOM 데이터를 처리하고 LLM 모델과의 통신을 관리하는 서버를 구현한다. 이 과정에서 시스템의 모듈성을 유지하고, 각 기능이 원활하게 연동되도록 주의하여 개발을 진행한다. 또한, 시스템 구현 시 TDD(test driven development) 방법론을 적용하여 기능별 테스트를 병행하며 안정적인 시스템을 구축한다[7].
3-3 시스템 테스트 및 검증
구현된 시스템의 성능과 안정성을 평가하기 위해 시스템 테스트 및 검증 과정을 진행한다. 다양한 시나리오를 설정하여 시스템이 예기치 않은 상황에서도 올바르게 동작하는지 확인한다. 특히, 데이터 전송 속도, 요약 리포트 생성 시간, 사용자 인터페이스 응답성 등을 중점적으로 평가하며, 이를 통해 시스템의 최적화를 도모한다. 테스트는 단위 테스트, 통합 테스트, 시스템 테스트, UAT (user acceptance testing) 등 여러 단계로 나누어 진행된다. 단위 테스트는 각 모듈이 개별적으로 올바르게 동작하는지 확인하며, 통합 테스트는 모듈 간의 상호작용을 검증한다. 시스템 테스트는 전체 시스템이 요구사항을 충족하는지 평가하고, 사용자 수용 테스트는 실제 사용자가 시스템을 사용하면서 발생할 수 있는 문제를 식별한다. 테스트 결과를 기반으로 시스템의 개선점을 도출하고, 필요시 코드를 리팩토링하여 최종 시스템의 신뢰성을 확보한다. 또한, 성능 테스트를 통해 시스템의 처리 속도와 확장성을 평가한다. 이러한 철저한 테스트 및 검증 과정을 통해 시스템의 안정성과 신뢰성을 높이고, 최종 사용자에게 높은 품질의 서비스를 제공할 수 있도록 한다.
표 2. 개발 환경
Table 2. Development environment.
Ⅳ. 구현 및 실험
4-1 구현 환경 및 도구
시스템을 구현하기 위해 다양한 개발 환경과 도구를 사용한다. 운영 체제로는 Windows를 사용하며, 개발 도구로는 Visual Studio Code를 활용한다. Visual Studio Code는 다양한 확장 기능과 디버깅 도구를 제공하여 개발 생산성을 높인다. 버전 관리는 Git을 통해 이루어지며, 협업과 코드 관리를 효율적으로 수행한다. Frontend 기술 스택으로는 JavaScript를 사용하고, React 프레임워크를 기반으로 개발한다. React는 애플리케이션 상태를 효율적으로 관리할 수 있다, 스타일링은 CSS를 활용한다. Backend 기술 스택으로는 JavaScript와 Node.js를 사용하고, 경량화된 웹 애플리케이션 프레임워크이며, 빠르고 간편하게 서버를 구축할 수 있는 Express.js 프레임워크를 활용한다. LLM은 비용이 들지 않는 로컬 LLM인 Meta의 LLaMA 3.1을 사용하여 시스템을 개발 구현하였다.
4-2 이미지 데이터 구성
다양한 의료 이미지 처리 장치(MRI, CT, X-ray)에서 DICOM 이미지를 수집하고, 그림 1의 ㈜스마트케어웍스의 Web 기반 PACS GoWIX 로 철저하게 연구용으로 익명화된 의료 DICOM을 활용하여 연구에 필요한 데이터를 확보한다[8]. 이 과정에서 각 장치에서 생성된 DICOM 이미지는 PACS GoWIX 시스템을 통해 중앙 서버로 전송되며, 이 서버는 데이터를 안전하게 저장하고 관리한다. 익명화 과정에서는 환자의 개인 식별 정보를 제거하고, 연구 목적에 맞게 데이터의 무결성을 유지한다. 또한, Gaussian 필터, Median 필터를 사용하여 노이즈 제거 이미지 처리 알고리즘을 적용하여 이미지의 품질을 향상하고, 분석에 필요한 형식으로 변환한다. 이를 통해 연구자들은 고품질의 익명화된 의료 이미지를 활용하여 다양한 연구를 수행할 수 있다.
그림 1. GoWIX PACS 이미지 익명화
Fig. 1. GoWIX PACS image anonymization.
4-3 Frontend
시스템의 Frontend는 UI를 담당하며, 사용자가 DICOM 이미지를 업로드하고 결과를 확인할 수 있도록 한다. 이를 위해 JavaScript를 사용하고, React 프레임워크를 기반으로 개발한다. React는 컴포넌트 기반의 개발 방식을 제공하여 유지보수가 용이하고, 복잡한 애플리케이션을 효율적으로 개발할 수 있게 한다. 상태 관리는 Redux와 Context API를 사용하여 애플리케이션의 상태를 중앙에서 관리하고, 컴포넌트 간의 데이터 흐름을 원활하게 한다. 스타일링은 CSS를 활용하여 UI의 디자인과 레이아웃을 정의하며, 그림 2와 같이 직관적인 버튼과 미리보기를 넣어 UX(user experience)을 향상했다.
그림 2. DICOM 리포트 UI 구성
Fig. 2. Configure the DICOM report UI.
4-4 Backend
시스템의 Backend는 서버 측 로직을 담당하며, DICOM 데이터를 처리하고 LLM 모델과의 통신을 관리한다. 이를 위해 JavaScript와 Node.js를 사용하고, Express.js 프레임워크를 활용하여 서버를 구현한다. Node.js는 비동기 이벤트 기반의 런타임 환경으로, 높은 성능과 확장성을 제공한다. Express.js는 간결하고 유연한 웹 애플리케이션 프레임워크로, RESTful API를 쉽게 구축할 수 있게 한다. Backend에서는 DICOM 이미지를 DICOM Parser를 활용해 파싱하여 필요한 의료 데이터를 추출하고, LLM 모델과의 통신을 통해 요약 리포트를 생성한다.
그림 3. LLaMA 3.1 prompt 실행
Fig. 3. Run the LLaMA 3.1 prompt.
4-5 LLM
LLM은 비용이 들지 않는 로컬 LLM인 Meta의 LLaMA 3.1을 사용하였다. LLaMA 3.1은 대규모 텍스트 데이터를 기반으로 자연어를 이해하고 생성할 수 있는 모델로, 데이터를 효율적으로 분석하고 요약 리포트를 생성하는 데 활용된다. 데이터 보안 측면에서 유리하다. 이를 통해 DICOM 이미지에서 추출된 데이터를 기반으로 자동 요약 리포트를 생성한다.
Ⅴ. 결과 및 논의
5-1 구현 결과
DICOM 이미지를 효과적으로 처리하고 요약 리포트를 생성하는 시스템을 성공적으로 구현하였다. Frontend 에서는 사용자가 DICOM 이미지를 업로드하고 결과를 확인할 수 있는 직관적인 UI를 개발하였다. Backend 에서는 DICOM 데이터를 파싱하고, Meta의 LLaMA 3.1 모델을 활용하여 자동 요약 리포트를 생성하는 서버를 구현하였다. LLM prompt는 모든 정보를 포함 하지 않고, 의사에게 의사 결정을 돕는 DICOM 주요 정보를 선정해서 그림 4처럼 구성하였다. 시스템은 React와 Node.js를 기반으로 구축되었으며, 각 모듈 간의 데이터 흐름이 원활하게 이루어지도록 설계되었다. 결과적으로 그림 5와 같은 결과물이 도출될 수 있도록 성공적으로 개발하였다.
그림 4. LLM prompt 예시
Fig. 4. LLM prompt example.
그림 5. 요약 리포트 결과물
Fig. 5. Summary report output.
5-2 성능 평가
구현된 시스템의 성능을 평가하기 위해 다양한 테스트를 진행하였다. 먼저, 요약 리포트의 정확도를 평가하기 위해 의료전문가 5명에게 표3 설문을 통해 평가받았다. 의료 전문가들은 생성된 요약 리포트가 실제 의료 데이터가 거의 반영하고 있음을 확인하였다. 또한, 의료 전문가가 아닌 사용자 10명을 대상으로 하여 표 4 요약 리포트의 이해도 설문을 평가하였다. 사용자들은 요약 리포트가 대체로 이해하기 쉽고 유용하다고 응답하였다. 설문 데이터를 기반으로 점수화 평가를 진행하였다. 데이터 전송 속도와 저장 효율성도 평가하였다. 다양한 네트워크 환경에서 데이터 전송 속도를 측정한 결과, 데이터 처리는 서버에서 이루어지기 때문에 대체로 시스템은 안정적이고 빠른 데이터 전송을 제공하였다. 다만, LLaMA 3.1 모델에서의 결괏값 생성 완성은 10회 수행하여 각 89, 92, 90, 93, 91, 94, 88, 90, 92, 93초가 소요되어, 평균 약 91초가 소요된 것으로 파악되었다.
표 3. 의료 전문가 설문지
Table 3. Survey for medical professionals.
표 4. 비전문가 설문지
Table 4. Survey for non-medical professionals.
표 5. 성능 평가 표
Table 5. Development environment.
5-3 논의 및 향후 연구 방향
본 연구를 통해 DICOM 이미지를 효과적으로 처리하고 요약 리포트를 생성하는 시스템을 구현할 수 있었다. 그러나 몇가지 한계점도 존재한다. 첫째, 의료용으로 학습된 모델이 아니기 때문에 LLaMA 3.1 모델의 성능은 데이터의 질과 양에 크게 의존한다. 따라서 더 많은 양질의 데이터를 확보하여 모델을 개선할 필요가 있다. 둘째, 시스템의 확장성을 고려하여 추가적인 기능을 개발할 필요가 있다. 예를 들어, 다양한 의료 이미지 처리 장치에서 실시간으로 자료를 수집하고 처리할 수 있는 기능을 추가할 수 있다. 셋째, LLM 모델의 종류는 매우 많고, Prompt 작성 방식 또한 무궁무진하다. 많은 종류의 모델과 Prompt에 대한 연구가 더 필요하다. 넷째, LLM의 결과를 맹신하기에는 다소 무리가 있다. 대체로 결과가 잘 도출된다고 하지만, 추가 검증 없이 사용되기엔 의료 사고를 초래할 수 있다. 다섯째, DICOM에는 다양하고 많은 정보가 있지만, 익명화를 거치며 유효한 정보들이 유실될 수 있다. 예를 들면, 생일이나 나이 같은 값은 주요하게 쓰일 수 있는 값이기 때문에, 누락 된다면 분석 결과에 영향을 미칠 수 있다. 여섯째, 91초라는 시간은 기다림이 짧지 않은 시간이기 때문에 적절한 로딩을 표시해 주거나, 스트리밍으로 결과를 도출할 수 있도록 하는 것이 좋을 것으로 판단된다[9][10]. 향후 연구에서는 이러한 한계점을 보완하고, 시스템의 성능을 더욱 강화하기 위한 다양한 방법을 모색할 것이다. 또한, 사용자 경험을 향상하기 위해 UI/UX 디자인을 개선하고, 사용자 피드백을 반영한 시스템 업데이트를 지속해서 진행할 것이다. 이를 통해 의료 데이터의 효율적인 관리와 분석을 지원하고, 궁극적으로 의료 서비스의 질적 향상을 목표로 할 것이다.
Ⅵ. 결론
본 연구에서는 DICOM 이미지를 처리하고 요약 리포트를 생성하는 시스템을 성공적으로 구현하였다. Frontend는 React로, Backend는 Node.js와 Express.js로 개발되었으며, Meta의 LLaMA 3.1 모델을 활용하여 요약 리포트를 생성하였다. 시스템은 의료 전문가에게 유용한 정보를 제공하였다. 성능 평가 결과, 요약 리포트의 정확도와 사용자 만족도가 높았으며, 데이터 전송 속도와 저장 효율성도 우수하였다. 다만, LLaMA 3.1 모델의 결괏값 생성 시간이 평균 91초 소요되었다. 짧지 않은 시간이기에 스트리밍으로 결과가 도출되는 것이 좋을 것으로 판단된다. 향후 연구에서는 더 많은 양질의 데이터를 확보하고, 시스템의 확장성과 성능을 개선하며, 다양한 LLM 모델과 Prompt 작성 방식에 관한 연구를 진행할 예정이다. 이를 통해 의료 데이터의 효율적인 관리와 분석을 지원하고, 의료 서비스의 질적 향상을 목표로 할 것이다.
Acknowledgments
본 과제(결과물)는 2024년도 교육부의 재원으로 한국연구재단의 지원을 받아 수행된 지자체-대학 협력기반 지역혁신 사업의 결과입니다.(2021RIS-004)
References
- J. S. Jeong, "Implementation case of PACS linkage using DICOM (digital imaging and communications in medicine) standard," Journal of the Korean Society of Digital Imaging Technology, Vol. 2, No. 1, pp. 44-51, 1996. Retrieved from https://www.dbpia.co.kr/Journal/articleDetail?nodeId=NODE09571015. 1015
- S. H. Lee, "Study on medical Dicom based XRay image improvement program using image processing," in Spring Comprehensive Symposium of the Korea Marine Information & Communication Society, Vol. 9, No. 1, pp. 1153-1156, 2005. Retrieved from https://koreascience.or.kr/article/CFKO200522941426537.page?lang=en.
- K. B. Kwon and I. G. Kim, "Web-based medical information system supporting DICOM standard," Journal of KISS: Computing Practices, Vol. 7, No. 4, pp. 317-323, 2001. Retrieved from https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE00609836.
- T. B. Brown, B. Mann, N. Ryder et al., "Language models are few-shot learners," NeurIPS 2020, Vol. 33, No. 1, pp. 1877-1901, Dec. 2020. Retrieved from https://arxiv.org/abs/2005.14165.
- S. J. Kim, A study on DICOM web server for implementing remote medical imaging system, Master's thesis, Yonsei University, Republic of Korea, 1999. Retrieved from http://www.riss.kr/link?id=T7756150&outLink=K.
- P. S. Maratkar and P. Adkar, "React JS - an emerging frontend JavaScript library," Iconic Research and Engineering Journals, Vol. 4, No. 12, pp. 99-102, Jun. 2021. Retrieved from https://www.irejournals.com/formatedpaper/1702778.pdf.
- S. Piya and A. Sullivan, "LLM4TDD: Best practices for test driven development using large language models," arXiv:2312.04687 [cs.SE], Dec. 2023. DOI: https://doi.org/10.48550/arXiv.2312.04687.
- T. Yi, I. Pan, S. Collins, F. Chen, R. Cueto, B. Hsieh, C. Hsieh, J. L. Smith, L. Yang, W. Liao, L. H. Merck, H. Bai, and D. Merck, "DICOM image analysis and archive (DIANA): An open-source system for clinical AI applications," Journal of Digital Imaging, Vol. 34, pp. 1405- 1413, Nov. 2021. Retrieved from https://pubmed.ncbi.nlm.nih.gov/34727303/.
- Y. I. Yun and I. Y. Moon, "A study on the correlation between data loading and user experience," Journal of Engineering Education and Research, Vol. 16, No. 2, pp. 185-193, Apr. 2024. DOI: 10.14702/JPEE.2024.185.
- X. Zhao, C. Zhang, and S. Guan, "A data lake-based security transmission and storage scheme for streaming big data," Cluster Computing, Vol. 27, pp. 4741-4755, Dec. 2023. Retrieved from https://dl.acm.org/doi/abs/10.1007/s10586-023-04201-9.