Projects프로젝트

Project timeline프로젝트 개발 기간

Diagnostic AI · 10.2025 – present진단 AI · 2025.10 – 현재

Canopus SW · From subjective reading to an AI-based MSI callCanopus SW · 주관적 판독에서 AI 기반 MSI 판정으로

10.2025 – present2025.10 – 현재Active진행 중Lead AI EngineerOPTOLANE
  • Lead the software end to end: planning, design, the AI model and the app.SW 기획·설계부터 AI 모델, 앱 개발까지 전 과정을 총괄합니다.
  • Developed a method and a tool that generate training data from clinical data, improving performance including sensitivity and specificity.임상 데이터 기반 학습 데이터 생성 기법 및 Tool을 개발해 민감도, 특이도를 포함한 성능을 개선했습니다.
  • Develop the software with Samsung Medical Center in repeated cycles of clinical data collection, requirements analysis and clinical-user feedback.삼성서울병원과 함께 임상 데이터 수집, 요구사항 분석, 임상 사용자 피드백을 반복하며 개발합니다.
  • As the developer, write the IEC 62304 software documents and the dGMP technical documents.개발자로서 IEC 62304 SW 문서와 dGMP 기술 문서를 작성합니다.
Tech:기술: Python · scikit-learn · NumPy / Pandas · C# · Claude Code

Canopus at a glance한눈에 보는 Canopus

Diagram도식
Canopus pipeline: real melting peak curves and Tm histograms of an MSS sample and an MSI-H sample, features taken from the Tm histogram, an AI model, and a report with the MSI score

Canopus is AI software that supports MSI diagnosis: it extracts features from the analog signals of digital PCR and melting tests, computes an MSI score with a machine-learning model and carries the call through to the report in one flow.Canopus는 디지털 PCR 및 Melting 검사의 아날로그 신호에서 특징을 추출하고, 머신러닝 모델로 MSI 점수를 산출해 판정과 리포트까지 한 흐름으로 처리하는 MSI 진단 보조 AI 소프트웨어입니다.

Problem문제

In microsatellite instability (MSI) testing, experts read the signal by eye, so results could differ between readers; established tests were slow and costly.MSI(현미부수체 불안정성) 검사에서는 전문가가 신호를 눈으로 판독해 판독자마다 결과가 달라질 수 있었고, 기존 검사는 느리고 비용이 많이 들었습니다.

Approach접근

Analog signals from digital PCR and melting tests are processed into signal features; a machine-learning model turns them into an MSI score and call.디지털 PCR 및 Melting 검사의 아날로그 신호를 처리해 신호 특징을 추출하고, 머신러닝 모델이 MSI 점수를 산출해 판정을 내립니다.

Result결과
0.99+ROC-AUC

Approval in progress허가 진행 중

01How it works작동 방식

From instrument signal to report장비 신호에서 리포트까지

1Instrument signal장비 신호

Analog signals from digital PCR and melting tests디지털 PCR 및 Melting 검사의 아날로그 신호

2Signal features신호 특징

Features extracted from the Tm histogram of the melting curvesMelting 곡선의 Tm 히스토그램에서 특징 추출

3AI modelAI 모델

A machine-learning model scores the features머신러닝 모델이 특징을 바탕으로 점수 산출

4MSI callMSI 판정

The score becomes an MSI call점수에 따라 MSI 판정

5Report리포트

The result is issued as a report판정 결과를 리포트로 출력

02Existing practice vs. Canopus기존 방식과 Canopus

Existing practice기존 방식
  • Experts read the signal by eye전문가가 신호를 눈으로 판독
  • Results can differ between readers판독자마다 결과가 다를 수 있음
  • Established tests are slow and costly기존 검사는 느리고 비용이 많이 듦
Canopus
  • Signal-feature AI gives a score and a call신호 특징 기반 AI가 점수와 판정을 산출
  • The call does not depend on the reader판독자에 따라 결과가 달라지지 않음
  • Analysis, AI call and report in one flow분석·AI 판정·리포트를 한 흐름으로 처리

A clinical lab needs this in one system that meets regulatory and security requirements.임상 검사실에는 이 과정을 규제·보안 요건에 맞게 처리하는 하나의 시스템이 필요합니다.

