CataScan: 온디바이스 AI 기반 백내장 진단 앱
백내장은 나이가 들면 누구나 걸릴수 있는 흔한 질병인 동시에, 한국에서는 비교적 쉽게 진단과 치료가 가능한 질환입니다. 하지만 의료 인프라가 부족한 인도 등의 국가에서는 백내장을 인지조차 못하는 경우가 많고, 간단한 수술만 받으면 시력을 회복할 수 있음에도 그냥 불편한 시야로 살아가는 분들이 많습니다.
5분, 아니 1분 정도라도 눈을 감고 있으면 뭔가 무섭고 답답한 감정이 밀려오는데, 고칠 수 있는 질환으로 수십년을 보지 못하고 살아가는 분들이, 우리가 보이지 않는 곳에 꽤 많이 있다는 것을 알게 되었습니다.

시작하게 된 계기
이 프로젝트는 카카오임팩트와 모두의연구소가 공동으로 운영하는 Tech for Impact LAB에서 시작되었습니다. “스마트폰을 이용한 백내장 스크리닝”이라는 문제는 안저질환 진단기기 ‘아이라이크’ (참조링크) 를 개발한 LabSD에서 발제해 주셨고, 인도 현지에서 아이라이크를 사용하여 안저 이미지를 판독할 때 노인분들의 백내장으로 인해 안저 질환 진단이 어려운 사례가 많다는 문제를 해결하기 위해 시작되었습니다. 게다가 백내장은 전 세계 실명 원인 1위이기도 한 만큼, 백내장 스크리닝은 그 자체로도 중요한 문제였습니다.
대부분의 사람들이 스마트폰을 가지고 있는 요즘, 국경과 인종을 초월하여 누구나 조금 더 편리하게 자신의 눈 상태를 확인하고 적절한 치료를 받을 수 있도록, A eye LAB을 만들었습니다.
저희의 비전은 간단했습니다.
"AI를 활용해 전세계 누구나 손쉽게 자신의 백내장 위험도를 스크리닝할 수 있게 하자."
프로젝트 목표와 제약사항
온디바이스 AI
프로젝트를 디자인할 때부터 네트워크 연결 없이도 동작할 수 있도록 온디바이스 AI 기반으로 개발하기로 결정했습니다. 이유는 명확했습니다:
- 네트워크 인프라의 한계: 의료 인프라가 부족한 지역에서는 인터넷 환경이 원활하지 않은 경우가 많음
- 지속가능성: 오픈소스 및 비영리 프로젝트의 특성상 서버 기반 AI 인퍼런스는 지속가능하지 않고, 꾸준한 관리 주체가 필요함
저사양 환경을 고려한 최적화
또한 저소득 국가에서는 상대적으로 낮은 사양의 스마트폰을 사용하는 경우가 많기에 한국에서 3~4년 전에 출시된 중고 스마트폰에서도 무리 없이 실행될 수 있도록 모델을 최대한 경량화하는 것이 중요한 과제였습니다. 이를 위해 FastViT(Fast Vision Transformer) 아키텍처를 선택했는데, 이는 기존 Vision Transformer 모델 대비 연산량과 메모리 사용량을 크게 줄이면서도 높은 정확도를 유지할 수 있는 경량화된 모델입니다.
개발 과정
프로젝트 타임라인
- 2024년 10월: 팀원 모집
- 2024년 11월: 프로젝트 착수
- 2025년 1월: 1차 MVP 개발 완료 및 WHO 와의 미팅
- 2025년 4월: 프로덕트 v1 개발 완료
- 2025년 7월: 완성도 향상을 위한 프로젝트 연장 및 인도 현장에서의 검증
12명의 팀원들과 함께 시작하여 이탈하는 사람 없이 꾸준히 진행하며 4월 경 프로덕트를 완성했고, 처음 계획했던 기간보다 약 2-3개월 프로젝트를 연장하게 되었을 때도 끝까지 함께해주신 8명의 팀원 분들 덕분에 잘 마무리 할 수 있었습니다. 각자의 본업이 있다보니, 생각처럼 속도가 잘 나지 않을 때도 있었지만, 퇴근 후 시간과 주말을 반납하면서 열정적으로 함께 해주신 팀원들께 감사한 마음입니다.
프로덕트 구성
Flutter 기반 모바일 앱과 React 기반 웹 Admin 시스템으로 구성했습니다.

