썰린 뇌 사진 33장으로
3D 뇌를 다시 붙여 보기
한림대 AI·SW Week "AI Brain Art Challenge" 출품 준비 과정이에요. 뇌과학을 몰라도 읽을 수 있게 처음부터 차근차근 적었어요.
받은 재료: 한 사람의 뇌를 찍은 자료
대회에서 한 사람의 뇌를 MRI 기계로 찍은 자료를 줬어요. 크게 두 가지예요.
① 머리를 얇게 자른 사진 (흑백)
같은 사진에서 뇌 겉면을 20개 구역으로 색칠한 것①은 뇌의 모양이에요. 식빵을 썰 듯 머리를 얇게 잘라 찍은 사진이 33장 있어요.
②는 뇌의 움직임이에요. 기계 안에 누워 있는 동안 20개 구역에 피가 얼마나 몰렸는지(= 얼마나 일했는지) 기록한 거예요. 위 그래프의 흐린 선 20개가 20개 구역 각각의 기록이고, 그중 두 구역을 진하게 표시했어요(빨강: 앞쪽 '계획' 구역, 분홍: 뒤쪽 '보기' 구역). 구역마다 오르내리는 박자가 다른 게 보여요.
색칠은 구역을 나누는 이름표일 뿐이고, 뇌파(전기)를 잰 것도 아니에요.
문제: 사진 사이가 비어 있어요
사진 33장은 머리 전체를 다 찍은 게 아니라 1cm마다 한 장씩만 있어요. 그 사이 9mm는 아무 정보가 없어요.
· 사진 파일 번호가 041, 051, 061…처럼 10칸씩 건너뛰어요. 이 자료는 1칸 = 1mm인 표준 뇌 MRI 형식(FreeSurfer)으로 만들어져서, 10칸 = 약 1cm예요.
· 대회에서 함께 준 '구역별 피질 두께' 자료를 보면, 뇌 겉면(피질) 두께가 구역마다 1.8~3.2mm예요. 띠 두께보다 빈칸이 3배 이상 넓으니, 빈칸 안에서 띠가 어디로 휘었는지는 사진만으로는 알 수 없어요.
그래서 3D 뇌를 만들려면 이 빈칸을 무언가가 상상해서 채워야 해요. 그런데 뇌 겉면의 주름은 두께가 2~3mm밖에 안 돼서, 1cm 사이에서 주름이 어디로 휘었는지 정확히 알 방법은 없어요. 목표는 "똑같이"가 아니라 "최대한 그럴듯하게"예요.
빈칸을 채우는 세 가지 방법
① 옛 방식: 자로 잇기
위 사진과 아래 사진의 모양을 직선으로 이어서 중간을 그려요. 수십 년 된 방법이에요.
주름이 휘는 곳에선 위아래가 안 맞아서 끊기고 구멍이 나요.
② 우리 신경망
작은 인공지능에게 "이 3D 위치는 몇 번 구역이야?"를 사진 33장으로 직접 가르쳤어요. 다 배우면 빈칸도 답해요.
2022년 기술(해시 인코딩)이에요. 노트북에서 5분이면 배워요.
③ 생성 AI
수많은 뇌 MRI로 미리 학습한 AI(하버드 의대·MIT 연구팀의 SynthSR·SynthSeg)에게 맡겼어요. "사람 뇌라면 여기가 이렇게 생겼겠지"를 알고 채워요.
구글 Colab(무료 클라우드 컴퓨터)에서 돌렸어요.
· ①은 기준선이에요. 새 방법이 정말 나은지 알려면 가장 단순한 방법과 같은 조건에서 비교해야 해요.
· ②는 "이 사람 자료만으로 어디까지 되나"를 보는 방법이에요. 남의 뇌 자료 없이, 받은 사진만으로 학습해요. 2022년에 나온 빠른 3D 학습 기술(Instant-NGP의 해시 인코딩)을 썼어요.
· ③은 "사람 뇌에 대한 일반 지식이 도움이 되나"를 보는 방법이에요. SynthSR은 바로 이런 경우, 즉 두꺼운 간격으로 찍힌 MRI를 1mm 촘촘한 3D로 바꾸려고 만든 공개 도구예요(논문: Science Advances, 2023).
누가 제일 잘 채웠나: 시험을 봤어요
공정하게 재려고 문제를 숨기고 채점했어요.
1. 세 방법 모두에게 가로로 자른 사진 16장만 줬어요.
2. 그걸로 3D 뇌를 만들게 했어요.
3. 한 번도 안 보여 준 세로로 자른 진짜 사진 15장과 비교했어요. 채점은 두 가지로 했어요: 뇌 겉면 주름 띠가 얼마나 겹치나(피질 겹침), 그리고 겹친 곳의 구역 색까지 맞았나(구역까지 맞힘, 더 엄격).
· 채점하려면 정답이 있는 곳이 필요해요. 빈칸에는 정답이 없으니, 실제로 찍힌 세로 사진을 정답으로 남겨 뒀어요. 세로 사진은 가로 사진의 빈칸을 가로질러 지나가서, 빈칸을 얼마나 잘 채웠는지 바로 보여 줘요.
· '피질 겹침'은 의료 영상에서 두 모양이 얼마나 겹치나를 잴 때 가장 널리 쓰는 점수(Dice 계수)예요. 0%는 하나도 안 겹침, 100%는 완전히 같음이에요.
· 세 방법이 받은 재료(가로 16장)와 채점하는 정답(세로 15장)이 모두 같아요.
| 방법 (세로 15장 평균) | 피질 겹침 | 구역까지 맞힘 |
|---|---|---|
| ① 옛 방식 | 52% | 34% |
| ② 우리 신경망 | 51% | 32% |
| ③ 생성 AI | 63% | 43% |
생성 AI는 뇌 모양만 그려 주고 우리 20개 구역은 몰라요. 그래서 구역 번호는 가로 사진에서 3D로 가장 가까운 곳의 구역을 따랐어요. 두 시험 모두 생성 AI가 1등이에요.
63%면 잘한 건가요? 주름 띠가 워낙 얇아서 조금만 어긋나도 점수가 확 떨어져요. 감을 잡으려고 정답 자체를 옆으로 밀어 봤어요.
| 정답을 이만큼 밀면 | 겹친 정도 |
|---|---|
| 1mm | 81% |
| 2mm | 64% ← 생성 AI가 이 정도 |
| 3mm | 52% ← 옛 방식·신경망이 이 정도 |
| 1cm 옆의 진짜 사진을 그대로 베끼면 | 39% |
즉 생성 AI는 본 적 없는 빈칸을 평균 2mm 정도 오차로 채웠어요. 그냥 옆 사진을 베끼는 것(39%)보다 훨씬 나아요.
세로 사진 한 장(121번)에서 비교 · 맞힘놓침없는데 있다고 함위 가운데 "생성 AI가 그린 사진"은 AI가 한 번도 본 적 없는 방향의 단면을 직접 그려 낸 거예요. 흐릿하지만 뇌 모양, 주름, 가운데 빈 공간까지 진짜 사진과 닮았어요.
그래서 나온 3D 뇌
네 가지 결과를 같은 기준(뇌 겉면 주름 띠만)으로 나란히 돌려 볼 수 있어요. 오른쪽으로 갈수록 빈칸이 잘 채워져서 구멍이 줄어요.
· 두 시험에서 모두 가장 잘 맞혔기 때문이에요.
· 비교할 때는 공정하게 넷 다 피질 띠만 그렸어요. 작품에서는 속(백질)까지 채운 겉면을 써요. 밖에서 보이는 건 어차피 겉면이라 속은 안 보이고, 채워야 구멍 없는 진짜 뇌처럼 보여요.
· 구역 색은 이 사람의 실제 구역 자료를 따라요.
200번의 기록을 '뇌 상태' 4가지로 나누기
작품이 같은 장면만 반복하면 지루해요. 그래서 AI에게 200번의 기록을 비슷한 순간끼리 묶어 달라고 했어요(k-평균 묶기). 한 순간 = 20개 구역의 밝기 20개 숫자예요.
| AI가 찾은 상태 | 나온 횟수 | 특징 |
|---|---|---|
| 평소의 뇌 | 77번 | 몸 느낌·집중 구역이 조금 깨어 있음 |
| 바쁜 뇌 | 53번 | 소리·알아보기·집중 구역이 함께 켜짐 |
| 보고 느끼는 뇌 | 40번 | 시각·몸감각 구역이 앞장섬 |
| 쉬는 뇌 | 30번 | 거의 모든 구역이 가라앉음 |
· 2~8가지로 하나씩 나눠 보고 나뉨 점수(실루엣 점수: 같은 묶음끼리 가깝고 다른 묶음과 멀수록 높음, 1이 완벽)를 쟀어요.
· 2가지 0.21, 3가지 0.19, 4가지 0.19, 5가지 0.18, 6가지 0.19. 2가지가 가장 높지만 '바쁨/조용함'뿐이라 장면이 단조로워요. 3가지 이상에서는 4가지가 가장 높아요(6가지와는 근소한 차이).
· 아주 짧게(8번 미만) 스친 상태는 더 닮은 앞뒤 상태에 합쳐서, 작품의 '장'이 13번 바뀌게 했어요. 장이 바뀌면 카메라·배경색·배경 화음이 함께 바뀌어요.
한계
· 빈칸의 세밀한 주름은 AI의 추측이에요. 평균 2mm쯤 어긋나요. 그래서 멀리서 보면 진짜 같고, 주름 하나하나는 정확하지 않아요.
· 구역 색까지 맞히는 엄격한 시험에선 가장 잘한 생성 AI도 43%예요. 구역 경계는 사진 사이에서 특히 맞히기 어려워요.
· 시험은 한 사람, 한 방향(세로 15장)으로만 했어요. 다른 사람 자료로는 확인하지 않았어요.
· 뇌 상태 나뉨 점수 0.19는 경계가 또렷하지 않다는 뜻이에요. 뇌가 네 모드를 딱딱 오가는 게 아니라, 이어진 움직임을 4가지로 묶어 본 거예요. 그래서 작품에서도 장이 툭 끊기지 않고 3초에 걸쳐 넘어가요.
작품
사진 33장이 날아와 뇌가 되고(15초), 유리 같은 뇌 안에서 20개 구역이 실제 기록대로 빛나고 소리가 나요(1분 20초). 뇌 상태가 바뀌면 색과 화음이 바뀌고, 여러 구역이 한꺼번에 깨어나는 순간엔 카메라가 다가가요. 뇌를 누르면 그 구역 소리를 들을 수 있어요. 끝나면 본편부터 계속 반복해요.
참고한 자료
- SynthSR — Iglesias, J. E. 외, "SynthSR: A public AI tool to turn heterogeneous clinical brain scans into high-resolution T1-weighted images for 3D morphometry", Science Advances (2023). 코드: github.com/BBillot/SynthSR
- SynthSeg — Billot, B. 외, "SynthSeg: Segmentation of brain MRI scans of any contrast and resolution without retraining", Medical Image Analysis (2023). 코드: github.com/BBillot/SynthSeg
- 해시 인코딩 — Müller, T. 외, "Instant Neural Graphics Primitives with a Multiresolution Hash Encoding", ACM Transactions on Graphics (SIGGRAPH 2022)
- k-평균 묶기 — Lloyd, S. P., "Least squares quantization in PCM", IEEE Transactions on Information Theory (1982)
- 실루엣 점수 — Rousseeuw, P. J., "Silhouettes: a graphical aid to the interpretation and validation of cluster analysis", Journal of Computational and Applied Mathematics (1987)
- Dice 계수 — Dice, L. R., "Measures of the Amount of Ecologic Association Between Species", Ecology (1945)
- 데이터 — 대회 제공 자료(뇌 MRI 단면, 20개 구역 fMRI 신호, 구역별 피질 두께·부피)