03Choosing the model모델 선택

Model candidates모델 후보

Small clinical cohort소규모 임상 코호트
Analog-signal deep learning아날로그 신호 딥러닝
  • Compared as a candidate후보로 비교 검토
  • Less accurate and less stable정확도·안정성이 상대적으로 낮음
  • Not chosen for the product제품에는 채택하지 않음
Signal features + machine learning신호 특징 + 머신러닝
  • Optimized for fast analysis of test results빠른 검사 결과 분석에 최적화
  • More accurate and more stable더 정확하고 안정적
  • Chosen for the product제품 모델로 채택

04Training data from clinical data임상 데이터 기반 학습 데이터

Solving training-data scarcity학습 데이터 부족 문제 해결

Clinical data임상 데이터

Labeled data were scarce라벨링된 데이터가 부족

Generation method & tool생성 기법⁠·Tool

Based on clinical data임상 데이터 기반

Training data학습 데이터

Checked against real data실제 데이터와 비교 검증

Model training모델 학습

The model learns from more data더 많은 데이터로 학습

Better performance성능 개선

Including sensitivity and specificity민감도·특이도 포함

05Results결과

ROC-AUC
0.99+
Sensitivity민감도
98%+
Specificity특이도
97%+
Clinical samples evaluated임상 성능 평가
1,000+

06Software architecture소프트웨어 아키텍처

Two modules, one interface두 모듈, 하나의 인터페이스

Block diagram블록 다이어그램
Canopus desktop app · modular architecture for IEC 62304Canopus 데스크톱 앱 · IEC 62304 모듈형 아키텍처
UI moduleUI 모듈C#

User interface (UI)사용자 화면(UI)

Versioned and verified on its own독립 버전 관리·검증
C#–Python interfaceC#–Python 인터페이스
AI moduleAI 모듈Python

Runs the AI modelAI 모델 구동

Versioned and verified on its own독립 버전 관리·검증

Why modular모듈화한 이유

Smaller change scope변경 범위 최소화

Improving the AI model leaves the UI and the data path as they areAI 모델을 개선해도 UI와 데이터 경로는 그대로

Versioned and verified per module모듈별 버전 관리·검증

IEC 62304 documents and verification scope are managed module by moduleIEC 62304 문서·검증 범위를 모듈 단위로 관리

The right language for each part영역에 맞는 언어

UI in C#, AI in PythonUI는 C#, AI는 Python으로 개발

07From product planning to approval제품 기획부터 허가까지

Full development cycle개발 전주기

Client · Samsung Medical CenterClient · 삼성서울병원
  1. Start · 10.20252025.10 시작Clinical requirements gathered임상 요구사항 수집
  2. MVP features defined and designedMVP 기능 정의·설계
    1. Software and AI model developmentSW·AI 모델 개발
    2. Evaluation on clinical data임상 데이터로 평가
    3. Clinical-user feedback applied임상 사용자 피드백 반영
    Develop → evaluate → apply feedback, repeated개발 → 평가 → 피드백 반복
  3. Now현재Approval in progress허가 진행 중
With the hospital병원과 함께 Development개발 Now현재
Project list프로젝트 목록
Cell & gene therapy · 12.2024 – 12.2025세포·유전자치료 · 2024.12 – 2025.12

CGT AI Pipeline · Count the cells in every well, get gene copies per cellCGT AI 파이프라인 · 구획마다 세포를 세고, 단일세포 유전자 복제 수를 산출

12.2024 – 12.20252024.12 – 2025.12Completed완료AI EngineerOPTOLANE · solo build단독 개발
  • Planned, designed and built the analysis software on my own.분석 소프트웨어를 단독으로 기획·설계·개발했습니다.
  • Built the deep-learning model that counts the cells in each well, reaching 99.5%+ validation accuracy.구획마다 세포 수를 세는 딥러닝 모델을 개발해 검증 정확도 99.5% 이상을 달성했습니다.
  • Joined each well’s count with its digital real-time PCR data to get gene copies per single cell.구획별 세포 수를 디지털 실시간 PCR 데이터와 결합해 단일세포 유전자 복제 수를 산출했습니다.
  • Cut well-indexing time by more than 85% by mapping each tile image straight onto the reference map, with no stitching step.조각 이미지를 기준 맵에 바로 매핑해 stitching 과정을 없앰으로써 구획 인덱싱 시간을 85% 이상 단축했습니다.