모바일 앱 (CataScan):
- 일반 사용자 모드: 개인이 자가 진단용으로 사용할 수 있는 간단한 인터페이스
- 센터 모드: 'For vision center' 버튼을 통해 접근하는 의료기관용 모드
- 환자 정보 입력 및 관리
- 연속 촬영 기능으로 대량 검진 지원
- 네트워크 연결 시 자동 데이터 동기화
웹 Admin 시스템:
- 센터용 앱에서 수집된 데이터의 통합 관리
- 의료진의 진단 결과 검토 및 수정 기능
- 환자별 이력 관리 및 통계 대시보드
- AI 진단 결과와 의료진 판단 비교 분석
두 시스템 간의 데이터 동기화는 REST API를 통해 이루어지며, 네트워크가 불안정한 환경을 고려해 오프라인 모드에서도 데이터 저장이 가능하고 연결 복구 시 자동 업로드되도록 설계했습니다.
아래는 모바일앱과 Admin 이 연동되는 방식을 보여주는 영상입니다. 🙂
데이터셋 구축부터 시작
AI 프로덕트에서 가장 중요한 것은 데이터인데, 프로젝트 시작 당시 백내장 데이터가 없는 상황이었습니다. 그래서 데이터셋 구축부터 해야 했습니다.

저희는 데이터 셋 구축을 위해 두 가지 방식을 병행했습니다:
- 웹상의 공개 데이터셋 수집: Kaggle, GitHub, 의료 데이터 공유 플랫폼 등에서 백내장 관련 이미지 데이터를 최대한 수집하여 기본 학습 데이터셋 구축
- 인도 현지 데이터 직접 수집: 자체 데이터 수집 앱을 개발하여 인도 협력 병원에 전달하고, 실제 환경에서의 다양한 케이스 확보
이렇게 수집된 데이터는 AI가 일관되게 학습할 수 있도록 전처리 과정을 거쳤습니다.
첫번째로 공개 데이터에는 동일한 이미지들이 다른 이름으로 중복으로 포함된 경우가 굉장히 많았는데, 이러한 중복된 데이터를 제거하기 위해 해시기반의 데이터 중복 제거와 픽셀 히스토그램간 유사도 기반의 중복제거를 적용하였습니다. 이러한 과정을 통해서 과도하게 증강(좌우반전, 회전된 이미지 등)된 데이터를 제거하고, 데이터상 표기는 되어있지 않은 경우에도 동일인물의 왼쪽 오른쪽 눈이 train 데이터와 test 데이터에 나뉘어 들어가서 평가 결과를 왜곡하지 않도록 하기 위함이었습니다.

또한 공개 데이터셋의 소스가 다양하다보니 이미지마다 배율이나 형태가 매우 달라서, 눈이 가운데에 있지 않거나 눈 외에 눈썹, 코 등이 포함된 이미지들도 다수 있었습니다. 이를 일관된 방식으로 처리하기 위해 얼굴 검출 모델을 활용해 눈 영역을 정확히 추출하고, 이미지 크기와 각도를 정규화하여 AI 모델이 백내장의 핵심 특징에만 집중할 수 있도록 했습니다.
기술적 구현
AI 모델과 파이프라인
FastViT 아키텍처를 베이스로 한 경량화된 AI 모델을 사용하여 다음과 같은 파이프라인을 구성했습니다:
- 이미지 품질 검증: 촬영된 이미지가 실제 눈 사진인지, 그리고 진단에 적합한 품질인지 1차 검증
- 이 과정에서 눈으로 인식되지 않는 경우 사용자에게 재촬영을 요구합니다. 실제 눈임에도 모델이 인식하지 못할 수 있기 때문에 사용자가 강제로 진행할 수도 있습니다.
- 눈 영역 검출 및 전처리: 얼굴에서 눈 영역을 정확히 추출하고, AI 분석에 최적화된 형태로 크기 조정 및 정규화
- 학습된 이미지와 마찬가지로 사용자의 이미지에서 눈을 찾아 중앙으로 정규화합니다.
- 백내장 위험도 분석: 전처리된 이미지와 사용자 문진 데이터(나이, 증상 등)를 종합하여 백내장 위험도를 4단계(정상, 경미, 중등도, 심각)로 분류
- 백내장 판독 결과가 정확하지 않더라도 백내장과 관련한 증상이 있을 경우 경고를 안내하기 위해 백내장 증상과 관련한 문진을 포함하여 ai 추론 결과와 문진 결과를 종합하여 위험도를 평가합니다.