Tech:기술: Python · PyTorch · PySide6 · PyQt · PyInstaller · Cursor

The idea in one picture · two measurements joined per well한 장으로 보는 구조 · 두 측정 결과를 구획 단위로 결합

Overview of the CGT work process: a microscope inspection system images the chip and an AI model counts the cells in each microwell; a real-time PCR instrument measures the target and reference genes of the same wells; a computer combines the two into gene copies per single cell
AI counts the cells in each well and real-time PCR measures the same well; together they give gene copies per single cell.AI가 구획마다 세포를 세고 실시간 PCR이 같은 구획을 측정해, 단일세포 유전자 복제 수를 계산합니다.
Context배경

Cell & gene therapy QC needs the number of gene copies in each single cell. Cells were counted by hand, which was slow, and counts could vary from person to person.세포·유전자치료제 품질 관리에는 세포 하나하나의 유전자 복제 수가 필요합니다. 그런데 세포를 사람이 직접 세야 해서 시간이 오래 걸리고, 사람마다 결과가 달라질 수 있었습니다.

Approach접근

An AI model counts the cells in every well, and each count is joined with the PCR result of the same well.AI 모델이 모든 구획의 세포 수를 세고, 이를 같은 구획의 PCR 결과와 결합합니다.

Result결과
99.5%+validation accuracy검증 정확도

Well-indexing time cut by more than 85%구획 인덱싱 시간 85% 이상 단축

01How it works in four steps네 단계로 보는 작동 방식

Microscope image of hexagonal microwells on the chip, some of them holding cells
1Image the chip칩 촬영Microscope tile images cover every well칩의 모든 구획을 조각 이미지로 현미경 촬영
Microwells outlined in green, each marked at its center and labeled with its well number
2Index every well구획 인덱싱Mapped to the reference map: one position and ID per well기준 맵에 매핑해 구획별 위치와 ID 부여
A cell image of hexagonal wells passes through an AI algorithm and becomes a map of per-well cell counts
3AI counts the cellsAI 세포 계수A deep-learning model counts the cells in each well딥러닝 모델이 구획별 세포 수를 산출
Two-channel real-time PCR amplification curves, one for a reference gene and one for the target gene
4Join with PCRPCR 결과와 결합Count + the well’s PCR signal → gene copies per cell구획별 세포 수 + PCR 신호 → 단일세포 유전자 복제 수

02Why two measurements두 가지를 함께 측정하는 이유

Microscope only현미경 이미지만
  • How many cells sit in each well구획마다 세포가 몇 개인지 알 수 있음
  • No gene information유전자 정보는 없음
PCR onlyPCR 결과만
  • A gene signal for each well구획마다 유전자 신호를 측정
  • No count of the cells behind the signal몇 개의 세포에서 나온 신호인지 모름
Both, joined per well구획 단위로 둘을 결합
  • Cell count and gene signal of the same well같은 구획의 세포 수와 유전자 신호
  • Gene copies per single cell단일세포 유전자 복제 수 산출

Neither measurement alone answers the QC question.어느 한쪽만으로는 품질 관리에 필요한 답을 얻을 수 없습니다.

03Index every well모든 구획 인덱싱

Capture tiles조각 이미지 촬영

The microscope captures the chip region by region현미경으로 칩을 구역별 조각 이미지로 촬영

Map to the reference기준 맵에 바로 매핑

Each tile goes straight onto the chip’s reference map조각 이미지를 칩의 기준 맵에 바로 매핑

Position and ID위치와 ID

One fixed position and one ID per well구획마다 고정된 위치와 ID

Link to PCRPCR과 연결

The same ID links the well to its PCR signal같은 ID로 해당 구획의 PCR 신호와 결합

What cut the indexing time구획 인덱싱 시간을 줄인 방법

Cut by 85%+85% 이상 단축
Before개선 전
Capture tiles조각 이미지 촬영 Stitch into one full imageStitching으로 전체 현미경 이미지 생성 Map the wells on the full image전체 이미지에서 구획 매핑
100%
After개선 후
Capture tiles조각 이미지 촬영 Stitching removedStitching 과정 없음 Map each tile straight to the reference map조각 이미지를 기준 맵에 바로 매핑
<15%15% 미만

Mapping each tile straight onto the reference map removed the stitching step and cut the well-indexing time by more than 85%.조각 이미지를 기준 맵에 바로 매핑해 stitching 과정을 없앰으로써 구획 인덱싱 시간을 85% 이상 단축했습니다.

04The cell-counting model세포 계수 모델

Label well images구획 이미지 라벨링

Images of single wells, each with a label구획 하나하나의 이미지에 라벨 지정

Split the data데이터 분할

A training set and a separate validation set학습 세트와 별도의 검증 세트

Train the model모델 학습

A deep-learning model learns to count cells per well딥러닝 모델이 구획별 세포 계수를 학습

Validate검증

Validation accuracy 99.5%+검증 정확도 99.5% 이상

05The analysis software분석 소프트웨어

What the software is made of소프트웨어 구성

Block diagram블록 다이어그램
CGT analysis software · single executable (PyInstaller)CGT 분석 SW · 단일 실행 파일(PyInstaller)
UI moduleUI 모듈PySide6 / PyQt

Load a chip’s images, run the analysis and check the results칩 이미지를 불러와 분석을 실행하고 결과를 확인

Analysis pipeline분석 파이프라인Python
  1. Load images이미지 로드
  2. Index wells구획 인덱싱
  3. Count cells (deep-learning model)세포 계수(딥러닝 모델)
  4. Join with PCRPCR 결합
  5. Save results결과 저장

06Known limits and how they are handled알려진 한계와 대응 방법

Touching cells붙어 있는 세포
  • Overlapping cells can be counted as one cluster겹친 세포가 한 덩어리로 계수될 수 있음
  • Next: separate touching cells다음 과제: 붙어 있는 세포 분리
Noisy wells노이즈가 있는 구획
  • Precipitate or bubbles make a well less reliable침전물이나 기포가 있으면 신뢰도가 낮아짐
  • Every count carries a quality flag모든 계수 결과에 품질 플래그 표시
  • Doubtful wells go to manual inspection의심스러운 구획은 사람이 직접 확인
Other microscopes or cell types현미경·세포 종류 변경
  • A different microscope or cell type lowers accuracy현미경이나 세포 종류가 바뀌면 정확도가 떨어짐
  • Next: support more microscopes and cell types다음 과제: 더 많은 현미경·세포 종류 지원
Project list프로젝트 목록
Diagnostic PCR platform · 10.2022 – 10.2025 · CE-IVDR진단 PCR 플랫폼 · 2022.10 – 2025.10 · CE-IVDR

LOAA-M · Diagnostic PCR platform software, network and securityLOAA-M · 진단 PCR 플랫폼의 소프트웨어⁠·네트워크⁠·보안

10.2022 – 10.20252022.10 – 2025.10Completed완료Software Engineer (Network · Security)OPTOLANE
  • Contributed to the Linux / Windows instrument UI software and the result database (MariaDB).Linux·Windows 장비 UI 소프트웨어와 결과 데이터베이스(MariaDB) 개발에 참여했습니다.
  • Owned the network features, building a Java network service that syncs run progress and results to AWS over HTTPS in real time and reconnects automatically.네트워크 기능을 담당해, 실험 진행 상황과 결과를 HTTPS로 AWS에 실시간 동기화하고 연결이 끊기면 자동으로 다시 연결하는 Java 네트워크 서비스를 개발했습니다.
  • Owned the security features, implementing layered medical-device security: encrypted communication, encrypted result and log files, secured database access and blocking of unauthorized updates.보안 기능을 담당해 통신 암호화, 결과⁠·로그 파일 암호화, 데이터베이스 접근 보안, 비인가 업데이트 차단으로 이루어진 의료기기 다층 보안을 구현했습니다.
  • As the developer, wrote the IEC 62304 test documents and the CE-IVDR / MFDS certification documents.개발자로서 IEC 62304 테스트 문서와 CE-IVDR·식약처 인증 문서를 작성했습니다.
Tech:기술: Java · AWS · MariaDB · Qt / QML · C++ · Linux
Context배경