즉, 사용된 ai 모델은 눈 검출 모델과 백내장 판독 모델 두가지 입니다. 눈 검출 모델은 yolo v11 기반의 모델이고 백내장 판독 모델은 FastViT 기반의 모델입니다. 두 모델 모두 ONNX 를 이용하여 flutter 에 탑재하였습니다. 안드로이드에서 (별도의 컨텐츠 다운로드를 하지 않는 방식으로 앱을 사용하기 위한) 앱의 사이즈 제한이 100MB 정도라서 이를 맞추기 위해 적절한 quantization 을 통해 사이즈를 추가로 줄이기도 하였습니다.
성과 측정과 검증
모델 성능
직접 수집한 데이터 중에서, 학습에 사용된 데이터를 제외하고, Test set 으로만 사용된 100여개의 데이터에 대해서 약 95% 정도의 정확도를 달성했습니다. (공공 데이터셋은 너무 극단적인 데이터가 많다보니 약 99%의 정확도가 나왔습니다…)
직접 수집한 데이터의 인종, 나이대 등의 다양성이 다소 부족하지만, 확보한 데이터 기준으로는 상당히 정확한 결과를 확인할 수 있었습니다.

모델의 성능 수치만으로는 부족했습니다. 진짜 중요한 것은 “현장에서 실제로 사용될 수 있는가” 였습니다. AI 모델의 고도화를 위해 진짜 사용자들의 백내장 데이터를 확보하고, 실제 사용자들의 가감 없는 피드백을 듣기 위해 직접 인도 현지를 방문했습니다.
현장 검증과 피드백
인도 현지 테스트
저희 팀원 3명이 (무려 연차를 내고) 약 일주일 간 인도 현지를 방문하여 실제 병원 환경에서 프로덕트를 테스트했습니다. 현지 병원 환경은 예상보다 열악했고, 예상했던 만큼, 아니 그 이상으로 다양한 문제들을 마주하며 숙제를 잔뜩 안고 돌아오게 되었습니다.

(인도 현지에서의 생생한 이이기는 아래에서 더 자세하게 확인하실 수 있습니다)
[아티클] 연차 내고 인도행! AI로 백내장 조기진단 가능할까?
발견된 주요 이슈들
- UI/UX 개선 필요
- 글씨를 크게 디자인했음에도 가독성 문제 지속
- 아이콘과 버튼의 의미 전달이 명확하지 않음 (문화적 차이로 버튼의 의미에 대해 다르게 인식)
- 사용 시나리오 재설계 필요
- 옆에서 설명해주지 않으면 진행이 어려운 케이스 다수 발견
- 자가 촬영보다는 의료진이나 보호자가 촬영해주는 시나리오가 더 일반적
- 문진 과정에서 질문에 대한 이해도 낮음
- 촬영 환경 및 품질 개선
- 인도 병원의 조명이 매우 어두워 선명한 촬영 어려움
- 의료진이 토치를 사용해 눈에 빛을 비추는 방법이 AI 모델 성능에도 효과적
- 손떨림이나 초점 문제로 재촬영이 필요한 경우가 빈번
- 언어 및 문화적 장벽
- 영어 기반 인터페이스에 대한 이해도 부족
- 현지 언어(힌디어) 지원 필요성
- 디지털 기기 사용에 익숙하지 않은 사용자 다수
현장에서 직접 보고 느낀 소중한 인사이트들은, 인도에서 팀원들이 돌아오자마자 프로덕트에 반영되기 시작했고, 반영하지 못한 사항들은 향후 버전 개발 시 우선순위를 재정립하는 중요한 기준이 되었습니다.