Hospitals, labs and field sites needed to check the progress of running experiments remotely, without compromising medical-device security.병원·연구실·현장에서 진행 중인 실험의 진행 상황을 원격으로 확인할 수 있어야 했고, 의료기기 보안 요건도 지켜야 했습니다.

Approach접근

Contributed to the instrument software and its result database; owned the Java network service to AWS and the layered security.장비 소프트웨어와 결과 데이터베이스 개발에 참여하고, AWS와 연결하는 Java 네트워크 서비스와 다층 보안을 담당했습니다.

Result결과
CE-IVDR · Oct 2025CE-IVDR · 2025년 10월

LOAA-M CE marked under the IVDRLOAA-M CE-IVDR 인증 획득

01How it works: from instrument to cloud작동 방식: 장비에서 클라우드까지

LOAA-M networkLOAA-M 네트워크

Network diagram: the LOAA-M instrument sends run data over an encrypted link to the AWS cloud; from the cloud, results reach a web portal result screen and a phone showing run progress (sample IDs blurred)
1LOAA-M instrument (touchscreen unit + analysis units) — sends run progress and results as they happenLOAA-M 장비(터치스크린 장치 + 분석 유닛) — 실험 진행 상황과 결과를 실시간 전송 2My part: network service — Java service alongside the app, encrypted HTTPS link제 담당: 네트워크 서비스 — 앱과 함께 동작하는 Java 서비스 · 암호화된 HTTPS 연결 3AWS cloud — receives progress and results in real timeAWS 클라우드 — 진행 상황과 결과를 실시간으로 수신 4Web portal — review results and manage reports웹 포털 — 결과 확인과 리포트 관리 5Mobile — check run progress anywhere모바일 — 어디서나 진행 상황 확인

02Instrument UI software for Linux and WindowsLinux·Windows 장비 UI 소프트웨어

Deployment view배포 구성

Contributed개발 참여
Software소프트웨어 Instrument UI software장비 UI 소프트웨어
Target OS대상 OSLinux
Target OS대상 OSWindows
MariaDB Result database결과 데이터베이스

I contributed to the instrument UI software for Linux and Windows and to the result database (MariaDB) it writes to.Linux·Windows 장비 UI 소프트웨어와, 결과가 저장되는 결과 데이터베이스(MariaDB) 개발에 참여했습니다.

03Real-time sync to the cloud클라우드 실시간 동기화

Java network service during a run실험 중 Java 네트워크 서비스

Owned담당
Run starts실험 시작

A PCR run starts on the instrument장비에서 PCR 실험 시작

Progress sent live진행 상황 실시간 전송

Each analysis unit’s progress, as it happens분석 유닛별 진행 상황을 즉시 전송

Auto-reconnect when the network drops네트워크가 끊기면 자동 재연결
Results uploaded결과 업로드

Finished results go to AWS완료된 결과를 AWS로 업로드

Remote check원격 확인

Follow progress on the web or mobile from anywhere병원·연구실·현장 밖에서도 웹·모바일로 진행 상황 확인

Progress and results in transit전송 중인 진행 상황·결과 Encrypted HTTPS link암호화된 HTTPS 연결 Auto-reconnect loop자동 재연결 루프

04Layered security다층 보안

Defense in depth심층 방어

Owned담당

Four protections around the instrument data, outermost first장비 데이터를 둘러싼 4개 보호 계층(바깥부터)

  1. Unauthorized updates blocked비인가 SW 업데이트 차단Device장비

    Only approved software updates can be applied인가된 SW 업데이트만 적용 가능

  2. Encrypted communication통신 암호화Network네트워크

    Data in transit stays encrypted전송 중인 데이터를 암호화

  3. Secured database accessDB 접근 보안Stored data저장 데이터

    Only authorized access to the result database is allowed결과 DB에는 인가된 접근만 허용

  4. Encrypted results & logs결과·로그 암호화Stored data저장 데이터

    Result and log files stored encrypted결과·로그 파일을 암호화해 저장

Secured path보호된 연결 경로 Instrument UI app장비 UI 앱 Encrypted internal communication내부 통신 암호화 Network service네트워크 서비스 HTTPS AWS cloudAWS 클라우드
Secured link보호된 연결

Protection covers the device, the network and the stored data.장비, 네트워크, 저장 데이터를 모두 보호합니다.

Project list프로젝트 목록
Lab automation device · 09.2023 – 05.2024검사 자동화 장비 · 2023.09 – 2024.05

Automated DNA Extraction Device · Software planning and design자동 DNA 추출 장비 · 소프트웨어 기획⁠·설계

09.2023 – 05.20242023.09 – 2024.05Completed완료Software Project Manager (Planning · Design)OPTOLANE
  • Led the device software from planning and design to acceptance.장비 소프트웨어의 기획·설계부터 검수까지 전 과정을 이끌었습니다.
  • Designed the operating and UI scenarios based on the needs in the field.현장의 요구를 바탕으로 장비 구동 시나리오와 UI 시나리오를 설계했습니다.
  • Designed the UI–MCU communication interface and specified each operation with pseudo-code, MCU command tables and activity diagrams.UI–MCU 통신 인터페이스를 설계하고, 동작별로 의사코드⁠·MCU 명령표⁠·Activity diagram으로 명세했습니다.
  • Accepted the vendor-built UI–MCU interface with log-based tests (about 2 months from kickoff to acceptance).외주로 구현한 UI–MCU 인터페이스를 로그 기반 테스트로 검수했습니다(킥오프부터 검수까지 약 2개월).
Tech:기술: StarUML · draw.io · Android · MCU command protocolMCU 명령 프로토콜

The usual test process and this device’s role일반적인 검사 과정과 이 장비의 역할

Diagnostic PCR platform front end진단 PCR 플랫폼 전처리 장비
  1. Sample collection시료 채취e.g., blood예: 혈액
  2. Automated by this device이 장비가 자동화DNA extraction from the sample시료에서 DNA 추출Extraction핵산 추출PCR setupPCR 준비Chip loading칩 주입
  3. PCR test with the DNADNA로 PCR 검사 수행Diagnostic PCR platform진단 PCR 플랫폼
Context배경

An all-in-one front-end device for the diagnostic PCR platform. Load samples and press Start; everything up to chip loading is automatic.진단 PCR 플랫폼의 올인원 전처리 장비입니다. 시료를 넣고 Start를 누르면 칩 주입까지 자동으로 진행됩니다.

Approach접근

I specified the scenarios and the UI–MCU interface first, then accepted the implemented interface with logs.시나리오와 UI–MCU 인터페이스를 먼저 명세하고, 구현된 인터페이스는 로그로 검수했습니다.

Result결과
One Start to chip loadingStart 한 번으로 칩 주입까지

UI–MCU interface build: kickoff → acceptance in about 2 months · internal development completedUI–MCU 인터페이스 구현: 킥오프⁠→⁠검수 약 2개월 · 내부 개발 완료

01Operating scenario구동 시나리오

Boot & self-test부팅·자가 진단

Device state checked at power-on전원을 켜면 장비 상태부터 점검

Consumables check소모품 점검

Sample barcodes, kit and tip QR codes, reagents and remaining volume시료 바코드, 키트⁠·팁 QR 코드, 시약과 잔량

Transfer & extraction시료 이동·추출

Samples moved, then nucleic acid extracted시료를 옮긴 뒤 핵산 추출

PCR setupPCR 준비

Extracted nucleic acid mixed with PCR reagents추출물과 PCR 시약 혼합

Chip loading칩 주입

Sample ID written to the chip칩에 시료 ID 기록

02UI scenariosUI 시나리오

The operator사용자
  • Loads samples and consumables시료와 소모품 장착
  • Presses StartStart 버튼 누름
  • Checks the status in the UIUI에서 상태 확인
The UIUI
  • Self-test status자가 진단 상태
  • Consumables check, item by item소모품 항목별 점검 결과
  • Progress of each stage단계별 진행 상황

03UI–MCU interface designUI–MCU 인터페이스 설계

Interface diagram인터페이스 다이어그램

Simplified간략화
UI appUI 앱
  1. Protocol settings프로토콜 설정
  2. Consumables installation status소모품 설치 상태
  3. Builds command sets · handles replies명령 세트 생성 · 응답 처리