앞으로 CataScan 은?
현지에서 돌아와 필수적인 사항들을 프로덕트에 반영한 후, 안드로이드에 배포하고 7월 말 A eye LAB 의 공식적인 활동을 마무리하게 되었습니다. (iOS 에서는 의료 서비스에 대한 엄격한 심사기준으로 인해 아직 배포가 승인되지 않았으며, 서비스가 불가한 상황입니다)
저희 프로덕트의 모든 코드와 관련한 기술은 모두 LabSD에 연계하였고, LabSD에서 자사 프로덕트와 통합하여 시너지를 낼 수 있을 것으로 기대됩니다. 현지 방문 경험상 우리 프로덕트가 실제 현장에서 잘 쓰이려면 아직 극복해야 하는 것들이 다소 있는데, 이를 LabSD가 운영을 이어가며 잘 해결해 나가기를 바랍니다.
또한 LabSD 와 함께 WHO eyes 와 미팅을 재개하여 보다 Global 하게 사용될 수 있도록 추진할 계획이 있으나 이는 시간이 다소 소요될 것으로 생각하고 있습니다. 프로젝트와 관련한여 모든 리소스와 코드는 오픈소스로 공개되어있기도 하니, 프로젝트에 관심이 있는 누구든 살펴보실 수 있습니다.
관련 자료 및 리소스
프로젝트 성과와 후속 활동
개인적으로 배운 점들
개인적으로 배운 것도 많고 느낀 것도 많은 프로젝트였는데, '기술만으로는 충분하지 않다'는 걸 몸소 깨달은 점이 가장 컸습니다. 엔지니어로서가 아니라 프로젝트의 리더로서 프로덕트와 AI 기술 그 사이에서 전체적으로 바라보면서 제가 너무 기술 지향적으로 치우치지 않도록 노력했는데, 그 과정에서 많은 배움을 얻은 것 같습니다. 그럼에도 불구하고 현장에서의 이야기를 들었을 때 우리가 간과한 점들을 생각해보게 되고, 잘 쓰이는 프로덕트를 만드는 것이 얼마나 어려운 일인지 다시 한번 실감하기도 했습니다.
그리고 하나의 완전한 프로덕트로서 완성할 수 있어서, 그리고 그 프로덕트가 기술로부터 소외된 사람들을 위한 의미 있는 프로덕트기에 너무 보람이 있는 것 같습니다. 물론 대단한 AI 기술이 들어간 것도 아니고, 화려한 UI/UX를 갖춘 앱도 아니지만 중간중간 어려움이 있었어도 결국 끝까지 잘 만들었다는 점에서 뿌듯합니다.
돕는 AI 컨퍼런스 연사 활동
이 프로젝트의 경험을 바탕으로 돕는 AI 컨퍼런스에 연사로 초청받아 'AI로 높이는 의료 접근성'을 주제로 발표할 기회를 가졌습니다. 현장에서 배운 교훈들과 Tech for Impact 활동의 의미를 많은 분들과 공유할 수 있어 좋았습니다.
발표 내용의 일부(본 프로젝트의 성과를 의료 접근성의 관점에서 생각해본 내용)를 공유하면 다음과 같습니다:
물리적 접근성: 저희가 가장 집중했던 영역으로, 온디바이스 AI를 통해 어느 정도 해결했습니다. 병원에 가지 않아도 되고, 인터넷이 없어도 사용할 수 있다는 점에서 기술적 목표는 달성했습니다.
경제적 접근성: 스크리닝 이후의 실제 치료 비용까지 고려해야 하는 부분으로, 저희 앱만으로는 한계가 있었습니다. 백내장 진단 후 수술비 지원이나 의료 보험 연계 등 더 포괄적인 접근이 필요합니다.
사회문화적 접근성: 가장 간과했던 부분으로, 현지의 언어, 문화, 디지털 리터러시 수준 등을 충분히 고려하지 못했습니다. 단순히 기술적 해결책을 제공하는 것만으로는 실제 사용으로 이어지기 어렵다는 것을 체감했습니다.
(더 자세한 내용은 발표 영상이 공유된다면 업데이트하겠습니다 🙂)

감사의 말
이 프로젝트를 진행할 수 있도록 도와주신 카카오임팩트, 모두의 연구소, 그리고 LabSD에 감사드립니다.
카카오임팩트와 모두의연구소가 공동으로 운영하는 Tech for Impact 사업의 일환으로 사회에 기여할 수 있는 뜻깊은 경험이었습니다.