UI–MCU interface인터페이스
UI → MCU Command set per operation동작별 명령 세트
MCU → UI Scan data, measurements, done / error replies스캔 정보⁠·측정값⁠·완료/오류 응답
Device controller (MCU)장비 제어부 (MCU)
  • Barcode & QR scanners바코드·QR 스캐너
  • Pipette — moves samples and reagents피펫 — 시료·시약 이동
  • Chip loading & lid칩 주입·Lid

Three stages of a run동작 3단계

  1. Consumables check소모품 점검Sample tubes, extraction kit, tip boxes, reagent tubes and reagent volumes checked시료 튜브·추출 키트·팁 박스·시약 튜브 확인, 시약 용량 점검The scan results decide the next command스캔 결과에 따라 다음 명령을 결정
  2. Extraction & PCR setup추출·PCR 준비Sample transfer, reagent mixing시료 이동, 시약 혼합The protocol settings decide the order프로토콜 설정에 따라 순서 결정
  3. Chip loading & sample ID칩 주입·시료 ID 기록PCR mixture loaded into the chips, lid closedPCR 혼합액을 칩에 주입하고 Lid 닫기Sample IDs recorded in chip-loading order칩 주입 순서대로 시료 ID 기록

04Interface build and log check인터페이스 구현과 로그 검수

Expected sequence기대 명령 순서 Actual log실제 로그
  1. Consumables check소모품 점검
  2. Sample transfer시료 이동
  3. Extraction핵산 추출
  4. PCR setupPCR 준비
  5. Chip loading칩 주입
Per installation condition설치 조건별Errors오류Pause일시정지Resume재개

05Collaboration map협업 구조

Developed the device software together with the UI, MCU, interface, bio-reagent and mechanical development teams.UI SW⁠·MCU⁠·인터페이스⁠·Bio 시약⁠·기구 개발 파트와 연계해 장비 SW를 개발했습니다.

Device software planning & design장비 SW 기획·설계Software PM
  • UI software developersUI SW 개발자
  • MCU developersMCU 개발자
  • Interface development인터페이스 개발 파트
  • Bio-reagent developmentBio 시약 개발 파트
  • Mechanical development기구 개발 파트

06Lessons as Software PMPM으로 배운 점

What was hard어려웠던 점

Designing software for a bio device took knowledge beyond software, such as bio-reagent performance and hardware parts and structure; collaboration with each responsible team was essential.Bio 장비의 SW라 설계에 SW뿐 아니라 Bio 시약 성능, HW 부품·구조 등 다양한 분야의 지식이 필요했고, 각 담당 팀과의 협업이 반드시 필요했습니다.

What I learned배운 점

Thanks to this, while handling software planning, design and development management, I communicated with many departments, such as sales, the bio research lab and hardware development, which broadened my perspective and built my cross-team collaboration skills.덕분에 SW 기획·설계와 개발 관리를 하며 영업, Bio 연구소, HW 개발 등 여러 부서와 소통해 시야를 넓히고 팀 간 협업 능력도 기를 수 있었습니다.

Project list프로젝트 목록
Personal project · 03.2022 – 06.2022개인 프로젝트 · 2022.03 – 2022.06

Deep Learning Breast Cancer Targeting Model딥러닝 기반 유방암 표적화 모델

03.2022 – 06.20222022.03 – 2022.06Completed완료Personal project · solo build개인 프로젝트 · 단독 개발
  • Developed a deep-learning model that classifies patches of public Kaggle histopathology images as invasive ductal carcinoma (IDC) or non-IDC.공개 Kaggle 병리 이미지로 침윤성 유관암(IDC) 패치를 분류하는 딥러닝 모델을 개발했습니다.
  • Designed a probability-map adjustment that gathers scattered patch predictions into dense tumor regions, and applied it to the model’s output.흩어진 패치 예측을 밀집된 종양 영역으로 모으는 확률 맵 조정 기법을 설계해 모델 출력에 적용했습니다.
  • Reached 86% test accuracy with the deep-learning model and 91% after adding the probability-map adjustment.딥러닝 모델로 테스트 정확도 86%를 얻고, 확률 맵 조정을 더해 91%까지 높였습니다.
Tech:기술: TensorFlow · Keras · scikit-learn · NumPy · Pandas
Full write-up (Korean)프로젝트 정리 글
Problem문제

The task: locate IDC on whole slides. Stitched back onto each slide, the patch predictions came out scattered.전체 병리 슬라이드에서 IDC의 위치를 찾는 과제입니다. 패치별 예측을 슬라이드에 다시 이어 붙이면 예측 영역이 여기저기 흩어졌습니다.

Approach접근

Developed a deep-learning patch classifier, then added a probability-map adjustment on top of its predictions.딥러닝 패치 분류 모델을 개발하고, 그 예측에 확률 맵 조정을 더했습니다.

Result결과
86% → 91%test accuracy테스트 정확도

86% with the deep-learning model, 91% after adding the probability-map adjustment딥러닝 모델 86%, 확률 맵 조정을 더한 뒤 91%

01Deep-learning model and probability-map adjustment딥러닝 모델과 확률 맵 조정

Two key parts두 가지 핵심

Model + post-processing모델 + 후처리

1 · Deep-learning model1 · 딥러닝 모델

Developed the patch classifier패치 분류 모델 개발

Classifies patches of public Kaggle breast histopathology images as IDC / non-IDC with an ImageNet-pretrained EfficientNet-B2공개 Kaggle 유방 병리 이미지의 패치를 ImageNet 사전학습 EfficientNet-B2로 IDC / non-IDC 분류

86%test accuracy테스트 정확도

2 · Probability-map adjustment2 · 확률 맵 조정

Designed and applied the adjustment확률 맵 조정 기법 설계·적용

Reinforces the neighbors of high-probability patches on the stitched probability map, gathering scattered predictions into the tumor region이어 붙인 확률 맵에서 확률이 높은 패치가 인접 패치를 강화해, 흩어진 예측을 종양 영역으로 모음

91%test accuracy with the adjustment조정 적용 후 테스트 정확도

02A classifier for every patch패치마다 분류하는 모델

From slide to probability map슬라이드에서 확률 맵까지

TensorFlow · Keras
1Cut into patches패치 분할

Slides cut into small patches슬라이드를 작은 패치로 분할

2Classify분류

IDC / non-IDC per patch with an ImageNet-pretrained EfficientNet-B2ImageNet 사전학습 EfficientNet-B2로 패치별 IDC / non-IDC 분류

3Stitch이어 붙이기

Back onto the slide as a probability map슬라이드 위에 확률 맵으로 다시 배치

4Adjust the map확률 맵 조정

Post-processing step, explained in 03후처리 단계 (03에서 설명)

03Adjusting the probability map확률 맵 조정

How the adjustment works조정 원리

7×7 illustration7×7 예시
Model output모델 출력A tumor block plus isolated high-probability patches종양 덩어리와 따로 떨어진 고확률 패치
Neighbors reinforced인접 패치 강화Each high-probability patch raises its neighbors’ probability in proportion to its own.확률이 높은 패치가 자기 확률에 비례해 인접 패치의 확률을 높입니다.
After adjustment조정 후Repeated a few times, then normalized: the block stays, isolated patches fade.몇 번 반복한 뒤 정규화하면 덩어리는 남고 떨어진 패치는 사라집니다.

04One test slide, before and after테스트 슬라이드의 조정 전후 비교

(A) Ground truth · (B) Model output · (C) After adjustment(A) 정답 · (B) 모델 출력 · (C) 조정 후

Three maps of the same breast-tissue slide: A, the annotated IDC region in red; B, the model's patch-level IDC probabilities, scattered across the slide; C, the same probabilities after adjustment, where dense regions in the upper part of the slide remain and the scattered hits on the lower part of the slide are gone
Red marks IDC in A and a high IDC probability in B and C. In C, the scattered hits on the lower part of the slide are gone.빨간색은 A에서 IDC, B와 C에서 높은 IDC 확률을 뜻합니다. C에서는 슬라이드 아래쪽에 흩어져 있던 예측이 사라졌습니다.

05Accuracy before and after조정 전후 정확도

Test accuracy테스트 정확도

Same test patches같은 테스트 패치
Deep-learning model딥러닝 모델
86%
+ Probability-map adjustment+ 확률 맵 조정
91%
Project list프로젝트 목록